@flamingo-stack/openframe-frontend-core 0.0.838 → 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-JFR3OFE6.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-2X5LYDNA.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-B4THEQOW.cjs → chunk-DYDQLS2R.cjs} +744 -561
- 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-U4MJ2Z4V.cjs → chunk-GMK4JGC2.cjs} +46 -46
- package/dist/{chunk-NV5AHL4G.cjs → chunk-GUKFMMDZ.cjs} +3 -3
- package/dist/{chunk-JI34QKPJ.cjs → chunk-HXTZZE3R.cjs} +253 -131
- package/dist/{chunk-MMPMQUQM.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-V322TUBY.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-4TUHHKLR.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-TMD55O5U.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-7QNGILIY.cjs → chunk-Z35PL3UR.cjs} +32 -32
- package/dist/{chunk-ENK75WN4.cjs → chunk-ZAO5SYBJ.cjs} +4 -4
- package/dist/{cloud-tenants-GLPDB2F5.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/command-box.d.ts.map +1 -1
- package/dist/components/features/command-box.js +4 -23
- package/dist/components/features/index.cjs +29 -19
- package/dist/components/features/software/index.d.ts +1 -0
- package/dist/components/features/software/index.d.ts.map +1 -1
- package/dist/components/features/software/index.js +12 -0
- package/dist/components/features/software/software-action-form.d.ts +9 -1
- package/dist/components/features/software/software-action-form.d.ts.map +1 -1
- package/dist/components/features/software/software-action-form.js +18 -1
- package/dist/components/features/software/update-settings-fields.d.ts +43 -0
- package/dist/components/features/software/update-settings-fields.d.ts.map +1 -0
- package/dist/components/features/software/update-settings-fields.js +202 -0
- package/dist/components/help-center-pages/download-apps-page.d.ts +1 -1
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/download-apps-page.js +2 -3
- package/dist/components/help-center-pages/index.cjs +122 -123
- package/dist/components/index.cjs +86 -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/fixtures/software-update.d.ts +2 -0
- package/dist/components/product-demo/fixtures/software-update.d.ts.map +1 -1
- package/dist/components/product-demo/fixtures/software-update.js +3 -2
- 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-GHPW5WCO.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 +38 -24
- package/dist/{knowledge-4TOSY2S5.cjs → knowledge-YJSDJIXT.cjs} +20 -20
- package/dist/{logs-MUODFY6N.cjs → logs-42JG3NZ5.cjs} +26 -26
- package/dist/{policies-TJHO3VLE.cjs → policies-D4QNVJ26.cjs} +23 -23
- package/dist/{remote-session-CN3G7JNR.cjs → remote-session-EE6477O3.cjs} +10 -10
- package/dist/{scripts-X5CMYE2V.cjs → scripts-4VFYBXBE.cjs} +26 -26
- package/dist/{software-update-2UZKHTYM.cjs → software-update-OSDZQ5CP.cjs} +25 -25
- 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/dist/utils/notifications.cjs +2 -0
- package/dist/utils/notifications.d.ts +1 -1
- package/dist/utils/notifications.d.ts.map +1 -1
- package/dist/utils/notifications.js +2 -0
- package/package.json +1 -1
- package/src/components/chat/chat-nav-sidebar.tsx +17 -4
- package/src/components/features/command-box.tsx +17 -19
- package/src/components/features/notifications/notification-category-icon.tsx +1 -1
- package/src/components/features/software/index.ts +11 -0
- package/src/components/features/software/software-action-form.tsx +28 -1
- package/src/components/features/software/update-settings-fields.tsx +265 -0
- package/src/components/help-center-pages/download-apps-page.tsx +4 -5
- 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/product-demo/fixtures/software-update.ts +2 -2
- 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
- package/src/utils/notifications.ts +2 -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');
|
|
@@ -617,6 +617,7 @@ var _chunk2XCORRJVcjs = require('./chunk-2XCORRJV.cjs');
|
|
|
617
617
|
|
|
618
618
|
|
|
619
619
|
|
|
620
|
+
|
|
620
621
|
var _chunk3TOWCFIKcjs = require('./chunk-3TOWCFIK.cjs');
|
|
621
622
|
|
|
622
623
|
|
|
@@ -715,7 +716,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
715
716
|
var useTheme = _nextthemes.useTheme;
|
|
716
717
|
function useThemeToggle() {
|
|
717
718
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
718
|
-
const mounted =
|
|
719
|
+
const mounted = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
719
720
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
720
721
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
721
722
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -851,7 +852,7 @@ function AnnouncementBarView({
|
|
|
851
852
|
style
|
|
852
853
|
}) {
|
|
853
854
|
const handleContentClick = onContentClick ? () => {
|
|
854
|
-
if (!window.matchMedia(
|
|
855
|
+
if (!window.matchMedia(_chunkCOWMXUHNcjs.breakpoints.md).matches) onContentClick();
|
|
855
856
|
} : void 0;
|
|
856
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: [
|
|
857
858
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -924,7 +925,7 @@ function TimezoneSelect({
|
|
|
924
925
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
925
926
|
const options = _react.useMemo.call(void 0, () => timezoneOptions(value), [value]);
|
|
926
927
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
927
|
-
|
|
928
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
928
929
|
{
|
|
929
930
|
className,
|
|
930
931
|
fieldLoading: loading,
|
|
@@ -1122,7 +1123,7 @@ var _reactpopover = require('@radix-ui/react-popover'); var Popover = _interopRe
|
|
|
1122
1123
|
|
|
1123
1124
|
var _reactdaypicker = require('react-day-picker');
|
|
1124
1125
|
|
|
1125
|
-
var defaultFormatDate = (date) =>
|
|
1126
|
+
var defaultFormatDate = (date) => _chunkNFNSPLGCcjs.formatDateWithTimezone.call(void 0, date, _chunkNFNSPLGCcjs.VIEWER_TIMEZONE, "numeric", { viewerLocale: true });
|
|
1126
1127
|
var formatDateRange = (range, formatFn) => {
|
|
1127
1128
|
if (!_optionalChain([range, 'optionalAccess', _5 => _5.from])) return "";
|
|
1128
1129
|
if (!range.to) return formatFn(range.from);
|
|
@@ -1158,7 +1159,7 @@ function DatePickerCalendar({
|
|
|
1158
1159
|
onMonthChange
|
|
1159
1160
|
}) {
|
|
1160
1161
|
const today = /* @__PURE__ */ new Date();
|
|
1161
|
-
const isMdUp = _nullishCoalesce(
|
|
1162
|
+
const isMdUp = _nullishCoalesce(_chunkCOWMXUHNcjs.useMdUp.call(void 0, ), () => ( true));
|
|
1162
1163
|
const monthsToShow = isMdUp ? numberOfMonths : 1;
|
|
1163
1164
|
const [draftRange, setDraftRange] = _react.useState.call(void 0,
|
|
1164
1165
|
mode === "range" ? selected : void 0
|
|
@@ -1323,7 +1324,7 @@ function DatePickerCalendar({
|
|
|
1323
1324
|
};
|
|
1324
1325
|
const handlePreviousMonth = () => shiftMonth(-1);
|
|
1325
1326
|
const handleNextMonth = () => shiftMonth(1);
|
|
1326
|
-
const formatMonthYear = (date) =>
|
|
1327
|
+
const formatMonthYear = (date) => _chunkNFNSPLGCcjs.formatDateWithTimezone.call(void 0, date, _chunkNFNSPLGCcjs.VIEWER_TIMEZONE, "monthYear", { viewerLocale: true });
|
|
1327
1328
|
const getSecondMonth = (date) => {
|
|
1328
1329
|
const next = new Date(date);
|
|
1329
1330
|
next.setMonth(next.getMonth() + 1);
|
|
@@ -1740,20 +1741,20 @@ function DatePickerInput(props) {
|
|
|
1740
1741
|
) })
|
|
1741
1742
|
] }),
|
|
1742
1743
|
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1", children: [
|
|
1743
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1744
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1745
|
-
/* @__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)) })
|
|
1746
1747
|
] }),
|
|
1747
1748
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: ":" }),
|
|
1748
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1750
|
-
/* @__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)) })
|
|
1751
1752
|
] }),
|
|
1752
|
-
!use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1753
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1754
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1755
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1756
|
-
/* @__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" })
|
|
1757
1758
|
] })
|
|
1758
1759
|
] })
|
|
1759
1760
|
] })
|
|
@@ -1894,9 +1895,9 @@ function DatePickerInputSimple(props) {
|
|
|
1894
1895
|
}
|
|
1895
1896
|
) })
|
|
1896
1897
|
] }),
|
|
1897
|
-
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1898
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1899
|
-
/* @__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)) })
|
|
1900
1901
|
] })
|
|
1901
1902
|
] });
|
|
1902
1903
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWF6TNZ3cjs.FieldWrapper, { label, error, errorSlot: "error" in props, className, children: content });
|
|
@@ -1915,14 +1916,14 @@ function DateFilterPanel({
|
|
|
1915
1916
|
className
|
|
1916
1917
|
}) {
|
|
1917
1918
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex flex-col gap-4", className), children: [
|
|
1918
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1919
|
-
/* @__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: [
|
|
1920
1921
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowUpDown, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
1921
|
-
/* @__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, {}) })
|
|
1922
1923
|
] }) }),
|
|
1923
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1924
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1925
|
-
/* @__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 })
|
|
1926
1927
|
] })
|
|
1927
1928
|
] }),
|
|
1928
1929
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2202,7 +2203,7 @@ function Value({ value, depth }) {
|
|
|
2202
2203
|
}
|
|
2203
2204
|
if (typeof value === "string") {
|
|
2204
2205
|
if (ISO_DATE.test(value)) {
|
|
2205
|
-
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) });
|
|
2206
2207
|
}
|
|
2207
2208
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2208
2209
|
}
|
|
@@ -2272,7 +2273,7 @@ var ProgressBar = ({
|
|
|
2272
2273
|
loading: loadingProp
|
|
2273
2274
|
}) => {
|
|
2274
2275
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
2275
|
-
const isMdUp = _nullishCoalesce(
|
|
2276
|
+
const isMdUp = _nullishCoalesce(_chunkUAI4VMEFcjs.useContentMdUp.call(void 0, ), () => ( true));
|
|
2276
2277
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
2277
2278
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
2278
2279
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -2449,7 +2450,7 @@ function InfoCardValueRow({
|
|
|
2449
2450
|
copyAriaLabel,
|
|
2450
2451
|
loading: loadingProp
|
|
2451
2452
|
}) {
|
|
2452
|
-
const { copy, copied } =
|
|
2453
|
+
const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
|
|
2453
2454
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
2454
2455
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
|
|
2455
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, () => ( "")) : "" }),
|
|
@@ -2529,11 +2530,11 @@ function SearchableSelect(allProps) {
|
|
|
2529
2530
|
const triggerId = _nullishCoalesce(id, () => ( generatedId));
|
|
2530
2531
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
2531
2532
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
2532
|
-
const keyboardPadding =
|
|
2533
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
2533
2534
|
const portalContainer = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
2534
2535
|
if (!isOpen && search !== "") setSearch("");
|
|
2535
|
-
const listedOptions =
|
|
2536
|
-
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);
|
|
2537
2538
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
2538
2539
|
if (serverSearch) return listedOptions;
|
|
2539
2540
|
const q = search.trim().toLowerCase();
|
|
@@ -2714,7 +2715,7 @@ function CompactAssigneeDropdown({
|
|
|
2714
2715
|
value: o.value,
|
|
2715
2716
|
label: o.label,
|
|
2716
2717
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2717
|
-
|
|
2718
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2718
2719
|
{
|
|
2719
2720
|
src: o.imageUrl,
|
|
2720
2721
|
alt: o.label,
|
|
@@ -2746,8 +2747,8 @@ function CompactAssigneeDropdown({
|
|
|
2746
2747
|
onClick: handleTriggerClick,
|
|
2747
2748
|
"aria-label": "Change assignee",
|
|
2748
2749
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "w-auto shrink-0", className),
|
|
2749
|
-
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2750
|
-
|
|
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,
|
|
2751
2752
|
{
|
|
2752
2753
|
src: currentAssignee.avatarSrc,
|
|
2753
2754
|
alt: currentAssignee.name,
|
|
@@ -2801,7 +2802,7 @@ function DefaultAssigneeDropdown({
|
|
|
2801
2802
|
const opt = option;
|
|
2802
2803
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
2803
2804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2804
|
-
|
|
2805
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2805
2806
|
{
|
|
2806
2807
|
src: opt.imageUrl,
|
|
2807
2808
|
alt: opt.label,
|
|
@@ -2817,7 +2818,7 @@ function DefaultAssigneeDropdown({
|
|
|
2817
2818
|
if (isEditing) {
|
|
2818
2819
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
2819
2820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2820
|
-
|
|
2821
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
2821
2822
|
{
|
|
2822
2823
|
options,
|
|
2823
2824
|
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _45 => _45.id]), () => ( null)),
|
|
@@ -2831,14 +2832,14 @@ function DefaultAssigneeDropdown({
|
|
|
2831
2832
|
selectedOptions,
|
|
2832
2833
|
showChevron: false,
|
|
2833
2834
|
startAdornment: hasAssignee ? currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2834
|
-
|
|
2835
|
+
_chunk744JXTDPcjs.DeletedUserAvatar,
|
|
2835
2836
|
{
|
|
2836
2837
|
size: "sm",
|
|
2837
2838
|
className: "h-6 w-6",
|
|
2838
2839
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2839
2840
|
}
|
|
2840
2841
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2841
|
-
|
|
2842
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2842
2843
|
{
|
|
2843
2844
|
src: currentAssignee.avatarSrc,
|
|
2844
2845
|
alt: currentAssignee.name,
|
|
@@ -2857,13 +2858,13 @@ function DefaultAssigneeDropdown({
|
|
|
2857
2858
|
if (hasAssignee) {
|
|
2858
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: [
|
|
2859
2860
|
currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2860
|
-
|
|
2861
|
+
_chunk744JXTDPcjs.DeletedUserAvatar,
|
|
2861
2862
|
{
|
|
2862
2863
|
size: "md",
|
|
2863
2864
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2864
2865
|
}
|
|
2865
2866
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2866
|
-
|
|
2867
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2867
2868
|
{
|
|
2868
2869
|
src: currentAssignee.avatarSrc,
|
|
2869
2870
|
alt: currentAssignee.name,
|
|
@@ -2948,7 +2949,7 @@ function TextValue({ value }) {
|
|
|
2948
2949
|
}
|
|
2949
2950
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
|
|
2950
2951
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2951
|
-
|
|
2952
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
2952
2953
|
{
|
|
2953
2954
|
src: imageSrc,
|
|
2954
2955
|
alt: text,
|
|
@@ -2968,7 +2969,7 @@ function RowValue({ value }) {
|
|
|
2968
2969
|
}
|
|
2969
2970
|
case "status": {
|
|
2970
2971
|
const { type: _type, ...props } = value;
|
|
2971
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2972
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.TicketStatusTag, { ...props });
|
|
2972
2973
|
}
|
|
2973
2974
|
case "custom":
|
|
2974
2975
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CustomValue, { content: value.content });
|
|
@@ -3068,7 +3069,7 @@ function MediaTypeSelector({
|
|
|
3068
3069
|
// changed) and cost an extra render pass on every change to say what the
|
|
3069
3070
|
// prop already said.
|
|
3070
3071
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3071
|
-
|
|
3072
|
+
_chunkWCK5T3UDcjs.Select,
|
|
3072
3073
|
{
|
|
3073
3074
|
value: value || void 0,
|
|
3074
3075
|
onValueChange: (next) => {
|
|
@@ -3078,8 +3079,8 @@ function MediaTypeSelector({
|
|
|
3078
3079
|
disabled,
|
|
3079
3080
|
defaultValue: value,
|
|
3080
3081
|
children: [
|
|
3081
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3082
|
-
/* @__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: [
|
|
3083
3084
|
option.icon,
|
|
3084
3085
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: option.label })
|
|
3085
3086
|
] }) }, option.value)) })
|
|
@@ -3516,7 +3517,7 @@ function TagSelectDropdown({
|
|
|
3516
3517
|
}) {
|
|
3517
3518
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
3518
3519
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3519
|
-
const keyboardPadding =
|
|
3520
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3520
3521
|
const portalContainer = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
3521
3522
|
if (!isOpen && search !== "") setSearch("");
|
|
3522
3523
|
const query = search.trim();
|
|
@@ -3837,7 +3838,7 @@ function TagsManager({
|
|
|
3837
3838
|
}) {
|
|
3838
3839
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
3839
3840
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3840
|
-
const keyboardPadding =
|
|
3841
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3841
3842
|
const [editingId, setEditingId] = _react.useState.call(void 0, null);
|
|
3842
3843
|
const [editingName, setEditingName] = _react.useState.call(void 0, "");
|
|
3843
3844
|
const editInputRef = _react.useRef.call(void 0, null);
|
|
@@ -3941,7 +3942,7 @@ function TagsManager({
|
|
|
3941
3942
|
}
|
|
3942
3943
|
),
|
|
3943
3944
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3944
|
-
|
|
3945
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
3945
3946
|
{
|
|
3946
3947
|
label: tag.name,
|
|
3947
3948
|
variant: "outline",
|
|
@@ -4447,7 +4448,7 @@ var DialogContent = _react.forwardRef.call(void 0, ({ className, children, ...pr
|
|
|
4447
4448
|
),
|
|
4448
4449
|
...props,
|
|
4449
4450
|
children: [
|
|
4450
|
-
/* @__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 }) }),
|
|
4451
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: [
|
|
4452
4453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4453
4454
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -4505,10 +4506,10 @@ function useConfirm() {
|
|
|
4505
4506
|
},
|
|
4506
4507
|
[]
|
|
4507
4508
|
);
|
|
4508
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4509
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4510
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4511
|
-
/* @__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: [
|
|
4512
4513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4513
4514
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4514
4515
|
] })
|
|
@@ -4562,14 +4563,14 @@ function AdminFormDrawer({
|
|
|
4562
4563
|
else onClose();
|
|
4563
4564
|
};
|
|
4564
4565
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4565
|
-
|
|
4566
|
+
_chunkWI7EXAZTcjs.Drawer,
|
|
4566
4567
|
{
|
|
4567
4568
|
open: isOpen,
|
|
4568
4569
|
onOpenChange: (open) => {
|
|
4569
4570
|
if (!open) requestClose();
|
|
4570
4571
|
},
|
|
4571
4572
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4572
|
-
|
|
4573
|
+
_chunkWI7EXAZTcjs.DrawerContent,
|
|
4573
4574
|
{
|
|
4574
4575
|
side: "right",
|
|
4575
4576
|
resizable: true,
|
|
@@ -4578,15 +4579,15 @@ function AdminFormDrawer({
|
|
|
4578
4579
|
storageKey,
|
|
4579
4580
|
panelClassName: "max-md:w-[calc(100vw-1rem)]",
|
|
4580
4581
|
children: [
|
|
4581
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4582
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4583
|
-
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 }) })
|
|
4584
4585
|
] }),
|
|
4585
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4586
4587
|
"form",
|
|
4587
4588
|
{
|
|
4588
4589
|
id: formId,
|
|
4589
|
-
...
|
|
4590
|
+
..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4590
4591
|
className: "flex flex-col gap-[var(--spacing-system-lf)]",
|
|
4591
4592
|
onSubmit: (e) => {
|
|
4592
4593
|
e.preventDefault();
|
|
@@ -4684,16 +4685,16 @@ function AdminFormModal({
|
|
|
4684
4685
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4685
4686
|
});
|
|
4686
4687
|
if (!isOpen) return null;
|
|
4687
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4688
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4689
|
-
/* @__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 }),
|
|
4690
4691
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4691
4692
|
] }),
|
|
4692
4693
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4693
4694
|
"form",
|
|
4694
4695
|
{
|
|
4695
4696
|
id: formId,
|
|
4696
|
-
...
|
|
4697
|
+
..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4697
4698
|
className: "flex min-h-0 flex-1 flex-col",
|
|
4698
4699
|
onSubmit: (e) => {
|
|
4699
4700
|
e.preventDefault();
|
|
@@ -4711,7 +4712,7 @@ function AdminFormModal({
|
|
|
4711
4712
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4712
4713
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4713
4714
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4714
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4715
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJ2IXYCEHcjs.ModalContent, { children: loadingContent ? (
|
|
4715
4716
|
// The one announcement: a `loadingContent` with a region of its own takes `region={false}`.
|
|
4716
4717
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading", children: loadingContent })
|
|
4717
4718
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4732,12 +4733,12 @@ function AdminFormModal({
|
|
|
4732
4733
|
] }, i)) }, col))
|
|
4733
4734
|
}
|
|
4734
4735
|
) })
|
|
4735
|
-
) : 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 }),
|
|
4736
4737
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4737
4738
|
]
|
|
4738
4739
|
}
|
|
4739
4740
|
),
|
|
4740
|
-
/* @__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: [
|
|
4741
4742
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4742
4743
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4743
4744
|
footerStatus,
|
|
@@ -4819,7 +4820,7 @@ var SheetContent = _react.forwardRef.call(void 0,
|
|
|
4819
4820
|
({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
|
|
4820
4821
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
|
|
4821
4822
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPrimitive.Content, { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, sheetVariants({ side }), className), ...props, children: [
|
|
4822
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4823
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }),
|
|
4823
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: [
|
|
4824
4825
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4825
4826
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -5476,7 +5477,7 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
|
|
|
5476
5477
|
// as tall as its neighbours at every breakpoint. No hover shade:
|
|
5477
5478
|
// the tab is the target, and the cursor passes through to it.
|
|
5478
5479
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5479
|
-
|
|
5480
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
5480
5481
|
{
|
|
5481
5482
|
as: "span",
|
|
5482
5483
|
"aria-hidden": true,
|
|
@@ -6064,7 +6065,7 @@ function EmbedViewerFrame({
|
|
|
6064
6065
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
6065
6066
|
_react.useEffect.call(void 0, () => {
|
|
6066
6067
|
if (!fullscreenControl) return void 0;
|
|
6067
|
-
const controller = new (0,
|
|
6068
|
+
const controller = new (0, _chunkDGY5KEPYcjs.FullscreenSwitchController)({
|
|
6068
6069
|
target: () => frameRef.current,
|
|
6069
6070
|
onFullscreenChange: setIsFullscreen
|
|
6070
6071
|
});
|
|
@@ -6158,7 +6159,7 @@ var KIND_HEADING = {
|
|
|
6158
6159
|
design: "Claude Design"
|
|
6159
6160
|
};
|
|
6160
6161
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6161
|
-
const { src: mirrorSrc, status } =
|
|
6162
|
+
const { src: mirrorSrc, status } = _chunkE7M54JWWcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6162
6163
|
const isProbing = status === "probing";
|
|
6163
6164
|
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkHLJXCOMAcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6164
6165
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -6728,12 +6729,12 @@ var OGLinkPreview = ({
|
|
|
6728
6729
|
children: [
|
|
6729
6730
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TILE_SOURCE_ROW_CLASS, children: [
|
|
6730
6731
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Favicon, { src: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`, size: "w-4 h-4" }),
|
|
6731
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: name }),
|
|
6732
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 })
|
|
6733
6734
|
] }),
|
|
6734
6735
|
kicker != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden text-ods-accent text-h5", style: lineClamp(1), children: kicker }),
|
|
6735
6736
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6736
|
-
|
|
6737
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6737
6738
|
{
|
|
6738
6739
|
lines: 2,
|
|
6739
6740
|
variant: "h3",
|
|
@@ -6742,7 +6743,7 @@ var OGLinkPreview = ({
|
|
|
6742
6743
|
children: curatedTitle || domainToTitle(domain)
|
|
6743
6744
|
}
|
|
6744
6745
|
),
|
|
6745
|
-
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 })
|
|
6746
6747
|
]
|
|
6747
6748
|
}
|
|
6748
6749
|
);
|
|
@@ -6888,8 +6889,8 @@ var OGLinkPreview = ({
|
|
|
6888
6889
|
children: [
|
|
6889
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 }) }),
|
|
6890
6891
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6891
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6892
|
-
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 })
|
|
6893
6894
|
] }),
|
|
6894
6895
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon, {})
|
|
6895
6896
|
]
|
|
@@ -6936,7 +6937,7 @@ var OGLinkPreview = ({
|
|
|
6936
6937
|
),
|
|
6937
6938
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6938
6939
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6939
|
-
|
|
6940
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6940
6941
|
{
|
|
6941
6942
|
lines: 2,
|
|
6942
6943
|
className: "min-h-[calc(var(--font-line-space-h4-body)*2)] font-semibold transition-colors group-hover:text-ods-accent",
|
|
@@ -6945,7 +6946,7 @@ var OGLinkPreview = ({
|
|
|
6945
6946
|
}
|
|
6946
6947
|
),
|
|
6947
6948
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6948
|
-
|
|
6949
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
6949
6950
|
{
|
|
6950
6951
|
lines: 2,
|
|
6951
6952
|
tone: "secondary",
|
|
@@ -6955,9 +6956,9 @@ var OGLinkPreview = ({
|
|
|
6955
6956
|
}
|
|
6956
6957
|
),
|
|
6957
6958
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2 text-ods-text-secondary text-h6", children: [
|
|
6958
|
-
/* @__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 }),
|
|
6959
6960
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
|
|
6960
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: ogDomain }),
|
|
6961
6962
|
meta
|
|
6962
6963
|
] })
|
|
6963
6964
|
] })
|
|
@@ -7313,7 +7314,7 @@ var formatTimeAgo = (timestamp) => {
|
|
|
7313
7314
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
7314
7315
|
};
|
|
7315
7316
|
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
7316
|
-
const postLinkRel =
|
|
7317
|
+
const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
|
|
7317
7318
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
7318
7319
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
7319
7320
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7551,7 +7552,7 @@ function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
|
7551
7552
|
width: m.width,
|
|
7552
7553
|
height: m.height
|
|
7553
7554
|
}));
|
|
7554
|
-
const formatNumber2 =
|
|
7555
|
+
const formatNumber2 = _chunkNFNSPLGCcjs.formatLargeNumber;
|
|
7555
7556
|
const truncateText = (text, maxLength = 600) => {
|
|
7556
7557
|
if (text.length <= maxLength) return text;
|
|
7557
7558
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7645,7 +7646,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7645
7646
|
] });
|
|
7646
7647
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7647
7648
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7648
|
-
const postLinkRel =
|
|
7649
|
+
const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
|
|
7649
7650
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7650
7651
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7651
7652
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7847,7 +7848,7 @@ function buildRichEmbedOverrides({
|
|
|
7847
7848
|
ogEndpointPath,
|
|
7848
7849
|
textSizes
|
|
7849
7850
|
}) {
|
|
7850
|
-
const standard =
|
|
7851
|
+
const standard = _chunkEV6BPF47cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7851
7852
|
return {
|
|
7852
7853
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7853
7854
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7983,14 +7984,14 @@ function buildRichEmbedOverrides({
|
|
|
7983
7984
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7984
7985
|
// elsewhere). Guard against empty `![]()`.
|
|
7985
7986
|
img: ({ src, alt }) => {
|
|
7986
|
-
if (!
|
|
7987
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7987
7988
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7988
7989
|
},
|
|
7989
7990
|
// Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
|
|
7990
7991
|
// facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
|
|
7991
7992
|
// the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
|
|
7992
7993
|
iframe: ({ node: _node, src, ...rest }) => {
|
|
7993
|
-
if (!
|
|
7994
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7994
7995
|
const url = src.trim();
|
|
7995
7996
|
if (_chunkTD4CC4KVcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url });
|
|
7996
7997
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
|
|
@@ -7998,7 +7999,7 @@ function buildRichEmbedOverrides({
|
|
|
7998
7999
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7999
8000
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
8000
8001
|
video: ({ src, poster, className }) => {
|
|
8001
|
-
if (!
|
|
8002
|
+
if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
8002
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 }) }) });
|
|
8003
8004
|
}
|
|
8004
8005
|
};
|
|
@@ -8107,7 +8108,7 @@ var processShortcodes = (content) => {
|
|
|
8107
8108
|
try {
|
|
8108
8109
|
const urlObj = new URL(url);
|
|
8109
8110
|
const hostname = urlObj.hostname.toLowerCase();
|
|
8110
|
-
const hostIs = (domain) =>
|
|
8111
|
+
const hostIs = (domain) => _chunkRSJYTQEAcjs.hostMatches.call(void 0, hostname, domain);
|
|
8111
8112
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
8112
8113
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
8113
8114
|
return match;
|
|
@@ -8184,13 +8185,13 @@ var RichMarkdownInner = ({
|
|
|
8184
8185
|
},
|
|
8185
8186
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8186
8187
|
);
|
|
8187
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8188
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkEV6BPF47cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8188
8189
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8189
8190
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8190
8191
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8191
8192
|
);
|
|
8192
8193
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8193
|
-
|
|
8194
|
+
_chunkEV6BPF47cjs.MarkdownEngine,
|
|
8194
8195
|
{
|
|
8195
8196
|
content,
|
|
8196
8197
|
className,
|
|
@@ -8215,7 +8216,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8215
8216
|
className = "",
|
|
8216
8217
|
sectionIds,
|
|
8217
8218
|
onInternalLinkClick,
|
|
8218
|
-
brokenLinks =
|
|
8219
|
+
brokenLinks = _chunkEV6BPF47cjs.NO_BROKEN_LINKS,
|
|
8219
8220
|
currentPath,
|
|
8220
8221
|
resolveSource = "openframe-docs",
|
|
8221
8222
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9341,7 +9342,7 @@ function FilterModal({
|
|
|
9341
9342
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9342
9343
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9343
9344
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9344
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9345
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkJ2IXYCEHcjs.useScrollFade.call(void 0, );
|
|
9345
9346
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9346
9347
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9347
9348
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9387,15 +9388,15 @@ function FilterModal({
|
|
|
9387
9388
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9388
9389
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9389
9390
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9390
|
-
|
|
9391
|
+
_chunkJ2IXYCEHcjs.Modal,
|
|
9391
9392
|
{
|
|
9392
9393
|
isOpen,
|
|
9393
9394
|
onClose,
|
|
9394
9395
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "max-h-[90vh] max-w-none md:max-w-[min(42rem,calc(100vw-2rem))]", className),
|
|
9395
9396
|
children: [
|
|
9396
|
-
/* @__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 }) }),
|
|
9397
9398
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9398
|
-
|
|
9399
|
+
_chunkJ2IXYCEHcjs.ModalContent,
|
|
9399
9400
|
{
|
|
9400
9401
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
9401
9402
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9491,12 +9492,12 @@ function FilterModal({
|
|
|
9491
9492
|
)
|
|
9492
9493
|
}
|
|
9493
9494
|
),
|
|
9494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9495
|
-
/* @__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 })
|
|
9496
9497
|
] })
|
|
9497
9498
|
}
|
|
9498
9499
|
),
|
|
9499
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9500
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
9500
9501
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9501
9502
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9502
9503
|
] })
|
|
@@ -9560,7 +9561,7 @@ function renderAdvancedPageContainer({
|
|
|
9560
9561
|
contentClassName,
|
|
9561
9562
|
showHeader = true
|
|
9562
9563
|
}, inScope = false) {
|
|
9563
|
-
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;
|
|
9564
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;
|
|
9565
9566
|
const getActionsVariant = () => {
|
|
9566
9567
|
if (actionsVariant) return actionsVariant;
|
|
@@ -9569,7 +9570,7 @@ function renderAdvancedPageContainer({
|
|
|
9569
9570
|
};
|
|
9570
9571
|
const renderActions = () => {
|
|
9571
9572
|
if (!actions || actions.length === 0) return null;
|
|
9572
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9573
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageActions, { variant: getActionsVariant(), actions, menuActions });
|
|
9573
9574
|
};
|
|
9574
9575
|
const needsBottomPadding = actions && actions.length > 0 && getActionsVariant() === "primary-buttons";
|
|
9575
9576
|
const paddingClasses = {
|
|
@@ -9592,7 +9593,7 @@ function renderAdvancedPageContainer({
|
|
|
9592
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: [
|
|
9593
9594
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9594
9595
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9595
|
-
|
|
9596
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9596
9597
|
{
|
|
9597
9598
|
onClick: backButton.onClick,
|
|
9598
9599
|
label: backButton.label,
|
|
@@ -9612,7 +9613,7 @@ function renderAdvancedPageContainer({
|
|
|
9612
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: [
|
|
9613
9614
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
9614
9615
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9615
|
-
|
|
9616
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9616
9617
|
{
|
|
9617
9618
|
onClick: backButton.onClick,
|
|
9618
9619
|
label: backButton.label,
|
|
@@ -9632,7 +9633,7 @@ function renderAdvancedPageContainer({
|
|
|
9632
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: [
|
|
9633
9634
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9634
9635
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9635
|
-
|
|
9636
|
+
_chunkWCK5T3UDcjs.BackButton,
|
|
9636
9637
|
{
|
|
9637
9638
|
onClick: backButton.onClick,
|
|
9638
9639
|
label: backButton.label,
|
|
@@ -9720,7 +9721,7 @@ function ListPageLayout({
|
|
|
9720
9721
|
}) {
|
|
9721
9722
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
9722
9723
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9723
|
-
const debouncedSearchValue =
|
|
9724
|
+
const debouncedSearchValue = _chunkFRL2ZN4Ocjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
9724
9725
|
const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9725
9726
|
if (syncedSearchValue !== searchValue) {
|
|
9726
9727
|
setSyncedSearchValue(searchValue);
|
|
@@ -9987,7 +9988,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9987
9988
|
|
|
9988
9989
|
|
|
9989
9990
|
function PlatformBrowseButton({ item }) {
|
|
9990
|
-
const linkProps =
|
|
9991
|
+
const linkProps = _chunkEV6BPF47cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9991
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: [
|
|
9992
9993
|
"Browse ",
|
|
9993
9994
|
item.buttonText
|
|
@@ -10302,12 +10303,12 @@ function DashboardInfoCard({
|
|
|
10302
10303
|
const renderPercentage = () => {
|
|
10303
10304
|
if (loading) {
|
|
10304
10305
|
if (!loadingShowsPercentage) return null;
|
|
10305
|
-
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" }) });
|
|
10306
10307
|
}
|
|
10307
10308
|
if (percentage === void 0) return null;
|
|
10308
10309
|
if (percentageAsTag) {
|
|
10309
10310
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
10310
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10311
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
10311
10312
|
}
|
|
10312
10313
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
10313
10314
|
"(",
|
|
@@ -10387,7 +10388,7 @@ function DashboardInfoCard({
|
|
|
10387
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 }),
|
|
10388
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 }),
|
|
10389
10390
|
renderPercentage(),
|
|
10390
|
-
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 }) }) })
|
|
10391
10392
|
] }),
|
|
10392
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 })
|
|
10393
10394
|
] }),
|
|
@@ -10506,10 +10507,10 @@ var OSTypeBadge = ({
|
|
|
10506
10507
|
if (!osType) {
|
|
10507
10508
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
10508
10509
|
}
|
|
10509
|
-
const normalized =
|
|
10510
|
+
const normalized = _chunkDGY5KEPYcjs.normalizeOSType.call(void 0, osType);
|
|
10510
10511
|
if (!normalized && !labelOnly) return null;
|
|
10511
|
-
const label =
|
|
10512
|
-
const IconComponent =
|
|
10512
|
+
const label = _chunkDGY5KEPYcjs.getOSLabel.call(void 0, osType);
|
|
10513
|
+
const IconComponent = _chunkDGY5KEPYcjs.getOSIcon.call(void 0, osType);
|
|
10513
10514
|
if (iconOnly && IconComponent) {
|
|
10514
10515
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk63A4GZMBcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
10515
10516
|
}
|
|
@@ -10557,8 +10558,8 @@ function DeviceCard({
|
|
|
10557
10558
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
10558
10559
|
const formatLastSeen = (lastSeen) => {
|
|
10559
10560
|
if (!lastSeen) return null;
|
|
10560
|
-
const date =
|
|
10561
|
-
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)}`;
|
|
10562
10563
|
};
|
|
10563
10564
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10564
10565
|
"div",
|
|
@@ -10617,7 +10618,7 @@ function DeviceCard({
|
|
|
10617
10618
|
] }),
|
|
10618
10619
|
(loading || statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEVICE_CARD_STATUS_ROW_CLASS, children: [
|
|
10619
10620
|
(loading || statusTag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10620
|
-
|
|
10621
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
10621
10622
|
{
|
|
10622
10623
|
loading,
|
|
10623
10624
|
variant: _optionalChain([statusTag, 'optionalAccess', _196 => _196.variant]),
|
|
@@ -10632,7 +10633,7 @@ function DeviceCard({
|
|
|
10632
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) })
|
|
10633
10634
|
] })
|
|
10634
10635
|
] }),
|
|
10635
|
-
!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)) })
|
|
10636
10637
|
]
|
|
10637
10638
|
}
|
|
10638
10639
|
);
|
|
@@ -10678,7 +10679,7 @@ function DataAttribution({ icon, source, lastUpdated, action }) {
|
|
|
10678
10679
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator3, {}),
|
|
10679
10680
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: UPDATED_CLASS, children: [
|
|
10680
10681
|
"Last updated: ",
|
|
10681
|
-
lastUpdated ?
|
|
10682
|
+
lastUpdated ? _chunkNFNSPLGCcjs.formatDate.call(void 0, lastUpdated) : "Never"
|
|
10682
10683
|
] }),
|
|
10683
10684
|
action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ACTION_CLASS, children: action }) : null
|
|
10684
10685
|
] });
|
|
@@ -10806,7 +10807,7 @@ function ComplianceLogo({
|
|
|
10806
10807
|
fallback = null,
|
|
10807
10808
|
className
|
|
10808
10809
|
}) {
|
|
10809
|
-
const standard =
|
|
10810
|
+
const standard = _chunkDGY5KEPYcjs.complianceStandardForName.call(void 0, ...names);
|
|
10810
10811
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10811
10812
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10812
10813
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11161,7 +11162,7 @@ var CHANGE_CLASS = "w-8 text-right text-h6 tabular-nums";
|
|
|
11161
11162
|
var BOX_CLASS = "inline-flex shrink-0 items-center gap-[var(--spacing-system-xxs)]";
|
|
11162
11163
|
var FOCUS_CLASS = "rounded-sm outline-none focus-visible:ring-1 focus-visible:ring-ods-accent";
|
|
11163
11164
|
function formatTrendChange(change) {
|
|
11164
|
-
return change === 0 ? "0" : `${change > 0 ? "+" : "\u2212"}${
|
|
11165
|
+
return change === 0 ? "0" : `${change > 0 ? "+" : "\u2212"}${_chunkNFNSPLGCcjs.formatNumber.call(void 0, Math.abs(change))}`;
|
|
11165
11166
|
}
|
|
11166
11167
|
var TREND_TONES = {
|
|
11167
11168
|
positive: "text-ods-success",
|
|
@@ -11245,7 +11246,7 @@ function Trendline({
|
|
|
11245
11246
|
}
|
|
11246
11247
|
);
|
|
11247
11248
|
if (!details) return line;
|
|
11248
|
-
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 });
|
|
11249
11250
|
}
|
|
11250
11251
|
function TrendDetails({ render }) {
|
|
11251
11252
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: render() });
|
|
@@ -11275,7 +11276,7 @@ function TrendHistoryCell({ column, value }) {
|
|
|
11275
11276
|
|
|
11276
11277
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11277
11278
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11278
|
-
|
|
11279
|
+
_chunkNFNSPLGCcjs.FloatingTooltip,
|
|
11279
11280
|
{
|
|
11280
11281
|
as: "span",
|
|
11281
11282
|
side: "top",
|
|
@@ -11663,7 +11664,7 @@ function OrganizationCardSkeleton({
|
|
|
11663
11664
|
..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props),
|
|
11664
11665
|
children: [
|
|
11665
11666
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11666
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11667
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.EntityImage, { src: null }),
|
|
11667
11668
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11668
11669
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h3", className: "w-3/4" }),
|
|
11669
11670
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11735,7 +11736,7 @@ function OrganizationCard({
|
|
|
11735
11736
|
}
|
|
11736
11737
|
),
|
|
11737
11738
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.EntityImage, { src: fetchedImageUrl || organization.imageUrl, alt: organization.name }),
|
|
11739
11740
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11740
11741
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "truncate text-ods-text-primary transition-colors text-h3", title: organization.name, children: organization.name }),
|
|
11741
11742
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11802,11 +11803,11 @@ function ServiceCard({
|
|
|
11802
11803
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
11803
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 }),
|
|
11804
11805
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
|
|
11805
|
-
loading && !title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h3", className: "w-40 max-w-full" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11806
|
-
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 })
|
|
11807
11808
|
] })
|
|
11808
11809
|
] }),
|
|
11809
|
-
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 })
|
|
11810
11811
|
] }),
|
|
11811
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)) })
|
|
11812
11813
|
] });
|
|
@@ -11814,15 +11815,15 @@ function ServiceCard({
|
|
|
11814
11815
|
function ServiceCardRowItem({ row, loading: loadingProp }) {
|
|
11815
11816
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
11816
11817
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
11817
|
-
const { copy, copied } =
|
|
11818
|
-
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);
|
|
11819
11820
|
const actions = _react.useMemo.call(void 0, () => rowActions(row), [row]);
|
|
11820
11821
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
11821
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 });
|
|
11822
11823
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
11823
11824
|
const openInNewTab2 = () => {
|
|
11824
11825
|
if (!row.href) return;
|
|
11825
|
-
|
|
11826
|
+
_chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
|
|
11826
11827
|
};
|
|
11827
11828
|
const labelColumn = loading ? row.label !== void 0 : !!row.label;
|
|
11828
11829
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SERVICE_CARD_ROW_CLASS, children: [
|
|
@@ -11831,7 +11832,7 @@ function ServiceCardRowItem({ row, loading: loadingProp }) {
|
|
|
11831
11832
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", className: "w-40 max-w-full" }) : (
|
|
11832
11833
|
// No tooltip while a secret is masked — the old native `title` leaked the raw value on hover.
|
|
11833
11834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11834
|
-
|
|
11835
|
+
_chunkNFNSPLGCcjs.FloatingTooltip,
|
|
11835
11836
|
{
|
|
11836
11837
|
content: row.value,
|
|
11837
11838
|
side: "top",
|
|
@@ -11940,17 +11941,17 @@ function PersonCell({
|
|
|
11940
11941
|
const displayName = name || fallbackName;
|
|
11941
11942
|
const scale = PERSON_CELL_SIZE[size];
|
|
11942
11943
|
const row = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `group/person-cell ${PERSON_ROW_CLASS} ${scale.gap}`, children: [
|
|
11943
|
-
/* @__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 }),
|
|
11944
11945
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
11945
11946
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11946
|
-
|
|
11947
|
+
_chunkWCK5T3UDcjs.TruncateText,
|
|
11947
11948
|
{
|
|
11948
11949
|
variant: scale.primary,
|
|
11949
11950
|
className: onClick ? "text-ods-accent group-hover/person-cell:underline" : void 0,
|
|
11950
11951
|
children: displayName
|
|
11951
11952
|
}
|
|
11952
11953
|
),
|
|
11953
|
-
/* @__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" })
|
|
11954
11955
|
] })
|
|
11955
11956
|
] });
|
|
11956
11957
|
if (!onClick) return row;
|
|
@@ -11968,7 +11969,7 @@ function PersonCell({
|
|
|
11968
11969
|
function PersonCellSkeleton({ size = "sm" }) {
|
|
11969
11970
|
const scale = PERSON_CELL_SIZE[size];
|
|
11970
11971
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${PERSON_ROW_CLASS} ${scale.gap}`, "aria-hidden": true, children: [
|
|
11971
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11972
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.SquareAvatar, { loading: true, size: scale.avatar }),
|
|
11972
11973
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
11973
11974
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: scale.primary, className: "w-3/4" }),
|
|
11974
11975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11991,9 +11992,9 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
11991
11992
|
);
|
|
11992
11993
|
}
|
|
11993
11994
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
11994
|
-
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: [
|
|
11995
11996
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11996
|
-
|
|
11997
|
+
_chunk5GBLXY5Fcjs.AvatarStack,
|
|
11997
11998
|
{
|
|
11998
11999
|
size: "sm",
|
|
11999
12000
|
slots: PEOPLE_CELL_STACK_SLOTS,
|
|
@@ -12001,7 +12002,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
12001
12002
|
}
|
|
12002
12003
|
) }),
|
|
12003
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: [
|
|
12004
|
-
/* @__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(" & ") }),
|
|
12005
12006
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: fullNames })
|
|
12006
12007
|
] })
|
|
12007
12008
|
] }) });
|
|
@@ -12327,7 +12328,7 @@ function QueryReportTable({
|
|
|
12327
12328
|
onThumbPointerMove,
|
|
12328
12329
|
onThumbPointerUp,
|
|
12329
12330
|
onThumbPointerCancel
|
|
12330
|
-
} =
|
|
12331
|
+
} = _chunkIUDBG3HJcjs.useHorizontalScrollbar.call(void 0, );
|
|
12331
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: [
|
|
12332
12333
|
!isCompact && (title || headerActions || showExportButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
|
|
12333
12334
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -12848,7 +12849,7 @@ function DataTableRowImpl({
|
|
|
12848
12849
|
const containerRef = _react.useRef.call(void 0, null);
|
|
12849
12850
|
const handleClick = _react.useCallback.call(void 0,
|
|
12850
12851
|
(e) => {
|
|
12851
|
-
if (!
|
|
12852
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
|
|
12852
12853
|
if (isLinkMode) e.preventDefault();
|
|
12853
12854
|
return;
|
|
12854
12855
|
}
|
|
@@ -12862,7 +12863,7 @@ function DataTableRowImpl({
|
|
|
12862
12863
|
if (!(target instanceof Element) || !_optionalChain([container, 'optionalAccess', _224 => _224.contains, 'call', _225 => _225(target)])) return;
|
|
12863
12864
|
const nestedLink = target.closest("a");
|
|
12864
12865
|
if (nestedLink && nestedLink !== container && container.contains(nestedLink)) return;
|
|
12865
|
-
if (!
|
|
12866
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, target, container) || target.closest(ROW_LINK_CONTROL_SELECTOR)) e.preventDefault();
|
|
12866
12867
|
}, []);
|
|
12867
12868
|
const containerClassName = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
12868
12869
|
DATA_TABLE_ROW_FRAME_CLASS,
|
|
@@ -12992,7 +12993,7 @@ function DataTableBody({
|
|
|
12992
12993
|
const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
|
|
12993
12994
|
if (loading && loadingCells && hasRows) {
|
|
12994
12995
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12995
|
-
|
|
12996
|
+
_chunkEV6BPF47cjs.LoadingFallback,
|
|
12996
12997
|
{
|
|
12997
12998
|
label: "Loading results",
|
|
12998
12999
|
status: loadingRegion && !inScope,
|
|
@@ -13341,7 +13342,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13341
13342
|
// child of the cell.
|
|
13342
13343
|
_optionalChain([meta, 'optionalAccess', _244 => _244.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13343
13344
|
filterTrigger,
|
|
13344
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13345
13346
|
] }) : filterTrigger
|
|
13346
13347
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13347
13348
|
"div",
|
|
@@ -13366,7 +13367,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13366
13367
|
// centred on the row.
|
|
13367
13368
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13368
13369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13369
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13370
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13370
13371
|
] })
|
|
13371
13372
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13372
13373
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -13605,7 +13606,7 @@ function PhoneInput({
|
|
|
13605
13606
|
placeholder = "Phone Number (optional)",
|
|
13606
13607
|
onKeyDown
|
|
13607
13608
|
}) {
|
|
13608
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
13609
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkDGY5KEPYcjs.getCountryPhoneData.call(void 0, ), []);
|
|
13609
13610
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
13610
13611
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
13611
13612
|
[countryCode, priority, others]
|
|
@@ -13620,7 +13621,7 @@ function PhoneInput({
|
|
|
13620
13621
|
_optionalChain([onValidationChange, 'optionalCall', _261 => _261(false)]);
|
|
13621
13622
|
return;
|
|
13622
13623
|
}
|
|
13623
|
-
const invalid = !
|
|
13624
|
+
const invalid = !_chunkDGY5KEPYcjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
13624
13625
|
setIsInvalid(invalid);
|
|
13625
13626
|
_optionalChain([onValidationChange, 'optionalCall', _262 => _262(invalid)]);
|
|
13626
13627
|
},
|
|
@@ -13640,7 +13641,7 @@ function PhoneInput({
|
|
|
13640
13641
|
}, []);
|
|
13641
13642
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2", children: [
|
|
13642
13643
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13643
|
-
|
|
13644
|
+
_chunkWCK5T3UDcjs.Select,
|
|
13644
13645
|
{
|
|
13645
13646
|
value: countryCode,
|
|
13646
13647
|
onValueChange: (val) => {
|
|
@@ -13651,14 +13652,14 @@ function PhoneInput({
|
|
|
13651
13652
|
},
|
|
13652
13653
|
disabled,
|
|
13653
13654
|
children: [
|
|
13654
|
-
/* @__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: [
|
|
13655
13656
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.flag }),
|
|
13656
13657
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.dialCode })
|
|
13657
13658
|
] }) }) }),
|
|
13658
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13659
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13660
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13661
|
-
/* @__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)) })
|
|
13662
13663
|
] })
|
|
13663
13664
|
]
|
|
13664
13665
|
}
|
|
@@ -13690,7 +13691,7 @@ function PhoneInput({
|
|
|
13690
13691
|
] });
|
|
13691
13692
|
}
|
|
13692
13693
|
function CountryOption({ country }) {
|
|
13693
|
-
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: [
|
|
13694
13695
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: country.flag }),
|
|
13695
13696
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary", children: country.dialCode }),
|
|
13696
13697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-block max-w-[140px] overflow-hidden text-ellipsis whitespace-nowrap", children: country.name })
|
|
@@ -13826,7 +13827,7 @@ function TagSearchInput({
|
|
|
13826
13827
|
limitTags = "auto"
|
|
13827
13828
|
}) {
|
|
13828
13829
|
const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
|
|
13829
|
-
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } =
|
|
13830
|
+
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkFW7RKWPYcjs.useAutoLimitTags.call(void 0, {
|
|
13830
13831
|
count: tags.length,
|
|
13831
13832
|
limitTags,
|
|
13832
13833
|
placeholder: currentPlaceholder
|
|
@@ -13897,7 +13898,7 @@ function TagSearchInput({
|
|
|
13897
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" }) }),
|
|
13898
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: [
|
|
13899
13900
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13900
|
-
|
|
13901
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
13901
13902
|
{
|
|
13902
13903
|
variant: "outline",
|
|
13903
13904
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -13956,7 +13957,7 @@ function TagSearchInput({
|
|
|
13956
13957
|
}
|
|
13957
13958
|
),
|
|
13958
13959
|
showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13959
|
-
|
|
13960
|
+
_chunkJ2IXYCEHcjs.HiddenTagsPopup,
|
|
13960
13961
|
{
|
|
13961
13962
|
ref: hiddenTagsPopupRef,
|
|
13962
13963
|
items: hiddenTags,
|
|
@@ -13967,10 +13968,10 @@ function TagSearchInput({
|
|
|
13967
13968
|
}
|
|
13968
13969
|
}
|
|
13969
13970
|
),
|
|
13970
|
-
/* @__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: [
|
|
13971
13972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textMeasureRef, "aria-hidden": "true", className: "whitespace-nowrap text-h4", children: currentPlaceholder }),
|
|
13972
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,
|
|
13973
|
-
|
|
13974
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
13974
13975
|
{
|
|
13975
13976
|
variant: "outline",
|
|
13976
13977
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -14032,8 +14033,8 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14032
14033
|
if (!trimmedUrl) return;
|
|
14033
14034
|
onSubmit({ text: text.trim(), url: trimmedUrl, rel });
|
|
14034
14035
|
};
|
|
14035
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14036
|
-
/* @__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" }) }),
|
|
14037
14038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14038
14039
|
"form",
|
|
14039
14040
|
{
|
|
@@ -14058,7 +14059,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14058
14059
|
),
|
|
14059
14060
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
14060
14061
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14061
|
-
|
|
14062
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
14062
14063
|
{
|
|
14063
14064
|
label: "Search engines",
|
|
14064
14065
|
value: choice,
|
|
@@ -14075,7 +14076,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14075
14076
|
]
|
|
14076
14077
|
}
|
|
14077
14078
|
),
|
|
14078
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14079
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
14079
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" }),
|
|
14080
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" })
|
|
14081
14082
|
] })
|
|
@@ -14115,7 +14116,7 @@ function useMarkdownLinkCommand() {
|
|
|
14115
14116
|
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
14116
14117
|
icon: command.icon,
|
|
14117
14118
|
execute: (state, api) => {
|
|
14118
|
-
const existing =
|
|
14119
|
+
const existing = _chunkEV6BPF47cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
14119
14120
|
setPending(
|
|
14120
14121
|
existing ? {
|
|
14121
14122
|
api,
|
|
@@ -14146,7 +14147,7 @@ function useMarkdownLinkCommand() {
|
|
|
14146
14147
|
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _292 => _292.initial]), () => ( EMPTY_LINK)),
|
|
14147
14148
|
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _293 => _293.editing]), () => ( false)),
|
|
14148
14149
|
onSubmit: (link) => {
|
|
14149
|
-
if (pending) write(pending,
|
|
14150
|
+
if (pending) write(pending, _chunkEV6BPF47cjs.formatMarkdownLink.call(void 0, link));
|
|
14150
14151
|
},
|
|
14151
14152
|
onRemove: () => {
|
|
14152
14153
|
if (pending) write(pending, pending.initial.text);
|
|
@@ -14312,7 +14313,7 @@ function MarkdownEditor({
|
|
|
14312
14313
|
setUploadProgress(`Uploading ${file.name}...`);
|
|
14313
14314
|
try {
|
|
14314
14315
|
const url = await onUploadFile(file);
|
|
14315
|
-
const isImage =
|
|
14316
|
+
const isImage = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === "image";
|
|
14316
14317
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
14317
14318
|
insertTextAtCursor(markdown);
|
|
14318
14319
|
_optionalChain([onFileUploaded, 'optionalCall', _296 => _296(url, file.name)]);
|
|
@@ -14442,7 +14443,7 @@ function MarkdownEditor({
|
|
|
14442
14443
|
type: "file",
|
|
14443
14444
|
className: "hidden",
|
|
14444
14445
|
onChange: handleFileInputChange,
|
|
14445
|
-
accept: `${
|
|
14446
|
+
accept: `${_chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
|
|
14446
14447
|
}
|
|
14447
14448
|
),
|
|
14448
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,
|
|
@@ -14857,7 +14858,7 @@ function matchesAccept2(file, accept) {
|
|
|
14857
14858
|
return patterns.some((pattern) => {
|
|
14858
14859
|
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
|
|
14859
14860
|
if (pattern.endsWith("/*"))
|
|
14860
|
-
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);
|
|
14861
14862
|
return fileType === pattern;
|
|
14862
14863
|
});
|
|
14863
14864
|
}
|
|
@@ -14865,7 +14866,7 @@ function ImageUploader({
|
|
|
14865
14866
|
value,
|
|
14866
14867
|
onChange,
|
|
14867
14868
|
onRemove,
|
|
14868
|
-
accept =
|
|
14869
|
+
accept = _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
|
|
14869
14870
|
maxSize = DEFAULT_MAX_SIZE,
|
|
14870
14871
|
label = "Cover Image",
|
|
14871
14872
|
description = "(Click Here or Drag and Drop)",
|
|
@@ -14886,7 +14887,7 @@ function ImageUploader({
|
|
|
14886
14887
|
const [pressed, setPressed] = _react.useState.call(void 0, false);
|
|
14887
14888
|
const [validationError, setValidationError] = _react.useState.call(void 0, null);
|
|
14888
14889
|
const interactive = !disabled && !loading;
|
|
14889
|
-
const resolvedValue =
|
|
14890
|
+
const resolvedValue = _chunkCOWMXUHNcjs.useAuthedImageSrc.call(void 0, value);
|
|
14890
14891
|
const hasImage = Boolean(value);
|
|
14891
14892
|
const displayError = error || validationError || void 0;
|
|
14892
14893
|
const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
|
|
@@ -15040,7 +15041,7 @@ var _reactcolorful = require('react-colorful');
|
|
|
15040
15041
|
var Popover2 = PopoverPrimitive4.Root;
|
|
15041
15042
|
var PopoverTrigger = PopoverPrimitive4.Trigger;
|
|
15042
15043
|
var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
15043
|
-
const keyboardPadding =
|
|
15044
|
+
const keyboardPadding = _chunkFW7RKWPYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
15044
15045
|
const container = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
|
|
15045
15046
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Portal, { container: _nullishCoalesce(container, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15046
15047
|
PopoverPrimitive4.Content,
|
|
@@ -15098,13 +15099,13 @@ function ColorPresetSelect({
|
|
|
15098
15099
|
...presets.map((p) => ({
|
|
15099
15100
|
id: p.key,
|
|
15100
15101
|
label: p.label,
|
|
15101
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15102
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: p.color }),
|
|
15102
15103
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
15103
15104
|
})),
|
|
15104
15105
|
{
|
|
15105
15106
|
id: CUSTOM_PRESET_KEY,
|
|
15106
15107
|
label: "Custom",
|
|
15107
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15108
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
15108
15109
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
15109
15110
|
}
|
|
15110
15111
|
]
|
|
@@ -15121,7 +15122,7 @@ function ColorPresetSelect({
|
|
|
15121
15122
|
{
|
|
15122
15123
|
disabled,
|
|
15123
15124
|
"aria-label": `Color: ${displayLabel}`,
|
|
15124
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15125
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: displayColor }),
|
|
15125
15126
|
selectedLabel: displayLabel,
|
|
15126
15127
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
15127
15128
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "group", className)
|
|
@@ -15259,7 +15260,7 @@ function ColorPickerInput({
|
|
|
15259
15260
|
{
|
|
15260
15261
|
disabled,
|
|
15261
15262
|
"aria-label": "Pick custom color",
|
|
15262
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15263
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: value }),
|
|
15263
15264
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
15264
15265
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
15265
15266
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "group", className)
|
|
@@ -15331,7 +15332,7 @@ function TicketStatusConfigRow({
|
|
|
15331
15332
|
loading: loadingProp
|
|
15332
15333
|
}) {
|
|
15333
15334
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
15334
|
-
const dragAndDropEnabled =
|
|
15335
|
+
const dragAndDropEnabled = _chunkIUDBG3HJcjs.useDragAndDropEnabled.call(void 0, );
|
|
15335
15336
|
const nameInputId = _react.useId.call(void 0, );
|
|
15336
15337
|
const isSystem = variant === "system";
|
|
15337
15338
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -15340,7 +15341,7 @@ function TicketStatusConfigRow({
|
|
|
15340
15341
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
15341
15342
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
15342
15343
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15343
|
-
|
|
15344
|
+
_chunk6LDL3UZEcjs.TicketStatusTag,
|
|
15344
15345
|
{
|
|
15345
15346
|
loading,
|
|
15346
15347
|
status: statusKey,
|
|
@@ -15457,9 +15458,9 @@ function TicketStatusConfigRow({
|
|
|
15457
15458
|
),
|
|
15458
15459
|
children: [
|
|
15459
15460
|
!isSystem && moveButtons,
|
|
15460
|
-
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 }) }) }) }) : (
|
|
15461
15462
|
// The delete button is a static control: drawn for real in both forms, inert while the status is read.
|
|
15462
|
-
/* @__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,
|
|
15463
15464
|
_chunkFCZAUK4Dcjs.Button,
|
|
15464
15465
|
{
|
|
15465
15466
|
type: "button",
|
|
@@ -15500,7 +15501,7 @@ var TEST_RESULTS_SKELETON_COLUMNS = 6;
|
|
|
15500
15501
|
function TestResultsSkeleton({
|
|
15501
15502
|
region = true
|
|
15502
15503
|
} = {}) {
|
|
15503
|
-
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: [
|
|
15504
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" }) }) }) }),
|
|
15505
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" }) }) }) }) })
|
|
15506
15507
|
] }) }) });
|
|
@@ -15536,13 +15537,13 @@ function TestResultsTable({ rows, loading: loadingProp }) {
|
|
|
15536
15537
|
if (loading) {
|
|
15537
15538
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
15538
15539
|
}
|
|
15539
|
-
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: [
|
|
15540
15541
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
15541
15542
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
15542
15543
|
] }) }) });
|
|
15543
15544
|
}
|
|
15544
15545
|
function TestRunErrorBanner({ error, className }) {
|
|
15545
|
-
const { copy } =
|
|
15546
|
+
const { copy } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
15546
15547
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15547
15548
|
"div",
|
|
15548
15549
|
{
|
|
@@ -15601,7 +15602,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
15601
15602
|
function TestRunStatusStat({ status, className }) {
|
|
15602
15603
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
15603
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: [
|
|
15604
|
-
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: "-" }),
|
|
15605
15606
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
15606
15607
|
] });
|
|
15607
15608
|
}
|
|
@@ -15645,7 +15646,7 @@ function useTestRunState(campaign) {
|
|
|
15645
15646
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
15646
15647
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
15647
15648
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
15648
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
15649
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkJ2IXYCEHcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
15649
15650
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
15650
15651
|
const displayRows = _react.useMemo.call(void 0,
|
|
15651
15652
|
() => campaign.results.map(
|
|
@@ -15684,7 +15685,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
15684
15685
|
),
|
|
15685
15686
|
children: [
|
|
15686
15687
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15687
|
-
|
|
15688
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15688
15689
|
{
|
|
15689
15690
|
src: attachment.thumbnailSrc,
|
|
15690
15691
|
alt: attachment.fileName,
|
|
@@ -15782,7 +15783,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
15782
15783
|
};
|
|
15783
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: [
|
|
15784
15785
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15785
|
-
|
|
15786
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15786
15787
|
{
|
|
15787
15788
|
src: note.authorAvatar,
|
|
15788
15789
|
alt: note.authorName,
|
|
@@ -15967,7 +15968,7 @@ function TicketInfoSection({
|
|
|
15967
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: [
|
|
15968
15969
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
15969
15970
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15970
|
-
|
|
15971
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
15971
15972
|
{
|
|
15972
15973
|
src: _optionalChain([organization, 'optionalAccess', _332 => _332.imageSrc]),
|
|
15973
15974
|
alt: _optionalChain([organization, 'optionalAccess', _333 => _333.name]),
|
|
@@ -15998,7 +15999,7 @@ function TicketInfoSection({
|
|
|
15998
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]) }),
|
|
15999
16000
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16000
16001
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16001
|
-
|
|
16002
|
+
_chunk6LDL3UZEcjs.TicketStatusTag,
|
|
16002
16003
|
{
|
|
16003
16004
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16004
16005
|
label: statusLabel,
|
|
@@ -16028,9 +16029,9 @@ function TicketInfoSection({
|
|
|
16028
16029
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16029
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" }) }),
|
|
16030
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: [
|
|
16031
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16032
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.SimpleMarkdownRenderer, { content: description }),
|
|
16032
16033
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16033
|
-
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)) }) }),
|
|
16034
16035
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16035
16036
|
TicketNotesSection,
|
|
16036
16037
|
{
|
|
@@ -16053,8 +16054,8 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
16053
16054
|
const { label, color } = option;
|
|
16054
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: [
|
|
16055
16056
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16056
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16057
|
-
/* @__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 }) })
|
|
16058
16059
|
] }),
|
|
16059
16060
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16060
16061
|
] });
|
|
@@ -16063,8 +16064,8 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
16063
16064
|
const { label, imageUrl } = option;
|
|
16064
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: [
|
|
16065
16066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16066
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16067
|
-
/* @__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 }) })
|
|
16068
16069
|
] }),
|
|
16069
16070
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16070
16071
|
] });
|
|
@@ -16072,7 +16073,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
16072
16073
|
function withTicketAssigneeAvatars(options) {
|
|
16073
16074
|
return options.map((option) => ({
|
|
16074
16075
|
...option,
|
|
16075
|
-
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" })
|
|
16076
16077
|
}));
|
|
16077
16078
|
}
|
|
16078
16079
|
function TakeOverTicketModal({
|
|
@@ -16105,9 +16106,9 @@ function TakeOverTicketModal({
|
|
|
16105
16106
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
16106
16107
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
16107
16108
|
};
|
|
16108
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16109
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16109
16110
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16110
|
-
/* @__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" }) }),
|
|
16111
16112
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
16112
16113
|
"The ticket ",
|
|
16113
16114
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -16115,19 +16116,19 @@ function TakeOverTicketModal({
|
|
|
16115
16116
|
] }),
|
|
16116
16117
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
16117
16118
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16118
|
-
|
|
16119
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16119
16120
|
{
|
|
16120
16121
|
label: "Status",
|
|
16121
16122
|
options: statusOptions,
|
|
16122
16123
|
value: selectedStatusId,
|
|
16123
16124
|
onChange: setStatusId,
|
|
16124
16125
|
placeholder: "Select Status",
|
|
16125
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16126
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
16126
16127
|
renderOption: renderTicketStatusOption
|
|
16127
16128
|
}
|
|
16128
16129
|
) }),
|
|
16129
16130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16130
|
-
|
|
16131
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16131
16132
|
{
|
|
16132
16133
|
label: "Assigned",
|
|
16133
16134
|
options: withTicketAssigneeAvatars(assigneeOptions),
|
|
@@ -16141,7 +16142,7 @@ function TakeOverTicketModal({
|
|
|
16141
16142
|
}
|
|
16142
16143
|
) })
|
|
16143
16144
|
] }),
|
|
16144
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16145
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16145
16146
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
16146
16147
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
16147
16148
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16201,9 +16202,9 @@ function ReopenTicketModal({
|
|
|
16201
16202
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
16202
16203
|
});
|
|
16203
16204
|
};
|
|
16204
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16205
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16205
16206
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16206
|
-
/* @__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" }) }),
|
|
16207
16208
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
16208
16209
|
"The ticket ",
|
|
16209
16210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -16211,19 +16212,19 @@ function ReopenTicketModal({
|
|
|
16211
16212
|
] }),
|
|
16212
16213
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
16213
16214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16214
|
-
|
|
16215
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16215
16216
|
{
|
|
16216
16217
|
label: "Status",
|
|
16217
16218
|
options: statusOptions,
|
|
16218
16219
|
value: selectedStatusId,
|
|
16219
16220
|
onChange: setStatusId,
|
|
16220
16221
|
placeholder: "Select Status",
|
|
16221
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16222
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
16222
16223
|
renderOption: renderTicketStatusOption
|
|
16223
16224
|
}
|
|
16224
16225
|
) }),
|
|
16225
16226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16226
|
-
|
|
16227
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
16227
16228
|
{
|
|
16228
16229
|
label: "Assigned",
|
|
16229
16230
|
options: withTicketAssigneeAvatars(assigneeOptions),
|
|
@@ -16248,7 +16249,7 @@ function ReopenTicketModal({
|
|
|
16248
16249
|
disabled: isPending
|
|
16249
16250
|
}
|
|
16250
16251
|
) }),
|
|
16251
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16252
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16252
16253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
16253
16254
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
16254
16255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16297,9 +16298,9 @@ function ReopenTicketRequestModal({
|
|
|
16297
16298
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
16298
16299
|
});
|
|
16299
16300
|
};
|
|
16300
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16301
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16301
16302
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16302
|
-
/* @__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" }) }),
|
|
16303
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." }),
|
|
16304
16305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16305
16306
|
Textarea,
|
|
@@ -16323,7 +16324,7 @@ function ReopenTicketRequestModal({
|
|
|
16323
16324
|
disabled: isPending
|
|
16324
16325
|
}
|
|
16325
16326
|
),
|
|
16326
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16327
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJ2IXYCEHcjs.ModalFooter, { children: [
|
|
16327
16328
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
16328
16329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
16329
16330
|
] })
|
|
@@ -16503,7 +16504,7 @@ function PhotoWall({
|
|
|
16503
16504
|
gap: COLUMN_GAP_PX
|
|
16504
16505
|
};
|
|
16505
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,
|
|
16506
|
-
|
|
16507
|
+
_chunkEV6BPF47cjs.MarqueeWall,
|
|
16507
16508
|
{
|
|
16508
16509
|
axis: "y",
|
|
16509
16510
|
reverse: index % 2 === 1,
|
|
@@ -16667,9 +16668,9 @@ function AppWindowFrame({ title, children, footer, agent, className, bodyClassNa
|
|
|
16667
16668
|
// src/components/ui/product-screen-frame.tsx
|
|
16668
16669
|
|
|
16669
16670
|
|
|
16670
|
-
var PRODUCT_SCREEN_DESIGN_WIDTH =
|
|
16671
|
-
var PRODUCT_SCREEN_READABLE_WIDTH =
|
|
16672
|
-
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;
|
|
16673
16674
|
var SCALE_VAR = "--product-screen-scale";
|
|
16674
16675
|
function ProductScreenFrame({
|
|
16675
16676
|
children,
|
|
@@ -16733,7 +16734,7 @@ function ProductScreenFrame({
|
|
|
16733
16734
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "ods-content-area", pending && "product-screen-pending"),
|
|
16734
16735
|
style: screenStyle,
|
|
16735
16736
|
children: [
|
|
16736
|
-
/* @__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 }) }) }),
|
|
16737
16738
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
16738
16739
|
]
|
|
16739
16740
|
}
|
|
@@ -16871,7 +16872,7 @@ function PhoneFrame({ dateLabel, timeLabel, children, className }) {
|
|
|
16871
16872
|
"div",
|
|
16872
16873
|
{
|
|
16873
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),
|
|
16874
|
-
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: [
|
|
16875
16876
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16876
16877
|
"div",
|
|
16877
16878
|
{
|
|
@@ -17048,7 +17049,7 @@ function LoadingLabel({ label, typical }) {
|
|
|
17048
17049
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: label.split(/(\{\w+\})/).map(
|
|
17049
17050
|
(part, index) => /^\{\w+\}$/.test(part) ? (
|
|
17050
17051
|
// biome-ignore lint/suspicious/noArrayIndexKey: the parts of one fixed string never reorder
|
|
17051
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.TextHold, { children: typical }, index)
|
|
17052
17053
|
) : part
|
|
17053
17054
|
) });
|
|
17054
17055
|
}
|
|
@@ -17063,7 +17064,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17063
17064
|
};
|
|
17064
17065
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17065
17066
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17066
|
-
const labels =
|
|
17067
|
+
const labels = _chunkDGY5KEPYcjs.trialLabels.call(void 0, trialDays);
|
|
17067
17068
|
return terms.flatMap((term) => {
|
|
17068
17069
|
const label = labels[term];
|
|
17069
17070
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -17170,7 +17171,7 @@ function AnalyzingState({ label, className }) {
|
|
|
17170
17171
|
}) }),
|
|
17171
17172
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 text-center text-ods-text-secondary text-h4", children: [
|
|
17172
17173
|
label,
|
|
17173
|
-
/* @__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" })
|
|
17174
17175
|
] })
|
|
17175
17176
|
] });
|
|
17176
17177
|
}
|
|
@@ -17184,7 +17185,7 @@ var INCIDENT_TONE = {
|
|
|
17184
17185
|
approved: "success"
|
|
17185
17186
|
};
|
|
17186
17187
|
function IncidentStatusLine({ status, label, className }) {
|
|
17187
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17188
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
|
|
17188
17189
|
}
|
|
17189
17190
|
var FEED_CLASS = "flex min-h-0 flex-1 flex-col gap-3 overflow-hidden p-4 md:px-5";
|
|
17190
17191
|
var FEED_BOTTOM_CLASS = "justify-end [mask-image:linear-gradient(180deg,transparent_0,#000_48px)]";
|
|
@@ -17372,8 +17373,8 @@ function SnapCarousel({
|
|
|
17372
17373
|
}) {
|
|
17373
17374
|
const trackRef = _react.useRef.call(void 0, null);
|
|
17374
17375
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
17375
|
-
const { ref: viewRef, inView } =
|
|
17376
|
-
const auto =
|
|
17376
|
+
const { ref: viewRef, inView } = _chunkFRL2ZN4Ocjs.useInView.call(void 0, { threshold: 0.5 });
|
|
17377
|
+
const auto = _chunkFRL2ZN4Ocjs.useAutoplay.call(void 0, inView);
|
|
17377
17378
|
const count = items.length;
|
|
17378
17379
|
const slideStep = _react.useCallback.call(void 0, () => {
|
|
17379
17380
|
const first = _optionalChain([trackRef, 'access', _349 => _349.current, 'optionalAccess', _350 => _350.firstElementChild]);
|
|
@@ -17417,7 +17418,7 @@ function SnapCarousel({
|
|
|
17417
17418
|
const goNext = _react.useCallback.call(void 0, () => goTo(index >= count - 1 ? 0 : index + 1), [count, goTo, index]);
|
|
17418
17419
|
const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
|
|
17419
17420
|
const playing = auto.playing && canAutoAdvance;
|
|
17420
|
-
const ranMs =
|
|
17421
|
+
const ranMs = _chunkE7M54JWWcjs.useResumableTimeout.call(void 0, {
|
|
17421
17422
|
running: playing,
|
|
17422
17423
|
durationMs: autoAdvanceMs,
|
|
17423
17424
|
resetKey: index,
|
|
@@ -17549,7 +17550,7 @@ function SuperUserBannerView({
|
|
|
17549
17550
|
endAdornment: (
|
|
17550
17551
|
// Below `md` the chip would take the width the tenant name needs, and
|
|
17551
17552
|
// the name is the point of the strip: the chip waits for `md`.
|
|
17552
|
-
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
|
|
17553
17554
|
)
|
|
17554
17555
|
}
|
|
17555
17556
|
);
|
|
@@ -17768,10 +17769,10 @@ function AccountDetailsFields({
|
|
|
17768
17769
|
onKeyDown,
|
|
17769
17770
|
layout = "stacked"
|
|
17770
17771
|
}) {
|
|
17771
|
-
const firstNameErr =
|
|
17772
|
-
const lastNameErr =
|
|
17773
|
-
const passwordErr =
|
|
17774
|
-
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);
|
|
17775
17776
|
const names = [
|
|
17776
17777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17777
17778
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -18097,7 +18098,7 @@ function CompleteAccountForm({
|
|
|
18097
18098
|
),
|
|
18098
18099
|
children: [
|
|
18099
18100
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18100
|
-
/* @__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) }),
|
|
18101
18102
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18102
18103
|
] }),
|
|
18103
18104
|
(ssoProvidersLoading || ssoProviders && ssoProviders.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18231,9 +18232,9 @@ function CreateOrganizationForm({
|
|
|
18231
18232
|
}) {
|
|
18232
18233
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
18233
18234
|
const fieldsDisabled = disabled || loading;
|
|
18234
|
-
const emailErr =
|
|
18235
|
-
const orgNameErr =
|
|
18236
|
-
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);
|
|
18237
18238
|
const handleKeyDown = (event) => {
|
|
18238
18239
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18239
18240
|
onSubmit();
|
|
@@ -18248,7 +18249,7 @@ function CreateOrganizationForm({
|
|
|
18248
18249
|
),
|
|
18249
18250
|
children: [
|
|
18250
18251
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18251
|
-
/* @__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) }),
|
|
18252
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 })
|
|
18253
18254
|
] }),
|
|
18254
18255
|
email === void 0 ? null : emailReadOnly && emailReadOnlyLabel === null ? (
|
|
@@ -18395,7 +18396,7 @@ function InviteLinkInvalidModal({
|
|
|
18395
18396
|
),
|
|
18396
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: [
|
|
18397
18398
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
|
|
18398
|
-
/* @__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) }),
|
|
18399
18400
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18400
18401
|
_chunkFCZAUK4Dcjs.Button,
|
|
18401
18402
|
{
|
|
@@ -18461,7 +18462,7 @@ function LoginForm({
|
|
|
18461
18462
|
}) {
|
|
18462
18463
|
const fieldDisabled = disabled || loading;
|
|
18463
18464
|
const providersDisabled = fieldDisabled || ssoDisabled;
|
|
18464
|
-
const emailErr =
|
|
18465
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
|
|
18465
18466
|
const handleKeyDown = (event) => {
|
|
18466
18467
|
if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
|
|
18467
18468
|
if (onSubmitClick) {
|
|
@@ -18479,7 +18480,7 @@ function LoginForm({
|
|
|
18479
18480
|
),
|
|
18480
18481
|
children: [
|
|
18481
18482
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18482
|
-
/* @__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) }),
|
|
18483
18484
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18484
18485
|
] }),
|
|
18485
18486
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18606,7 +18607,7 @@ function NoAccountNotice({
|
|
|
18606
18607
|
),
|
|
18607
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: [
|
|
18608
18609
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18609
|
-
/* @__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) }),
|
|
18610
18611
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
18611
18612
|
] }),
|
|
18612
18613
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -18639,8 +18640,8 @@ function OpenFrameSsoLoginForm({
|
|
|
18639
18640
|
className
|
|
18640
18641
|
}) {
|
|
18641
18642
|
const fieldsDisabled = disabled || loading;
|
|
18642
|
-
const emailErr =
|
|
18643
|
-
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);
|
|
18644
18645
|
const handleKeyDown = (event) => {
|
|
18645
18646
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18646
18647
|
onSubmit();
|
|
@@ -18655,7 +18656,7 @@ function OpenFrameSsoLoginForm({
|
|
|
18655
18656
|
),
|
|
18656
18657
|
children: [
|
|
18657
18658
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
18658
|
-
/* @__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) }),
|
|
18659
18660
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18660
18661
|
] }),
|
|
18661
18662
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18745,7 +18746,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18745
18746
|
className
|
|
18746
18747
|
}) {
|
|
18747
18748
|
const fieldsDisabled = disabled || loading;
|
|
18748
|
-
const emailErr =
|
|
18749
|
+
const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
|
|
18749
18750
|
const handleKeyDown = (event) => {
|
|
18750
18751
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18751
18752
|
onSubmit();
|
|
@@ -18760,7 +18761,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18760
18761
|
),
|
|
18761
18762
|
children: [
|
|
18762
18763
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
18763
|
-
/* @__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) }),
|
|
18764
18765
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18765
18766
|
] }),
|
|
18766
18767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18850,8 +18851,8 @@ function PasswordResetForm({
|
|
|
18850
18851
|
className
|
|
18851
18852
|
}) {
|
|
18852
18853
|
const fieldsDisabled = disabled || loading;
|
|
18853
|
-
const passwordErr =
|
|
18854
|
-
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);
|
|
18855
18856
|
const handleKeyDown = (event) => {
|
|
18856
18857
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18857
18858
|
onSubmit();
|
|
@@ -18866,7 +18867,7 @@ function PasswordResetForm({
|
|
|
18866
18867
|
),
|
|
18867
18868
|
children: [
|
|
18868
18869
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18869
|
-
/* @__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) }),
|
|
18870
18871
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18871
18872
|
] }),
|
|
18872
18873
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18987,12 +18988,12 @@ function SsoJoinForm({
|
|
|
18987
18988
|
),
|
|
18988
18989
|
children: [
|
|
18989
18990
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18990
|
-
/* @__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) }),
|
|
18991
18992
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18992
18993
|
] }),
|
|
18993
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: [
|
|
18994
18995
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18995
|
-
|
|
18996
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
18996
18997
|
{
|
|
18997
18998
|
loading: identityLoading,
|
|
18998
18999
|
size: "lg",
|
|
@@ -19010,7 +19011,7 @@ function SsoJoinForm({
|
|
|
19010
19011
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
19011
19012
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
19012
19013
|
] }) }),
|
|
19013
|
-
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}`)) })
|
|
19014
19015
|
] }),
|
|
19015
19016
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19016
19017
|
CheckboxBlock,
|
|
@@ -19317,9 +19318,9 @@ function ChangelogManager({
|
|
|
19317
19318
|
] }),
|
|
19318
19319
|
tagOptions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
19319
19320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-ods-text-secondary", children: tagLabel }),
|
|
19320
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
19321
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19322
|
-
/* @__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)) })
|
|
19323
19324
|
] })
|
|
19324
19325
|
] })
|
|
19325
19326
|
] })
|
|
@@ -19423,7 +19424,7 @@ var COMMAND_BOX_CLASS = "flex flex-col gap-2";
|
|
|
19423
19424
|
var COMMAND_BOX_TITLE_CLASS = "text-ods-text-primary text-h4";
|
|
19424
19425
|
var COMMAND_BOX_FRAME_CLASS = "rounded-[6px] border border-ods-border bg-ods-bg p-4";
|
|
19425
19426
|
var COMMAND_BOX_COPY_ROW_CLASS = "flex items-start gap-4";
|
|
19426
|
-
var
|
|
19427
|
+
var COMMAND_BOX_COPY_SLOT_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, _chunk3TOWCFIKcjs.TEXT_LINES_HEIGHT[1], "flex shrink-0 items-center text-code");
|
|
19427
19428
|
var COMMAND_BOX_ACTIONS_CLASS = "mt-4 flex flex-col gap-3 content-md:flex-row content-md:justify-end";
|
|
19428
19429
|
var COMMAND_BOX_ACTION_CLASS = "w-full content-md:w-auto";
|
|
19429
19430
|
var fixedCommandHeight = (visibleLines) => `calc(${visibleLines} * var(--font-line-space-h6-caption))`;
|
|
@@ -19479,18 +19480,7 @@ function CommandBox({
|
|
|
19479
19480
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_FRAME_CLASS, children: [
|
|
19480
19481
|
onCopy ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_COPY_ROW_CLASS, children: [
|
|
19481
19482
|
commandText,
|
|
19482
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19483
|
-
_chunkFCZAUK4Dcjs.Button,
|
|
19484
|
-
{
|
|
19485
|
-
variant: "bare",
|
|
19486
|
-
size: "icon-sm",
|
|
19487
|
-
type: "button",
|
|
19488
|
-
onClick: onCopy,
|
|
19489
|
-
"aria-label": copyAriaLabel,
|
|
19490
|
-
className: COMMAND_BOX_COPY_BUTTON_LAYOUT,
|
|
19491
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYZGRMOLcjs.Copy02Icon, {})
|
|
19492
|
-
}
|
|
19493
|
-
)
|
|
19483
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMMAND_BOX_COPY_SLOT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "bare", size: "icon-sm", type: "button", onClick: onCopy, "aria-label": copyAriaLabel, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYZGRMOLcjs.Copy02Icon, {}) }) })
|
|
19494
19484
|
] }) : commandText,
|
|
19495
19485
|
(primaryAction || secondaryAction) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_ACTIONS_CLASS, children: [
|
|
19496
19486
|
secondaryAction && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19555,16 +19545,7 @@ function CommandBoxSkeleton({
|
|
|
19555
19545
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_FRAME_CLASS, children: [
|
|
19556
19546
|
showCopy ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_COPY_ROW_CLASS, children: [
|
|
19557
19547
|
commandLines,
|
|
19558
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19559
|
-
"span",
|
|
19560
|
-
{
|
|
19561
|
-
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
19562
|
-
_chunkFCZAUK4Dcjs.buttonVariants.call(void 0, { variant: "transparent", size: "icon-sm" }),
|
|
19563
|
-
COMMAND_BOX_COPY_BUTTON_LAYOUT
|
|
19564
|
-
),
|
|
19565
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYZGRMOLcjs.Copy02Icon, {})
|
|
19566
|
-
}
|
|
19567
|
-
)
|
|
19548
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMMAND_BOX_COPY_SLOT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkFCZAUK4Dcjs.buttonVariants.call(void 0, { variant: "bare", size: "icon-sm" })), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYZGRMOLcjs.Copy02Icon, {}) }) })
|
|
19568
19549
|
] }) : commandLines,
|
|
19569
19550
|
(primaryActionLabel || secondaryActionLabel) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMMAND_BOX_ACTIONS_CLASS, children: [
|
|
19570
19551
|
secondaryActionLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -20842,15 +20823,15 @@ function useLoading() {
|
|
|
20842
20823
|
|
|
20843
20824
|
|
|
20844
20825
|
function isAlreadyThere(file, existing) {
|
|
20845
|
-
const key =
|
|
20826
|
+
const key = _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, file.name);
|
|
20846
20827
|
if (!key) return false;
|
|
20847
20828
|
return existing.some(
|
|
20848
|
-
(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)
|
|
20849
20830
|
);
|
|
20850
20831
|
}
|
|
20851
20832
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
20852
|
-
var isVideoItem = (item) =>
|
|
20853
|
-
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 };
|
|
20854
20835
|
var MEDIA_KIND_COPY = {
|
|
20855
20836
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
20856
20837
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -20874,12 +20855,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
20874
20855
|
const seen = /* @__PURE__ */ new Set();
|
|
20875
20856
|
const accepted = [];
|
|
20876
20857
|
for (const file of files) {
|
|
20877
|
-
const mediaType =
|
|
20858
|
+
const mediaType = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file);
|
|
20878
20859
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
20879
20860
|
unsupported.push(file.name);
|
|
20880
20861
|
continue;
|
|
20881
20862
|
}
|
|
20882
|
-
const contentKey = await
|
|
20863
|
+
const contentKey = await _chunkRSJYTQEAcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
20883
20864
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
20884
20865
|
duplicates.push(file.name);
|
|
20885
20866
|
continue;
|
|
@@ -21100,17 +21081,17 @@ function MediaGalleryManager({
|
|
|
21100
21081
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21101
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" }),
|
|
21102
21083
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21103
|
-
|
|
21084
|
+
_chunkWCK5T3UDcjs.Select,
|
|
21104
21085
|
{
|
|
21105
21086
|
value: item.media_type,
|
|
21106
21087
|
onValueChange: (value) => update(index, { media_type: value }),
|
|
21107
21088
|
children: [
|
|
21108
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21109
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21110
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21112
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21113
|
-
/* @__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" })
|
|
21114
21095
|
] })
|
|
21115
21096
|
]
|
|
21116
21097
|
}
|
|
@@ -21494,7 +21475,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
21494
21475
|
empty: "No token rates are in effect right now."
|
|
21495
21476
|
};
|
|
21496
21477
|
function providerMark(providerType, stated, className) {
|
|
21497
|
-
const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0,
|
|
21478
|
+
const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunkDGY5KEPYcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
21498
21479
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
21499
21480
|
}
|
|
21500
21481
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -21512,7 +21493,7 @@ var UNIT_LINE_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
|
21512
21493
|
var TABS_ROW_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
21513
21494
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
21514
21495
|
function useProviderGroup(rates) {
|
|
21515
|
-
const groups =
|
|
21496
|
+
const groups = _chunkDGY5KEPYcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
21516
21497
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
21517
21498
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
21518
21499
|
}
|
|
@@ -21523,7 +21504,7 @@ function ProviderTabs({
|
|
|
21523
21504
|
className
|
|
21524
21505
|
}) {
|
|
21525
21506
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21526
|
-
|
|
21507
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
21527
21508
|
{
|
|
21528
21509
|
variant: "secondary",
|
|
21529
21510
|
scrollable: true,
|
|
@@ -21531,7 +21512,7 @@ function ProviderTabs({
|
|
|
21531
21512
|
onValueChange,
|
|
21532
21513
|
items: groups.map((candidate) => ({
|
|
21533
21514
|
id: candidate.providerType,
|
|
21534
|
-
label:
|
|
21515
|
+
label: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _435 => _435.rates, 'access', _436 => _436[0], 'optionalAccess', _437 => _437.providerLabel])),
|
|
21535
21516
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _438 => _438.rates, 'access', _439 => _439[0], 'optionalAccess', _440 => _440.providerIcon]), "size-full")
|
|
21536
21517
|
})),
|
|
21537
21518
|
className
|
|
@@ -21608,8 +21589,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
21608
21589
|
] }),
|
|
21609
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: [
|
|
21610
21591
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
21611
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
21612
|
-
/* @__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) })
|
|
21613
21594
|
] }, rate.modelName)) })
|
|
21614
21595
|
] }),
|
|
21615
21596
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -21656,7 +21637,7 @@ function modelOption(rate) {
|
|
|
21656
21637
|
return {
|
|
21657
21638
|
label: rate.displayName || rate.modelName,
|
|
21658
21639
|
value: rate.modelName,
|
|
21659
|
-
description:
|
|
21640
|
+
description: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
21660
21641
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
21661
21642
|
};
|
|
21662
21643
|
}
|
|
@@ -21711,9 +21692,9 @@ function ModelTokenExchange({
|
|
|
21711
21692
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
21712
21693
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _441 => _441.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
21713
21694
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
21714
|
-
const tokens =
|
|
21715
|
-
const cost =
|
|
21716
|
-
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);
|
|
21717
21698
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
21718
21699
|
const options = models.map(modelOption);
|
|
21719
21700
|
if (rate && !models.some((candidate) => candidate.modelName === rate.modelName)) options.unshift(modelOption(rate));
|
|
@@ -21755,7 +21736,7 @@ function ModelTokenExchange({
|
|
|
21755
21736
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
21756
21737
|
size: "small",
|
|
21757
21738
|
onClick: () => setChosen(preset.tokens),
|
|
21758
|
-
children: copy.buy.preset(
|
|
21739
|
+
children: copy.buy.preset(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
21759
21740
|
},
|
|
21760
21741
|
preset.label
|
|
21761
21742
|
)) })
|
|
@@ -21772,7 +21753,7 @@ function ModelTokenExchange({
|
|
|
21772
21753
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _442 => _442.providerType]) === providerType ? rate : null)));
|
|
21773
21754
|
return {
|
|
21774
21755
|
id: providerType,
|
|
21775
|
-
name:
|
|
21756
|
+
name: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
|
|
21776
21757
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _444 => _444.providerIcon]), "size-8 text-ods-text-secondary")
|
|
21777
21758
|
};
|
|
21778
21759
|
}),
|
|
@@ -21784,7 +21765,7 @@ function ModelTokenExchange({
|
|
|
21784
21765
|
}
|
|
21785
21766
|
),
|
|
21786
21767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21787
|
-
|
|
21768
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
21788
21769
|
{
|
|
21789
21770
|
fieldLoading: loading,
|
|
21790
21771
|
label: copy.use.model,
|
|
@@ -21811,7 +21792,7 @@ function ModelTokenExchange({
|
|
|
21811
21792
|
{
|
|
21812
21793
|
size: "plain",
|
|
21813
21794
|
loading,
|
|
21814
|
-
figure:
|
|
21795
|
+
figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
|
|
21815
21796
|
words: copy.charge.input
|
|
21816
21797
|
}
|
|
21817
21798
|
),
|
|
@@ -21820,7 +21801,7 @@ function ModelTokenExchange({
|
|
|
21820
21801
|
{
|
|
21821
21802
|
size: "plain",
|
|
21822
21803
|
loading,
|
|
21823
|
-
figure:
|
|
21804
|
+
figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
|
|
21824
21805
|
words: copy.charge.output
|
|
21825
21806
|
}
|
|
21826
21807
|
)
|
|
@@ -21832,9 +21813,9 @@ function ModelTokenExchange({
|
|
|
21832
21813
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
21833
21814
|
children: [
|
|
21834
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) }),
|
|
21835
|
-
/* @__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)) }),
|
|
21836
21817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
21837
|
-
/* @__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))) })
|
|
21838
21819
|
]
|
|
21839
21820
|
}
|
|
21840
21821
|
)
|
|
@@ -22327,7 +22308,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22327
22308
|
}
|
|
22328
22309
|
)
|
|
22329
22310
|
] }),
|
|
22330
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22311
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22331
22312
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHFNBMV5Mcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent content-md:size-6" })
|
|
22332
22313
|
]
|
|
22333
22314
|
}
|
|
@@ -22354,14 +22335,14 @@ var ConfidenceBadge = ({
|
|
|
22354
22335
|
size = "sm",
|
|
22355
22336
|
className
|
|
22356
22337
|
}) => {
|
|
22357
|
-
const level =
|
|
22338
|
+
const level = _chunkDGY5KEPYcjs.getConfidenceLevel.call(void 0, confidence);
|
|
22358
22339
|
if (level === "none") {
|
|
22359
22340
|
return null;
|
|
22360
22341
|
}
|
|
22361
|
-
const label =
|
|
22362
|
-
const borderClass =
|
|
22363
|
-
const textClass =
|
|
22364
|
-
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);
|
|
22365
22346
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22366
22347
|
"span",
|
|
22367
22348
|
{
|
|
@@ -22412,9 +22393,9 @@ function SEOEditorPreview({
|
|
|
22412
22393
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
22413
22394
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
22414
22395
|
const seoTitleLength = (seoTitle || "").length;
|
|
22415
|
-
const seoTitleTooLong = seoTitleLength >
|
|
22396
|
+
const seoTitleTooLong = seoTitleLength > _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH;
|
|
22416
22397
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
22417
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
22398
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
22418
22399
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
22419
22400
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
22420
22401
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -22439,10 +22420,10 @@ function SEOEditorPreview({
|
|
|
22439
22420
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
22440
22421
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22441
22422
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22442
|
-
|
|
22423
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22443
22424
|
{
|
|
22444
22425
|
label: "SEO Title",
|
|
22445
|
-
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,
|
|
22446
22427
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22447
22428
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
22448
22429
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -22457,7 +22438,7 @@ function SEOEditorPreview({
|
|
|
22457
22438
|
children: [
|
|
22458
22439
|
seoTitleLength,
|
|
22459
22440
|
"/",
|
|
22460
|
-
|
|
22441
|
+
_chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH
|
|
22461
22442
|
]
|
|
22462
22443
|
}
|
|
22463
22444
|
),
|
|
@@ -22468,7 +22449,7 @@ function SEOEditorPreview({
|
|
|
22468
22449
|
value: seoTitle || "",
|
|
22469
22450
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
22470
22451
|
disabled,
|
|
22471
|
-
maxLength:
|
|
22452
|
+
maxLength: _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH,
|
|
22472
22453
|
invalid: seoTitleTooLong,
|
|
22473
22454
|
placeholder: "Enter SEO meta title...",
|
|
22474
22455
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -22479,7 +22460,7 @@ function SEOEditorPreview({
|
|
|
22479
22460
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
22480
22461
|
] }),
|
|
22481
22462
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22482
|
-
|
|
22463
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22483
22464
|
{
|
|
22484
22465
|
label: "SEO Keywords",
|
|
22485
22466
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -22511,10 +22492,10 @@ function SEOEditorPreview({
|
|
|
22511
22492
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
22512
22493
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22513
22494
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22514
|
-
|
|
22495
|
+
_chunkDGY5KEPYcjs.Field,
|
|
22515
22496
|
{
|
|
22516
22497
|
label: "SEO Description",
|
|
22517
|
-
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,
|
|
22518
22499
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22519
22500
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
22520
22501
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22537,7 +22518,7 @@ function SEOEditorPreview({
|
|
|
22537
22518
|
children: [
|
|
22538
22519
|
seoDescriptionLength,
|
|
22539
22520
|
"/",
|
|
22540
|
-
|
|
22521
|
+
_chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
22541
22522
|
]
|
|
22542
22523
|
}
|
|
22543
22524
|
),
|
|
@@ -22548,7 +22529,7 @@ function SEOEditorPreview({
|
|
|
22548
22529
|
value: seoDescription || "",
|
|
22549
22530
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
22550
22531
|
disabled,
|
|
22551
|
-
maxLength:
|
|
22532
|
+
maxLength: _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
22552
22533
|
invalid: seoDescriptionTooLong,
|
|
22553
22534
|
placeholder: "Enter SEO meta description...",
|
|
22554
22535
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -22617,7 +22598,7 @@ function SEOEditorPreview({
|
|
|
22617
22598
|
{
|
|
22618
22599
|
ref: setFileInputRef,
|
|
22619
22600
|
type: "file",
|
|
22620
|
-
accept:
|
|
22601
|
+
accept: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
|
|
22621
22602
|
onChange: handleImageUpload,
|
|
22622
22603
|
className: "hidden",
|
|
22623
22604
|
disabled: disabled || isUploading
|
|
@@ -22699,7 +22680,7 @@ function socialIcon(platform) {
|
|
|
22699
22680
|
return _nullishCoalesce(_chunkJQCQCE6Ucjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
22700
22681
|
}
|
|
22701
22682
|
function renderSocialIcon(platform) {
|
|
22702
|
-
const key = _nullishCoalesce(
|
|
22683
|
+
const key = _nullishCoalesce(_chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
22703
22684
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
22704
22685
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
22705
22686
|
}
|
|
@@ -22790,7 +22771,7 @@ function SocialLinksManager({
|
|
|
22790
22771
|
};
|
|
22791
22772
|
const getIcon = (link, platform) => {
|
|
22792
22773
|
const iconKey = _optionalChain([platform, 'optionalAccess', _460 => _460.icon_name]) || link.platform;
|
|
22793
|
-
const key =
|
|
22774
|
+
const key = _chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
22794
22775
|
if (!key) return null;
|
|
22795
22776
|
const icon = socialIcon(key);
|
|
22796
22777
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -22806,9 +22787,9 @@ function SocialLinksManager({
|
|
|
22806
22787
|
children: [
|
|
22807
22788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center", children: Icon }),
|
|
22808
22789
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid flex-1 grid-cols-2 gap-3", children: [
|
|
22809
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22810
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22811
|
-
/* @__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)) })
|
|
22812
22793
|
] }) }),
|
|
22813
22794
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22814
22795
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -22826,15 +22807,15 @@ function SocialLinksManager({
|
|
|
22826
22807
|
)
|
|
22827
22808
|
] }),
|
|
22828
22809
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22829
|
-
|
|
22810
|
+
_chunkWCK5T3UDcjs.Select,
|
|
22830
22811
|
{
|
|
22831
22812
|
value: _nullishCoalesce(link.visibility, () => ( "external")),
|
|
22832
22813
|
onValueChange: (value) => updateLink(index, "visibility", value),
|
|
22833
22814
|
children: [
|
|
22834
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22835
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22836
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22837
|
-
/* @__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" })
|
|
22838
22819
|
] })
|
|
22839
22820
|
]
|
|
22840
22821
|
}
|
|
@@ -23258,7 +23239,7 @@ function VideoBitesDisplay({
|
|
|
23258
23239
|
filterPublished = true,
|
|
23259
23240
|
showTitle = true
|
|
23260
23241
|
}) {
|
|
23261
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23242
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23262
23243
|
}
|
|
23263
23244
|
|
|
23264
23245
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23287,7 +23268,7 @@ function WalkthroughVideo({
|
|
|
23287
23268
|
onOpenChange,
|
|
23288
23269
|
defaultOpen,
|
|
23289
23270
|
defaultOpenPaused,
|
|
23290
|
-
deepLinkParam =
|
|
23271
|
+
deepLinkParam = _chunkDGY5KEPYcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
23291
23272
|
autoPlayCard = false,
|
|
23292
23273
|
label = "Play Demo Video",
|
|
23293
23274
|
placement,
|
|
@@ -23304,7 +23285,7 @@ function WalkthroughVideo({
|
|
|
23304
23285
|
const inline = placement === "inline";
|
|
23305
23286
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
23306
23287
|
const dismissEnabled = dismissal !== false;
|
|
23307
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
23288
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkDGY5KEPYcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
23308
23289
|
const dismissalId = _optionalChain([video, 'optionalAccess', _466 => _466.id]) != null ? String(video.id) : "dismissed";
|
|
23309
23290
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
23310
23291
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -23316,7 +23297,7 @@ function WalkthroughVideo({
|
|
|
23316
23297
|
let delayElapsed = false;
|
|
23317
23298
|
let interacted = inline;
|
|
23318
23299
|
const reveal = () => {
|
|
23319
|
-
if (dismissEnabled &&
|
|
23300
|
+
if (dismissEnabled && _chunkDGY5KEPYcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
23320
23301
|
setDismissed(true);
|
|
23321
23302
|
return;
|
|
23322
23303
|
}
|
|
@@ -23353,7 +23334,7 @@ function WalkthroughVideo({
|
|
|
23353
23334
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23354
23335
|
};
|
|
23355
23336
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
23356
|
-
const hydrated =
|
|
23337
|
+
const hydrated = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
23357
23338
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23358
23339
|
if (!hydrated) return false;
|
|
23359
23340
|
try {
|
|
@@ -23603,7 +23584,7 @@ function WalkthroughVideo({
|
|
|
23603
23584
|
(e) => {
|
|
23604
23585
|
e.stopPropagation();
|
|
23605
23586
|
pausePreviewNow();
|
|
23606
|
-
if (dismissEnabled)
|
|
23587
|
+
if (dismissEnabled) _chunkDGY5KEPYcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
23607
23588
|
setDismissed(true);
|
|
23608
23589
|
},
|
|
23609
23590
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -23778,7 +23759,7 @@ function WalkthroughVideo({
|
|
|
23778
23759
|
`card-${embedUrlKey}`
|
|
23779
23760
|
) }),
|
|
23780
23761
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23781
|
-
|
|
23762
|
+
_chunkEV6BPF47cjs.CardHitLayer,
|
|
23782
23763
|
{
|
|
23783
23764
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
23784
23765
|
onPointerDown: pausePreviewNow,
|
|
@@ -23787,7 +23768,7 @@ function WalkthroughVideo({
|
|
|
23787
23768
|
}
|
|
23788
23769
|
),
|
|
23789
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: [
|
|
23790
|
-
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" }),
|
|
23791
23772
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
23792
23773
|
] }),
|
|
23793
23774
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23950,7 +23931,7 @@ function useWalkthroughVideo(opts) {
|
|
|
23950
23931
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
23951
23932
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
23952
23933
|
const enabled = enabledGiven && !inScope;
|
|
23953
|
-
const captions =
|
|
23934
|
+
const captions = _chunkEV6BPF47cjs.useCaptions.call(void 0, );
|
|
23954
23935
|
const query = _reactquery.useQuery.call(void 0, {
|
|
23955
23936
|
queryKey: ["walkthrough-video", endpoint],
|
|
23956
23937
|
enabled,
|
|
@@ -24604,19 +24585,19 @@ function HighlightVideoSection({
|
|
|
24604
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: [
|
|
24605
24586
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { children: "Target Duration" }),
|
|
24606
24587
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24607
|
-
|
|
24588
|
+
_chunkWCK5T3UDcjs.Select,
|
|
24608
24589
|
{
|
|
24609
24590
|
value: targetDurationSeconds.toString(),
|
|
24610
24591
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
24611
24592
|
disabled,
|
|
24612
24593
|
children: [
|
|
24613
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24614
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24615
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24616
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24617
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24619
|
-
/* @__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" })
|
|
24620
24601
|
] })
|
|
24621
24602
|
]
|
|
24622
24603
|
}
|
|
@@ -24701,20 +24682,20 @@ function HighlightConfigSection({
|
|
|
24701
24682
|
disabled = false,
|
|
24702
24683
|
className = ""
|
|
24703
24684
|
}) {
|
|
24704
|
-
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,
|
|
24705
|
-
|
|
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,
|
|
24706
24687
|
{
|
|
24707
24688
|
value: targetDurationSeconds.toString(),
|
|
24708
24689
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
24709
24690
|
disabled,
|
|
24710
24691
|
children: [
|
|
24711
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24712
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24713
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24714
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24715
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24716
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24717
|
-
/* @__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" })
|
|
24718
24699
|
] })
|
|
24719
24700
|
]
|
|
24720
24701
|
}
|
|
@@ -24802,7 +24783,7 @@ var AIStatusIndicator = ({
|
|
|
24802
24783
|
}) => {
|
|
24803
24784
|
const config = statusConfig[status];
|
|
24804
24785
|
const displayText = message || config.label;
|
|
24805
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
24786
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
24806
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: [
|
|
24807
24788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24808
24789
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -24810,7 +24791,7 @@ var AIStatusIndicator = ({
|
|
|
24810
24791
|
size: 16,
|
|
24811
24792
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24812
24793
|
status === "loading" && _chunk3TOWCFIKcjs.LIVE_PULSE_CLASS,
|
|
24813
|
-
confidence !== void 0 && status === "success" ?
|
|
24794
|
+
confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
24814
24795
|
)
|
|
24815
24796
|
}
|
|
24816
24797
|
),
|
|
@@ -24819,7 +24800,7 @@ var AIStatusIndicator = ({
|
|
|
24819
24800
|
{
|
|
24820
24801
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24821
24802
|
"text-h6",
|
|
24822
|
-
confidence !== void 0 && status === "success" ?
|
|
24803
|
+
confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
24823
24804
|
),
|
|
24824
24805
|
children: displayText
|
|
24825
24806
|
}
|
|
@@ -24829,8 +24810,8 @@ var AIStatusIndicator = ({
|
|
|
24829
24810
|
{
|
|
24830
24811
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
24831
24812
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
24832
|
-
|
|
24833
|
-
|
|
24813
|
+
_chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
24814
|
+
_chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
24834
24815
|
),
|
|
24835
24816
|
children: confidenceLabel
|
|
24836
24817
|
}
|
|
@@ -25406,7 +25387,7 @@ function ApprovalLevelView({
|
|
|
25406
25387
|
] });
|
|
25407
25388
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
|
|
25408
25389
|
name,
|
|
25409
|
-
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 })
|
|
25410
25391
|
] });
|
|
25411
25392
|
}
|
|
25412
25393
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, EDITABLE_ROW_CLASS, className), children: [
|
|
@@ -25451,7 +25432,7 @@ function ApprovalLevelView({
|
|
|
25451
25432
|
] });
|
|
25452
25433
|
}
|
|
25453
25434
|
function ApprovalLevelSkeleton({ editable = false, showLabel = true, className }) {
|
|
25454
|
-
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;
|
|
25455
25436
|
if (!editable) {
|
|
25456
25437
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
|
|
25457
25438
|
name,
|
|
@@ -25553,7 +25534,7 @@ var CategorySection = ({
|
|
|
25553
25534
|
}) => {
|
|
25554
25535
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingGiven;
|
|
25555
25536
|
const isExpanded = isExpandedProp && !loading;
|
|
25556
|
-
const { innerRef, containerStyle } =
|
|
25537
|
+
const { innerRef, containerStyle } = _chunk6LDL3UZEcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25557
25538
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25558
25539
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25559
25540
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25710,7 +25691,7 @@ function OpenPolicyButton({ href, name }) {
|
|
|
25710
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,
|
|
25711
25692
|
_chunkFCZAUK4Dcjs.Button,
|
|
25712
25693
|
{
|
|
25713
|
-
onClick: loading ? void 0 :
|
|
25694
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
25714
25695
|
disabled: loading,
|
|
25715
25696
|
variant: "outline",
|
|
25716
25697
|
size: "icon",
|
|
@@ -25749,8 +25730,8 @@ function PoliciesTable({
|
|
|
25749
25730
|
accessorKey: "name",
|
|
25750
25731
|
header: "Name",
|
|
25751
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: [
|
|
25752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25753
|
-
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 })
|
|
25754
25735
|
] }),
|
|
25755
25736
|
meta: { width: "flex-1 min-w-0" }
|
|
25756
25737
|
},
|
|
@@ -25782,7 +25763,7 @@ function PoliciesTable({
|
|
|
25782
25763
|
cell: ({ row }) => {
|
|
25783
25764
|
const { status } = row.original;
|
|
25784
25765
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-1", children: [
|
|
25785
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25766
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { className: "self-start", label: status.label, variant: status.variant }),
|
|
25786
25767
|
status.note && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `text-h6 ${NOTE_TONE_CLASS[status.note.tone]}`, children: status.note.text })
|
|
25787
25768
|
] });
|
|
25788
25769
|
},
|
|
@@ -25892,7 +25873,7 @@ function PolicySummaryCards({ summary, isLoading = false, hasData = true, now })
|
|
|
25892
25873
|
DashboardInfoCard,
|
|
25893
25874
|
{
|
|
25894
25875
|
title: "Updated",
|
|
25895
|
-
value: hasData && summary.lastUpdatedAt ?
|
|
25876
|
+
value: hasData && summary.lastUpdatedAt ? _chunk6LDL3UZEcjs.formatRelativeTimeFrom.call(void 0, summary.lastUpdatedAt, _nullishCoalesce(now, () => ( /* @__PURE__ */ new Date()))) : EMPTY_VALUE,
|
|
25896
25877
|
valueClassName: "!text-h3",
|
|
25897
25878
|
tooltip: "Policy compliance stats are updated hourly. View a policy's devices for real-time status."
|
|
25898
25879
|
}
|
|
@@ -26008,7 +25989,7 @@ function toValidInstant(iso) {
|
|
|
26008
25989
|
function formatLastRead(iso, now = /* @__PURE__ */ new Date()) {
|
|
26009
25990
|
const date = toValidInstant(iso);
|
|
26010
25991
|
if (!date) return TENANT_EMPTY_VALUE;
|
|
26011
|
-
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);
|
|
26012
25993
|
}
|
|
26013
25994
|
function usersCountLabel(count) {
|
|
26014
25995
|
if (count == null) return TENANT_EMPTY_VALUE;
|
|
@@ -26020,8 +26001,8 @@ function usersCountLabel(count) {
|
|
|
26020
26001
|
function TenantAccessCell({ accessState, lastReadAt: lastReadAt2, now }) {
|
|
26021
26002
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
26022
26003
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26023
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26024
|
-
/* @__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)}` })
|
|
26025
26006
|
] });
|
|
26026
26007
|
}
|
|
26027
26008
|
|
|
@@ -26033,9 +26014,9 @@ function TenantCell({ provider, name, domain }) {
|
|
|
26033
26014
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26034
26015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26035
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" }),
|
|
26036
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26017
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name })
|
|
26037
26018
|
] }),
|
|
26038
|
-
/* @__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)) })
|
|
26039
26020
|
] });
|
|
26040
26021
|
}
|
|
26041
26022
|
|
|
@@ -26045,10 +26026,10 @@ function TenantCustomerCell({ name, imageUrl, userCount }) {
|
|
|
26045
26026
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
26046
26027
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26047
26028
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26048
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26049
|
-
/* @__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 })
|
|
26050
26031
|
] }),
|
|
26051
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26032
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", loading, children: usersCountLabel(userCount) })
|
|
26052
26033
|
] });
|
|
26053
26034
|
}
|
|
26054
26035
|
|
|
@@ -26084,7 +26065,7 @@ function OpenTenantButton({ href, name }) {
|
|
|
26084
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,
|
|
26085
26066
|
_chunkFCZAUK4Dcjs.Button,
|
|
26086
26067
|
{
|
|
26087
|
-
onClick: loading ? void 0 :
|
|
26068
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
26088
26069
|
disabled: loading,
|
|
26089
26070
|
variant: "outline",
|
|
26090
26071
|
size: "icon",
|
|
@@ -26216,13 +26197,13 @@ function WaitlistForm({
|
|
|
26216
26197
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26217
26198
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26218
26199
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26219
|
-
const { toast } =
|
|
26220
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26200
|
+
const { toast } = _chunkE7M54JWWcjs.useToast.call(void 0, );
|
|
26201
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkE7M54JWWcjs.useHumanitySignals.call(void 0, );
|
|
26221
26202
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26222
|
-
const isClient =
|
|
26203
|
+
const isClient = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
|
|
26223
26204
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26224
26205
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26225
|
-
const rescue =
|
|
26206
|
+
const rescue = _chunkE7M54JWWcjs.useFormRescue.call(void 0, {
|
|
26226
26207
|
form: rescueForm,
|
|
26227
26208
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
26228
26209
|
fieldNames: ["email", "phone"],
|
|
@@ -26234,7 +26215,7 @@ function WaitlistForm({
|
|
|
26234
26215
|
_react.useEffect.call(void 0, () => {
|
|
26235
26216
|
rescue.track({ email, phone }, null);
|
|
26236
26217
|
}, [email, phone, rescue]);
|
|
26237
|
-
const isMailDomainGeneric =
|
|
26218
|
+
const isMailDomainGeneric = _chunkDGY5KEPYcjs.hasGenericEmailDomain.call(void 0, email);
|
|
26238
26219
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26239
26220
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
26240
26221
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -26268,7 +26249,7 @@ function WaitlistForm({
|
|
|
26268
26249
|
setShowConsentError(true);
|
|
26269
26250
|
return;
|
|
26270
26251
|
}
|
|
26271
|
-
const finalPhone = phone ?
|
|
26252
|
+
const finalPhone = phone ? _chunkDGY5KEPYcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
26272
26253
|
try {
|
|
26273
26254
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
26274
26255
|
rescue.complete();
|
|
@@ -26855,7 +26836,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26855
26836
|
}, [mobileBreakpoint]);
|
|
26856
26837
|
const panelRef = _react.useRef.call(void 0, null);
|
|
26857
26838
|
const available = useContainerExtent(resizable, isHorizontal, portalContainer);
|
|
26858
|
-
const { size, setSize, clampSize } =
|
|
26839
|
+
const { size, setSize, clampSize } = _chunkWI7EXAZTcjs.useResizablePanelSize.call(void 0, {
|
|
26859
26840
|
enabled: resizable,
|
|
26860
26841
|
minSize,
|
|
26861
26842
|
maxSize,
|
|
@@ -26875,7 +26856,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26875
26856
|
"data-state": open ? "open" : "closed",
|
|
26876
26857
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
26877
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",
|
|
26878
|
-
|
|
26859
|
+
_chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
|
|
26879
26860
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26880
26861
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26881
26862
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26918,7 +26899,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26918
26899
|
children: [
|
|
26919
26900
|
props["aria-label"] ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Title, { className: "sr-only", children: props["aria-label"] }) : null,
|
|
26920
26901
|
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26921
|
-
|
|
26902
|
+
_chunkEV6BPF47cjs.PanelResizeHandle,
|
|
26922
26903
|
{
|
|
26923
26904
|
variant: "inLayout",
|
|
26924
26905
|
side: resolvedSide,
|
|
@@ -26957,11 +26938,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26957
26938
|
}
|
|
26958
26939
|
);
|
|
26959
26940
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26960
|
-
var AppLayoutDrawerHeader =
|
|
26961
|
-
var AppLayoutDrawerTitle =
|
|
26962
|
-
var AppLayoutDrawerDescription =
|
|
26963
|
-
var AppLayoutDrawerBody =
|
|
26964
|
-
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;
|
|
26965
26946
|
|
|
26966
26947
|
// src/components/features/notifications/notification-tile.tsx
|
|
26967
26948
|
|
|
@@ -26980,7 +26961,7 @@ var typeColorByVariant = {
|
|
|
26980
26961
|
error: "text-ods-error"
|
|
26981
26962
|
};
|
|
26982
26963
|
var progressColorByVariant2 = {
|
|
26983
|
-
...
|
|
26964
|
+
..._chunkE7M54JWWcjs.progressColorByVariant,
|
|
26984
26965
|
default: "bg-ods-accent",
|
|
26985
26966
|
info: "bg-ods-accent"
|
|
26986
26967
|
};
|
|
@@ -27074,7 +27055,7 @@ function LoadedNotificationTile({
|
|
|
27074
27055
|
height: _chunkJQCQCE6Ucjs.IMAGE_FIXED_PX.icon,
|
|
27075
27056
|
unoptimized: true
|
|
27076
27057
|
}
|
|
27077
|
-
) : _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]) }))) }),
|
|
27078
27059
|
type ? lockscreen ? (
|
|
27079
27060
|
// A phone names the sender in plain words and never cuts them.
|
|
27080
27061
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
|
|
@@ -27084,7 +27065,7 @@ function LoadedNotificationTile({
|
|
|
27084
27065
|
{
|
|
27085
27066
|
dateTime: createdAtIso,
|
|
27086
27067
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", lockscreen && "self-start"),
|
|
27087
|
-
children: _nullishCoalesce(timeLabel, () => (
|
|
27068
|
+
children: _nullishCoalesce(timeLabel, () => ( _chunk6LDL3UZEcjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
|
|
27088
27069
|
}
|
|
27089
27070
|
) : null,
|
|
27090
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: [
|
|
@@ -27252,7 +27233,7 @@ function NotificationDrawer({
|
|
|
27252
27233
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27253
27234
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27254
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,
|
|
27255
|
-
|
|
27236
|
+
_chunkWI7EXAZTcjs.DrawerTitle,
|
|
27256
27237
|
{
|
|
27257
27238
|
hideClose: !showClose,
|
|
27258
27239
|
className: "truncate",
|
|
@@ -27315,8 +27296,8 @@ function NotificationDrawer({
|
|
|
27315
27296
|
}
|
|
27316
27297
|
) });
|
|
27317
27298
|
}
|
|
27318
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27319
|
-
|
|
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,
|
|
27320
27301
|
{
|
|
27321
27302
|
side: "right",
|
|
27322
27303
|
"aria-describedby": void 0,
|
|
@@ -27412,7 +27393,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
27412
27393
|
] });
|
|
27413
27394
|
}
|
|
27414
27395
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
27415
|
-
const { supported, permission, request } =
|
|
27396
|
+
const { supported, permission, request } = _chunkE7M54JWWcjs.useNotificationPermission.call(void 0, );
|
|
27416
27397
|
if (!supported) return null;
|
|
27417
27398
|
const blocked = permission === "denied";
|
|
27418
27399
|
const handleChange = async (value) => {
|
|
@@ -27477,7 +27458,7 @@ var ASSISTANT_CATEGORY = "MINGO";
|
|
|
27477
27458
|
function notificationCategoryIcon(category) {
|
|
27478
27459
|
const key = _optionalChain([category, 'optionalAccess', _558 => _558.toUpperCase, 'call', _559 => _559()]);
|
|
27479
27460
|
if (!key) return void 0;
|
|
27480
|
-
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" });
|
|
27481
27462
|
const icon = Object.prototype.hasOwnProperty.call(ICON_BY_CATEGORY, key) ? ICON_BY_CATEGORY[key] : void 0;
|
|
27482
27463
|
return icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJQCQCE6Ucjs.NamedIcon, { icon, size: 16 }) : void 0;
|
|
27483
27464
|
}
|
|
@@ -27612,13 +27593,13 @@ function getApprovalMeta(notification) {
|
|
|
27612
27593
|
function resolutionToStatus(resolution) {
|
|
27613
27594
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27614
27595
|
case "APPROVED":
|
|
27615
|
-
return
|
|
27596
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.APPROVED;
|
|
27616
27597
|
case "REJECTED":
|
|
27617
|
-
return
|
|
27598
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.REJECTED;
|
|
27618
27599
|
case "CANCELLED":
|
|
27619
|
-
return
|
|
27600
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.CANCELLED;
|
|
27620
27601
|
default:
|
|
27621
|
-
return
|
|
27602
|
+
return _chunkJ2IXYCEHcjs.APPROVAL_STATUS.PENDING;
|
|
27622
27603
|
}
|
|
27623
27604
|
}
|
|
27624
27605
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27663,7 +27644,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27663
27644
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _573 => _573.resolution]));
|
|
27664
27645
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27665
27646
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27666
|
-
const { innerRef, containerStyle } =
|
|
27647
|
+
const { innerRef, containerStyle } = _chunk6LDL3UZEcjs.useCollapsible.call(void 0, { expanded });
|
|
27667
27648
|
if (!approval || !batchData) return null;
|
|
27668
27649
|
const tileNotification = {
|
|
27669
27650
|
...notification,
|
|
@@ -27726,7 +27707,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27726
27707
|
}
|
|
27727
27708
|
)
|
|
27728
27709
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27729
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27710
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ApprovalStatusTag, { status }),
|
|
27730
27711
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27731
27712
|
"by ",
|
|
27732
27713
|
approval.resolvedByName
|
|
@@ -27744,12 +27725,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27744
27725
|
"aria-expanded": expanded,
|
|
27745
27726
|
"aria-label": toggleLabel,
|
|
27746
27727
|
className: APPROVAL_TOGGLE_BUTTON_CLASS,
|
|
27747
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27728
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LDL3UZEcjs.ExpandChevron, { expanded })
|
|
27748
27729
|
}
|
|
27749
27730
|
)
|
|
27750
27731
|
] }),
|
|
27751
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,
|
|
27752
|
-
|
|
27733
|
+
_chunk6LDL3UZEcjs.ApprovalBatchMessage,
|
|
27753
27734
|
{
|
|
27754
27735
|
data: batchData,
|
|
27755
27736
|
showExecutionStatus: false,
|
|
@@ -27822,7 +27803,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
27822
27803
|
const { label, imageUrl } = option;
|
|
27823
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: [
|
|
27824
27805
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
27825
|
-
/* @__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" }),
|
|
27826
27807
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
27827
27808
|
] }),
|
|
27828
27809
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -27906,7 +27887,7 @@ function TimeTrackerPanel({
|
|
|
27906
27887
|
}));
|
|
27907
27888
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
27908
27889
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27909
|
-
|
|
27890
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
27910
27891
|
{
|
|
27911
27892
|
src: selectedCustomer.imageUrl,
|
|
27912
27893
|
alt: selectedCustomer.label,
|
|
@@ -27986,7 +27967,7 @@ function TimeTrackerPanel({
|
|
|
27986
27967
|
] }),
|
|
27987
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: [
|
|
27988
27969
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27989
|
-
|
|
27970
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
27990
27971
|
{
|
|
27991
27972
|
value: selectedTicketId,
|
|
27992
27973
|
onChange: onSelectedTicketChange,
|
|
@@ -28002,7 +27983,7 @@ function TimeTrackerPanel({
|
|
|
28002
27983
|
}
|
|
28003
27984
|
),
|
|
28004
27985
|
showCustomer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28005
|
-
|
|
27986
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
28006
27987
|
{
|
|
28007
27988
|
value: _nullishCoalesce(selectedCustomerId, () => ( null)),
|
|
28008
27989
|
onChange: onSelectedCustomerChange,
|
|
@@ -28085,7 +28066,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28085
28066
|
function StatusTag({ status }) {
|
|
28086
28067
|
if (status === "tracking") {
|
|
28087
28068
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28088
|
-
|
|
28069
|
+
_chunkNFNSPLGCcjs.Tag,
|
|
28089
28070
|
{
|
|
28090
28071
|
variant: "success",
|
|
28091
28072
|
className: STATUS_TAG_SKIN,
|
|
@@ -28095,9 +28076,9 @@ function StatusTag({ status }) {
|
|
|
28095
28076
|
);
|
|
28096
28077
|
}
|
|
28097
28078
|
if (status === "paused") {
|
|
28098
|
-
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" });
|
|
28099
28080
|
}
|
|
28100
|
-
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" });
|
|
28101
28082
|
}
|
|
28102
28083
|
function LastEntryRow({ entry, onClick }) {
|
|
28103
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: [
|
|
@@ -28295,7 +28276,7 @@ function TimeTrackerHeaderButton({
|
|
|
28295
28276
|
"data-state": isOpen ? "open" : "closed",
|
|
28296
28277
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
28297
28278
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
28298
|
-
|
|
28279
|
+
_chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
|
|
28299
28280
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28300
28281
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28301
28282
|
)
|
|
@@ -28322,7 +28303,7 @@ function TimeTrackerHeaderButton({
|
|
|
28322
28303
|
|
|
28323
28304
|
// src/components/features/devices/device-last-online.ts
|
|
28324
28305
|
function formatLastOnline(lastSeen) {
|
|
28325
|
-
return `Last Online: ${lastSeen ?
|
|
28306
|
+
return `Last Online: ${lastSeen ? _chunk6LDL3UZEcjs.formatRelativeTime.call(void 0, lastSeen) : "\u2014"}`;
|
|
28326
28307
|
}
|
|
28327
28308
|
|
|
28328
28309
|
// src/components/features/devices/device-name.ts
|
|
@@ -28366,7 +28347,7 @@ var SELECTION_MODE_OPTIONS = [
|
|
|
28366
28347
|
label: "Select Devices by Criteria",
|
|
28367
28348
|
description: CRITERIA_MODE_DESCRIPTION,
|
|
28368
28349
|
disabled: true,
|
|
28369
|
-
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28350
|
+
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: "Coming Soon", variant: "grey" })
|
|
28370
28351
|
}
|
|
28371
28352
|
];
|
|
28372
28353
|
var SELECTION_MODE_OPTIONS_ENABLED = [
|
|
@@ -28471,7 +28452,7 @@ function getDeviceStatusConfig(status) {
|
|
|
28471
28452
|
}
|
|
28472
28453
|
}
|
|
28473
28454
|
function getDeviceOperatingSystem(osType) {
|
|
28474
|
-
return
|
|
28455
|
+
return _chunkDGY5KEPYcjs.getOSPlatformId.call(void 0, osType);
|
|
28475
28456
|
}
|
|
28476
28457
|
|
|
28477
28458
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -28646,8 +28627,8 @@ function DevicesFilterToolbar({
|
|
|
28646
28627
|
|
|
28647
28628
|
|
|
28648
28629
|
function formatDateTime(input) {
|
|
28649
|
-
const date =
|
|
28650
|
-
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)}`;
|
|
28651
28632
|
}
|
|
28652
28633
|
function uniqueById(options) {
|
|
28653
28634
|
const seen = /* @__PURE__ */ new Map();
|
|
@@ -28671,7 +28652,7 @@ function OpenDeviceButton({ device }) {
|
|
|
28671
28652
|
const href = loading ? void 0 : _optionalChain([getDeviceHref, 'optionalCall', _602 => _602(device)]);
|
|
28672
28653
|
const open = (event) => {
|
|
28673
28654
|
event.preventDefault();
|
|
28674
|
-
if (href)
|
|
28655
|
+
if (href) _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href });
|
|
28675
28656
|
};
|
|
28676
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,
|
|
28677
28658
|
_chunkFCZAUK4Dcjs.Button,
|
|
@@ -28765,13 +28746,13 @@ function DevicesTableBody({
|
|
|
28765
28746
|
function OrganizationCell({ device }) {
|
|
28766
28747
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
28767
28748
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
28768
|
-
/* @__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" }),
|
|
28769
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 }) })
|
|
28770
28751
|
] });
|
|
28771
28752
|
}
|
|
28772
28753
|
function OrganizationName({ name }) {
|
|
28773
28754
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) && !name) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h4", className: "w-3/4" });
|
|
28774
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28755
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, children: _nullishCoalesce(name, () => ( "")) });
|
|
28775
28756
|
}
|
|
28776
28757
|
function DeviceLastSeen({ lastSeen }) {
|
|
28777
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" });
|
|
@@ -28817,7 +28798,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
28817
28798
|
const device = row.original;
|
|
28818
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: [
|
|
28819
28800
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
28820
|
-
/* @__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) }) })
|
|
28821
28802
|
] });
|
|
28822
28803
|
},
|
|
28823
28804
|
meta: { width: "flex-1 content-md:w-1/4" }
|
|
@@ -28830,7 +28811,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
28830
28811
|
const device = row.original;
|
|
28831
28812
|
const statusConfig2 = getDeviceStatusConfig(device.status);
|
|
28832
28813
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col items-start gap-1", children: [
|
|
28833
|
-
/* @__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 }) }),
|
|
28834
28815
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceLastSeen, { lastSeen: device.last_seen })
|
|
28835
28816
|
] });
|
|
28836
28817
|
},
|
|
@@ -28883,7 +28864,7 @@ function useTagFilterModal({
|
|
|
28883
28864
|
setParams,
|
|
28884
28865
|
onApplied = scrollMainToTop
|
|
28885
28866
|
}) {
|
|
28886
|
-
const isMdUp =
|
|
28867
|
+
const isMdUp = _chunkCOWMXUHNcjs.useMdUp.call(void 0, );
|
|
28887
28868
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
28888
28869
|
const pendingFiltersRef = _react.useRef.call(void 0, {});
|
|
28889
28870
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -28989,7 +28970,7 @@ function CustomerCell({ device }) {
|
|
|
28989
28970
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
28990
28971
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
28991
28972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28992
|
-
|
|
28973
|
+
_chunkWCK5T3UDcjs.EntityImage,
|
|
28993
28974
|
{
|
|
28994
28975
|
src: fullImageUrl,
|
|
28995
28976
|
alt: device.organization || "Customer",
|
|
@@ -28997,8 +28978,8 @@ function CustomerCell({ device }) {
|
|
|
28997
28978
|
}
|
|
28998
28979
|
),
|
|
28999
28980
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
29000
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29001
|
-
(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, () => ( "")) })
|
|
29002
28983
|
] })
|
|
29003
28984
|
] });
|
|
29004
28985
|
}
|
|
@@ -29007,15 +28988,15 @@ function DeviceCell({ device }) {
|
|
|
29007
28988
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 items-center gap-3", children: [
|
|
29008
28989
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
29009
28990
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
|
|
29010
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29011
|
-
/* @__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) })
|
|
29012
28993
|
] })
|
|
29013
28994
|
] });
|
|
29014
28995
|
}
|
|
29015
28996
|
function StatusCell({ status }) {
|
|
29016
|
-
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" });
|
|
29017
28998
|
const config = getDeviceStatusConfig(status);
|
|
29018
|
-
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" });
|
|
29019
29000
|
}
|
|
29020
29001
|
function InertInScope({ children }) {
|
|
29021
29002
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { loading: _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ), className: "contents", children });
|
|
@@ -29790,7 +29771,7 @@ function DevicesList({
|
|
|
29790
29771
|
const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
|
|
29791
29772
|
const narrowed = isNarrowed(narrowing);
|
|
29792
29773
|
const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
|
|
29793
|
-
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } =
|
|
29774
|
+
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE7M54JWWcjs.useStickyToolbar.call(void 0, );
|
|
29794
29775
|
const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
|
|
29795
29776
|
const actionsColumn = _react.useMemo.call(void 0, () => rowActions2 ? getDeviceActionsColumn(rowActions2) : void 0, [rowActions2]);
|
|
29796
29777
|
return (
|
|
@@ -30017,7 +29998,7 @@ function DevicesPanelView({
|
|
|
30017
29998
|
] })
|
|
30018
29999
|
] });
|
|
30019
30000
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30020
|
-
|
|
30001
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
30021
30002
|
{
|
|
30022
30003
|
title,
|
|
30023
30004
|
backButton,
|
|
@@ -30025,7 +30006,7 @@ function DevicesPanelView({
|
|
|
30025
30006
|
actionsVariant: "icon-buttons",
|
|
30026
30007
|
className,
|
|
30027
30008
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30028
|
-
|
|
30009
|
+
_chunkEV6BPF47cjs.TabSelector,
|
|
30029
30010
|
{
|
|
30030
30011
|
value: viewMode,
|
|
30031
30012
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _656 => _656(value)]),
|
|
@@ -30091,7 +30072,7 @@ var PACKAGE_SEARCH_LABEL = "Software Name";
|
|
|
30091
30072
|
var PACKAGE_SEARCH_PLACEHOLDER = "Search for Software";
|
|
30092
30073
|
function PackageSearchFieldPlaceholder({ error }) {
|
|
30093
30074
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30094
|
-
|
|
30075
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
30095
30076
|
{
|
|
30096
30077
|
label: PACKAGE_SEARCH_LABEL,
|
|
30097
30078
|
labelVariant: "large",
|
|
@@ -30146,16 +30127,16 @@ function SoftwareScheduleFields({
|
|
|
30146
30127
|
] }),
|
|
30147
30128
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30148
30129
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Time" }),
|
|
30149
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30150
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30151
|
-
/* @__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)) })
|
|
30152
30133
|
] })
|
|
30153
30134
|
] }),
|
|
30154
30135
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30155
30136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Timezone" }),
|
|
30156
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30157
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30158
|
-
/* @__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)) })
|
|
30159
30140
|
] })
|
|
30160
30141
|
] })
|
|
30161
30142
|
]
|
|
@@ -30221,22 +30202,22 @@ function newSoftwareRow(key) {
|
|
|
30221
30202
|
|
|
30222
30203
|
function InfoCell2({ value, label }) {
|
|
30223
30204
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
30224
|
-
/* @__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" }) }) }),
|
|
30225
30206
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: label })
|
|
30226
30207
|
] });
|
|
30227
30208
|
}
|
|
30228
30209
|
function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSearch }) {
|
|
30229
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: [
|
|
30230
30211
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30231
|
-
|
|
30212
|
+
_chunkWCK5T3UDcjs.Select,
|
|
30232
30213
|
{
|
|
30233
30214
|
value: row.packageManager,
|
|
30234
30215
|
onValueChange: (value) => onChange({ ...row, packageManager: value, pkg: null }),
|
|
30235
30216
|
children: [
|
|
30236
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30237
|
-
/* @__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) => {
|
|
30238
30219
|
const Icon = PACKAGE_MANAGER_ICON[manager];
|
|
30239
|
-
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: [
|
|
30240
30221
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 20, className: "shrink-0 text-ods-text-secondary" }),
|
|
30241
30222
|
PACKAGE_MANAGER_LABEL[manager]
|
|
30242
30223
|
] }) }, manager);
|
|
@@ -30268,6 +30249,190 @@ function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSe
|
|
|
30268
30249
|
] });
|
|
30269
30250
|
}
|
|
30270
30251
|
|
|
30252
|
+
// src/components/features/software/update-settings-fields.tsx
|
|
30253
|
+
|
|
30254
|
+
var DAY = 24 * 60 * 60;
|
|
30255
|
+
var MINUTE = 60;
|
|
30256
|
+
var SOFTWARE_UPDATE_DEADLINE_OPTIONS = [
|
|
30257
|
+
{ seconds: DAY, label: "1 day after the first try" },
|
|
30258
|
+
{ seconds: 3 * DAY, label: "3 days after the first try" },
|
|
30259
|
+
{ seconds: 7 * DAY, label: "7 days after the first try" },
|
|
30260
|
+
{ seconds: 14 * DAY, label: "14 days after the first try" },
|
|
30261
|
+
{ seconds: 30 * DAY, label: "30 days after the first try" }
|
|
30262
|
+
];
|
|
30263
|
+
var SOFTWARE_UPDATE_COUNTDOWN_OPTIONS = [
|
|
30264
|
+
{ seconds: MINUTE, label: "1 minute" },
|
|
30265
|
+
{ seconds: 5 * MINUTE, label: "5 minutes" },
|
|
30266
|
+
{ seconds: 15 * MINUTE, label: "15 minutes" },
|
|
30267
|
+
{ seconds: 30 * MINUTE, label: "30 minutes" }
|
|
30268
|
+
];
|
|
30269
|
+
var DEFAULT_SOFTWARE_UPDATE_POLICY = {
|
|
30270
|
+
mode: "WAIT",
|
|
30271
|
+
deadlineEnabled: true,
|
|
30272
|
+
deadlineSeconds: 7 * DAY,
|
|
30273
|
+
countdownSeconds: 5 * MINUTE
|
|
30274
|
+
};
|
|
30275
|
+
var DEFAULT_SOFTWARE_UPDATE_SETTINGS = {
|
|
30276
|
+
policy: DEFAULT_SOFTWARE_UPDATE_POLICY,
|
|
30277
|
+
autoUpdate: true,
|
|
30278
|
+
sameForAutoUpdate: true,
|
|
30279
|
+
autoUpdatePolicy: DEFAULT_SOFTWARE_UPDATE_POLICY
|
|
30280
|
+
};
|
|
30281
|
+
var MODE_OPTIONS = [
|
|
30282
|
+
{
|
|
30283
|
+
value: "WAIT",
|
|
30284
|
+
label: "Wait & notify",
|
|
30285
|
+
description: "The user gets Update now or Ask Later. If they close the app, it updates then."
|
|
30286
|
+
},
|
|
30287
|
+
{
|
|
30288
|
+
value: "FORCE",
|
|
30289
|
+
label: "Force Update",
|
|
30290
|
+
description: "The user gets a short countdown, then the app closes and updates."
|
|
30291
|
+
}
|
|
30292
|
+
];
|
|
30293
|
+
var SAME_SETTINGS_DESCRIPTION = {
|
|
30294
|
+
WAIT: 'Auto-updates follow "If the app is running" above. Uncheck to set them separately.',
|
|
30295
|
+
FORCE: "Later releases will also be force-updated."
|
|
30296
|
+
};
|
|
30297
|
+
var groupLabelClass = "text-h5 text-ods-text-secondary";
|
|
30298
|
+
function SecondsSelect({
|
|
30299
|
+
label,
|
|
30300
|
+
value,
|
|
30301
|
+
options,
|
|
30302
|
+
onChange
|
|
30303
|
+
}) {
|
|
30304
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30305
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: label }),
|
|
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
|
+
] })
|
|
30310
|
+
] });
|
|
30311
|
+
}
|
|
30312
|
+
function UpdatePolicyFields({
|
|
30313
|
+
name,
|
|
30314
|
+
label,
|
|
30315
|
+
policy,
|
|
30316
|
+
onChange
|
|
30317
|
+
}) {
|
|
30318
|
+
const waits = policy.mode === "WAIT";
|
|
30319
|
+
const deadline = waits && policy.deadlineEnabled;
|
|
30320
|
+
const countdown = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30321
|
+
SecondsSelect,
|
|
30322
|
+
{
|
|
30323
|
+
label: "Countdown",
|
|
30324
|
+
value: policy.countdownSeconds,
|
|
30325
|
+
options: SOFTWARE_UPDATE_COUNTDOWN_OPTIONS,
|
|
30326
|
+
onChange: (countdownSeconds) => onChange({ ...policy, countdownSeconds })
|
|
30327
|
+
}
|
|
30328
|
+
);
|
|
30329
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
30330
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30331
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: groupLabelClass, children: label }),
|
|
30332
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30333
|
+
RadioGroupBlock,
|
|
30334
|
+
{
|
|
30335
|
+
name,
|
|
30336
|
+
"aria-label": label,
|
|
30337
|
+
variant: "grouped",
|
|
30338
|
+
value: policy.mode,
|
|
30339
|
+
onValueChange: (mode) => onChange({ ...policy, mode }),
|
|
30340
|
+
options: MODE_OPTIONS,
|
|
30341
|
+
itemClassName: "py-[var(--spacing-system-sf)]"
|
|
30342
|
+
}
|
|
30343
|
+
)
|
|
30344
|
+
] }),
|
|
30345
|
+
waits ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
30346
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30347
|
+
CheckboxBlock,
|
|
30348
|
+
{
|
|
30349
|
+
id: `${name}-deadline`,
|
|
30350
|
+
checked: policy.deadlineEnabled,
|
|
30351
|
+
onCheckedChange: (deadlineEnabled) => onChange({ ...policy, deadlineEnabled }),
|
|
30352
|
+
label: "Countdown after the deadline",
|
|
30353
|
+
description: "If the update still isn\u2019t installed by the deadline, the user gets a countdown and then it installs."
|
|
30354
|
+
}
|
|
30355
|
+
),
|
|
30356
|
+
deadline && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-[var(--spacing-system-lf)] content-md:grid-cols-3 content-md:items-start", children: [
|
|
30357
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30358
|
+
SecondsSelect,
|
|
30359
|
+
{
|
|
30360
|
+
label: "Deadline",
|
|
30361
|
+
value: policy.deadlineSeconds,
|
|
30362
|
+
options: SOFTWARE_UPDATE_DEADLINE_OPTIONS,
|
|
30363
|
+
onChange: (deadlineSeconds) => onChange({ ...policy, deadlineSeconds })
|
|
30364
|
+
}
|
|
30365
|
+
),
|
|
30366
|
+
countdown
|
|
30367
|
+
] })
|
|
30368
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-[var(--spacing-system-lf)] content-md:grid-cols-3", children: countdown })
|
|
30369
|
+
] });
|
|
30370
|
+
}
|
|
30371
|
+
function SoftwareUpdateSettingsFields({ value, onChange }) {
|
|
30372
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { "aria-labelledby": "software-update-settings", className: "flex flex-col gap-[var(--spacing-system-l)]", children: [
|
|
30373
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: "software-update-settings", className: "pt-[var(--spacing-system-l)] text-ods-text-primary text-h2", children: "Update Settings" }),
|
|
30374
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30375
|
+
UpdatePolicyFields,
|
|
30376
|
+
{
|
|
30377
|
+
name: "updatePolicy",
|
|
30378
|
+
label: "If the app is running",
|
|
30379
|
+
policy: value.policy,
|
|
30380
|
+
onChange: (policy) => onChange({ ...value, policy })
|
|
30381
|
+
}
|
|
30382
|
+
),
|
|
30383
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30384
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: groupLabelClass, children: "Auto-update" }),
|
|
30385
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: [
|
|
30386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30387
|
+
CheckboxBlock,
|
|
30388
|
+
{
|
|
30389
|
+
id: "software-auto-update",
|
|
30390
|
+
checked: value.autoUpdate,
|
|
30391
|
+
onCheckedChange: (autoUpdate) => onChange({ ...value, autoUpdate }),
|
|
30392
|
+
label: "Keep it auto-updated",
|
|
30393
|
+
description: "After this update, OpenFrame installs each new version from Winget or Brew on the selected devices. When off, only this update runs."
|
|
30394
|
+
}
|
|
30395
|
+
),
|
|
30396
|
+
value.autoUpdate && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
30397
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30398
|
+
CheckboxBlock,
|
|
30399
|
+
{
|
|
30400
|
+
id: "software-auto-update-same",
|
|
30401
|
+
checked: value.sameForAutoUpdate,
|
|
30402
|
+
onCheckedChange: (sameForAutoUpdate) => onChange({ ...value, sameForAutoUpdate }),
|
|
30403
|
+
label: "Same settings for auto-update",
|
|
30404
|
+
description: SAME_SETTINGS_DESCRIPTION[value.policy.mode]
|
|
30405
|
+
}
|
|
30406
|
+
),
|
|
30407
|
+
!value.sameForAutoUpdate && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-[6px] border border-ods-border p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30408
|
+
UpdatePolicyFields,
|
|
30409
|
+
{
|
|
30410
|
+
name: "autoUpdatePolicy",
|
|
30411
|
+
label: "For auto-updates",
|
|
30412
|
+
policy: value.autoUpdatePolicy,
|
|
30413
|
+
onChange: (autoUpdatePolicy) => onChange({ ...value, autoUpdatePolicy })
|
|
30414
|
+
}
|
|
30415
|
+
) })
|
|
30416
|
+
] })
|
|
30417
|
+
] })
|
|
30418
|
+
] }),
|
|
30419
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30420
|
+
Alert,
|
|
30421
|
+
{
|
|
30422
|
+
role: "note",
|
|
30423
|
+
className: "flex items-center gap-[var(--spacing-system-m)] rounded-[6px] border-ods-border bg-ods-card p-[var(--spacing-system-m)]",
|
|
30424
|
+
children: [
|
|
30425
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { size: 24, color: "currentColor" }) }),
|
|
30426
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30427
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h3", children: "Apps installed by hand get reinstalled" }),
|
|
30428
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "On the first update, OpenFrame reinstalls them with Winget or Brew so it can keep them updated." })
|
|
30429
|
+
] })
|
|
30430
|
+
]
|
|
30431
|
+
}
|
|
30432
|
+
)
|
|
30433
|
+
] });
|
|
30434
|
+
}
|
|
30435
|
+
|
|
30271
30436
|
// src/components/features/software/software-action-form.tsx
|
|
30272
30437
|
|
|
30273
30438
|
var INITIAL_ROWS = () => [newSoftwareRow("row-0")];
|
|
@@ -30284,6 +30449,7 @@ function SoftwareActionForm({
|
|
|
30284
30449
|
renderDevicePicker,
|
|
30285
30450
|
addRows = true,
|
|
30286
30451
|
runModeLayout = "stacked",
|
|
30452
|
+
showUpdateSettings = false,
|
|
30287
30453
|
showDeviceHeading = true,
|
|
30288
30454
|
className = "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]"
|
|
30289
30455
|
}) {
|
|
@@ -30293,13 +30459,24 @@ function SoftwareActionForm({
|
|
|
30293
30459
|
const [date, setDate] = _react.useState.call(void 0, _nullishCoalesce(initialValues.date, () => ( null)));
|
|
30294
30460
|
const [time, setTime] = _react.useState.call(void 0, _nullishCoalesce(initialValues.time, () => ( "")));
|
|
30295
30461
|
const [timeReference, setTimeReference] = _react.useState.call(void 0, initialValues.timeReference);
|
|
30462
|
+
const [updateSettings, setUpdateSettings] = _react.useState.call(void 0,
|
|
30463
|
+
() => _nullishCoalesce(initialValues.updateSettings, () => ( DEFAULT_SOFTWARE_UPDATE_SETTINGS))
|
|
30464
|
+
);
|
|
30465
|
+
const withUpdateSettings = action === "UPDATE" && showUpdateSettings;
|
|
30296
30466
|
const osTypesKey = [...new Set(rows.map((row) => PACKAGE_MANAGER_OS[row.packageManager]))].sort().join(",");
|
|
30297
30467
|
const actions = [
|
|
30298
30468
|
...onBack ? [{ label: "Cancel", onClick: onBack, variant: "outline", showOnlyMobile: true }] : [],
|
|
30299
30469
|
{
|
|
30300
30470
|
label: mode === "now" ? copy.runLabel : copy.scheduleLabel,
|
|
30301
30471
|
variant: "accent",
|
|
30302
|
-
onClick: () => onSubmit({
|
|
30472
|
+
onClick: () => onSubmit({
|
|
30473
|
+
rows,
|
|
30474
|
+
mode,
|
|
30475
|
+
date,
|
|
30476
|
+
time,
|
|
30477
|
+
timeReference,
|
|
30478
|
+
updateSettings: withUpdateSettings ? updateSettings : void 0
|
|
30479
|
+
}),
|
|
30303
30480
|
disabled: submitDisabled,
|
|
30304
30481
|
loading: submitting
|
|
30305
30482
|
}
|
|
@@ -30334,7 +30511,7 @@ function SoftwareActionForm({
|
|
|
30334
30511
|
}
|
|
30335
30512
|
);
|
|
30336
30513
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30337
|
-
|
|
30514
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
30338
30515
|
{
|
|
30339
30516
|
title: copy.formTitle,
|
|
30340
30517
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -30373,6 +30550,7 @@ function SoftwareActionForm({
|
|
|
30373
30550
|
runModeField,
|
|
30374
30551
|
scheduleFields
|
|
30375
30552
|
] }),
|
|
30553
|
+
withUpdateSettings && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SoftwareUpdateSettingsFields, { value: updateSettings, onChange: setUpdateSettings }),
|
|
30376
30554
|
showDeviceHeading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "pt-[var(--spacing-system-l)] text-ods-text-primary text-h2", children: "Device Selection" }),
|
|
30377
30555
|
renderDevicePicker({ osTypes: osTypesKey.split(","), osTypesKey })
|
|
30378
30556
|
]
|
|
@@ -30415,7 +30593,7 @@ function LogDrawer({
|
|
|
30415
30593
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AppLayoutDrawerHeader, { children: [
|
|
30416
30594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerTitle, { children: "Log Details" }),
|
|
30417
30595
|
(statusTag || timestamp) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
30418
|
-
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30596
|
+
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: statusTag.label, variant: statusTag.variant }),
|
|
30419
30597
|
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: timestamp })
|
|
30420
30598
|
] })
|
|
30421
30599
|
] }),
|
|
@@ -30423,7 +30601,7 @@ function LogDrawer({
|
|
|
30423
30601
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 space-y-4 overflow-y-auto", children: [
|
|
30424
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 }) }),
|
|
30425
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: [
|
|
30426
|
-
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 }),
|
|
30427
30605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: field.label })
|
|
30428
30606
|
] }, typeof field.label === "string" ? field.label : "")) }),
|
|
30429
30607
|
children
|
|
@@ -30471,7 +30649,7 @@ function LogsPageView({
|
|
|
30471
30649
|
],
|
|
30472
30650
|
[onRefresh]
|
|
30473
30651
|
);
|
|
30474
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30652
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.PageLayout, { title: "Logs", actions, showHeader, className, children: [
|
|
30475
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: [
|
|
30476
30654
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30477
30655
|
_chunkSWF6TNZ3cjs.Input,
|
|
@@ -30560,11 +30738,11 @@ var ToolBadge = ({
|
|
|
30560
30738
|
iconClassName
|
|
30561
30739
|
}) => {
|
|
30562
30740
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30563
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
30741
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkDGY5KEPYcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
30564
30742
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBUEEQD3Gcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
30565
30743
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
30566
30744
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30567
|
-
|
|
30745
|
+
_chunkEV6BPF47cjs.NavLinkAnchorViaRuntime,
|
|
30568
30746
|
{
|
|
30569
30747
|
href,
|
|
30570
30748
|
targetPlatform,
|
|
@@ -30629,8 +30807,8 @@ function LogSourceCell({ device }) {
|
|
|
30629
30807
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30630
30808
|
const { deviceName, organization } = logSourceLabels(device);
|
|
30631
30809
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] flex-col justify-center gap-1 py-2", children: [
|
|
30632
|
-
(deviceName || loading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30633
|
-
(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, () => ( "")) })
|
|
30634
30812
|
] });
|
|
30635
30813
|
}
|
|
30636
30814
|
function LogRowButton({
|
|
@@ -30685,8 +30863,8 @@ function LogsTableView({
|
|
|
30685
30863
|
accessorKey: "logId",
|
|
30686
30864
|
header: logIdHeader ? () => logIdHeader : "Log ID",
|
|
30687
30865
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col justify-center", children: [
|
|
30688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30689
|
-
/* @__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 })
|
|
30690
30868
|
] }),
|
|
30691
30869
|
enableSorting: false,
|
|
30692
30870
|
meta: { width: LOG_COLUMN_WIDTHS.logId, alwaysShowHeader: true }
|
|
@@ -30694,7 +30872,7 @@ function LogsTableView({
|
|
|
30694
30872
|
{
|
|
30695
30873
|
accessorKey: "status",
|
|
30696
30874
|
header: "Status",
|
|
30697
|
-
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 }) }),
|
|
30698
30876
|
enableSorting: false,
|
|
30699
30877
|
filterFn: multiSelect,
|
|
30700
30878
|
meta: {
|
|
@@ -30714,7 +30892,7 @@ function LogsTableView({
|
|
|
30714
30892
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30715
30893
|
ToolBadge,
|
|
30716
30894
|
{
|
|
30717
|
-
toolType:
|
|
30895
|
+
toolType: _chunkDGY5KEPYcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
30718
30896
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
30719
30897
|
}
|
|
30720
30898
|
),
|
|
@@ -30726,7 +30904,7 @@ function LogsTableView({
|
|
|
30726
30904
|
filter: {
|
|
30727
30905
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _664 => _664.toolTypes, 'access', _665 => _665.map, 'call', _666 => _666((toolType) => ({
|
|
30728
30906
|
id: toolType,
|
|
30729
|
-
label:
|
|
30907
|
+
label: _chunkDGY5KEPYcjs.toToolLabel.call(void 0, toolType),
|
|
30730
30908
|
value: toolType
|
|
30731
30909
|
}))]), () => ( []))
|
|
30732
30910
|
}
|
|
@@ -30747,7 +30925,7 @@ function LogsTableView({
|
|
|
30747
30925
|
{
|
|
30748
30926
|
accessorKey: "description",
|
|
30749
30927
|
header: "Log Details",
|
|
30750
|
-
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 }),
|
|
30751
30929
|
enableSorting: false,
|
|
30752
30930
|
meta: { width: LOG_COLUMN_WIDTHS.description, hideAt: "lg" }
|
|
30753
30931
|
},
|
|
@@ -30775,7 +30953,7 @@ function LogsTableView({
|
|
|
30775
30953
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30776
30954
|
LogRowButton,
|
|
30777
30955
|
{
|
|
30778
|
-
onClick: getLogHref ?
|
|
30956
|
+
onClick: getLogHref ? _chunkDGY5KEPYcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
30779
30957
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
30780
30958
|
label: "Open in new tab"
|
|
30781
30959
|
}
|
|
@@ -30938,30 +31116,30 @@ function scriptExecutionStatus(status) {
|
|
|
30938
31116
|
|
|
30939
31117
|
function ExecutionSourceBadge({ source, className }) {
|
|
30940
31118
|
const tagProps = { as: "span", variant: "outline", className: _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0", className) };
|
|
30941
|
-
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" });
|
|
30942
31120
|
if (source === "AI_ASSISTANT") {
|
|
30943
|
-
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" }) });
|
|
30944
31122
|
}
|
|
30945
31123
|
return null;
|
|
30946
31124
|
}
|
|
30947
31125
|
function ExecutionTimestampCell({ timestamp, executionId }) {
|
|
30948
31126
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
30949
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30950
|
-
/* @__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 })
|
|
30951
31129
|
] });
|
|
30952
31130
|
}
|
|
30953
31131
|
function ExecutionStatusCell({ status }) {
|
|
30954
31132
|
const presentation = scriptExecutionStatus(status);
|
|
30955
|
-
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")) }) });
|
|
30956
31134
|
}
|
|
30957
31135
|
function ExecutionDeviceCell({ name, organization }) {
|
|
30958
31136
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30959
31137
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
30960
31138
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-1", children: [
|
|
30961
31139
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
30962
|
-
/* @__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 })
|
|
30963
31141
|
] }),
|
|
30964
|
-
(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, () => ( "")) })
|
|
30965
31143
|
] });
|
|
30966
31144
|
}
|
|
30967
31145
|
function ExecutionInitiatorCell({
|
|
@@ -30974,16 +31152,16 @@ function ExecutionInitiatorCell({
|
|
|
30974
31152
|
avatar,
|
|
30975
31153
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
30976
31154
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
30977
|
-
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31155
|
+
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: name }) : name,
|
|
30978
31156
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExecutionSourceBadge, { source })
|
|
30979
31157
|
] }),
|
|
30980
|
-
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31158
|
+
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", tone: "secondary", children: scriptName })
|
|
30981
31159
|
] })
|
|
30982
31160
|
] });
|
|
30983
31161
|
}
|
|
30984
31162
|
function ExecutionResultCell({ result, empty = null }) {
|
|
30985
31163
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
30986
|
-
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 });
|
|
30987
31165
|
}
|
|
30988
31166
|
function ScriptExecutionResult({
|
|
30989
31167
|
result,
|
|
@@ -31003,14 +31181,14 @@ function ScriptExecutionResult({
|
|
|
31003
31181
|
|
|
31004
31182
|
function ScriptNameCell({ name, description }) {
|
|
31005
31183
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31006
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31007
|
-
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 })
|
|
31008
31186
|
] });
|
|
31009
31187
|
}
|
|
31010
31188
|
function ScheduleDateTimeCell({ date, time }) {
|
|
31011
31189
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31012
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31013
|
-
/* @__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 })
|
|
31014
31192
|
] });
|
|
31015
31193
|
}
|
|
31016
31194
|
|
|
@@ -31097,7 +31275,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31097
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,
|
|
31098
31276
|
_chunkFCZAUK4Dcjs.Button,
|
|
31099
31277
|
{
|
|
31100
|
-
onClick: loading ? void 0 :
|
|
31278
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
31101
31279
|
disabled: loading,
|
|
31102
31280
|
variant: "outline",
|
|
31103
31281
|
size: "icon",
|
|
@@ -31141,7 +31319,7 @@ function ScriptExecutionsTable({
|
|
|
31141
31319
|
ExecutionInitiatorCell,
|
|
31142
31320
|
{
|
|
31143
31321
|
avatar: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31144
|
-
|
|
31322
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
31145
31323
|
{
|
|
31146
31324
|
variant: "round",
|
|
31147
31325
|
size: "md",
|
|
@@ -31240,7 +31418,7 @@ function ScriptSchedulesTable({
|
|
|
31240
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" })),
|
|
31241
31419
|
cell(
|
|
31242
31420
|
SCHEDULE_COLUMNS.dateTime,
|
|
31243
|
-
(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
|
|
31244
31422
|
),
|
|
31245
31423
|
cell(
|
|
31246
31424
|
SCHEDULE_COLUMNS.repeat,
|
|
@@ -31286,9 +31464,9 @@ function ScriptSchedulesTable({
|
|
|
31286
31464
|
|
|
31287
31465
|
// src/components/features/scripts/shell-types.ts
|
|
31288
31466
|
var SCRIPT_SHELL_TYPES = [
|
|
31289
|
-
{ id:
|
|
31290
|
-
{ id:
|
|
31291
|
-
{ 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 }
|
|
31292
31470
|
];
|
|
31293
31471
|
function scriptShellType(value) {
|
|
31294
31472
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -31354,7 +31532,7 @@ function ScriptsTable({
|
|
|
31354
31532
|
SCRIPT_COLUMNS.authorId,
|
|
31355
31533
|
(row) => row.author ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
31356
31534
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31357
|
-
|
|
31535
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
31358
31536
|
{
|
|
31359
31537
|
variant: "round",
|
|
31360
31538
|
size: "sm",
|
|
@@ -31364,7 +31542,7 @@ function ScriptsTable({
|
|
|
31364
31542
|
initialsClassName: "text-ods-text-secondary"
|
|
31365
31543
|
}
|
|
31366
31544
|
),
|
|
31367
|
-
/* @__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 }) })
|
|
31368
31546
|
] }) : null
|
|
31369
31547
|
)
|
|
31370
31548
|
];
|
|
@@ -31490,7 +31668,7 @@ function slotValue(minutesOfDay) {
|
|
|
31490
31668
|
return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`;
|
|
31491
31669
|
}
|
|
31492
31670
|
function slotLabel(minutesOfDay) {
|
|
31493
|
-
return
|
|
31671
|
+
return _chunkJ2IXYCEHcjs.formatTime.call(void 0, new Date(1970, 0, 1, Math.floor(minutesOfDay / 60), minutesOfDay % 60));
|
|
31494
31672
|
}
|
|
31495
31673
|
function getTimeSlotOptions(forDate, timeReference) {
|
|
31496
31674
|
const base = slotBaseMinutes(timeReference);
|
|
@@ -31712,7 +31890,7 @@ function ReconnectWindowFields({
|
|
|
31712
31890
|
}
|
|
31713
31891
|
),
|
|
31714
31892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31715
|
-
|
|
31893
|
+
_chunkWCK5T3UDcjs.Select,
|
|
31716
31894
|
{
|
|
31717
31895
|
value: unit,
|
|
31718
31896
|
onValueChange: (value) => {
|
|
@@ -31721,8 +31899,8 @@ function ReconnectWindowFields({
|
|
|
31721
31899
|
},
|
|
31722
31900
|
disabled,
|
|
31723
31901
|
children: [
|
|
31724
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31725
|
-
/* @__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)) })
|
|
31726
31904
|
]
|
|
31727
31905
|
}
|
|
31728
31906
|
)
|
|
@@ -31792,7 +31970,7 @@ function ScheduleOfflineFields({ showErrors, disabled = false }) {
|
|
|
31792
31970
|
options
|
|
31793
31971
|
}
|
|
31794
31972
|
),
|
|
31795
|
-
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 }) })
|
|
31796
31974
|
]
|
|
31797
31975
|
}
|
|
31798
31976
|
) }) })
|
|
@@ -31868,7 +32046,7 @@ function useSortableListContext() {
|
|
|
31868
32046
|
}
|
|
31869
32047
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
31870
32048
|
const listRef = _react.useRef.call(void 0, null);
|
|
31871
|
-
const dragAndDropEnabled =
|
|
32049
|
+
const dragAndDropEnabled = _chunkIUDBG3HJcjs.useDragAndDropEnabled.call(void 0, );
|
|
31872
32050
|
const dragType = _react.useId.call(void 0, );
|
|
31873
32051
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
31874
32052
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -31901,8 +32079,8 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
31901
32079
|
// Dragging towards the edge of the screen — or past it — scrolls whatever
|
|
31902
32080
|
// actually scrolls there: the page, the layout's `<main>`, or the list
|
|
31903
32081
|
// itself when it has its own overflow.
|
|
31904
|
-
|
|
31905
|
-
|
|
32082
|
+
_chunk744JXTDPcjs.autoScrollAncestors.call(void 0, list),
|
|
32083
|
+
_chunk744JXTDPcjs.autoScrollBothWays.call(void 0, list),
|
|
31906
32084
|
// One target for the whole list: which slot a drop lands in is answered by
|
|
31907
32085
|
// geometry, so this only has to say "inside the list, or outside it".
|
|
31908
32086
|
_adapter.dropTargetForElements.call(void 0, {
|
|
@@ -32200,7 +32378,7 @@ function useSortableItem() {
|
|
|
32200
32378
|
return _combine.combine.call(void 0,
|
|
32201
32379
|
// The drag has to start as a "move", or its first frame is drawn with the
|
|
32202
32380
|
// copy cursor — see `drag-effect.ts`.
|
|
32203
|
-
|
|
32381
|
+
_chunk744JXTDPcjs.holdMoveDragEffect.call(void 0, item),
|
|
32204
32382
|
_adapter.draggable.call(void 0, {
|
|
32205
32383
|
element: item,
|
|
32206
32384
|
dragHandle: handle,
|
|
@@ -32247,7 +32425,7 @@ function ScheduleScriptPickerCard({
|
|
|
32247
32425
|
const selected = watch(`scripts.${index}`);
|
|
32248
32426
|
const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _707 => _707.scriptId]);
|
|
32249
32427
|
const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
|
|
32250
|
-
const isMdUp =
|
|
32428
|
+
const isMdUp = _chunkUAI4VMEFcjs.useContentMdUp.call(void 0, );
|
|
32251
32429
|
const handleScriptPick = (row) => {
|
|
32252
32430
|
if (!row) {
|
|
32253
32431
|
setValue(`scripts.${index}`, EMPTY_SCHEDULE_SCRIPT_ROW, { shouldValidate: true });
|
|
@@ -32630,24 +32808,24 @@ function ScheduleTimingFields({
|
|
|
32630
32808
|
// `''` reads as "no selection" to Radix, so the placeholder shows
|
|
32631
32809
|
// until a slot is picked — a date at midnight no longer
|
|
32632
32810
|
// masquerades as a chosen 12:00 AM.
|
|
32633
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32811
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.Select, { value: field.value, onValueChange: field.onChange, disabled: fieldsDisabled, children: [
|
|
32634
32812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32635
|
-
|
|
32813
|
+
_chunkWCK5T3UDcjs.SelectTrigger,
|
|
32636
32814
|
{
|
|
32637
32815
|
className: "w-full",
|
|
32638
32816
|
error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _718 => _718.error, 'optionalAccess', _719 => _719.message]) : void 0))),
|
|
32639
32817
|
invalid: !!pastTimeError || showErrors && !!fieldState.error,
|
|
32640
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32818
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "Select time" })
|
|
32641
32819
|
}
|
|
32642
32820
|
),
|
|
32643
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32821
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectContent, { children: timeSlots.length === 0 ? (
|
|
32644
32822
|
// Deliberately NOT a `SelectItem` — there is nothing here
|
|
32645
32823
|
// to select, and a selectable row would put a bogus value
|
|
32646
32824
|
// in the form. It replaces a popup that opened blank; the
|
|
32647
32825
|
// Date field carries the same sentence for whoever never
|
|
32648
32826
|
// opens this one.
|
|
32649
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 })
|
|
32650
|
-
) : 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)) })
|
|
32651
32829
|
] })
|
|
32652
32830
|
)
|
|
32653
32831
|
}
|
|
@@ -32661,7 +32839,7 @@ function ScheduleTimingFields({
|
|
|
32661
32839
|
name: "timeReference",
|
|
32662
32840
|
control,
|
|
32663
32841
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32664
|
-
|
|
32842
|
+
_chunkWCK5T3UDcjs.Select,
|
|
32665
32843
|
{
|
|
32666
32844
|
value: field.value,
|
|
32667
32845
|
onValueChange: (value) => {
|
|
@@ -32670,8 +32848,8 @@ function ScheduleTimingFields({
|
|
|
32670
32848
|
},
|
|
32671
32849
|
disabled: fieldsDisabled,
|
|
32672
32850
|
children: [
|
|
32673
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32674
|
-
/* @__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)) })
|
|
32675
32853
|
]
|
|
32676
32854
|
}
|
|
32677
32855
|
)
|
|
@@ -32731,7 +32909,7 @@ function ScheduleTimingFields({
|
|
|
32731
32909
|
name: "repeatUnit",
|
|
32732
32910
|
control,
|
|
32733
32911
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32734
|
-
|
|
32912
|
+
_chunkWCK5T3UDcjs.Select,
|
|
32735
32913
|
{
|
|
32736
32914
|
value: field.value,
|
|
32737
32915
|
onValueChange: (value) => {
|
|
@@ -32744,8 +32922,8 @@ function ScheduleTimingFields({
|
|
|
32744
32922
|
},
|
|
32745
32923
|
disabled: fieldsDisabled || !repeatEnabled,
|
|
32746
32924
|
children: [
|
|
32747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32748
|
-
/* @__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)) })
|
|
32749
32927
|
]
|
|
32750
32928
|
}
|
|
32751
32929
|
)
|
|
@@ -32764,7 +32942,7 @@ function ScheduleFormFields({
|
|
|
32764
32942
|
disabled = false,
|
|
32765
32943
|
renderScriptSearch,
|
|
32766
32944
|
timeReferenceGate = "off",
|
|
32767
|
-
platforms =
|
|
32945
|
+
platforms = _chunkDGY5KEPYcjs.OS_PLATFORMS,
|
|
32768
32946
|
comingSoonPlatforms = [],
|
|
32769
32947
|
getTimeSlots,
|
|
32770
32948
|
nameLayout = "stacked",
|
|
@@ -32777,7 +32955,7 @@ function ScheduleFormFields({
|
|
|
32777
32955
|
addScripts = true
|
|
32778
32956
|
}) {
|
|
32779
32957
|
const { control, formState, getValues, setValue } = _reacthookform.useFormContext.call(void 0, );
|
|
32780
|
-
const isMdUp =
|
|
32958
|
+
const isMdUp = _chunkUAI4VMEFcjs.useContentMdUp.call(void 0, );
|
|
32781
32959
|
const supportedPlatforms = _reacthookform.useWatch.call(void 0, { control, name: "supportedPlatforms" });
|
|
32782
32960
|
const togglePlatform = _react.useCallback.call(void 0,
|
|
32783
32961
|
(platform) => {
|
|
@@ -32834,7 +33012,7 @@ function ScheduleFormFields({
|
|
|
32834
33012
|
platform.id
|
|
32835
33013
|
);
|
|
32836
33014
|
}) }),
|
|
32837
|
-
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, () => ( "")) }) })
|
|
32838
33016
|
]
|
|
32839
33017
|
}
|
|
32840
33018
|
);
|
|
@@ -32910,7 +33088,7 @@ function ScheduleFormFields({
|
|
|
32910
33088
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
32911
33089
|
|
|
32912
33090
|
function ScriptPlatformIcons({ platforms }) {
|
|
32913
|
-
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)) });
|
|
32914
33092
|
}
|
|
32915
33093
|
function ScheduleScriptSearchField({
|
|
32916
33094
|
scriptId,
|
|
@@ -32936,7 +33114,7 @@ function ScheduleScriptSearchField({
|
|
|
32936
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: [
|
|
32937
33115
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3MBQRCQcjs.Label, { className: "text-h4", children: "Select Script" }),
|
|
32938
33116
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32939
|
-
|
|
33117
|
+
_chunkWCK5T3UDcjs.Autocomplete,
|
|
32940
33118
|
{
|
|
32941
33119
|
options,
|
|
32942
33120
|
value: scriptId || null,
|
|
@@ -32951,7 +33129,7 @@ function ScheduleScriptSearchField({
|
|
|
32951
33129
|
error,
|
|
32952
33130
|
invalid,
|
|
32953
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: [
|
|
32954
|
-
/* @__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 }) }),
|
|
32955
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]), () => ( [])) })
|
|
32956
33134
|
] })
|
|
32957
33135
|
}
|
|
@@ -32983,7 +33161,7 @@ function KnowledgeBaseOpenButton({ href }) {
|
|
|
32983
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,
|
|
32984
33162
|
_chunkFCZAUK4Dcjs.Button,
|
|
32985
33163
|
{
|
|
32986
|
-
onClick: loading ? void 0 :
|
|
33164
|
+
onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
|
|
32987
33165
|
disabled: loading,
|
|
32988
33166
|
variant: "outline",
|
|
32989
33167
|
size: "icon",
|
|
@@ -33002,10 +33180,10 @@ function KnowledgeBaseNameCell({ item }) {
|
|
|
33002
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" }) }),
|
|
33003
33181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33004
33182
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33005
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33006
|
-
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" })
|
|
33007
33185
|
] }),
|
|
33008
|
-
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, () => ( "")) })
|
|
33009
33187
|
] })
|
|
33010
33188
|
] });
|
|
33011
33189
|
}
|
|
@@ -33020,8 +33198,8 @@ function KnowledgeBaseDateCell({ item, mode }) {
|
|
|
33020
33198
|
const ts = mode === "archive" ? _nullishCoalesce(item.updatedAt, () => ( item.createdAt)) : item.createdAt;
|
|
33021
33199
|
if (!ts) return null;
|
|
33022
33200
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col whitespace-nowrap", children: [
|
|
33023
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children:
|
|
33024
|
-
/* @__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) })
|
|
33025
33203
|
] });
|
|
33026
33204
|
}
|
|
33027
33205
|
function getKnowledgeBaseOpenColumn(getHref) {
|
|
@@ -33127,7 +33305,7 @@ function KnowledgeBaseArticleView({
|
|
|
33127
33305
|
className = "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]"
|
|
33128
33306
|
}) {
|
|
33129
33307
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33130
|
-
|
|
33308
|
+
_chunkWCK5T3UDcjs.PageLayout,
|
|
33131
33309
|
{
|
|
33132
33310
|
title,
|
|
33133
33311
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -33136,11 +33314,11 @@ function KnowledgeBaseArticleView({
|
|
|
33136
33314
|
menuActions,
|
|
33137
33315
|
className,
|
|
33138
33316
|
children: [
|
|
33139
|
-
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)) }),
|
|
33140
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: [
|
|
33141
33319
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33142
|
-
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33143
|
-
|
|
33320
|
+
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33321
|
+
_chunkNFNSPLGCcjs.SquareAvatar,
|
|
33144
33322
|
{
|
|
33145
33323
|
src: author.imageUrl,
|
|
33146
33324
|
fallback: _nullishCoalesce(author.name, () => ( "A")),
|
|
@@ -33150,12 +33328,12 @@ function KnowledgeBaseArticleView({
|
|
|
33150
33328
|
}
|
|
33151
33329
|
),
|
|
33152
33330
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33153
|
-
/* @__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")) }),
|
|
33154
33332
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Author" })
|
|
33155
33333
|
] })
|
|
33156
33334
|
] }),
|
|
33157
33335
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 flex-col justify-center", children: [
|
|
33158
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33336
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: updatedLabel }),
|
|
33159
33337
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Updated" })
|
|
33160
33338
|
] }),
|
|
33161
33339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -33166,7 +33344,7 @@ function KnowledgeBaseArticleView({
|
|
|
33166
33344
|
}
|
|
33167
33345
|
),
|
|
33168
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: [
|
|
33169
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33347
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { variant: KNOWLEDGE_BASE_STATUS_VARIANT[status], label: status }),
|
|
33170
33348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Status" })
|
|
33171
33349
|
] })
|
|
33172
33350
|
] }) }),
|
|
@@ -33334,7 +33512,7 @@ function ConversationCard({
|
|
|
33334
33512
|
style: tint,
|
|
33335
33513
|
onClick: selection && ((event) => {
|
|
33336
33514
|
if (event.button !== 0 || _optionalChain([window, 'access', _730 => _730.getSelection, 'call', _731 => _731(), 'optionalAccess', _732 => _732.toString, 'call', _733 => _733()])) return;
|
|
33337
|
-
if (!
|
|
33515
|
+
if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33338
33516
|
selection.onToggle();
|
|
33339
33517
|
}),
|
|
33340
33518
|
children: [
|
|
@@ -33357,7 +33535,7 @@ function ConversationCard({
|
|
|
33357
33535
|
)
|
|
33358
33536
|
),
|
|
33359
33537
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33360
|
-
|
|
33538
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33361
33539
|
{
|
|
33362
33540
|
avatar: requester.avatar,
|
|
33363
33541
|
name: requester.name,
|
|
@@ -33378,7 +33556,7 @@ function ConversationCard({
|
|
|
33378
33556
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _734 => _734.context])), children: context.text })
|
|
33379
33557
|
] }),
|
|
33380
33558
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33381
|
-
|
|
33559
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33382
33560
|
{
|
|
33383
33561
|
avatar: responder.avatar,
|
|
33384
33562
|
name: responder.name,
|
|
@@ -33394,7 +33572,7 @@ function ConversationCard({
|
|
|
33394
33572
|
),
|
|
33395
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: [
|
|
33396
33574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: footerLabel }),
|
|
33397
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33575
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { as: "span", label: footerValue, variant: footerTone === "attention" ? "warning" : "badge" })
|
|
33398
33576
|
] })
|
|
33399
33577
|
]
|
|
33400
33578
|
}
|
|
@@ -33423,7 +33601,7 @@ function ConversationCardSkeleton({
|
|
|
33423
33601
|
{
|
|
33424
33602
|
selection: selection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { className: "contents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectionToggle, { pressed: selection.pressed }) }),
|
|
33425
33603
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33426
|
-
|
|
33604
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33427
33605
|
{
|
|
33428
33606
|
loading: true,
|
|
33429
33607
|
name: "",
|
|
@@ -33447,7 +33625,7 @@ function ConversationCardSkeleton({
|
|
|
33447
33625
|
] })
|
|
33448
33626
|
] }),
|
|
33449
33627
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33450
|
-
|
|
33628
|
+
_chunkDGY5KEPYcjs.ChatTurn,
|
|
33451
33629
|
{
|
|
33452
33630
|
loading: true,
|
|
33453
33631
|
name: "",
|
|
@@ -33470,7 +33648,7 @@ function ConversationCardSkeleton({
|
|
|
33470
33648
|
),
|
|
33471
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: [
|
|
33472
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" }),
|
|
33473
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33651
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { as: "span", label: "\xA0", variant: "badge", className: "invisible" })
|
|
33474
33652
|
] })
|
|
33475
33653
|
] });
|
|
33476
33654
|
}
|
|
@@ -33528,7 +33706,7 @@ function Highlights({ items, className }) {
|
|
|
33528
33706
|
if (items.length === 0) return null;
|
|
33529
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: [
|
|
33530
33708
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: HIGHLIGHT_ICON_PX, className: "shrink-0 text-ods-flamingo-cyan" }),
|
|
33531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { variant: "h6", triggerClassName: "flex-1", children: text })
|
|
33532
33710
|
] }, text)) });
|
|
33533
33711
|
}
|
|
33534
33712
|
function Example({
|
|
@@ -33564,7 +33742,7 @@ function Example({
|
|
|
33564
33742
|
mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _738 => _738.mark]), () => ( requesterMark))),
|
|
33565
33743
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33566
33744
|
who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _739 => _739.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _740 => _740.note]), () => ( labels.requesterNote))),
|
|
33567
|
-
/* @__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` })
|
|
33568
33746
|
] })
|
|
33569
33747
|
] }),
|
|
33570
33748
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
|
|
@@ -33573,7 +33751,7 @@ function Example({
|
|
|
33573
33751
|
who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _742 => _742.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _743 => _743.note]), () => ( labels.responderNote))),
|
|
33574
33752
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
33575
33753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
|
|
33576
|
-
/* @__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 })
|
|
33577
33755
|
] })
|
|
33578
33756
|
] })
|
|
33579
33757
|
] })
|
|
@@ -33583,7 +33761,7 @@ function Example({
|
|
|
33583
33761
|
}
|
|
33584
33762
|
function ExampleSkeleton({ className }) {
|
|
33585
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: [
|
|
33586
|
-
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 }),
|
|
33587
33765
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33588
33766
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h6", className: "w-28" }),
|
|
33589
33767
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[2lh] text-h4", children: [
|
|
@@ -33686,7 +33864,7 @@ function CapabilityExplorer({
|
|
|
33686
33864
|
skeletonCount,
|
|
33687
33865
|
className
|
|
33688
33866
|
}) {
|
|
33689
|
-
const wide =
|
|
33867
|
+
const wide = _chunkUAI4VMEFcjs.useContentLgUp.call(void 0, );
|
|
33690
33868
|
const listRef = _react.useRef.call(void 0, null);
|
|
33691
33869
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
33692
33870
|
if (inScope || loading) {
|
|
@@ -33712,13 +33890,13 @@ function CapabilityExplorer({
|
|
|
33712
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 }) }),
|
|
33713
33891
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
33714
33892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
33715
|
-
/* @__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 }),
|
|
33716
33894
|
item.badge
|
|
33717
33895
|
] }),
|
|
33718
|
-
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 })
|
|
33719
33897
|
] })
|
|
33720
33898
|
] }),
|
|
33721
|
-
/* @__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 }),
|
|
33722
33900
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-lg border border-ods-border", children: renderScreen(item, { compact: true }) }),
|
|
33723
33901
|
item.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33724
33902
|
Example,
|
|
@@ -33835,8 +34013,8 @@ function CapabilityExplorer({
|
|
|
33835
34013
|
),
|
|
33836
34014
|
children: [
|
|
33837
34015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: PANEL_INTRO_CLASS, children: [
|
|
33838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33839
|
-
/* @__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 }),
|
|
33840
34018
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Highlights, { items: _nullishCoalesce(active.highlights, () => ( [])), className: "mt-auto" })
|
|
33841
34019
|
] }),
|
|
33842
34020
|
active.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -34545,4 +34723,9 @@ function CapabilityExplorer({
|
|
|
34545
34723
|
|
|
34546
34724
|
|
|
34547
34725
|
|
|
34548
|
-
exports.AllowedDomainsInput = AllowedDomainsInput; exports.ANNOUNCEMENT_BAR_HEIGHT_CLASS = ANNOUNCEMENT_BAR_HEIGHT_CLASS; exports.AnnouncementBarView = AnnouncementBarView; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.PROGRESS_BAR_HEIGHT = PROGRESS_BAR_HEIGHT; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RADIO_GROUP_BLOCK_SKELETON_OPTIONS = RADIO_GROUP_BLOCK_SKELETON_OPTIONS; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TAGS_INPUT_CLASS = TAGS_INPUT_CLASS; exports.TAGS_INPUT_ROW_CLASS = TAGS_INPUT_ROW_CLASS; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.TEXTAREA_BOX_CLASS = TEXTAREA_BOX_CLASS; exports.textareaBoxHeight = textareaBoxHeight; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TAB_AVATAR_PX = TAB_AVATAR_PX; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.previewFadeMask = previewFadeMask; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedLoadingSkeleton = EmbedLoadingSkeleton; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.DATA_SYNC_SOURCES = DATA_SYNC_SOURCES; exports.isDataSyncSource = isDataSyncSource; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.TOGGLE_SIZE_CLASS = TOGGLE_SIZE_CLASS; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.StepArrowButton = StepArrowButton; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.DataSyncLine = DataSyncLine; exports.DownloadButton = DownloadButton; exports.COMPLIANCE_LOGO_SIZE_CLASS = COMPLIANCE_LOGO_SIZE_CLASS; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FEATURE_LIST_SKELETON_COUNT = FEATURE_LIST_SKELETON_COUNT; exports.FeatureList = FeatureList; exports.formatTrendChange = formatTrendChange; exports.TREND_TONES = TREND_TONES; exports.trendTone = trendTone; exports.trendToneClass = trendToneClass; exports.trendlinePoints = trendlinePoints; exports.Trendline = Trendline; exports.TrendHistory = TrendHistory; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.ORGANIZATION_CARD_RADIUS_CLASS = ORGANIZATION_CARD_RADIUS_CLASS; exports.ORGANIZATION_CARD_LAYOUT_CLASS = ORGANIZATION_CARD_LAYOUT_CLASS; exports.ORGANIZATION_CARD_SURFACE_CLASS = ORGANIZATION_CARD_SURFACE_CLASS; exports.ORGANIZATION_CARD_HEADER_CLASS = ORGANIZATION_CARD_HEADER_CLASS; exports.ORGANIZATION_CARD_TEXT_CLASS = ORGANIZATION_CARD_TEXT_CLASS; exports.ORGANIZATION_CARD_DESCRIPTION_CLASS = ORGANIZATION_CARD_DESCRIPTION_CLASS; exports.ORGANIZATION_CARD_FOOTER_CLASS = ORGANIZATION_CARD_FOOTER_CLASS; exports.ORGANIZATION_CARD_STATS_CLASS = ORGANIZATION_CARD_STATS_CLASS; exports.ORGANIZATION_CARD_STAT_CLASS = ORGANIZATION_CARD_STAT_CLASS; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DATA_TABLE_ROW_FRAME_CLASS = DATA_TABLE_ROW_FRAME_CLASS; exports.ROW_STACK_CLASSES = ROW_STACK_CLASSES; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableHeader = QueryReportTableHeader; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.dataTableLoadingRows = dataTableLoadingRows; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SSO_PROVIDERS_SKELETON_COUNT = SSO_PROVIDERS_SKELETON_COUNT; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.ENTITY_TAG_BADGES_SKELETON_COUNT = ENTITY_TAG_BADGES_SKELETON_COUNT; exports.ENTITY_TAG_BADGES_PHONE_CAP = ENTITY_TAG_BADGES_PHONE_CAP; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PATHS_DISPLAY_SKELETON_ROWS = PATHS_DISPLAY_SKELETON_ROWS; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.siteNavSocialLinks = siteNavSocialLinks; exports.socialIcon = socialIcon; exports.socialIconRowClass = socialIconRowClass; exports.socialIconButtonProps = socialIconButtonProps; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.STATUS_FILTER_SKELETON_PILLS = STATUS_FILTER_SKELETON_PILLS; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES = POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark2; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.notificationCategoryIcon = notificationCategoryIcon; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.TOOL_CHIP_HEIGHT = TOOL_CHIP_HEIGHT; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SortableDragHandle = SortableDragHandle; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS = TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS; exports.TicketStatusConfigList = TicketStatusConfigList; exports.CONVERSATION_CARD_AVATAR_PX = CONVERSATION_CARD_AVATAR_PX; exports.ConversationCard = ConversationCard; exports.SNAP_CAROUSEL_GAP_PX = SNAP_CAROUSEL_GAP_PX; exports.SNAP_CAROUSEL_TRACK_CLASS = SNAP_CAROUSEL_TRACK_CLASS; exports.SnapCarouselSlide = SnapCarouselSlide; exports.SnapCarouselControls = SnapCarouselControls; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorer = CapabilityExplorer; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownLinkDialog = MarkdownLinkDialog; exports.useMarkdownLinkCommand = useMarkdownLinkCommand; exports.MarkdownEditorFieldSkeleton = MarkdownEditorFieldSkeleton; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.withTicketAssigneeAvatars = withTicketAssigneeAvatars; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PRODUCT_SCREEN_DESIGN_WIDTH = PRODUCT_SCREEN_DESIGN_WIDTH; exports.PRODUCT_SCREEN_READABLE_WIDTH = PRODUCT_SCREEN_READABLE_WIDTH; exports.PRODUCT_SCREEN_SCALE_FROM = PRODUCT_SCREEN_SCALE_FROM; exports.ProductScreenFrame = ProductScreenFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.SuperUserBannerView = SuperUserBannerView; exports.IconTile = IconTile;
|
|
34726
|
+
|
|
34727
|
+
|
|
34728
|
+
|
|
34729
|
+
|
|
34730
|
+
|
|
34731
|
+
exports.AllowedDomainsInput = AllowedDomainsInput; exports.ANNOUNCEMENT_BAR_HEIGHT_CLASS = ANNOUNCEMENT_BAR_HEIGHT_CLASS; exports.AnnouncementBarView = AnnouncementBarView; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.PROGRESS_BAR_HEIGHT = PROGRESS_BAR_HEIGHT; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RADIO_GROUP_BLOCK_SKELETON_OPTIONS = RADIO_GROUP_BLOCK_SKELETON_OPTIONS; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TAGS_INPUT_CLASS = TAGS_INPUT_CLASS; exports.TAGS_INPUT_ROW_CLASS = TAGS_INPUT_ROW_CLASS; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.TEXTAREA_BOX_CLASS = TEXTAREA_BOX_CLASS; exports.textareaBoxHeight = textareaBoxHeight; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TAB_AVATAR_PX = TAB_AVATAR_PX; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.previewFadeMask = previewFadeMask; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedLoadingSkeleton = EmbedLoadingSkeleton; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.DATA_SYNC_SOURCES = DATA_SYNC_SOURCES; exports.isDataSyncSource = isDataSyncSource; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.TOGGLE_SIZE_CLASS = TOGGLE_SIZE_CLASS; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.StepArrowButton = StepArrowButton; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.DataSyncLine = DataSyncLine; exports.DownloadButton = DownloadButton; exports.COMPLIANCE_LOGO_SIZE_CLASS = COMPLIANCE_LOGO_SIZE_CLASS; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FEATURE_LIST_SKELETON_COUNT = FEATURE_LIST_SKELETON_COUNT; exports.FeatureList = FeatureList; exports.formatTrendChange = formatTrendChange; exports.TREND_TONES = TREND_TONES; exports.trendTone = trendTone; exports.trendToneClass = trendToneClass; exports.trendlinePoints = trendlinePoints; exports.Trendline = Trendline; exports.TrendHistory = TrendHistory; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.ORGANIZATION_CARD_RADIUS_CLASS = ORGANIZATION_CARD_RADIUS_CLASS; exports.ORGANIZATION_CARD_LAYOUT_CLASS = ORGANIZATION_CARD_LAYOUT_CLASS; exports.ORGANIZATION_CARD_SURFACE_CLASS = ORGANIZATION_CARD_SURFACE_CLASS; exports.ORGANIZATION_CARD_HEADER_CLASS = ORGANIZATION_CARD_HEADER_CLASS; exports.ORGANIZATION_CARD_TEXT_CLASS = ORGANIZATION_CARD_TEXT_CLASS; exports.ORGANIZATION_CARD_DESCRIPTION_CLASS = ORGANIZATION_CARD_DESCRIPTION_CLASS; exports.ORGANIZATION_CARD_FOOTER_CLASS = ORGANIZATION_CARD_FOOTER_CLASS; exports.ORGANIZATION_CARD_STATS_CLASS = ORGANIZATION_CARD_STATS_CLASS; exports.ORGANIZATION_CARD_STAT_CLASS = ORGANIZATION_CARD_STAT_CLASS; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DATA_TABLE_ROW_FRAME_CLASS = DATA_TABLE_ROW_FRAME_CLASS; exports.ROW_STACK_CLASSES = ROW_STACK_CLASSES; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableHeader = QueryReportTableHeader; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.dataTableLoadingRows = dataTableLoadingRows; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SSO_PROVIDERS_SKELETON_COUNT = SSO_PROVIDERS_SKELETON_COUNT; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.ENTITY_TAG_BADGES_SKELETON_COUNT = ENTITY_TAG_BADGES_SKELETON_COUNT; exports.ENTITY_TAG_BADGES_PHONE_CAP = ENTITY_TAG_BADGES_PHONE_CAP; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PATHS_DISPLAY_SKELETON_ROWS = PATHS_DISPLAY_SKELETON_ROWS; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.siteNavSocialLinks = siteNavSocialLinks; exports.socialIcon = socialIcon; exports.socialIconRowClass = socialIconRowClass; exports.socialIconButtonProps = socialIconButtonProps; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.STATUS_FILTER_SKELETON_PILLS = STATUS_FILTER_SKELETON_PILLS; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES = POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark2; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.notificationCategoryIcon = notificationCategoryIcon; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SOFTWARE_UPDATE_DEADLINE_OPTIONS = SOFTWARE_UPDATE_DEADLINE_OPTIONS; exports.SOFTWARE_UPDATE_COUNTDOWN_OPTIONS = SOFTWARE_UPDATE_COUNTDOWN_OPTIONS; exports.DEFAULT_SOFTWARE_UPDATE_POLICY = DEFAULT_SOFTWARE_UPDATE_POLICY; exports.DEFAULT_SOFTWARE_UPDATE_SETTINGS = DEFAULT_SOFTWARE_UPDATE_SETTINGS; exports.SoftwareUpdateSettingsFields = SoftwareUpdateSettingsFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.TOOL_CHIP_HEIGHT = TOOL_CHIP_HEIGHT; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SortableDragHandle = SortableDragHandle; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS = TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS; exports.TicketStatusConfigList = TicketStatusConfigList; exports.CONVERSATION_CARD_AVATAR_PX = CONVERSATION_CARD_AVATAR_PX; exports.ConversationCard = ConversationCard; exports.SNAP_CAROUSEL_GAP_PX = SNAP_CAROUSEL_GAP_PX; exports.SNAP_CAROUSEL_TRACK_CLASS = SNAP_CAROUSEL_TRACK_CLASS; exports.SnapCarouselSlide = SnapCarouselSlide; exports.SnapCarouselControls = SnapCarouselControls; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorer = CapabilityExplorer; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownLinkDialog = MarkdownLinkDialog; exports.useMarkdownLinkCommand = useMarkdownLinkCommand; exports.MarkdownEditorFieldSkeleton = MarkdownEditorFieldSkeleton; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.withTicketAssigneeAvatars = withTicketAssigneeAvatars; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PRODUCT_SCREEN_DESIGN_WIDTH = PRODUCT_SCREEN_DESIGN_WIDTH; exports.PRODUCT_SCREEN_READABLE_WIDTH = PRODUCT_SCREEN_READABLE_WIDTH; exports.PRODUCT_SCREEN_SCALE_FROM = PRODUCT_SCREEN_SCALE_FROM; exports.ProductScreenFrame = ProductScreenFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.SuperUserBannerView = SuperUserBannerView; exports.IconTile = IconTile;
|