@flamingo-stack/openframe-frontend-core 0.0.839 → 0.0.840
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/export-map.json +1 -1
- package/dist/{chunk-37XKZ4JM.cjs → chunk-275AQ6LC.cjs} +6 -6
- package/dist/{chunk-5BM7X4GA.cjs → chunk-5GBLXY5F.cjs} +2 -2
- package/dist/{chunk-5L3UKDC6.cjs → chunk-6LDL3UZE.cjs} +9 -9
- package/dist/{chunk-SWMUW3RR.cjs → chunk-744JXTDP.cjs} +19 -19
- package/dist/{chunk-46LATWQR.cjs → chunk-7WKRMJI6.cjs} +5 -5
- package/dist/{chunk-XJ4AB24Y.cjs → chunk-AT6D7BAZ.cjs} +5 -5
- package/dist/{chunk-C4OQIYGW.cjs → chunk-CCRXBFNL.cjs} +8 -8
- package/dist/{chunk-LC65AC6M.cjs → chunk-COWMXUHN.cjs} +2 -0
- package/dist/{chunk-5E4YEHHO.cjs → chunk-DGY5KEPY.cjs} +55 -55
- package/dist/{chunk-N2TCVIPR.cjs → chunk-DYDQLS2R.cjs} +539 -539
- package/dist/{chunk-LWMWY3JO.cjs → chunk-E7M54JWW.cjs} +14 -14
- package/dist/{chunk-Z7A7IZWL.cjs → chunk-EV6BPF47.cjs} +236 -210
- package/dist/{chunk-7XRFAHJF.cjs → chunk-FHI4I3TQ.cjs} +9 -9
- package/dist/{chunk-ZABZIM2Y.cjs → chunk-FRL2ZN4O.cjs} +3 -3
- package/dist/{chunk-7Z536SPR.cjs → chunk-FW7RKWPY.cjs} +15 -1
- package/dist/{chunk-3MBKEF7Z.cjs → chunk-GMK4JGC2.cjs} +46 -46
- package/dist/{chunk-SZVPRP5E.cjs → chunk-GUKFMMDZ.cjs} +3 -3
- package/dist/{chunk-GN6LEJWY.cjs → chunk-HXTZZE3R.cjs} +253 -131
- package/dist/{chunk-2XZZHRRU.cjs → chunk-IELPVUPR.cjs} +18 -18
- package/dist/{chunk-64PF3UC7.cjs → chunk-INBFKUZA.cjs} +17 -17
- package/dist/{chunk-APOMNC7H.cjs → chunk-IUDBG3HJ.cjs} +3 -3
- package/dist/{chunk-4JHO2NVI.cjs → chunk-J2IXYCEH.cjs} +26 -10
- package/dist/{chunk-C4RYIDPU.cjs → chunk-JM2XA7VY.cjs} +28 -28
- package/dist/{chunk-GPXKG34G.cjs → chunk-JUEAZCD6.cjs} +46 -46
- package/dist/{chunk-2QAUQPGC.cjs → chunk-MYAPG3FQ.cjs} +21 -21
- package/dist/{chunk-GRHF5SWL.cjs → chunk-NFNSPLGC.cjs} +3 -3
- package/dist/{chunk-UDRVVCOC.cjs → chunk-Q6WUHYOG.cjs} +72 -72
- package/dist/{chunk-H3WTYAVR.cjs → chunk-RSJYTQEA.cjs} +30 -30
- package/dist/{chunk-MG3HJIGG.cjs → chunk-UAI4VMEF.cjs} +4 -4
- package/dist/{chunk-S5RMRQKT.cjs → chunk-UZPYYHF5.cjs} +18 -18
- package/dist/{chunk-DFTXZE7B.cjs → chunk-VBH2RCFM.cjs} +73 -73
- package/dist/{chunk-FNNDGOR3.cjs → chunk-WCK5T3UD.cjs} +43 -43
- package/dist/{chunk-TRZEFT2N.cjs → chunk-WI7EXAZT.cjs} +9 -5
- package/dist/{chunk-TKS25VKE.cjs → chunk-Z35PL3UR.cjs} +32 -32
- package/dist/{chunk-ENK75WN4.cjs → chunk-ZAO5SYBJ.cjs} +4 -4
- package/dist/{cloud-tenants-WE3H3VAW.cjs → cloud-tenants-PV63RZ73.cjs} +19 -19
- package/dist/components/case-studies/index.cjs +33 -33
- package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
- package/dist/components/chat/chat-nav-sidebar.js +17 -3
- package/dist/components/chat/index.cjs +13 -13
- package/dist/components/contact/index.cjs +20 -20
- package/dist/components/docs/index.cjs +23 -23
- package/dist/components/embeds/index.cjs +20 -20
- package/dist/components/faq/index.cjs +21 -21
- package/dist/components/features/index.cjs +19 -19
- package/dist/components/help-center-pages/index.cjs +120 -120
- package/dist/components/index.cjs +76 -76
- package/dist/components/meeting-scheduler/index.cjs +82 -82
- package/dist/components/navigation/account-popover.d.ts.map +1 -1
- package/dist/components/navigation/account-popover.js +26 -2
- package/dist/components/navigation/app-layout-side-panel.d.ts.map +1 -1
- package/dist/components/navigation/app-layout-side-panel.js +2 -9
- package/dist/components/navigation/index.cjs +22 -22
- package/dist/components/navigation/navigation-sidebar-grouped.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar-grouped.js +30 -6
- package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar-item.js +14 -1
- package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar.js +72 -3
- package/dist/components/onboarding-guides/index.cjs +22 -22
- package/dist/components/product-demo/index.cjs +30 -30
- package/dist/components/related-content/index.cjs +8 -8
- package/dist/components/tickets/index.cjs +24 -24
- package/dist/components/ui/index.cjs +19 -19
- package/dist/components/ui/panel-resize-handle.d.ts +27 -6
- package/dist/components/ui/panel-resize-handle.d.ts.map +1 -1
- package/dist/components/ui/panel-resize-handle.js +27 -3
- package/dist/{devices-ZBZN2RRG.cjs → devices-VECG5JNC.cjs} +20 -20
- package/dist/{embeddable-chat-RBC7F4TL.cjs → embeddable-chat-VRYAQQF6.cjs} +90 -90
- package/dist/hooks/index.cjs +11 -7
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/index.js +1 -0
- package/dist/hooks/ui/use-clipped-label-tooltip.d.ts +14 -0
- package/dist/hooks/ui/use-clipped-label-tooltip.d.ts.map +1 -0
- package/dist/hooks/ui/use-clipped-label-tooltip.js +13 -0
- package/dist/hooks/ui/use-is-truncated.d.ts.map +1 -1
- package/dist/hooks/ui/use-is-truncated.js +1 -0
- package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
- package/dist/hooks/ui/use-media-query.js +1 -0
- package/dist/hooks/ui/use-resizable-panel-size.d.ts +1 -0
- package/dist/hooks/ui/use-resizable-panel-size.d.ts.map +1 -1
- package/dist/hooks/ui/use-resizable-panel-size.js +5 -1
- package/dist/index.cjs +28 -24
- package/dist/{knowledge-2QNZGDFO.cjs → knowledge-YJSDJIXT.cjs} +20 -20
- package/dist/{logs-YPWTJVIH.cjs → logs-42JG3NZ5.cjs} +26 -26
- package/dist/{policies-BK7TUKAF.cjs → policies-D4QNVJ26.cjs} +23 -23
- package/dist/{remote-session-CN3G7JNR.cjs → remote-session-EE6477O3.cjs} +10 -10
- package/dist/{scripts-K7AOYWZE.cjs → scripts-4VFYBXBE.cjs} +26 -26
- package/dist/{software-update-UFN4SBMY.cjs → software-update-OSDZQ5CP.cjs} +23 -23
- package/dist/{tickets-board-PLYD2NSY.cjs → tickets-board-44HO3LR4.cjs} +10 -10
- package/dist/types/navigation.d.ts +36 -0
- package/dist/types/navigation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-nav-sidebar.tsx +17 -4
- package/src/components/navigation/account-popover.tsx +31 -2
- package/src/components/navigation/app-layout-side-panel.tsx +2 -7
- package/src/components/navigation/navigation-sidebar-grouped.tsx +37 -6
- package/src/components/navigation/navigation-sidebar-item.tsx +18 -1
- package/src/components/navigation/navigation-sidebar.tsx +116 -7
- package/src/components/ui/panel-resize-handle.tsx +50 -8
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-clipped-label-tooltip.ts +20 -0
- package/src/hooks/ui/use-is-truncated.ts +2 -0
- package/src/hooks/ui/use-media-query.ts +2 -0
- package/src/hooks/ui/use-resizable-panel-size.ts +7 -1
- package/src/types/navigation.ts +37 -0
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkWCK5T3UDcjs = require('./chunk-WCK5T3UD.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunk744JXTDPcjs = require('./chunk-744JXTDP.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
@@ -36,7 +36,7 @@ var _chunkSWMUW3RRcjs = require('./chunk-SWMUW3RR.cjs');
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var _chunkWI7EXAZTcjs = require('./chunk-WI7EXAZT.cjs');
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
|
|
@@ -52,11 +52,11 @@ var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
var
|
|
55
|
+
var _chunkE7M54JWWcjs = require('./chunk-E7M54JWW.cjs');
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
var
|
|
59
|
+
var _chunkIUDBG3HJcjs = require('./chunk-IUDBG3HJ.cjs');
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
var _chunk5SZ4ILU3cjs = require('./chunk-5SZ4ILU3.cjs');
|
|
@@ -101,7 +101,7 @@ var _chunk5SZ4ILU3cjs = require('./chunk-5SZ4ILU3.cjs');
|
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
104
|
-
var
|
|
104
|
+
var _chunkDGY5KEPYcjs = require('./chunk-DGY5KEPY.cjs');
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
|
|
@@ -128,7 +128,7 @@ var _chunkOT6P57ZScjs = require('./chunk-OT6P57ZS.cjs');
|
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
var
|
|
131
|
+
var _chunkEV6BPF47cjs = require('./chunk-EV6BPF47.cjs');
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
|
|
@@ -144,7 +144,7 @@ var _chunkZ7A7IZWLcjs = require('./chunk-Z7A7IZWL.cjs');
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
|
|
147
|
-
var
|
|
147
|
+
var _chunkJ2IXYCEHcjs = require('./chunk-J2IXYCEH.cjs');
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
|
|
@@ -158,7 +158,7 @@ var _chunk4JHO2NVIcjs = require('./chunk-4JHO2NVI.cjs');
|
|
|
158
158
|
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
var
|
|
161
|
+
var _chunk6LDL3UZEcjs = require('./chunk-6LDL3UZE.cjs');
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
|
|
@@ -463,12 +463,12 @@ var _chunkHLJXCOMAcjs = require('./chunk-HLJXCOMA.cjs');
|
|
|
463
463
|
|
|
464
464
|
|
|
465
465
|
|
|
466
|
-
var
|
|
466
|
+
var _chunkFRL2ZN4Ocjs = require('./chunk-FRL2ZN4O.cjs');
|
|
467
467
|
|
|
468
468
|
|
|
469
469
|
|
|
470
470
|
|
|
471
|
-
var
|
|
471
|
+
var _chunkFW7RKWPYcjs = require('./chunk-FW7RKWPY.cjs');
|
|
472
472
|
|
|
473
473
|
|
|
474
474
|
var _chunkBUEEQD3Gcjs = require('./chunk-BUEEQD3G.cjs');
|
|
@@ -496,10 +496,10 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
496
496
|
|
|
497
497
|
|
|
498
498
|
|
|
499
|
-
var
|
|
499
|
+
var _chunkRSJYTQEAcjs = require('./chunk-RSJYTQEA.cjs');
|
|
500
500
|
|
|
501
501
|
|
|
502
|
-
var
|
|
502
|
+
var _chunk5GBLXY5Fcjs = require('./chunk-5GBLXY5F.cjs');
|
|
503
503
|
|
|
504
504
|
|
|
505
505
|
|
|
@@ -511,7 +511,7 @@ var _chunk5BM7X4GAcjs = require('./chunk-5BM7X4GA.cjs');
|
|
|
511
511
|
|
|
512
512
|
|
|
513
513
|
|
|
514
|
-
var
|
|
514
|
+
var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
|
|
515
515
|
|
|
516
516
|
|
|
517
517
|
|
|
@@ -540,14 +540,14 @@ var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
|
540
540
|
|
|
541
541
|
|
|
542
542
|
|
|
543
|
-
var
|
|
543
|
+
var _chunkUAI4VMEFcjs = require('./chunk-UAI4VMEF.cjs');
|
|
544
544
|
|
|
545
545
|
|
|
546
546
|
|
|
547
547
|
|
|
548
548
|
|
|
549
549
|
|
|
550
|
-
var
|
|
550
|
+
var _chunkCOWMXUHNcjs = require('./chunk-COWMXUHN.cjs');
|
|
551
551
|
|
|
552
552
|
|
|
553
553
|
var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
|
|
@@ -716,7 +716,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
716
716
|
var useTheme = _nextthemes.useTheme;
|
|
717
717
|
function useThemeToggle() {
|
|
718
718
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
719
|
-
const mounted =
|
|
719
|
+
const mounted = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
720
720
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
721
721
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
722
722
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -852,7 +852,7 @@ function AnnouncementBarView({
|
|
|
852
852
|
style
|
|
853
853
|
}) {
|
|
854
854
|
const handleContentClick = onContentClick ? () => {
|
|
855
|
-
if (!window.matchMedia(
|
|
855
|
+
if (!window.matchMedia(_chunkCOWMXUHNcjs.breakpoints.md).matches) onContentClick();
|
|
856
856
|
} : void 0;
|
|
857
857
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex w-full max-w-full items-center", ANNOUNCEMENT_BAR_HEIGHT_CLASS, className), style, children: [
|
|
858
858
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -925,7 +925,7 @@ function TimezoneSelect({
|
|
|
925
925
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
926
926
|
const options = _react.useMemo.call(void 0, () => timezoneOptions(value), [value]);
|
|
927
927
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
928
|
-
|
|
928
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
929
929
|
{
|
|
930
930
|
className,
|
|
931
931
|
fieldLoading: loading,
|
|
@@ -1123,7 +1123,7 @@ var _reactpopover = require('@radix-ui/react-popover'); var Popover = _interopRe
|
|
|
1123
1123
|
|
|
1124
1124
|
var _reactdaypicker = require('react-day-picker');
|
|
1125
1125
|
|
|
1126
|
-
var defaultFormatDate = (date) =>
|
|
1126
|
+
var defaultFormatDate = (date) => _chunkNFNSPLGCcjs.formatDateWithTimezone.call(void 0, date, _chunkNFNSPLGCcjs.VIEWER_TIMEZONE, "numeric", { viewerLocale: true });
|
|
1127
1127
|
var formatDateRange = (range, formatFn) => {
|
|
1128
1128
|
if (!_optionalChain([range, 'optionalAccess', _5 => _5.from])) return "";
|
|
1129
1129
|
if (!range.to) return formatFn(range.from);
|
|
@@ -1159,7 +1159,7 @@ function DatePickerCalendar({
|
|
|
1159
1159
|
onMonthChange
|
|
1160
1160
|
}) {
|
|
1161
1161
|
const today = /* @__PURE__ */ new Date();
|
|
1162
|
-
const isMdUp = _nullishCoalesce(
|
|
1162
|
+
const isMdUp = _nullishCoalesce(_chunkCOWMXUHNcjs.useMdUp.call(void 0, ), () => ( true));
|
|
1163
1163
|
const monthsToShow = isMdUp ? numberOfMonths : 1;
|
|
1164
1164
|
const [draftRange, setDraftRange] = _react.useState.call(void 0,
|
|
1165
1165
|
mode === "range" ? selected : void 0
|
|
@@ -1324,7 +1324,7 @@ function DatePickerCalendar({
|
|
|
1324
1324
|
};
|
|
1325
1325
|
const handlePreviousMonth = () => shiftMonth(-1);
|
|
1326
1326
|
const handleNextMonth = () => shiftMonth(1);
|
|
1327
|
-
const formatMonthYear = (date) =>
|
|
1327
|
+
const formatMonthYear = (date) => _chunkNFNSPLGCcjs.formatDateWithTimezone.call(void 0, date, _chunkNFNSPLGCcjs.VIEWER_TIMEZONE, "monthYear", { viewerLocale: true });
|
|
1328
1328
|
const getSecondMonth = (date) => {
|
|
1329
1329
|
const next = new Date(date);
|
|
1330
1330
|
next.setMonth(next.getMonth() + 1);
|
|
@@ -1741,20 +1741,20 @@ function DatePickerInput(props) {
|
|
|
1741
1741
|
) })
|
|
1742
1742
|
] }),
|
|
1743
1743
|
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1", children: [
|
|
1744
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1745
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1744
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: hour, onValueChange: handleHourChange, disabled, children: [
|
|
1745
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: _chunk63A4GZMBcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "HH" }) }),
|
|
1746
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: hourOptions.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: h, children: h }, h)) })
|
|
1747
1747
|
] }),
|
|
1748
1748
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: ":" }),
|
|
1749
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1750
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1751
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1749
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: minute, onValueChange: handleMinuteChange, disabled, children: [
|
|
1750
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: _chunk63A4GZMBcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "MM" }) }),
|
|
1751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: minuteOptions.map((m) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: m, children: m }, m)) })
|
|
1752
1752
|
] }),
|
|
1753
|
-
!use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1755
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1757
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1753
|
+
!use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: period, onValueChange: (val) => handlePeriodChange(val), disabled, children: [
|
|
1754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: _chunk63A4GZMBcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "AM" }) }),
|
|
1755
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: [
|
|
1756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "AM", children: "AM" }),
|
|
1757
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "PM", children: "PM" })
|
|
1758
1758
|
] })
|
|
1759
1759
|
] })
|
|
1760
1760
|
] })
|
|
@@ -1895,9 +1895,9 @@ function DatePickerInputSimple(props) {
|
|
|
1895
1895
|
}
|
|
1896
1896
|
) })
|
|
1897
1897
|
] }),
|
|
1898
|
-
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1899
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1900
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1898
|
+
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: timeValue, onValueChange: handleTimeChange, disabled, children: [
|
|
1899
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: _chunk63A4GZMBcjs.cn.call(void 0, timeSelectTriggerStyles, "flex-1"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "Select time", children: timeDisplayLabel || "Select time" }) }),
|
|
1900
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
1901
1901
|
] })
|
|
1902
1902
|
] });
|
|
1903
1903
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWF6TNZ3cjs.FieldWrapper, { label, error, errorSlot: "error" in props, className, children: content });
|
|
@@ -1916,14 +1916,14 @@ function DateFilterPanel({
|
|
|
1916
1916
|
className
|
|
1917
1917
|
}) {
|
|
1918
1918
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex flex-col gap-4", className), children: [
|
|
1919
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1920
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1919
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: sort, onValueChange: (value) => onSortChange(value), children: [
|
|
1920
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "gap-2", "aria-label": "Sort direction", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
1921
1921
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowUpDown, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
1922
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1922
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) })
|
|
1923
1923
|
] }) }),
|
|
1924
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1925
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1926
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1924
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: [
|
|
1925
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "asc", children: ascLabel }),
|
|
1926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "desc", children: descLabel })
|
|
1927
1927
|
] })
|
|
1928
1928
|
] }),
|
|
1929
1929
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2203,7 +2203,7 @@ function Value({ value, depth }) {
|
|
|
2203
2203
|
}
|
|
2204
2204
|
if (typeof value === "string") {
|
|
2205
2205
|
if (ISO_DATE.test(value)) {
|
|
2206
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2206
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk6LDL3UZEcjs.formatRelativeTime.call(void 0, value) });
|
|
2207
2207
|
}
|
|
2208
2208
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2209
2209
|
}
|
|
@@ -2273,7 +2273,7 @@ var ProgressBar = ({
|
|
|
2273
2273
|
loading: loadingProp
|
|
2274
2274
|
}) => {
|
|
2275
2275
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
2276
|
-
const isMdUp = _nullishCoalesce(
|
|
2276
|
+
const isMdUp = _nullishCoalesce(_chunkUAI4VMEFcjs.useContentMdUp.call(void 0, ), () => ( true));
|
|
2277
2277
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
2278
2278
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
2279
2279
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -2450,7 +2450,7 @@ function InfoCardValueRow({
|
|
|
2450
2450
|
copyAriaLabel,
|
|
2451
2451
|
loading: loadingProp
|
|
2452
2452
|
}) {
|
|
2453
|
-
const { copy, copied } =
|
|
2453
|
+
const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
|
|
2454
2454
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
2455
2455
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
|
|
2456
2456
|
loading && label === void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h4", className: "w-20" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: ROW_LABEL_CLASS, children: showLabel ? _nullishCoalesce(label, () => ( "")) : "" }),
|
|
@@ -2530,11 +2530,11 @@ function SearchableSelect(allProps) {
|
|
|
2530
2530
|
const triggerId = _nullishCoalesce(id, () => ( generatedId));
|
|
2531
2531
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
2532
2532
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
2533
|
-
const keyboardPadding =
|
|
2533
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
2534
2534
|
const portalContainer = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
2535
2535
|
if (!isOpen && search !== "") setSearch("");
|
|
2536
|
-
const listedOptions =
|
|
2537
|
-
const rememberedSelection =
|
|
2536
|
+
const listedOptions = _chunkWCK5T3UDcjs.useSettledOptions.call(void 0, options, isLoading, serverSearch);
|
|
2537
|
+
const rememberedSelection = _chunkWCK5T3UDcjs.useRememberedSelection.call(void 0, listedOptions, value != null ? [value] : [], serverSearch);
|
|
2538
2538
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
2539
2539
|
if (serverSearch) return listedOptions;
|
|
2540
2540
|
const q = search.trim().toLowerCase();
|
|
@@ -2715,7 +2715,7 @@ function CompactAssigneeDropdown({
|
|
|
2715
2715
|
value: o.value,
|
|
2716
2716
|
label: o.label,
|
|
2717
2717
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2718
|
-
|
|
2718
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2719
2719
|
{
|
|
2720
2720
|
src: o.imageUrl,
|
|
2721
2721
|
alt: o.label,
|
|
@@ -2747,8 +2747,8 @@ function CompactAssigneeDropdown({
|
|
|
2747
2747
|
onClick: handleTriggerClick,
|
|
2748
2748
|
"aria-label": "Change assignee",
|
|
2749
2749
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "w-auto shrink-0", className),
|
|
2750
|
-
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2751
|
-
|
|
2750
|
+
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2751
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2752
2752
|
{
|
|
2753
2753
|
src: currentAssignee.avatarSrc,
|
|
2754
2754
|
alt: currentAssignee.name,
|
|
@@ -2802,7 +2802,7 @@ function DefaultAssigneeDropdown({
|
|
|
2802
2802
|
const opt = option;
|
|
2803
2803
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
2804
2804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2805
|
-
|
|
2805
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2806
2806
|
{
|
|
2807
2807
|
src: opt.imageUrl,
|
|
2808
2808
|
alt: opt.label,
|
|
@@ -2818,7 +2818,7 @@ function DefaultAssigneeDropdown({
|
|
|
2818
2818
|
if (isEditing) {
|
|
2819
2819
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
2820
2820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2821
|
-
|
|
2821
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
2822
2822
|
{
|
|
2823
2823
|
options,
|
|
2824
2824
|
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _45 => _45.id]), () => ( null)),
|
|
@@ -2832,14 +2832,14 @@ function DefaultAssigneeDropdown({
|
|
|
2832
2832
|
selectedOptions,
|
|
2833
2833
|
showChevron: false,
|
|
2834
2834
|
startAdornment: hasAssignee ? currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2835
|
-
|
|
2835
|
+
_chunk744JXTDPcjs.DeletedUserAvatar,
|
|
2836
2836
|
{
|
|
2837
2837
|
size: "sm",
|
|
2838
2838
|
className: "h-6 w-6",
|
|
2839
2839
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2840
2840
|
}
|
|
2841
2841
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2842
|
-
|
|
2842
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2843
2843
|
{
|
|
2844
2844
|
src: currentAssignee.avatarSrc,
|
|
2845
2845
|
alt: currentAssignee.name,
|
|
@@ -2858,13 +2858,13 @@ function DefaultAssigneeDropdown({
|
|
|
2858
2858
|
if (hasAssignee) {
|
|
2859
2859
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", className), children: [
|
|
2860
2860
|
currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2861
|
-
|
|
2861
|
+
_chunk744JXTDPcjs.DeletedUserAvatar,
|
|
2862
2862
|
{
|
|
2863
2863
|
size: "md",
|
|
2864
2864
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2865
2865
|
}
|
|
2866
2866
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2867
|
-
|
|
2867
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2868
2868
|
{
|
|
2869
2869
|
src: currentAssignee.avatarSrc,
|
|
2870
2870
|
alt: currentAssignee.name,
|
|
@@ -2949,7 +2949,7 @@ function TextValue({ value }) {
|
|
|
2949
2949
|
}
|
|
2950
2950
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
|
|
2951
2951
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2952
|
-
|
|
2952
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2953
2953
|
{
|
|
2954
2954
|
src: imageSrc,
|
|
2955
2955
|
alt: text,
|
|
@@ -2969,7 +2969,7 @@ function RowValue({ value }) {
|
|
|
2969
2969
|
}
|
|
2970
2970
|
case "status": {
|
|
2971
2971
|
const { type: _type, ...props } = value;
|
|
2972
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2972
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.TicketStatusTag, { ...props });
|
|
2973
2973
|
}
|
|
2974
2974
|
case "custom":
|
|
2975
2975
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CustomValue, { content: value.content });
|
|
@@ -3069,7 +3069,7 @@ function MediaTypeSelector({
|
|
|
3069
3069
|
// changed) and cost an extra render pass on every change to say what the
|
|
3070
3070
|
// prop already said.
|
|
3071
3071
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3072
|
-
|
|
3072
|
+
_chunkWCK5T3UDcjs.Select,
|
|
3073
3073
|
{
|
|
3074
3074
|
value: value || void 0,
|
|
3075
3075
|
onValueChange: (next) => {
|
|
@@ -3079,8 +3079,8 @@ function MediaTypeSelector({
|
|
|
3079
3079
|
disabled,
|
|
3080
3080
|
defaultValue: value,
|
|
3081
3081
|
children: [
|
|
3082
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3083
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3082
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder }) }),
|
|
3083
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: mediaTypeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: option.value, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
3084
3084
|
option.icon,
|
|
3085
3085
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: option.label })
|
|
3086
3086
|
] }) }, option.value)) })
|
|
@@ -3517,7 +3517,7 @@ function TagSelectDropdown({
|
|
|
3517
3517
|
}) {
|
|
3518
3518
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
3519
3519
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3520
|
-
const keyboardPadding =
|
|
3520
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3521
3521
|
const portalContainer = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
3522
3522
|
if (!isOpen && search !== "") setSearch("");
|
|
3523
3523
|
const query = search.trim();
|
|
@@ -3838,7 +3838,7 @@ function TagsManager({
|
|
|
3838
3838
|
}) {
|
|
3839
3839
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
3840
3840
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3841
|
-
const keyboardPadding =
|
|
3841
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3842
3842
|
const [editingId, setEditingId] = _react.useState.call(void 0, null);
|
|
3843
3843
|
const [editingName, setEditingName] = _react.useState.call(void 0, "");
|
|
3844
3844
|
const editInputRef = _react.useRef.call(void 0, null);
|
|
@@ -3942,7 +3942,7 @@ function TagsManager({
|
|
|
3942
3942
|
}
|
|
3943
3943
|
),
|
|
3944
3944
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3945
|
-
|
|
3945
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
3946
3946
|
{
|
|
3947
3947
|
label: tag.name,
|
|
3948
3948
|
variant: "outline",
|
|
@@ -4448,7 +4448,7 @@ var DialogContent = _react.forwardRef.call(void 0, ({ className, children, ...pr
|
|
|
4448
4448
|
),
|
|
4449
4449
|
...props,
|
|
4450
4450
|
children: [
|
|
4451
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid min-h-0 gap-[var(--spacing-system-mf)] overflow-y-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4451
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid min-h-0 gap-[var(--spacing-system-mf)] overflow-y-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }) }),
|
|
4452
4452
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
4453
4453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4454
4454
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -4506,10 +4506,10 @@ function useConfirm() {
|
|
|
4506
4506
|
},
|
|
4507
4507
|
[]
|
|
4508
4508
|
);
|
|
4509
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4510
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4511
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4512
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4509
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: pending.title }) }),
|
|
4511
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4512
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
4513
4513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4514
4514
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4515
4515
|
] })
|
|
@@ -4563,14 +4563,14 @@ function AdminFormDrawer({
|
|
|
4563
4563
|
else onClose();
|
|
4564
4564
|
};
|
|
4565
4565
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4566
|
-
|
|
4566
|
+
_chunkWI7EXAZTcjs.Drawer,
|
|
4567
4567
|
{
|
|
4568
4568
|
open: isOpen,
|
|
4569
4569
|
onOpenChange: (open) => {
|
|
4570
4570
|
if (!open) requestClose();
|
|
4571
4571
|
},
|
|
4572
4572
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4573
|
-
|
|
4573
|
+
_chunkWI7EXAZTcjs.DrawerContent,
|
|
4574
4574
|
{
|
|
4575
4575
|
side: "right",
|
|
4576
4576
|
resizable: true,
|
|
@@ -4579,15 +4579,15 @@ function AdminFormDrawer({
|
|
|
4579
4579
|
storageKey,
|
|
4580
4580
|
panelClassName: "max-md:w-[calc(100vw-1rem)]",
|
|
4581
4581
|
children: [
|
|
4582
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4583
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4584
|
-
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4582
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWI7EXAZTcjs.DrawerHeader, { children: [
|
|
4583
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerTitle, { children: title }),
|
|
4584
|
+
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
|
|
4585
4585
|
] }),
|
|
4586
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4587
4587
|
"form",
|
|
4588
4588
|
{
|
|
4589
4589
|
id: formId,
|
|
4590
|
-
...
|
|
4590
|
+
..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4591
4591
|
className: "flex flex-col gap-[var(--spacing-system-lf)]",
|
|
4592
4592
|
onSubmit: (e) => {
|
|
4593
4593
|
e.preventDefault();
|
|
@@ -4685,16 +4685,16 @@ function AdminFormModal({
|
|
|
4685
4685
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4686
4686
|
});
|
|
4687
4687
|
if (!isOpen) return null;
|
|
4688
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4689
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4690
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4688
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4689
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: [
|
|
4690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: title }),
|
|
4691
4691
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4692
4692
|
] }),
|
|
4693
4693
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4694
4694
|
"form",
|
|
4695
4695
|
{
|
|
4696
4696
|
id: formId,
|
|
4697
|
-
...
|
|
4697
|
+
..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4698
4698
|
className: "flex min-h-0 flex-1 flex-col",
|
|
4699
4699
|
onSubmit: (e) => {
|
|
4700
4700
|
e.preventDefault();
|
|
@@ -4712,7 +4712,7 @@ function AdminFormModal({
|
|
|
4712
4712
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4713
4713
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4714
4714
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4715
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4715
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalContent, { children: loadingContent ? (
|
|
4716
4716
|
// The one announcement: a `loadingContent` with a region of its own takes `region={false}`.
|
|
4717
4717
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading", children: loadingContent })
|
|
4718
4718
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4733,12 +4733,12 @@ function AdminFormModal({
|
|
|
4733
4733
|
] }, i)) }, col))
|
|
4734
4734
|
}
|
|
4735
4735
|
) })
|
|
4736
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4736
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalContent, { className: contentClassName, children }),
|
|
4737
4737
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4738
4738
|
]
|
|
4739
4739
|
}
|
|
4740
4740
|
),
|
|
4741
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4742
4742
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4743
4743
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4744
4744
|
footerStatus,
|
|
@@ -4820,7 +4820,7 @@ var SheetContent = _react.forwardRef.call(void 0,
|
|
|
4820
4820
|
({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
|
|
4821
4821
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
|
|
4822
4822
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPrimitive.Content, { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, sheetVariants({ side }), className), ...props, children: [
|
|
4823
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4823
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }),
|
|
4824
4824
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
4825
4825
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4826
4826
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -5477,7 +5477,7 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
|
|
|
5477
5477
|
// as tall as its neighbours at every breakpoint. No hover shade:
|
|
5478
5478
|
// the tab is the target, and the cursor passes through to it.
|
|
5479
5479
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5480
|
-
|
|
5480
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
5481
5481
|
{
|
|
5482
5482
|
as: "span",
|
|
5483
5483
|
"aria-hidden": true,
|
|
@@ -6065,7 +6065,7 @@ function EmbedViewerFrame({
|
|
|
6065
6065
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
6066
6066
|
_react.useEffect.call(void 0, () => {
|
|
6067
6067
|
if (!fullscreenControl) return void 0;
|
|
6068
|
-
const controller = new (0,
|
|
6068
|
+
const controller = new (0, _chunkDGY5KEPYcjs.FullscreenSwitchController)({
|
|
6069
6069
|
target: () => frameRef.current,
|
|
6070
6070
|
onFullscreenChange: setIsFullscreen
|
|
6071
6071
|
});
|
|
@@ -6159,7 +6159,7 @@ var KIND_HEADING = {
|
|
|
6159
6159
|
design: "Claude Design"
|
|
6160
6160
|
};
|
|
6161
6161
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6162
|
-
const { src: mirrorSrc, status } =
|
|
6162
|
+
const { src: mirrorSrc, status } = _chunkE7M54JWWcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6163
6163
|
const isProbing = status === "probing";
|
|
6164
6164
|
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkHLJXCOMAcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6165
6165
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -6729,12 +6729,12 @@ var OGLinkPreview = ({
|
|
|
6729
6729
|
children: [
|
|
6730
6730
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TILE_SOURCE_ROW_CLASS, children: [
|
|
6731
6731
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Favicon, { src: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`, size: "w-4 h-4" }),
|
|
6732
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: name }),
|
|
6733
6733
|
meta != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-auto flex flex-none items-center gap-1.5 text-ods-text-secondary", children: meta })
|
|
6734
6734
|
] }),
|
|
6735
6735
|
kicker != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden text-ods-accent text-h5", style: lineClamp(1), children: kicker }),
|
|
6736
6736
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6737
|
-
|
|
6737
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6738
6738
|
{
|
|
6739
6739
|
lines: 2,
|
|
6740
6740
|
variant: "h3",
|
|
@@ -6743,7 +6743,7 @@ var OGLinkPreview = ({
|
|
|
6743
6743
|
children: curatedTitle || domainToTitle(domain)
|
|
6744
6744
|
}
|
|
6745
6745
|
),
|
|
6746
|
-
curatedDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6746
|
+
curatedDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", children: curatedDescription })
|
|
6747
6747
|
]
|
|
6748
6748
|
}
|
|
6749
6749
|
);
|
|
@@ -6889,8 +6889,8 @@ var OGLinkPreview = ({
|
|
|
6889
6889
|
children: [
|
|
6890
6890
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-lg bg-ods-bg-surface", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Favicon, { src: faviconSrc }) }),
|
|
6891
6891
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6892
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6893
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6892
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: "font-semibold transition-colors group-hover:text-ods-accent", children: title }),
|
|
6893
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { tone: "secondary", children: description })
|
|
6894
6894
|
] }),
|
|
6895
6895
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon, {})
|
|
6896
6896
|
]
|
|
@@ -6937,7 +6937,7 @@ var OGLinkPreview = ({
|
|
|
6937
6937
|
),
|
|
6938
6938
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6939
6939
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6940
|
-
|
|
6940
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6941
6941
|
{
|
|
6942
6942
|
lines: 2,
|
|
6943
6943
|
className: "min-h-[calc(var(--font-line-space-h4-body)*2)] font-semibold transition-colors group-hover:text-ods-accent",
|
|
@@ -6946,7 +6946,7 @@ var OGLinkPreview = ({
|
|
|
6946
6946
|
}
|
|
6947
6947
|
),
|
|
6948
6948
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6949
|
-
|
|
6949
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6950
6950
|
{
|
|
6951
6951
|
lines: 2,
|
|
6952
6952
|
tone: "secondary",
|
|
@@ -6956,9 +6956,9 @@ var OGLinkPreview = ({
|
|
|
6956
6956
|
}
|
|
6957
6957
|
),
|
|
6958
6958
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2 text-ods-text-secondary text-h6", children: [
|
|
6959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6959
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: effectiveData.siteName }),
|
|
6960
6960
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
|
|
6961
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: ogDomain }),
|
|
6962
6962
|
meta
|
|
6963
6963
|
] })
|
|
6964
6964
|
] })
|
|
@@ -7314,7 +7314,7 @@ var formatTimeAgo = (timestamp) => {
|
|
|
7314
7314
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
7315
7315
|
};
|
|
7316
7316
|
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
7317
|
-
const postLinkRel =
|
|
7317
|
+
const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
|
|
7318
7318
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
7319
7319
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
7320
7320
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7552,7 +7552,7 @@ function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
|
7552
7552
|
width: m.width,
|
|
7553
7553
|
height: m.height
|
|
7554
7554
|
}));
|
|
7555
|
-
const formatNumber2 =
|
|
7555
|
+
const formatNumber2 = _chunkNFNSPLGCcjs.formatLargeNumber;
|
|
7556
7556
|
const truncateText = (text, maxLength = 600) => {
|
|
7557
7557
|
if (text.length <= maxLength) return text;
|
|
7558
7558
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7646,7 +7646,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7646
7646
|
] });
|
|
7647
7647
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7648
7648
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7649
|
-
const postLinkRel =
|
|
7649
|
+
const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
|
|
7650
7650
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7651
7651
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7652
7652
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7848,7 +7848,7 @@ function buildRichEmbedOverrides({
|
|
|
7848
7848
|
ogEndpointPath,
|
|
7849
7849
|
textSizes
|
|
7850
7850
|
}) {
|
|
7851
|
-
const standard =
|
|
7851
|
+
const standard = _chunkEV6BPF47cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7852
7852
|
return {
|
|
7853
7853
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7854
7854
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7984,14 +7984,14 @@ function buildRichEmbedOverrides({
|
|
|
7984
7984
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7985
7985
|
// elsewhere). Guard against empty `![]()`.
|
|
7986
7986
|
img: ({ src, alt }) => {
|
|
7987
|
-
if (!
|
|
7987
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7988
7988
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7989
7989
|
},
|
|
7990
7990
|
// Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
|
|
7991
7991
|
// facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
|
|
7992
7992
|
// the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
|
|
7993
7993
|
iframe: ({ node: _node, src, ...rest }) => {
|
|
7994
|
-
if (!
|
|
7994
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7995
7995
|
const url = src.trim();
|
|
7996
7996
|
if (_chunkTD4CC4KVcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url });
|
|
7997
7997
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
|
|
@@ -7999,7 +7999,7 @@ function buildRichEmbedOverrides({
|
|
|
7999
7999
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
8000
8000
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
8001
8001
|
video: ({ src, poster, className }) => {
|
|
8002
|
-
if (!
|
|
8002
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
8003
8003
|
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, _chunkTD4CC4KVcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
8004
8004
|
}
|
|
8005
8005
|
};
|
|
@@ -8108,7 +8108,7 @@ var processShortcodes = (content) => {
|
|
|
8108
8108
|
try {
|
|
8109
8109
|
const urlObj = new URL(url);
|
|
8110
8110
|
const hostname = urlObj.hostname.toLowerCase();
|
|
8111
|
-
const hostIs = (domain) =>
|
|
8111
|
+
const hostIs = (domain) => _chunkRSJYTQEAcjs.hostMatches.call(void 0, hostname, domain);
|
|
8112
8112
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
8113
8113
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
8114
8114
|
return match;
|
|
@@ -8185,13 +8185,13 @@ var RichMarkdownInner = ({
|
|
|
8185
8185
|
},
|
|
8186
8186
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8187
8187
|
);
|
|
8188
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8188
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkEV6BPF47cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8189
8189
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8190
8190
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8191
8191
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8192
8192
|
);
|
|
8193
8193
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8194
|
-
|
|
8194
|
+
_chunkEV6BPF47cjs.MarkdownEngine,
|
|
8195
8195
|
{
|
|
8196
8196
|
content,
|
|
8197
8197
|
className,
|
|
@@ -8216,7 +8216,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8216
8216
|
className = "",
|
|
8217
8217
|
sectionIds,
|
|
8218
8218
|
onInternalLinkClick,
|
|
8219
|
-
brokenLinks =
|
|
8219
|
+
brokenLinks = _chunkEV6BPF47cjs.NO_BROKEN_LINKS,
|
|
8220
8220
|
currentPath,
|
|
8221
8221
|
resolveSource = "openframe-docs",
|
|
8222
8222
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9342,7 +9342,7 @@ function FilterModal({
|
|
|
9342
9342
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9343
9343
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9344
9344
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9345
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9345
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkJ2IXYCEHcjs.useScrollFade.call(void 0, );
|
|
9346
9346
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9347
9347
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9348
9348
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9388,15 +9388,15 @@ function FilterModal({
|
|
|
9388
9388
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9389
9389
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9390
9390
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9391
|
-
|
|
9391
|
+
_chunkJ2IXYCEHcjs.Modal,
|
|
9392
9392
|
{
|
|
9393
9393
|
isOpen,
|
|
9394
9394
|
onClose,
|
|
9395
9395
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "max-h-[90vh] max-w-none md:max-w-[min(42rem,calc(100vw-2rem))]", className),
|
|
9396
9396
|
children: [
|
|
9397
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9397
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: title }) }),
|
|
9398
9398
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9399
|
-
|
|
9399
|
+
_chunkJ2IXYCEHcjs.ModalContent,
|
|
9400
9400
|
{
|
|
9401
9401
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
9402
9402
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9492,12 +9492,12 @@ function FilterModal({
|
|
|
9492
9492
|
)
|
|
9493
9493
|
}
|
|
9494
9494
|
),
|
|
9495
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9496
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9495
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9496
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9497
9497
|
] })
|
|
9498
9498
|
}
|
|
9499
9499
|
),
|
|
9500
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9500
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
9501
9501
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9502
9502
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9503
9503
|
] })
|
|
@@ -9561,7 +9561,7 @@ function renderAdvancedPageContainer({
|
|
|
9561
9561
|
contentClassName,
|
|
9562
9562
|
showHeader = true
|
|
9563
9563
|
}, inScope = false) {
|
|
9564
|
-
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9564
|
+
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
|
|
9565
9565
|
const subtitleNode = subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: PAGE_CONTAINER_SUBTITLE_CLASS, children: subtitle }) : inScope && subtitle === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerSubtitleSkeleton, {}) : null;
|
|
9566
9566
|
const getActionsVariant = () => {
|
|
9567
9567
|
if (actionsVariant) return actionsVariant;
|
|
@@ -9570,7 +9570,7 @@ function renderAdvancedPageContainer({
|
|
|
9570
9570
|
};
|
|
9571
9571
|
const renderActions = () => {
|
|
9572
9572
|
if (!actions || actions.length === 0) return null;
|
|
9573
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9573
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageActions, { variant: getActionsVariant(), actions, menuActions });
|
|
9574
9574
|
};
|
|
9575
9575
|
const needsBottomPadding = actions && actions.length > 0 && getActionsVariant() === "primary-buttons";
|
|
9576
9576
|
const paddingClasses = {
|
|
@@ -9593,7 +9593,7 @@ function renderAdvancedPageContainer({
|
|
|
9593
9593
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-end content-lg:justify-between", children: [
|
|
9594
9594
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9595
9595
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9596
|
-
|
|
9596
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9597
9597
|
{
|
|
9598
9598
|
onClick: backButton.onClick,
|
|
9599
9599
|
label: backButton.label,
|
|
@@ -9613,7 +9613,7 @@ function renderAdvancedPageContainer({
|
|
|
9613
9613
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-center content-lg:justify-between", children: [
|
|
9614
9614
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
9615
9615
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9616
|
-
|
|
9616
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9617
9617
|
{
|
|
9618
9618
|
onClick: backButton.onClick,
|
|
9619
9619
|
label: backButton.label,
|
|
@@ -9633,7 +9633,7 @@ function renderAdvancedPageContainer({
|
|
|
9633
9633
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-end content-lg:justify-between", children: [
|
|
9634
9634
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9635
9635
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9636
|
-
|
|
9636
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9637
9637
|
{
|
|
9638
9638
|
onClick: backButton.onClick,
|
|
9639
9639
|
label: backButton.label,
|
|
@@ -9721,7 +9721,7 @@ function ListPageLayout({
|
|
|
9721
9721
|
}) {
|
|
9722
9722
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
9723
9723
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9724
|
-
const debouncedSearchValue =
|
|
9724
|
+
const debouncedSearchValue = _chunkFRL2ZN4Ocjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
9725
9725
|
const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9726
9726
|
if (syncedSearchValue !== searchValue) {
|
|
9727
9727
|
setSyncedSearchValue(searchValue);
|
|
@@ -9988,7 +9988,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9988
9988
|
|
|
9989
9989
|
|
|
9990
9990
|
function PlatformBrowseButton({ item }) {
|
|
9991
|
-
const linkProps =
|
|
9991
|
+
const linkProps = _chunkEV6BPF47cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9992
9992
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
|
|
9993
9993
|
"Browse ",
|
|
9994
9994
|
item.buttonText
|
|
@@ -10303,12 +10303,12 @@ function DashboardInfoCard({
|
|
|
10303
10303
|
const renderPercentage = () => {
|
|
10304
10304
|
if (loading) {
|
|
10305
10305
|
if (!loadingShowsPercentage) return null;
|
|
10306
|
-
return percentageAsTag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10306
|
+
return percentageAsTag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { loading: true, label: "", className: "w-12" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-12" }) });
|
|
10307
10307
|
}
|
|
10308
10308
|
if (percentage === void 0) return null;
|
|
10309
10309
|
if (percentageAsTag) {
|
|
10310
10310
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
10311
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10311
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
10312
10312
|
}
|
|
10313
10313
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
10314
10314
|
"(",
|
|
@@ -10388,7 +10388,7 @@ function DashboardInfoCard({
|
|
|
10388
10388
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk63A4GZMBcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 content-md:text-h2", valueClassName), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) : formattedValue }),
|
|
10389
10389
|
loading ? loadingShowsSubValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-16" }) }) : subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
10390
10390
|
renderPercentage(),
|
|
10391
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10391
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.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, _chunkFO6DOP6Mcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
10392
10392
|
] }),
|
|
10393
10393
|
hasCaption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-2 min-h-[2lh] text-ods-text-secondary text-h6", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-32" }) : caption })
|
|
10394
10394
|
] }),
|
|
@@ -10507,10 +10507,10 @@ var OSTypeBadge = ({
|
|
|
10507
10507
|
if (!osType) {
|
|
10508
10508
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
10509
10509
|
}
|
|
10510
|
-
const normalized =
|
|
10510
|
+
const normalized = _chunkDGY5KEPYcjs.normalizeOSType.call(void 0, osType);
|
|
10511
10511
|
if (!normalized && !labelOnly) return null;
|
|
10512
|
-
const label =
|
|
10513
|
-
const IconComponent =
|
|
10512
|
+
const label = _chunkDGY5KEPYcjs.getOSLabel.call(void 0, osType);
|
|
10513
|
+
const IconComponent = _chunkDGY5KEPYcjs.getOSIcon.call(void 0, osType);
|
|
10514
10514
|
if (iconOnly && IconComponent) {
|
|
10515
10515
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk63A4GZMBcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
10516
10516
|
}
|
|
@@ -10558,8 +10558,8 @@ function DeviceCard({
|
|
|
10558
10558
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
10559
10559
|
const formatLastSeen = (lastSeen) => {
|
|
10560
10560
|
if (!lastSeen) return null;
|
|
10561
|
-
const date =
|
|
10562
|
-
return date === "\u2014" ? null : `${date} ${
|
|
10561
|
+
const date = _chunkJ2IXYCEHcjs.formatDate.call(void 0, lastSeen);
|
|
10562
|
+
return date === "\u2014" ? null : `${date} ${_chunkJ2IXYCEHcjs.formatTime.call(void 0, lastSeen)}`;
|
|
10563
10563
|
};
|
|
10564
10564
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10565
10565
|
"div",
|
|
@@ -10618,7 +10618,7 @@ function DeviceCard({
|
|
|
10618
10618
|
] }),
|
|
10619
10619
|
(loading || statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEVICE_CARD_STATUS_ROW_CLASS, children: [
|
|
10620
10620
|
(loading || statusTag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10621
|
-
|
|
10621
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
10622
10622
|
{
|
|
10623
10623
|
loading,
|
|
10624
10624
|
variant: _optionalChain([statusTag, 'optionalAccess', _196 => _196.variant]),
|
|
@@ -10633,7 +10633,7 @@ function DeviceCard({
|
|
|
10633
10633
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-28 max-w-full" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: formatLastSeen(device.lastSeen) })
|
|
10634
10634
|
] })
|
|
10635
10635
|
] }),
|
|
10636
|
-
!showTags ? null : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEVICE_CARD_TAGS_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10636
|
+
!showTags ? null : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEVICE_CARD_TAGS_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { loading: true, label: "", variant: "outline", "data-loading-item": true }) }) : device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEVICE_CARD_TAGS_ROW_CLASS, children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: "outline", label: tag, "data-loading-item": true }, index)) })
|
|
10637
10637
|
]
|
|
10638
10638
|
}
|
|
10639
10639
|
);
|
|
@@ -10679,7 +10679,7 @@ function DataAttribution({ icon, source, lastUpdated, action }) {
|
|
|
10679
10679
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator3, {}),
|
|
10680
10680
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: UPDATED_CLASS, children: [
|
|
10681
10681
|
"Last updated: ",
|
|
10682
|
-
lastUpdated ?
|
|
10682
|
+
lastUpdated ? _chunkNFNSPLGCcjs.formatDate.call(void 0, lastUpdated) : "Never"
|
|
10683
10683
|
] }),
|
|
10684
10684
|
action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ACTION_CLASS, children: action }) : null
|
|
10685
10685
|
] });
|
|
@@ -10807,7 +10807,7 @@ function ComplianceLogo({
|
|
|
10807
10807
|
fallback = null,
|
|
10808
10808
|
className
|
|
10809
10809
|
}) {
|
|
10810
|
-
const standard =
|
|
10810
|
+
const standard = _chunkDGY5KEPYcjs.complianceStandardForName.call(void 0, ...names);
|
|
10811
10811
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10812
10812
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10813
10813
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11162,7 +11162,7 @@ var CHANGE_CLASS = "w-8 text-right text-h6 tabular-nums";
|
|
|
11162
11162
|
var BOX_CLASS = "inline-flex shrink-0 items-center gap-[var(--spacing-system-xxs)]";
|
|
11163
11163
|
var FOCUS_CLASS = "rounded-sm outline-none focus-visible:ring-1 focus-visible:ring-ods-accent";
|
|
11164
11164
|
function formatTrendChange(change) {
|
|
11165
|
-
return change === 0 ? "0" : `${change > 0 ? "+" : "\u2212"}${
|
|
11165
|
+
return change === 0 ? "0" : `${change > 0 ? "+" : "\u2212"}${_chunkNFNSPLGCcjs.formatNumber.call(void 0, Math.abs(change))}`;
|
|
11166
11166
|
}
|
|
11167
11167
|
var TREND_TONES = {
|
|
11168
11168
|
positive: "text-ods-success",
|
|
@@ -11246,7 +11246,7 @@ function Trendline({
|
|
|
11246
11246
|
}
|
|
11247
11247
|
);
|
|
11248
11248
|
if (!details) return line;
|
|
11249
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11249
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.FloatingTooltip, { as: "span", side, triggerClassName: BOX_CLASS, content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrendDetails, { render: details }), children: line });
|
|
11250
11250
|
}
|
|
11251
11251
|
function TrendDetails({ render }) {
|
|
11252
11252
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: render() });
|
|
@@ -11276,7 +11276,7 @@ function TrendHistoryCell({ column, value }) {
|
|
|
11276
11276
|
|
|
11277
11277
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11278
11278
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11279
|
-
|
|
11279
|
+
_chunkNFNSPLGCcjs.FloatingTooltip,
|
|
11280
11280
|
{
|
|
11281
11281
|
as: "span",
|
|
11282
11282
|
side: "top",
|
|
@@ -11664,7 +11664,7 @@ function OrganizationCardSkeleton({
|
|
|
11664
11664
|
..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props),
|
|
11665
11665
|
children: [
|
|
11666
11666
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11667
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11667
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.EntityImage, { src: null }),
|
|
11668
11668
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11669
11669
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h3", className: "w-3/4" }),
|
|
11670
11670
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11736,7 +11736,7 @@ function OrganizationCard({
|
|
|
11736
11736
|
}
|
|
11737
11737
|
),
|
|
11738
11738
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.EntityImage, { src: fetchedImageUrl || organization.imageUrl, alt: organization.name }),
|
|
11740
11740
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11741
11741
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "truncate text-ods-text-primary transition-colors text-h3", title: organization.name, children: organization.name }),
|
|
11742
11742
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11803,11 +11803,11 @@ function ServiceCard({
|
|
|
11803
11803
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
11804
11804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: resolvedIcon }),
|
|
11805
11805
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
|
|
11806
|
-
loading && !title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h3", className: "w-40 max-w-full" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11807
|
-
loading && subtitle === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-56 max-w-full" }) : subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11806
|
+
loading && !title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h3", className: "w-40 max-w-full" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h3", children: title }),
|
|
11807
|
+
loading && subtitle === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-56 max-w-full" }) : subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: subtitle })
|
|
11808
11808
|
] })
|
|
11809
11809
|
] }),
|
|
11810
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11810
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: tag.label, variant: "outline", className: "shrink-0 self-start", loading })
|
|
11811
11811
|
] }),
|
|
11812
11812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: rows.map((row, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ServiceCardRowItem, { row, loading }, idx)) })
|
|
11813
11813
|
] });
|
|
@@ -11815,15 +11815,15 @@ function ServiceCard({
|
|
|
11815
11815
|
function ServiceCardRowItem({ row, loading: loadingProp }) {
|
|
11816
11816
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
11817
11817
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
11818
|
-
const { copy, copied } =
|
|
11819
|
-
const { ref: valueRef, isTruncated: valueTruncated } =
|
|
11818
|
+
const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
|
|
11819
|
+
const { ref: valueRef, isTruncated: valueTruncated } = _chunkCOWMXUHNcjs.useIsTruncated.call(void 0, row.value);
|
|
11820
11820
|
const actions = _react.useMemo.call(void 0, () => rowActions(row), [row]);
|
|
11821
11821
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
11822
11822
|
const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
|
|
11823
11823
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
11824
11824
|
const openInNewTab2 = () => {
|
|
11825
11825
|
if (!row.href) return;
|
|
11826
|
-
|
|
11826
|
+
_chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
|
|
11827
11827
|
};
|
|
11828
11828
|
const labelColumn = loading ? row.label !== void 0 : !!row.label;
|
|
11829
11829
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SERVICE_CARD_ROW_CLASS, children: [
|
|
@@ -11832,7 +11832,7 @@ function ServiceCardRowItem({ row, loading: loadingProp }) {
|
|
|
11832
11832
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", className: "w-40 max-w-full" }) : (
|
|
11833
11833
|
// No tooltip while a secret is masked — the old native `title` leaked the raw value on hover.
|
|
11834
11834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11835
|
-
|
|
11835
|
+
_chunkNFNSPLGCcjs.FloatingTooltip,
|
|
11836
11836
|
{
|
|
11837
11837
|
content: row.value,
|
|
11838
11838
|
side: "top",
|
|
@@ -11941,17 +11941,17 @@ function PersonCell({
|
|
|
11941
11941
|
const displayName = name || fallbackName;
|
|
11942
11942
|
const scale = PERSON_CELL_SIZE[size];
|
|
11943
11943
|
const row = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `group/person-cell ${PERSON_ROW_CLASS} ${scale.gap}`, children: [
|
|
11944
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11944
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
|
|
11945
11945
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
11946
11946
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11947
|
-
|
|
11947
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
11948
11948
|
{
|
|
11949
11949
|
variant: scale.primary,
|
|
11950
11950
|
className: onClick ? "text-ods-accent group-hover/person-cell:underline" : void 0,
|
|
11951
11951
|
children: displayName
|
|
11952
11952
|
}
|
|
11953
11953
|
),
|
|
11954
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11954
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: secondary === void 0 ? "\xA0" : secondary || "\xB7" })
|
|
11955
11955
|
] })
|
|
11956
11956
|
] });
|
|
11957
11957
|
if (!onClick) return row;
|
|
@@ -11969,7 +11969,7 @@ function PersonCell({
|
|
|
11969
11969
|
function PersonCellSkeleton({ size = "sm" }) {
|
|
11970
11970
|
const scale = PERSON_CELL_SIZE[size];
|
|
11971
11971
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${PERSON_ROW_CLASS} ${scale.gap}`, "aria-hidden": true, children: [
|
|
11972
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11972
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { loading: true, size: scale.avatar }),
|
|
11973
11973
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
11974
11974
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: scale.primary, className: "w-3/4" }),
|
|
11975
11975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11992,9 +11992,9 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
11992
11992
|
);
|
|
11993
11993
|
}
|
|
11994
11994
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
11995
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11995
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.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: [
|
|
11996
11996
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11997
|
-
|
|
11997
|
+
_chunk5GBLXY5Fcjs.AvatarStack,
|
|
11998
11998
|
{
|
|
11999
11999
|
size: "sm",
|
|
12000
12000
|
slots: PEOPLE_CELL_STACK_SLOTS,
|
|
@@ -12002,7 +12002,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
12002
12002
|
}
|
|
12003
12003
|
) }),
|
|
12004
12004
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "line-clamp-2 min-w-0 flex-1 break-words text-ods-text-primary text-h6", children: [
|
|
12005
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) =>
|
|
12005
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) => _chunkNFNSPLGCcjs.personFirstName.call(void 0, p.name, "Unknown")).join(" & ") }),
|
|
12006
12006
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: fullNames })
|
|
12007
12007
|
] })
|
|
12008
12008
|
] }) });
|
|
@@ -12328,7 +12328,7 @@ function QueryReportTable({
|
|
|
12328
12328
|
onThumbPointerMove,
|
|
12329
12329
|
onThumbPointerUp,
|
|
12330
12330
|
onThumbPointerCancel
|
|
12331
|
-
} =
|
|
12331
|
+
} = _chunkIUDBG3HJcjs.useHorizontalScrollbar.call(void 0, );
|
|
12332
12332
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex w-full flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
|
|
12333
12333
|
!isCompact && (title || headerActions || showExportButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
|
|
12334
12334
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -12849,7 +12849,7 @@ function DataTableRowImpl({
|
|
|
12849
12849
|
const containerRef = _react.useRef.call(void 0, null);
|
|
12850
12850
|
const handleClick = _react.useCallback.call(void 0,
|
|
12851
12851
|
(e) => {
|
|
12852
|
-
if (!
|
|
12852
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
|
|
12853
12853
|
if (isLinkMode) e.preventDefault();
|
|
12854
12854
|
return;
|
|
12855
12855
|
}
|
|
@@ -12863,7 +12863,7 @@ function DataTableRowImpl({
|
|
|
12863
12863
|
if (!(target instanceof Element) || !_optionalChain([container, 'optionalAccess', _224 => _224.contains, 'call', _225 => _225(target)])) return;
|
|
12864
12864
|
const nestedLink = target.closest("a");
|
|
12865
12865
|
if (nestedLink && nestedLink !== container && container.contains(nestedLink)) return;
|
|
12866
|
-
if (!
|
|
12866
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, target, container) || target.closest(ROW_LINK_CONTROL_SELECTOR)) e.preventDefault();
|
|
12867
12867
|
}, []);
|
|
12868
12868
|
const containerClassName = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
12869
12869
|
DATA_TABLE_ROW_FRAME_CLASS,
|
|
@@ -12993,7 +12993,7 @@ function DataTableBody({
|
|
|
12993
12993
|
const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
|
|
12994
12994
|
if (loading && loadingCells && hasRows) {
|
|
12995
12995
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12996
|
-
|
|
12996
|
+
_chunkEV6BPF47cjs.LoadingFallback,
|
|
12997
12997
|
{
|
|
12998
12998
|
label: "Loading results",
|
|
12999
12999
|
status: loadingRegion && !inScope,
|
|
@@ -13342,7 +13342,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13342
13342
|
// child of the cell.
|
|
13343
13343
|
_optionalChain([meta, 'optionalAccess', _244 => _244.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13344
13344
|
filterTrigger,
|
|
13345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13346
13346
|
] }) : filterTrigger
|
|
13347
13347
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13348
13348
|
"div",
|
|
@@ -13367,7 +13367,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13367
13367
|
// centred on the row.
|
|
13368
13368
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13369
13369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13370
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13370
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13371
13371
|
] })
|
|
13372
13372
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13373
13373
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -13606,7 +13606,7 @@ function PhoneInput({
|
|
|
13606
13606
|
placeholder = "Phone Number (optional)",
|
|
13607
13607
|
onKeyDown
|
|
13608
13608
|
}) {
|
|
13609
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
13609
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkDGY5KEPYcjs.getCountryPhoneData.call(void 0, ), []);
|
|
13610
13610
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
13611
13611
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
13612
13612
|
[countryCode, priority, others]
|
|
@@ -13621,7 +13621,7 @@ function PhoneInput({
|
|
|
13621
13621
|
_optionalChain([onValidationChange, 'optionalCall', _261 => _261(false)]);
|
|
13622
13622
|
return;
|
|
13623
13623
|
}
|
|
13624
|
-
const invalid = !
|
|
13624
|
+
const invalid = !_chunkDGY5KEPYcjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
13625
13625
|
setIsInvalid(invalid);
|
|
13626
13626
|
_optionalChain([onValidationChange, 'optionalCall', _262 => _262(invalid)]);
|
|
13627
13627
|
},
|
|
@@ -13641,7 +13641,7 @@ function PhoneInput({
|
|
|
13641
13641
|
}, []);
|
|
13642
13642
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2", children: [
|
|
13643
13643
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13644
|
-
|
|
13644
|
+
_chunkWCK5T3UDcjs.Select,
|
|
13645
13645
|
{
|
|
13646
13646
|
value: countryCode,
|
|
13647
13647
|
onValueChange: (val) => {
|
|
@@ -13652,14 +13652,14 @@ function PhoneInput({
|
|
|
13652
13652
|
},
|
|
13653
13653
|
disabled,
|
|
13654
13654
|
children: [
|
|
13655
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13655
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { children: selectedCountry && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5", children: [
|
|
13656
13656
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.flag }),
|
|
13657
13657
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.dialCode })
|
|
13658
13658
|
] }) }) }),
|
|
13659
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13660
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13661
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13662
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13659
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
|
|
13660
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectGroup, { children: priority.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) }),
|
|
13661
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectSeparator, {}),
|
|
13662
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectGroup, { children: others.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) })
|
|
13663
13663
|
] })
|
|
13664
13664
|
]
|
|
13665
13665
|
}
|
|
@@ -13691,7 +13691,7 @@ function PhoneInput({
|
|
|
13691
13691
|
] });
|
|
13692
13692
|
}
|
|
13693
13693
|
function CountryOption({ country }) {
|
|
13694
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13694
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
13695
13695
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: country.flag }),
|
|
13696
13696
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary", children: country.dialCode }),
|
|
13697
13697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-block max-w-[140px] overflow-hidden text-ellipsis whitespace-nowrap", children: country.name })
|
|
@@ -13827,7 +13827,7 @@ function TagSearchInput({
|
|
|
13827
13827
|
limitTags = "auto"
|
|
13828
13828
|
}) {
|
|
13829
13829
|
const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
|
|
13830
|
-
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } =
|
|
13830
|
+
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkFW7RKWPYcjs.useAutoLimitTags.call(void 0, {
|
|
13831
13831
|
count: tags.length,
|
|
13832
13832
|
limitTags,
|
|
13833
13833
|
placeholder: currentPlaceholder
|
|
@@ -13898,7 +13898,7 @@ function TagSearchInput({
|
|
|
13898
13898
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { className: "size-4 text-ods-text-secondary content-md:size-6" }) }),
|
|
13899
13899
|
/* @__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: [
|
|
13900
13900
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13901
|
-
|
|
13901
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
13902
13902
|
{
|
|
13903
13903
|
variant: "outline",
|
|
13904
13904
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -13957,7 +13957,7 @@ function TagSearchInput({
|
|
|
13957
13957
|
}
|
|
13958
13958
|
),
|
|
13959
13959
|
showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13960
|
-
|
|
13960
|
+
_chunkJ2IXYCEHcjs.HiddenTagsPopup,
|
|
13961
13961
|
{
|
|
13962
13962
|
ref: hiddenTagsPopupRef,
|
|
13963
13963
|
items: hiddenTags,
|
|
@@ -13968,10 +13968,10 @@ function TagSearchInput({
|
|
|
13968
13968
|
}
|
|
13969
13969
|
}
|
|
13970
13970
|
),
|
|
13971
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": "true", className:
|
|
13971
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": "true", className: _chunkFW7RKWPYcjs.MEASURE_LAYER_CLASS, children: [
|
|
13972
13972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textMeasureRef, "aria-hidden": "true", className: "whitespace-nowrap text-h4", children: currentPlaceholder }),
|
|
13973
13973
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "flex w-max gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13974
|
-
|
|
13974
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
13975
13975
|
{
|
|
13976
13976
|
variant: "outline",
|
|
13977
13977
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -14033,8 +14033,8 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14033
14033
|
if (!trimmedUrl) return;
|
|
14034
14034
|
onSubmit({ text: text.trim(), url: trimmedUrl, rel });
|
|
14035
14035
|
};
|
|
14036
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14037
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14036
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose, className: "text-left md:max-w-[560px]", children: [
|
|
14037
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: editing ? "Edit link" : "Add link" }) }),
|
|
14038
14038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14039
14039
|
"form",
|
|
14040
14040
|
{
|
|
@@ -14059,7 +14059,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14059
14059
|
),
|
|
14060
14060
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
14061
14061
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14062
|
-
|
|
14062
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
14063
14063
|
{
|
|
14064
14064
|
label: "Search engines",
|
|
14065
14065
|
value: choice,
|
|
@@ -14076,7 +14076,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14076
14076
|
]
|
|
14077
14077
|
}
|
|
14078
14078
|
),
|
|
14079
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14079
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
14080
14080
|
editing ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onRemove, className: "flex-1", children: "Remove link" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, className: "flex-1", children: "Cancel" }),
|
|
14081
14081
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "submit", form: formId, variant: "accent", disabled: !trimmedUrl, className: "flex-1", children: editing ? "Save" : "Add link" })
|
|
14082
14082
|
] })
|
|
@@ -14116,7 +14116,7 @@ function useMarkdownLinkCommand() {
|
|
|
14116
14116
|
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
14117
14117
|
icon: command.icon,
|
|
14118
14118
|
execute: (state, api) => {
|
|
14119
|
-
const existing =
|
|
14119
|
+
const existing = _chunkEV6BPF47cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
14120
14120
|
setPending(
|
|
14121
14121
|
existing ? {
|
|
14122
14122
|
api,
|
|
@@ -14147,7 +14147,7 @@ function useMarkdownLinkCommand() {
|
|
|
14147
14147
|
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _292 => _292.initial]), () => ( EMPTY_LINK)),
|
|
14148
14148
|
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _293 => _293.editing]), () => ( false)),
|
|
14149
14149
|
onSubmit: (link) => {
|
|
14150
|
-
if (pending) write(pending,
|
|
14150
|
+
if (pending) write(pending, _chunkEV6BPF47cjs.formatMarkdownLink.call(void 0, link));
|
|
14151
14151
|
},
|
|
14152
14152
|
onRemove: () => {
|
|
14153
14153
|
if (pending) write(pending, pending.initial.text);
|
|
@@ -14313,7 +14313,7 @@ function MarkdownEditor({
|
|
|
14313
14313
|
setUploadProgress(`Uploading ${file.name}...`);
|
|
14314
14314
|
try {
|
|
14315
14315
|
const url = await onUploadFile(file);
|
|
14316
|
-
const isImage =
|
|
14316
|
+
const isImage = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === "image";
|
|
14317
14317
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
14318
14318
|
insertTextAtCursor(markdown);
|
|
14319
14319
|
_optionalChain([onFileUploaded, 'optionalCall', _296 => _296(url, file.name)]);
|
|
@@ -14443,7 +14443,7 @@ function MarkdownEditor({
|
|
|
14443
14443
|
type: "file",
|
|
14444
14444
|
className: "hidden",
|
|
14445
14445
|
onChange: handleFileInputChange,
|
|
14446
|
-
accept: `${
|
|
14446
|
+
accept: `${_chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
|
|
14447
14447
|
}
|
|
14448
14448
|
),
|
|
14449
14449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorHeightContext.Provider, { value: height, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorFieldSkeleton, { height }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14858,7 +14858,7 @@ function matchesAccept2(file, accept) {
|
|
|
14858
14858
|
return patterns.some((pattern) => {
|
|
14859
14859
|
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
|
|
14860
14860
|
if (pattern.endsWith("/*"))
|
|
14861
|
-
return fileType.startsWith(pattern.slice(0, -1)) ||
|
|
14861
|
+
return fileType.startsWith(pattern.slice(0, -1)) || _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
|
|
14862
14862
|
return fileType === pattern;
|
|
14863
14863
|
});
|
|
14864
14864
|
}
|
|
@@ -14866,7 +14866,7 @@ function ImageUploader({
|
|
|
14866
14866
|
value,
|
|
14867
14867
|
onChange,
|
|
14868
14868
|
onRemove,
|
|
14869
|
-
accept =
|
|
14869
|
+
accept = _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
|
|
14870
14870
|
maxSize = DEFAULT_MAX_SIZE,
|
|
14871
14871
|
label = "Cover Image",
|
|
14872
14872
|
description = "(Click Here or Drag and Drop)",
|
|
@@ -14887,7 +14887,7 @@ function ImageUploader({
|
|
|
14887
14887
|
const [pressed, setPressed] = _react.useState.call(void 0, false);
|
|
14888
14888
|
const [validationError, setValidationError] = _react.useState.call(void 0, null);
|
|
14889
14889
|
const interactive = !disabled && !loading;
|
|
14890
|
-
const resolvedValue =
|
|
14890
|
+
const resolvedValue = _chunkCOWMXUHNcjs.useAuthedImageSrc.call(void 0, value);
|
|
14891
14891
|
const hasImage = Boolean(value);
|
|
14892
14892
|
const displayError = error || validationError || void 0;
|
|
14893
14893
|
const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
|
|
@@ -15041,7 +15041,7 @@ var _reactcolorful = require('react-colorful');
|
|
|
15041
15041
|
var Popover2 = PopoverPrimitive4.Root;
|
|
15042
15042
|
var PopoverTrigger = PopoverPrimitive4.Trigger;
|
|
15043
15043
|
var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
15044
|
-
const keyboardPadding =
|
|
15044
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
15045
15045
|
const container = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
15046
15046
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Portal, { container: _nullishCoalesce(container, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15047
15047
|
PopoverPrimitive4.Content,
|
|
@@ -15099,13 +15099,13 @@ function ColorPresetSelect({
|
|
|
15099
15099
|
...presets.map((p) => ({
|
|
15100
15100
|
id: p.key,
|
|
15101
15101
|
label: p.label,
|
|
15102
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15102
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: p.color }),
|
|
15103
15103
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
15104
15104
|
})),
|
|
15105
15105
|
{
|
|
15106
15106
|
id: CUSTOM_PRESET_KEY,
|
|
15107
15107
|
label: "Custom",
|
|
15108
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15108
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
15109
15109
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
15110
15110
|
}
|
|
15111
15111
|
]
|
|
@@ -15122,7 +15122,7 @@ function ColorPresetSelect({
|
|
|
15122
15122
|
{
|
|
15123
15123
|
disabled,
|
|
15124
15124
|
"aria-label": `Color: ${displayLabel}`,
|
|
15125
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15125
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: displayColor }),
|
|
15126
15126
|
selectedLabel: displayLabel,
|
|
15127
15127
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
15128
15128
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "group", className)
|
|
@@ -15260,7 +15260,7 @@ function ColorPickerInput({
|
|
|
15260
15260
|
{
|
|
15261
15261
|
disabled,
|
|
15262
15262
|
"aria-label": "Pick custom color",
|
|
15263
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15263
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: value }),
|
|
15264
15264
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
15265
15265
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
15266
15266
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "group", className)
|
|
@@ -15332,7 +15332,7 @@ function TicketStatusConfigRow({
|
|
|
15332
15332
|
loading: loadingProp
|
|
15333
15333
|
}) {
|
|
15334
15334
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
15335
|
-
const dragAndDropEnabled =
|
|
15335
|
+
const dragAndDropEnabled = _chunkIUDBG3HJcjs.useDragAndDropEnabled.call(void 0, );
|
|
15336
15336
|
const nameInputId = _react.useId.call(void 0, );
|
|
15337
15337
|
const isSystem = variant === "system";
|
|
15338
15338
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -15341,7 +15341,7 @@ function TicketStatusConfigRow({
|
|
|
15341
15341
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
15342
15342
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
15343
15343
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15344
|
-
|
|
15344
|
+
_chunk6LDL3UZEcjs.TicketStatusTag,
|
|
15345
15345
|
{
|
|
15346
15346
|
loading,
|
|
15347
15347
|
status: statusKey,
|
|
@@ -15458,9 +15458,9 @@ function TicketStatusConfigRow({
|
|
|
15458
15458
|
),
|
|
15459
15459
|
children: [
|
|
15460
15460
|
!isSystem && moveButtons,
|
|
15461
|
-
isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-11 justify-center content-md:w-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15461
|
+
isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-11 justify-center content-md:w-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.TouchFriendlyTooltip, { content: systemTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "bare", size: "icon-sm", type: "button", "aria-label": _nullishCoalesce(systemTooltip, () => ( "System status")), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { size: 24 }) }) }) }) : (
|
|
15462
15462
|
// The delete button is a static control: drawn for real in both forms, inert while the status is read.
|
|
15463
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { loading, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15463
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { loading, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.TouchFriendlyTooltip, { content: deleteDisabled && !loading ? deleteDisabledReason : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15464
15464
|
_chunkFCZAUK4Dcjs.Button,
|
|
15465
15465
|
{
|
|
15466
15466
|
type: "button",
|
|
@@ -15501,7 +15501,7 @@ var TEST_RESULTS_SKELETON_COLUMNS = 6;
|
|
|
15501
15501
|
function TestResultsSkeleton({
|
|
15502
15502
|
region = true
|
|
15503
15503
|
} = {}) {
|
|
15504
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15504
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
15505
15505
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex", ROW_SHELL_CLASSES), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: TEST_RESULTS_SKELETON_COLUMNS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 shrink-0 items-center", style: { width: RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h5", className: "w-3/4" }) }) }) }),
|
|
15506
15506
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DATA_TABLE_ROW_FRAME_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex", ROW_SHELL_CLASSES, ROW_HEIGHT_DESKTOP), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: TEST_RESULTS_SKELETON_COLUMNS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, className: "shrink-0", style: { width: RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h4", className: "w-3/4" }) }) }) }) })
|
|
15507
15507
|
] }) }) });
|
|
@@ -15537,13 +15537,13 @@ function TestResultsTable({ rows, loading: loadingProp }) {
|
|
|
15537
15537
|
if (loading) {
|
|
15538
15538
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
15539
15539
|
}
|
|
15540
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15540
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.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: [
|
|
15541
15541
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
15542
15542
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
15543
15543
|
] }) }) });
|
|
15544
15544
|
}
|
|
15545
15545
|
function TestRunErrorBanner({ error, className }) {
|
|
15546
|
-
const { copy } =
|
|
15546
|
+
const { copy } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
15547
15547
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15548
15548
|
"div",
|
|
15549
15549
|
{
|
|
@@ -15602,7 +15602,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
15602
15602
|
function TestRunStatusStat({ status, className }) {
|
|
15603
15603
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
15604
15604
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
15605
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15605
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.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: "-" }),
|
|
15606
15606
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
15607
15607
|
] });
|
|
15608
15608
|
}
|
|
@@ -15646,7 +15646,7 @@ function useTestRunState(campaign) {
|
|
|
15646
15646
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
15647
15647
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
15648
15648
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
15649
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
15649
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkJ2IXYCEHcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
15650
15650
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
15651
15651
|
const displayRows = _react.useMemo.call(void 0,
|
|
15652
15652
|
() => campaign.results.map(
|
|
@@ -15685,7 +15685,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
15685
15685
|
),
|
|
15686
15686
|
children: [
|
|
15687
15687
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15688
|
-
|
|
15688
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15689
15689
|
{
|
|
15690
15690
|
src: attachment.thumbnailSrc,
|
|
15691
15691
|
alt: attachment.fileName,
|
|
@@ -15783,7 +15783,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
15783
15783
|
};
|
|
15784
15784
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
|
|
15785
15785
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15786
|
-
|
|
15786
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15787
15787
|
{
|
|
15788
15788
|
src: note.authorAvatar,
|
|
15789
15789
|
alt: note.authorName,
|
|
@@ -15968,7 +15968,7 @@ function TicketInfoSection({
|
|
|
15968
15968
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-card px-4 py-3 content-lg:grid-cols-[1fr_1fr_1fr_auto]", children: [
|
|
15969
15969
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
15970
15970
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15971
|
-
|
|
15971
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15972
15972
|
{
|
|
15973
15973
|
src: _optionalChain([organization, 'optionalAccess', _332 => _332.imageSrc]),
|
|
15974
15974
|
alt: _optionalChain([organization, 'optionalAccess', _333 => _333.name]),
|
|
@@ -15999,7 +15999,7 @@ function TicketInfoSection({
|
|
|
15999
15999
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _336 => _336.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _337 => _337.icon]), onClick: _optionalChain([device, 'optionalAccess', _338 => _338.onClick]) }),
|
|
16000
16000
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16001
16001
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16002
|
-
|
|
16002
|
+
_chunk6LDL3UZEcjs.TicketStatusTag,
|
|
16003
16003
|
{
|
|
16004
16004
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16005
16005
|
label: statusLabel,
|
|
@@ -16029,9 +16029,9 @@ function TicketInfoSection({
|
|
|
16029
16029
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16030
16030
|
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" }) }),
|
|
16031
16031
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16032
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16032
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.SimpleMarkdownRenderer, { content: description }),
|
|
16033
16033
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16034
|
-
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,
|
|
16034
|
+
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, _chunkNFNSPLGCcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16035
16035
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16036
16036
|
TicketNotesSection,
|
|
16037
16037
|
{
|
|
@@ -16054,8 +16054,8 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
16054
16054
|
const { label, color } = option;
|
|
16055
16055
|
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: [
|
|
16056
16056
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16057
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16058
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16057
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color }),
|
|
16058
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: "text-inherit", children: label }) })
|
|
16059
16059
|
] }),
|
|
16060
16060
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16061
16061
|
] });
|
|
@@ -16064,8 +16064,8 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
16064
16064
|
const { label, imageUrl } = option;
|
|
16065
16065
|
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: [
|
|
16066
16066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16067
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16068
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16067
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
16068
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: "text-inherit", children: label }) })
|
|
16069
16069
|
] }),
|
|
16070
16070
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16071
16071
|
] });
|
|
@@ -16073,7 +16073,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
16073
16073
|
function withTicketAssigneeAvatars(options) {
|
|
16074
16074
|
return options.map((option) => ({
|
|
16075
16075
|
...option,
|
|
16076
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16076
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { src: option.imageUrl, alt: option.label, fallback: option.label, size: "sm", variant: "round" })
|
|
16077
16077
|
}));
|
|
16078
16078
|
}
|
|
16079
16079
|
function TakeOverTicketModal({
|
|
@@ -16106,9 +16106,9 @@ function TakeOverTicketModal({
|
|
|
16106
16106
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
16107
16107
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
16108
16108
|
};
|
|
16109
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16109
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16110
16110
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16111
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
16112
16112
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
16113
16113
|
"The ticket ",
|
|
16114
16114
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -16116,19 +16116,19 @@ function TakeOverTicketModal({
|
|
|
16116
16116
|
] }),
|
|
16117
16117
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
16118
16118
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16119
|
-
|
|
16119
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16120
16120
|
{
|
|
16121
16121
|
label: "Status",
|
|
16122
16122
|
options: statusOptions,
|
|
16123
16123
|
value: selectedStatusId,
|
|
16124
16124
|
onChange: setStatusId,
|
|
16125
16125
|
placeholder: "Select Status",
|
|
16126
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16126
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
16127
16127
|
renderOption: renderTicketStatusOption
|
|
16128
16128
|
}
|
|
16129
16129
|
) }),
|
|
16130
16130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16131
|
-
|
|
16131
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16132
16132
|
{
|
|
16133
16133
|
label: "Assigned",
|
|
16134
16134
|
options: withTicketAssigneeAvatars(assigneeOptions),
|
|
@@ -16142,7 +16142,7 @@ function TakeOverTicketModal({
|
|
|
16142
16142
|
}
|
|
16143
16143
|
) })
|
|
16144
16144
|
] }),
|
|
16145
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16145
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16146
16146
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
16147
16147
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
16148
16148
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16202,9 +16202,9 @@ function ReopenTicketModal({
|
|
|
16202
16202
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
16203
16203
|
});
|
|
16204
16204
|
};
|
|
16205
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16205
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16206
16206
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16207
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16207
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
16208
16208
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
16209
16209
|
"The ticket ",
|
|
16210
16210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -16212,19 +16212,19 @@ function ReopenTicketModal({
|
|
|
16212
16212
|
] }),
|
|
16213
16213
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
16214
16214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16215
|
-
|
|
16215
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16216
16216
|
{
|
|
16217
16217
|
label: "Status",
|
|
16218
16218
|
options: statusOptions,
|
|
16219
16219
|
value: selectedStatusId,
|
|
16220
16220
|
onChange: setStatusId,
|
|
16221
16221
|
placeholder: "Select Status",
|
|
16222
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16222
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
16223
16223
|
renderOption: renderTicketStatusOption
|
|
16224
16224
|
}
|
|
16225
16225
|
) }),
|
|
16226
16226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16227
|
-
|
|
16227
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16228
16228
|
{
|
|
16229
16229
|
label: "Assigned",
|
|
16230
16230
|
options: withTicketAssigneeAvatars(assigneeOptions),
|
|
@@ -16249,7 +16249,7 @@ function ReopenTicketModal({
|
|
|
16249
16249
|
disabled: isPending
|
|
16250
16250
|
}
|
|
16251
16251
|
) }),
|
|
16252
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16252
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16253
16253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
16254
16254
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
16255
16255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16298,9 +16298,9 @@ function ReopenTicketRequestModal({
|
|
|
16298
16298
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
16299
16299
|
});
|
|
16300
16300
|
};
|
|
16301
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16301
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16302
16302
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16303
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16303
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
16304
16304
|
/* @__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." }),
|
|
16305
16305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16306
16306
|
Textarea,
|
|
@@ -16324,7 +16324,7 @@ function ReopenTicketRequestModal({
|
|
|
16324
16324
|
disabled: isPending
|
|
16325
16325
|
}
|
|
16326
16326
|
),
|
|
16327
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16327
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16328
16328
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
16329
16329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
16330
16330
|
] })
|
|
@@ -16504,7 +16504,7 @@ function PhotoWall({
|
|
|
16504
16504
|
gap: COLUMN_GAP_PX
|
|
16505
16505
|
};
|
|
16506
16506
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk63A4GZMBcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16507
|
-
|
|
16507
|
+
_chunkEV6BPF47cjs.MarqueeWall,
|
|
16508
16508
|
{
|
|
16509
16509
|
axis: "y",
|
|
16510
16510
|
reverse: index % 2 === 1,
|
|
@@ -16668,9 +16668,9 @@ function AppWindowFrame({ title, children, footer, agent, className, bodyClassNa
|
|
|
16668
16668
|
// src/components/ui/product-screen-frame.tsx
|
|
16669
16669
|
|
|
16670
16670
|
|
|
16671
|
-
var PRODUCT_SCREEN_DESIGN_WIDTH =
|
|
16672
|
-
var PRODUCT_SCREEN_READABLE_WIDTH =
|
|
16673
|
-
var PRODUCT_SCREEN_SCALE_FROM =
|
|
16671
|
+
var PRODUCT_SCREEN_DESIGN_WIDTH = _chunkCOWMXUHNcjs.LAYOUT_STEPS["2xl"].content;
|
|
16672
|
+
var PRODUCT_SCREEN_READABLE_WIDTH = _chunkCOWMXUHNcjs.LAYOUT_STEPS.lg.content;
|
|
16673
|
+
var PRODUCT_SCREEN_SCALE_FROM = _chunkCOWMXUHNcjs.LAYOUT_STEPS.md.content;
|
|
16674
16674
|
var SCALE_VAR = "--product-screen-scale";
|
|
16675
16675
|
function ProductScreenFrame({
|
|
16676
16676
|
children,
|
|
@@ -16734,7 +16734,7 @@ function ProductScreenFrame({
|
|
|
16734
16734
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "ods-content-area", pending && "product-screen-pending"),
|
|
16735
16735
|
style: screenStyle,
|
|
16736
16736
|
children: [
|
|
16737
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ods-content-scope", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingScope, { bare: true, active: pending, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16737
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ods-content-scope", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingScope, { bare: true, active: pending, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PagePicture, { children }) }) }),
|
|
16738
16738
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
16739
16739
|
]
|
|
16740
16740
|
}
|
|
@@ -16872,7 +16872,7 @@ function PhoneFrame({ dateLabel, timeLabel, children, className }) {
|
|
|
16872
16872
|
"div",
|
|
16873
16873
|
{
|
|
16874
16874
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "h-[617px] w-[299px] shrink-0 rounded-[48px] border border-ods-border bg-black p-2.5", className),
|
|
16875
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "relative flex h-full flex-col overflow-hidden rounded-[38px]",
|
|
16875
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "relative flex h-full flex-col overflow-hidden rounded-[38px]", _chunkWCK5T3UDcjs.DEVICE_WALLPAPER_CLASS), children: [
|
|
16876
16876
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16877
16877
|
"div",
|
|
16878
16878
|
{
|
|
@@ -17049,7 +17049,7 @@ function LoadingLabel({ label, typical }) {
|
|
|
17049
17049
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: label.split(/(\{\w+\})/).map(
|
|
17050
17050
|
(part, index) => /^\{\w+\}$/.test(part) ? (
|
|
17051
17051
|
// biome-ignore lint/suspicious/noArrayIndexKey: the parts of one fixed string never reorder
|
|
17052
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.TextHold, { children: typical }, index)
|
|
17053
17053
|
) : part
|
|
17054
17054
|
) });
|
|
17055
17055
|
}
|
|
@@ -17064,7 +17064,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17064
17064
|
};
|
|
17065
17065
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17066
17066
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17067
|
-
const labels =
|
|
17067
|
+
const labels = _chunkDGY5KEPYcjs.trialLabels.call(void 0, trialDays);
|
|
17068
17068
|
return terms.flatMap((term) => {
|
|
17069
17069
|
const label = labels[term];
|
|
17070
17070
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -17171,7 +17171,7 @@ function AnalyzingState({ label, className }) {
|
|
|
17171
17171
|
}) }),
|
|
17172
17172
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 text-center text-ods-text-secondary text-h4", children: [
|
|
17173
17173
|
label,
|
|
17174
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17174
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ChatTypingIndicator, { "aria-hidden": true, size: "sm", dotClassName: "bg-ods-text-secondary motion-reduce:animate-none" })
|
|
17175
17175
|
] })
|
|
17176
17176
|
] });
|
|
17177
17177
|
}
|
|
@@ -17185,7 +17185,7 @@ var INCIDENT_TONE = {
|
|
|
17185
17185
|
approved: "success"
|
|
17186
17186
|
};
|
|
17187
17187
|
function IncidentStatusLine({ status, label, className }) {
|
|
17188
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17188
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
|
|
17189
17189
|
}
|
|
17190
17190
|
var FEED_CLASS = "flex min-h-0 flex-1 flex-col gap-3 overflow-hidden p-4 md:px-5";
|
|
17191
17191
|
var FEED_BOTTOM_CLASS = "justify-end [mask-image:linear-gradient(180deg,transparent_0,#000_48px)]";
|
|
@@ -17373,8 +17373,8 @@ function SnapCarousel({
|
|
|
17373
17373
|
}) {
|
|
17374
17374
|
const trackRef = _react.useRef.call(void 0, null);
|
|
17375
17375
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
17376
|
-
const { ref: viewRef, inView } =
|
|
17377
|
-
const auto =
|
|
17376
|
+
const { ref: viewRef, inView } = _chunkFRL2ZN4Ocjs.useInView.call(void 0, { threshold: 0.5 });
|
|
17377
|
+
const auto = _chunkFRL2ZN4Ocjs.useAutoplay.call(void 0, inView);
|
|
17378
17378
|
const count = items.length;
|
|
17379
17379
|
const slideStep = _react.useCallback.call(void 0, () => {
|
|
17380
17380
|
const first = _optionalChain([trackRef, 'access', _349 => _349.current, 'optionalAccess', _350 => _350.firstElementChild]);
|
|
@@ -17418,7 +17418,7 @@ function SnapCarousel({
|
|
|
17418
17418
|
const goNext = _react.useCallback.call(void 0, () => goTo(index >= count - 1 ? 0 : index + 1), [count, goTo, index]);
|
|
17419
17419
|
const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
|
|
17420
17420
|
const playing = auto.playing && canAutoAdvance;
|
|
17421
|
-
const ranMs =
|
|
17421
|
+
const ranMs = _chunkE7M54JWWcjs.useResumableTimeout.call(void 0, {
|
|
17422
17422
|
running: playing,
|
|
17423
17423
|
durationMs: autoAdvanceMs,
|
|
17424
17424
|
resetKey: index,
|
|
@@ -17550,7 +17550,7 @@ function SuperUserBannerView({
|
|
|
17550
17550
|
endAdornment: (
|
|
17551
17551
|
// Below `md` the chip would take the width the tenant name needs, and
|
|
17552
17552
|
// the name is the point of the strip: the chip waits for `md`.
|
|
17553
|
-
environmentLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17553
|
+
environmentLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: "critical", label: environmentLabel, className: "uppercase max-md:hidden" }) : void 0
|
|
17554
17554
|
)
|
|
17555
17555
|
}
|
|
17556
17556
|
);
|
|
@@ -17769,10 +17769,10 @@ function AccountDetailsFields({
|
|
|
17769
17769
|
onKeyDown,
|
|
17770
17770
|
layout = "stacked"
|
|
17771
17771
|
}) {
|
|
17772
|
-
const firstNameErr =
|
|
17773
|
-
const lastNameErr =
|
|
17774
|
-
const passwordErr =
|
|
17775
|
-
const confirmErr =
|
|
17772
|
+
const firstNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _351 => _351.firstName]), firstName);
|
|
17773
|
+
const lastNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _352 => _352.lastName]), lastName);
|
|
17774
|
+
const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _353 => _353.password]), password);
|
|
17775
|
+
const confirmErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _354 => _354.confirmPassword]), confirmPassword);
|
|
17776
17776
|
const names = [
|
|
17777
17777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17778
17778
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -18098,7 +18098,7 @@ function CompleteAccountForm({
|
|
|
18098
18098
|
),
|
|
18099
18099
|
children: [
|
|
18100
18100
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18101
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18101
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18102
18102
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18103
18103
|
] }),
|
|
18104
18104
|
(ssoProvidersLoading || ssoProviders && ssoProviders.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18232,9 +18232,9 @@ function CreateOrganizationForm({
|
|
|
18232
18232
|
}) {
|
|
18233
18233
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
18234
18234
|
const fieldsDisabled = disabled || loading;
|
|
18235
|
-
const emailErr =
|
|
18236
|
-
const orgNameErr =
|
|
18237
|
-
const domainErr =
|
|
18235
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _356 => _356.email]), _nullishCoalesce(email, () => ( "")));
|
|
18236
|
+
const orgNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _357 => _357.organizationName]), organizationName);
|
|
18237
|
+
const domainErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _358 => _358.domain]), domain);
|
|
18238
18238
|
const handleKeyDown = (event) => {
|
|
18239
18239
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18240
18240
|
onSubmit();
|
|
@@ -18249,7 +18249,7 @@ function CreateOrganizationForm({
|
|
|
18249
18249
|
),
|
|
18250
18250
|
children: [
|
|
18251
18251
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18252
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18252
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18253
18253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle === null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: CREATE_ORGANIZATION_SUBTITLE_BAR_CLASS }) : subtitle })
|
|
18254
18254
|
] }),
|
|
18255
18255
|
email === void 0 ? null : emailReadOnly && emailReadOnlyLabel === null ? (
|
|
@@ -18396,7 +18396,7 @@ function InviteLinkInvalidModal({
|
|
|
18396
18396
|
),
|
|
18397
18397
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
18398
18398
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
|
|
18399
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18399
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18400
18400
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18401
18401
|
_chunkFCZAUK4Dcjs.Button,
|
|
18402
18402
|
{
|
|
@@ -18462,7 +18462,7 @@ function LoginForm({
|
|
|
18462
18462
|
}) {
|
|
18463
18463
|
const fieldDisabled = disabled || loading;
|
|
18464
18464
|
const providersDisabled = fieldDisabled || ssoDisabled;
|
|
18465
|
-
const emailErr =
|
|
18465
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
|
|
18466
18466
|
const handleKeyDown = (event) => {
|
|
18467
18467
|
if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
|
|
18468
18468
|
if (onSubmitClick) {
|
|
@@ -18480,7 +18480,7 @@ function LoginForm({
|
|
|
18480
18480
|
),
|
|
18481
18481
|
children: [
|
|
18482
18482
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18483
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18483
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18484
18484
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18485
18485
|
] }),
|
|
18486
18486
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18607,7 +18607,7 @@ function NoAccountNotice({
|
|
|
18607
18607
|
),
|
|
18608
18608
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
18609
18609
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18610
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18610
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18611
18611
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
18612
18612
|
] }),
|
|
18613
18613
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -18640,8 +18640,8 @@ function OpenFrameSsoLoginForm({
|
|
|
18640
18640
|
className
|
|
18641
18641
|
}) {
|
|
18642
18642
|
const fieldsDisabled = disabled || loading;
|
|
18643
|
-
const emailErr =
|
|
18644
|
-
const passwordErr =
|
|
18643
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.email]), email);
|
|
18644
|
+
const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.password]), password);
|
|
18645
18645
|
const handleKeyDown = (event) => {
|
|
18646
18646
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18647
18647
|
onSubmit();
|
|
@@ -18656,7 +18656,7 @@ function OpenFrameSsoLoginForm({
|
|
|
18656
18656
|
),
|
|
18657
18657
|
children: [
|
|
18658
18658
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
18659
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18659
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18660
18660
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18661
18661
|
] }),
|
|
18662
18662
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18746,7 +18746,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18746
18746
|
className
|
|
18747
18747
|
}) {
|
|
18748
18748
|
const fieldsDisabled = disabled || loading;
|
|
18749
|
-
const emailErr =
|
|
18749
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
|
|
18750
18750
|
const handleKeyDown = (event) => {
|
|
18751
18751
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18752
18752
|
onSubmit();
|
|
@@ -18761,7 +18761,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18761
18761
|
),
|
|
18762
18762
|
children: [
|
|
18763
18763
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
18764
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18764
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18765
18765
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18766
18766
|
] }),
|
|
18767
18767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18851,8 +18851,8 @@ function PasswordResetForm({
|
|
|
18851
18851
|
className
|
|
18852
18852
|
}) {
|
|
18853
18853
|
const fieldsDisabled = disabled || loading;
|
|
18854
|
-
const passwordErr =
|
|
18855
|
-
const confirmErr =
|
|
18854
|
+
const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.password]), password);
|
|
18855
|
+
const confirmErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.confirmPassword]), confirmPassword);
|
|
18856
18856
|
const handleKeyDown = (event) => {
|
|
18857
18857
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18858
18858
|
onSubmit();
|
|
@@ -18867,7 +18867,7 @@ function PasswordResetForm({
|
|
|
18867
18867
|
),
|
|
18868
18868
|
children: [
|
|
18869
18869
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18870
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18870
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18871
18871
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18872
18872
|
] }),
|
|
18873
18873
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18988,12 +18988,12 @@ function SsoJoinForm({
|
|
|
18988
18988
|
),
|
|
18989
18989
|
children: [
|
|
18990
18990
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18991
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18991
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18992
18992
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18993
18993
|
] }),
|
|
18994
18994
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
|
|
18995
18995
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18996
|
-
|
|
18996
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
18997
18997
|
{
|
|
18998
18998
|
loading: identityLoading,
|
|
18999
18999
|
size: "lg",
|
|
@@ -19011,7 +19011,7 @@ function SsoJoinForm({
|
|
|
19011
19011
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
19012
19012
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
19013
19013
|
] }) }),
|
|
19014
|
-
shownRoles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROLES_CLASS, children: shownRoles.map((role, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19014
|
+
shownRoles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROLES_CLASS, children: shownRoles.map((role, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { loading: readingIdentity, variant: "grey", label: role }, `${role}-${i}`)) })
|
|
19015
19015
|
] }),
|
|
19016
19016
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19017
19017
|
CheckboxBlock,
|
|
@@ -19318,9 +19318,9 @@ function ChangelogManager({
|
|
|
19318
19318
|
] }),
|
|
19319
19319
|
tagOptions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
19320
19320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-ods-text-secondary", children: tagLabel }),
|
|
19321
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
19322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19323
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19321
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: _nullishCoalesce(entry.tag, () => ( "")), onValueChange: (value) => updateEntry(index, "tag", value), children: [
|
|
19322
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: tagLabel }) }),
|
|
19323
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: tagOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
19324
19324
|
] })
|
|
19325
19325
|
] })
|
|
19326
19326
|
] })
|
|
@@ -20823,15 +20823,15 @@ function useLoading() {
|
|
|
20823
20823
|
|
|
20824
20824
|
|
|
20825
20825
|
function isAlreadyThere(file, existing) {
|
|
20826
|
-
const key =
|
|
20826
|
+
const key = _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, file.name);
|
|
20827
20827
|
if (!key) return false;
|
|
20828
20828
|
return existing.some(
|
|
20829
|
-
(item) => (item.title ?
|
|
20829
|
+
(item) => (item.title ? _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, item.media_url) === key : false)
|
|
20830
20830
|
);
|
|
20831
20831
|
}
|
|
20832
20832
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
20833
|
-
var isVideoItem = (item) =>
|
|
20834
|
-
var MEDIA_KIND_ACCEPT = { image:
|
|
20833
|
+
var isVideoItem = (item) => _chunkRSJYTQEAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
|
|
20834
|
+
var MEDIA_KIND_ACCEPT = { image: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkRSJYTQEAcjs.MEDIA_FILE_ACCEPT };
|
|
20835
20835
|
var MEDIA_KIND_COPY = {
|
|
20836
20836
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
20837
20837
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -20855,12 +20855,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
20855
20855
|
const seen = /* @__PURE__ */ new Set();
|
|
20856
20856
|
const accepted = [];
|
|
20857
20857
|
for (const file of files) {
|
|
20858
|
-
const mediaType =
|
|
20858
|
+
const mediaType = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file);
|
|
20859
20859
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
20860
20860
|
unsupported.push(file.name);
|
|
20861
20861
|
continue;
|
|
20862
20862
|
}
|
|
20863
|
-
const contentKey = await
|
|
20863
|
+
const contentKey = await _chunkRSJYTQEAcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
20864
20864
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
20865
20865
|
duplicates.push(file.name);
|
|
20866
20866
|
continue;
|
|
@@ -21081,17 +21081,17 @@ function MediaGalleryManager({
|
|
|
21081
21081
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21082
21082
|
isVideoItem(item) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-5 w-5 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-5 w-5 text-ods-text-secondary" }),
|
|
21083
21083
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21084
|
-
|
|
21084
|
+
_chunkWCK5T3UDcjs.Select,
|
|
21085
21085
|
{
|
|
21086
21086
|
value: item.media_type,
|
|
21087
21087
|
onValueChange: (value) => update(index, { media_type: value }),
|
|
21088
21088
|
children: [
|
|
21089
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21090
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21091
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21092
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21093
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21094
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21089
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "h-8 bg-ods-bg text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
21090
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
21091
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "image", children: "Image" }),
|
|
21092
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "video", children: "Video" }),
|
|
21093
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "screenshot", children: "Screenshot" }),
|
|
21094
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "demo", children: "Demo" })
|
|
21095
21095
|
] })
|
|
21096
21096
|
]
|
|
21097
21097
|
}
|
|
@@ -21475,7 +21475,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
21475
21475
|
empty: "No token rates are in effect right now."
|
|
21476
21476
|
};
|
|
21477
21477
|
function providerMark(providerType, stated, className) {
|
|
21478
|
-
const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0,
|
|
21478
|
+
const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunkDGY5KEPYcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
21479
21479
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
21480
21480
|
}
|
|
21481
21481
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -21493,7 +21493,7 @@ var UNIT_LINE_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
|
21493
21493
|
var TABS_ROW_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
21494
21494
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
21495
21495
|
function useProviderGroup(rates) {
|
|
21496
|
-
const groups =
|
|
21496
|
+
const groups = _chunkDGY5KEPYcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
21497
21497
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
21498
21498
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
21499
21499
|
}
|
|
@@ -21504,7 +21504,7 @@ function ProviderTabs({
|
|
|
21504
21504
|
className
|
|
21505
21505
|
}) {
|
|
21506
21506
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21507
|
-
|
|
21507
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
21508
21508
|
{
|
|
21509
21509
|
variant: "secondary",
|
|
21510
21510
|
scrollable: true,
|
|
@@ -21512,7 +21512,7 @@ function ProviderTabs({
|
|
|
21512
21512
|
onValueChange,
|
|
21513
21513
|
items: groups.map((candidate) => ({
|
|
21514
21514
|
id: candidate.providerType,
|
|
21515
|
-
label:
|
|
21515
|
+
label: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _435 => _435.rates, 'access', _436 => _436[0], 'optionalAccess', _437 => _437.providerLabel])),
|
|
21516
21516
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _438 => _438.rates, 'access', _439 => _439[0], 'optionalAccess', _440 => _440.providerIcon]), "size-full")
|
|
21517
21517
|
})),
|
|
21518
21518
|
className
|
|
@@ -21589,8 +21589,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
21589
21589
|
] }),
|
|
21590
21590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "rowgroup", className: "min-h-0 flex-1 overflow-y-auto", children: group.rates.map((rate) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-loading-item": true, role: "row", className: BODY_ROW_CLASS, children: [
|
|
21591
21591
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
21592
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
21593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
21592
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
21593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
21594
21594
|
] }, rate.modelName)) })
|
|
21595
21595
|
] }),
|
|
21596
21596
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -21637,7 +21637,7 @@ function modelOption(rate) {
|
|
|
21637
21637
|
return {
|
|
21638
21638
|
label: rate.displayName || rate.modelName,
|
|
21639
21639
|
value: rate.modelName,
|
|
21640
|
-
description:
|
|
21640
|
+
description: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
21641
21641
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
21642
21642
|
};
|
|
21643
21643
|
}
|
|
@@ -21692,9 +21692,9 @@ function ModelTokenExchange({
|
|
|
21692
21692
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
21693
21693
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _441 => _441.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
21694
21694
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
21695
|
-
const tokens =
|
|
21696
|
-
const cost =
|
|
21697
|
-
const balancePrice = cost === null ? null :
|
|
21695
|
+
const tokens = _chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, balance);
|
|
21696
|
+
const cost = _chunkDGY5KEPYcjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
21697
|
+
const balancePrice = cost === null ? null : _chunkNFNSPLGCcjs.formatPrice.call(void 0, cost);
|
|
21698
21698
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
21699
21699
|
const options = models.map(modelOption);
|
|
21700
21700
|
if (rate && !models.some((candidate) => candidate.modelName === rate.modelName)) options.unshift(modelOption(rate));
|
|
@@ -21736,7 +21736,7 @@ function ModelTokenExchange({
|
|
|
21736
21736
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
21737
21737
|
size: "small",
|
|
21738
21738
|
onClick: () => setChosen(preset.tokens),
|
|
21739
|
-
children: copy.buy.preset(
|
|
21739
|
+
children: copy.buy.preset(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
21740
21740
|
},
|
|
21741
21741
|
preset.label
|
|
21742
21742
|
)) })
|
|
@@ -21753,7 +21753,7 @@ function ModelTokenExchange({
|
|
|
21753
21753
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _442 => _442.providerType]) === providerType ? rate : null)));
|
|
21754
21754
|
return {
|
|
21755
21755
|
id: providerType,
|
|
21756
|
-
name:
|
|
21756
|
+
name: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
|
|
21757
21757
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _444 => _444.providerIcon]), "size-8 text-ods-text-secondary")
|
|
21758
21758
|
};
|
|
21759
21759
|
}),
|
|
@@ -21765,7 +21765,7 @@ function ModelTokenExchange({
|
|
|
21765
21765
|
}
|
|
21766
21766
|
),
|
|
21767
21767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21768
|
-
|
|
21768
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
21769
21769
|
{
|
|
21770
21770
|
fieldLoading: loading,
|
|
21771
21771
|
label: copy.use.model,
|
|
@@ -21792,7 +21792,7 @@ function ModelTokenExchange({
|
|
|
21792
21792
|
{
|
|
21793
21793
|
size: "plain",
|
|
21794
21794
|
loading,
|
|
21795
|
-
figure:
|
|
21795
|
+
figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
|
|
21796
21796
|
words: copy.charge.input
|
|
21797
21797
|
}
|
|
21798
21798
|
),
|
|
@@ -21801,7 +21801,7 @@ function ModelTokenExchange({
|
|
|
21801
21801
|
{
|
|
21802
21802
|
size: "plain",
|
|
21803
21803
|
loading,
|
|
21804
|
-
figure:
|
|
21804
|
+
figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
|
|
21805
21805
|
words: copy.charge.output
|
|
21806
21806
|
}
|
|
21807
21807
|
)
|
|
@@ -21813,9 +21813,9 @@ function ModelTokenExchange({
|
|
|
21813
21813
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
21814
21814
|
children: [
|
|
21815
21815
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[2lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
|
|
21816
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) :
|
|
21816
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, _chunkDGY5KEPYcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
21817
21817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
21818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(
|
|
21818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, _chunkDGY5KEPYcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
21819
21819
|
]
|
|
21820
21820
|
}
|
|
21821
21821
|
)
|
|
@@ -22308,7 +22308,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22308
22308
|
}
|
|
22309
22309
|
)
|
|
22310
22310
|
] }),
|
|
22311
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22311
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22312
22312
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHFNBMV5Mcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent content-md:size-6" })
|
|
22313
22313
|
]
|
|
22314
22314
|
}
|
|
@@ -22335,14 +22335,14 @@ var ConfidenceBadge = ({
|
|
|
22335
22335
|
size = "sm",
|
|
22336
22336
|
className
|
|
22337
22337
|
}) => {
|
|
22338
|
-
const level =
|
|
22338
|
+
const level = _chunkDGY5KEPYcjs.getConfidenceLevel.call(void 0, confidence);
|
|
22339
22339
|
if (level === "none") {
|
|
22340
22340
|
return null;
|
|
22341
22341
|
}
|
|
22342
|
-
const label =
|
|
22343
|
-
const borderClass =
|
|
22344
|
-
const textClass =
|
|
22345
|
-
const bgClass =
|
|
22342
|
+
const label = _chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence);
|
|
22343
|
+
const borderClass = _chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
22344
|
+
const textClass = _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence);
|
|
22345
|
+
const bgClass = _chunkDGY5KEPYcjs.getConfidenceBgClass.call(void 0, confidence);
|
|
22346
22346
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22347
22347
|
"span",
|
|
22348
22348
|
{
|
|
@@ -22393,9 +22393,9 @@ function SEOEditorPreview({
|
|
|
22393
22393
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
22394
22394
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
22395
22395
|
const seoTitleLength = (seoTitle || "").length;
|
|
22396
|
-
const seoTitleTooLong = seoTitleLength >
|
|
22396
|
+
const seoTitleTooLong = seoTitleLength > _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH;
|
|
22397
22397
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
22398
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
22398
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
22399
22399
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
22400
22400
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
22401
22401
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -22420,10 +22420,10 @@ function SEOEditorPreview({
|
|
|
22420
22420
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
22421
22421
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22422
22422
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22423
|
-
|
|
22423
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22424
22424
|
{
|
|
22425
22425
|
label: "SEO Title",
|
|
22426
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
22426
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
22427
22427
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22428
22428
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
22429
22429
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -22438,7 +22438,7 @@ function SEOEditorPreview({
|
|
|
22438
22438
|
children: [
|
|
22439
22439
|
seoTitleLength,
|
|
22440
22440
|
"/",
|
|
22441
|
-
|
|
22441
|
+
_chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH
|
|
22442
22442
|
]
|
|
22443
22443
|
}
|
|
22444
22444
|
),
|
|
@@ -22449,7 +22449,7 @@ function SEOEditorPreview({
|
|
|
22449
22449
|
value: seoTitle || "",
|
|
22450
22450
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
22451
22451
|
disabled,
|
|
22452
|
-
maxLength:
|
|
22452
|
+
maxLength: _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH,
|
|
22453
22453
|
invalid: seoTitleTooLong,
|
|
22454
22454
|
placeholder: "Enter SEO meta title...",
|
|
22455
22455
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -22460,7 +22460,7 @@ function SEOEditorPreview({
|
|
|
22460
22460
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
22461
22461
|
] }),
|
|
22462
22462
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22463
|
-
|
|
22463
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22464
22464
|
{
|
|
22465
22465
|
label: "SEO Keywords",
|
|
22466
22466
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -22492,10 +22492,10 @@ function SEOEditorPreview({
|
|
|
22492
22492
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
22493
22493
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22494
22494
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22495
|
-
|
|
22495
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22496
22496
|
{
|
|
22497
22497
|
label: "SEO Description",
|
|
22498
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
22498
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
22499
22499
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22500
22500
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
22501
22501
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22518,7 +22518,7 @@ function SEOEditorPreview({
|
|
|
22518
22518
|
children: [
|
|
22519
22519
|
seoDescriptionLength,
|
|
22520
22520
|
"/",
|
|
22521
|
-
|
|
22521
|
+
_chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
22522
22522
|
]
|
|
22523
22523
|
}
|
|
22524
22524
|
),
|
|
@@ -22529,7 +22529,7 @@ function SEOEditorPreview({
|
|
|
22529
22529
|
value: seoDescription || "",
|
|
22530
22530
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
22531
22531
|
disabled,
|
|
22532
|
-
maxLength:
|
|
22532
|
+
maxLength: _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
22533
22533
|
invalid: seoDescriptionTooLong,
|
|
22534
22534
|
placeholder: "Enter SEO meta description...",
|
|
22535
22535
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -22598,7 +22598,7 @@ function SEOEditorPreview({
|
|
|
22598
22598
|
{
|
|
22599
22599
|
ref: setFileInputRef,
|
|
22600
22600
|
type: "file",
|
|
22601
|
-
accept:
|
|
22601
|
+
accept: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
|
|
22602
22602
|
onChange: handleImageUpload,
|
|
22603
22603
|
className: "hidden",
|
|
22604
22604
|
disabled: disabled || isUploading
|
|
@@ -22680,7 +22680,7 @@ function socialIcon(platform) {
|
|
|
22680
22680
|
return _nullishCoalesce(_chunkJQCQCE6Ucjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
22681
22681
|
}
|
|
22682
22682
|
function renderSocialIcon(platform) {
|
|
22683
|
-
const key = _nullishCoalesce(
|
|
22683
|
+
const key = _nullishCoalesce(_chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
22684
22684
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
22685
22685
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
22686
22686
|
}
|
|
@@ -22771,7 +22771,7 @@ function SocialLinksManager({
|
|
|
22771
22771
|
};
|
|
22772
22772
|
const getIcon = (link, platform) => {
|
|
22773
22773
|
const iconKey = _optionalChain([platform, 'optionalAccess', _460 => _460.icon_name]) || link.platform;
|
|
22774
|
-
const key =
|
|
22774
|
+
const key = _chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
22775
22775
|
if (!key) return null;
|
|
22776
22776
|
const icon = socialIcon(key);
|
|
22777
22777
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -22787,9 +22787,9 @@ function SocialLinksManager({
|
|
|
22787
22787
|
children: [
|
|
22788
22788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center", children: Icon }),
|
|
22789
22789
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid flex-1 grid-cols-2 gap-3", children: [
|
|
22790
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22791
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22792
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: link.platform, onValueChange: (value) => updateLink(index, "platform", value), children: [
|
|
22791
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
22792
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: platforms.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: p.name, children: p.display_name }, p.name)) })
|
|
22793
22793
|
] }) }),
|
|
22794
22794
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22795
22795
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -22807,15 +22807,15 @@ function SocialLinksManager({
|
|
|
22807
22807
|
)
|
|
22808
22808
|
] }),
|
|
22809
22809
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22810
|
-
|
|
22810
|
+
_chunkWCK5T3UDcjs.Select,
|
|
22811
22811
|
{
|
|
22812
22812
|
value: _nullishCoalesce(link.visibility, () => ( "external")),
|
|
22813
22813
|
onValueChange: (value) => updateLink(index, "visibility", value),
|
|
22814
22814
|
children: [
|
|
22815
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22816
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22817
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22815
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "w-[120px] shrink-0", "aria-label": "Social link visibility", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
22816
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: [
|
|
22817
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "external", children: "Public" }),
|
|
22818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "internal", children: "Internal" })
|
|
22819
22819
|
] })
|
|
22820
22820
|
]
|
|
22821
22821
|
}
|
|
@@ -23239,7 +23239,7 @@ function VideoBitesDisplay({
|
|
|
23239
23239
|
filterPublished = true,
|
|
23240
23240
|
showTitle = true
|
|
23241
23241
|
}) {
|
|
23242
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23242
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23243
23243
|
}
|
|
23244
23244
|
|
|
23245
23245
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23268,7 +23268,7 @@ function WalkthroughVideo({
|
|
|
23268
23268
|
onOpenChange,
|
|
23269
23269
|
defaultOpen,
|
|
23270
23270
|
defaultOpenPaused,
|
|
23271
|
-
deepLinkParam =
|
|
23271
|
+
deepLinkParam = _chunkDGY5KEPYcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
23272
23272
|
autoPlayCard = false,
|
|
23273
23273
|
label = "Play Demo Video",
|
|
23274
23274
|
placement,
|
|
@@ -23285,7 +23285,7 @@ function WalkthroughVideo({
|
|
|
23285
23285
|
const inline = placement === "inline";
|
|
23286
23286
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
23287
23287
|
const dismissEnabled = dismissal !== false;
|
|
23288
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
23288
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkDGY5KEPYcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
23289
23289
|
const dismissalId = _optionalChain([video, 'optionalAccess', _466 => _466.id]) != null ? String(video.id) : "dismissed";
|
|
23290
23290
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
23291
23291
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -23297,7 +23297,7 @@ function WalkthroughVideo({
|
|
|
23297
23297
|
let delayElapsed = false;
|
|
23298
23298
|
let interacted = inline;
|
|
23299
23299
|
const reveal = () => {
|
|
23300
|
-
if (dismissEnabled &&
|
|
23300
|
+
if (dismissEnabled && _chunkDGY5KEPYcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
23301
23301
|
setDismissed(true);
|
|
23302
23302
|
return;
|
|
23303
23303
|
}
|
|
@@ -23334,7 +23334,7 @@ function WalkthroughVideo({
|
|
|
23334
23334
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23335
23335
|
};
|
|
23336
23336
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
23337
|
-
const hydrated =
|
|
23337
|
+
const hydrated = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
23338
23338
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23339
23339
|
if (!hydrated) return false;
|
|
23340
23340
|
try {
|
|
@@ -23584,7 +23584,7 @@ function WalkthroughVideo({
|
|
|
23584
23584
|
(e) => {
|
|
23585
23585
|
e.stopPropagation();
|
|
23586
23586
|
pausePreviewNow();
|
|
23587
|
-
if (dismissEnabled)
|
|
23587
|
+
if (dismissEnabled) _chunkDGY5KEPYcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
23588
23588
|
setDismissed(true);
|
|
23589
23589
|
},
|
|
23590
23590
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -23759,7 +23759,7 @@ function WalkthroughVideo({
|
|
|
23759
23759
|
`card-${embedUrlKey}`
|
|
23760
23760
|
) }),
|
|
23761
23761
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23762
|
-
|
|
23762
|
+
_chunkEV6BPF47cjs.CardHitLayer,
|
|
23763
23763
|
{
|
|
23764
23764
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
23765
23765
|
onPointerDown: pausePreviewNow,
|
|
@@ -23768,7 +23768,7 @@ function WalkthroughVideo({
|
|
|
23768
23768
|
}
|
|
23769
23769
|
),
|
|
23770
23770
|
/* @__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: [
|
|
23771
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23771
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUSUVHAQ7cjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
23772
23772
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
23773
23773
|
] }),
|
|
23774
23774
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23931,7 +23931,7 @@ function useWalkthroughVideo(opts) {
|
|
|
23931
23931
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
23932
23932
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
23933
23933
|
const enabled = enabledGiven && !inScope;
|
|
23934
|
-
const captions =
|
|
23934
|
+
const captions = _chunkEV6BPF47cjs.useCaptions.call(void 0, );
|
|
23935
23935
|
const query = _reactquery.useQuery.call(void 0, {
|
|
23936
23936
|
queryKey: ["walkthrough-video", endpoint],
|
|
23937
23937
|
enabled,
|
|
@@ -24585,19 +24585,19 @@ function HighlightVideoSection({
|
|
|
24585
24585
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 rounded-lg border border-ods-border bg-ods-card p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
24586
24586
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { children: "Target Duration" }),
|
|
24587
24587
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24588
|
-
|
|
24588
|
+
_chunkWCK5T3UDcjs.Select,
|
|
24589
24589
|
{
|
|
24590
24590
|
value: targetDurationSeconds.toString(),
|
|
24591
24591
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
24592
24592
|
disabled,
|
|
24593
24593
|
children: [
|
|
24594
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24595
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24596
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24598
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24599
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24600
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24594
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "mt-1 bg-ods-bg-surface", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
24595
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
24596
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "60", children: "1 minute" }),
|
|
24597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "120", children: "2 minutes" }),
|
|
24598
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
|
|
24599
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "240", children: "4 minutes" }),
|
|
24600
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "300", children: "5 minutes" })
|
|
24601
24601
|
] })
|
|
24602
24602
|
]
|
|
24603
24603
|
}
|
|
@@ -24682,20 +24682,20 @@ function HighlightConfigSection({
|
|
|
24682
24682
|
disabled = false,
|
|
24683
24683
|
className = ""
|
|
24684
24684
|
}) {
|
|
24685
|
-
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,
|
|
24686
|
-
|
|
24685
|
+
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, _chunkDGY5KEPYcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24686
|
+
_chunkWCK5T3UDcjs.Select,
|
|
24687
24687
|
{
|
|
24688
24688
|
value: targetDurationSeconds.toString(),
|
|
24689
24689
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
24690
24690
|
disabled,
|
|
24691
24691
|
children: [
|
|
24692
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24693
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24695
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24696
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24697
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24698
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { id: f.id, className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
24693
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
24694
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "60", children: "1 minute" }),
|
|
24695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "120", children: "2 minutes" }),
|
|
24696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
|
|
24697
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "240", children: "4 minutes" }),
|
|
24698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: "300", children: "5 minutes" })
|
|
24699
24699
|
] })
|
|
24700
24700
|
]
|
|
24701
24701
|
}
|
|
@@ -24783,7 +24783,7 @@ var AIStatusIndicator = ({
|
|
|
24783
24783
|
}) => {
|
|
24784
24784
|
const config = statusConfig[status];
|
|
24785
24785
|
const displayText = message || config.label;
|
|
24786
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
24786
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
24787
24787
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
24788
24788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24789
24789
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -24791,7 +24791,7 @@ var AIStatusIndicator = ({
|
|
|
24791
24791
|
size: 16,
|
|
24792
24792
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24793
24793
|
status === "loading" && _chunk3TOWCFIKcjs.LIVE_PULSE_CLASS,
|
|
24794
|
-
confidence !== void 0 && status === "success" ?
|
|
24794
|
+
confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
24795
24795
|
)
|
|
24796
24796
|
}
|
|
24797
24797
|
),
|
|
@@ -24800,7 +24800,7 @@ var AIStatusIndicator = ({
|
|
|
24800
24800
|
{
|
|
24801
24801
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24802
24802
|
"text-h6",
|
|
24803
|
-
confidence !== void 0 && status === "success" ?
|
|
24803
|
+
confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
24804
24804
|
),
|
|
24805
24805
|
children: displayText
|
|
24806
24806
|
}
|
|
@@ -24810,8 +24810,8 @@ var AIStatusIndicator = ({
|
|
|
24810
24810
|
{
|
|
24811
24811
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24812
24812
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
24813
|
-
|
|
24814
|
-
|
|
24813
|
+
_chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
24814
|
+
_chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
24815
24815
|
),
|
|
24816
24816
|
children: confidenceLabel
|
|
24817
24817
|
}
|
|
@@ -25387,7 +25387,7 @@ function ApprovalLevelView({
|
|
|
25387
25387
|
] });
|
|
25388
25388
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
|
|
25389
25389
|
name,
|
|
25390
|
-
showLabel ? icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25390
|
+
showLabel ? icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.TouchFriendlyTooltip, { content: `${current.label}: ${current.hint}`, side: "top", children: icon })
|
|
25391
25391
|
] });
|
|
25392
25392
|
}
|
|
25393
25393
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, EDITABLE_ROW_CLASS, className), children: [
|
|
@@ -25432,7 +25432,7 @@ function ApprovalLevelView({
|
|
|
25432
25432
|
] });
|
|
25433
25433
|
}
|
|
25434
25434
|
function ApprovalLevelSkeleton({ editable = false, showLabel = true, className }) {
|
|
25435
|
-
const name = showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: LEVEL_NAME_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25435
|
+
const name = showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: LEVEL_NAME_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.TextHold, { children: LONGEST_LEVEL_LABEL }) }) : null;
|
|
25436
25436
|
if (!editable) {
|
|
25437
25437
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
|
|
25438
25438
|
name,
|
|
@@ -25534,7 +25534,7 @@ var CategorySection = ({
|
|
|
25534
25534
|
}) => {
|
|
25535
25535
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingGiven;
|
|
25536
25536
|
const isExpanded = isExpandedProp && !loading;
|
|
25537
|
-
const { innerRef, containerStyle } =
|
|
25537
|
+
const { innerRef, containerStyle } = _chunk6LDL3UZEcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25538
25538
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25539
25539
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25540
25540
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25691,7 +25691,7 @@ function OpenPolicyButton({ href, name }) {
|
|
|
25691
25691
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25692
25692
|
_chunkFCZAUK4Dcjs.Button,
|
|
25693
25693
|
{
|
|
25694
|
-
onClick: loading ? void 0 :
|
|
25694
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
25695
25695
|
disabled: loading,
|
|
25696
25696
|
variant: "outline",
|
|
25697
25697
|
size: "icon",
|
|
@@ -25730,8 +25730,8 @@ function PoliciesTable({
|
|
|
25730
25730
|
accessorKey: "name",
|
|
25731
25731
|
header: "Name",
|
|
25732
25732
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] min-w-0 flex-col justify-center gap-1 py-2", children: [
|
|
25733
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25734
|
-
row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: row.original.name }),
|
|
25734
|
+
row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.description })
|
|
25735
25735
|
] }),
|
|
25736
25736
|
meta: { width: "flex-1 min-w-0" }
|
|
25737
25737
|
},
|
|
@@ -25763,7 +25763,7 @@ function PoliciesTable({
|
|
|
25763
25763
|
cell: ({ row }) => {
|
|
25764
25764
|
const { status } = row.original;
|
|
25765
25765
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-1", children: [
|
|
25766
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25766
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { className: "self-start", label: status.label, variant: status.variant }),
|
|
25767
25767
|
status.note && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `text-h6 ${NOTE_TONE_CLASS[status.note.tone]}`, children: status.note.text })
|
|
25768
25768
|
] });
|
|
25769
25769
|
},
|
|
@@ -25873,7 +25873,7 @@ function PolicySummaryCards({ summary, isLoading = false, hasData = true, now })
|
|
|
25873
25873
|
DashboardInfoCard,
|
|
25874
25874
|
{
|
|
25875
25875
|
title: "Updated",
|
|
25876
|
-
value: hasData && summary.lastUpdatedAt ?
|
|
25876
|
+
value: hasData && summary.lastUpdatedAt ? _chunk6LDL3UZEcjs.formatRelativeTimeFrom.call(void 0, summary.lastUpdatedAt, _nullishCoalesce(now, () => ( /* @__PURE__ */ new Date()))) : EMPTY_VALUE,
|
|
25877
25877
|
valueClassName: "!text-h3",
|
|
25878
25878
|
tooltip: "Policy compliance stats are updated hourly. View a policy's devices for real-time status."
|
|
25879
25879
|
}
|
|
@@ -25989,7 +25989,7 @@ function toValidInstant(iso) {
|
|
|
25989
25989
|
function formatLastRead(iso, now = /* @__PURE__ */ new Date()) {
|
|
25990
25990
|
const date = toValidInstant(iso);
|
|
25991
25991
|
if (!date) return TENANT_EMPTY_VALUE;
|
|
25992
|
-
return now.getTime() - date.getTime() < DAY_MS ?
|
|
25992
|
+
return now.getTime() - date.getTime() < DAY_MS ? _chunk6LDL3UZEcjs.formatRelativeTimeFrom.call(void 0, date, now) : _chunkJ2IXYCEHcjs.formatDate.call(void 0, date);
|
|
25993
25993
|
}
|
|
25994
25994
|
function usersCountLabel(count) {
|
|
25995
25995
|
if (count == null) return TENANT_EMPTY_VALUE;
|
|
@@ -26001,8 +26001,8 @@ function usersCountLabel(count) {
|
|
|
26001
26001
|
function TenantAccessCell({ accessState, lastReadAt: lastReadAt2, now }) {
|
|
26002
26002
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
26003
26003
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26004
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26005
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26004
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { ...accessStateTag(accessState), loading, className: "self-start" }),
|
|
26005
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", loading, children: `Last read: ${formatLastRead(lastReadAt2, now)}` })
|
|
26006
26006
|
] });
|
|
26007
26007
|
}
|
|
26008
26008
|
|
|
@@ -26014,9 +26014,9 @@ function TenantCell({ provider, name, domain }) {
|
|
|
26014
26014
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26015
26015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26016
26016
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.MediaSkeleton.Icon, { size: "md", className: "shrink-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Logo, { size: 24, role: "img", "aria-label": label, className: "shrink-0" }),
|
|
26017
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26017
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name })
|
|
26018
26018
|
] }),
|
|
26019
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26019
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", loading, children: _nullishCoalesce(domain, () => ( TENANT_EMPTY_VALUE)) })
|
|
26020
26020
|
] });
|
|
26021
26021
|
}
|
|
26022
26022
|
|
|
@@ -26026,10 +26026,10 @@ function TenantCustomerCell({ name, imageUrl, userCount }) {
|
|
|
26026
26026
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
26027
26027
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26028
26028
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26030
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { src: _nullishCoalesce(imageUrl, () => ( void 0)), alt: name, fallback: name, size: "xs", variant: "square" }),
|
|
26030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name })
|
|
26031
26031
|
] }),
|
|
26032
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26032
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", loading, children: usersCountLabel(userCount) })
|
|
26033
26033
|
] });
|
|
26034
26034
|
}
|
|
26035
26035
|
|
|
@@ -26065,7 +26065,7 @@ function OpenTenantButton({ href, name }) {
|
|
|
26065
26065
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26066
26066
|
_chunkFCZAUK4Dcjs.Button,
|
|
26067
26067
|
{
|
|
26068
|
-
onClick: loading ? void 0 :
|
|
26068
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
26069
26069
|
disabled: loading,
|
|
26070
26070
|
variant: "outline",
|
|
26071
26071
|
size: "icon",
|
|
@@ -26197,13 +26197,13 @@ function WaitlistForm({
|
|
|
26197
26197
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26198
26198
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26199
26199
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26200
|
-
const { toast } =
|
|
26201
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26200
|
+
const { toast } = _chunkE7M54JWWcjs.useToast.call(void 0, );
|
|
26201
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkE7M54JWWcjs.useHumanitySignals.call(void 0, );
|
|
26202
26202
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26203
|
-
const isClient =
|
|
26203
|
+
const isClient = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
26204
26204
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26205
26205
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26206
|
-
const rescue =
|
|
26206
|
+
const rescue = _chunkE7M54JWWcjs.useFormRescue.call(void 0, {
|
|
26207
26207
|
form: rescueForm,
|
|
26208
26208
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
26209
26209
|
fieldNames: ["email", "phone"],
|
|
@@ -26215,7 +26215,7 @@ function WaitlistForm({
|
|
|
26215
26215
|
_react.useEffect.call(void 0, () => {
|
|
26216
26216
|
rescue.track({ email, phone }, null);
|
|
26217
26217
|
}, [email, phone, rescue]);
|
|
26218
|
-
const isMailDomainGeneric =
|
|
26218
|
+
const isMailDomainGeneric = _chunkDGY5KEPYcjs.hasGenericEmailDomain.call(void 0, email);
|
|
26219
26219
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26220
26220
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
26221
26221
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -26249,7 +26249,7 @@ function WaitlistForm({
|
|
|
26249
26249
|
setShowConsentError(true);
|
|
26250
26250
|
return;
|
|
26251
26251
|
}
|
|
26252
|
-
const finalPhone = phone ?
|
|
26252
|
+
const finalPhone = phone ? _chunkDGY5KEPYcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
26253
26253
|
try {
|
|
26254
26254
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
26255
26255
|
rescue.complete();
|
|
@@ -26836,7 +26836,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26836
26836
|
}, [mobileBreakpoint]);
|
|
26837
26837
|
const panelRef = _react.useRef.call(void 0, null);
|
|
26838
26838
|
const available = useContainerExtent(resizable, isHorizontal, portalContainer);
|
|
26839
|
-
const { size, setSize, clampSize } =
|
|
26839
|
+
const { size, setSize, clampSize } = _chunkWI7EXAZTcjs.useResizablePanelSize.call(void 0, {
|
|
26840
26840
|
enabled: resizable,
|
|
26841
26841
|
minSize,
|
|
26842
26842
|
maxSize,
|
|
@@ -26856,7 +26856,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26856
26856
|
"data-state": open ? "open" : "closed",
|
|
26857
26857
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
26858
26858
|
"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",
|
|
26859
|
-
|
|
26859
|
+
_chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
|
|
26860
26860
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26861
26861
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26862
26862
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26899,7 +26899,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26899
26899
|
children: [
|
|
26900
26900
|
props["aria-label"] ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Title, { className: "sr-only", children: props["aria-label"] }) : null,
|
|
26901
26901
|
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26902
|
-
|
|
26902
|
+
_chunkEV6BPF47cjs.PanelResizeHandle,
|
|
26903
26903
|
{
|
|
26904
26904
|
variant: "inLayout",
|
|
26905
26905
|
side: resolvedSide,
|
|
@@ -26938,11 +26938,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26938
26938
|
}
|
|
26939
26939
|
);
|
|
26940
26940
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26941
|
-
var AppLayoutDrawerHeader =
|
|
26942
|
-
var AppLayoutDrawerTitle =
|
|
26943
|
-
var AppLayoutDrawerDescription =
|
|
26944
|
-
var AppLayoutDrawerBody =
|
|
26945
|
-
var AppLayoutDrawerFooter =
|
|
26941
|
+
var AppLayoutDrawerHeader = _chunkWI7EXAZTcjs.DrawerHeader;
|
|
26942
|
+
var AppLayoutDrawerTitle = _chunkWI7EXAZTcjs.DrawerTitle;
|
|
26943
|
+
var AppLayoutDrawerDescription = _chunkWI7EXAZTcjs.DrawerDescription;
|
|
26944
|
+
var AppLayoutDrawerBody = _chunkWI7EXAZTcjs.DrawerBody;
|
|
26945
|
+
var AppLayoutDrawerFooter = _chunkWI7EXAZTcjs.DrawerFooter;
|
|
26946
26946
|
|
|
26947
26947
|
// src/components/features/notifications/notification-tile.tsx
|
|
26948
26948
|
|
|
@@ -26961,7 +26961,7 @@ var typeColorByVariant = {
|
|
|
26961
26961
|
error: "text-ods-error"
|
|
26962
26962
|
};
|
|
26963
26963
|
var progressColorByVariant2 = {
|
|
26964
|
-
...
|
|
26964
|
+
..._chunkE7M54JWWcjs.progressColorByVariant,
|
|
26965
26965
|
default: "bg-ods-accent",
|
|
26966
26966
|
info: "bg-ods-accent"
|
|
26967
26967
|
};
|
|
@@ -27055,7 +27055,7 @@ function LoadedNotificationTile({
|
|
|
27055
27055
|
height: _chunkJQCQCE6Ucjs.IMAGE_FIXED_PX.icon,
|
|
27056
27056
|
unoptimized: true
|
|
27057
27057
|
}
|
|
27058
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27058
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkE7M54JWWcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27059
27059
|
type ? lockscreen ? (
|
|
27060
27060
|
// A phone names the sender in plain words and never cuts them.
|
|
27061
27061
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
|
|
@@ -27065,7 +27065,7 @@ function LoadedNotificationTile({
|
|
|
27065
27065
|
{
|
|
27066
27066
|
dateTime: createdAtIso,
|
|
27067
27067
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", lockscreen && "self-start"),
|
|
27068
|
-
children: _nullishCoalesce(timeLabel, () => (
|
|
27068
|
+
children: _nullishCoalesce(timeLabel, () => ( _chunk6LDL3UZEcjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
|
|
27069
27069
|
}
|
|
27070
27070
|
) : null,
|
|
27071
27071
|
!lockscreen && (isLive || onComplete) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TILE_CONTROL_BOX_CLASS, children: [
|
|
@@ -27233,7 +27233,7 @@ function NotificationDrawer({
|
|
|
27233
27233
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27234
27234
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27235
27235
|
/* @__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,
|
|
27236
|
-
|
|
27236
|
+
_chunkWI7EXAZTcjs.DrawerTitle,
|
|
27237
27237
|
{
|
|
27238
27238
|
hideClose: !showClose,
|
|
27239
27239
|
className: "truncate",
|
|
@@ -27296,8 +27296,8 @@ function NotificationDrawer({
|
|
|
27296
27296
|
}
|
|
27297
27297
|
) });
|
|
27298
27298
|
}
|
|
27299
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27300
|
-
|
|
27299
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27300
|
+
_chunkWI7EXAZTcjs.DrawerContent,
|
|
27301
27301
|
{
|
|
27302
27302
|
side: "right",
|
|
27303
27303
|
"aria-describedby": void 0,
|
|
@@ -27393,7 +27393,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
27393
27393
|
] });
|
|
27394
27394
|
}
|
|
27395
27395
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
27396
|
-
const { supported, permission, request } =
|
|
27396
|
+
const { supported, permission, request } = _chunkE7M54JWWcjs.useNotificationPermission.call(void 0, );
|
|
27397
27397
|
if (!supported) return null;
|
|
27398
27398
|
const blocked = permission === "denied";
|
|
27399
27399
|
const handleChange = async (value) => {
|
|
@@ -27458,7 +27458,7 @@ var ASSISTANT_CATEGORY = "MINGO";
|
|
|
27458
27458
|
function notificationCategoryIcon(category) {
|
|
27459
27459
|
const key = _optionalChain([category, 'optionalAccess', _558 => _558.toUpperCase, 'call', _559 => _559()]);
|
|
27460
27460
|
if (!key) return void 0;
|
|
27461
|
-
if (key === ASSISTANT_CATEGORY) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27461
|
+
if (key === ASSISTANT_CATEGORY) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.AgentMark, { agent: "mingo", className: "size-4", color: "currentColor" });
|
|
27462
27462
|
const icon = Object.prototype.hasOwnProperty.call(ICON_BY_CATEGORY, key) ? ICON_BY_CATEGORY[key] : void 0;
|
|
27463
27463
|
return icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJQCQCE6Ucjs.NamedIcon, { icon, size: 16 }) : void 0;
|
|
27464
27464
|
}
|
|
@@ -27593,13 +27593,13 @@ function getApprovalMeta(notification) {
|
|
|
27593
27593
|
function resolutionToStatus(resolution) {
|
|
27594
27594
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27595
27595
|
case "APPROVED":
|
|
27596
|
-
return
|
|
27596
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.APPROVED;
|
|
27597
27597
|
case "REJECTED":
|
|
27598
|
-
return
|
|
27598
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.REJECTED;
|
|
27599
27599
|
case "CANCELLED":
|
|
27600
|
-
return
|
|
27600
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.CANCELLED;
|
|
27601
27601
|
default:
|
|
27602
|
-
return
|
|
27602
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.PENDING;
|
|
27603
27603
|
}
|
|
27604
27604
|
}
|
|
27605
27605
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27644,7 +27644,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27644
27644
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _573 => _573.resolution]));
|
|
27645
27645
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27646
27646
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27647
|
-
const { innerRef, containerStyle } =
|
|
27647
|
+
const { innerRef, containerStyle } = _chunk6LDL3UZEcjs.useCollapsible.call(void 0, { expanded });
|
|
27648
27648
|
if (!approval || !batchData) return null;
|
|
27649
27649
|
const tileNotification = {
|
|
27650
27650
|
...notification,
|
|
@@ -27707,7 +27707,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27707
27707
|
}
|
|
27708
27708
|
)
|
|
27709
27709
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27710
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27710
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ApprovalStatusTag, { status }),
|
|
27711
27711
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27712
27712
|
"by ",
|
|
27713
27713
|
approval.resolvedByName
|
|
@@ -27725,12 +27725,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27725
27725
|
"aria-expanded": expanded,
|
|
27726
27726
|
"aria-label": toggleLabel,
|
|
27727
27727
|
className: APPROVAL_TOGGLE_BUTTON_CLASS,
|
|
27728
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27728
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ExpandChevron, { expanded })
|
|
27729
27729
|
}
|
|
27730
27730
|
)
|
|
27731
27731
|
] }),
|
|
27732
27732
|
children: !lockscreen && /* @__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,
|
|
27733
|
-
|
|
27733
|
+
_chunk6LDL3UZEcjs.ApprovalBatchMessage,
|
|
27734
27734
|
{
|
|
27735
27735
|
data: batchData,
|
|
27736
27736
|
showExecutionStatus: false,
|
|
@@ -27803,7 +27803,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
27803
27803
|
const { label, imageUrl } = option;
|
|
27804
27804
|
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: [
|
|
27805
27805
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
27806
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27806
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
27807
27807
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
27808
27808
|
] }),
|
|
27809
27809
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -27887,7 +27887,7 @@ function TimeTrackerPanel({
|
|
|
27887
27887
|
}));
|
|
27888
27888
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
27889
27889
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27890
|
-
|
|
27890
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
27891
27891
|
{
|
|
27892
27892
|
src: selectedCustomer.imageUrl,
|
|
27893
27893
|
alt: selectedCustomer.label,
|
|
@@ -27967,7 +27967,7 @@ function TimeTrackerPanel({
|
|
|
27967
27967
|
] }),
|
|
27968
27968
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "grid gap-[var(--spacing-system-m)]", showCustomer && "grid-cols-2"), children: [
|
|
27969
27969
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27970
|
-
|
|
27970
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
27971
27971
|
{
|
|
27972
27972
|
value: selectedTicketId,
|
|
27973
27973
|
onChange: onSelectedTicketChange,
|
|
@@ -27983,7 +27983,7 @@ function TimeTrackerPanel({
|
|
|
27983
27983
|
}
|
|
27984
27984
|
),
|
|
27985
27985
|
showCustomer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27986
|
-
|
|
27986
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
27987
27987
|
{
|
|
27988
27988
|
value: _nullishCoalesce(selectedCustomerId, () => ( null)),
|
|
27989
27989
|
onChange: onSelectedCustomerChange,
|
|
@@ -28066,7 +28066,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28066
28066
|
function StatusTag({ status }) {
|
|
28067
28067
|
if (status === "tracking") {
|
|
28068
28068
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28069
|
-
|
|
28069
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
28070
28070
|
{
|
|
28071
28071
|
variant: "success",
|
|
28072
28072
|
className: STATUS_TAG_SKIN,
|
|
@@ -28076,9 +28076,9 @@ function StatusTag({ status }) {
|
|
|
28076
28076
|
);
|
|
28077
28077
|
}
|
|
28078
28078
|
if (status === "paused") {
|
|
28079
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28079
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4D25RXYZcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
28080
28080
|
}
|
|
28081
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28081
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
28082
28082
|
}
|
|
28083
28083
|
function LastEntryRow({ entry, onClick }) {
|
|
28084
28084
|
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: [
|
|
@@ -28276,7 +28276,7 @@ function TimeTrackerHeaderButton({
|
|
|
28276
28276
|
"data-state": isOpen ? "open" : "closed",
|
|
28277
28277
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
28278
28278
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
28279
|
-
|
|
28279
|
+
_chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
|
|
28280
28280
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28281
28281
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28282
28282
|
)
|
|
@@ -28303,7 +28303,7 @@ function TimeTrackerHeaderButton({
|
|
|
28303
28303
|
|
|
28304
28304
|
// src/components/features/devices/device-last-online.ts
|
|
28305
28305
|
function formatLastOnline(lastSeen) {
|
|
28306
|
-
return `Last Online: ${lastSeen ?
|
|
28306
|
+
return `Last Online: ${lastSeen ? _chunk6LDL3UZEcjs.formatRelativeTime.call(void 0, lastSeen) : "\u2014"}`;
|
|
28307
28307
|
}
|
|
28308
28308
|
|
|
28309
28309
|
// src/components/features/devices/device-name.ts
|
|
@@ -28347,7 +28347,7 @@ var SELECTION_MODE_OPTIONS = [
|
|
|
28347
28347
|
label: "Select Devices by Criteria",
|
|
28348
28348
|
description: CRITERIA_MODE_DESCRIPTION,
|
|
28349
28349
|
disabled: true,
|
|
28350
|
-
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28350
|
+
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: "Coming Soon", variant: "grey" })
|
|
28351
28351
|
}
|
|
28352
28352
|
];
|
|
28353
28353
|
var SELECTION_MODE_OPTIONS_ENABLED = [
|
|
@@ -28452,7 +28452,7 @@ function getDeviceStatusConfig(status) {
|
|
|
28452
28452
|
}
|
|
28453
28453
|
}
|
|
28454
28454
|
function getDeviceOperatingSystem(osType) {
|
|
28455
|
-
return
|
|
28455
|
+
return _chunkDGY5KEPYcjs.getOSPlatformId.call(void 0, osType);
|
|
28456
28456
|
}
|
|
28457
28457
|
|
|
28458
28458
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -28627,8 +28627,8 @@ function DevicesFilterToolbar({
|
|
|
28627
28627
|
|
|
28628
28628
|
|
|
28629
28629
|
function formatDateTime(input) {
|
|
28630
|
-
const date =
|
|
28631
|
-
return date === "\u2014" ? date : `${date} ${
|
|
28630
|
+
const date = _chunkJ2IXYCEHcjs.formatDate.call(void 0, input);
|
|
28631
|
+
return date === "\u2014" ? date : `${date} ${_chunkJ2IXYCEHcjs.formatTime.call(void 0, input)}`;
|
|
28632
28632
|
}
|
|
28633
28633
|
function uniqueById(options) {
|
|
28634
28634
|
const seen = /* @__PURE__ */ new Map();
|
|
@@ -28652,7 +28652,7 @@ function OpenDeviceButton({ device }) {
|
|
|
28652
28652
|
const href = loading ? void 0 : _optionalChain([getDeviceHref, 'optionalCall', _602 => _602(device)]);
|
|
28653
28653
|
const open = (event) => {
|
|
28654
28654
|
event.preventDefault();
|
|
28655
|
-
if (href)
|
|
28655
|
+
if (href) _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href });
|
|
28656
28656
|
};
|
|
28657
28657
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28658
28658
|
_chunkFCZAUK4Dcjs.Button,
|
|
@@ -28746,13 +28746,13 @@ function DevicesTableBody({
|
|
|
28746
28746
|
function OrganizationCell({ device }) {
|
|
28747
28747
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
28748
28748
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
28749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28749
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.EntityImage, { src: fullImageUrl, alt: device.organization || "Customer", className: "size-12 content-md:size-12" }),
|
|
28750
28750
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OrganizationName, { name: device.organization }) })
|
|
28751
28751
|
] });
|
|
28752
28752
|
}
|
|
28753
28753
|
function OrganizationName({ name }) {
|
|
28754
28754
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) && !name) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h4", className: "w-3/4" });
|
|
28755
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28755
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, children: _nullishCoalesce(name, () => ( "")) });
|
|
28756
28756
|
}
|
|
28757
28757
|
function DeviceLastSeen({ lastSeen }) {
|
|
28758
28758
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) && !lastSeen) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "hidden w-24 content-md:block" });
|
|
@@ -28798,7 +28798,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
28798
28798
|
const device = row.original;
|
|
28799
28799
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative box-border flex h-20 w-full shrink-0 content-stretch items-center justify-start gap-4 py-0", children: [
|
|
28800
28800
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
28801
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28801
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: getDeviceName(device) }) })
|
|
28802
28802
|
] });
|
|
28803
28803
|
},
|
|
28804
28804
|
meta: { width: "flex-1 content-md:w-1/4" }
|
|
@@ -28811,7 +28811,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
28811
28811
|
const device = row.original;
|
|
28812
28812
|
const statusConfig2 = getDeviceStatusConfig(device.status);
|
|
28813
28813
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col items-start gap-1", children: [
|
|
28814
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28814
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: statusConfig2.label, variant: statusConfig2.variant }) }),
|
|
28815
28815
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceLastSeen, { lastSeen: device.last_seen })
|
|
28816
28816
|
] });
|
|
28817
28817
|
},
|
|
@@ -28864,7 +28864,7 @@ function useTagFilterModal({
|
|
|
28864
28864
|
setParams,
|
|
28865
28865
|
onApplied = scrollMainToTop
|
|
28866
28866
|
}) {
|
|
28867
|
-
const isMdUp =
|
|
28867
|
+
const isMdUp = _chunkCOWMXUHNcjs.useMdUp.call(void 0, );
|
|
28868
28868
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
28869
28869
|
const pendingFiltersRef = _react.useRef.call(void 0, {});
|
|
28870
28870
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -28970,7 +28970,7 @@ function CustomerCell({ device }) {
|
|
|
28970
28970
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
28971
28971
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
28972
28972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28973
|
-
|
|
28973
|
+
_chunkWCK5T3UDcjs.EntityImage,
|
|
28974
28974
|
{
|
|
28975
28975
|
src: fullImageUrl,
|
|
28976
28976
|
alt: device.organization || "Customer",
|
|
@@ -28978,8 +28978,8 @@ function CustomerCell({ device }) {
|
|
|
28978
28978
|
}
|
|
28979
28979
|
),
|
|
28980
28980
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
28981
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28982
|
-
(device.organizationEmail || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28981
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: device.organization || "" }),
|
|
28982
|
+
(device.organizationEmail || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(device.organizationEmail, () => ( "")) })
|
|
28983
28983
|
] })
|
|
28984
28984
|
] });
|
|
28985
28985
|
}
|
|
@@ -28988,15 +28988,15 @@ function DeviceCell({ device }) {
|
|
|
28988
28988
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 items-center gap-3", children: [
|
|
28989
28989
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
28990
28990
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
|
|
28991
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28992
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28991
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: getDeviceName(device) }),
|
|
28992
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", loading, children: formatLastOnline(device.last_seen || device.lastSeen) })
|
|
28993
28993
|
] })
|
|
28994
28994
|
] });
|
|
28995
28995
|
}
|
|
28996
28996
|
function StatusCell({ status }) {
|
|
28997
|
-
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28997
|
+
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { loading: true, label: "", className: "w-min" });
|
|
28998
28998
|
const config = getDeviceStatusConfig(status);
|
|
28999
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28999
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: config.label, variant: config.variant, className: "w-min" });
|
|
29000
29000
|
}
|
|
29001
29001
|
function InertInScope({ children }) {
|
|
29002
29002
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { loading: _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ), className: "contents", children });
|
|
@@ -29771,7 +29771,7 @@ function DevicesList({
|
|
|
29771
29771
|
const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
|
|
29772
29772
|
const narrowed = isNarrowed(narrowing);
|
|
29773
29773
|
const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
|
|
29774
|
-
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } =
|
|
29774
|
+
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE7M54JWWcjs.useStickyToolbar.call(void 0, );
|
|
29775
29775
|
const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
|
|
29776
29776
|
const actionsColumn = _react.useMemo.call(void 0, () => rowActions2 ? getDeviceActionsColumn(rowActions2) : void 0, [rowActions2]);
|
|
29777
29777
|
return (
|
|
@@ -29998,7 +29998,7 @@ function DevicesPanelView({
|
|
|
29998
29998
|
] })
|
|
29999
29999
|
] });
|
|
30000
30000
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30001
|
-
|
|
30001
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
30002
30002
|
{
|
|
30003
30003
|
title,
|
|
30004
30004
|
backButton,
|
|
@@ -30006,7 +30006,7 @@ function DevicesPanelView({
|
|
|
30006
30006
|
actionsVariant: "icon-buttons",
|
|
30007
30007
|
className,
|
|
30008
30008
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30009
|
-
|
|
30009
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
30010
30010
|
{
|
|
30011
30011
|
value: viewMode,
|
|
30012
30012
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _656 => _656(value)]),
|
|
@@ -30072,7 +30072,7 @@ var PACKAGE_SEARCH_LABEL = "Software Name";
|
|
|
30072
30072
|
var PACKAGE_SEARCH_PLACEHOLDER = "Search for Software";
|
|
30073
30073
|
function PackageSearchFieldPlaceholder({ error }) {
|
|
30074
30074
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30075
|
-
|
|
30075
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
30076
30076
|
{
|
|
30077
30077
|
label: PACKAGE_SEARCH_LABEL,
|
|
30078
30078
|
labelVariant: "large",
|
|
@@ -30127,16 +30127,16 @@ function SoftwareScheduleFields({
|
|
|
30127
30127
|
] }),
|
|
30128
30128
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30129
30129
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Time" }),
|
|
30130
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30131
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30132
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30130
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: time, onValueChange: onTimeChange, children: [
|
|
30131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "Select time" }) }),
|
|
30132
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
30133
30133
|
] })
|
|
30134
30134
|
] }),
|
|
30135
30135
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30136
30136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Timezone" }),
|
|
30137
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30139
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30137
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: timeReference, onValueChange: (value) => onTimeReferenceChange(value), children: [
|
|
30138
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
30139
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: timing.timeReferenceOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
30140
30140
|
] })
|
|
30141
30141
|
] })
|
|
30142
30142
|
]
|
|
@@ -30202,22 +30202,22 @@ function newSoftwareRow(key) {
|
|
|
30202
30202
|
|
|
30203
30203
|
function InfoCell2({ value, label }) {
|
|
30204
30204
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
30205
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30205
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: value }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary", children: "\u2014" }) }) }),
|
|
30206
30206
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: label })
|
|
30207
30207
|
] });
|
|
30208
30208
|
}
|
|
30209
30209
|
function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSearch }) {
|
|
30210
30210
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-l)] content-lg:flex-row content-lg:items-end", children: [
|
|
30211
30211
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30212
|
-
|
|
30212
|
+
_chunkWCK5T3UDcjs.Select,
|
|
30213
30213
|
{
|
|
30214
30214
|
value: row.packageManager,
|
|
30215
30215
|
onValueChange: (value) => onChange({ ...row, packageManager: value, pkg: null }),
|
|
30216
30216
|
children: [
|
|
30217
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30218
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30217
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { label: "Package Manager", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
30218
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: PACKAGE_MANAGERS.map((manager) => {
|
|
30219
30219
|
const Icon = PACKAGE_MANAGER_ICON[manager];
|
|
30220
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30220
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: manager, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
30221
30221
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 20, className: "shrink-0 text-ods-text-secondary" }),
|
|
30222
30222
|
PACKAGE_MANAGER_LABEL[manager]
|
|
30223
30223
|
] }) }, manager);
|
|
@@ -30303,9 +30303,9 @@ function SecondsSelect({
|
|
|
30303
30303
|
}) {
|
|
30304
30304
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30305
30305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: label }),
|
|
30306
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30307
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30308
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30306
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: String(value), onValueChange: (next) => onChange(Number(next)), children: [
|
|
30307
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { "aria-label": label, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
30308
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: String(option.seconds), children: option.label }, option.seconds)) })
|
|
30309
30309
|
] })
|
|
30310
30310
|
] });
|
|
30311
30311
|
}
|
|
@@ -30511,7 +30511,7 @@ function SoftwareActionForm({
|
|
|
30511
30511
|
}
|
|
30512
30512
|
);
|
|
30513
30513
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30514
|
-
|
|
30514
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
30515
30515
|
{
|
|
30516
30516
|
title: copy.formTitle,
|
|
30517
30517
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -30593,7 +30593,7 @@ function LogDrawer({
|
|
|
30593
30593
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AppLayoutDrawerHeader, { children: [
|
|
30594
30594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerTitle, { children: "Log Details" }),
|
|
30595
30595
|
(statusTag || timestamp) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
30596
|
-
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30596
|
+
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: statusTag.label, variant: statusTag.variant }),
|
|
30597
30597
|
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: timestamp })
|
|
30598
30598
|
] })
|
|
30599
30599
|
] }),
|
|
@@ -30601,7 +30601,7 @@ function LogDrawer({
|
|
|
30601
30601
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 space-y-4 overflow-y-auto", children: [
|
|
30602
30602
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerDescription, { asChild: true, className: "leading-6 text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: description }) }),
|
|
30603
30603
|
infoFields && infoFields.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-3 rounded-[6px] border border-ods-border bg-ods-card p-4", children: infoFields.map((field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-0.5", children: [
|
|
30604
|
-
typeof field.value === "string" ? field.value === "" || field.value === EMPTY_MARK ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30604
|
+
typeof field.value === "string" ? field.value === "" || field.value === EMPTY_MARK ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: field.value }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: field.value === null || field.value === void 0 || field.value === false ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) : field.value }),
|
|
30605
30605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: field.label })
|
|
30606
30606
|
] }, typeof field.label === "string" ? field.label : "")) }),
|
|
30607
30607
|
children
|
|
@@ -30649,7 +30649,7 @@ function LogsPageView({
|
|
|
30649
30649
|
],
|
|
30650
30650
|
[onRefresh]
|
|
30651
30651
|
);
|
|
30652
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30652
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.PageLayout, { title: "Logs", actions, showHeader, className, children: [
|
|
30653
30653
|
!hideSearch && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-0 z-20 -my-[var(--spacing-system-l)] flex items-center gap-[var(--spacing-system-m)] bg-ods-bg py-[var(--spacing-system-l)]", children: [
|
|
30654
30654
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30655
30655
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -30738,11 +30738,11 @@ var ToolBadge = ({
|
|
|
30738
30738
|
iconClassName
|
|
30739
30739
|
}) => {
|
|
30740
30740
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30741
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
30741
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkDGY5KEPYcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
30742
30742
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBUEEQD3Gcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
30743
30743
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
30744
30744
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30745
|
-
|
|
30745
|
+
_chunkEV6BPF47cjs.NavLinkAnchorViaRuntime,
|
|
30746
30746
|
{
|
|
30747
30747
|
href,
|
|
30748
30748
|
targetPlatform,
|
|
@@ -30807,8 +30807,8 @@ function LogSourceCell({ device }) {
|
|
|
30807
30807
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30808
30808
|
const { deviceName, organization } = logSourceLabels(device);
|
|
30809
30809
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] flex-col justify-center gap-1 py-2", children: [
|
|
30810
|
-
(deviceName || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30811
|
-
(organization || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30810
|
+
(deviceName || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: deviceName }),
|
|
30811
|
+
(organization || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(organization, () => ( "")) })
|
|
30812
30812
|
] });
|
|
30813
30813
|
}
|
|
30814
30814
|
function LogRowButton({
|
|
@@ -30863,8 +30863,8 @@ function LogsTableView({
|
|
|
30863
30863
|
accessorKey: "logId",
|
|
30864
30864
|
header: logIdHeader ? () => logIdHeader : "Log ID",
|
|
30865
30865
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col justify-center", children: [
|
|
30866
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30867
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30866
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: row.original.timestamp }),
|
|
30867
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.logId })
|
|
30868
30868
|
] }),
|
|
30869
30869
|
enableSorting: false,
|
|
30870
30870
|
meta: { width: LOG_COLUMN_WIDTHS.logId, alwaysShowHeader: true }
|
|
@@ -30872,7 +30872,7 @@ function LogsTableView({
|
|
|
30872
30872
|
{
|
|
30873
30873
|
accessorKey: "status",
|
|
30874
30874
|
header: "Status",
|
|
30875
|
-
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30875
|
+
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: row.original.status.label, variant: row.original.status.variant }) }),
|
|
30876
30876
|
enableSorting: false,
|
|
30877
30877
|
filterFn: multiSelect,
|
|
30878
30878
|
meta: {
|
|
@@ -30892,7 +30892,7 @@ function LogsTableView({
|
|
|
30892
30892
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30893
30893
|
ToolBadge,
|
|
30894
30894
|
{
|
|
30895
|
-
toolType:
|
|
30895
|
+
toolType: _chunkDGY5KEPYcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
30896
30896
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
30897
30897
|
}
|
|
30898
30898
|
),
|
|
@@ -30904,7 +30904,7 @@ function LogsTableView({
|
|
|
30904
30904
|
filter: {
|
|
30905
30905
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _664 => _664.toolTypes, 'access', _665 => _665.map, 'call', _666 => _666((toolType) => ({
|
|
30906
30906
|
id: toolType,
|
|
30907
|
-
label:
|
|
30907
|
+
label: _chunkDGY5KEPYcjs.toToolLabel.call(void 0, toolType),
|
|
30908
30908
|
value: toolType
|
|
30909
30909
|
}))]), () => ( []))
|
|
30910
30910
|
}
|
|
@@ -30925,7 +30925,7 @@ function LogsTableView({
|
|
|
30925
30925
|
{
|
|
30926
30926
|
accessorKey: "description",
|
|
30927
30927
|
header: "Log Details",
|
|
30928
|
-
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30928
|
+
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 3, className: "text-ods-text-secondary text-h6", children: row.original.description.title }),
|
|
30929
30929
|
enableSorting: false,
|
|
30930
30930
|
meta: { width: LOG_COLUMN_WIDTHS.description, hideAt: "lg" }
|
|
30931
30931
|
},
|
|
@@ -30953,7 +30953,7 @@ function LogsTableView({
|
|
|
30953
30953
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30954
30954
|
LogRowButton,
|
|
30955
30955
|
{
|
|
30956
|
-
onClick: getLogHref ?
|
|
30956
|
+
onClick: getLogHref ? _chunkDGY5KEPYcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
30957
30957
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
30958
30958
|
label: "Open in new tab"
|
|
30959
30959
|
}
|
|
@@ -31116,30 +31116,30 @@ function scriptExecutionStatus(status) {
|
|
|
31116
31116
|
|
|
31117
31117
|
function ExecutionSourceBadge({ source, className }) {
|
|
31118
31118
|
const tagProps = { as: "span", variant: "outline", className: _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0", className) };
|
|
31119
|
-
if (source === "SCHEDULED") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31119
|
+
if (source === "SCHEDULED") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { ...tagProps, label: "Scheduled" });
|
|
31120
31120
|
if (source === "AI_ASSISTANT") {
|
|
31121
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31121
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { ...tagProps, label: "Mingo", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.AgentMark, { agent: "mingo", className: "size-4" }) });
|
|
31122
31122
|
}
|
|
31123
31123
|
return null;
|
|
31124
31124
|
}
|
|
31125
31125
|
function ExecutionTimestampCell({ timestamp, executionId }) {
|
|
31126
31126
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31127
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31128
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31127
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: timestamp }),
|
|
31128
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: executionId })
|
|
31129
31129
|
] });
|
|
31130
31130
|
}
|
|
31131
31131
|
function ExecutionStatusCell({ status }) {
|
|
31132
31132
|
const presentation = scriptExecutionStatus(status);
|
|
31133
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31133
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _679 => _679.label]), () => ( String(_nullishCoalesce(status, () => ( ""))))), variant: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _680 => _680.variant]), () => ( "grey")) }) });
|
|
31134
31134
|
}
|
|
31135
31135
|
function ExecutionDeviceCell({ name, organization }) {
|
|
31136
31136
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
31137
31137
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31138
31138
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-1", children: [
|
|
31139
31139
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
31140
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31140
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name }) : name })
|
|
31141
31141
|
] }),
|
|
31142
|
-
(organization || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31142
|
+
(organization || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(organization, () => ( "")) })
|
|
31143
31143
|
] });
|
|
31144
31144
|
}
|
|
31145
31145
|
function ExecutionInitiatorCell({
|
|
@@ -31152,16 +31152,16 @@ function ExecutionInitiatorCell({
|
|
|
31152
31152
|
avatar,
|
|
31153
31153
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
31154
31154
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
31155
|
-
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31155
|
+
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name }) : name,
|
|
31156
31156
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExecutionSourceBadge, { source })
|
|
31157
31157
|
] }),
|
|
31158
|
-
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31158
|
+
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: scriptName })
|
|
31159
31159
|
] })
|
|
31160
31160
|
] });
|
|
31161
31161
|
}
|
|
31162
31162
|
function ExecutionResultCell({ result, empty = null }) {
|
|
31163
31163
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
31164
|
-
return result || loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31164
|
+
return result || loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, children: _nullishCoalesce(result, () => ( "")) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: empty });
|
|
31165
31165
|
}
|
|
31166
31166
|
function ScriptExecutionResult({
|
|
31167
31167
|
result,
|
|
@@ -31181,14 +31181,14 @@ function ScriptExecutionResult({
|
|
|
31181
31181
|
|
|
31182
31182
|
function ScriptNameCell({ name, description }) {
|
|
31183
31183
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31184
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31185
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name }),
|
|
31185
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: description })
|
|
31186
31186
|
] });
|
|
31187
31187
|
}
|
|
31188
31188
|
function ScheduleDateTimeCell({ date, time }) {
|
|
31189
31189
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31190
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: date }),
|
|
31191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: time })
|
|
31192
31192
|
] });
|
|
31193
31193
|
}
|
|
31194
31194
|
|
|
@@ -31275,7 +31275,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31275
31275
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31276
31276
|
_chunkFCZAUK4Dcjs.Button,
|
|
31277
31277
|
{
|
|
31278
|
-
onClick: loading ? void 0 :
|
|
31278
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
31279
31279
|
disabled: loading,
|
|
31280
31280
|
variant: "outline",
|
|
31281
31281
|
size: "icon",
|
|
@@ -31319,7 +31319,7 @@ function ScriptExecutionsTable({
|
|
|
31319
31319
|
ExecutionInitiatorCell,
|
|
31320
31320
|
{
|
|
31321
31321
|
avatar: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31322
|
-
|
|
31322
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
31323
31323
|
{
|
|
31324
31324
|
variant: "round",
|
|
31325
31325
|
size: "md",
|
|
@@ -31418,7 +31418,7 @@ function ScriptSchedulesTable({
|
|
|
31418
31418
|
cell(SCHEDULE_COLUMNS.supportedPlatforms, (row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OSTypeBadgeGroup, { osTypes: row.supportedPlatforms, iconSize: "w-4 h-4 content-md:w-6 content-md:h-6" })),
|
|
31419
31419
|
cell(
|
|
31420
31420
|
SCHEDULE_COLUMNS.dateTime,
|
|
31421
|
-
(row) => row.startsAt ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScheduleDateTimeCell, { date: row.startsAt.date, time: row.startsAt.time }) : row.trigger ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31421
|
+
(row) => row.startsAt ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScheduleDateTimeCell, { date: row.startsAt.date, time: row.startsAt.time }) : row.trigger ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { tone: "secondary", children: row.trigger }) : null
|
|
31422
31422
|
),
|
|
31423
31423
|
cell(
|
|
31424
31424
|
SCHEDULE_COLUMNS.repeat,
|
|
@@ -31464,9 +31464,9 @@ function ScriptSchedulesTable({
|
|
|
31464
31464
|
|
|
31465
31465
|
// src/components/features/scripts/shell-types.ts
|
|
31466
31466
|
var SCRIPT_SHELL_TYPES = [
|
|
31467
|
-
{ id:
|
|
31468
|
-
{ id:
|
|
31469
|
-
{ id:
|
|
31467
|
+
{ id: _chunkDGY5KEPYcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
31468
|
+
{ id: _chunkDGY5KEPYcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
31469
|
+
{ id: _chunkDGY5KEPYcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
31470
31470
|
];
|
|
31471
31471
|
function scriptShellType(value) {
|
|
31472
31472
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -31532,7 +31532,7 @@ function ScriptsTable({
|
|
|
31532
31532
|
SCRIPT_COLUMNS.authorId,
|
|
31533
31533
|
(row) => row.author ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
31534
31534
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31535
|
-
|
|
31535
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
31536
31536
|
{
|
|
31537
31537
|
variant: "round",
|
|
31538
31538
|
size: "sm",
|
|
@@ -31542,7 +31542,7 @@ function ScriptsTable({
|
|
|
31542
31542
|
initialsClassName: "text-ods-text-secondary"
|
|
31543
31543
|
}
|
|
31544
31544
|
),
|
|
31545
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: row.author.name }) })
|
|
31546
31546
|
] }) : null
|
|
31547
31547
|
)
|
|
31548
31548
|
];
|
|
@@ -31668,7 +31668,7 @@ function slotValue(minutesOfDay) {
|
|
|
31668
31668
|
return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`;
|
|
31669
31669
|
}
|
|
31670
31670
|
function slotLabel(minutesOfDay) {
|
|
31671
|
-
return
|
|
31671
|
+
return _chunkJ2IXYCEHcjs.formatTime.call(void 0, new Date(1970, 0, 1, Math.floor(minutesOfDay / 60), minutesOfDay % 60));
|
|
31672
31672
|
}
|
|
31673
31673
|
function getTimeSlotOptions(forDate, timeReference) {
|
|
31674
31674
|
const base = slotBaseMinutes(timeReference);
|
|
@@ -31890,7 +31890,7 @@ function ReconnectWindowFields({
|
|
|
31890
31890
|
}
|
|
31891
31891
|
),
|
|
31892
31892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31893
|
-
|
|
31893
|
+
_chunkWCK5T3UDcjs.Select,
|
|
31894
31894
|
{
|
|
31895
31895
|
value: unit,
|
|
31896
31896
|
onValueChange: (value) => {
|
|
@@ -31899,8 +31899,8 @@ function ReconnectWindowFields({
|
|
|
31899
31899
|
},
|
|
31900
31900
|
disabled,
|
|
31901
31901
|
children: [
|
|
31902
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31903
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31902
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: controlWidth, "aria-label": "Stop retry after unit", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
31903
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: DURATION_UNIT_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
31904
31904
|
]
|
|
31905
31905
|
}
|
|
31906
31906
|
)
|
|
@@ -31970,7 +31970,7 @@ function ScheduleOfflineFields({ showErrors, disabled = false }) {
|
|
|
31970
31970
|
options
|
|
31971
31971
|
}
|
|
31972
31972
|
),
|
|
31973
|
-
intervalError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-0 left-0 right-0 translate-y-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31973
|
+
intervalError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-0 left-0 right-0 translate-y-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", className: "text-ods-error", children: intervalError }) })
|
|
31974
31974
|
]
|
|
31975
31975
|
}
|
|
31976
31976
|
) }) })
|
|
@@ -32046,7 +32046,7 @@ function useSortableListContext() {
|
|
|
32046
32046
|
}
|
|
32047
32047
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
32048
32048
|
const listRef = _react.useRef.call(void 0, null);
|
|
32049
|
-
const dragAndDropEnabled =
|
|
32049
|
+
const dragAndDropEnabled = _chunkIUDBG3HJcjs.useDragAndDropEnabled.call(void 0, );
|
|
32050
32050
|
const dragType = _react.useId.call(void 0, );
|
|
32051
32051
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
32052
32052
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -32079,8 +32079,8 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32079
32079
|
// Dragging towards the edge of the screen — or past it — scrolls whatever
|
|
32080
32080
|
// actually scrolls there: the page, the layout's `<main>`, or the list
|
|
32081
32081
|
// itself when it has its own overflow.
|
|
32082
|
-
|
|
32083
|
-
|
|
32082
|
+
_chunk744JXTDPcjs.autoScrollAncestors.call(void 0, list),
|
|
32083
|
+
_chunk744JXTDPcjs.autoScrollBothWays.call(void 0, list),
|
|
32084
32084
|
// One target for the whole list: which slot a drop lands in is answered by
|
|
32085
32085
|
// geometry, so this only has to say "inside the list, or outside it".
|
|
32086
32086
|
_adapter.dropTargetForElements.call(void 0, {
|
|
@@ -32378,7 +32378,7 @@ function useSortableItem() {
|
|
|
32378
32378
|
return _combine.combine.call(void 0,
|
|
32379
32379
|
// The drag has to start as a "move", or its first frame is drawn with the
|
|
32380
32380
|
// copy cursor — see `drag-effect.ts`.
|
|
32381
|
-
|
|
32381
|
+
_chunk744JXTDPcjs.holdMoveDragEffect.call(void 0, item),
|
|
32382
32382
|
_adapter.draggable.call(void 0, {
|
|
32383
32383
|
element: item,
|
|
32384
32384
|
dragHandle: handle,
|
|
@@ -32425,7 +32425,7 @@ function ScheduleScriptPickerCard({
|
|
|
32425
32425
|
const selected = watch(`scripts.${index}`);
|
|
32426
32426
|
const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _707 => _707.scriptId]);
|
|
32427
32427
|
const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
|
|
32428
|
-
const isMdUp =
|
|
32428
|
+
const isMdUp = _chunkUAI4VMEFcjs.useContentMdUp.call(void 0, );
|
|
32429
32429
|
const handleScriptPick = (row) => {
|
|
32430
32430
|
if (!row) {
|
|
32431
32431
|
setValue(`scripts.${index}`, EMPTY_SCHEDULE_SCRIPT_ROW, { shouldValidate: true });
|
|
@@ -32808,24 +32808,24 @@ function ScheduleTimingFields({
|
|
|
32808
32808
|
// `''` reads as "no selection" to Radix, so the placeholder shows
|
|
32809
32809
|
// until a slot is picked — a date at midnight no longer
|
|
32810
32810
|
// masquerades as a chosen 12:00 AM.
|
|
32811
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32811
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: field.value, onValueChange: field.onChange, disabled: fieldsDisabled, children: [
|
|
32812
32812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32813
|
-
|
|
32813
|
+
_chunkWCK5T3UDcjs.SelectTrigger,
|
|
32814
32814
|
{
|
|
32815
32815
|
className: "w-full",
|
|
32816
32816
|
error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _718 => _718.error, 'optionalAccess', _719 => _719.message]) : void 0))),
|
|
32817
32817
|
invalid: !!pastTimeError || showErrors && !!fieldState.error,
|
|
32818
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32818
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "Select time" })
|
|
32819
32819
|
}
|
|
32820
32820
|
),
|
|
32821
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32821
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: timeSlots.length === 0 ? (
|
|
32822
32822
|
// Deliberately NOT a `SelectItem` — there is nothing here
|
|
32823
32823
|
// to select, and a selectable row would put a bogus value
|
|
32824
32824
|
// in the form. It replaces a popup that opened blank; the
|
|
32825
32825
|
// Date field carries the same sentence for whoever never
|
|
32826
32826
|
// opens this one.
|
|
32827
32827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "px-4 py-[var(--spacing-system-sf)] text-ods-text-secondary text-h6", children: NO_SLOTS_TODAY_MESSAGE })
|
|
32828
|
-
) : timeSlots.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32828
|
+
) : timeSlots.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
32829
32829
|
] })
|
|
32830
32830
|
)
|
|
32831
32831
|
}
|
|
@@ -32839,7 +32839,7 @@ function ScheduleTimingFields({
|
|
|
32839
32839
|
name: "timeReference",
|
|
32840
32840
|
control,
|
|
32841
32841
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32842
|
-
|
|
32842
|
+
_chunkWCK5T3UDcjs.Select,
|
|
32843
32843
|
{
|
|
32844
32844
|
value: field.value,
|
|
32845
32845
|
onValueChange: (value) => {
|
|
@@ -32848,8 +32848,8 @@ function ScheduleTimingFields({
|
|
|
32848
32848
|
},
|
|
32849
32849
|
disabled: fieldsDisabled,
|
|
32850
32850
|
children: [
|
|
32851
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32852
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32851
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "w-full", "aria-label": "Timezone", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
32852
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: SCHEDULE_TIME_REFERENCE_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
32853
32853
|
]
|
|
32854
32854
|
}
|
|
32855
32855
|
)
|
|
@@ -32909,7 +32909,7 @@ function ScheduleTimingFields({
|
|
|
32909
32909
|
name: "repeatUnit",
|
|
32910
32910
|
control,
|
|
32911
32911
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32912
|
-
|
|
32912
|
+
_chunkWCK5T3UDcjs.Select,
|
|
32913
32913
|
{
|
|
32914
32914
|
value: field.value,
|
|
32915
32915
|
onValueChange: (value) => {
|
|
@@ -32922,8 +32922,8 @@ function ScheduleTimingFields({
|
|
|
32922
32922
|
},
|
|
32923
32923
|
disabled: fieldsDisabled || !repeatEnabled,
|
|
32924
32924
|
children: [
|
|
32925
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32926
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32925
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, {}) }),
|
|
32926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: DURATION_UNIT_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
32927
32927
|
]
|
|
32928
32928
|
}
|
|
32929
32929
|
)
|
|
@@ -32942,7 +32942,7 @@ function ScheduleFormFields({
|
|
|
32942
32942
|
disabled = false,
|
|
32943
32943
|
renderScriptSearch,
|
|
32944
32944
|
timeReferenceGate = "off",
|
|
32945
|
-
platforms =
|
|
32945
|
+
platforms = _chunkDGY5KEPYcjs.OS_PLATFORMS,
|
|
32946
32946
|
comingSoonPlatforms = [],
|
|
32947
32947
|
getTimeSlots,
|
|
32948
32948
|
nameLayout = "stacked",
|
|
@@ -32955,7 +32955,7 @@ function ScheduleFormFields({
|
|
|
32955
32955
|
addScripts = true
|
|
32956
32956
|
}) {
|
|
32957
32957
|
const { control, formState, getValues, setValue } = _reacthookform.useFormContext.call(void 0, );
|
|
32958
|
-
const isMdUp =
|
|
32958
|
+
const isMdUp = _chunkUAI4VMEFcjs.useContentMdUp.call(void 0, );
|
|
32959
32959
|
const supportedPlatforms = _reacthookform.useWatch.call(void 0, { control, name: "supportedPlatforms" });
|
|
32960
32960
|
const togglePlatform = _react.useCallback.call(void 0,
|
|
32961
32961
|
(platform) => {
|
|
@@ -33012,7 +33012,7 @@ function ScheduleFormFields({
|
|
|
33012
33012
|
platform.id
|
|
33013
33013
|
);
|
|
33014
33014
|
}) }),
|
|
33015
|
-
showErrors && formState.errors.supportedPlatforms && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-0 left-0 right-0 translate-y-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33015
|
+
showErrors && formState.errors.supportedPlatforms && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-0 left-0 right-0 translate-y-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", className: "text-ods-error", children: _nullishCoalesce(formState.errors.supportedPlatforms.message, () => ( "")) }) })
|
|
33016
33016
|
]
|
|
33017
33017
|
}
|
|
33018
33018
|
);
|
|
@@ -33088,7 +33088,7 @@ function ScheduleFormFields({
|
|
|
33088
33088
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33089
33089
|
|
|
33090
33090
|
function ScriptPlatformIcons({ platforms }) {
|
|
33091
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33091
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkDGY5KEPYcjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
|
|
33092
33092
|
}
|
|
33093
33093
|
function ScheduleScriptSearchField({
|
|
33094
33094
|
scriptId,
|
|
@@ -33114,7 +33114,7 @@ function ScheduleScriptSearchField({
|
|
|
33114
33114
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", onFocus: onOpen, onBlur: handleBlur, children: [
|
|
33115
33115
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Select Script" }),
|
|
33116
33116
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33117
|
-
|
|
33117
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
33118
33118
|
{
|
|
33119
33119
|
options,
|
|
33120
33120
|
value: scriptId || null,
|
|
@@ -33129,7 +33129,7 @@ function ScheduleScriptSearchField({
|
|
|
33129
33129
|
error,
|
|
33130
33130
|
invalid,
|
|
33131
33131
|
renderOption: (option, isSelected) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33132
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33132
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: isSelected ? "text-ods-accent" : void 0, children: option.label }) }),
|
|
33133
33133
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access', _725 => _725.find, 'call', _726 => _726((s) => s.id === option.value), 'optionalAccess', _727 => _727.supportedPlatforms]), () => ( [])) })
|
|
33134
33134
|
] })
|
|
33135
33135
|
}
|
|
@@ -33161,7 +33161,7 @@ function KnowledgeBaseOpenButton({ href }) {
|
|
|
33161
33161
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33162
33162
|
_chunkFCZAUK4Dcjs.Button,
|
|
33163
33163
|
{
|
|
33164
|
-
onClick: loading ? void 0 :
|
|
33164
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
33165
33165
|
disabled: loading,
|
|
33166
33166
|
variant: "outline",
|
|
33167
33167
|
size: "icon",
|
|
@@ -33180,10 +33180,10 @@ function KnowledgeBaseNameCell({ item }) {
|
|
|
33180
33180
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative flex h-8 w-8 shrink-0 items-center justify-center rounded-[6px] border border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16, className: "shrink-0 text-ods-text-secondary" }) }),
|
|
33181
33181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33182
33182
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33183
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33184
|
-
tagStatus && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33183
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: item.name }) }),
|
|
33184
|
+
tagStatus && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: KNOWLEDGE_BASE_STATUS_VARIANT[tagStatus], label: tagStatus, className: "shrink-0" })
|
|
33185
33185
|
] }),
|
|
33186
|
-
item.type === "ARTICLE" && (item.summary || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33186
|
+
item.type === "ARTICLE" && (item.summary || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(item.summary, () => ( "")) })
|
|
33187
33187
|
] })
|
|
33188
33188
|
] });
|
|
33189
33189
|
}
|
|
@@ -33198,8 +33198,8 @@ function KnowledgeBaseDateCell({ item, mode }) {
|
|
|
33198
33198
|
const ts = mode === "archive" ? _nullishCoalesce(item.updatedAt, () => ( item.createdAt)) : item.createdAt;
|
|
33199
33199
|
if (!ts) return null;
|
|
33200
33200
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col whitespace-nowrap", children: [
|
|
33201
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children:
|
|
33202
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-5 text-ods-text-secondary", children:
|
|
33201
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: _chunkJ2IXYCEHcjs.formatDate.call(void 0, ts) }),
|
|
33202
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-5 text-ods-text-secondary", children: _chunkJ2IXYCEHcjs.formatTime.call(void 0, ts) })
|
|
33203
33203
|
] });
|
|
33204
33204
|
}
|
|
33205
33205
|
function getKnowledgeBaseOpenColumn(getHref) {
|
|
@@ -33305,7 +33305,7 @@ function KnowledgeBaseArticleView({
|
|
|
33305
33305
|
className = "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]"
|
|
33306
33306
|
}) {
|
|
33307
33307
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33308
|
-
|
|
33308
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
33309
33309
|
{
|
|
33310
33310
|
title,
|
|
33311
33311
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -33314,11 +33314,11 @@ function KnowledgeBaseArticleView({
|
|
|
33314
33314
|
menuActions,
|
|
33315
33315
|
className,
|
|
33316
33316
|
children: [
|
|
33317
|
-
tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-[var(--spacing-system-xsf)]", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33317
|
+
tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-[var(--spacing-system-xsf)]", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
|
|
33318
33318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Card, { className: "border-ods-border px-[var(--spacing-system-mf)] py-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-[var(--spacing-system-mf)] content-lg:grid-cols-3", children: [
|
|
33319
33319
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33320
|
-
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33321
|
-
|
|
33320
|
+
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33321
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
33322
33322
|
{
|
|
33323
33323
|
src: author.imageUrl,
|
|
33324
33324
|
fallback: _nullishCoalesce(author.name, () => ( "A")),
|
|
@@ -33328,12 +33328,12 @@ function KnowledgeBaseArticleView({
|
|
|
33328
33328
|
}
|
|
33329
33329
|
),
|
|
33330
33330
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33331
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33331
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: author.deleted ? "text-ods-error" : void 0, children: _nullishCoalesce(author.name, () => ( "Unknown")) }),
|
|
33332
33332
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Author" })
|
|
33333
33333
|
] })
|
|
33334
33334
|
] }),
|
|
33335
33335
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 flex-col justify-center", children: [
|
|
33336
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33336
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: updatedLabel }),
|
|
33337
33337
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Updated" })
|
|
33338
33338
|
] }),
|
|
33339
33339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -33344,7 +33344,7 @@ function KnowledgeBaseArticleView({
|
|
|
33344
33344
|
}
|
|
33345
33345
|
),
|
|
33346
33346
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", children: [
|
|
33347
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33347
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: KNOWLEDGE_BASE_STATUS_VARIANT[status], label: status }),
|
|
33348
33348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Status" })
|
|
33349
33349
|
] })
|
|
33350
33350
|
] }) }),
|
|
@@ -33512,7 +33512,7 @@ function ConversationCard({
|
|
|
33512
33512
|
style: tint,
|
|
33513
33513
|
onClick: selection && ((event) => {
|
|
33514
33514
|
if (event.button !== 0 || _optionalChain([window, 'access', _730 => _730.getSelection, 'call', _731 => _731(), 'optionalAccess', _732 => _732.toString, 'call', _733 => _733()])) return;
|
|
33515
|
-
if (!
|
|
33515
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33516
33516
|
selection.onToggle();
|
|
33517
33517
|
}),
|
|
33518
33518
|
children: [
|
|
@@ -33535,7 +33535,7 @@ function ConversationCard({
|
|
|
33535
33535
|
)
|
|
33536
33536
|
),
|
|
33537
33537
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33538
|
-
|
|
33538
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33539
33539
|
{
|
|
33540
33540
|
avatar: requester.avatar,
|
|
33541
33541
|
name: requester.name,
|
|
@@ -33556,7 +33556,7 @@ function ConversationCard({
|
|
|
33556
33556
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _734 => _734.context])), children: context.text })
|
|
33557
33557
|
] }),
|
|
33558
33558
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33559
|
-
|
|
33559
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33560
33560
|
{
|
|
33561
33561
|
avatar: responder.avatar,
|
|
33562
33562
|
name: responder.name,
|
|
@@ -33572,7 +33572,7 @@ function ConversationCard({
|
|
|
33572
33572
|
),
|
|
33573
33573
|
footerLabel && footerValue && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, FOOTER_ROW_CLASS, "text-ods-text-secondary text-h6"), children: [
|
|
33574
33574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: footerLabel }),
|
|
33575
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33575
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { as: "span", label: footerValue, variant: footerTone === "attention" ? "warning" : "badge" })
|
|
33576
33576
|
] })
|
|
33577
33577
|
]
|
|
33578
33578
|
}
|
|
@@ -33601,7 +33601,7 @@ function ConversationCardSkeleton({
|
|
|
33601
33601
|
{
|
|
33602
33602
|
selection: selection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { className: "contents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectionToggle, { pressed: selection.pressed }) }),
|
|
33603
33603
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33604
|
-
|
|
33604
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33605
33605
|
{
|
|
33606
33606
|
loading: true,
|
|
33607
33607
|
name: "",
|
|
@@ -33625,7 +33625,7 @@ function ConversationCardSkeleton({
|
|
|
33625
33625
|
] })
|
|
33626
33626
|
] }),
|
|
33627
33627
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33628
|
-
|
|
33628
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33629
33629
|
{
|
|
33630
33630
|
loading: true,
|
|
33631
33631
|
name: "",
|
|
@@ -33648,7 +33648,7 @@ function ConversationCardSkeleton({
|
|
|
33648
33648
|
),
|
|
33649
33649
|
footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, FOOTER_ROW_CLASS, "text-ods-text-secondary text-h6"), children: [
|
|
33650
33650
|
footerLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: footerLabel }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { lines: 1, type: "h6", className: "w-1/4" }),
|
|
33651
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33651
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { as: "span", label: "\xA0", variant: "badge", className: "invisible" })
|
|
33652
33652
|
] })
|
|
33653
33653
|
] });
|
|
33654
33654
|
}
|
|
@@ -33706,7 +33706,7 @@ function Highlights({ items, className }) {
|
|
|
33706
33706
|
if (items.length === 0) return null;
|
|
33707
33707
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: _chunk63A4GZMBcjs.cn.call(void 0, "grid grid-cols-1 gap-2", className), children: items.slice(0, HIGHLIGHTS_LIMIT).map((text) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { "data-loading-item": true, className: HIGHLIGHT_ROW_CLASS, children: [
|
|
33708
33708
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: HIGHLIGHT_ICON_PX, className: "shrink-0 text-ods-flamingo-cyan" }),
|
|
33709
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", triggerClassName: "flex-1", children: text })
|
|
33710
33710
|
] }, text)) });
|
|
33711
33711
|
}
|
|
33712
33712
|
function Example({
|
|
@@ -33742,7 +33742,7 @@ function Example({
|
|
|
33742
33742
|
mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _738 => _738.mark]), () => ( requesterMark))),
|
|
33743
33743
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33744
33744
|
who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _739 => _739.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _740 => _740.note]), () => ( labels.requesterNote))),
|
|
33745
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33745
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
|
|
33746
33746
|
] })
|
|
33747
33747
|
] }),
|
|
33748
33748
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
|
|
@@ -33751,7 +33751,7 @@ function Example({
|
|
|
33751
33751
|
who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _742 => _742.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _743 => _743.note]), () => ( labels.responderNote))),
|
|
33752
33752
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
33753
33753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
|
|
33754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
|
|
33755
33755
|
] })
|
|
33756
33756
|
] })
|
|
33757
33757
|
] })
|
|
@@ -33761,7 +33761,7 @@ function Example({
|
|
|
33761
33761
|
}
|
|
33762
33762
|
function ExampleSkeleton({ className }) {
|
|
33763
33763
|
const turn = (first) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex min-w-0 gap-2.5", !first && "border-t border-ods-border pt-3"), children: [
|
|
33764
|
-
first ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33764
|
+
first ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { loading: true, variant: "round", sizePx: EXAMPLE_MARK_PX, className: "shrink-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.AgentAvatar, { loading: true, agent: "", size: EXAMPLE_MARK_PX }),
|
|
33765
33765
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33766
33766
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-28" }),
|
|
33767
33767
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[2lh] text-h4", children: [
|
|
@@ -33864,7 +33864,7 @@ function CapabilityExplorer({
|
|
|
33864
33864
|
skeletonCount,
|
|
33865
33865
|
className
|
|
33866
33866
|
}) {
|
|
33867
|
-
const wide =
|
|
33867
|
+
const wide = _chunkUAI4VMEFcjs.useContentLgUp.call(void 0, );
|
|
33868
33868
|
const listRef = _react.useRef.call(void 0, null);
|
|
33869
33869
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
33870
33870
|
if (inScope || loading) {
|
|
@@ -33890,13 +33890,13 @@ function CapabilityExplorer({
|
|
|
33890
33890
|
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
|
|
33891
33891
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
33892
33892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
33893
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33893
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
|
|
33894
33894
|
item.badge
|
|
33895
33895
|
] }),
|
|
33896
|
-
item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33896
|
+
item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: item.caption })
|
|
33897
33897
|
] })
|
|
33898
33898
|
] }),
|
|
33899
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33899
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 3, variant: "h6", tone: "secondary", className: "min-h-[3lh]", children: item.intro }),
|
|
33900
33900
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-lg border border-ods-border", children: renderScreen(item, { compact: true }) }),
|
|
33901
33901
|
item.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33902
33902
|
Example,
|
|
@@ -34013,8 +34013,8 @@ function CapabilityExplorer({
|
|
|
34013
34013
|
),
|
|
34014
34014
|
children: [
|
|
34015
34015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: PANEL_INTRO_CLASS, children: [
|
|
34016
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34017
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34016
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h2", className: "mb-2", children: active.title }),
|
|
34017
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 3, variant: "h4", tone: "secondary", className: "min-h-[3lh]", children: active.intro }),
|
|
34018
34018
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Highlights, { items: _nullishCoalesce(active.highlights, () => ( [])), className: "mt-auto" })
|
|
34019
34019
|
] }),
|
|
34020
34020
|
active.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|