@flamingo-stack/openframe-frontend-core 0.0.776 → 0.0.780
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/case-study-card-WXMWYGSW.cjs +25 -0
- package/dist/{chunk-2MF547RG.cjs → chunk-2JO5HNEF.cjs} +28 -26
- package/dist/{chunk-DDXQGTWB.cjs → chunk-2W3VDE4D.cjs} +5 -5
- package/dist/{chunk-R3JX4MXD.cjs → chunk-3ZLPYEL5.cjs} +10 -10
- package/dist/{chunk-3V27UHSH.cjs → chunk-4BBOHZM3.cjs} +17 -17
- package/dist/{chunk-XT5WEHFM.cjs → chunk-4NRVV3KO.cjs} +3 -3
- package/dist/{chunk-DGFDBPO7.cjs → chunk-5GJM7VRR.cjs} +1 -94
- package/dist/{chunk-E64HPPRH.cjs → chunk-5PK22JP7.cjs} +50 -50
- package/dist/{chunk-57B5RUYD.cjs → chunk-64KBI5MI.cjs} +2 -2
- package/dist/{chunk-ASMNNSUQ.cjs → chunk-7PNRXJX2.cjs} +3 -3
- package/dist/{chunk-OTZQP53Y.cjs → chunk-AQXEM7GI.cjs} +8 -8
- package/dist/{chunk-VFZFCRAL.cjs → chunk-AQXKXZWB.cjs} +4 -4
- package/dist/{chunk-VFUMM6JC.cjs → chunk-BEMGJDXI.cjs} +2 -2
- package/dist/{chunk-HY6BCZH7.cjs → chunk-BNUZKBNV.cjs} +3 -3
- package/dist/{chunk-2YB4X5WT.cjs → chunk-DQALLDTZ.cjs} +6 -6
- package/dist/{chunk-MWH5ZTMB.cjs → chunk-F3BASIMT.cjs} +97 -95
- package/dist/{chunk-Z5KX56TK.cjs → chunk-HUPDPANN.cjs} +4 -4
- package/dist/{chunk-2AZAJ7RK.cjs → chunk-I4IC3BRC.cjs} +53 -53
- package/dist/{chunk-BDYI6HBT.cjs → chunk-IE3QCYBT.cjs} +18 -16
- package/dist/{chunk-UM6HFGTI.cjs → chunk-ILRQXZBA.cjs} +53 -51
- package/dist/{chunk-CZIMISAR.cjs → chunk-JB2SEF6Q.cjs} +7 -7
- package/dist/{chunk-AMVI5VXM.cjs → chunk-KA3VQ6X2.cjs} +91 -89
- package/dist/{chunk-LJT2KRE2.cjs → chunk-KLTUTZBO.cjs} +24 -24
- package/dist/{chunk-EHJE3UWZ.cjs → chunk-LBGAHB6X.cjs} +20 -20
- package/dist/{chunk-LNCBN4BL.cjs → chunk-MLX6Z7TU.cjs} +2 -2
- package/dist/chunk-OH5LAH3X.cjs +1456 -0
- package/dist/{chunk-XXJL5GY3.cjs → chunk-OJZBZH56.cjs} +3 -3
- package/dist/{chunk-IXZNBDXT.cjs → chunk-OMHQZXCD.cjs} +28 -28
- package/dist/{chunk-KM2TVQCH.cjs → chunk-OWQVDWTK.cjs} +259 -247
- package/dist/{chunk-YFTQ2ALU.cjs → chunk-PQBGSVZE.cjs} +116 -82
- package/dist/{chunk-OJLZ7PGO.cjs → chunk-QEFDGI3Z.cjs} +37 -35
- package/dist/{chunk-6HY2NH7D.cjs → chunk-QIQYD75I.cjs} +2 -2
- package/dist/{chunk-RB7VLVMD.cjs → chunk-R6BKQKIF.cjs} +9 -7
- package/dist/{chunk-V3W56L2D.cjs → chunk-SIDDZZKL.cjs} +38 -38
- package/dist/chunk-SZHDXXMK.cjs +102 -0
- package/dist/{chunk-5P4TDV7V.cjs → chunk-TUAATMUE.cjs} +5 -93
- package/dist/{chunk-F65RSJVV.cjs → chunk-TVDQMG7I.cjs} +23 -21
- package/dist/{chunk-XN6LXMH5.cjs → chunk-UPAE4IV5.cjs} +595 -591
- package/dist/chunk-V4FXUIMH.cjs +92 -0
- package/dist/{chunk-2JRSYWFP.cjs → chunk-VXAKQRV7.cjs} +5 -5
- package/dist/{chunk-L55XLH5A.cjs → chunk-WR7KJML6.cjs} +33 -31
- package/dist/{chunk-5QP3K2CE.cjs → chunk-XEYL6AFZ.cjs} +9 -9
- package/dist/{chunk-MYHS4W2H.cjs → chunk-YG72MEHY.cjs} +213 -1647
- package/dist/{chunk-WAQPW4CB.cjs → chunk-YNECNYQF.cjs} +6 -6
- package/dist/{chunk-NWZSYG4S.cjs → chunk-YWQ3VXPL.cjs} +114 -112
- package/dist/{chunk-24OYQQZC.cjs → chunk-ZGWS3NJR.cjs} +22 -22
- package/dist/{cloud-tenants-QFE6QMR5.cjs → cloud-tenants-2ZLGCSGK.cjs} +27 -24
- package/dist/components/case-studies/index.cjs +45 -41
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-enhanced.js +8 -4
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.js +2 -0
- package/dist/components/chat/index.cjs +21 -17
- package/dist/components/chat/types/component.types.d.ts +9 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +28 -25
- package/dist/components/docs/index.cjs +31 -28
- package/dist/components/embeds/index.cjs +28 -25
- package/dist/components/faq/index.cjs +29 -26
- package/dist/components/features/index.cjs +28 -24
- package/dist/components/features/video-hover-preview.d.ts.map +1 -1
- package/dist/components/features/video-hover-preview.js +2 -5
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/features/video.js +1 -44
- package/dist/components/help-center-pages/index.cjs +131 -127
- package/dist/components/index.cjs +94 -90
- package/dist/components/meeting-scheduler/index.cjs +95 -92
- package/dist/components/navigation/index.cjs +30 -27
- package/dist/components/navigation/nav-panel.d.ts.map +1 -1
- package/dist/components/navigation/nav-panel.js +47 -13
- package/dist/components/onboarding-guides/index.cjs +30 -27
- package/dist/components/product-demo/index.cjs +38 -35
- package/dist/components/related-content/index.cjs +15 -12
- package/dist/components/tickets/index.cjs +33 -30
- package/dist/components/ui/index.cjs +28 -24
- package/dist/{devices-SFJDLXSW.cjs → devices-UOBQFPV3.cjs} +28 -25
- package/dist/{embeddable-chat-XZUWAK4W.cjs → embeddable-chat-SFQWRUIV.cjs} +99 -95
- package/dist/hooks/index.cjs +12 -10
- package/dist/index.cjs +36 -30
- package/dist/{knowledge-SAK3ZGCO.cjs → knowledge-5K3LTHGB.cjs} +28 -25
- package/dist/{logs-CYBGMFA5.cjs → logs-WU3N6ESS.cjs} +35 -32
- package/dist/{policies-XXDOICWF.cjs → policies-2IYASCQO.cjs} +31 -28
- package/dist/{remote-session-TC3BZDBZ.cjs → remote-session-TGM2OTTV.cjs} +12 -10
- package/dist/{scripts-C5T2AQPA.cjs → scripts-IQBKOQEY.cjs} +34 -31
- package/dist/{software-update-XU5AI4TP.cjs → software-update-GJLDO5X5.cjs} +31 -28
- package/dist/{tickets-board-YT25IX3O.cjs → tickets-board-FB5AGLJD.cjs} +16 -14
- package/dist/{video-file-player-6ZFOZFER.cjs → video-file-player-SIJW5UWU.cjs} +3 -2
- package/package.json +1 -1
- package/src/components/chat/chat-message-enhanced.tsx +13 -4
- package/src/components/chat/chat-message-list.tsx +2 -0
- package/src/components/chat/types/component.types.ts +9 -0
- package/src/components/features/video-hover-preview.tsx +37 -46
- package/src/components/features/video.tsx +1 -61
- package/src/components/navigation/nav-panel.tsx +74 -14
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkKLTUTZBOcjs = require('./chunk-KLTUTZBO.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@ var _chunkLJT2KRE2cjs = require('./chunk-LJT2KRE2.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkR6BKQKIFcjs = require('./chunk-R6BKQKIF.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -37,7 +37,7 @@ var _chunkRB7VLVMDcjs = require('./chunk-RB7VLVMD.cjs');
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
var
|
|
40
|
+
var _chunkSIDDZZKLcjs = require('./chunk-SIDDZZKL.cjs');
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
|
|
@@ -53,18 +53,18 @@ var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
var
|
|
56
|
+
var _chunk5PK22JP7cjs = require('./chunk-5PK22JP7.cjs');
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
var
|
|
60
|
+
var _chunkVXAKQRV7cjs = require('./chunk-VXAKQRV7.cjs');
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
var
|
|
67
|
+
var _chunkMLX6Z7TUcjs = require('./chunk-MLX6Z7TU.cjs');
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
@@ -116,7 +116,7 @@ var _chunkC42WIUH6cjs = require('./chunk-C42WIUH6.cjs');
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunkYWQ3VXPLcjs = require('./chunk-YWQ3VXPL.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
|
|
@@ -139,7 +139,7 @@ var _chunkNWZSYG4Scjs = require('./chunk-NWZSYG4S.cjs');
|
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
|
|
142
|
-
var
|
|
142
|
+
var _chunkOWQVDWTKcjs = require('./chunk-OWQVDWTK.cjs');
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
@@ -153,7 +153,7 @@ var _chunkKM2TVQCHcjs = require('./chunk-KM2TVQCH.cjs');
|
|
|
153
153
|
|
|
154
154
|
|
|
155
155
|
|
|
156
|
-
var
|
|
156
|
+
var _chunkLBGAHB6Xcjs = require('./chunk-LBGAHB6X.cjs');
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
|
|
@@ -165,7 +165,7 @@ var _chunkEHJE3UWZcjs = require('./chunk-EHJE3UWZ.cjs');
|
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
|
|
168
|
-
var
|
|
168
|
+
var _chunkXEYL6AFZcjs = require('./chunk-XEYL6AFZ.cjs');
|
|
169
169
|
|
|
170
170
|
|
|
171
171
|
|
|
@@ -464,15 +464,15 @@ var _chunkXIBCMGBWcjs = require('./chunk-XIBCMGBW.cjs');
|
|
|
464
464
|
|
|
465
465
|
|
|
466
466
|
|
|
467
|
-
var
|
|
467
|
+
var _chunkJB2SEF6Qcjs = require('./chunk-JB2SEF6Q.cjs');
|
|
468
468
|
|
|
469
469
|
|
|
470
470
|
|
|
471
471
|
|
|
472
|
-
var
|
|
472
|
+
var _chunkOJZBZH56cjs = require('./chunk-OJZBZH56.cjs');
|
|
473
473
|
|
|
474
474
|
|
|
475
|
-
var
|
|
475
|
+
var _chunk64KBI5MIcjs = require('./chunk-64KBI5MI.cjs');
|
|
476
476
|
|
|
477
477
|
|
|
478
478
|
var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
@@ -495,6 +495,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
495
495
|
|
|
496
496
|
|
|
497
497
|
|
|
498
|
+
var _chunkYG72MEHYcjs = require('./chunk-YG72MEHY.cjs');
|
|
498
499
|
|
|
499
500
|
|
|
500
501
|
|
|
@@ -503,22 +504,23 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
503
504
|
|
|
504
505
|
|
|
505
506
|
|
|
506
|
-
var _chunkMYHS4W2Hcjs = require('./chunk-MYHS4W2H.cjs');
|
|
507
507
|
|
|
508
|
+
var _chunkOH5LAH3Xcjs = require('./chunk-OH5LAH3X.cjs');
|
|
508
509
|
|
|
509
510
|
|
|
510
511
|
|
|
511
512
|
|
|
512
513
|
|
|
513
514
|
|
|
514
|
-
|
|
515
|
+
|
|
516
|
+
var _chunk3ZLPYEL5cjs = require('./chunk-3ZLPYEL5.cjs');
|
|
515
517
|
|
|
516
518
|
|
|
517
519
|
|
|
518
520
|
var _chunkSETFUCZAcjs = require('./chunk-SETFUCZA.cjs');
|
|
519
521
|
|
|
520
522
|
|
|
521
|
-
var
|
|
523
|
+
var _chunkBEMGJDXIcjs = require('./chunk-BEMGJDXI.cjs');
|
|
522
524
|
|
|
523
525
|
|
|
524
526
|
|
|
@@ -530,7 +532,7 @@ var _chunkVFUMM6JCcjs = require('./chunk-VFUMM6JC.cjs');
|
|
|
530
532
|
|
|
531
533
|
|
|
532
534
|
|
|
533
|
-
var
|
|
535
|
+
var _chunkBNUZKBNVcjs = require('./chunk-BNUZKBNV.cjs');
|
|
534
536
|
|
|
535
537
|
|
|
536
538
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
@@ -546,20 +548,22 @@ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
|
|
|
546
548
|
|
|
547
549
|
|
|
548
550
|
|
|
549
|
-
var
|
|
551
|
+
var _chunkAQXKXZWBcjs = require('./chunk-AQXKXZWB.cjs');
|
|
552
|
+
|
|
550
553
|
|
|
551
554
|
|
|
552
555
|
|
|
553
556
|
|
|
554
557
|
|
|
558
|
+
var _chunkV4FXUIMHcjs = require('./chunk-V4FXUIMH.cjs');
|
|
555
559
|
|
|
556
560
|
|
|
561
|
+
var _chunkSZHDXXMKcjs = require('./chunk-SZHDXXMK.cjs');
|
|
557
562
|
|
|
558
563
|
|
|
559
|
-
var _chunk5P4TDV7Vcjs = require('./chunk-5P4TDV7V.cjs');
|
|
560
564
|
|
|
561
565
|
|
|
562
|
-
var
|
|
566
|
+
var _chunkTUAATMUEcjs = require('./chunk-TUAATMUE.cjs');
|
|
563
567
|
|
|
564
568
|
|
|
565
569
|
|
|
@@ -695,7 +699,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
695
699
|
var useTheme = _nextthemes.useTheme;
|
|
696
700
|
function useThemeToggle() {
|
|
697
701
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
698
|
-
const mounted =
|
|
702
|
+
const mounted = _chunkOWQVDWTKcjs.useIsHydrated.call(void 0, );
|
|
699
703
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
700
704
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
701
705
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -833,7 +837,7 @@ function AnnouncementBarView({
|
|
|
833
837
|
style
|
|
834
838
|
}) {
|
|
835
839
|
const handleContentClick = onContentClick ? () => {
|
|
836
|
-
if (!window.matchMedia(
|
|
840
|
+
if (!window.matchMedia(_chunkV4FXUIMHcjs.breakpoints.md).matches) onContentClick();
|
|
837
841
|
} : void 0;
|
|
838
842
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex w-full max-w-full items-center", ANNOUNCEMENT_BAR_HEIGHT_CLASS, className), style, children: [
|
|
839
843
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -905,7 +909,7 @@ function TimezoneSelect({
|
|
|
905
909
|
}) {
|
|
906
910
|
const options = _react.useMemo.call(void 0, () => timezoneOptions(value), [value]);
|
|
907
911
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
908
|
-
|
|
912
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
909
913
|
{
|
|
910
914
|
className,
|
|
911
915
|
fieldLoading: loading,
|
|
@@ -1086,7 +1090,7 @@ var _reactpopover = require('@radix-ui/react-popover'); var Popover = _interopRe
|
|
|
1086
1090
|
|
|
1087
1091
|
var _reactdaypicker = require('react-day-picker');
|
|
1088
1092
|
|
|
1089
|
-
var defaultFormatDate = (date) =>
|
|
1093
|
+
var defaultFormatDate = (date) => _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, date, _chunkBNUZKBNVcjs.VIEWER_TIMEZONE, "numeric", { viewerLocale: true });
|
|
1090
1094
|
var formatDateRange = (range, formatFn) => {
|
|
1091
1095
|
if (!_optionalChain([range, 'optionalAccess', _5 => _5.from])) return "";
|
|
1092
1096
|
if (!range.to) return formatFn(range.from);
|
|
@@ -1122,7 +1126,7 @@ function DatePickerCalendar({
|
|
|
1122
1126
|
onMonthChange
|
|
1123
1127
|
}) {
|
|
1124
1128
|
const today = /* @__PURE__ */ new Date();
|
|
1125
|
-
const isMdUp = _nullishCoalesce(
|
|
1129
|
+
const isMdUp = _nullishCoalesce(_chunkV4FXUIMHcjs.useMdUp.call(void 0, ), () => ( true));
|
|
1126
1130
|
const monthsToShow = isMdUp ? numberOfMonths : 1;
|
|
1127
1131
|
const [draftRange, setDraftRange] = _react.useState.call(void 0,
|
|
1128
1132
|
mode === "range" ? selected : void 0
|
|
@@ -1287,7 +1291,7 @@ function DatePickerCalendar({
|
|
|
1287
1291
|
};
|
|
1288
1292
|
const handlePreviousMonth = () => shiftMonth(-1);
|
|
1289
1293
|
const handleNextMonth = () => shiftMonth(1);
|
|
1290
|
-
const formatMonthYear = (date) =>
|
|
1294
|
+
const formatMonthYear = (date) => _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, date, _chunkBNUZKBNVcjs.VIEWER_TIMEZONE, "monthYear", { viewerLocale: true });
|
|
1291
1295
|
const getSecondMonth = (date) => {
|
|
1292
1296
|
const next = new Date(date);
|
|
1293
1297
|
next.setMonth(next.getMonth() + 1);
|
|
@@ -1734,20 +1738,20 @@ function DatePickerInput(props) {
|
|
|
1734
1738
|
) })
|
|
1735
1739
|
] }),
|
|
1736
1740
|
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1", children: [
|
|
1737
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1741
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: hour, onValueChange: handleHourChange, disabled, children: [
|
|
1742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: _chunk65VVJSQZcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "HH" }) }),
|
|
1743
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: hourOptions.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: h, children: h }, h)) })
|
|
1740
1744
|
] }),
|
|
1741
1745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: ":" }),
|
|
1742
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1744
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1746
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: minute, onValueChange: handleMinuteChange, disabled, children: [
|
|
1747
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: _chunk65VVJSQZcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "MM" }) }),
|
|
1748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: minuteOptions.map((m) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: m, children: m }, m)) })
|
|
1745
1749
|
] }),
|
|
1746
|
-
!use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1748
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1750
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1750
|
+
!use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: period, onValueChange: (val) => handlePeriodChange(val), disabled, children: [
|
|
1751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: _chunk65VVJSQZcjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "AM" }) }),
|
|
1752
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: [
|
|
1753
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "AM", children: "AM" }),
|
|
1754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "PM", children: "PM" })
|
|
1751
1755
|
] })
|
|
1752
1756
|
] })
|
|
1753
1757
|
] })
|
|
@@ -1893,9 +1897,9 @@ function DatePickerInputSimple(props) {
|
|
|
1893
1897
|
}
|
|
1894
1898
|
) })
|
|
1895
1899
|
] }),
|
|
1896
|
-
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1897
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1898
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1900
|
+
showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: timeValue, onValueChange: handleTimeChange, disabled, children: [
|
|
1901
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: _chunk65VVJSQZcjs.cn.call(void 0, timeSelectTriggerStyles, "flex-1"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "Select time", children: timeDisplayLabel || "Select time" }) }),
|
|
1902
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
1899
1903
|
] })
|
|
1900
1904
|
] });
|
|
1901
1905
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.FieldWrapper, { label, error, errorSlot: "error" in props, className, children: content });
|
|
@@ -1914,14 +1918,14 @@ function DateFilterPanel({
|
|
|
1914
1918
|
className
|
|
1915
1919
|
}) {
|
|
1916
1920
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col gap-4", className), children: [
|
|
1917
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1918
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1921
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: sort, onValueChange: (value) => onSortChange(value), children: [
|
|
1922
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.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: [
|
|
1919
1923
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowUpDown, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
1920
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1924
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) })
|
|
1921
1925
|
] }) }),
|
|
1922
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1923
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1924
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1926
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: [
|
|
1927
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "asc", children: ascLabel }),
|
|
1928
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "desc", children: descLabel })
|
|
1925
1929
|
] })
|
|
1926
1930
|
] }),
|
|
1927
1931
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2201,7 +2205,7 @@ function Value({ value, depth }) {
|
|
|
2201
2205
|
}
|
|
2202
2206
|
if (typeof value === "string") {
|
|
2203
2207
|
if (ISO_DATE.test(value)) {
|
|
2204
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2208
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkLBGAHB6Xcjs.formatRelativeTime.call(void 0, value) });
|
|
2205
2209
|
}
|
|
2206
2210
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2207
2211
|
}
|
|
@@ -2272,7 +2276,7 @@ var ProgressBar = ({
|
|
|
2272
2276
|
mobileHeight = PROGRESS_BAR_HEIGHT.mobile,
|
|
2273
2277
|
inverted = false
|
|
2274
2278
|
}) => {
|
|
2275
|
-
const isMdUp = _nullishCoalesce(
|
|
2279
|
+
const isMdUp = _nullishCoalesce(_chunkAQXKXZWBcjs.useContentMdUp.call(void 0, ), () => ( true));
|
|
2276
2280
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
2277
2281
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
2278
2282
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -2404,7 +2408,7 @@ function InfoCardFooter({ footer }) {
|
|
|
2404
2408
|
] });
|
|
2405
2409
|
}
|
|
2406
2410
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
2407
|
-
const { copy, copied } =
|
|
2411
|
+
const { copy, copied } = _chunk5PK22JP7cjs.useCopyToClipboard.call(void 0, );
|
|
2408
2412
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
|
|
2409
2413
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
|
|
2410
2414
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DIVIDER_CLASS }),
|
|
@@ -2686,7 +2690,7 @@ function CompactAssigneeDropdown({
|
|
|
2686
2690
|
value: o.value,
|
|
2687
2691
|
label: o.label,
|
|
2688
2692
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2689
|
-
|
|
2693
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2690
2694
|
{
|
|
2691
2695
|
src: o.imageUrl,
|
|
2692
2696
|
alt: o.label,
|
|
@@ -2720,8 +2724,8 @@ function CompactAssigneeDropdown({
|
|
|
2720
2724
|
"shrink-0 rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
2721
2725
|
className
|
|
2722
2726
|
),
|
|
2723
|
-
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2724
|
-
|
|
2727
|
+
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKLTUTZBOcjs.DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2728
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2725
2729
|
{
|
|
2726
2730
|
src: currentAssignee.avatarSrc,
|
|
2727
2731
|
alt: currentAssignee.name,
|
|
@@ -2769,7 +2773,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
2769
2773
|
const opt = option;
|
|
2770
2774
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
2771
2775
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2772
|
-
|
|
2776
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2773
2777
|
{
|
|
2774
2778
|
src: opt.imageUrl,
|
|
2775
2779
|
alt: opt.label,
|
|
@@ -2785,7 +2789,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
2785
2789
|
if (isEditing) {
|
|
2786
2790
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
2787
2791
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2788
|
-
|
|
2792
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
2789
2793
|
{
|
|
2790
2794
|
options,
|
|
2791
2795
|
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _35 => _35.id]), () => ( null)),
|
|
@@ -2797,14 +2801,14 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
2797
2801
|
loading: isLoading,
|
|
2798
2802
|
showChevron: false,
|
|
2799
2803
|
startAdornment: hasAssignee ? currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2800
|
-
|
|
2804
|
+
_chunkKLTUTZBOcjs.DeletedUserAvatar,
|
|
2801
2805
|
{
|
|
2802
2806
|
size: "sm",
|
|
2803
2807
|
className: "h-6 w-6",
|
|
2804
2808
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2805
2809
|
}
|
|
2806
2810
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2807
|
-
|
|
2811
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2808
2812
|
{
|
|
2809
2813
|
src: currentAssignee.avatarSrc,
|
|
2810
2814
|
alt: currentAssignee.name,
|
|
@@ -2823,13 +2827,13 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
2823
2827
|
if (hasAssignee) {
|
|
2824
2828
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", className), children: [
|
|
2825
2829
|
currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2826
|
-
|
|
2830
|
+
_chunkKLTUTZBOcjs.DeletedUserAvatar,
|
|
2827
2831
|
{
|
|
2828
2832
|
size: "md",
|
|
2829
2833
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
2830
2834
|
}
|
|
2831
2835
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2832
|
-
|
|
2836
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2833
2837
|
{
|
|
2834
2838
|
src: currentAssignee.avatarSrc,
|
|
2835
2839
|
alt: currentAssignee.name,
|
|
@@ -2903,7 +2907,7 @@ function TextValue({ value }) {
|
|
|
2903
2907
|
}
|
|
2904
2908
|
) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
|
|
2905
2909
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2906
|
-
|
|
2910
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
2907
2911
|
{
|
|
2908
2912
|
src: imageSrc,
|
|
2909
2913
|
alt: text,
|
|
@@ -2923,7 +2927,7 @@ function RowValue({ value }) {
|
|
|
2923
2927
|
}
|
|
2924
2928
|
case "status": {
|
|
2925
2929
|
const { type: _type, ...props } = value;
|
|
2926
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2930
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.TicketStatusTag, { ...props });
|
|
2927
2931
|
}
|
|
2928
2932
|
case "custom":
|
|
2929
2933
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -3021,7 +3025,7 @@ function MediaTypeSelector({
|
|
|
3021
3025
|
// changed) and cost an extra render pass on every change to say what the
|
|
3022
3026
|
// prop already said.
|
|
3023
3027
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3024
|
-
|
|
3028
|
+
_chunkSIDDZZKLcjs.Select,
|
|
3025
3029
|
{
|
|
3026
3030
|
value: value || void 0,
|
|
3027
3031
|
onValueChange: (next) => {
|
|
@@ -3031,8 +3035,8 @@ function MediaTypeSelector({
|
|
|
3031
3035
|
disabled,
|
|
3032
3036
|
defaultValue: value,
|
|
3033
3037
|
children: [
|
|
3034
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3035
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3038
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder }) }),
|
|
3039
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: mediaTypeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: option.value, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
3036
3040
|
option.icon,
|
|
3037
3041
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: option.label })
|
|
3038
3042
|
] }) }, option.value)) })
|
|
@@ -3885,7 +3889,7 @@ function TagsManager({
|
|
|
3885
3889
|
}
|
|
3886
3890
|
),
|
|
3887
3891
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3888
|
-
|
|
3892
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
3889
3893
|
{
|
|
3890
3894
|
label: tag.name,
|
|
3891
3895
|
variant: "outline",
|
|
@@ -4386,7 +4390,7 @@ var DialogContent = _react.forwardRef.call(void 0, ({ className, children, ...pr
|
|
|
4386
4390
|
),
|
|
4387
4391
|
...props,
|
|
4388
4392
|
children: [
|
|
4389
|
-
/* @__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,
|
|
4393
|
+
/* @__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, _chunkAQXKXZWBcjs.ViewportBreakpoints, { children }) }),
|
|
4390
4394
|
/* @__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: [
|
|
4391
4395
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4392
4396
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -4444,10 +4448,10 @@ function useConfirm() {
|
|
|
4444
4448
|
},
|
|
4445
4449
|
[]
|
|
4446
4450
|
);
|
|
4447
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4449
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4450
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4451
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: pending.title }) }),
|
|
4453
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4454
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
4451
4455
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4452
4456
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4453
4457
|
] })
|
|
@@ -4501,14 +4505,14 @@ function AdminFormDrawer({
|
|
|
4501
4505
|
else onClose();
|
|
4502
4506
|
};
|
|
4503
4507
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4504
|
-
|
|
4508
|
+
_chunkR6BKQKIFcjs.Drawer,
|
|
4505
4509
|
{
|
|
4506
4510
|
open: isOpen,
|
|
4507
4511
|
onOpenChange: (open) => {
|
|
4508
4512
|
if (!open) requestClose();
|
|
4509
4513
|
},
|
|
4510
4514
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4511
|
-
|
|
4515
|
+
_chunkR6BKQKIFcjs.DrawerContent,
|
|
4512
4516
|
{
|
|
4513
4517
|
side: "right",
|
|
4514
4518
|
resizable: true,
|
|
@@ -4517,15 +4521,15 @@ function AdminFormDrawer({
|
|
|
4517
4521
|
storageKey,
|
|
4518
4522
|
panelClassName: "max-md:w-[calc(100vw-1rem)]",
|
|
4519
4523
|
children: [
|
|
4520
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4521
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4522
|
-
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4524
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkR6BKQKIFcjs.DrawerHeader, { children: [
|
|
4525
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR6BKQKIFcjs.DrawerTitle, { children: title }),
|
|
4526
|
+
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR6BKQKIFcjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
|
|
4523
4527
|
] }),
|
|
4524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4528
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR6BKQKIFcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4525
4529
|
"form",
|
|
4526
4530
|
{
|
|
4527
4531
|
id: formId,
|
|
4528
|
-
...
|
|
4532
|
+
..._chunkYWQ3VXPLcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4529
4533
|
className: "flex flex-col gap-[var(--spacing-system-lf)]",
|
|
4530
4534
|
onSubmit: (e) => {
|
|
4531
4535
|
e.preventDefault();
|
|
@@ -4623,16 +4627,16 @@ function AdminFormModal({
|
|
|
4623
4627
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4624
4628
|
});
|
|
4625
4629
|
if (!isOpen) return null;
|
|
4626
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4627
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4628
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4630
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4631
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: [
|
|
4632
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: title }),
|
|
4629
4633
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4630
4634
|
] }),
|
|
4631
4635
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4632
4636
|
"form",
|
|
4633
4637
|
{
|
|
4634
4638
|
id: formId,
|
|
4635
|
-
...
|
|
4639
|
+
..._chunkYWQ3VXPLcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4636
4640
|
className: "flex min-h-0 flex-1 flex-col",
|
|
4637
4641
|
onSubmit: (e) => {
|
|
4638
4642
|
e.preventDefault();
|
|
@@ -4650,7 +4654,7 @@ function AdminFormModal({
|
|
|
4650
4654
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4651
4655
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4652
4656
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4653
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4657
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalContent, { children: loadingContent ? (
|
|
4654
4658
|
// The one announcement: a `loadingContent` with a region of its own takes `region={false}`.
|
|
4655
4659
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading", children: loadingContent })
|
|
4656
4660
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4671,12 +4675,12 @@ function AdminFormModal({
|
|
|
4671
4675
|
] }, i)) }, col))
|
|
4672
4676
|
}
|
|
4673
4677
|
) })
|
|
4674
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4678
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalContent, { className: contentClassName, children }),
|
|
4675
4679
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4676
4680
|
]
|
|
4677
4681
|
}
|
|
4678
4682
|
),
|
|
4679
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4680
4684
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4681
4685
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4682
4686
|
footerStatus,
|
|
@@ -4758,7 +4762,7 @@ var SheetContent = _react.forwardRef.call(void 0,
|
|
|
4758
4762
|
({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
|
|
4759
4763
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
|
|
4760
4764
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPrimitive.Content, { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, sheetVariants({ side }), className), ...props, children: [
|
|
4761
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4765
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAQXKXZWBcjs.ViewportBreakpoints, { children }),
|
|
4762
4766
|
/* @__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: [
|
|
4763
4767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-4 w-4" }),
|
|
4764
4768
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
@@ -5424,7 +5428,7 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
|
|
|
5424
5428
|
// as tall as its neighbours at every breakpoint. No hover shade:
|
|
5425
5429
|
// the tab is the target, and the cursor passes through to it.
|
|
5426
5430
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5427
|
-
|
|
5431
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
5428
5432
|
{
|
|
5429
5433
|
as: "span",
|
|
5430
5434
|
"aria-hidden": true,
|
|
@@ -5739,7 +5743,7 @@ function FadePreview({
|
|
|
5739
5743
|
setCollapsedFor(resetKey);
|
|
5740
5744
|
setExpanded(false);
|
|
5741
5745
|
}
|
|
5742
|
-
|
|
5746
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
5743
5747
|
const el = contentRef.current;
|
|
5744
5748
|
if (!el) return;
|
|
5745
5749
|
if (!fixed) {
|
|
@@ -6028,7 +6032,7 @@ function EmbedViewerFrame({
|
|
|
6028
6032
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
6029
6033
|
_react.useEffect.call(void 0, () => {
|
|
6030
6034
|
if (!fullscreenControl) return void 0;
|
|
6031
|
-
const controller = new (0,
|
|
6035
|
+
const controller = new (0, _chunkYWQ3VXPLcjs.FullscreenSwitchController)({
|
|
6032
6036
|
target: () => frameRef.current,
|
|
6033
6037
|
onFullscreenChange: setIsFullscreen
|
|
6034
6038
|
});
|
|
@@ -6122,9 +6126,9 @@ var KIND_HEADING = {
|
|
|
6122
6126
|
design: "Claude Design"
|
|
6123
6127
|
};
|
|
6124
6128
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6125
|
-
const { src: mirrorSrc, status } =
|
|
6129
|
+
const { src: mirrorSrc, status } = _chunk5PK22JP7cjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6126
6130
|
const isProbing = status === "probing";
|
|
6127
|
-
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => (
|
|
6131
|
+
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkJB2SEF6Qcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6128
6132
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6129
6133
|
EmbedViewerFrame,
|
|
6130
6134
|
{
|
|
@@ -6199,12 +6203,12 @@ function SlidesViewToggle({ view, onChange }) {
|
|
|
6199
6203
|
}
|
|
6200
6204
|
function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
6201
6205
|
const [view, setView] = _react.useState.call(void 0, "present");
|
|
6202
|
-
const isSlides = url ?
|
|
6203
|
-
const embedSrc = url ?
|
|
6206
|
+
const isSlides = url ? _chunkJB2SEF6Qcjs.isFigmaSlidesUrl.call(void 0, url) : false;
|
|
6207
|
+
const embedSrc = url ? _chunkJB2SEF6Qcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
|
|
6204
6208
|
const originalUrl = (() => {
|
|
6205
6209
|
if (!url) return null;
|
|
6206
6210
|
try {
|
|
6207
|
-
const parsed = new URL(
|
|
6211
|
+
const parsed = new URL(_chunkJB2SEF6Qcjs.toFigmaOriginalUrl.call(void 0, url));
|
|
6208
6212
|
const host = parsed.hostname.toLowerCase();
|
|
6209
6213
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
6210
6214
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
@@ -6692,12 +6696,12 @@ var OGLinkPreview = ({
|
|
|
6692
6696
|
children: [
|
|
6693
6697
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TILE_SOURCE_ROW_CLASS, children: [
|
|
6694
6698
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Favicon, { src: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`, size: "w-4 h-4" }),
|
|
6695
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: name }),
|
|
6696
6700
|
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 })
|
|
6697
6701
|
] }),
|
|
6698
6702
|
kicker != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden text-ods-accent text-h5", style: lineClamp(1), children: kicker }),
|
|
6699
6703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6700
|
-
|
|
6704
|
+
_chunkSIDDZZKLcjs.TruncateText,
|
|
6701
6705
|
{
|
|
6702
6706
|
lines: 2,
|
|
6703
6707
|
variant: "h3",
|
|
@@ -6706,7 +6710,7 @@ var OGLinkPreview = ({
|
|
|
6706
6710
|
children: curatedTitle || domainToTitle(domain)
|
|
6707
6711
|
}
|
|
6708
6712
|
),
|
|
6709
|
-
curatedDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6713
|
+
curatedDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", children: curatedDescription })
|
|
6710
6714
|
]
|
|
6711
6715
|
}
|
|
6712
6716
|
);
|
|
@@ -6842,8 +6846,8 @@ var OGLinkPreview = ({
|
|
|
6842
6846
|
children: [
|
|
6843
6847
|
/* @__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 }) }),
|
|
6844
6848
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6845
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6846
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6849
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { className: "font-semibold transition-colors group-hover:text-ods-accent", children: title }),
|
|
6850
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { tone: "secondary", children: description })
|
|
6847
6851
|
] }),
|
|
6848
6852
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon, {})
|
|
6849
6853
|
]
|
|
@@ -6890,7 +6894,7 @@ var OGLinkPreview = ({
|
|
|
6890
6894
|
),
|
|
6891
6895
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6892
6896
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6893
|
-
|
|
6897
|
+
_chunkSIDDZZKLcjs.TruncateText,
|
|
6894
6898
|
{
|
|
6895
6899
|
lines: 2,
|
|
6896
6900
|
className: "min-h-[calc(var(--font-line-space-h4-body)*2)] font-semibold transition-colors group-hover:text-ods-accent",
|
|
@@ -6899,7 +6903,7 @@ var OGLinkPreview = ({
|
|
|
6899
6903
|
}
|
|
6900
6904
|
),
|
|
6901
6905
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6902
|
-
|
|
6906
|
+
_chunkSIDDZZKLcjs.TruncateText,
|
|
6903
6907
|
{
|
|
6904
6908
|
lines: 2,
|
|
6905
6909
|
tone: "secondary",
|
|
@@ -6909,9 +6913,9 @@ var OGLinkPreview = ({
|
|
|
6909
6913
|
}
|
|
6910
6914
|
),
|
|
6911
6915
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2 text-ods-text-secondary text-h6", children: [
|
|
6912
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6916
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: effectiveData.siteName }),
|
|
6913
6917
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
|
|
6914
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6918
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { as: "span", variant: "h6", className: "text-current", children: ogDomain }),
|
|
6915
6919
|
meta
|
|
6916
6920
|
] })
|
|
6917
6921
|
] })
|
|
@@ -7072,7 +7076,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
7072
7076
|
};
|
|
7073
7077
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
7074
7078
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7075
|
-
|
|
7079
|
+
_chunkOH5LAH3Xcjs.Video,
|
|
7076
7080
|
{
|
|
7077
7081
|
url: item.src,
|
|
7078
7082
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7267,7 +7271,7 @@ var formatTimeAgo = (timestamp) => {
|
|
|
7267
7271
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
7268
7272
|
};
|
|
7269
7273
|
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
7270
|
-
const postLinkRel =
|
|
7274
|
+
const postLinkRel = _chunkOWQVDWTKcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7271
7275
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
7272
7276
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
7273
7277
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7505,7 +7509,7 @@ function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
|
7505
7509
|
width: m.width,
|
|
7506
7510
|
height: m.height
|
|
7507
7511
|
}));
|
|
7508
|
-
const formatNumber =
|
|
7512
|
+
const formatNumber = _chunkBNUZKBNVcjs.formatLargeNumber;
|
|
7509
7513
|
const truncateText = (text, maxLength = 600) => {
|
|
7510
7514
|
if (text.length <= maxLength) return text;
|
|
7511
7515
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7599,7 +7603,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7599
7603
|
] });
|
|
7600
7604
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7601
7605
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7602
|
-
const postLinkRel =
|
|
7606
|
+
const postLinkRel = _chunkOWQVDWTKcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7603
7607
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7604
7608
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7605
7609
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7801,7 +7805,7 @@ function buildRichEmbedOverrides({
|
|
|
7801
7805
|
ogEndpointPath,
|
|
7802
7806
|
textSizes
|
|
7803
7807
|
}) {
|
|
7804
|
-
const standard =
|
|
7808
|
+
const standard = _chunkOWQVDWTKcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7805
7809
|
return {
|
|
7806
7810
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7807
7811
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7811,7 +7815,7 @@ function buildRichEmbedOverrides({
|
|
|
7811
7815
|
const language = match ? match[1] : "";
|
|
7812
7816
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7813
7817
|
if (language === "youtube-embed") {
|
|
7814
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7818
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7815
7819
|
}
|
|
7816
7820
|
if (language === "reddit-embed") {
|
|
7817
7821
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7852,7 +7856,7 @@ function buildRichEmbedOverrides({
|
|
|
7852
7856
|
"data-figma-url": figmaUrl
|
|
7853
7857
|
} = divProps;
|
|
7854
7858
|
if (className === "youtube-embed" && videoId) {
|
|
7855
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7859
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "youtube", url: videoId });
|
|
7856
7860
|
}
|
|
7857
7861
|
if (className === "reddit-embed" && postUrl) {
|
|
7858
7862
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7937,23 +7941,23 @@ function buildRichEmbedOverrides({
|
|
|
7937
7941
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7938
7942
|
// elsewhere). Guard against empty `![]()`.
|
|
7939
7943
|
img: ({ src, alt }) => {
|
|
7940
|
-
if (!
|
|
7944
|
+
if (!_chunkOWQVDWTKcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7941
7945
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7942
7946
|
},
|
|
7943
7947
|
// Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
|
|
7944
7948
|
// facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
|
|
7945
7949
|
// the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
|
|
7946
7950
|
iframe: ({ node: _node, src, ...rest }) => {
|
|
7947
|
-
if (!
|
|
7951
|
+
if (!_chunkOWQVDWTKcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7948
7952
|
const url = src.trim();
|
|
7949
|
-
if (
|
|
7953
|
+
if (_chunkOH5LAH3Xcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "youtube", url });
|
|
7950
7954
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
|
|
7951
7955
|
},
|
|
7952
7956
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7953
7957
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7954
7958
|
video: ({ src, poster, className }) => {
|
|
7955
|
-
if (!
|
|
7956
|
-
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,
|
|
7959
|
+
if (!_chunkOWQVDWTKcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7960
|
+
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, _chunkOH5LAH3Xcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7957
7961
|
}
|
|
7958
7962
|
};
|
|
7959
7963
|
}
|
|
@@ -8061,7 +8065,7 @@ var processShortcodes = (content) => {
|
|
|
8061
8065
|
try {
|
|
8062
8066
|
const urlObj = new URL(url);
|
|
8063
8067
|
const hostname = urlObj.hostname.toLowerCase();
|
|
8064
|
-
const hostIs = (domain) =>
|
|
8068
|
+
const hostIs = (domain) => _chunkYWQ3VXPLcjs.hostMatches.call(void 0, hostname, domain);
|
|
8065
8069
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
8066
8070
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
8067
8071
|
return match;
|
|
@@ -8138,13 +8142,13 @@ var RichMarkdownInner = ({
|
|
|
8138
8142
|
},
|
|
8139
8143
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8140
8144
|
);
|
|
8141
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8145
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkOWQVDWTKcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8142
8146
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8143
8147
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8144
8148
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8145
8149
|
);
|
|
8146
8150
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8147
|
-
|
|
8151
|
+
_chunkOWQVDWTKcjs.MarkdownEngine,
|
|
8148
8152
|
{
|
|
8149
8153
|
content,
|
|
8150
8154
|
className,
|
|
@@ -8168,7 +8172,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8168
8172
|
className = "",
|
|
8169
8173
|
sectionIds,
|
|
8170
8174
|
onInternalLinkClick,
|
|
8171
|
-
brokenLinks =
|
|
8175
|
+
brokenLinks = _chunkOWQVDWTKcjs.NO_BROKEN_LINKS,
|
|
8172
8176
|
currentPath,
|
|
8173
8177
|
resolveSource = "openframe-docs",
|
|
8174
8178
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8213,7 +8217,7 @@ function RichMarkdownRendererSkeleton({
|
|
|
8213
8217
|
title,
|
|
8214
8218
|
className
|
|
8215
8219
|
}) {
|
|
8216
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8220
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.MarkdownEngineSkeleton, { sections, title, textSize: "article", className });
|
|
8217
8221
|
}
|
|
8218
8222
|
|
|
8219
8223
|
// src/components/ui/release-changelog-section.tsx
|
|
@@ -9298,7 +9302,7 @@ function FilterModal({
|
|
|
9298
9302
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _147 => _147.defaultSort]), () => ( "desc"));
|
|
9299
9303
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _148 => _148.sort]), () => ( dateDefaultSort)));
|
|
9300
9304
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _149 => _149.range]));
|
|
9301
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9305
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkOWQVDWTKcjs.useScrollFade.call(void 0, );
|
|
9302
9306
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9303
9307
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9304
9308
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9344,15 +9348,15 @@ function FilterModal({
|
|
|
9344
9348
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9345
9349
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9346
9350
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9347
|
-
|
|
9351
|
+
_chunkXEYL6AFZcjs.Modal,
|
|
9348
9352
|
{
|
|
9349
9353
|
isOpen,
|
|
9350
9354
|
onClose,
|
|
9351
9355
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "max-h-[90vh] max-w-none md:max-w-[min(42rem,calc(100vw-2rem))]", className),
|
|
9352
9356
|
children: [
|
|
9353
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9357
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: title }) }),
|
|
9354
9358
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9355
|
-
|
|
9359
|
+
_chunkXEYL6AFZcjs.ModalContent,
|
|
9356
9360
|
{
|
|
9357
9361
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
9358
9362
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9444,12 +9448,12 @@ function FilterModal({
|
|
|
9444
9448
|
] })
|
|
9445
9449
|
}
|
|
9446
9450
|
),
|
|
9447
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9451
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9449
9453
|
] })
|
|
9450
9454
|
}
|
|
9451
9455
|
),
|
|
9452
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9456
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
9453
9457
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9454
9458
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9455
9459
|
] })
|
|
@@ -9513,7 +9517,7 @@ function renderAdvancedPageContainer({
|
|
|
9513
9517
|
contentClassName,
|
|
9514
9518
|
showHeader = true
|
|
9515
9519
|
}, inScope = false) {
|
|
9516
|
-
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9520
|
+
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
|
|
9517
9521
|
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;
|
|
9518
9522
|
const getActionsVariant = () => {
|
|
9519
9523
|
if (actionsVariant) return actionsVariant;
|
|
@@ -9522,7 +9526,7 @@ function renderAdvancedPageContainer({
|
|
|
9522
9526
|
};
|
|
9523
9527
|
const renderActions = () => {
|
|
9524
9528
|
if (!actions || actions.length === 0) return null;
|
|
9525
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9529
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.PageActions, { variant: getActionsVariant(), actions, menuActions });
|
|
9526
9530
|
};
|
|
9527
9531
|
const needsBottomPadding = actions && actions.length > 0 && getActionsVariant() === "primary-buttons";
|
|
9528
9532
|
const paddingClasses = {
|
|
@@ -9545,7 +9549,7 @@ function renderAdvancedPageContainer({
|
|
|
9545
9549
|
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: [
|
|
9546
9550
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9547
9551
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9548
|
-
|
|
9552
|
+
_chunkSIDDZZKLcjs.BackButton,
|
|
9549
9553
|
{
|
|
9550
9554
|
onClick: backButton.onClick,
|
|
9551
9555
|
label: backButton.label,
|
|
@@ -9565,7 +9569,7 @@ function renderAdvancedPageContainer({
|
|
|
9565
9569
|
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: [
|
|
9566
9570
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
9567
9571
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9568
|
-
|
|
9572
|
+
_chunkSIDDZZKLcjs.BackButton,
|
|
9569
9573
|
{
|
|
9570
9574
|
onClick: backButton.onClick,
|
|
9571
9575
|
label: backButton.label,
|
|
@@ -9585,7 +9589,7 @@ function renderAdvancedPageContainer({
|
|
|
9585
9589
|
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: [
|
|
9586
9590
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
9587
9591
|
backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9588
|
-
|
|
9592
|
+
_chunkSIDDZZKLcjs.BackButton,
|
|
9589
9593
|
{
|
|
9590
9594
|
onClick: backButton.onClick,
|
|
9591
9595
|
label: backButton.label,
|
|
@@ -9673,7 +9677,7 @@ function ListPageLayout({
|
|
|
9673
9677
|
}) {
|
|
9674
9678
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
9675
9679
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9676
|
-
const debouncedSearchValue =
|
|
9680
|
+
const debouncedSearchValue = _chunkOJZBZH56cjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
9677
9681
|
const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9678
9682
|
if (syncedSearchValue !== searchValue) {
|
|
9679
9683
|
setSyncedSearchValue(searchValue);
|
|
@@ -9939,7 +9943,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9939
9943
|
|
|
9940
9944
|
|
|
9941
9945
|
function PlatformBrowseButton({ item }) {
|
|
9942
|
-
const linkProps =
|
|
9946
|
+
const linkProps = _chunkOWQVDWTKcjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9943
9947
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
|
|
9944
9948
|
"Browse ",
|
|
9945
9949
|
item.buttonText
|
|
@@ -10251,7 +10255,7 @@ function DashboardInfoCard({
|
|
|
10251
10255
|
if (percentage === void 0) return null;
|
|
10252
10256
|
if (percentageAsTag) {
|
|
10253
10257
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
10254
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10258
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
10255
10259
|
}
|
|
10256
10260
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
10257
10261
|
"(",
|
|
@@ -10322,7 +10326,7 @@ function DashboardInfoCard({
|
|
|
10322
10326
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk65VVJSQZcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 content-md:text-h2", valueClassName), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) : formattedValue }),
|
|
10323
10327
|
loading ? loadingShowsSubValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.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 }),
|
|
10324
10328
|
renderPercentage(),
|
|
10325
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10329
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.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 }) }) })
|
|
10326
10330
|
] }),
|
|
10327
10331
|
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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-32" }) : caption })
|
|
10328
10332
|
] }),
|
|
@@ -10436,10 +10440,10 @@ var OSTypeBadge = ({
|
|
|
10436
10440
|
if (!osType) {
|
|
10437
10441
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
10438
10442
|
}
|
|
10439
|
-
const normalized =
|
|
10443
|
+
const normalized = _chunkYWQ3VXPLcjs.normalizeOSType.call(void 0, osType);
|
|
10440
10444
|
if (!normalized && !labelOnly) return null;
|
|
10441
|
-
const label =
|
|
10442
|
-
const IconComponent =
|
|
10445
|
+
const label = _chunkYWQ3VXPLcjs.getOSLabel.call(void 0, osType);
|
|
10446
|
+
const IconComponent = _chunkYWQ3VXPLcjs.getOSIcon.call(void 0, osType);
|
|
10443
10447
|
if (iconOnly && IconComponent) {
|
|
10444
10448
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk65VVJSQZcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
10445
10449
|
}
|
|
@@ -10476,8 +10480,8 @@ function DeviceCard({
|
|
|
10476
10480
|
}) {
|
|
10477
10481
|
const formatLastSeen = (lastSeen) => {
|
|
10478
10482
|
if (!lastSeen) return null;
|
|
10479
|
-
const date =
|
|
10480
|
-
return date === "\u2014" ? null : `${date} ${
|
|
10483
|
+
const date = _chunkXEYL6AFZcjs.formatDate.call(void 0, lastSeen);
|
|
10484
|
+
return date === "\u2014" ? null : `${date} ${_chunkXEYL6AFZcjs.formatTime.call(void 0, lastSeen)}`;
|
|
10481
10485
|
};
|
|
10482
10486
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10483
10487
|
"div",
|
|
@@ -10536,7 +10540,7 @@ function DeviceCard({
|
|
|
10536
10540
|
] }),
|
|
10537
10541
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
10538
10542
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10539
|
-
|
|
10543
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
10540
10544
|
{
|
|
10541
10545
|
variant: statusTag.variant,
|
|
10542
10546
|
icon: statusTag.icon,
|
|
@@ -10550,7 +10554,7 @@ function DeviceCard({
|
|
|
10550
10554
|
formatLastSeen(device.lastSeen)
|
|
10551
10555
|
] })
|
|
10552
10556
|
] }),
|
|
10553
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10557
|
+
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
10554
10558
|
]
|
|
10555
10559
|
}
|
|
10556
10560
|
);
|
|
@@ -10596,7 +10600,7 @@ function DataAttribution({ icon, source, lastUpdated, action }) {
|
|
|
10596
10600
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator3, {}),
|
|
10597
10601
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: UPDATED_CLASS, children: [
|
|
10598
10602
|
"Last updated: ",
|
|
10599
|
-
lastUpdated ?
|
|
10603
|
+
lastUpdated ? _chunkBNUZKBNVcjs.formatDate.call(void 0, lastUpdated) : "Never"
|
|
10600
10604
|
] }),
|
|
10601
10605
|
action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ACTION_CLASS, children: action }) : null
|
|
10602
10606
|
] });
|
|
@@ -10724,7 +10728,7 @@ function ComplianceLogo({
|
|
|
10724
10728
|
fallback = null,
|
|
10725
10729
|
className
|
|
10726
10730
|
}) {
|
|
10727
|
-
const standard =
|
|
10731
|
+
const standard = _chunkYWQ3VXPLcjs.complianceStandardForName.call(void 0, ...names);
|
|
10728
10732
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10729
10733
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10730
10734
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10803,7 +10807,7 @@ function FeatureCardGridView({
|
|
|
10803
10807
|
if (allCardsHaveNoBorders) {
|
|
10804
10808
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
10805
10809
|
}
|
|
10806
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10810
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
10807
10811
|
const startIndex = rowIndex * itemsPerRow;
|
|
10808
10812
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
10809
10813
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -10837,7 +10841,7 @@ function FeatureCardGridView({
|
|
|
10837
10841
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
10838
10842
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
10839
10843
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10840
|
-
|
|
10844
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
10841
10845
|
{
|
|
10842
10846
|
text: item.badge.text,
|
|
10843
10847
|
variant: item.badge.variant || "card",
|
|
@@ -10846,7 +10850,7 @@ function FeatureCardGridView({
|
|
|
10846
10850
|
)
|
|
10847
10851
|
] }),
|
|
10848
10852
|
!item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10849
|
-
|
|
10853
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
10850
10854
|
{
|
|
10851
10855
|
text: item.badge.text,
|
|
10852
10856
|
variant: item.badge.variant || "card",
|
|
@@ -11059,7 +11063,7 @@ function FeatureListSkeleton({
|
|
|
11059
11063
|
|
|
11060
11064
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11061
11065
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11062
|
-
|
|
11066
|
+
_chunkBNUZKBNVcjs.FloatingTooltip,
|
|
11063
11067
|
{
|
|
11064
11068
|
as: "span",
|
|
11065
11069
|
side: "top",
|
|
@@ -11447,7 +11451,7 @@ function OrganizationCardSkeleton({
|
|
|
11447
11451
|
"aria-hidden": true,
|
|
11448
11452
|
children: [
|
|
11449
11453
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11450
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.EntityImageSkeleton, {}),
|
|
11451
11455
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11452
11456
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", className: "w-3/4" }),
|
|
11453
11457
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11550,7 +11554,7 @@ function OrganizationCard({
|
|
|
11550
11554
|
}
|
|
11551
11555
|
),
|
|
11552
11556
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_HEADER_CLASS, children: [
|
|
11553
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.EntityImage, { src: fetchedImageUrl || organization.imageUrl, alt: organization.name }),
|
|
11554
11558
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ORGANIZATION_CARD_TEXT_CLASS, children: [
|
|
11555
11559
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "truncate text-ods-text-primary transition-colors text-h3", title: organization.name, children: organization.name }),
|
|
11556
11560
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11600,8 +11604,8 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
11600
11604
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
11601
11605
|
/* @__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 }),
|
|
11602
11606
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
|
|
11603
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11604
|
-
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11607
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h3", children: title }),
|
|
11608
|
+
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: subtitle })
|
|
11605
11609
|
] })
|
|
11606
11610
|
] }),
|
|
11607
11611
|
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start whitespace-nowrap rounded-full border border-ods-border bg-ods-bg px-3 py-1 font-semibold text-ods-text-primary text-h6", children: tag.label })
|
|
@@ -11611,8 +11615,8 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
11611
11615
|
}
|
|
11612
11616
|
function ServiceCardRowItem({ row }) {
|
|
11613
11617
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
11614
|
-
const { copy, copied } =
|
|
11615
|
-
const { ref: valueRef, isTruncated: valueTruncated } =
|
|
11618
|
+
const { copy, copied } = _chunk5PK22JP7cjs.useCopyToClipboard.call(void 0, );
|
|
11619
|
+
const { ref: valueRef, isTruncated: valueTruncated } = _chunkV4FXUIMHcjs.useIsTruncated.call(void 0, row.value);
|
|
11616
11620
|
const actions = _react.useMemo.call(void 0,
|
|
11617
11621
|
() => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
|
|
11618
11622
|
[row]
|
|
@@ -11634,7 +11638,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
11634
11638
|
),
|
|
11635
11639
|
children: [
|
|
11636
11640
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11637
|
-
|
|
11641
|
+
_chunkBNUZKBNVcjs.FloatingTooltip,
|
|
11638
11642
|
{
|
|
11639
11643
|
content: row.value,
|
|
11640
11644
|
side: "top",
|
|
@@ -11734,17 +11738,17 @@ function PersonCell({
|
|
|
11734
11738
|
const displayName = name || fallbackName;
|
|
11735
11739
|
const scale = PERSON_CELL_SIZE[size];
|
|
11736
11740
|
const row = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `group/person-cell ${PERSON_ROW_CLASS} ${scale.gap}`, children: [
|
|
11737
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
|
|
11738
11742
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
11739
11743
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11740
|
-
|
|
11744
|
+
_chunkSIDDZZKLcjs.TruncateText,
|
|
11741
11745
|
{
|
|
11742
11746
|
variant: scale.primary,
|
|
11743
11747
|
className: onClick ? "text-ods-accent group-hover/person-cell:underline" : void 0,
|
|
11744
11748
|
children: displayName
|
|
11745
11749
|
}
|
|
11746
11750
|
),
|
|
11747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: secondary === void 0 ? "\xA0" : secondary || "\xB7" })
|
|
11748
11752
|
] })
|
|
11749
11753
|
] });
|
|
11750
11754
|
if (!onClick) return row;
|
|
@@ -11762,7 +11766,7 @@ function PersonCell({
|
|
|
11762
11766
|
function PersonCellSkeleton({ size = "sm" }) {
|
|
11763
11767
|
const scale = PERSON_CELL_SIZE[size];
|
|
11764
11768
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${PERSON_ROW_CLASS} ${scale.gap}`, "aria-hidden": true, children: [
|
|
11765
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11769
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatarSkeleton, { size: scale.avatar }),
|
|
11766
11770
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
11767
11771
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: scale.primary, className: "w-3/4" }),
|
|
11768
11772
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
|
|
@@ -11785,9 +11789,9 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
11785
11789
|
);
|
|
11786
11790
|
}
|
|
11787
11791
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
11788
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11792
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.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: [
|
|
11789
11793
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11790
|
-
|
|
11794
|
+
_chunkBEMGJDXIcjs.AvatarStack,
|
|
11791
11795
|
{
|
|
11792
11796
|
size: "sm",
|
|
11793
11797
|
slots: PEOPLE_CELL_STACK_SLOTS,
|
|
@@ -11795,7 +11799,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
11795
11799
|
}
|
|
11796
11800
|
) }),
|
|
11797
11801
|
/* @__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: [
|
|
11798
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) =>
|
|
11802
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) => _chunkBNUZKBNVcjs.personFirstName.call(void 0, p.name, "Unknown")).join(" & ") }),
|
|
11799
11803
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: fullNames })
|
|
11800
11804
|
] })
|
|
11801
11805
|
] }) });
|
|
@@ -12452,7 +12456,7 @@ function TableHeader({
|
|
|
12452
12456
|
}
|
|
12453
12457
|
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHI3EKZZZcjs.Arrow01UpIcon, { className: "h-4 w-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWIEQOCRcjs.Arrow01DownIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
12454
12458
|
};
|
|
12455
|
-
const isLgUp = _nullishCoalesce(
|
|
12459
|
+
const isLgUp = _nullishCoalesce(_chunkAQXKXZWBcjs.useContentLgUp.call(void 0, ), () => ( false));
|
|
12456
12460
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
12457
12461
|
"div",
|
|
12458
12462
|
{
|
|
@@ -12509,7 +12513,7 @@ function TableHeader({
|
|
|
12509
12513
|
onFilterChange
|
|
12510
12514
|
}
|
|
12511
12515
|
),
|
|
12512
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12516
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
12513
12517
|
] })
|
|
12514
12518
|
) : (
|
|
12515
12519
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -12535,7 +12539,7 @@ function TableHeader({
|
|
|
12535
12539
|
hint exists, so a hint-less header keeps its DOM. */
|
|
12536
12540
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
12537
12541
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12538
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.InfoHint, { label: column.label, children: column.hint })
|
|
12539
12543
|
] })
|
|
12540
12544
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12541
12545
|
getSortIcon(column)
|
|
@@ -12645,7 +12649,7 @@ function TableRow({
|
|
|
12645
12649
|
const Row = animate && motionDiv ? motionDiv : "div";
|
|
12646
12650
|
const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
|
|
12647
12651
|
const handleRowClick = (e) => {
|
|
12648
|
-
if (!
|
|
12652
|
+
if (!_chunkYWQ3VXPLcjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
|
|
12649
12653
|
if (onClick) {
|
|
12650
12654
|
onClick(item);
|
|
12651
12655
|
}
|
|
@@ -13042,7 +13046,7 @@ function Table({
|
|
|
13042
13046
|
}
|
|
13043
13047
|
),
|
|
13044
13048
|
!infiniteScroll && pagePagination && !cursorPagination && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "mt-2 border-t border-ods-border pt-3", paginationClassName), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13045
|
-
|
|
13049
|
+
_chunkMLX6Z7TUcjs.Pagination,
|
|
13046
13050
|
{
|
|
13047
13051
|
currentPage: pagePagination.currentPage,
|
|
13048
13052
|
totalPages: pagePagination.totalPages,
|
|
@@ -13075,7 +13079,7 @@ function TableDescriptionCell({ text, className, maxLines = 3 }) {
|
|
|
13075
13079
|
|
|
13076
13080
|
// src/components/ui/table/table-timestamp-cell.tsx
|
|
13077
13081
|
|
|
13078
|
-
var formatLocalTimestamp = (date) =>
|
|
13082
|
+
var formatLocalTimestamp = (date) => _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, date, _chunkBNUZKBNVcjs.VIEWER_TIMEZONE, "localeDateTime", { viewerLocale: true });
|
|
13079
13083
|
function formatTimestampValue(timestamp) {
|
|
13080
13084
|
if (timestamp instanceof Date) {
|
|
13081
13085
|
return formatLocalTimestamp(timestamp);
|
|
@@ -13311,7 +13315,7 @@ function QueryReportTable({
|
|
|
13311
13315
|
onThumbPointerMove,
|
|
13312
13316
|
onThumbPointerUp,
|
|
13313
13317
|
onThumbPointerCancel
|
|
13314
|
-
} =
|
|
13318
|
+
} = _chunkVXAKQRV7cjs.useHorizontalScrollbar.call(void 0, );
|
|
13315
13319
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex w-full flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
|
|
13316
13320
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
|
|
13317
13321
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -13424,7 +13428,7 @@ function DataTableRowImpl({
|
|
|
13424
13428
|
const containerRef = _react.useRef.call(void 0, null);
|
|
13425
13429
|
const handleClick = _react.useCallback.call(void 0,
|
|
13426
13430
|
(e) => {
|
|
13427
|
-
if (!
|
|
13431
|
+
if (!_chunkYWQ3VXPLcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
|
|
13428
13432
|
if (isLinkMode) e.preventDefault();
|
|
13429
13433
|
return;
|
|
13430
13434
|
}
|
|
@@ -13552,7 +13556,7 @@ function DataTableBody({
|
|
|
13552
13556
|
const hasRows = rows.length > 0;
|
|
13553
13557
|
const loadMore = useDataTableLoadMoreStore();
|
|
13554
13558
|
const loadMoreRows = _react.useSyncExternalStore.call(void 0, loadMore.subscribe, loadMore.getSkeletonRows, getNoRows);
|
|
13555
|
-
|
|
13559
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => hasRows ? loadMore.registerRowsBody() : void 0, [loadMore, hasRows]);
|
|
13556
13560
|
const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
|
|
13557
13561
|
if (loading && !hasRows) {
|
|
13558
13562
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13875,7 +13879,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13875
13879
|
// child of the cell.
|
|
13876
13880
|
_optionalChain([meta, 'optionalAccess', _241 => _241.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13877
13881
|
filterTrigger,
|
|
13878
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13882
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13879
13883
|
] }) : filterTrigger
|
|
13880
13884
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13881
13885
|
"div",
|
|
@@ -13900,7 +13904,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13900
13904
|
// centred on the row.
|
|
13901
13905
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13902
13906
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13903
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13907
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13904
13908
|
] })
|
|
13905
13909
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13906
13910
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -13960,7 +13964,7 @@ function DataTableInfiniteFooter({
|
|
|
13960
13964
|
const loadMore = useDataTableLoadMoreStore();
|
|
13961
13965
|
const bodyDrawsRows = _react.useSyncExternalStore.call(void 0, loadMore.subscribe, loadMore.getHasRowsBody, getNoBody);
|
|
13962
13966
|
const requestedRows = isFetchingNextPage ? skeletonRows : 0;
|
|
13963
|
-
|
|
13967
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13964
13968
|
loadMore.setSkeletonRows(requestedRows);
|
|
13965
13969
|
return () => loadMore.setSkeletonRows(0);
|
|
13966
13970
|
}, [loadMore, requestedRows]);
|
|
@@ -14134,7 +14138,7 @@ function PhoneInput({
|
|
|
14134
14138
|
placeholder = "Phone Number (optional)",
|
|
14135
14139
|
onKeyDown
|
|
14136
14140
|
}) {
|
|
14137
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
14141
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkYWQ3VXPLcjs.getCountryPhoneData.call(void 0, ), []);
|
|
14138
14142
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
14139
14143
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
14140
14144
|
[countryCode, priority, others]
|
|
@@ -14149,7 +14153,7 @@ function PhoneInput({
|
|
|
14149
14153
|
_optionalChain([onValidationChange, 'optionalCall', _254 => _254(false)]);
|
|
14150
14154
|
return;
|
|
14151
14155
|
}
|
|
14152
|
-
const invalid = !
|
|
14156
|
+
const invalid = !_chunkYWQ3VXPLcjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
14153
14157
|
setIsInvalid(invalid);
|
|
14154
14158
|
_optionalChain([onValidationChange, 'optionalCall', _255 => _255(invalid)]);
|
|
14155
14159
|
},
|
|
@@ -14169,7 +14173,7 @@ function PhoneInput({
|
|
|
14169
14173
|
}, []);
|
|
14170
14174
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2", children: [
|
|
14171
14175
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14172
|
-
|
|
14176
|
+
_chunkSIDDZZKLcjs.Select,
|
|
14173
14177
|
{
|
|
14174
14178
|
value: countryCode,
|
|
14175
14179
|
onValueChange: (val) => {
|
|
@@ -14180,14 +14184,14 @@ function PhoneInput({
|
|
|
14180
14184
|
},
|
|
14181
14185
|
disabled,
|
|
14182
14186
|
children: [
|
|
14183
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14187
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { children: selectedCountry && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5", children: [
|
|
14184
14188
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.flag }),
|
|
14185
14189
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.dialCode })
|
|
14186
14190
|
] }) }) }),
|
|
14187
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14188
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14189
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14191
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
|
|
14192
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectGroup, { children: priority.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) }),
|
|
14193
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectSeparator, {}),
|
|
14194
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectGroup, { children: others.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) })
|
|
14191
14195
|
] })
|
|
14192
14196
|
]
|
|
14193
14197
|
}
|
|
@@ -14219,7 +14223,7 @@ function PhoneInput({
|
|
|
14219
14223
|
] });
|
|
14220
14224
|
}
|
|
14221
14225
|
function CountryOption({ country }) {
|
|
14222
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14226
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
14223
14227
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: country.flag }),
|
|
14224
14228
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary", children: country.dialCode }),
|
|
14225
14229
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-block max-w-[140px] overflow-hidden text-ellipsis whitespace-nowrap", children: country.name })
|
|
@@ -14297,7 +14301,7 @@ function SearchInput({
|
|
|
14297
14301
|
}) {
|
|
14298
14302
|
const [internalValue, setInternalValue] = _react.useState.call(void 0, defaultValue);
|
|
14299
14303
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
14300
|
-
const debouncedValue =
|
|
14304
|
+
const debouncedValue = _chunkOJZBZH56cjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
14301
14305
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
14302
14306
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
14303
14307
|
const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
@@ -14332,7 +14336,7 @@ function SearchInput({
|
|
|
14332
14336
|
document.addEventListener("mousedown", handleClick);
|
|
14333
14337
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
14334
14338
|
}, [showHiddenTags]);
|
|
14335
|
-
|
|
14339
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
14336
14340
|
const popup = hiddenTagsPopupRef.current;
|
|
14337
14341
|
const badge = badgeRef.current;
|
|
14338
14342
|
if (!popup || !badge) return;
|
|
@@ -14509,7 +14513,7 @@ function SearchInput({
|
|
|
14509
14513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 content-md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, {}) }),
|
|
14510
14514
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14511
14515
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14512
|
-
|
|
14516
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
14513
14517
|
{
|
|
14514
14518
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14515
14519
|
label: chip.label,
|
|
@@ -14605,7 +14609,7 @@ function SearchInput({
|
|
|
14605
14609
|
)
|
|
14606
14610
|
] }),
|
|
14607
14611
|
showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14608
|
-
|
|
14612
|
+
_chunkSIDDZZKLcjs.HiddenTagsPopup,
|
|
14609
14613
|
{
|
|
14610
14614
|
ref: hiddenTagsPopupRef,
|
|
14611
14615
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
@@ -14625,7 +14629,7 @@ function SearchInput({
|
|
|
14625
14629
|
}
|
|
14626
14630
|
),
|
|
14627
14631
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14628
|
-
|
|
14632
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
14629
14633
|
{
|
|
14630
14634
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14631
14635
|
label: chip.label,
|
|
@@ -14787,7 +14791,7 @@ function TagSearchInput({
|
|
|
14787
14791
|
document.addEventListener("mousedown", handleClick);
|
|
14788
14792
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
14789
14793
|
}, [showHiddenTags]);
|
|
14790
|
-
|
|
14794
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
14791
14795
|
const popup = hiddenTagsPopupRef.current;
|
|
14792
14796
|
const badge = badgeRef.current;
|
|
14793
14797
|
if (!popup || !badge) return;
|
|
@@ -14838,7 +14842,7 @@ function TagSearchInput({
|
|
|
14838
14842
|
/* @__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" }) }),
|
|
14839
14843
|
/* @__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: [
|
|
14840
14844
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14841
|
-
|
|
14845
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
14842
14846
|
{
|
|
14843
14847
|
variant: "outline",
|
|
14844
14848
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -14899,7 +14903,7 @@ function TagSearchInput({
|
|
|
14899
14903
|
}
|
|
14900
14904
|
),
|
|
14901
14905
|
showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14902
|
-
|
|
14906
|
+
_chunkSIDDZZKLcjs.HiddenTagsPopup,
|
|
14903
14907
|
{
|
|
14904
14908
|
ref: hiddenTagsPopupRef,
|
|
14905
14909
|
items: hiddenTags,
|
|
@@ -14926,7 +14930,7 @@ function TagSearchInput({
|
|
|
14926
14930
|
"aria-hidden": "true",
|
|
14927
14931
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
14928
14932
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14929
|
-
|
|
14933
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
14930
14934
|
{
|
|
14931
14935
|
variant: "outline",
|
|
14932
14936
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -14989,8 +14993,8 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
14989
14993
|
if (!trimmedUrl) return;
|
|
14990
14994
|
onSubmit({ text: text.trim(), url: trimmedUrl, rel });
|
|
14991
14995
|
};
|
|
14992
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14993
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14996
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen, onClose, className: "text-left md:max-w-[560px]", children: [
|
|
14997
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: editing ? "Edit link" : "Add link" }) }),
|
|
14994
14998
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14995
14999
|
"form",
|
|
14996
15000
|
{
|
|
@@ -15015,7 +15019,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
15015
15019
|
),
|
|
15016
15020
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
15017
15021
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15018
|
-
|
|
15022
|
+
_chunkOWQVDWTKcjs.TabSelector,
|
|
15019
15023
|
{
|
|
15020
15024
|
label: "Search engines",
|
|
15021
15025
|
value: choice,
|
|
@@ -15032,7 +15036,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
15032
15036
|
]
|
|
15033
15037
|
}
|
|
15034
15038
|
),
|
|
15035
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15039
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
15036
15040
|
editing ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", onClick: onRemove, className: "flex-1", children: "Remove link" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", onClick: onClose, className: "flex-1", children: "Cancel" }),
|
|
15037
15041
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "submit", form: formId, variant: "accent", disabled: !trimmedUrl, className: "flex-1", children: editing ? "Save" : "Add link" })
|
|
15038
15042
|
] })
|
|
@@ -15072,7 +15076,7 @@ function useMarkdownLinkCommand() {
|
|
|
15072
15076
|
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
15073
15077
|
icon: command.icon,
|
|
15074
15078
|
execute: (state, api) => {
|
|
15075
|
-
const existing =
|
|
15079
|
+
const existing = _chunkOWQVDWTKcjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
15076
15080
|
setPending(
|
|
15077
15081
|
existing ? {
|
|
15078
15082
|
api,
|
|
@@ -15103,7 +15107,7 @@ function useMarkdownLinkCommand() {
|
|
|
15103
15107
|
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _312 => _312.initial]), () => ( EMPTY_LINK)),
|
|
15104
15108
|
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _313 => _313.editing]), () => ( false)),
|
|
15105
15109
|
onSubmit: (link) => {
|
|
15106
|
-
if (pending) write(pending,
|
|
15110
|
+
if (pending) write(pending, _chunkOWQVDWTKcjs.formatMarkdownLink.call(void 0, link));
|
|
15107
15111
|
},
|
|
15108
15112
|
onRemove: () => {
|
|
15109
15113
|
if (pending) write(pending, pending.initial.text);
|
|
@@ -15269,7 +15273,7 @@ function MarkdownEditor({
|
|
|
15269
15273
|
setUploadProgress(`Uploading ${file.name}...`);
|
|
15270
15274
|
try {
|
|
15271
15275
|
const url = await onUploadFile(file);
|
|
15272
|
-
const isImage =
|
|
15276
|
+
const isImage = _chunkYG72MEHYcjs.fileMediaType.call(void 0, file) === "image";
|
|
15273
15277
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
15274
15278
|
insertTextAtCursor(markdown);
|
|
15275
15279
|
_optionalChain([onFileUploaded, 'optionalCall', _316 => _316(url, file.name)]);
|
|
@@ -15399,7 +15403,7 @@ function MarkdownEditor({
|
|
|
15399
15403
|
type: "file",
|
|
15400
15404
|
className: "hidden",
|
|
15401
15405
|
onChange: handleFileInputChange,
|
|
15402
|
-
accept: `${
|
|
15406
|
+
accept: `${_chunkYG72MEHYcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
|
|
15403
15407
|
}
|
|
15404
15408
|
),
|
|
15405
15409
|
/* @__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,
|
|
@@ -15800,7 +15804,7 @@ function matchesAccept2(file, accept) {
|
|
|
15800
15804
|
return patterns.some((pattern) => {
|
|
15801
15805
|
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
|
|
15802
15806
|
if (pattern.endsWith("/*"))
|
|
15803
|
-
return fileType.startsWith(pattern.slice(0, -1)) ||
|
|
15807
|
+
return fileType.startsWith(pattern.slice(0, -1)) || _chunkYG72MEHYcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
|
|
15804
15808
|
return fileType === pattern;
|
|
15805
15809
|
});
|
|
15806
15810
|
}
|
|
@@ -15808,7 +15812,7 @@ function ImageUploader({
|
|
|
15808
15812
|
value,
|
|
15809
15813
|
onChange,
|
|
15810
15814
|
onRemove,
|
|
15811
|
-
accept =
|
|
15815
|
+
accept = _chunkYG72MEHYcjs.IMAGE_FILE_ACCEPT,
|
|
15812
15816
|
maxSize = DEFAULT_MAX_SIZE,
|
|
15813
15817
|
label = "Cover Image",
|
|
15814
15818
|
description = "(Click Here or Drag and Drop)",
|
|
@@ -15828,7 +15832,7 @@ function ImageUploader({
|
|
|
15828
15832
|
const [pressed, setPressed] = _react.useState.call(void 0, false);
|
|
15829
15833
|
const [validationError, setValidationError] = _react.useState.call(void 0, null);
|
|
15830
15834
|
const interactive = !disabled && !loading;
|
|
15831
|
-
const resolvedValue =
|
|
15835
|
+
const resolvedValue = _chunkV4FXUIMHcjs.useAuthedImageSrc.call(void 0, value);
|
|
15832
15836
|
const hasImage = Boolean(value);
|
|
15833
15837
|
const displayError = error || validationError || void 0;
|
|
15834
15838
|
const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
|
|
@@ -16046,13 +16050,13 @@ function ColorPresetSelect({
|
|
|
16046
16050
|
...presets.map((p) => ({
|
|
16047
16051
|
id: p.key,
|
|
16048
16052
|
label: p.label,
|
|
16049
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16053
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: p.color }),
|
|
16050
16054
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16051
16055
|
})),
|
|
16052
16056
|
{
|
|
16053
16057
|
id: CUSTOM_PRESET_KEY,
|
|
16054
16058
|
label: "Custom",
|
|
16055
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16059
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16056
16060
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16057
16061
|
}
|
|
16058
16062
|
]
|
|
@@ -16069,7 +16073,7 @@ function ColorPresetSelect({
|
|
|
16069
16073
|
{
|
|
16070
16074
|
disabled,
|
|
16071
16075
|
"aria-label": `Color: ${displayLabel}`,
|
|
16072
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16076
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: displayColor }),
|
|
16073
16077
|
selectedLabel: displayLabel,
|
|
16074
16078
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16075
16079
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "group", className)
|
|
@@ -16090,7 +16094,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16090
16094
|
}
|
|
16091
16095
|
const commit = () => {
|
|
16092
16096
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16093
|
-
if (
|
|
16097
|
+
if (_chunk3ZLPYEL5cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16094
16098
|
else setDraft(value);
|
|
16095
16099
|
};
|
|
16096
16100
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16154,12 +16158,12 @@ function ChannelInput({
|
|
|
16154
16158
|
);
|
|
16155
16159
|
}
|
|
16156
16160
|
function RgbInputs({ value, onChange }) {
|
|
16157
|
-
const rgb = _nullishCoalesce(
|
|
16161
|
+
const rgb = _nullishCoalesce(_chunk3ZLPYEL5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16158
16162
|
const update = (next) => {
|
|
16159
16163
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16160
16164
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16161
16165
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16162
|
-
onChange(
|
|
16166
|
+
onChange(_chunk3ZLPYEL5cjs.rgbToHex.call(void 0, r, g, b));
|
|
16163
16167
|
};
|
|
16164
16168
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16165
16169
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16168,14 +16172,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16168
16172
|
] });
|
|
16169
16173
|
}
|
|
16170
16174
|
function HslInputs({ value, onChange }) {
|
|
16171
|
-
const rgb = _nullishCoalesce(
|
|
16172
|
-
const hsl =
|
|
16175
|
+
const rgb = _nullishCoalesce(_chunk3ZLPYEL5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16176
|
+
const hsl = _chunk3ZLPYEL5cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16173
16177
|
const update = (next) => {
|
|
16174
16178
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16175
16179
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16176
16180
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16177
|
-
const out =
|
|
16178
|
-
onChange(
|
|
16181
|
+
const out = _chunk3ZLPYEL5cjs.hslToRgb.call(void 0, h, s, l);
|
|
16182
|
+
onChange(_chunk3ZLPYEL5cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16179
16183
|
};
|
|
16180
16184
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16181
16185
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16201,7 +16205,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16201
16205
|
{
|
|
16202
16206
|
disabled,
|
|
16203
16207
|
"aria-label": "Pick custom color",
|
|
16204
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16208
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: value }),
|
|
16205
16209
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16206
16210
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16207
16211
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "group", className)
|
|
@@ -16265,7 +16269,7 @@ function TicketStatusConfigRow({
|
|
|
16265
16269
|
isDragging,
|
|
16266
16270
|
moveButtons
|
|
16267
16271
|
}) {
|
|
16268
|
-
const dragAndDropEnabled =
|
|
16272
|
+
const dragAndDropEnabled = _chunkVXAKQRV7cjs.useDragAndDropEnabled.call(void 0, );
|
|
16269
16273
|
const nameInputId = _react.useId.call(void 0, );
|
|
16270
16274
|
const isSystem = variant === "system";
|
|
16271
16275
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -16274,7 +16278,7 @@ function TicketStatusConfigRow({
|
|
|
16274
16278
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16275
16279
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16276
16280
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16277
|
-
|
|
16281
|
+
_chunkLBGAHB6Xcjs.TicketStatusTag,
|
|
16278
16282
|
{
|
|
16279
16283
|
status: statusKey,
|
|
16280
16284
|
label: name || " ",
|
|
@@ -16381,7 +16385,7 @@ function TicketStatusConfigRow({
|
|
|
16381
16385
|
),
|
|
16382
16386
|
children: [
|
|
16383
16387
|
!isSystem && moveButtons,
|
|
16384
|
-
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,
|
|
16388
|
+
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, _chunkKLTUTZBOcjs.TouchFriendlyTooltip, { content: systemTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16385
16389
|
"button",
|
|
16386
16390
|
{
|
|
16387
16391
|
type: "button",
|
|
@@ -16389,7 +16393,7 @@ function TicketStatusConfigRow({
|
|
|
16389
16393
|
className: "flex size-6 items-center justify-center text-ods-text-secondary outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
16390
16394
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { size: 24 })
|
|
16391
16395
|
}
|
|
16392
|
-
) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16396
|
+
) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKLTUTZBOcjs.TouchFriendlyTooltip, { content: deleteDisabled ? deleteDisabledReason : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16393
16397
|
_chunkTF5D5MNOcjs.Button,
|
|
16394
16398
|
{
|
|
16395
16399
|
type: "button",
|
|
@@ -16428,7 +16432,7 @@ var SKELETON_COLUMNS = 6;
|
|
|
16428
16432
|
function TestResultsSkeleton({
|
|
16429
16433
|
region = true
|
|
16430
16434
|
} = {}) {
|
|
16431
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16435
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16432
16436
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-4 w-3/4 rounded-sm" }) }, `skeleton-header-${i}`)) }),
|
|
16433
16437
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] content-md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-5 w-3/4 rounded-sm" }) }, `skeleton-cell-${i}`)) }) })
|
|
16434
16438
|
] }) }) });
|
|
@@ -16463,13 +16467,13 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16463
16467
|
if (loading) {
|
|
16464
16468
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16465
16469
|
}
|
|
16466
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16470
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.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: [
|
|
16467
16471
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16468
16472
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16469
16473
|
] }) }) });
|
|
16470
16474
|
}
|
|
16471
16475
|
function TestRunErrorBanner({ error, className }) {
|
|
16472
|
-
const { copy } =
|
|
16476
|
+
const { copy } = _chunk5PK22JP7cjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
16473
16477
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16474
16478
|
"div",
|
|
16475
16479
|
{
|
|
@@ -16525,7 +16529,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16525
16529
|
function TestRunStatusStat({ status, className }) {
|
|
16526
16530
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16527
16531
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
16528
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16532
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.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: "-" }),
|
|
16529
16533
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16530
16534
|
] });
|
|
16531
16535
|
}
|
|
@@ -16569,7 +16573,7 @@ function useTestRunState(campaign) {
|
|
|
16569
16573
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
16570
16574
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
16571
16575
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16572
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16576
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkXEYL6AFZcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16573
16577
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16574
16578
|
const displayRows = _react.useMemo.call(void 0,
|
|
16575
16579
|
() => campaign.results.map(
|
|
@@ -16608,7 +16612,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
16608
16612
|
),
|
|
16609
16613
|
children: [
|
|
16610
16614
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16611
|
-
|
|
16615
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
16612
16616
|
{
|
|
16613
16617
|
src: attachment.thumbnailSrc,
|
|
16614
16618
|
alt: attachment.fileName,
|
|
@@ -16701,7 +16705,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
16701
16705
|
};
|
|
16702
16706
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
|
|
16703
16707
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16704
|
-
|
|
16708
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
16705
16709
|
{
|
|
16706
16710
|
src: note.authorAvatar,
|
|
16707
16711
|
alt: note.authorName,
|
|
@@ -16877,7 +16881,7 @@ function TicketInfoSection({
|
|
|
16877
16881
|
/* @__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: [
|
|
16878
16882
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
16879
16883
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16880
|
-
|
|
16884
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
16881
16885
|
{
|
|
16882
16886
|
src: _optionalChain([organization, 'optionalAccess', _352 => _352.imageSrc]),
|
|
16883
16887
|
alt: _optionalChain([organization, 'optionalAccess', _353 => _353.name]),
|
|
@@ -16907,7 +16911,7 @@ function TicketInfoSection({
|
|
|
16907
16911
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _356 => _356.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _357 => _357.icon]), onClick: _optionalChain([device, 'optionalAccess', _358 => _358.onClick]) }),
|
|
16908
16912
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16909
16913
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16910
|
-
|
|
16914
|
+
_chunkLBGAHB6Xcjs.TicketStatusTag,
|
|
16911
16915
|
{
|
|
16912
16916
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16913
16917
|
label: statusLabel,
|
|
@@ -16946,9 +16950,9 @@ function TicketInfoSection({
|
|
|
16946
16950
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16947
16951
|
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" }) }),
|
|
16948
16952
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16949
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16953
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.SimpleMarkdownRenderer, { content: description }),
|
|
16950
16954
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16951
|
-
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,
|
|
16955
|
+
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, _chunkBNUZKBNVcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16952
16956
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16953
16957
|
TicketNotesSection,
|
|
16954
16958
|
{
|
|
@@ -16971,8 +16975,8 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
16971
16975
|
const { label, color } = option;
|
|
16972
16976
|
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: [
|
|
16973
16977
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16974
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16978
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color }),
|
|
16979
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { className: "text-inherit", children: label }) })
|
|
16976
16980
|
] }),
|
|
16977
16981
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16978
16982
|
] });
|
|
@@ -16981,8 +16985,8 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
16981
16985
|
const { label, imageUrl } = option;
|
|
16982
16986
|
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: [
|
|
16983
16987
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16984
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16985
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
16989
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { className: "text-inherit", children: label }) })
|
|
16986
16990
|
] }),
|
|
16987
16991
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
16988
16992
|
] });
|
|
@@ -17016,9 +17020,9 @@ function TakeOverTicketModal({
|
|
|
17016
17020
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17017
17021
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17018
17022
|
};
|
|
17019
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17023
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17020
17024
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17021
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17025
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17022
17026
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17023
17027
|
"The ticket ",
|
|
17024
17028
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17026,19 +17030,19 @@ function TakeOverTicketModal({
|
|
|
17026
17030
|
] }),
|
|
17027
17031
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
17028
17032
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17029
|
-
|
|
17033
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
17030
17034
|
{
|
|
17031
17035
|
label: "Status",
|
|
17032
17036
|
options: statusOptions,
|
|
17033
17037
|
value: selectedStatusId,
|
|
17034
17038
|
onChange: setStatusId,
|
|
17035
17039
|
placeholder: "Select Status",
|
|
17036
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17040
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17037
17041
|
renderOption: renderTicketStatusOption
|
|
17038
17042
|
}
|
|
17039
17043
|
) }),
|
|
17040
17044
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17041
|
-
|
|
17045
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
17042
17046
|
{
|
|
17043
17047
|
label: "Assigned",
|
|
17044
17048
|
options: assigneeOptions,
|
|
@@ -17047,7 +17051,7 @@ function TakeOverTicketModal({
|
|
|
17047
17051
|
placeholder: "Select Technician",
|
|
17048
17052
|
loading: assigneesLoading,
|
|
17049
17053
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17050
|
-
|
|
17054
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
17051
17055
|
{
|
|
17052
17056
|
src: selectedAssignee.imageUrl,
|
|
17053
17057
|
alt: selectedAssignee.label,
|
|
@@ -17060,7 +17064,7 @@ function TakeOverTicketModal({
|
|
|
17060
17064
|
}
|
|
17061
17065
|
) })
|
|
17062
17066
|
] }),
|
|
17063
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17067
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
17064
17068
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17065
17069
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17066
17070
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17119,9 +17123,9 @@ function ReopenTicketModal({
|
|
|
17119
17123
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17120
17124
|
});
|
|
17121
17125
|
};
|
|
17122
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17126
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17123
17127
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17124
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17128
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17125
17129
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17126
17130
|
"The ticket ",
|
|
17127
17131
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17129,19 +17133,19 @@ function ReopenTicketModal({
|
|
|
17129
17133
|
] }),
|
|
17130
17134
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
|
|
17131
17135
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17132
|
-
|
|
17136
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
17133
17137
|
{
|
|
17134
17138
|
label: "Status",
|
|
17135
17139
|
options: statusOptions,
|
|
17136
17140
|
value: selectedStatusId,
|
|
17137
17141
|
onChange: setStatusId,
|
|
17138
17142
|
placeholder: "Select Status",
|
|
17139
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17143
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17140
17144
|
renderOption: renderTicketStatusOption
|
|
17141
17145
|
}
|
|
17142
17146
|
) }),
|
|
17143
17147
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17144
|
-
|
|
17148
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
17145
17149
|
{
|
|
17146
17150
|
label: "Assigned",
|
|
17147
17151
|
options: assigneeOptions,
|
|
@@ -17150,7 +17154,7 @@ function ReopenTicketModal({
|
|
|
17150
17154
|
placeholder: "Select Technician",
|
|
17151
17155
|
loading: assigneesLoading,
|
|
17152
17156
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17153
|
-
|
|
17157
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
17154
17158
|
{
|
|
17155
17159
|
src: selectedAssignee.imageUrl,
|
|
17156
17160
|
alt: selectedAssignee.label,
|
|
@@ -17174,7 +17178,7 @@ function ReopenTicketModal({
|
|
|
17174
17178
|
disabled: isPending
|
|
17175
17179
|
}
|
|
17176
17180
|
) }),
|
|
17177
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17181
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
17178
17182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17179
17183
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17180
17184
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17223,9 +17227,9 @@ function ReopenTicketRequestModal({
|
|
|
17223
17227
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17224
17228
|
});
|
|
17225
17229
|
};
|
|
17226
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17230
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17227
17231
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17228
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17229
17233
|
/* @__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." }),
|
|
17230
17234
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17231
17235
|
Textarea,
|
|
@@ -17249,7 +17253,7 @@ function ReopenTicketRequestModal({
|
|
|
17249
17253
|
disabled: isPending
|
|
17250
17254
|
}
|
|
17251
17255
|
),
|
|
17252
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17256
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXEYL6AFZcjs.ModalFooter, { children: [
|
|
17253
17257
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17254
17258
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17255
17259
|
] })
|
|
@@ -17431,7 +17435,7 @@ function PhotoWall({
|
|
|
17431
17435
|
gap: COLUMN_GAP_PX
|
|
17432
17436
|
};
|
|
17433
17437
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk65VVJSQZcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17434
|
-
|
|
17438
|
+
_chunkOWQVDWTKcjs.MarqueeWall,
|
|
17435
17439
|
{
|
|
17436
17440
|
axis: "y",
|
|
17437
17441
|
reverse: index % 2 === 1,
|
|
@@ -17566,7 +17570,7 @@ function LazyMount({
|
|
|
17566
17570
|
// src/components/ui/app-window-frame.tsx
|
|
17567
17571
|
|
|
17568
17572
|
function AppWindowFrame({ title, children, footer, agent, className, bodyClassName }) {
|
|
17569
|
-
const tint =
|
|
17573
|
+
const tint = _chunk3ZLPYEL5cjs.useAgentTint.call(void 0, agent);
|
|
17570
17574
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17571
17575
|
"div",
|
|
17572
17576
|
{
|
|
@@ -17594,9 +17598,9 @@ function AppWindowFrame({ title, children, footer, agent, className, bodyClassNa
|
|
|
17594
17598
|
// src/components/ui/product-screen-frame.tsx
|
|
17595
17599
|
|
|
17596
17600
|
|
|
17597
|
-
var PRODUCT_SCREEN_DESIGN_WIDTH =
|
|
17598
|
-
var PRODUCT_SCREEN_READABLE_WIDTH =
|
|
17599
|
-
var PRODUCT_SCREEN_SCALE_FROM =
|
|
17601
|
+
var PRODUCT_SCREEN_DESIGN_WIDTH = _chunkV4FXUIMHcjs.LAYOUT_STEPS["2xl"].content;
|
|
17602
|
+
var PRODUCT_SCREEN_READABLE_WIDTH = _chunkV4FXUIMHcjs.LAYOUT_STEPS.lg.content;
|
|
17603
|
+
var PRODUCT_SCREEN_SCALE_FROM = _chunkV4FXUIMHcjs.LAYOUT_STEPS.md.content;
|
|
17600
17604
|
var SCALE_VAR = "--product-screen-scale";
|
|
17601
17605
|
function ProductScreenFrame({
|
|
17602
17606
|
children,
|
|
@@ -17649,7 +17653,7 @@ function ProductScreenFrame({
|
|
|
17649
17653
|
style: { height },
|
|
17650
17654
|
children: [
|
|
17651
17655
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIFEZ2JTcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIFEZ2JTcjs.CollisionBoundaryContext.Provider, { value: frame, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { inert: true, "aria-hidden": true, className: "ods-content-area", style: screenStyle, children: [
|
|
17652
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ods-content-scope", children: mode === "pending" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.LoadingScope, { bare: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17656
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ods-content-scope", children: mode === "pending" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.LoadingScope, { bare: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.PagePicture, { children }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.PagePicture, { children }) }),
|
|
17653
17657
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
17654
17658
|
] }) }) }),
|
|
17655
17659
|
fade && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17785,7 +17789,7 @@ function PhoneFrame({ dateLabel, timeLabel, children, className }) {
|
|
|
17785
17789
|
"div",
|
|
17786
17790
|
{
|
|
17787
17791
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "h-[617px] w-[299px] shrink-0 rounded-[48px] border border-ods-border bg-black p-2.5", className),
|
|
17788
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "relative flex h-full flex-col overflow-hidden rounded-[38px]",
|
|
17792
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "relative flex h-full flex-col overflow-hidden rounded-[38px]", _chunkSIDDZZKLcjs.DEVICE_WALLPAPER_CLASS), children: [
|
|
17789
17793
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17790
17794
|
"div",
|
|
17791
17795
|
{
|
|
@@ -17977,7 +17981,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17977
17981
|
};
|
|
17978
17982
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17979
17983
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17980
|
-
const labels =
|
|
17984
|
+
const labels = _chunkYWQ3VXPLcjs.trialLabels.call(void 0, trialDays);
|
|
17981
17985
|
return terms.flatMap((term) => {
|
|
17982
17986
|
const label = labels[term];
|
|
17983
17987
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -18074,7 +18078,7 @@ function AnalyzingState({ label, className }) {
|
|
|
18074
18078
|
}) }),
|
|
18075
18079
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 text-center text-ods-text-secondary text-h4", children: [
|
|
18076
18080
|
label,
|
|
18077
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18081
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXEYL6AFZcjs.ChatTypingIndicator, { "aria-hidden": true, size: "sm", dotClassName: "bg-ods-text-secondary motion-reduce:animate-none" })
|
|
18078
18082
|
] })
|
|
18079
18083
|
] });
|
|
18080
18084
|
}
|
|
@@ -18088,7 +18092,7 @@ var INCIDENT_TONE = {
|
|
|
18088
18092
|
approved: "success"
|
|
18089
18093
|
};
|
|
18090
18094
|
function IncidentStatusLine({ status, label, className }) {
|
|
18091
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18095
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
|
|
18092
18096
|
}
|
|
18093
18097
|
var FEED_CLASS = "flex min-h-0 flex-1 flex-col gap-3 overflow-hidden p-4 md:px-5";
|
|
18094
18098
|
var FEED_BOTTOM_CLASS = "justify-end [mask-image:linear-gradient(180deg,transparent_0,#000_48px)]";
|
|
@@ -18200,8 +18204,8 @@ function SnapCarousel({
|
|
|
18200
18204
|
}) {
|
|
18201
18205
|
const trackRef = _react.useRef.call(void 0, null);
|
|
18202
18206
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
18203
|
-
const { ref: viewRef, inView } =
|
|
18204
|
-
const auto =
|
|
18207
|
+
const { ref: viewRef, inView } = _chunkOJZBZH56cjs.useInView.call(void 0, { threshold: 0.5 });
|
|
18208
|
+
const auto = _chunkOJZBZH56cjs.useAutoplay.call(void 0, inView);
|
|
18205
18209
|
const count = items.length;
|
|
18206
18210
|
const slideStep = _react.useCallback.call(void 0, () => {
|
|
18207
18211
|
const first = _optionalChain([trackRef, 'access', _369 => _369.current, 'optionalAccess', _370 => _370.firstElementChild]);
|
|
@@ -18232,7 +18236,7 @@ function SnapCarousel({
|
|
|
18232
18236
|
}, [count, slideStep]);
|
|
18233
18237
|
const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
|
|
18234
18238
|
const playing = auto.playing && canAutoAdvance;
|
|
18235
|
-
const ranMs =
|
|
18239
|
+
const ranMs = _chunk5PK22JP7cjs.useResumableTimeout.call(void 0, {
|
|
18236
18240
|
running: playing,
|
|
18237
18241
|
durationMs: autoAdvanceMs,
|
|
18238
18242
|
resetKey: index,
|
|
@@ -18397,7 +18401,7 @@ function SuperUserBannerView({ tenantName, environmentLabel, className }) {
|
|
|
18397
18401
|
endAdornment: (
|
|
18398
18402
|
// Below `md` the chip would take the width the tenant name needs, and
|
|
18399
18403
|
// the name is the point of the strip: the chip waits for `md`.
|
|
18400
|
-
environmentLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18404
|
+
environmentLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: "critical", label: environmentLabel, className: "uppercase max-md:hidden" }) : void 0
|
|
18401
18405
|
)
|
|
18402
18406
|
}
|
|
18403
18407
|
);
|
|
@@ -18616,10 +18620,10 @@ function AccountDetailsFields({
|
|
|
18616
18620
|
onKeyDown,
|
|
18617
18621
|
layout = "stacked"
|
|
18618
18622
|
}) {
|
|
18619
|
-
const firstNameErr =
|
|
18620
|
-
const lastNameErr =
|
|
18621
|
-
const passwordErr =
|
|
18622
|
-
const confirmErr =
|
|
18623
|
+
const firstNameErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.firstName]), firstName);
|
|
18624
|
+
const lastNameErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.lastName]), lastName);
|
|
18625
|
+
const passwordErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.password]), password);
|
|
18626
|
+
const confirmErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _374 => _374.confirmPassword]), confirmPassword);
|
|
18623
18627
|
const names = [
|
|
18624
18628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18625
18629
|
_chunkYXDHVHB2cjs.Input,
|
|
@@ -18837,16 +18841,16 @@ function LabeledDivider({ label }) {
|
|
|
18837
18841
|
var PROVIDER_META = {
|
|
18838
18842
|
openframe: {
|
|
18839
18843
|
name: "OpenFrame",
|
|
18840
|
-
Icon:
|
|
18844
|
+
Icon: _chunkTUAATMUEcjs.requireIcon.call(void 0, {
|
|
18841
18845
|
set: "OpenframeLogoIcon",
|
|
18842
18846
|
color: "var(--color-text-primary)",
|
|
18843
18847
|
secondaryColor: "var(--color-accent-primary)",
|
|
18844
18848
|
ownColor: true
|
|
18845
18849
|
})
|
|
18846
18850
|
},
|
|
18847
|
-
google: { name: "Google", Icon:
|
|
18848
|
-
microsoft: { name: "Microsoft", Icon:
|
|
18849
|
-
apple: { name: "Apple", Icon:
|
|
18851
|
+
google: { name: "Google", Icon: _chunkTUAATMUEcjs.requireIcon.call(void 0, { set: "GoogleLogoIcon" }) },
|
|
18852
|
+
microsoft: { name: "Microsoft", Icon: _chunkTUAATMUEcjs.requireIcon.call(void 0, { set: "MicrosoftLogoIcon" }) },
|
|
18853
|
+
apple: { name: "Apple", Icon: _chunkTUAATMUEcjs.requireIcon.call(void 0, { set: "AppleLogoIcon" }) }
|
|
18850
18854
|
};
|
|
18851
18855
|
function SsoProviderButtons({
|
|
18852
18856
|
providers,
|
|
@@ -18876,7 +18880,7 @@ function SsoProviderButtons({
|
|
|
18876
18880
|
// where a long organization name would otherwise push the label out of a phone-width
|
|
18877
18881
|
// button. `block` over its inline-flex, because an ellipsis only renders on a block box.
|
|
18878
18882
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18879
|
-
|
|
18883
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
18880
18884
|
{
|
|
18881
18885
|
text: tag,
|
|
18882
18886
|
variant: "button",
|
|
@@ -18935,7 +18939,7 @@ function CompleteAccountForm({
|
|
|
18935
18939
|
),
|
|
18936
18940
|
children: [
|
|
18937
18941
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18938
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18942
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18939
18943
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18940
18944
|
] }),
|
|
18941
18945
|
ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -19066,9 +19070,9 @@ function CreateOrganizationForm({
|
|
|
19066
19070
|
}) {
|
|
19067
19071
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
19068
19072
|
const fieldsDisabled = disabled || loading;
|
|
19069
|
-
const emailErr =
|
|
19070
|
-
const orgNameErr =
|
|
19071
|
-
const domainErr =
|
|
19073
|
+
const emailErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _376 => _376.email]), _nullishCoalesce(email, () => ( "")));
|
|
19074
|
+
const orgNameErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _377 => _377.organizationName]), organizationName);
|
|
19075
|
+
const domainErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _378 => _378.domain]), domain);
|
|
19072
19076
|
const handleKeyDown = (event) => {
|
|
19073
19077
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19074
19078
|
onSubmit();
|
|
@@ -19083,7 +19087,7 @@ function CreateOrganizationForm({
|
|
|
19083
19087
|
),
|
|
19084
19088
|
children: [
|
|
19085
19089
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19086
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19090
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19087
19091
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19088
19092
|
] }),
|
|
19089
19093
|
email === void 0 ? null : emailReadOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.Input, { type: "email", label: emailReadOnlyLabel, value: email, readOnly: true, disabled: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19224,7 +19228,7 @@ function InviteLinkInvalidModal({
|
|
|
19224
19228
|
),
|
|
19225
19229
|
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: [
|
|
19226
19230
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
|
|
19227
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19231
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19228
19232
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19229
19233
|
"button",
|
|
19230
19234
|
{
|
|
@@ -19287,7 +19291,7 @@ function LoginForm({
|
|
|
19287
19291
|
}) {
|
|
19288
19292
|
const fieldDisabled = disabled || loading;
|
|
19289
19293
|
const providersDisabled = fieldDisabled || ssoDisabled;
|
|
19290
|
-
const emailErr =
|
|
19294
|
+
const emailErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _385 => _385.email]), email);
|
|
19291
19295
|
const handleKeyDown = (event) => {
|
|
19292
19296
|
if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
|
|
19293
19297
|
if (onSubmitClick) {
|
|
@@ -19305,7 +19309,7 @@ function LoginForm({
|
|
|
19305
19309
|
),
|
|
19306
19310
|
children: [
|
|
19307
19311
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19308
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19312
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19309
19313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19310
19314
|
] }),
|
|
19311
19315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19431,7 +19435,7 @@ function NoAccountNotice({
|
|
|
19431
19435
|
),
|
|
19432
19436
|
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: [
|
|
19433
19437
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19434
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19438
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19435
19439
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
19436
19440
|
] }),
|
|
19437
19441
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -19464,8 +19468,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19464
19468
|
className
|
|
19465
19469
|
}) {
|
|
19466
19470
|
const fieldsDisabled = disabled || loading;
|
|
19467
|
-
const emailErr =
|
|
19468
|
-
const passwordErr =
|
|
19471
|
+
const emailErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _389 => _389.email]), email);
|
|
19472
|
+
const passwordErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _390 => _390.password]), password);
|
|
19469
19473
|
const handleKeyDown = (event) => {
|
|
19470
19474
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19471
19475
|
onSubmit();
|
|
@@ -19480,7 +19484,7 @@ function OpenFrameSsoLoginForm({
|
|
|
19480
19484
|
),
|
|
19481
19485
|
children: [
|
|
19482
19486
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19483
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19487
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19484
19488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19485
19489
|
] }),
|
|
19486
19490
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19570,7 +19574,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19570
19574
|
className
|
|
19571
19575
|
}) {
|
|
19572
19576
|
const fieldsDisabled = disabled || loading;
|
|
19573
|
-
const emailErr =
|
|
19577
|
+
const emailErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _391 => _391.email]), email);
|
|
19574
19578
|
const handleKeyDown = (event) => {
|
|
19575
19579
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19576
19580
|
onSubmit();
|
|
@@ -19585,7 +19589,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19585
19589
|
),
|
|
19586
19590
|
children: [
|
|
19587
19591
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19588
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19592
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19589
19593
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19590
19594
|
] }),
|
|
19591
19595
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19675,8 +19679,8 @@ function PasswordResetForm({
|
|
|
19675
19679
|
className
|
|
19676
19680
|
}) {
|
|
19677
19681
|
const fieldsDisabled = disabled || loading;
|
|
19678
|
-
const passwordErr =
|
|
19679
|
-
const confirmErr =
|
|
19682
|
+
const passwordErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _392 => _392.password]), password);
|
|
19683
|
+
const confirmErr = _chunk5PK22JP7cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _393 => _393.confirmPassword]), confirmPassword);
|
|
19680
19684
|
const handleKeyDown = (event) => {
|
|
19681
19685
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19682
19686
|
onSubmit();
|
|
@@ -19691,7 +19695,7 @@ function PasswordResetForm({
|
|
|
19691
19695
|
),
|
|
19692
19696
|
children: [
|
|
19693
19697
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19695
19699
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19696
19700
|
] }),
|
|
19697
19701
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19808,12 +19812,12 @@ function SsoJoinForm({
|
|
|
19808
19812
|
),
|
|
19809
19813
|
children: [
|
|
19810
19814
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19811
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19815
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkYG72MEHYcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19812
19816
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19813
19817
|
] }),
|
|
19814
19818
|
/* @__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: [
|
|
19815
19819
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19816
|
-
|
|
19820
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
19817
19821
|
{
|
|
19818
19822
|
size: "lg",
|
|
19819
19823
|
variant: "round",
|
|
@@ -19827,7 +19831,7 @@ function SsoJoinForm({
|
|
|
19827
19831
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
19828
19832
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
19829
19833
|
] }),
|
|
19830
|
-
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19834
|
+
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: "grey", label: role }, role)) })
|
|
19831
19835
|
] }),
|
|
19832
19836
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19833
19837
|
CheckboxBlock,
|
|
@@ -19916,7 +19920,7 @@ function ProviderButton({ provider, onClick, disabled = false, loading = false }
|
|
|
19916
19920
|
disabled: disabled || isLoading,
|
|
19917
19921
|
variant: "outline",
|
|
19918
19922
|
size: "default",
|
|
19919
|
-
leftIcon: isLoading ? null : _react.createElement.call(void 0,
|
|
19923
|
+
leftIcon: isLoading ? null : _react.createElement.call(void 0, _chunkTUAATMUEcjs.requireIcon.call(void 0, config.icon), { className: "h-5 w-5" }),
|
|
19920
19924
|
className: `h-[56px] w-full !font-bold !text-h6 hover:bg-ods-bg-hover content-md:!w-full ${isLoading ? "cursor-wait" : "cursor-pointer"} `,
|
|
19921
19925
|
"aria-label": config.displayName,
|
|
19922
19926
|
children: isLoading ? "Signing in..." : config.displayName
|
|
@@ -20070,7 +20074,7 @@ function ChangelogManager({
|
|
|
20070
20074
|
),
|
|
20071
20075
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
|
|
20072
20076
|
tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20073
|
-
|
|
20077
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
20074
20078
|
{
|
|
20075
20079
|
variant: "button",
|
|
20076
20080
|
singleLine: true,
|
|
@@ -20134,9 +20138,9 @@ function ChangelogManager({
|
|
|
20134
20138
|
] }),
|
|
20135
20139
|
tagOptions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
20136
20140
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { className: "text-ods-text-secondary", children: tagLabel }),
|
|
20137
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20139
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20141
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: _nullishCoalesce(entry.tag, () => ( "")), onValueChange: (value) => updateEntry(index, "tag", value), children: [
|
|
20142
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: tagLabel }) }),
|
|
20143
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: tagOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
20140
20144
|
] })
|
|
20141
20145
|
] })
|
|
20142
20146
|
] })
|
|
@@ -20417,11 +20421,11 @@ function EntityTagBadgesSkeleton({
|
|
|
20417
20421
|
i >= count && "content-md:hidden"
|
|
20418
20422
|
),
|
|
20419
20423
|
"data-loading-item": true,
|
|
20420
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20424
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS))) })
|
|
20421
20425
|
},
|
|
20422
20426
|
i
|
|
20423
20427
|
)),
|
|
20424
|
-
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20428
|
+
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
|
|
20425
20429
|
] });
|
|
20426
20430
|
}
|
|
20427
20431
|
function EntityTagBadges({
|
|
@@ -20458,7 +20462,7 @@ function EntityTagBadges({
|
|
|
20458
20462
|
const label = (tag.name || "").toUpperCase();
|
|
20459
20463
|
if (basePath && tag.slug) {
|
|
20460
20464
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20461
|
-
|
|
20465
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
20462
20466
|
{
|
|
20463
20467
|
text: label,
|
|
20464
20468
|
variant: "card",
|
|
@@ -20466,7 +20470,7 @@ function EntityTagBadges({
|
|
|
20466
20470
|
}
|
|
20467
20471
|
) }, key);
|
|
20468
20472
|
}
|
|
20469
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20473
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
|
|
20470
20474
|
}),
|
|
20471
20475
|
phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20472
20476
|
phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
|
|
@@ -20475,7 +20479,7 @@ function EntityTagBadges({
|
|
|
20475
20479
|
] });
|
|
20476
20480
|
}
|
|
20477
20481
|
function OverflowBadge({ count, className }) {
|
|
20478
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20482
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
|
|
20479
20483
|
}
|
|
20480
20484
|
|
|
20481
20485
|
// src/components/features/error-boundary.tsx
|
|
@@ -20570,7 +20574,7 @@ var SectionButton = ({
|
|
|
20570
20574
|
}
|
|
20571
20575
|
),
|
|
20572
20576
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20573
|
-
|
|
20577
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
20574
20578
|
{
|
|
20575
20579
|
text: section.badge.text,
|
|
20576
20580
|
variant: section.badge.variant || "button",
|
|
@@ -20589,7 +20593,7 @@ var SectionButton = ({
|
|
|
20589
20593
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
20590
20594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
20591
20595
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20592
|
-
|
|
20596
|
+
_chunkOH5LAH3Xcjs.StatusBadge,
|
|
20593
20597
|
{
|
|
20594
20598
|
text: section.badge.text,
|
|
20595
20599
|
variant: section.badge.variant || "button",
|
|
@@ -21324,7 +21328,7 @@ var FiltersDropdown = ({
|
|
|
21324
21328
|
window.addEventListener("resize", calculateOptimalPlacement);
|
|
21325
21329
|
return () => window.removeEventListener("resize", calculateOptimalPlacement);
|
|
21326
21330
|
}, [isOpen, isMobile, placement]);
|
|
21327
|
-
|
|
21331
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
21328
21332
|
const dropdown = dropdownRef.current;
|
|
21329
21333
|
if (!dropdown) return;
|
|
21330
21334
|
if (!isMobile) {
|
|
@@ -21654,15 +21658,15 @@ function useLoading() {
|
|
|
21654
21658
|
|
|
21655
21659
|
|
|
21656
21660
|
function isAlreadyThere(file, existing) {
|
|
21657
|
-
const key =
|
|
21661
|
+
const key = _chunkYG72MEHYcjs.mediaNameKey.call(void 0, file.name);
|
|
21658
21662
|
if (!key) return false;
|
|
21659
21663
|
return existing.some(
|
|
21660
|
-
(item) => (item.title ?
|
|
21664
|
+
(item) => (item.title ? _chunkYG72MEHYcjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkYG72MEHYcjs.mediaNameKey.call(void 0, item.media_url) === key : false)
|
|
21661
21665
|
);
|
|
21662
21666
|
}
|
|
21663
21667
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
21664
|
-
var isVideoItem = (item) =>
|
|
21665
|
-
var MEDIA_KIND_ACCEPT = { image:
|
|
21668
|
+
var isVideoItem = (item) => _chunkYG72MEHYcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
|
|
21669
|
+
var MEDIA_KIND_ACCEPT = { image: _chunkYG72MEHYcjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkYG72MEHYcjs.MEDIA_FILE_ACCEPT };
|
|
21666
21670
|
var MEDIA_KIND_COPY = {
|
|
21667
21671
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
21668
21672
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -21686,12 +21690,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
21686
21690
|
const seen = /* @__PURE__ */ new Set();
|
|
21687
21691
|
const accepted = [];
|
|
21688
21692
|
for (const file of files) {
|
|
21689
|
-
const mediaType =
|
|
21693
|
+
const mediaType = _chunkYG72MEHYcjs.fileMediaType.call(void 0, file);
|
|
21690
21694
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
21691
21695
|
unsupported.push(file.name);
|
|
21692
21696
|
continue;
|
|
21693
21697
|
}
|
|
21694
|
-
const contentKey = await
|
|
21698
|
+
const contentKey = await _chunkYG72MEHYcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
21695
21699
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
21696
21700
|
duplicates.push(file.name);
|
|
21697
21701
|
continue;
|
|
@@ -21872,7 +21876,7 @@ function MediaGalleryManager({
|
|
|
21872
21876
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
|
|
21873
21877
|
children: [
|
|
21874
21878
|
media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21875
|
-
|
|
21879
|
+
_chunkOH5LAH3Xcjs.Card,
|
|
21876
21880
|
{
|
|
21877
21881
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
21878
21882
|
draggable: true,
|
|
@@ -21897,7 +21901,7 @@ function MediaGalleryManager({
|
|
|
21897
21901
|
) }),
|
|
21898
21902
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
|
|
21899
21903
|
// <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
|
|
21900
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21904
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
21901
21905
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21902
21906
|
_chunkE76ONBKFcjs.next_image_default,
|
|
21903
21907
|
{
|
|
@@ -21912,17 +21916,17 @@ function MediaGalleryManager({
|
|
|
21912
21916
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21913
21917
|
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" }),
|
|
21914
21918
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21915
|
-
|
|
21919
|
+
_chunkSIDDZZKLcjs.Select,
|
|
21916
21920
|
{
|
|
21917
21921
|
value: item.media_type,
|
|
21918
21922
|
onValueChange: (value) => update(index, { media_type: value }),
|
|
21919
21923
|
children: [
|
|
21920
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21921
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21922
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21923
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21924
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21925
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21924
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "h-8 bg-ods-bg text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
21925
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
21926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "image", children: "Image" }),
|
|
21927
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "video", children: "Video" }),
|
|
21928
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "screenshot", children: "Screenshot" }),
|
|
21929
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "demo", children: "Demo" })
|
|
21926
21930
|
] })
|
|
21927
21931
|
]
|
|
21928
21932
|
}
|
|
@@ -21949,7 +21953,7 @@ function MediaGalleryManager({
|
|
|
21949
21953
|
},
|
|
21950
21954
|
_nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
|
|
21951
21955
|
)),
|
|
21952
|
-
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21956
|
+
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
|
|
21953
21957
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex aspect-video items-center justify-center rounded-lg bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) }),
|
|
21954
21958
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
|
|
21955
21959
|
] }, `pending-${name}-${index}`))
|
|
@@ -22303,7 +22307,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
22303
22307
|
empty: "No token rates are in effect right now."
|
|
22304
22308
|
};
|
|
22305
22309
|
function providerMark(providerType, stated, className) {
|
|
22306
|
-
const Mark =
|
|
22310
|
+
const Mark = _chunkTUAATMUEcjs.findIcon.call(void 0, _chunkYWQ3VXPLcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
22307
22311
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
22308
22312
|
}
|
|
22309
22313
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -22321,7 +22325,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
|
22321
22325
|
var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
22322
22326
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
22323
22327
|
function useProviderGroup(rates) {
|
|
22324
|
-
const groups =
|
|
22328
|
+
const groups = _chunkYWQ3VXPLcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
22325
22329
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
22326
22330
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
22327
22331
|
}
|
|
@@ -22332,7 +22336,7 @@ function ProviderTabs({
|
|
|
22332
22336
|
className
|
|
22333
22337
|
}) {
|
|
22334
22338
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22335
|
-
|
|
22339
|
+
_chunkOWQVDWTKcjs.TabSelector,
|
|
22336
22340
|
{
|
|
22337
22341
|
variant: "secondary",
|
|
22338
22342
|
scrollable: true,
|
|
@@ -22340,7 +22344,7 @@ function ProviderTabs({
|
|
|
22340
22344
|
onValueChange,
|
|
22341
22345
|
items: groups.map((candidate) => ({
|
|
22342
22346
|
id: candidate.providerType,
|
|
22343
|
-
label:
|
|
22347
|
+
label: _chunkYWQ3VXPLcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
|
|
22344
22348
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
|
|
22345
22349
|
})),
|
|
22346
22350
|
className
|
|
@@ -22418,8 +22422,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
22418
22422
|
] }),
|
|
22419
22423
|
/* @__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", { role: "row", className: BODY_ROW_CLASS, children: [
|
|
22420
22424
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
22421
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22422
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22425
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkYWQ3VXPLcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
22426
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkYWQ3VXPLcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
22423
22427
|
] }, rate.modelName)) })
|
|
22424
22428
|
] }),
|
|
22425
22429
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -22469,7 +22473,7 @@ function modelOption(rate) {
|
|
|
22469
22473
|
return {
|
|
22470
22474
|
label: rate.displayName || rate.modelName,
|
|
22471
22475
|
value: rate.modelName,
|
|
22472
|
-
description:
|
|
22476
|
+
description: _chunkYWQ3VXPLcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
22473
22477
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
22474
22478
|
};
|
|
22475
22479
|
}
|
|
@@ -22523,9 +22527,9 @@ function ModelTokenExchange({
|
|
|
22523
22527
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
22524
22528
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
22525
22529
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
22526
|
-
const tokens =
|
|
22527
|
-
const cost =
|
|
22528
|
-
const balancePrice = cost === null ? null :
|
|
22530
|
+
const tokens = _chunkYWQ3VXPLcjs.formatTokenAmount.call(void 0, balance);
|
|
22531
|
+
const cost = _chunkYWQ3VXPLcjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
22532
|
+
const balancePrice = cost === null ? null : _chunkBNUZKBNVcjs.formatPrice.call(void 0, cost);
|
|
22529
22533
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
22530
22534
|
const options = models.map(modelOption);
|
|
22531
22535
|
if (rate && !models.some((candidate) => candidate.modelName === rate.modelName)) options.unshift(modelOption(rate));
|
|
@@ -22566,7 +22570,7 @@ function ModelTokenExchange({
|
|
|
22566
22570
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
22567
22571
|
size: "small",
|
|
22568
22572
|
onClick: () => setChosen(preset.tokens),
|
|
22569
|
-
children: copy.buy.preset(
|
|
22573
|
+
children: copy.buy.preset(_chunkYWQ3VXPLcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
22570
22574
|
},
|
|
22571
22575
|
preset.label
|
|
22572
22576
|
)) })
|
|
@@ -22583,7 +22587,7 @@ function ModelTokenExchange({
|
|
|
22583
22587
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
|
|
22584
22588
|
return {
|
|
22585
22589
|
id: providerType,
|
|
22586
|
-
name:
|
|
22590
|
+
name: _chunkYWQ3VXPLcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
|
|
22587
22591
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
|
|
22588
22592
|
};
|
|
22589
22593
|
}),
|
|
@@ -22595,7 +22599,7 @@ function ModelTokenExchange({
|
|
|
22595
22599
|
}
|
|
22596
22600
|
),
|
|
22597
22601
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22598
|
-
|
|
22602
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
22599
22603
|
{
|
|
22600
22604
|
fieldLoading: loading,
|
|
22601
22605
|
label: copy.use.model,
|
|
@@ -22622,7 +22626,7 @@ function ModelTokenExchange({
|
|
|
22622
22626
|
{
|
|
22623
22627
|
size: "plain",
|
|
22624
22628
|
loading,
|
|
22625
|
-
figure:
|
|
22629
|
+
figure: _chunkYWQ3VXPLcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
|
|
22626
22630
|
words: copy.charge.input
|
|
22627
22631
|
}
|
|
22628
22632
|
),
|
|
@@ -22631,7 +22635,7 @@ function ModelTokenExchange({
|
|
|
22631
22635
|
{
|
|
22632
22636
|
size: "plain",
|
|
22633
22637
|
loading,
|
|
22634
|
-
figure:
|
|
22638
|
+
figure: _chunkYWQ3VXPLcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
|
|
22635
22639
|
words: copy.charge.output
|
|
22636
22640
|
}
|
|
22637
22641
|
)
|
|
@@ -22643,9 +22647,9 @@ function ModelTokenExchange({
|
|
|
22643
22647
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
22644
22648
|
children: [
|
|
22645
22649
|
/* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
|
|
22646
|
-
/* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) :
|
|
22650
|
+
/* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkYWQ3VXPLcjs.formatTokenAmount.call(void 0, _chunkYWQ3VXPLcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
22647
22651
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
22648
|
-
/* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(
|
|
22652
|
+
/* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkYWQ3VXPLcjs.formatTokenAmount.call(void 0, _chunkYWQ3VXPLcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
22649
22653
|
]
|
|
22650
22654
|
}
|
|
22651
22655
|
)
|
|
@@ -23076,7 +23080,7 @@ function PlatformFilterComponent({
|
|
|
23076
23080
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
23077
23081
|
size,
|
|
23078
23082
|
onClick: () => onPlatformChange(platform.value),
|
|
23079
|
-
leftIcon: showIcons ?
|
|
23083
|
+
leftIcon: showIcons ? _chunkJB2SEF6Qcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
23080
23084
|
className: "text-h3",
|
|
23081
23085
|
children: platform.label
|
|
23082
23086
|
},
|
|
@@ -23157,7 +23161,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
23157
23161
|
}
|
|
23158
23162
|
)
|
|
23159
23163
|
] }),
|
|
23160
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23164
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
23161
23165
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHFNBMV5Mcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent content-md:size-6" })
|
|
23162
23166
|
]
|
|
23163
23167
|
}
|
|
@@ -23184,14 +23188,14 @@ var ConfidenceBadge = ({
|
|
|
23184
23188
|
size = "sm",
|
|
23185
23189
|
className
|
|
23186
23190
|
}) => {
|
|
23187
|
-
const level =
|
|
23191
|
+
const level = _chunkYWQ3VXPLcjs.getConfidenceLevel.call(void 0, confidence);
|
|
23188
23192
|
if (level === "none") {
|
|
23189
23193
|
return null;
|
|
23190
23194
|
}
|
|
23191
|
-
const label =
|
|
23192
|
-
const borderClass =
|
|
23193
|
-
const textClass =
|
|
23194
|
-
const bgClass =
|
|
23195
|
+
const label = _chunkYWQ3VXPLcjs.getConfidenceLabel.call(void 0, confidence);
|
|
23196
|
+
const borderClass = _chunkYWQ3VXPLcjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
23197
|
+
const textClass = _chunkYWQ3VXPLcjs.getConfidenceTextClass.call(void 0, confidence);
|
|
23198
|
+
const bgClass = _chunkYWQ3VXPLcjs.getConfidenceBgClass.call(void 0, confidence);
|
|
23195
23199
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23196
23200
|
"span",
|
|
23197
23201
|
{
|
|
@@ -23242,9 +23246,9 @@ function SEOEditorPreview({
|
|
|
23242
23246
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
23243
23247
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
23244
23248
|
const seoTitleLength = (seoTitle || "").length;
|
|
23245
|
-
const seoTitleTooLong = seoTitleLength >
|
|
23249
|
+
const seoTitleTooLong = seoTitleLength > _chunkYWQ3VXPLcjs.SEO_TITLE_MAX_LENGTH;
|
|
23246
23250
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
23247
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
23251
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkYWQ3VXPLcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
23248
23252
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
23249
23253
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
23250
23254
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -23269,10 +23273,10 @@ function SEOEditorPreview({
|
|
|
23269
23273
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23270
23274
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23271
23275
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23272
|
-
|
|
23276
|
+
_chunkYWQ3VXPLcjs.Field,
|
|
23273
23277
|
{
|
|
23274
23278
|
label: "SEO Title",
|
|
23275
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
23279
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkYWQ3VXPLcjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
23276
23280
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23277
23281
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23278
23282
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -23287,7 +23291,7 @@ function SEOEditorPreview({
|
|
|
23287
23291
|
children: [
|
|
23288
23292
|
seoTitleLength,
|
|
23289
23293
|
"/",
|
|
23290
|
-
|
|
23294
|
+
_chunkYWQ3VXPLcjs.SEO_TITLE_MAX_LENGTH
|
|
23291
23295
|
]
|
|
23292
23296
|
}
|
|
23293
23297
|
),
|
|
@@ -23298,7 +23302,7 @@ function SEOEditorPreview({
|
|
|
23298
23302
|
value: seoTitle || "",
|
|
23299
23303
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
23300
23304
|
disabled,
|
|
23301
|
-
maxLength:
|
|
23305
|
+
maxLength: _chunkYWQ3VXPLcjs.SEO_TITLE_MAX_LENGTH,
|
|
23302
23306
|
invalid: seoTitleTooLong,
|
|
23303
23307
|
placeholder: "Enter SEO meta title...",
|
|
23304
23308
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -23309,7 +23313,7 @@ function SEOEditorPreview({
|
|
|
23309
23313
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
23310
23314
|
] }),
|
|
23311
23315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23312
|
-
|
|
23316
|
+
_chunkYWQ3VXPLcjs.Field,
|
|
23313
23317
|
{
|
|
23314
23318
|
label: "SEO Keywords",
|
|
23315
23319
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -23341,10 +23345,10 @@ function SEOEditorPreview({
|
|
|
23341
23345
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23342
23346
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23343
23347
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23344
|
-
|
|
23348
|
+
_chunkYWQ3VXPLcjs.Field,
|
|
23345
23349
|
{
|
|
23346
23350
|
label: "SEO Description",
|
|
23347
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
23351
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkYWQ3VXPLcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
23348
23352
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23349
23353
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23350
23354
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23367,7 +23371,7 @@ function SEOEditorPreview({
|
|
|
23367
23371
|
children: [
|
|
23368
23372
|
seoDescriptionLength,
|
|
23369
23373
|
"/",
|
|
23370
|
-
|
|
23374
|
+
_chunkYWQ3VXPLcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
23371
23375
|
]
|
|
23372
23376
|
}
|
|
23373
23377
|
),
|
|
@@ -23378,7 +23382,7 @@ function SEOEditorPreview({
|
|
|
23378
23382
|
value: seoDescription || "",
|
|
23379
23383
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
23380
23384
|
disabled,
|
|
23381
|
-
maxLength:
|
|
23385
|
+
maxLength: _chunkYWQ3VXPLcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
23382
23386
|
invalid: seoDescriptionTooLong,
|
|
23383
23387
|
placeholder: "Enter SEO meta description...",
|
|
23384
23388
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -23447,7 +23451,7 @@ function SEOEditorPreview({
|
|
|
23447
23451
|
{
|
|
23448
23452
|
ref: setFileInputRef,
|
|
23449
23453
|
type: "file",
|
|
23450
|
-
accept:
|
|
23454
|
+
accept: _chunkYG72MEHYcjs.IMAGE_FILE_ACCEPT,
|
|
23451
23455
|
onChange: handleImageUpload,
|
|
23452
23456
|
className: "hidden",
|
|
23453
23457
|
disabled: disabled || isUploading
|
|
@@ -23528,10 +23532,10 @@ var SOCIAL_ICONS = {
|
|
|
23528
23532
|
};
|
|
23529
23533
|
function socialIcon(platform) {
|
|
23530
23534
|
if (!Object.prototype.hasOwnProperty.call(SOCIAL_ICONS, platform)) return void 0;
|
|
23531
|
-
return _nullishCoalesce(
|
|
23535
|
+
return _nullishCoalesce(_chunkTUAATMUEcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
23532
23536
|
}
|
|
23533
23537
|
function renderSocialIcon(platform) {
|
|
23534
|
-
const key = _nullishCoalesce(
|
|
23538
|
+
const key = _nullishCoalesce(_chunkYWQ3VXPLcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
23535
23539
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
23536
23540
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
23537
23541
|
}
|
|
@@ -23618,7 +23622,7 @@ function SocialLinksManager({
|
|
|
23618
23622
|
};
|
|
23619
23623
|
const getIcon = (link, platform) => {
|
|
23620
23624
|
const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
|
|
23621
|
-
const key =
|
|
23625
|
+
const key = _chunkYWQ3VXPLcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
23622
23626
|
if (!key) return null;
|
|
23623
23627
|
const icon = socialIcon(key);
|
|
23624
23628
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -23634,9 +23638,9 @@ function SocialLinksManager({
|
|
|
23634
23638
|
children: [
|
|
23635
23639
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center", children: Icon }),
|
|
23636
23640
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid flex-1 grid-cols-2 gap-3", children: [
|
|
23637
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23638
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23639
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23641
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: link.platform, onValueChange: (value) => updateLink(index, "platform", value), children: [
|
|
23642
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
23643
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: platforms.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: p.name, children: p.display_name }, p.name)) })
|
|
23640
23644
|
] }) }),
|
|
23641
23645
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23642
23646
|
_chunkYXDHVHB2cjs.Input,
|
|
@@ -23654,15 +23658,15 @@ function SocialLinksManager({
|
|
|
23654
23658
|
)
|
|
23655
23659
|
] }),
|
|
23656
23660
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23657
|
-
|
|
23661
|
+
_chunkSIDDZZKLcjs.Select,
|
|
23658
23662
|
{
|
|
23659
23663
|
value: _nullishCoalesce(link.visibility, () => ( "external")),
|
|
23660
23664
|
onValueChange: (value) => updateLink(index, "visibility", value),
|
|
23661
23665
|
children: [
|
|
23662
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23663
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "w-[120px] shrink-0", "aria-label": "Social link visibility", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
23667
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: [
|
|
23668
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "external", children: "Public" }),
|
|
23669
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "internal", children: "Internal" })
|
|
23666
23670
|
] })
|
|
23667
23671
|
]
|
|
23668
23672
|
}
|
|
@@ -23754,7 +23758,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23754
23758
|
className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
|
|
23755
23759
|
style: customStyle,
|
|
23756
23760
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
|
|
23757
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23761
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23758
23762
|
children
|
|
23759
23763
|
}
|
|
23760
23764
|
);
|
|
@@ -24081,11 +24085,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
24081
24085
|
|
|
24082
24086
|
function VideoBitesDisplay({
|
|
24083
24087
|
bites,
|
|
24084
|
-
title =
|
|
24088
|
+
title = _chunkOH5LAH3Xcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
24085
24089
|
filterPublished = true,
|
|
24086
24090
|
showTitle = true
|
|
24087
24091
|
}) {
|
|
24088
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24092
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24089
24093
|
}
|
|
24090
24094
|
|
|
24091
24095
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24115,7 +24119,7 @@ function WalkthroughVideo({
|
|
|
24115
24119
|
onOpenChange,
|
|
24116
24120
|
defaultOpen,
|
|
24117
24121
|
defaultOpenPaused,
|
|
24118
|
-
deepLinkParam =
|
|
24122
|
+
deepLinkParam = _chunkYWQ3VXPLcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
24119
24123
|
autoPlayCard = false,
|
|
24120
24124
|
label = "Play Demo Video",
|
|
24121
24125
|
placement,
|
|
@@ -24132,7 +24136,7 @@ function WalkthroughVideo({
|
|
|
24132
24136
|
const inline = placement === "inline";
|
|
24133
24137
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24134
24138
|
const dismissEnabled = dismissal !== false;
|
|
24135
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
24139
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkYWQ3VXPLcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
24136
24140
|
const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
|
|
24137
24141
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
24138
24142
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -24144,7 +24148,7 @@ function WalkthroughVideo({
|
|
|
24144
24148
|
let delayElapsed = false;
|
|
24145
24149
|
let interacted = inline;
|
|
24146
24150
|
const reveal = () => {
|
|
24147
|
-
if (dismissEnabled &&
|
|
24151
|
+
if (dismissEnabled && _chunkYWQ3VXPLcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
24148
24152
|
setDismissed(true);
|
|
24149
24153
|
return;
|
|
24150
24154
|
}
|
|
@@ -24181,7 +24185,7 @@ function WalkthroughVideo({
|
|
|
24181
24185
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24182
24186
|
};
|
|
24183
24187
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
24184
|
-
const hydrated =
|
|
24188
|
+
const hydrated = _chunkOWQVDWTKcjs.useIsHydrated.call(void 0, );
|
|
24185
24189
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24186
24190
|
if (!hydrated) return false;
|
|
24187
24191
|
try {
|
|
@@ -24431,7 +24435,7 @@ function WalkthroughVideo({
|
|
|
24431
24435
|
(e) => {
|
|
24432
24436
|
e.stopPropagation();
|
|
24433
24437
|
pausePreviewNow();
|
|
24434
|
-
if (dismissEnabled)
|
|
24438
|
+
if (dismissEnabled) _chunkYWQ3VXPLcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
24435
24439
|
setDismissed(true);
|
|
24436
24440
|
},
|
|
24437
24441
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -24582,7 +24586,7 @@ function WalkthroughVideo({
|
|
|
24582
24586
|
},
|
|
24583
24587
|
children: [
|
|
24584
24588
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24585
|
-
|
|
24589
|
+
_chunkOH5LAH3Xcjs.VideoHoverPreviewSurface,
|
|
24586
24590
|
{
|
|
24587
24591
|
url: video.mainVideoUrl || "",
|
|
24588
24592
|
posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
|
|
@@ -24606,7 +24610,7 @@ function WalkthroughVideo({
|
|
|
24606
24610
|
`card-${embedUrlKey}`
|
|
24607
24611
|
) }),
|
|
24608
24612
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24609
|
-
|
|
24613
|
+
_chunkOWQVDWTKcjs.CardHitLayer,
|
|
24610
24614
|
{
|
|
24611
24615
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24612
24616
|
onPointerDown: pausePreviewNow,
|
|
@@ -24615,7 +24619,7 @@ function WalkthroughVideo({
|
|
|
24615
24619
|
}
|
|
24616
24620
|
),
|
|
24617
24621
|
/* @__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: [
|
|
24618
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24622
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24619
24623
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24620
24624
|
] }),
|
|
24621
24625
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24722,7 +24726,7 @@ function WalkthroughVideo({
|
|
|
24722
24726
|
children: [
|
|
24723
24727
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24724
24728
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24725
|
-
|
|
24729
|
+
_chunkOH5LAH3Xcjs.Video,
|
|
24726
24730
|
{
|
|
24727
24731
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24728
24732
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24778,7 +24782,7 @@ function useWalkthroughVideo(opts) {
|
|
|
24778
24782
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
24779
24783
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24780
24784
|
const enabled = enabledGiven && !inScope;
|
|
24781
|
-
const captions =
|
|
24785
|
+
const captions = _chunkOWQVDWTKcjs.useCaptions.call(void 0, );
|
|
24782
24786
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24783
24787
|
queryKey: ["walkthrough-video", endpoint],
|
|
24784
24788
|
enabled,
|
|
@@ -24976,7 +24980,7 @@ function VideoSourceSelector({
|
|
|
24976
24980
|
}
|
|
24977
24981
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24978
24982
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24979
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24980
24984
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24981
24985
|
"button",
|
|
24982
24986
|
{
|
|
@@ -25430,19 +25434,19 @@ function HighlightVideoSection({
|
|
|
25430
25434
|
/* @__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: [
|
|
25431
25435
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { children: "Target Duration" }),
|
|
25432
25436
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25433
|
-
|
|
25437
|
+
_chunkSIDDZZKLcjs.Select,
|
|
25434
25438
|
{
|
|
25435
25439
|
value: targetDurationSeconds.toString(),
|
|
25436
25440
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
25437
25441
|
disabled,
|
|
25438
25442
|
children: [
|
|
25439
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25440
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25441
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25442
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25443
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25444
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25445
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25443
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "mt-1 bg-ods-bg-surface", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
25444
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
25445
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "60", children: "1 minute" }),
|
|
25446
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "120", children: "2 minutes" }),
|
|
25447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
|
|
25448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "240", children: "4 minutes" }),
|
|
25449
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "300", children: "5 minutes" })
|
|
25446
25450
|
] })
|
|
25447
25451
|
]
|
|
25448
25452
|
}
|
|
@@ -25500,7 +25504,7 @@ function HighlightVideoSection({
|
|
|
25500
25504
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25501
25505
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25502
25506
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25503
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25507
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25504
25508
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25505
25509
|
"button",
|
|
25506
25510
|
{
|
|
@@ -25527,20 +25531,20 @@ function HighlightConfigSection({
|
|
|
25527
25531
|
disabled = false,
|
|
25528
25532
|
className = ""
|
|
25529
25533
|
}) {
|
|
25530
|
-
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,
|
|
25531
|
-
|
|
25534
|
+
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, _chunkYWQ3VXPLcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25535
|
+
_chunkSIDDZZKLcjs.Select,
|
|
25532
25536
|
{
|
|
25533
25537
|
value: targetDurationSeconds.toString(),
|
|
25534
25538
|
onValueChange: (value) => onTargetDurationChange(parseInt(value)),
|
|
25535
25539
|
disabled,
|
|
25536
25540
|
children: [
|
|
25537
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25538
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25539
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25540
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25541
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25543
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25541
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { id: f.id, className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
25542
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { className: "bg-ods-card", children: [
|
|
25543
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "60", children: "1 minute" }),
|
|
25544
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "120", children: "2 minutes" }),
|
|
25545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
|
|
25546
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "240", children: "4 minutes" }),
|
|
25547
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: "300", children: "5 minutes" })
|
|
25544
25548
|
] })
|
|
25545
25549
|
]
|
|
25546
25550
|
}
|
|
@@ -25628,7 +25632,7 @@ var AIStatusIndicator = ({
|
|
|
25628
25632
|
}) => {
|
|
25629
25633
|
const config = statusConfig[status];
|
|
25630
25634
|
const displayText = message || config.label;
|
|
25631
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
25635
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkYWQ3VXPLcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
25632
25636
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
25633
25637
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25634
25638
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -25636,7 +25640,7 @@ var AIStatusIndicator = ({
|
|
|
25636
25640
|
size: 16,
|
|
25637
25641
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25638
25642
|
status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
|
|
25639
|
-
confidence !== void 0 && status === "success" ?
|
|
25643
|
+
confidence !== void 0 && status === "success" ? _chunkYWQ3VXPLcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25640
25644
|
)
|
|
25641
25645
|
}
|
|
25642
25646
|
),
|
|
@@ -25645,7 +25649,7 @@ var AIStatusIndicator = ({
|
|
|
25645
25649
|
{
|
|
25646
25650
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25647
25651
|
"text-h6",
|
|
25648
|
-
confidence !== void 0 && status === "success" ?
|
|
25652
|
+
confidence !== void 0 && status === "success" ? _chunkYWQ3VXPLcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25649
25653
|
),
|
|
25650
25654
|
children: displayText
|
|
25651
25655
|
}
|
|
@@ -25655,8 +25659,8 @@ var AIStatusIndicator = ({
|
|
|
25655
25659
|
{
|
|
25656
25660
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25657
25661
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
25658
|
-
|
|
25659
|
-
|
|
25662
|
+
_chunkYWQ3VXPLcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
25663
|
+
_chunkYWQ3VXPLcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
25660
25664
|
),
|
|
25661
25665
|
children: confidenceLabel
|
|
25662
25666
|
}
|
|
@@ -26232,7 +26236,7 @@ function ApprovalLevelView({
|
|
|
26232
26236
|
] });
|
|
26233
26237
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
|
|
26234
26238
|
name,
|
|
26235
|
-
showLabel ? icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26239
|
+
showLabel ? icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKLTUTZBOcjs.TouchFriendlyTooltip, { content: `${current.label}: ${current.hint}`, side: "top", children: icon })
|
|
26236
26240
|
] });
|
|
26237
26241
|
}
|
|
26238
26242
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, EDITABLE_ROW_CLASS, className), children: [
|
|
@@ -26329,7 +26333,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
26329
26333
|
if (level) onPermissionChange(categoryId, policy.id, level);
|
|
26330
26334
|
};
|
|
26331
26335
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0 content-md:items-center", children: [
|
|
26332
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26336
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk64KBI5MIcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
26333
26337
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
26334
26338
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", title: policy.name, children: policy.name }),
|
|
26335
26339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "break-all text-ods-text-secondary text-h6", children: policy.commandPattern }),
|
|
@@ -26355,7 +26359,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
26355
26359
|
] });
|
|
26356
26360
|
};
|
|
26357
26361
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
26358
|
-
const { innerRef, containerStyle } =
|
|
26362
|
+
const { innerRef, containerStyle } = _chunkLBGAHB6Xcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
26359
26363
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
26360
26364
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26361
26365
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26528,8 +26532,8 @@ function PoliciesTable({
|
|
|
26528
26532
|
accessorKey: "name",
|
|
26529
26533
|
header: "Name",
|
|
26530
26534
|
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: [
|
|
26531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26532
|
-
row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26535
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: row.original.name }),
|
|
26536
|
+
row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.description })
|
|
26533
26537
|
] }),
|
|
26534
26538
|
meta: { width: "flex-1 min-w-0" }
|
|
26535
26539
|
},
|
|
@@ -26561,7 +26565,7 @@ function PoliciesTable({
|
|
|
26561
26565
|
cell: ({ row }) => {
|
|
26562
26566
|
const { status } = row.original;
|
|
26563
26567
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-1", children: [
|
|
26564
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26568
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { className: "self-start", label: status.label, variant: status.variant }),
|
|
26565
26569
|
status.note && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `text-h6 ${NOTE_TONE_CLASS[status.note.tone]}`, children: status.note.text })
|
|
26566
26570
|
] });
|
|
26567
26571
|
},
|
|
@@ -26583,7 +26587,7 @@ function PoliciesTable({
|
|
|
26583
26587
|
cell: ({ row }) => row.original.href ? /* @__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,
|
|
26584
26588
|
_chunkTF5D5MNOcjs.Button,
|
|
26585
26589
|
{
|
|
26586
|
-
onClick:
|
|
26590
|
+
onClick: _chunkYWQ3VXPLcjs.openInNewTab.call(void 0, row.original.href),
|
|
26587
26591
|
variant: "outline",
|
|
26588
26592
|
size: "icon",
|
|
26589
26593
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26684,7 +26688,7 @@ function PolicySummaryCards({ summary, isLoading = false, hasData = true, now })
|
|
|
26684
26688
|
DashboardInfoCard,
|
|
26685
26689
|
{
|
|
26686
26690
|
title: "Updated",
|
|
26687
|
-
value: hasData && summary.lastUpdatedAt ?
|
|
26691
|
+
value: hasData && summary.lastUpdatedAt ? _chunkLBGAHB6Xcjs.formatRelativeTimeFrom.call(void 0, summary.lastUpdatedAt, _nullishCoalesce(now, () => ( /* @__PURE__ */ new Date()))) : EMPTY_VALUE,
|
|
26688
26692
|
valueClassName: "!text-h3",
|
|
26689
26693
|
tooltip: "Policy compliance stats are updated hourly. View a policy's devices for real-time status."
|
|
26690
26694
|
}
|
|
@@ -26800,7 +26804,7 @@ function toValidInstant(iso) {
|
|
|
26800
26804
|
function formatLastRead(iso, now = /* @__PURE__ */ new Date()) {
|
|
26801
26805
|
const date = toValidInstant(iso);
|
|
26802
26806
|
if (!date) return TENANT_EMPTY_VALUE;
|
|
26803
|
-
return now.getTime() - date.getTime() < DAY_MS ?
|
|
26807
|
+
return now.getTime() - date.getTime() < DAY_MS ? _chunkLBGAHB6Xcjs.formatRelativeTimeFrom.call(void 0, date, now) : _chunkXEYL6AFZcjs.formatDate.call(void 0, date);
|
|
26804
26808
|
}
|
|
26805
26809
|
function usersCountLabel(count) {
|
|
26806
26810
|
if (count == null) return TENANT_EMPTY_VALUE;
|
|
@@ -26811,8 +26815,8 @@ function usersCountLabel(count) {
|
|
|
26811
26815
|
|
|
26812
26816
|
function TenantAccessCell({ accessState, lastReadAt: lastReadAt2, now }) {
|
|
26813
26817
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26814
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26815
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { ...accessStateTag(accessState), className: "self-start" }),
|
|
26819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: `Last read: ${formatLastRead(lastReadAt2, now)}` })
|
|
26816
26820
|
] });
|
|
26817
26821
|
}
|
|
26818
26822
|
|
|
@@ -26823,9 +26827,9 @@ function TenantCell({ provider, name, domain }) {
|
|
|
26823
26827
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26824
26828
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26825
26829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Logo, { size: 24, role: "img", "aria-label": label, className: "shrink-0" }),
|
|
26826
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26830
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: name })
|
|
26827
26831
|
] }),
|
|
26828
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26832
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(domain, () => ( TENANT_EMPTY_VALUE)) })
|
|
26829
26833
|
] });
|
|
26830
26834
|
}
|
|
26831
26835
|
|
|
@@ -26834,10 +26838,10 @@ function TenantCell({ provider, name, domain }) {
|
|
|
26834
26838
|
function TenantCustomerCell({ name, imageUrl, userCount }) {
|
|
26835
26839
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
26836
26840
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
26837
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26841
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatar, { src: _nullishCoalesce(imageUrl, () => ( void 0)), alt: name, fallback: name, size: "xs", variant: "square" }),
|
|
26842
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: name })
|
|
26839
26843
|
] }),
|
|
26840
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26844
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: usersCountLabel(userCount) })
|
|
26841
26845
|
] });
|
|
26842
26846
|
}
|
|
26843
26847
|
|
|
@@ -26909,7 +26913,7 @@ function TenantsTableView({
|
|
|
26909
26913
|
/* @__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,
|
|
26910
26914
|
_chunkTF5D5MNOcjs.Button,
|
|
26911
26915
|
{
|
|
26912
|
-
onClick:
|
|
26916
|
+
onClick: _chunkYWQ3VXPLcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
26913
26917
|
variant: "outline",
|
|
26914
26918
|
size: "icon",
|
|
26915
26919
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26987,13 +26991,13 @@ function WaitlistForm({
|
|
|
26987
26991
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26988
26992
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26989
26993
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26990
|
-
const { toast } =
|
|
26991
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26994
|
+
const { toast } = _chunk5PK22JP7cjs.useToast.call(void 0, );
|
|
26995
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunk5PK22JP7cjs.useHumanitySignals.call(void 0, );
|
|
26992
26996
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26993
|
-
const isClient =
|
|
26997
|
+
const isClient = _chunkOWQVDWTKcjs.useIsHydrated.call(void 0, );
|
|
26994
26998
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26995
26999
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26996
|
-
const rescue =
|
|
27000
|
+
const rescue = _chunk5PK22JP7cjs.useFormRescue.call(void 0, {
|
|
26997
27001
|
form: rescueForm,
|
|
26998
27002
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
26999
27003
|
fieldNames: ["email", "phone"],
|
|
@@ -27005,7 +27009,7 @@ function WaitlistForm({
|
|
|
27005
27009
|
_react.useEffect.call(void 0, () => {
|
|
27006
27010
|
rescue.track({ email, phone }, null);
|
|
27007
27011
|
}, [email, phone, rescue]);
|
|
27008
|
-
const isMailDomainGeneric =
|
|
27012
|
+
const isMailDomainGeneric = _chunkYWQ3VXPLcjs.hasGenericEmailDomain.call(void 0, email);
|
|
27009
27013
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
27010
27014
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
27011
27015
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -27039,7 +27043,7 @@ function WaitlistForm({
|
|
|
27039
27043
|
setShowConsentError(true);
|
|
27040
27044
|
return;
|
|
27041
27045
|
}
|
|
27042
|
-
const finalPhone = phone ?
|
|
27046
|
+
const finalPhone = phone ? _chunkYWQ3VXPLcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
27043
27047
|
try {
|
|
27044
27048
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
27045
27049
|
rescue.complete();
|
|
@@ -27637,7 +27641,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27637
27641
|
}, [mobileBreakpoint]);
|
|
27638
27642
|
const panelRef = _react.useRef.call(void 0, null);
|
|
27639
27643
|
const available = useContainerExtent(resizable, isHorizontal, portalContainer);
|
|
27640
|
-
const { size, setSize, clampSize } =
|
|
27644
|
+
const { size, setSize, clampSize } = _chunkR6BKQKIFcjs.useResizablePanelSize.call(void 0, {
|
|
27641
27645
|
enabled: resizable,
|
|
27642
27646
|
minSize,
|
|
27643
27647
|
maxSize,
|
|
@@ -27657,7 +27661,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27657
27661
|
"data-state": open ? "open" : "closed",
|
|
27658
27662
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
27659
27663
|
"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",
|
|
27660
|
-
|
|
27664
|
+
_chunkR6BKQKIFcjs.OVERLAY_BACKDROP_CLASS,
|
|
27661
27665
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
27662
27666
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
27663
27667
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -27700,7 +27704,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27700
27704
|
children: [
|
|
27701
27705
|
props["aria-label"] ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Title, { className: "sr-only", children: props["aria-label"] }) : null,
|
|
27702
27706
|
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27703
|
-
|
|
27707
|
+
_chunkR6BKQKIFcjs.PanelResizeHandle,
|
|
27704
27708
|
{
|
|
27705
27709
|
variant: "inLayout",
|
|
27706
27710
|
side: resolvedSide,
|
|
@@ -27739,11 +27743,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27739
27743
|
}
|
|
27740
27744
|
);
|
|
27741
27745
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
27742
|
-
var AppLayoutDrawerHeader =
|
|
27743
|
-
var AppLayoutDrawerTitle =
|
|
27744
|
-
var AppLayoutDrawerDescription =
|
|
27745
|
-
var AppLayoutDrawerBody =
|
|
27746
|
-
var AppLayoutDrawerFooter =
|
|
27746
|
+
var AppLayoutDrawerHeader = _chunkR6BKQKIFcjs.DrawerHeader;
|
|
27747
|
+
var AppLayoutDrawerTitle = _chunkR6BKQKIFcjs.DrawerTitle;
|
|
27748
|
+
var AppLayoutDrawerDescription = _chunkR6BKQKIFcjs.DrawerDescription;
|
|
27749
|
+
var AppLayoutDrawerBody = _chunkR6BKQKIFcjs.DrawerBody;
|
|
27750
|
+
var AppLayoutDrawerFooter = _chunkR6BKQKIFcjs.DrawerFooter;
|
|
27747
27751
|
|
|
27748
27752
|
// src/components/features/notifications/notification-tile.tsx
|
|
27749
27753
|
|
|
@@ -27762,7 +27766,7 @@ var typeColorByVariant = {
|
|
|
27762
27766
|
error: "text-ods-error"
|
|
27763
27767
|
};
|
|
27764
27768
|
var progressColorByVariant2 = {
|
|
27765
|
-
...
|
|
27769
|
+
..._chunk5PK22JP7cjs.progressColorByVariant,
|
|
27766
27770
|
default: "bg-ods-accent",
|
|
27767
27771
|
info: "bg-ods-accent"
|
|
27768
27772
|
};
|
|
@@ -27841,7 +27845,7 @@ function NotificationTile({
|
|
|
27841
27845
|
height: 16,
|
|
27842
27846
|
unoptimized: true
|
|
27843
27847
|
}
|
|
27844
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27848
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk5PK22JP7cjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27845
27849
|
type ? lockscreen ? (
|
|
27846
27850
|
// A phone names the sender in plain words and never cuts them.
|
|
27847
27851
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
|
|
@@ -27851,7 +27855,7 @@ function NotificationTile({
|
|
|
27851
27855
|
{
|
|
27852
27856
|
dateTime: createdAtIso,
|
|
27853
27857
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", lockscreen && "self-start"),
|
|
27854
|
-
children: _nullishCoalesce(timeLabel, () => (
|
|
27858
|
+
children: _nullishCoalesce(timeLabel, () => ( _chunkLBGAHB6Xcjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
|
|
27855
27859
|
}
|
|
27856
27860
|
) : null,
|
|
27857
27861
|
!lockscreen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TILE_CONTROL_BOX_CLASS, children: [
|
|
@@ -28014,7 +28018,7 @@ function NotificationDrawer({
|
|
|
28014
28018
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
28015
28019
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28016
28020
|
/* @__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,
|
|
28017
|
-
|
|
28021
|
+
_chunkR6BKQKIFcjs.DrawerTitle,
|
|
28018
28022
|
{
|
|
28019
28023
|
hideClose: true,
|
|
28020
28024
|
className: "truncate",
|
|
@@ -28073,8 +28077,8 @@ function NotificationDrawer({
|
|
|
28073
28077
|
}
|
|
28074
28078
|
) });
|
|
28075
28079
|
}
|
|
28076
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28077
|
-
|
|
28080
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR6BKQKIFcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28081
|
+
_chunkR6BKQKIFcjs.DrawerContent,
|
|
28078
28082
|
{
|
|
28079
28083
|
side: "right",
|
|
28080
28084
|
"aria-describedby": void 0,
|
|
@@ -28170,7 +28174,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
28170
28174
|
] });
|
|
28171
28175
|
}
|
|
28172
28176
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
28173
|
-
const { supported, permission, request } =
|
|
28177
|
+
const { supported, permission, request } = _chunk5PK22JP7cjs.useNotificationPermission.call(void 0, );
|
|
28174
28178
|
if (!supported) return null;
|
|
28175
28179
|
const blocked = permission === "denied";
|
|
28176
28180
|
const handleChange = async (value) => {
|
|
@@ -28348,13 +28352,13 @@ function getApprovalMeta(notification) {
|
|
|
28348
28352
|
function resolutionToStatus(resolution) {
|
|
28349
28353
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28350
28354
|
case "APPROVED":
|
|
28351
|
-
return
|
|
28355
|
+
return _chunkXEYL6AFZcjs.APPROVAL_STATUS.APPROVED;
|
|
28352
28356
|
case "REJECTED":
|
|
28353
|
-
return
|
|
28357
|
+
return _chunkXEYL6AFZcjs.APPROVAL_STATUS.REJECTED;
|
|
28354
28358
|
case "CANCELLED":
|
|
28355
|
-
return
|
|
28359
|
+
return _chunkXEYL6AFZcjs.APPROVAL_STATUS.CANCELLED;
|
|
28356
28360
|
default:
|
|
28357
|
-
return
|
|
28361
|
+
return _chunkXEYL6AFZcjs.APPROVAL_STATUS.PENDING;
|
|
28358
28362
|
}
|
|
28359
28363
|
}
|
|
28360
28364
|
function approvalMetaToBatchData(approval) {
|
|
@@ -28399,7 +28403,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28399
28403
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _591 => _591.resolution]));
|
|
28400
28404
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28401
28405
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28402
|
-
const { innerRef, containerStyle } =
|
|
28406
|
+
const { innerRef, containerStyle } = _chunkLBGAHB6Xcjs.useCollapsible.call(void 0, { expanded });
|
|
28403
28407
|
if (!approval || !batchData) return null;
|
|
28404
28408
|
const tileNotification = {
|
|
28405
28409
|
...notification,
|
|
@@ -28462,7 +28466,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28462
28466
|
}
|
|
28463
28467
|
)
|
|
28464
28468
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28465
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ApprovalStatusTag, { status }),
|
|
28466
28470
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
28467
28471
|
"by ",
|
|
28468
28472
|
approval.resolvedByName
|
|
@@ -28480,12 +28484,12 @@ function ApprovalRequestNotificationTile({
|
|
|
28480
28484
|
"aria-expanded": expanded,
|
|
28481
28485
|
"aria-label": toggleLabel,
|
|
28482
28486
|
className: APPROVAL_TOGGLE_BUTTON_CLASS,
|
|
28483
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28487
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.ExpandChevron, { expanded })
|
|
28484
28488
|
}
|
|
28485
28489
|
)
|
|
28486
28490
|
] }),
|
|
28487
28491
|
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,
|
|
28488
|
-
|
|
28492
|
+
_chunkLBGAHB6Xcjs.ApprovalBatchMessage,
|
|
28489
28493
|
{
|
|
28490
28494
|
data: batchData,
|
|
28491
28495
|
showExecutionStatus: false,
|
|
@@ -28558,7 +28562,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
28558
28562
|
const { label, imageUrl } = option;
|
|
28559
28563
|
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: [
|
|
28560
28564
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
28561
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28565
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
28562
28566
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
28563
28567
|
] }),
|
|
28564
28568
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -28642,7 +28646,7 @@ function TimeTrackerPanel({
|
|
|
28642
28646
|
}));
|
|
28643
28647
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
28644
28648
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28645
|
-
|
|
28649
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
28646
28650
|
{
|
|
28647
28651
|
src: selectedCustomer.imageUrl,
|
|
28648
28652
|
alt: selectedCustomer.label,
|
|
@@ -28722,7 +28726,7 @@ function TimeTrackerPanel({
|
|
|
28722
28726
|
] }),
|
|
28723
28727
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "grid gap-[var(--spacing-system-m)]", showCustomer && "grid-cols-2"), children: [
|
|
28724
28728
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28725
|
-
|
|
28729
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
28726
28730
|
{
|
|
28727
28731
|
value: selectedTicketId,
|
|
28728
28732
|
onChange: onSelectedTicketChange,
|
|
@@ -28738,7 +28742,7 @@ function TimeTrackerPanel({
|
|
|
28738
28742
|
}
|
|
28739
28743
|
),
|
|
28740
28744
|
showCustomer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28741
|
-
|
|
28745
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
28742
28746
|
{
|
|
28743
28747
|
value: _nullishCoalesce(selectedCustomerId, () => ( null)),
|
|
28744
28748
|
onChange: onSelectedCustomerChange,
|
|
@@ -28821,7 +28825,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28821
28825
|
function StatusTag({ status }) {
|
|
28822
28826
|
if (status === "tracking") {
|
|
28823
28827
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28824
|
-
|
|
28828
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
28825
28829
|
{
|
|
28826
28830
|
variant: "success",
|
|
28827
28831
|
className: STATUS_TAG_SKIN,
|
|
@@ -28831,9 +28835,9 @@ function StatusTag({ status }) {
|
|
|
28831
28835
|
);
|
|
28832
28836
|
}
|
|
28833
28837
|
if (status === "paused") {
|
|
28834
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28838
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4D25RXYZcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
28835
28839
|
}
|
|
28836
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28840
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
28837
28841
|
}
|
|
28838
28842
|
function LastEntryRow({ entry, onClick }) {
|
|
28839
28843
|
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: [
|
|
@@ -29003,7 +29007,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29003
29007
|
"data-state": isOpen ? "open" : "closed",
|
|
29004
29008
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
29005
29009
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
29006
|
-
|
|
29010
|
+
_chunkR6BKQKIFcjs.OVERLAY_BACKDROP_CLASS,
|
|
29007
29011
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
29008
29012
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
29009
29013
|
)
|
|
@@ -29029,7 +29033,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29029
29033
|
|
|
29030
29034
|
// src/components/features/devices/device-last-online.ts
|
|
29031
29035
|
function formatLastOnline(lastSeen) {
|
|
29032
|
-
return `Last Online: ${lastSeen ?
|
|
29036
|
+
return `Last Online: ${lastSeen ? _chunkLBGAHB6Xcjs.formatRelativeTime.call(void 0, lastSeen) : "\u2014"}`;
|
|
29033
29037
|
}
|
|
29034
29038
|
|
|
29035
29039
|
// src/components/features/devices/device-name.ts
|
|
@@ -29073,7 +29077,7 @@ var SELECTION_MODE_OPTIONS = [
|
|
|
29073
29077
|
label: "Select Devices by Criteria",
|
|
29074
29078
|
description: CRITERIA_MODE_DESCRIPTION,
|
|
29075
29079
|
disabled: true,
|
|
29076
|
-
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29080
|
+
trailing: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: "Coming Soon", variant: "grey" })
|
|
29077
29081
|
}
|
|
29078
29082
|
];
|
|
29079
29083
|
var SELECTION_MODE_OPTIONS_ENABLED = [
|
|
@@ -29178,7 +29182,7 @@ function getDeviceStatusConfig(status) {
|
|
|
29178
29182
|
}
|
|
29179
29183
|
}
|
|
29180
29184
|
function getDeviceOperatingSystem(osType) {
|
|
29181
|
-
return
|
|
29185
|
+
return _chunkYWQ3VXPLcjs.getOSPlatformId.call(void 0, osType);
|
|
29182
29186
|
}
|
|
29183
29187
|
|
|
29184
29188
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -29354,8 +29358,8 @@ function DevicesFilterToolbar({
|
|
|
29354
29358
|
|
|
29355
29359
|
|
|
29356
29360
|
function formatDateTime(input) {
|
|
29357
|
-
const date =
|
|
29358
|
-
return date === "\u2014" ? date : `${date} ${
|
|
29361
|
+
const date = _chunkXEYL6AFZcjs.formatDate.call(void 0, input);
|
|
29362
|
+
return date === "\u2014" ? date : `${date} ${_chunkXEYL6AFZcjs.formatTime.call(void 0, input)}`;
|
|
29359
29363
|
}
|
|
29360
29364
|
function uniqueById(options) {
|
|
29361
29365
|
const seen = /* @__PURE__ */ new Map();
|
|
@@ -29462,7 +29466,7 @@ function DevicesTableBody({
|
|
|
29462
29466
|
function OrganizationCell({ device }) {
|
|
29463
29467
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
29464
29468
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
29465
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.EntityImage, { src: fullImageUrl, alt: device.organization || "Customer", className: "size-12 content-md:size-12" }),
|
|
29466
29470
|
/* @__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, "span", { className: "break-words text-ods-text-primary text-h4", children: device.organization || "" }) })
|
|
29467
29471
|
] });
|
|
29468
29472
|
}
|
|
@@ -29506,7 +29510,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
29506
29510
|
const device = row.original;
|
|
29507
29511
|
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: [
|
|
29508
29512
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
29509
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29513
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: getDeviceName(device) }) })
|
|
29510
29514
|
] });
|
|
29511
29515
|
},
|
|
29512
29516
|
meta: { width: "flex-1 content-md:w-1/4" }
|
|
@@ -29519,7 +29523,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
|
|
|
29519
29523
|
const device = row.original;
|
|
29520
29524
|
const statusConfig2 = getDeviceStatusConfig(device.status);
|
|
29521
29525
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col items-start gap-1", children: [
|
|
29522
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29526
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: statusConfig2.label, variant: statusConfig2.variant }) }),
|
|
29523
29527
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "hidden text-ods-text-secondary text-h6 content-md:flex", children: device.last_seen ? formatDateTime(device.last_seen) : "Never" })
|
|
29524
29528
|
] });
|
|
29525
29529
|
},
|
|
@@ -29572,7 +29576,7 @@ function useTagFilterModal({
|
|
|
29572
29576
|
setParams,
|
|
29573
29577
|
onApplied = scrollMainToTop
|
|
29574
29578
|
}) {
|
|
29575
|
-
const isMdUp =
|
|
29579
|
+
const isMdUp = _chunkV4FXUIMHcjs.useMdUp.call(void 0, );
|
|
29576
29580
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
29577
29581
|
const pendingFiltersRef = _react.useRef.call(void 0, {});
|
|
29578
29582
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -29677,7 +29681,7 @@ function CustomerCell({ device }) {
|
|
|
29677
29681
|
const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
|
|
29678
29682
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
29679
29683
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29680
|
-
|
|
29684
|
+
_chunkSIDDZZKLcjs.EntityImage,
|
|
29681
29685
|
{
|
|
29682
29686
|
src: fullImageUrl,
|
|
29683
29687
|
alt: device.organization || "Customer",
|
|
@@ -29685,8 +29689,8 @@ function CustomerCell({ device }) {
|
|
|
29685
29689
|
}
|
|
29686
29690
|
),
|
|
29687
29691
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
29688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29689
|
-
device.organizationEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: device.organization || "" }),
|
|
29693
|
+
device.organizationEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: device.organizationEmail })
|
|
29690
29694
|
] })
|
|
29691
29695
|
] });
|
|
29692
29696
|
}
|
|
@@ -29981,8 +29985,8 @@ function DeviceSelector({
|
|
|
29981
29985
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 items-center gap-3", children: [
|
|
29982
29986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
|
|
29983
29987
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
|
|
29984
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29985
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: getDeviceName(device) }),
|
|
29989
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: formatLastOnline(lastSeen) })
|
|
29986
29990
|
] })
|
|
29987
29991
|
] });
|
|
29988
29992
|
},
|
|
@@ -30017,7 +30021,7 @@ function DeviceSelector({
|
|
|
30017
30021
|
header: "STATUS",
|
|
30018
30022
|
cell: ({ row }) => {
|
|
30019
30023
|
const config = getDeviceStatusConfig(row.original.status);
|
|
30020
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30024
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: config.label, variant: config.variant, className: "w-min" });
|
|
30021
30025
|
},
|
|
30022
30026
|
enableSorting: false,
|
|
30023
30027
|
meta: {
|
|
@@ -30549,7 +30553,7 @@ function DevicesList({
|
|
|
30549
30553
|
const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
|
|
30550
30554
|
const narrowed = isNarrowed(narrowing);
|
|
30551
30555
|
const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
|
|
30552
|
-
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } =
|
|
30556
|
+
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunk5PK22JP7cjs.useStickyToolbar.call(void 0, );
|
|
30553
30557
|
const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
|
|
30554
30558
|
const actionsColumn = _react.useMemo.call(void 0, () => rowActions ? getDeviceActionsColumn(rowActions) : void 0, [rowActions]);
|
|
30555
30559
|
return (
|
|
@@ -30774,7 +30778,7 @@ function DevicesPanelView({
|
|
|
30774
30778
|
] })
|
|
30775
30779
|
] });
|
|
30776
30780
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30777
|
-
|
|
30781
|
+
_chunkSIDDZZKLcjs.PageLayout,
|
|
30778
30782
|
{
|
|
30779
30783
|
title,
|
|
30780
30784
|
backButton,
|
|
@@ -30782,7 +30786,7 @@ function DevicesPanelView({
|
|
|
30782
30786
|
actionsVariant: "icon-buttons",
|
|
30783
30787
|
className,
|
|
30784
30788
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30785
|
-
|
|
30789
|
+
_chunkOWQVDWTKcjs.TabSelector,
|
|
30786
30790
|
{
|
|
30787
30791
|
value: viewMode,
|
|
30788
30792
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
|
|
@@ -30848,7 +30852,7 @@ var PACKAGE_SEARCH_LABEL = "Software Name";
|
|
|
30848
30852
|
var PACKAGE_SEARCH_PLACEHOLDER = "Search for Software";
|
|
30849
30853
|
function PackageSearchFieldPlaceholder({ error }) {
|
|
30850
30854
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30851
|
-
|
|
30855
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
30852
30856
|
{
|
|
30853
30857
|
label: PACKAGE_SEARCH_LABEL,
|
|
30854
30858
|
labelVariant: "large",
|
|
@@ -30903,16 +30907,16 @@ function SoftwareScheduleFields({
|
|
|
30903
30907
|
] }),
|
|
30904
30908
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30905
30909
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { className: "text-h4", children: "Time" }),
|
|
30906
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30907
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30908
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30910
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: time, onValueChange: onTimeChange, children: [
|
|
30911
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "Select time" }) }),
|
|
30912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
30909
30913
|
] })
|
|
30910
30914
|
] }),
|
|
30911
30915
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
30912
30916
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { className: "text-h4", children: "Timezone" }),
|
|
30913
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30914
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30915
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30917
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: timeReference, onValueChange: (value) => onTimeReferenceChange(value), children: [
|
|
30918
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
30919
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: timing.timeReferenceOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
30916
30920
|
] })
|
|
30917
30921
|
] })
|
|
30918
30922
|
]
|
|
@@ -30978,22 +30982,22 @@ function newSoftwareRow(key) {
|
|
|
30978
30982
|
|
|
30979
30983
|
function InfoCell2({ value, label }) {
|
|
30980
30984
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
30981
|
-
/* @__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,
|
|
30985
|
+
/* @__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, _chunkSIDDZZKLcjs.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" }) }) }),
|
|
30982
30986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: label })
|
|
30983
30987
|
] });
|
|
30984
30988
|
}
|
|
30985
30989
|
function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSearch }) {
|
|
30986
30990
|
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: [
|
|
30987
30991
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30988
|
-
|
|
30992
|
+
_chunkSIDDZZKLcjs.Select,
|
|
30989
30993
|
{
|
|
30990
30994
|
value: row.packageManager,
|
|
30991
30995
|
onValueChange: (value) => onChange({ ...row, packageManager: value, pkg: null }),
|
|
30992
30996
|
children: [
|
|
30993
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30994
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30997
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { label: "Package Manager", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
30998
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: PACKAGE_MANAGERS.map((manager) => {
|
|
30995
30999
|
const Icon = PACKAGE_MANAGER_ICON[manager];
|
|
30996
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31000
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: manager, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
30997
31001
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 20, className: "shrink-0 text-ods-text-secondary" }),
|
|
30998
31002
|
PACKAGE_MANAGER_LABEL[manager]
|
|
30999
31003
|
] }) }, manager);
|
|
@@ -31091,7 +31095,7 @@ function SoftwareActionForm({
|
|
|
31091
31095
|
}
|
|
31092
31096
|
);
|
|
31093
31097
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31094
|
-
|
|
31098
|
+
_chunkSIDDZZKLcjs.PageLayout,
|
|
31095
31099
|
{
|
|
31096
31100
|
title: copy.formTitle,
|
|
31097
31101
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -31172,7 +31176,7 @@ function LogDrawer({
|
|
|
31172
31176
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AppLayoutDrawerHeader, { children: [
|
|
31173
31177
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerTitle, { children: "Log Details" }),
|
|
31174
31178
|
(statusTag || timestamp) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
31175
|
-
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31179
|
+
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: statusTag.label, variant: statusTag.variant }),
|
|
31176
31180
|
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: timestamp })
|
|
31177
31181
|
] })
|
|
31178
31182
|
] }),
|
|
@@ -31180,7 +31184,7 @@ function LogDrawer({
|
|
|
31180
31184
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 space-y-4 overflow-y-auto", children: [
|
|
31181
31185
|
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 }) }),
|
|
31182
31186
|
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: [
|
|
31183
|
-
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,
|
|
31187
|
+
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, _chunkSIDDZZKLcjs.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 }),
|
|
31184
31188
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: field.label })
|
|
31185
31189
|
] }, typeof field.label === "string" ? field.label : "")) }),
|
|
31186
31190
|
children
|
|
@@ -31228,7 +31232,7 @@ function LogsPageView({
|
|
|
31228
31232
|
],
|
|
31229
31233
|
[onRefresh]
|
|
31230
31234
|
);
|
|
31231
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31235
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.PageLayout, { title: "Logs", actions, showHeader, className, children: [
|
|
31232
31236
|
!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: [
|
|
31233
31237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31234
31238
|
_chunkYXDHVHB2cjs.Input,
|
|
@@ -31316,11 +31320,11 @@ var ToolBadge = ({
|
|
|
31316
31320
|
iconClassName
|
|
31317
31321
|
}) => {
|
|
31318
31322
|
const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
31319
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
31320
|
-
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31323
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkYWQ3VXPLcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
31324
|
+
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk64KBI5MIcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
31321
31325
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
31322
31326
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31323
|
-
|
|
31327
|
+
_chunkOWQVDWTKcjs.NavLinkAnchorViaRuntime,
|
|
31324
31328
|
{
|
|
31325
31329
|
href,
|
|
31326
31330
|
targetPlatform,
|
|
@@ -31403,8 +31407,8 @@ function LogsTableView({
|
|
|
31403
31407
|
accessorKey: "logId",
|
|
31404
31408
|
header: logIdHeader ? () => logIdHeader : "Log ID",
|
|
31405
31409
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col justify-center", children: [
|
|
31406
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31407
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31410
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: row.original.timestamp }),
|
|
31411
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.logId })
|
|
31408
31412
|
] }),
|
|
31409
31413
|
enableSorting: false,
|
|
31410
31414
|
meta: { width: LOG_COLUMN_WIDTHS.logId, alwaysShowHeader: true }
|
|
@@ -31412,7 +31416,7 @@ function LogsTableView({
|
|
|
31412
31416
|
{
|
|
31413
31417
|
accessorKey: "status",
|
|
31414
31418
|
header: "Status",
|
|
31415
|
-
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31419
|
+
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: row.original.status.label, variant: row.original.status.variant }) }),
|
|
31416
31420
|
enableSorting: false,
|
|
31417
31421
|
filterFn: multiSelect,
|
|
31418
31422
|
meta: {
|
|
@@ -31432,7 +31436,7 @@ function LogsTableView({
|
|
|
31432
31436
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31433
31437
|
ToolBadge,
|
|
31434
31438
|
{
|
|
31435
|
-
toolType:
|
|
31439
|
+
toolType: _chunkYWQ3VXPLcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
31436
31440
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
31437
31441
|
}
|
|
31438
31442
|
),
|
|
@@ -31444,7 +31448,7 @@ function LogsTableView({
|
|
|
31444
31448
|
filter: {
|
|
31445
31449
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
|
|
31446
31450
|
id: toolType,
|
|
31447
|
-
label:
|
|
31451
|
+
label: _chunkYWQ3VXPLcjs.toToolLabel.call(void 0, toolType),
|
|
31448
31452
|
value: toolType
|
|
31449
31453
|
}))]), () => ( []))
|
|
31450
31454
|
}
|
|
@@ -31456,8 +31460,8 @@ function LogsTableView({
|
|
|
31456
31460
|
cell: ({ row }) => {
|
|
31457
31461
|
const { deviceName, organization } = logSourceLabels(row.original.device);
|
|
31458
31462
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] flex-col justify-center gap-1 py-2", children: [
|
|
31459
|
-
deviceName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31460
|
-
organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31463
|
+
deviceName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: deviceName }),
|
|
31464
|
+
organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: organization })
|
|
31461
31465
|
] });
|
|
31462
31466
|
},
|
|
31463
31467
|
enableSorting: false,
|
|
@@ -31471,7 +31475,7 @@ function LogsTableView({
|
|
|
31471
31475
|
{
|
|
31472
31476
|
accessorKey: "description",
|
|
31473
31477
|
header: "Log Details",
|
|
31474
|
-
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31478
|
+
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 3, className: "text-ods-text-secondary text-h6", children: row.original.description.title }),
|
|
31475
31479
|
enableSorting: false,
|
|
31476
31480
|
meta: { width: LOG_COLUMN_WIDTHS.description, hideAt: "lg" }
|
|
31477
31481
|
},
|
|
@@ -31502,7 +31506,7 @@ function LogsTableView({
|
|
|
31502
31506
|
cell: ({ row }) => /* @__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,
|
|
31503
31507
|
_chunkTF5D5MNOcjs.Button,
|
|
31504
31508
|
{
|
|
31505
|
-
onClick: getLogHref ?
|
|
31509
|
+
onClick: getLogHref ? _chunkYWQ3VXPLcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
31506
31510
|
variant: "outline",
|
|
31507
31511
|
size: "icon",
|
|
31508
31512
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31723,29 +31727,29 @@ function scriptExecutionStatus(status) {
|
|
|
31723
31727
|
|
|
31724
31728
|
function ExecutionSourceBadge({ source, className }) {
|
|
31725
31729
|
const tagProps = { as: "span", variant: "outline", className: _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0", className) };
|
|
31726
|
-
if (source === "SCHEDULED") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31730
|
+
if (source === "SCHEDULED") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { ...tagProps, label: "Scheduled" });
|
|
31727
31731
|
if (source === "AI_ASSISTANT") {
|
|
31728
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31732
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { ...tagProps, label: "Mingo", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.AgentMark, { agent: "mingo", className: "size-4" }) });
|
|
31729
31733
|
}
|
|
31730
31734
|
return null;
|
|
31731
31735
|
}
|
|
31732
31736
|
function ExecutionTimestampCell({ timestamp, executionId }) {
|
|
31733
31737
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31734
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: timestamp }),
|
|
31739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: executionId })
|
|
31736
31740
|
] });
|
|
31737
31741
|
}
|
|
31738
31742
|
function ExecutionStatusCell({ status }) {
|
|
31739
31743
|
const presentation = scriptExecutionStatus(status);
|
|
31740
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31744
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _690 => _690.label]), () => ( String(_nullishCoalesce(status, () => ( ""))))), variant: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _691 => _691.variant]), () => ( "grey")) }) });
|
|
31741
31745
|
}
|
|
31742
31746
|
function ExecutionDeviceCell({ name, organization }) {
|
|
31743
31747
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31744
31748
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-1", children: [
|
|
31745
31749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className: "size-6 shrink-0 text-ods-text-secondary" }),
|
|
31746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31750
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: name }) : name })
|
|
31747
31751
|
] }),
|
|
31748
|
-
organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31752
|
+
organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: organization })
|
|
31749
31753
|
] });
|
|
31750
31754
|
}
|
|
31751
31755
|
function ExecutionInitiatorCell({
|
|
@@ -31758,15 +31762,15 @@ function ExecutionInitiatorCell({
|
|
|
31758
31762
|
avatar,
|
|
31759
31763
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
31760
31764
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
31761
|
-
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31765
|
+
typeof name === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: name }) : name,
|
|
31762
31766
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExecutionSourceBadge, { source })
|
|
31763
31767
|
] }),
|
|
31764
|
-
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31768
|
+
scriptName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: scriptName })
|
|
31765
31769
|
] })
|
|
31766
31770
|
] });
|
|
31767
31771
|
}
|
|
31768
31772
|
function ExecutionResultCell({ result, empty = null }) {
|
|
31769
|
-
return result ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31773
|
+
return result ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 2, children: result }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: empty });
|
|
31770
31774
|
}
|
|
31771
31775
|
function ScriptExecutionResult({
|
|
31772
31776
|
result,
|
|
@@ -31784,14 +31788,14 @@ function ScriptExecutionResult({
|
|
|
31784
31788
|
|
|
31785
31789
|
function ScriptNameCell({ name, description }) {
|
|
31786
31790
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31787
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31788
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31791
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: name }),
|
|
31792
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: description })
|
|
31789
31793
|
] });
|
|
31790
31794
|
}
|
|
31791
31795
|
function ScheduleDateTimeCell({ date, time }) {
|
|
31792
31796
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
31793
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31794
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31797
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: date }),
|
|
31798
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: time })
|
|
31795
31799
|
] });
|
|
31796
31800
|
}
|
|
31797
31801
|
|
|
@@ -31877,7 +31881,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31877
31881
|
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,
|
|
31878
31882
|
_chunkTF5D5MNOcjs.Button,
|
|
31879
31883
|
{
|
|
31880
|
-
onClick:
|
|
31884
|
+
onClick: _chunkYWQ3VXPLcjs.openInNewTab.call(void 0, href),
|
|
31881
31885
|
variant: "outline",
|
|
31882
31886
|
size: "icon",
|
|
31883
31887
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31910,7 +31914,7 @@ function ScriptExecutionsTable({
|
|
|
31910
31914
|
ExecutionInitiatorCell,
|
|
31911
31915
|
{
|
|
31912
31916
|
avatar: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31913
|
-
|
|
31917
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
31914
31918
|
{
|
|
31915
31919
|
variant: "round",
|
|
31916
31920
|
size: "md",
|
|
@@ -31990,7 +31994,7 @@ function ScriptSchedulesTable({
|
|
|
31990
31994
|
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" })),
|
|
31991
31995
|
cell(
|
|
31992
31996
|
SCHEDULE_COLUMNS.dateTime,
|
|
31993
|
-
(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,
|
|
31997
|
+
(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, _chunkSIDDZZKLcjs.TruncateText, { tone: "secondary", children: row.trigger }) : null
|
|
31994
31998
|
),
|
|
31995
31999
|
cell(SCHEDULE_COLUMNS.repeat, (row) => row.repeat ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: VALUE_CLASS, children: row.repeat }) : null),
|
|
31996
32000
|
cell(SCHEDULE_COLUMNS.deviceCount, (row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: VALUE_CLASS, children: row.deviceCount }))
|
|
@@ -32026,9 +32030,9 @@ function ScriptSchedulesTable({
|
|
|
32026
32030
|
|
|
32027
32031
|
// src/components/features/scripts/shell-types.ts
|
|
32028
32032
|
var SCRIPT_SHELL_TYPES = [
|
|
32029
|
-
{ id:
|
|
32030
|
-
{ id:
|
|
32031
|
-
{ id:
|
|
32033
|
+
{ id: _chunkYWQ3VXPLcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
32034
|
+
{ id: _chunkYWQ3VXPLcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
32035
|
+
{ id: _chunkYWQ3VXPLcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
32032
32036
|
];
|
|
32033
32037
|
function scriptShellType(value) {
|
|
32034
32038
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -32079,7 +32083,7 @@ function ScriptsTable({
|
|
|
32079
32083
|
SCRIPT_COLUMNS.authorId,
|
|
32080
32084
|
(row) => row.author ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
32081
32085
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32082
|
-
|
|
32086
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
32083
32087
|
{
|
|
32084
32088
|
variant: "round",
|
|
32085
32089
|
size: "sm",
|
|
@@ -32089,7 +32093,7 @@ function ScriptsTable({
|
|
|
32089
32093
|
initialsClassName: "text-ods-text-secondary"
|
|
32090
32094
|
}
|
|
32091
32095
|
),
|
|
32092
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32096
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: row.author.name }) })
|
|
32093
32097
|
] }) : null
|
|
32094
32098
|
)
|
|
32095
32099
|
];
|
|
@@ -32210,7 +32214,7 @@ function slotValue(minutesOfDay) {
|
|
|
32210
32214
|
return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`;
|
|
32211
32215
|
}
|
|
32212
32216
|
function slotLabel(minutesOfDay) {
|
|
32213
|
-
return
|
|
32217
|
+
return _chunkXEYL6AFZcjs.formatTime.call(void 0, new Date(1970, 0, 1, Math.floor(minutesOfDay / 60), minutesOfDay % 60));
|
|
32214
32218
|
}
|
|
32215
32219
|
function getTimeSlotOptions(forDate, timeReference) {
|
|
32216
32220
|
const base = slotBaseMinutes(timeReference);
|
|
@@ -32431,9 +32435,9 @@ function ReconnectWindowFields({
|
|
|
32431
32435
|
invalid
|
|
32432
32436
|
}
|
|
32433
32437
|
),
|
|
32434
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32435
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32436
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32438
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: unit, onValueChange: (next) => onUnitChange(next), disabled, children: [
|
|
32439
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: controlWidth, "aria-label": "Stop retry after unit", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
32440
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: DURATION_UNIT_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
32437
32441
|
] })
|
|
32438
32442
|
] });
|
|
32439
32443
|
}
|
|
@@ -32501,7 +32505,7 @@ function ScheduleOfflineFields({ showErrors, disabled = false }) {
|
|
|
32501
32505
|
options
|
|
32502
32506
|
}
|
|
32503
32507
|
),
|
|
32504
|
-
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,
|
|
32508
|
+
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, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", className: "text-ods-error", children: intervalError }) })
|
|
32505
32509
|
]
|
|
32506
32510
|
}
|
|
32507
32511
|
) }) })
|
|
@@ -32577,7 +32581,7 @@ function useSortableListContext() {
|
|
|
32577
32581
|
}
|
|
32578
32582
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
32579
32583
|
const listRef = _react.useRef.call(void 0, null);
|
|
32580
|
-
const dragAndDropEnabled =
|
|
32584
|
+
const dragAndDropEnabled = _chunkVXAKQRV7cjs.useDragAndDropEnabled.call(void 0, );
|
|
32581
32585
|
const dragType = _react.useId.call(void 0, );
|
|
32582
32586
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
32583
32587
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -32610,8 +32614,8 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32610
32614
|
// Dragging towards the edge of the screen — or past it — scrolls whatever
|
|
32611
32615
|
// actually scrolls there: the page, the layout's `<main>`, or the list
|
|
32612
32616
|
// itself when it has its own overflow.
|
|
32613
|
-
|
|
32614
|
-
|
|
32617
|
+
_chunkKLTUTZBOcjs.autoScrollAncestors.call(void 0, list),
|
|
32618
|
+
_chunkKLTUTZBOcjs.autoScrollBothWays.call(void 0, list),
|
|
32615
32619
|
// One target for the whole list: which slot a drop lands in is answered by
|
|
32616
32620
|
// geometry, so this only has to say "inside the list, or outside it".
|
|
32617
32621
|
_adapter.dropTargetForElements.call(void 0, {
|
|
@@ -32669,7 +32673,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32669
32673
|
})
|
|
32670
32674
|
);
|
|
32671
32675
|
}, [dragType, disabled, dragAndDropEnabled, readItems, reorder]);
|
|
32672
|
-
|
|
32676
|
+
_chunkSZHDXXMKcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
32673
32677
|
const from = flipFrom.current;
|
|
32674
32678
|
flipFrom.current = null;
|
|
32675
32679
|
if (!from) return;
|
|
@@ -32908,7 +32912,7 @@ function useSortableItem() {
|
|
|
32908
32912
|
return _combine.combine.call(void 0,
|
|
32909
32913
|
// The drag has to start as a "move", or its first frame is drawn with the
|
|
32910
32914
|
// copy cursor — see `drag-effect.ts`.
|
|
32911
|
-
|
|
32915
|
+
_chunkKLTUTZBOcjs.holdMoveDragEffect.call(void 0, item),
|
|
32912
32916
|
_adapter.draggable.call(void 0, {
|
|
32913
32917
|
element: item,
|
|
32914
32918
|
dragHandle: handle,
|
|
@@ -32955,7 +32959,7 @@ function ScheduleScriptPickerCard({
|
|
|
32955
32959
|
const selected = watch(`scripts.${index}`);
|
|
32956
32960
|
const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _718 => _718.scriptId]);
|
|
32957
32961
|
const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
|
|
32958
|
-
const isMdUp =
|
|
32962
|
+
const isMdUp = _chunkAQXKXZWBcjs.useContentMdUp.call(void 0, );
|
|
32959
32963
|
const handleScriptPick = (row) => {
|
|
32960
32964
|
if (!row) {
|
|
32961
32965
|
setValue(`scripts.${index}`, EMPTY_SCHEDULE_SCRIPT_ROW, { shouldValidate: true });
|
|
@@ -33332,24 +33336,24 @@ function ScheduleTimingFields({
|
|
|
33332
33336
|
// `''` reads as "no selection" to Radix, so the placeholder shows
|
|
33333
33337
|
// until a slot is picked — a date at midnight no longer
|
|
33334
33338
|
// masquerades as a chosen 12:00 AM.
|
|
33335
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33339
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSIDDZZKLcjs.Select, { value: field.value, onValueChange: field.onChange, disabled: fieldsDisabled, children: [
|
|
33336
33340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33337
|
-
|
|
33341
|
+
_chunkSIDDZZKLcjs.SelectTrigger,
|
|
33338
33342
|
{
|
|
33339
33343
|
className: "w-full",
|
|
33340
33344
|
error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _729 => _729.error, 'optionalAccess', _730 => _730.message]) : void 0))),
|
|
33341
33345
|
invalid: !!pastTimeError || showErrors && !!fieldState.error,
|
|
33342
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33346
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, { placeholder: "Select time" })
|
|
33343
33347
|
}
|
|
33344
33348
|
),
|
|
33345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33349
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: timeSlots.length === 0 ? (
|
|
33346
33350
|
// Deliberately NOT a `SelectItem` — there is nothing here
|
|
33347
33351
|
// to select, and a selectable row would put a bogus value
|
|
33348
33352
|
// in the form. It replaces a popup that opened blank; the
|
|
33349
33353
|
// Date field carries the same sentence for whoever never
|
|
33350
33354
|
// opens this one.
|
|
33351
33355
|
/* @__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 })
|
|
33352
|
-
) : timeSlots.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33356
|
+
) : timeSlots.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
33353
33357
|
] })
|
|
33354
33358
|
)
|
|
33355
33359
|
}
|
|
@@ -33363,14 +33367,14 @@ function ScheduleTimingFields({
|
|
|
33363
33367
|
name: "timeReference",
|
|
33364
33368
|
control,
|
|
33365
33369
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33366
|
-
|
|
33370
|
+
_chunkSIDDZZKLcjs.Select,
|
|
33367
33371
|
{
|
|
33368
33372
|
value: field.value,
|
|
33369
33373
|
onValueChange: (next) => handleTimeReferenceChange(field.onChange, next),
|
|
33370
33374
|
disabled: fieldsDisabled,
|
|
33371
33375
|
children: [
|
|
33372
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33376
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "w-full", "aria-label": "Timezone", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
33377
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: SCHEDULE_TIME_REFERENCE_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
33374
33378
|
]
|
|
33375
33379
|
}
|
|
33376
33380
|
)
|
|
@@ -33430,7 +33434,7 @@ function ScheduleTimingFields({
|
|
|
33430
33434
|
name: "repeatUnit",
|
|
33431
33435
|
control,
|
|
33432
33436
|
render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33433
|
-
|
|
33437
|
+
_chunkSIDDZZKLcjs.Select,
|
|
33434
33438
|
{
|
|
33435
33439
|
value: field.value,
|
|
33436
33440
|
onValueChange: (next) => {
|
|
@@ -33441,8 +33445,8 @@ function ScheduleTimingFields({
|
|
|
33441
33445
|
},
|
|
33442
33446
|
disabled: fieldsDisabled || !repeatEnabled,
|
|
33443
33447
|
children: [
|
|
33444
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33445
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectValue, {}) }),
|
|
33449
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectContent, { children: DURATION_UNIT_OPTIONS.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
33446
33450
|
]
|
|
33447
33451
|
}
|
|
33448
33452
|
)
|
|
@@ -33461,7 +33465,7 @@ function ScheduleFormFields({
|
|
|
33461
33465
|
disabled = false,
|
|
33462
33466
|
renderScriptSearch,
|
|
33463
33467
|
timeReferenceGate = "off",
|
|
33464
|
-
platforms =
|
|
33468
|
+
platforms = _chunkYWQ3VXPLcjs.OS_PLATFORMS,
|
|
33465
33469
|
comingSoonPlatforms = [],
|
|
33466
33470
|
getTimeSlots,
|
|
33467
33471
|
nameLayout = "stacked",
|
|
@@ -33474,7 +33478,7 @@ function ScheduleFormFields({
|
|
|
33474
33478
|
addScripts = true
|
|
33475
33479
|
}) {
|
|
33476
33480
|
const { control, formState, getValues, setValue } = _reacthookform.useFormContext.call(void 0, );
|
|
33477
|
-
const isMdUp =
|
|
33481
|
+
const isMdUp = _chunkAQXKXZWBcjs.useContentMdUp.call(void 0, );
|
|
33478
33482
|
const supportedPlatforms = _reacthookform.useWatch.call(void 0, { control, name: "supportedPlatforms" });
|
|
33479
33483
|
const togglePlatform = _react.useCallback.call(void 0,
|
|
33480
33484
|
(platform) => {
|
|
@@ -33531,7 +33535,7 @@ function ScheduleFormFields({
|
|
|
33531
33535
|
platform.id
|
|
33532
33536
|
);
|
|
33533
33537
|
}) }),
|
|
33534
|
-
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,
|
|
33538
|
+
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, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", className: "text-ods-error", children: _nullishCoalesce(formState.errors.supportedPlatforms.message, () => ( "")) }) })
|
|
33535
33539
|
]
|
|
33536
33540
|
}
|
|
33537
33541
|
);
|
|
@@ -33607,7 +33611,7 @@ function ScheduleFormFields({
|
|
|
33607
33611
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33608
33612
|
|
|
33609
33613
|
function ScriptPlatformIcons({ platforms }) {
|
|
33610
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33614
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkYWQ3VXPLcjs.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)) });
|
|
33611
33615
|
}
|
|
33612
33616
|
function ScheduleScriptSearchField({
|
|
33613
33617
|
scriptId,
|
|
@@ -33633,7 +33637,7 @@ function ScheduleScriptSearchField({
|
|
|
33633
33637
|
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: [
|
|
33634
33638
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { className: "text-h4", children: "Select Script" }),
|
|
33635
33639
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33636
|
-
|
|
33640
|
+
_chunkSIDDZZKLcjs.Autocomplete,
|
|
33637
33641
|
{
|
|
33638
33642
|
options,
|
|
33639
33643
|
value: scriptId || null,
|
|
@@ -33648,7 +33652,7 @@ function ScheduleScriptSearchField({
|
|
|
33648
33652
|
error,
|
|
33649
33653
|
invalid,
|
|
33650
33654
|
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: [
|
|
33651
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33655
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { className: isSelected ? "text-ods-accent" : void 0, children: option.label }) }),
|
|
33652
33656
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access', _736 => _736.find, 'call', _737 => _737((s) => s.id === option.value), 'optionalAccess', _738 => _738.supportedPlatforms]), () => ( [])) })
|
|
33653
33657
|
] })
|
|
33654
33658
|
}
|
|
@@ -33680,7 +33684,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
|
|
|
33680
33684
|
cell: ({ row }) => /* @__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,
|
|
33681
33685
|
_chunkTF5D5MNOcjs.Button,
|
|
33682
33686
|
{
|
|
33683
|
-
onClick:
|
|
33687
|
+
onClick: _chunkYWQ3VXPLcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
33684
33688
|
variant: "outline",
|
|
33685
33689
|
size: "icon",
|
|
33686
33690
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -33706,9 +33710,9 @@ function getKnowledgeBaseColumns(mode) {
|
|
|
33706
33710
|
/* @__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" }) }),
|
|
33707
33711
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33708
33712
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33709
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33713
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: item.name }) }),
|
|
33710
33714
|
tagStatus && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33711
|
-
|
|
33715
|
+
_chunkBNUZKBNVcjs.Tag,
|
|
33712
33716
|
{
|
|
33713
33717
|
variant: KNOWLEDGE_BASE_STATUS_VARIANT[tagStatus],
|
|
33714
33718
|
label: tagStatus,
|
|
@@ -33716,7 +33720,7 @@ function getKnowledgeBaseColumns(mode) {
|
|
|
33716
33720
|
}
|
|
33717
33721
|
)
|
|
33718
33722
|
] }),
|
|
33719
|
-
item.type === "ARTICLE" && item.summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33723
|
+
item.type === "ARTICLE" && item.summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: item.summary })
|
|
33720
33724
|
] })
|
|
33721
33725
|
] });
|
|
33722
33726
|
},
|
|
@@ -33731,8 +33735,8 @@ function getKnowledgeBaseColumns(mode) {
|
|
|
33731
33735
|
const ts = mode === "archive" ? _nullishCoalesce(row.original.updatedAt, () => ( row.original.createdAt)) : row.original.createdAt;
|
|
33732
33736
|
if (!ts) return null;
|
|
33733
33737
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col whitespace-nowrap", children: [
|
|
33734
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children:
|
|
33735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-5 text-ods-text-secondary", children:
|
|
33738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: _chunkXEYL6AFZcjs.formatDate.call(void 0, ts) }),
|
|
33739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-5 text-ods-text-secondary", children: _chunkXEYL6AFZcjs.formatTime.call(void 0, ts) })
|
|
33736
33740
|
] });
|
|
33737
33741
|
},
|
|
33738
33742
|
enableSorting: false,
|
|
@@ -33796,7 +33800,7 @@ function KnowledgeBaseArticleView({
|
|
|
33796
33800
|
className = "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]"
|
|
33797
33801
|
}) {
|
|
33798
33802
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33799
|
-
|
|
33803
|
+
_chunkSIDDZZKLcjs.PageLayout,
|
|
33800
33804
|
{
|
|
33801
33805
|
title,
|
|
33802
33806
|
backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
|
|
@@ -33805,11 +33809,11 @@ function KnowledgeBaseArticleView({
|
|
|
33805
33809
|
menuActions,
|
|
33806
33810
|
className,
|
|
33807
33811
|
children: [
|
|
33808
|
-
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,
|
|
33809
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33812
|
+
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, _chunkBNUZKBNVcjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
|
|
33813
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.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: [
|
|
33810
33814
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33811
|
-
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33812
|
-
|
|
33815
|
+
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKLTUTZBOcjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33816
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
33813
33817
|
{
|
|
33814
33818
|
src: author.imageUrl,
|
|
33815
33819
|
fallback: _nullishCoalesce(author.name, () => ( "A")),
|
|
@@ -33819,12 +33823,12 @@ function KnowledgeBaseArticleView({
|
|
|
33819
33823
|
}
|
|
33820
33824
|
),
|
|
33821
33825
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
33822
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33826
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { className: author.deleted ? "text-ods-error" : void 0, children: _nullishCoalesce(author.name, () => ( "Unknown")) }),
|
|
33823
33827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Author" })
|
|
33824
33828
|
] })
|
|
33825
33829
|
] }),
|
|
33826
33830
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 flex-col justify-center", children: [
|
|
33827
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33831
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { children: updatedLabel }),
|
|
33828
33832
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Updated" })
|
|
33829
33833
|
] }),
|
|
33830
33834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -33835,7 +33839,7 @@ function KnowledgeBaseArticleView({
|
|
|
33835
33839
|
}
|
|
33836
33840
|
),
|
|
33837
33841
|
/* @__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: [
|
|
33838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33842
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { variant: KNOWLEDGE_BASE_STATUS_VARIANT[status], label: status }),
|
|
33839
33843
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Status" })
|
|
33840
33844
|
] })
|
|
33841
33845
|
] }) }),
|
|
@@ -33941,7 +33945,7 @@ function ConversationCard({
|
|
|
33941
33945
|
lines,
|
|
33942
33946
|
className
|
|
33943
33947
|
}) {
|
|
33944
|
-
const tint =
|
|
33948
|
+
const tint = _chunk3ZLPYEL5cjs.useAgentTint.call(void 0, agent);
|
|
33945
33949
|
const requestId = _react.useId.call(void 0, );
|
|
33946
33950
|
if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
|
|
33947
33951
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -33970,7 +33974,7 @@ function ConversationCard({
|
|
|
33970
33974
|
style: tint,
|
|
33971
33975
|
onClick: selection && ((event) => {
|
|
33972
33976
|
if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
|
|
33973
|
-
if (!
|
|
33977
|
+
if (!_chunkYWQ3VXPLcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33974
33978
|
selection.onToggle();
|
|
33975
33979
|
}),
|
|
33976
33980
|
children: [
|
|
@@ -33993,7 +33997,7 @@ function ConversationCard({
|
|
|
33993
33997
|
children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
|
|
33994
33998
|
}
|
|
33995
33999
|
),
|
|
33996
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34000
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33997
34001
|
"p",
|
|
33998
34002
|
{
|
|
33999
34003
|
id: requestId,
|
|
@@ -34012,7 +34016,7 @@ function ConversationCard({
|
|
|
34012
34016
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
|
|
34013
34017
|
] }),
|
|
34014
34018
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34015
|
-
|
|
34019
|
+
_chunkYWQ3VXPLcjs.ChatTurn,
|
|
34016
34020
|
{
|
|
34017
34021
|
avatar: responder.avatar,
|
|
34018
34022
|
name: responder.name,
|
|
@@ -34028,17 +34032,17 @@ function ConversationCard({
|
|
|
34028
34032
|
),
|
|
34029
34033
|
footerLabel && footerValue && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, FOOTER_ROW_CLASS, "text-ods-text-secondary text-h6"), children: [
|
|
34030
34034
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: footerLabel }),
|
|
34031
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { as: "span", label: footerValue, variant: footerTone === "attention" ? "warning" : "badge" })
|
|
34032
34036
|
] })
|
|
34033
34037
|
]
|
|
34034
34038
|
}
|
|
34035
34039
|
);
|
|
34036
34040
|
}
|
|
34037
34041
|
function TurnSkeleton({ avatarPx, meta, children }) {
|
|
34038
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34039
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34040
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34041
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34042
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkYWQ3VXPLcjs.TURN_ROW_CLASS, children: [
|
|
34043
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
|
|
34044
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkYWQ3VXPLcjs.TURN_BODY_CLASS, children: [
|
|
34045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYWQ3VXPLcjs.ChatTurnNameSkeleton, { meta, time: true }),
|
|
34042
34046
|
children
|
|
34043
34047
|
] })
|
|
34044
34048
|
] });
|
|
@@ -34075,7 +34079,7 @@ function ConversationCardSkeleton({
|
|
|
34075
34079
|
] }) }) }),
|
|
34076
34080
|
footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, FOOTER_ROW_CLASS, "text-ods-text-secondary text-h6"), children: [
|
|
34077
34081
|
footerLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: footerLabel }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { lines: 1, type: "h6", className: "w-1/4" }),
|
|
34078
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34082
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { as: "span", label: "\xA0", variant: "badge", className: "invisible" })
|
|
34079
34083
|
] })
|
|
34080
34084
|
] });
|
|
34081
34085
|
}
|
|
@@ -34100,7 +34104,7 @@ function Highlights({ items, className }) {
|
|
|
34100
34104
|
if (items.length === 0) return null;
|
|
34101
34105
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-2", className), children: items.slice(0, 3).map((text) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { className: "flex min-w-0 items-center gap-2.5", children: [
|
|
34102
34106
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: HIGHLIGHT_ICON_PX, className: "shrink-0 text-ods-flamingo-cyan" }),
|
|
34103
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34107
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", triggerClassName: "flex-1", children: text })
|
|
34104
34108
|
] }, text)) });
|
|
34105
34109
|
}
|
|
34106
34110
|
function Example({
|
|
@@ -34136,7 +34140,7 @@ function Example({
|
|
|
34136
34140
|
mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _749 => _749.mark]), () => ( requesterMark))),
|
|
34137
34141
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
34138
34142
|
who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _750 => _750.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _751 => _751.note]), () => ( labels.requesterNote))),
|
|
34139
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34143
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
|
|
34140
34144
|
] })
|
|
34141
34145
|
] }),
|
|
34142
34146
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
|
|
@@ -34145,7 +34149,7 @@ function Example({
|
|
|
34145
34149
|
who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _753 => _753.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _754 => _754.note]), () => ( labels.responderNote))),
|
|
34146
34150
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
34147
34151
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
|
|
34148
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34152
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
|
|
34149
34153
|
] })
|
|
34150
34154
|
] })
|
|
34151
34155
|
] })
|
|
@@ -34155,7 +34159,7 @@ function Example({
|
|
|
34155
34159
|
}
|
|
34156
34160
|
function ExampleSkeleton({ className }) {
|
|
34157
34161
|
const turn = (first) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex min-w-0 gap-2.5", !first && "border-t border-ods-border pt-3"), children: [
|
|
34158
|
-
first ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34162
|
+
first ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatarSkeleton, { variant: "round", sizePx: EXAMPLE_MARK_PX, className: "shrink-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLBGAHB6Xcjs.AgentAvatarSkeleton, { size: EXAMPLE_MARK_PX }),
|
|
34159
34163
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
34160
34164
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-28" }),
|
|
34161
34165
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[2lh] text-h4", children: [
|
|
@@ -34269,7 +34273,7 @@ function CapabilityExplorer({
|
|
|
34269
34273
|
fold,
|
|
34270
34274
|
className
|
|
34271
34275
|
}) {
|
|
34272
|
-
const wide =
|
|
34276
|
+
const wide = _chunkAQXKXZWBcjs.useContentLgUp.call(void 0, );
|
|
34273
34277
|
const listRef = _react.useRef.call(void 0, null);
|
|
34274
34278
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
34275
34279
|
if (inScope || loading) {
|
|
@@ -34298,16 +34302,16 @@ function CapabilityExplorer({
|
|
|
34298
34302
|
),
|
|
34299
34303
|
children: [
|
|
34300
34304
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
34301
|
-
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34305
|
+
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
|
|
34302
34306
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
34303
34307
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
34304
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34308
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
|
|
34305
34309
|
item.badge
|
|
34306
34310
|
] }),
|
|
34307
|
-
item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34311
|
+
item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: item.caption })
|
|
34308
34312
|
] })
|
|
34309
34313
|
] }),
|
|
34310
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34314
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 3, variant: "h6", tone: "secondary", className: "min-h-[3lh]", children: item.intro }),
|
|
34311
34315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-lg border border-ods-border", children: renderScreen(item, { compact: true }) }),
|
|
34312
34316
|
item.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34313
34317
|
Example,
|
|
@@ -34379,7 +34383,7 @@ function CapabilityExplorer({
|
|
|
34379
34383
|
"span",
|
|
34380
34384
|
{
|
|
34381
34385
|
className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
|
|
34382
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34386
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
|
|
34383
34387
|
}
|
|
34384
34388
|
),
|
|
34385
34389
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [
|
|
@@ -34432,8 +34436,8 @@ function CapabilityExplorer({
|
|
|
34432
34436
|
),
|
|
34433
34437
|
children: [
|
|
34434
34438
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col overflow-hidden", children: [
|
|
34435
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34436
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34439
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 2, variant: "h2", className: "mb-2", children: active.title }),
|
|
34440
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { lines: 3, variant: "h4", tone: "secondary", className: "min-h-[3lh]", children: active.intro }),
|
|
34437
34441
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Highlights, { items: _nullishCoalesce(active.highlights, () => ( [])), className: "mt-auto" })
|
|
34438
34442
|
] }),
|
|
34439
34443
|
active.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|