@flamingo-stack/openframe-frontend-core 0.0.781 → 0.0.783
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-WYZPBDDM.cjs +23 -0
- package/dist/{chunk-RJX33Y4Q.cjs → chunk-3INHO6GP.cjs} +22 -22
- package/dist/{chunk-TH5X2BXK.cjs → chunk-3PKORICR.cjs} +115 -115
- package/dist/{chunk-JHDPEYZH.cjs → chunk-4DKPNN2A.cjs} +17 -17
- package/dist/{chunk-L4XOCV7S.cjs → chunk-4DQ4CNAG.cjs} +10 -10
- package/dist/{chunk-HTSRCFXP.cjs → chunk-4MQASMIU.cjs} +7 -7
- package/dist/{chunk-3VINTJPE.cjs → chunk-5WMRVMXH.cjs} +5 -5
- package/dist/{chunk-OHXB6HUX.cjs → chunk-5XAWVXNI.cjs} +320 -320
- package/dist/{chunk-HLZUBJPL.cjs → chunk-62TMGBRO.cjs} +197 -197
- package/dist/{chunk-B6EQVH7D.cjs → chunk-6NEWJ6I2.cjs} +51 -51
- package/dist/{chunk-FWJ5YECN.cjs → chunk-7OJMOG34.cjs} +546 -544
- package/dist/{chunk-63OCO2G5.cjs → chunk-A3UZFFR3.cjs} +4 -4
- package/dist/{chunk-XHJI7R4J.cjs → chunk-AFSVWR3X.cjs} +46 -46
- package/dist/{chunk-LDGR5VCK.cjs → chunk-APO7GMZQ.cjs} +4 -4
- package/dist/{chunk-PID7LUDP.cjs → chunk-BAJB3JF3.cjs} +31 -31
- package/dist/{chunk-T7SDYBST.cjs → chunk-BE4OUWTA.cjs} +54 -54
- package/dist/{chunk-ZV6RQNXE.cjs → chunk-CBKXU77H.cjs} +46 -46
- package/dist/{chunk-IYU2ZH2J.cjs → chunk-CS5SZJFV.cjs} +2 -2
- package/dist/{chunk-Q7HXTF2C.cjs → chunk-DYF6XB27.cjs} +4 -4
- package/dist/{chunk-AKCBLZAO.cjs → chunk-E2ZZOYSM.cjs} +74 -62
- package/dist/{chunk-57NE7SHG.cjs → chunk-EFCWHAYC.cjs} +8 -8
- package/dist/{chunk-KWV23THO.cjs → chunk-EHQ2UGT4.cjs} +14 -14
- package/dist/{chunk-DJTPDK3W.cjs → chunk-F2FFJWOQ.cjs} +4 -4
- package/dist/{chunk-CDBFQVPA.cjs → chunk-FLS6DZEN.cjs} +46 -43
- package/dist/{chunk-VZKAAXU3.cjs → chunk-FS7CBRF4.cjs} +23 -23
- package/dist/{chunk-X6TXMWBV.cjs → chunk-H3RHAN6B.cjs} +61 -61
- package/dist/{chunk-HPGCUYAZ.cjs → chunk-KRXHRL3W.cjs} +110 -110
- package/dist/{chunk-D46WFWWI.cjs → chunk-LGISRUGF.cjs} +41 -39
- package/dist/{chunk-2OYKOHFK.cjs → chunk-LUWYWYNC.cjs} +2 -2
- package/dist/{chunk-N6YCOBLK.cjs → chunk-MGEUZRNQ.cjs} +101 -9
- package/dist/{chunk-YEJWNHD3.cjs → chunk-MKF6XX5A.cjs} +63 -63
- package/dist/{chunk-3IHGS44W.cjs → chunk-N2SVJJLU.cjs} +5 -5
- package/dist/{chunk-TZ6MTHUC.cjs → chunk-N5TPRCSS.cjs} +60 -60
- package/dist/{chunk-YNDH72VU.cjs → chunk-NNNRN4OF.cjs} +14 -14
- package/dist/{chunk-JQWYXC2E.cjs → chunk-ODDUGLYF.cjs} +110 -110
- package/dist/{chunk-T4ZVKEDP.cjs → chunk-OMTH355I.cjs} +3 -3
- package/dist/{chunk-OFX6XEVN.cjs → chunk-PQSTPJQQ.cjs} +13 -13
- package/dist/{chunk-YKJ4JN6T.cjs → chunk-RL45AU2C.cjs} +42 -42
- package/dist/{chunk-DIY4SJZI.cjs → chunk-RT6QATX4.cjs} +19 -19
- package/dist/{chunk-ODZ5XGWA.cjs → chunk-THOGSAFH.cjs} +2076 -2052
- package/dist/{chunk-UONQCE5N.cjs → chunk-TS6TISIF.cjs} +209 -208
- package/dist/{chunk-SMEX3BWO.cjs → chunk-UPQMFK5B.cjs} +7 -7
- package/dist/{chunk-5PBWAF2D.cjs → chunk-URFAMWCA.cjs} +44 -44
- package/dist/{chunk-VDTLVFCV.cjs → chunk-WHNI4QTG.cjs} +13 -13
- package/dist/{chunk-EYNQE2XN.cjs → chunk-WS7IDGEL.cjs} +6 -6
- package/dist/{chunk-QD7SKYCQ.cjs → chunk-WSBWP7IW.cjs} +3 -3
- package/dist/{chunk-RYIWADIB.cjs → chunk-XAA5LUHC.cjs} +12 -12
- package/dist/{chunk-XYKVOBIP.cjs → chunk-XKDJ5ISQ.cjs} +3 -3
- package/dist/{chunk-A7FSNBNV.cjs → chunk-YU23M33V.cjs} +173 -172
- package/dist/{chunk-ZPYFPLPD.cjs → chunk-YXZOP726.cjs} +10 -10
- package/dist/{chunk-4XDYSGRL.cjs → chunk-ZFOMRALU.cjs} +17 -17
- package/dist/{chunk-AFJEUBDS.cjs → chunk-ZJS45HQZ.cjs} +29 -29
- package/dist/{cloud-tenants-UAFVHKX7.cjs → cloud-tenants-QYW3MPPP.cjs} +32 -32
- package/dist/components/calendar.cjs +10 -10
- package/dist/components/case-studies/index.cjs +52 -52
- package/dist/components/category-card.d.ts.map +1 -1
- package/dist/components/category-card.js +1 -0
- package/dist/components/chat/ask-display.js +2 -2
- package/dist/components/chat/chat-context-memory-bar.js +2 -2
- package/dist/components/chat/chat-context-picker.d.ts.map +1 -1
- package/dist/components/chat/chat-context-picker.js +4 -2
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-input.js +2 -1
- package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
- package/dist/components/chat/chat-nav-sidebar.js +12 -1
- package/dist/components/chat/embeddable-chat.js +120 -98
- package/dist/components/chat/guide-mode-banner.js +1 -1
- package/dist/components/chat/index.cjs +26 -26
- package/dist/components/chat/mingo-welcome.js +1 -1
- package/dist/components/contact/index.cjs +33 -33
- package/dist/components/docs/index.cjs +36 -36
- package/dist/components/embeds/index.cjs +33 -33
- package/dist/components/faq/index.cjs +34 -34
- package/dist/components/features/capability-explorer.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.js +11 -1
- package/dist/components/features/command-box.js +1 -1
- package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -1
- package/dist/components/features/devices/devices-grid-filters.js +15 -4
- package/dist/components/features/filters-dropdown.d.ts.map +1 -1
- package/dist/components/features/filters-dropdown.js +6 -5
- package/dist/components/features/index.cjs +32 -32
- package/dist/components/features/model-token-rates.js +1 -1
- package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-drawer.js +1 -0
- package/dist/components/features/notifications/notification-tile.js +1 -1
- package/dist/components/features/paths-display.js +1 -1
- package/dist/components/features/remote-session/remote-session-events.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-events.js +1 -0
- package/dist/components/features/scripts/schedule-form/schedule-script-picker-card.js +1 -1
- package/dist/components/features/scripts/schedule-form/schedule-timing-fields.js +1 -1
- package/dist/components/features/select-button.js +0 -1
- package/dist/components/features/tags-selector.js +1 -1
- package/dist/components/help-center-pages/index.cjs +163 -163
- package/dist/components/index.cjs +205 -204
- package/dist/components/loading/loading-region.d.ts.map +1 -1
- package/dist/components/loading/loading-region.js +2 -2
- package/dist/components/meeting-scheduler/index.cjs +187 -187
- package/dist/components/navigation/index.cjs +35 -35
- package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
- package/dist/components/navigation/mobile-burger-menu.js +2 -1
- package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
- package/dist/components/navigation/multi-level-navigation.js +4 -2
- package/dist/components/navigation/navigation-sidebar-item.js +3 -3
- package/dist/components/onboarding-guides/index.cjs +35 -35
- package/dist/components/product-demo/index.cjs +45 -45
- package/dist/components/related-content/index.cjs +17 -17
- package/dist/components/tickets/index.cjs +39 -39
- package/dist/components/ui/allowed-domains-input.d.ts.map +1 -1
- package/dist/components/ui/allowed-domains-input.js +1 -0
- package/dist/components/ui/button/button-styles.d.ts +12 -4
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button-styles.js +99 -7
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +3 -0
- package/dist/components/ui/file-manager/file-manager-breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/file-manager/file-manager-breadcrumb.js +1 -0
- package/dist/components/ui/file-manager/index.cjs +56 -55
- package/dist/components/ui/file-upload.d.ts.map +1 -1
- package/dist/components/ui/file-upload.js +5 -3
- package/dist/components/ui/hidden-tags-popup.js +1 -1
- package/dist/components/ui/hover-dropdown.js +1 -1
- package/dist/components/ui/index.cjs +32 -32
- package/dist/components/ui/info-card.js +1 -1
- package/dist/components/ui/info-section.d.ts.map +1 -1
- package/dist/components/ui/info-section.js +1 -0
- package/dist/components/ui/loading-scope.d.ts.map +1 -1
- package/dist/components/ui/loading-scope.js +2 -2
- package/dist/components/ui/modal-v2.js +1 -1
- package/dist/components/ui/organization-card.d.ts.map +1 -1
- package/dist/components/ui/organization-card.js +2 -1
- package/dist/components/ui/page-actions.d.ts +2 -2
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/password-input.js +1 -1
- package/dist/components/ui/service-card.js +3 -3
- package/dist/components/ui/tab-selector.d.ts.map +1 -1
- package/dist/components/ui/tab-selector.js +3 -3
- package/dist/components/ui/test-run.d.ts.map +1 -1
- package/dist/components/ui/test-run.js +2 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +2 -1
- package/dist/components/ui/ticket-attachments-list.d.ts.map +1 -1
- package/dist/components/ui/ticket-attachments-list.js +3 -2
- package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
- package/dist/components/ui/ticket-info-section.js +1 -0
- package/dist/components/ui/ticket-note-card.d.ts.map +1 -1
- package/dist/components/ui/ticket-note-card.js +6 -4
- package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
- package/dist/components/ui/ticket-status-config-row.js +1 -10
- package/dist/components/ui/toaster.js +1 -1
- package/dist/components/vendor-display-button.js +1 -1
- package/dist/{devices-TDKCKWRP.cjs → devices-DMMMEO2B.cjs} +33 -33
- package/dist/embed-shims/index.cjs +4 -4
- package/dist/embed-shims/next-image.cjs +4 -4
- package/dist/{embeddable-chat-HEL4Z2FL.cjs → embeddable-chat-OSSPL7L4.cjs} +226 -204
- package/dist/hooks/index.cjs +10 -10
- package/dist/index.cjs +48 -48
- package/dist/{knowledge-A5KJ4CAD.cjs → knowledge-XQQXVV6C.cjs} +33 -33
- package/dist/{logs-6WRBPIMM.cjs → logs-BHKMDCBP.cjs} +41 -41
- package/dist/{policies-ICRXHW3H.cjs → policies-5IY7QUED.cjs} +36 -36
- package/dist/{remote-session-MEV5JL2Z.cjs → remote-session-IEOWFBF7.cjs} +17 -17
- package/dist/{scripts-AZVCZE6C.cjs → scripts-ZQXRBGVK.cjs} +39 -39
- package/dist/{software-update-4ZBCGJGA.cjs → software-update-RGFRYL3N.cjs} +36 -36
- package/dist/{tickets-board-BJPQD3HE.cjs → tickets-board-EYKLSB36.cjs} +17 -17
- package/dist/{video-file-player-DETXW4OJ.cjs → video-file-player-ZU666VUY.cjs} +14 -14
- package/package.json +1 -1
- package/src/components/category-card.tsx +2 -0
- package/src/components/chat/ask-display.tsx +2 -2
- package/src/components/chat/chat-context-memory-bar.tsx +2 -2
- package/src/components/chat/chat-context-picker.tsx +4 -2
- package/src/components/chat/chat-input.tsx +3 -1
- package/src/components/chat/chat-nav-sidebar.tsx +10 -1
- package/src/components/chat/embeddable-chat.tsx +21 -4
- package/src/components/chat/guide-mode-banner.tsx +1 -1
- package/src/components/chat/mingo-welcome.tsx +1 -1
- package/src/components/features/capability-explorer.tsx +8 -1
- package/src/components/features/command-box.tsx +1 -1
- package/src/components/features/devices/devices-grid-filters.tsx +8 -1
- package/src/components/features/filters-dropdown.tsx +6 -1
- package/src/components/features/model-token-rates.tsx +1 -1
- package/src/components/features/notifications/notification-drawer.tsx +1 -0
- package/src/components/features/notifications/notification-tile.tsx +1 -1
- package/src/components/features/paths-display.tsx +1 -1
- package/src/components/features/remote-session/remote-session-events.tsx +2 -0
- package/src/components/features/scripts/schedule-form/schedule-script-picker-card.tsx +1 -1
- package/src/components/features/scripts/schedule-form/schedule-timing-fields.tsx +1 -1
- package/src/components/features/select-button.tsx +2 -2
- package/src/components/features/tags-selector.tsx +1 -1
- package/src/components/loading/loading-region.tsx +4 -1
- package/src/components/navigation/mobile-burger-menu.tsx +3 -1
- package/src/components/navigation/multi-level-navigation.tsx +6 -2
- package/src/components/navigation/navigation-sidebar-item.tsx +5 -5
- package/src/components/ui/allowed-domains-input.tsx +1 -0
- package/src/components/ui/button/button-styles.ts +106 -9
- package/src/components/ui/button/button.tsx +3 -0
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +1 -0
- package/src/components/ui/file-upload.tsx +5 -3
- package/src/components/ui/hidden-tags-popup.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/info-card.tsx +1 -1
- package/src/components/ui/info-section.tsx +2 -0
- package/src/components/ui/loading-scope.tsx +2 -1
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/organization-card.tsx +3 -1
- package/src/components/ui/page-actions.tsx +14 -2
- package/src/components/ui/password-input.tsx +1 -1
- package/src/components/ui/service-card.tsx +3 -3
- package/src/components/ui/tab-selector.tsx +5 -3
- package/src/components/ui/test-run.tsx +2 -1
- package/src/components/ui/textarea.tsx +3 -1
- package/src/components/ui/ticket-attachments-list.tsx +3 -2
- package/src/components/ui/ticket-info-section.tsx +1 -0
- package/src/components/ui/ticket-note-card.tsx +6 -4
- package/src/components/ui/ticket-status-config-row.tsx +1 -6
- package/src/components/ui/toaster.tsx +1 -1
- package/src/components/vendor-display-button.tsx +1 -1
- package/dist/case-study-card-CYJ3JXU6.cjs +0 -23
|
@@ -10,14 +10,14 @@ var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkE2ZZOYSMcjs = require('./chunk-E2ZZOYSM.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkFS7CBRF4cjs = require('./chunk-FS7CBRF4.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
var _chunk2NETL2MScjs = require('./chunk-2NETL2MS.cjs');
|
|
@@ -102,7 +102,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
var
|
|
105
|
+
var _chunkZJS45HQZcjs = require('./chunk-ZJS45HQZ.cjs');
|
|
106
106
|
|
|
107
107
|
|
|
108
108
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
@@ -112,39 +112,39 @@ var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
|
112
112
|
var _chunkV4FXUIMHcjs = require('./chunk-V4FXUIMH.cjs');
|
|
113
113
|
|
|
114
114
|
|
|
115
|
-
var
|
|
115
|
+
var _chunk5WMRVMXHcjs = require('./chunk-5WMRVMXH.cjs');
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
|
|
120
|
-
var
|
|
120
|
+
var _chunkEHQ2UGT4cjs = require('./chunk-EHQ2UGT4.cjs');
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
|
|
127
|
-
var
|
|
127
|
+
var _chunk4DQ4CNAGcjs = require('./chunk-4DQ4CNAG.cjs');
|
|
128
128
|
|
|
129
129
|
|
|
130
|
-
var
|
|
130
|
+
var _chunkA3UZFFR3cjs = require('./chunk-A3UZFFR3.cjs');
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
var
|
|
136
|
+
var _chunkNNNRN4OFcjs = require('./chunk-NNNRN4OF.cjs');
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
|
|
140
|
-
var
|
|
140
|
+
var _chunkFLS6DZENcjs = require('./chunk-FLS6DZEN.cjs');
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
|
|
147
|
-
var
|
|
147
|
+
var _chunkMGEUZRNQcjs = require('./chunk-MGEUZRNQ.cjs');
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
|
|
@@ -158,7 +158,7 @@ var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopupImp
|
|
|
158
158
|
{
|
|
159
159
|
ref,
|
|
160
160
|
style,
|
|
161
|
-
className:
|
|
161
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
162
162
|
// Base positioning is neutral (left-anchored); consumers override via
|
|
163
163
|
// `style.left` (search-input, tag-search-input) or `className` (autocomplete).
|
|
164
164
|
"absolute left-0 top-full z-50 mt-1 min-w-[200px]",
|
|
@@ -169,7 +169,7 @@ var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopupImp
|
|
|
169
169
|
children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
170
170
|
"div",
|
|
171
171
|
{
|
|
172
|
-
className:
|
|
172
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
173
173
|
"flex h-11 items-center justify-between gap-3 px-3 md:h-12",
|
|
174
174
|
"border-b border-ods-border last:border-b-0"
|
|
175
175
|
),
|
|
@@ -183,9 +183,9 @@ var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopupImp
|
|
|
183
183
|
}
|
|
184
184
|
),
|
|
185
185
|
!disabled && onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
186
|
-
|
|
186
|
+
_chunkFLS6DZENcjs.Button,
|
|
187
187
|
{
|
|
188
|
-
variant: "
|
|
188
|
+
variant: "bare",
|
|
189
189
|
size: "icon-sm",
|
|
190
190
|
type: "button",
|
|
191
191
|
onClick: (e) => {
|
|
@@ -242,24 +242,24 @@ function TruncateText({
|
|
|
242
242
|
}) {
|
|
243
243
|
const isMultiLine = lines > 1;
|
|
244
244
|
const { ref, isTruncated } = _chunkV4FXUIMHcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
245
|
-
const loading =
|
|
245
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) && !children || loadingProp;
|
|
246
246
|
if (loading)
|
|
247
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
247
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: variant, lines, as, className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-3/4", triggerClassName) });
|
|
248
248
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
249
249
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
250
|
-
|
|
250
|
+
_chunkZJS45HQZcjs.FloatingTooltip,
|
|
251
251
|
{
|
|
252
252
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
253
253
|
side,
|
|
254
254
|
disabled: !isTruncated,
|
|
255
255
|
className: "max-w-xs whitespace-pre-line [overflow-wrap:anywhere]",
|
|
256
256
|
as,
|
|
257
|
-
triggerClassName:
|
|
257
|
+
triggerClassName: _chunkMGEUZRNQcjs.cn.call(void 0, "min-w-0 max-w-full", as === "span" && "inline-block align-bottom", triggerClassName),
|
|
258
258
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
259
259
|
"span",
|
|
260
260
|
{
|
|
261
261
|
ref,
|
|
262
|
-
className:
|
|
262
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
263
263
|
VARIANT_CLASS[variant],
|
|
264
264
|
TONE_CLASS[tone],
|
|
265
265
|
mono && "[font-family:var(--font-family-heading)]",
|
|
@@ -286,7 +286,7 @@ var _lucidereact = require('lucide-react');
|
|
|
286
286
|
|
|
287
287
|
|
|
288
288
|
|
|
289
|
-
var innerInputStyles =
|
|
289
|
+
var innerInputStyles = _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
290
290
|
"min-w-[60px] flex-1 border-none bg-transparent outline-none",
|
|
291
291
|
"text-h4",
|
|
292
292
|
"text-ods-text-primary placeholder:text-ods-text-secondary",
|
|
@@ -298,10 +298,10 @@ var AUTOCOMPLETE_OPTION_ROW_CLASS = "flex min-h-11 items-center border-b border-
|
|
|
298
298
|
var AUTOCOMPLETE_LOADING_ROWS = 5;
|
|
299
299
|
var AUTOCOMPLETE_ANCHOR_SHAPE_CLASS = "rounded-[6px]";
|
|
300
300
|
function AutocompleteSkeleton({ label, labelVariant, className }) {
|
|
301
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
301
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEHQ2UGT4cjs.FieldWrapper, { label, labelVariant, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-full", AUTOCOMPLETE_ANCHOR_SHAPE_CLASS, AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS) }) });
|
|
302
302
|
}
|
|
303
303
|
function AutocompleteInner(props, ref) {
|
|
304
|
-
const inScope =
|
|
304
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
305
305
|
const {
|
|
306
306
|
options,
|
|
307
307
|
disabled = false,
|
|
@@ -532,7 +532,7 @@ function AutocompleteInner(props, ref) {
|
|
|
532
532
|
"div",
|
|
533
533
|
{
|
|
534
534
|
"data-invalid": isInvalid || void 0,
|
|
535
|
-
className:
|
|
535
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
536
536
|
// Layout — single line, no wrapping
|
|
537
537
|
"flex cursor-text items-center border",
|
|
538
538
|
AUTOCOMPLETE_ANCHOR_SHAPE_CLASS,
|
|
@@ -564,7 +564,7 @@ function AutocompleteInner(props, ref) {
|
|
|
564
564
|
resolvedStartAdornment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
565
565
|
"span",
|
|
566
566
|
{
|
|
567
|
-
className:
|
|
567
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
568
568
|
// Images are sized alongside svgs: an entity adornment is
|
|
569
569
|
// usually a flag or a crest, and an unconstrained <img> lays
|
|
570
570
|
// out at 0x0 inside this flex row.
|
|
@@ -580,13 +580,13 @@ function AutocompleteInner(props, ref) {
|
|
|
580
580
|
"div",
|
|
581
581
|
{
|
|
582
582
|
ref: middleRef,
|
|
583
|
-
className:
|
|
583
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
584
584
|
"flex min-w-0 flex-1 items-center gap-2 px-2",
|
|
585
585
|
wrapTags ? "flex-wrap py-[var(--spacing-system-xsf)]" : "overflow-hidden"
|
|
586
586
|
),
|
|
587
587
|
children: [
|
|
588
588
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
589
|
-
|
|
589
|
+
_chunkZJS45HQZcjs.Tag,
|
|
590
590
|
{
|
|
591
591
|
variant: "outline",
|
|
592
592
|
className: wrapTags ? "max-w-full" : void 0,
|
|
@@ -599,7 +599,7 @@ function AutocompleteInner(props, ref) {
|
|
|
599
599
|
String(option.value)
|
|
600
600
|
)),
|
|
601
601
|
multiple && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: hiddenTagsRef, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
602
|
-
|
|
602
|
+
_chunkFLS6DZENcjs.Button,
|
|
603
603
|
{
|
|
604
604
|
variant: "chip",
|
|
605
605
|
ref: badgeRef,
|
|
@@ -634,7 +634,7 @@ function AutocompleteInner(props, ref) {
|
|
|
634
634
|
),
|
|
635
635
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-1 pr-3", children: [
|
|
636
636
|
showClearAll && (hasValue || inputValue.length > 0) && !disabled && isOpen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
637
|
-
|
|
637
|
+
_chunkFLS6DZENcjs.Button,
|
|
638
638
|
{
|
|
639
639
|
variant: "transparent",
|
|
640
640
|
size: "icon-sm",
|
|
@@ -647,7 +647,7 @@ function AutocompleteInner(props, ref) {
|
|
|
647
647
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
648
648
|
_lucidereact.Loader2,
|
|
649
649
|
{
|
|
650
|
-
className:
|
|
650
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
651
651
|
"size-4 animate-spin md:size-6",
|
|
652
652
|
isInvalid ? "text-ods-error" : isOpen ? "text-ods-accent" : "text-ods-text-secondary"
|
|
653
653
|
)
|
|
@@ -655,7 +655,7 @@ function AutocompleteInner(props, ref) {
|
|
|
655
655
|
) : showChevron && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
656
656
|
_chunkSKI6NKOEcjs.Chevron02DownIcon,
|
|
657
657
|
{
|
|
658
|
-
className:
|
|
658
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
659
659
|
"size-4 transition-all duration-200 md:size-6",
|
|
660
660
|
"text-ods-text-secondary",
|
|
661
661
|
isOpen && "rotate-180",
|
|
@@ -671,7 +671,7 @@ function AutocompleteInner(props, ref) {
|
|
|
671
671
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
672
672
|
PopoverPrimitive.Content,
|
|
673
673
|
{
|
|
674
|
-
className:
|
|
674
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
675
675
|
"z-50 mt-1 w-[var(--radix-popover-trigger-width)]",
|
|
676
676
|
"rounded-[4px] border border-ods-border bg-ods-card",
|
|
677
677
|
"flex max-h-[var(--radix-popper-available-height)] flex-col overflow-hidden",
|
|
@@ -695,7 +695,7 @@ function AutocompleteInner(props, ref) {
|
|
|
695
695
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Viewport, { className: "max-h-[240px] min-h-0 w-full [&>div]:!block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: loading ? void 0 : "listbox", children: loading ? (
|
|
696
696
|
// The options while they are read: the list's own rows, a label bar each (`loadingText` is what a
|
|
697
697
|
// screen reader hears).
|
|
698
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA3UZFFR3cjs.LoadingRegion, { label: loadingText, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: loadingRows, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: AUTOCOMPLETE_OPTION_ROW_CLASS, "aria-hidden": true, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", className: "w-2/3" }) }) }) })
|
|
699
699
|
) : filteredOptions.length === 0 ? showCreateOption ? isCreateTooLong ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 min-w-0 items-center px-[var(--spacing-system-mf)] text-ods-error text-h5 md:h-12", children: [
|
|
700
700
|
"Maximum ",
|
|
701
701
|
maxCreateLength,
|
|
@@ -705,7 +705,7 @@ function AutocompleteInner(props, ref) {
|
|
|
705
705
|
{
|
|
706
706
|
role: "option",
|
|
707
707
|
"aria-selected": false,
|
|
708
|
-
className:
|
|
708
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
709
709
|
"flex h-11 min-w-0 cursor-pointer items-center px-[var(--spacing-system-mf)] transition-colors md:h-12",
|
|
710
710
|
"text-ods-accent text-h4",
|
|
711
711
|
"hover:bg-ods-bg-hover"
|
|
@@ -726,7 +726,7 @@ function AutocompleteInner(props, ref) {
|
|
|
726
726
|
"data-loading-item": true,
|
|
727
727
|
role: "option",
|
|
728
728
|
"aria-selected": isSelected,
|
|
729
|
-
className:
|
|
729
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
730
730
|
// `min-h` rather than a fixed height: an option may carry
|
|
731
731
|
// a second line, and a clipped one is worse than a taller row.
|
|
732
732
|
AUTOCOMPLETE_OPTION_ROW_CLASS,
|
|
@@ -748,7 +748,7 @@ function AutocompleteInner(props, ref) {
|
|
|
748
748
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
749
749
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 }),
|
|
750
750
|
onDeleteOption && !isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
751
|
-
|
|
751
|
+
_chunkFLS6DZENcjs.Button,
|
|
752
752
|
{
|
|
753
753
|
variant: "transparent",
|
|
754
754
|
size: "icon-sm",
|
|
@@ -776,7 +776,7 @@ function AutocompleteInner(props, ref) {
|
|
|
776
776
|
if (inScope || fieldLoading)
|
|
777
777
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AutocompleteSkeleton, { label, labelVariant, className });
|
|
778
778
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
779
|
-
|
|
779
|
+
_chunkEHQ2UGT4cjs.FieldWrapper,
|
|
780
780
|
{
|
|
781
781
|
label,
|
|
782
782
|
labelVariant,
|
|
@@ -816,7 +816,7 @@ function AutocompleteInner(props, ref) {
|
|
|
816
816
|
"aria-hidden": "true",
|
|
817
817
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
818
818
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
819
|
-
|
|
819
|
+
_chunkZJS45HQZcjs.Tag,
|
|
820
820
|
{
|
|
821
821
|
variant: "outline",
|
|
822
822
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -847,13 +847,13 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
847
847
|
const { className, children, invalid, label, labelVariant, error, ...props } = allProps;
|
|
848
848
|
const errorSlot = "error" in allProps;
|
|
849
849
|
const isInvalid = invalid || !!error;
|
|
850
|
-
const inScope =
|
|
850
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
851
851
|
const trigger = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
852
852
|
SelectPrimitive.Trigger,
|
|
853
853
|
{
|
|
854
854
|
ref,
|
|
855
855
|
"data-invalid": isInvalid || void 0,
|
|
856
|
-
className:
|
|
856
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
857
857
|
// Layout & spacing - match Input
|
|
858
858
|
// text-left resets the <button> UA default text-align:center, which the
|
|
859
859
|
// SelectValue span inherits and would otherwise center short values,
|
|
@@ -881,11 +881,11 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
881
881
|
),
|
|
882
882
|
...props,
|
|
883
883
|
children: [
|
|
884
|
-
inScope ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
884
|
+
inScope ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEHQ2UGT4cjs.FieldValueSkeleton, {}) : children,
|
|
885
885
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
886
886
|
_chunkSKI6NKOEcjs.Chevron02DownIcon,
|
|
887
887
|
{
|
|
888
|
-
className:
|
|
888
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
889
889
|
"shrink-0 text-ods-text-secondary transition-all duration-200 group-data-[state=open]:rotate-180",
|
|
890
890
|
isInvalid ? "text-ods-error" : "group-data-[state=open]:text-ods-accent"
|
|
891
891
|
),
|
|
@@ -895,14 +895,14 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
895
895
|
]
|
|
896
896
|
}
|
|
897
897
|
);
|
|
898
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
898
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEHQ2UGT4cjs.FieldWrapper, { label, labelVariant, error, errorSlot, children: trigger });
|
|
899
899
|
});
|
|
900
900
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
901
901
|
var SelectScrollUpButton = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
902
902
|
SelectPrimitive.ScrollUpButton,
|
|
903
903
|
{
|
|
904
904
|
ref,
|
|
905
|
-
className:
|
|
905
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex cursor-default items-center justify-center py-1", className),
|
|
906
906
|
...props,
|
|
907
907
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronUp, { className: "h-4 w-4" })
|
|
908
908
|
}
|
|
@@ -912,19 +912,19 @@ var SelectScrollDownButton = _react.forwardRef.call(void 0, ({ className, ...pro
|
|
|
912
912
|
SelectPrimitive.ScrollDownButton,
|
|
913
913
|
{
|
|
914
914
|
ref,
|
|
915
|
-
className:
|
|
915
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex cursor-default items-center justify-center py-1", className),
|
|
916
916
|
...props,
|
|
917
917
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { className: "h-4 w-4" })
|
|
918
918
|
}
|
|
919
919
|
));
|
|
920
920
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
921
921
|
var SelectContent = _react.forwardRef.call(void 0, ({ className, children, position = "popper", ...props }, ref) => {
|
|
922
|
-
const container =
|
|
922
|
+
const container = _chunk4DQ4CNAGcjs.usePortalContainer.call(void 0, );
|
|
923
923
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Portal, { container: _nullishCoalesce(container, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
924
924
|
SelectPrimitive.Content,
|
|
925
925
|
{
|
|
926
926
|
ref,
|
|
927
|
-
className:
|
|
927
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
928
928
|
"relative z-[9999] max-h-96 overflow-hidden rounded-[4px] border border-ods-border bg-ods-card text-ods-text-primary",
|
|
929
929
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
930
930
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
@@ -945,13 +945,13 @@ var SelectContent = _react.forwardRef.call(void 0, ({ className, children, posit
|
|
|
945
945
|
) });
|
|
946
946
|
});
|
|
947
947
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
948
|
-
var SelectLabel = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Label, { ref, className:
|
|
948
|
+
var SelectLabel = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Label, { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "py-1.5 pl-8 pr-2 font-semibold text-h6", className), ...props }));
|
|
949
949
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
950
950
|
var SelectItem = _react.forwardRef.call(void 0, ({ className, children, description, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
951
951
|
SelectPrimitive.Item,
|
|
952
952
|
{
|
|
953
953
|
ref,
|
|
954
|
-
className:
|
|
954
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
955
955
|
"flex w-full cursor-pointer select-none items-center justify-between gap-2 border-b border-ods-border px-4 last:border-b-0",
|
|
956
956
|
// Typography - match trigger
|
|
957
957
|
"text-h4",
|
|
@@ -977,7 +977,7 @@ var SelectItem = _react.forwardRef.call(void 0, ({ className, children, descript
|
|
|
977
977
|
}
|
|
978
978
|
));
|
|
979
979
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
980
|
-
var SelectSeparator = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Separator, { ref, className:
|
|
980
|
+
var SelectSeparator = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Separator, { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "-mx-1 my-1 h-px bg-ods-border", className), ...props }));
|
|
981
981
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
982
982
|
|
|
983
983
|
// src/components/layout/back-button.tsx
|
|
@@ -1002,9 +1002,9 @@ function BackButton({ label = "Back", className, type = "button", href, ...props
|
|
|
1002
1002
|
value: _value,
|
|
1003
1003
|
...shared
|
|
1004
1004
|
} = props;
|
|
1005
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1005
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { asChild: true, variant: "link", noPaddingX: true, className: _chunkMGEUZRNQcjs.cn.call(void 0, BACK_BUTTON_LAYOUT_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...shared, href, children: content }) });
|
|
1006
1006
|
}
|
|
1007
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1007
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "link", noPaddingX: true, type, className: _chunkMGEUZRNQcjs.cn.call(void 0, BACK_BUTTON_LAYOUT_CLASS, className), ...props, children: content });
|
|
1008
1008
|
}
|
|
1009
1009
|
|
|
1010
1010
|
// src/components/ui/page-actions.tsx
|
|
@@ -1052,19 +1052,19 @@ function actionToMenuItems(action, idx) {
|
|
|
1052
1052
|
}
|
|
1053
1053
|
function renderActionButton(action, opts = {}) {
|
|
1054
1054
|
if (opts.inert) {
|
|
1055
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1055
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.InertWhileLoading, { className: _chunkMGEUZRNQcjs.cn.call(void 0, "inline-flex", opts.fullWidth && "flex-1"), children: renderRawActionButton(action, opts) });
|
|
1056
1056
|
}
|
|
1057
1057
|
const button = renderRawActionButton(action, opts);
|
|
1058
1058
|
if (!action.tooltip) return button;
|
|
1059
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1060
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1061
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1059
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFS7CBRF4cjs.Tooltip, { children: [
|
|
1060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipTrigger, { asChild: true, children: button }),
|
|
1061
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipContent, { children: action.tooltip })
|
|
1062
1062
|
] }) });
|
|
1063
1063
|
}
|
|
1064
1064
|
function renderRawActionButton(action, opts = {}) {
|
|
1065
1065
|
if (action.iconAction) {
|
|
1066
1066
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1067
|
-
|
|
1067
|
+
_chunkFLS6DZENcjs.SplitButton,
|
|
1068
1068
|
{
|
|
1069
1069
|
variant: _nullishCoalesce(action.variant, () => ( void 0)),
|
|
1070
1070
|
href: action.href,
|
|
@@ -1082,11 +1082,11 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
1082
1082
|
}
|
|
1083
1083
|
if (action.submenu && action.submenu.length > 0) {
|
|
1084
1084
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1085
|
-
|
|
1085
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
1086
1086
|
{
|
|
1087
1087
|
groups: [{ items: action.submenu }],
|
|
1088
1088
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1089
|
-
|
|
1089
|
+
_chunkFLS6DZENcjs.Button,
|
|
1090
1090
|
{
|
|
1091
1091
|
variant: "outline",
|
|
1092
1092
|
disabled: action.disabled,
|
|
@@ -1104,7 +1104,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
1104
1104
|
if (isIconOnly) {
|
|
1105
1105
|
const iconNode = action.iconOnlyOnDesktop ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex [&_svg]:!text-ods-text-primary", children: action.icon }) : action.icon;
|
|
1106
1106
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1107
|
-
|
|
1107
|
+
_chunkFLS6DZENcjs.Button,
|
|
1108
1108
|
{
|
|
1109
1109
|
variant: action.variant,
|
|
1110
1110
|
size: "icon",
|
|
@@ -1120,7 +1120,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
1120
1120
|
);
|
|
1121
1121
|
}
|
|
1122
1122
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1123
|
-
|
|
1123
|
+
_chunkFLS6DZENcjs.Button,
|
|
1124
1124
|
{
|
|
1125
1125
|
variant: action.variant,
|
|
1126
1126
|
href: action.href,
|
|
@@ -1137,8 +1137,8 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
1137
1137
|
}
|
|
1138
1138
|
var ACTIONS_GAP = "gap-[var(--spacing-system-xs)]";
|
|
1139
1139
|
function UnknownActionSkeleton({ shape, fullWidth }) {
|
|
1140
|
-
if (shape === "icon") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1141
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1140
|
+
if (shape === "icon") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "icon" });
|
|
1141
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "default", className: fullWidth ? "flex-1" : void 0 });
|
|
1142
1142
|
}
|
|
1143
1143
|
function PageActions({
|
|
1144
1144
|
variant = "icon-buttons",
|
|
@@ -1148,7 +1148,7 @@ function PageActions({
|
|
|
1148
1148
|
className,
|
|
1149
1149
|
loading: loadingProp
|
|
1150
1150
|
}) {
|
|
1151
|
-
const loading =
|
|
1151
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1152
1152
|
if (variant === "icon-buttons") {
|
|
1153
1153
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1154
1154
|
IconButtonsVariant,
|
|
@@ -1182,7 +1182,7 @@ function IconButtonsVariant({
|
|
|
1182
1182
|
className,
|
|
1183
1183
|
loading: loadingProp
|
|
1184
1184
|
}) {
|
|
1185
|
-
const loading =
|
|
1185
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1186
1186
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
1187
1187
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
1188
1188
|
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _23 => _23[0], 'access', _24 => _24.submenu, 'optionalAccess', _25 => _25.length]);
|
|
@@ -1191,13 +1191,13 @@ function IconButtonsVariant({
|
|
|
1191
1191
|
const mobileMenuGroups = [{ items: actions.flatMap(actionToMenuItems) }, ..._nullishCoalesce(menuActions, () => ( []))];
|
|
1192
1192
|
const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
|
|
1193
1193
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1194
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
1194
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "hidden items-center content-md:flex", ACTIONS_GAP, className), children: [
|
|
1195
1195
|
selector,
|
|
1196
1196
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action, { inert: loading }) }, actionKey(action, idx))),
|
|
1197
1197
|
loading && desktopActions.length === 0 && !hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }),
|
|
1198
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1198
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: menuActions, loading })
|
|
1199
1199
|
] }),
|
|
1200
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
1200
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex content-md:hidden", className), children: useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true, inert: loading }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, loading }) : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }) : null })
|
|
1201
1201
|
] });
|
|
1202
1202
|
}
|
|
1203
1203
|
function PrimaryButtonsVariant({
|
|
@@ -1205,7 +1205,7 @@ function PrimaryButtonsVariant({
|
|
|
1205
1205
|
className,
|
|
1206
1206
|
loading: loadingProp
|
|
1207
1207
|
}) {
|
|
1208
|
-
const loading =
|
|
1208
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1209
1209
|
const sortedActions = [...actions].sort((a, b) => {
|
|
1210
1210
|
if (a.variant === "accent" && b.variant !== "accent") return 1;
|
|
1211
1211
|
if (a.variant !== "accent" && b.variant === "accent") return -1;
|
|
@@ -1213,11 +1213,11 @@ function PrimaryButtonsVariant({
|
|
|
1213
1213
|
});
|
|
1214
1214
|
const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
|
|
1215
1215
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1216
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
1216
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "hidden items-center md:content-md:flex", ACTIONS_GAP, className), children: [
|
|
1217
1217
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action, { inert: loading }) }, `desktop-${actionKey(action, idx)}`)),
|
|
1218
1218
|
loading && desktopActions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "label" })
|
|
1219
1219
|
] }),
|
|
1220
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
1220
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "hidden items-center md:content-max-md:flex", ACTIONS_GAP, className), children: [
|
|
1221
1221
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CompactPrimaryActions, { actions: desktopActions, loading }),
|
|
1222
1222
|
loading && desktopActions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" })
|
|
1223
1223
|
] }),
|
|
@@ -1231,42 +1231,42 @@ function MenuPrimaryVariant({
|
|
|
1231
1231
|
className,
|
|
1232
1232
|
loading: loadingProp
|
|
1233
1233
|
}) {
|
|
1234
|
-
const loading =
|
|
1234
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1235
1235
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
1236
1236
|
const hasMenuActions = menuActions.some((g) => g.items.length > 0);
|
|
1237
1237
|
const mobileMenuGroups = [{ items: actions.flatMap(actionToMenuItems) }, ...menuActions];
|
|
1238
1238
|
const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
|
|
1239
1239
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1240
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
1240
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "hidden items-center content-md:flex", ACTIONS_GAP, className), children: [
|
|
1241
1241
|
selector,
|
|
1242
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1242
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: menuActions, loading }),
|
|
1243
1243
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }, { inert: loading }) }, `desktop-${actionKey(action, idx)}`)),
|
|
1244
1244
|
loading && desktopActions.length === 0 && !hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" })
|
|
1245
1245
|
] }),
|
|
1246
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
1246
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex content-md:hidden", className), children: hasMobileMenuItems || selector ? (
|
|
1247
1247
|
// The selector rides into the menu as its header row: on mobile the
|
|
1248
1248
|
// title row has no room for it, and hiding it entirely (what
|
|
1249
1249
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
1250
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1250
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector, loading })
|
|
1251
1251
|
) : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }) : null })
|
|
1252
1252
|
] });
|
|
1253
1253
|
}
|
|
1254
1254
|
function CompactPrimaryActions({ actions, loading: loadingProp }) {
|
|
1255
|
-
const loading =
|
|
1255
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1256
1256
|
const foldable = actions.filter((action) => action.variant !== "accent" && !!action.label);
|
|
1257
1257
|
const fold = foldable.length > 1;
|
|
1258
1258
|
const inline = fold ? actions.filter((action) => !foldable.includes(action)) : actions;
|
|
1259
1259
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1260
|
-
fold && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1260
|
+
fold && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: [{ items: foldable.flatMap(actionToMenuItems) }], loading }),
|
|
1261
1261
|
inline.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action, { inert: loading }) }, `compact-${actionKey(action, idx)}`))
|
|
1262
1262
|
] });
|
|
1263
1263
|
}
|
|
1264
1264
|
function MobileBottomActions({ actions, loading: loadingProp }) {
|
|
1265
|
-
const loading =
|
|
1265
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
1266
1266
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1267
1267
|
"div",
|
|
1268
1268
|
{
|
|
1269
|
-
className:
|
|
1269
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1270
1270
|
"fixed bottom-0 left-0 right-0 z-50 md:hidden",
|
|
1271
1271
|
"border-t border-ods-border bg-ods-card",
|
|
1272
1272
|
// `lf` (24px at every breakpoint), NOT `l` — this bar is `md:hidden`, so the
|
|
@@ -1289,23 +1289,23 @@ function usePageActionsBottomPadding(variant) {
|
|
|
1289
1289
|
// src/components/ui/entity-image.tsx
|
|
1290
1290
|
|
|
1291
1291
|
|
|
1292
|
-
var ENTITY_IMAGE_SIZE =
|
|
1292
|
+
var ENTITY_IMAGE_SIZE = _chunkNNNRN4OFcjs.TILE_SIZE.entity;
|
|
1293
1293
|
var ENTITY_IMAGE_RADIUS_CLASS = "rounded-md";
|
|
1294
1294
|
function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
1295
|
-
const held =
|
|
1295
|
+
const held = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
1296
1296
|
const authedSrc = _chunkV4FXUIMHcjs.useAuthedImageSrc.call(void 0, held ? void 0 : src);
|
|
1297
1297
|
const resolvedSrc = authedSrc;
|
|
1298
1298
|
const [failedSrc, setFailedSrc] = _react2.default.useState(null);
|
|
1299
1299
|
const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
|
|
1300
1300
|
if (held) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityImageSkeleton, { sizeClassName, className });
|
|
1301
1301
|
const showFallback = imageFailed || !resolvedSrc;
|
|
1302
|
-
const initials =
|
|
1302
|
+
const initials = _chunkZJS45HQZcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
|
|
1303
1303
|
if (showFallback) {
|
|
1304
1304
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1305
1305
|
"div",
|
|
1306
1306
|
{
|
|
1307
1307
|
"aria-label": alt,
|
|
1308
|
-
className:
|
|
1308
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1309
1309
|
"flex shrink-0 select-none items-center justify-center border border-ods-border bg-ods-bg text-ods-text-secondary text-h4",
|
|
1310
1310
|
ENTITY_IMAGE_RADIUS_CLASS,
|
|
1311
1311
|
_nullishCoalesce(sizeClassName, () => ( ENTITY_IMAGE_SIZE)),
|
|
@@ -1316,12 +1316,12 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
|
1316
1316
|
);
|
|
1317
1317
|
}
|
|
1318
1318
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1319
|
-
|
|
1319
|
+
_chunk5WMRVMXHcjs.next_image_default,
|
|
1320
1320
|
{
|
|
1321
1321
|
src: resolvedSrc,
|
|
1322
1322
|
alt: _nullishCoalesce(alt, () => ( "")),
|
|
1323
1323
|
onError: () => setFailedSrc(resolvedSrc),
|
|
1324
|
-
className:
|
|
1324
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1325
1325
|
"shrink-0 border border-ods-border object-contain",
|
|
1326
1326
|
ENTITY_IMAGE_RADIUS_CLASS,
|
|
1327
1327
|
_nullishCoalesce(sizeClassName, () => ( ENTITY_IMAGE_SIZE)),
|
|
@@ -1335,9 +1335,9 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
|
1335
1335
|
}
|
|
1336
1336
|
function EntityImageSkeleton({ sizeClassName, className }) {
|
|
1337
1337
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1338
|
-
|
|
1338
|
+
_chunkNNNRN4OFcjs.UnifiedSkeleton,
|
|
1339
1339
|
{
|
|
1340
|
-
className:
|
|
1340
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "shrink-0", ENTITY_IMAGE_RADIUS_CLASS, _nullishCoalesce(sizeClassName, () => ( ENTITY_IMAGE_SIZE)), className)
|
|
1341
1341
|
}
|
|
1342
1342
|
);
|
|
1343
1343
|
}
|
|
@@ -1383,7 +1383,7 @@ function TitleBlock({
|
|
|
1383
1383
|
titleWrap = false,
|
|
1384
1384
|
titleSkeletonLines
|
|
1385
1385
|
}) {
|
|
1386
|
-
const scoped =
|
|
1386
|
+
const scoped = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
1387
1387
|
const titleLoading = !!loading || scoped && title === "";
|
|
1388
1388
|
const subtitleLoading = !!loading || scoped && subtitle === "";
|
|
1389
1389
|
const hasSubtitleRow = !!subtitle || subtitleRow === "always" || subtitleRow === "while-loading" && !!loading || scoped && subtitle === "";
|
|
@@ -1400,7 +1400,7 @@ function TitleBlock({
|
|
|
1400
1400
|
);
|
|
1401
1401
|
const titleNode = titleLoading && titleWrap && titleSkeletonLines ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1402
1402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1403
|
-
|
|
1403
|
+
_chunkNNNRN4OFcjs.TextLineSkeleton,
|
|
1404
1404
|
{
|
|
1405
1405
|
type: "inherit",
|
|
1406
1406
|
as: "span",
|
|
@@ -1409,7 +1409,7 @@ function TitleBlock({
|
|
|
1409
1409
|
}
|
|
1410
1410
|
),
|
|
1411
1411
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1412
|
-
|
|
1412
|
+
_chunkNNNRN4OFcjs.TextLineSkeleton,
|
|
1413
1413
|
{
|
|
1414
1414
|
type: "inherit",
|
|
1415
1415
|
as: "span",
|
|
@@ -1418,7 +1418,7 @@ function TitleBlock({
|
|
|
1418
1418
|
}
|
|
1419
1419
|
),
|
|
1420
1420
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1421
|
-
|
|
1421
|
+
_chunkNNNRN4OFcjs.TextLineSkeleton,
|
|
1422
1422
|
{
|
|
1423
1423
|
type: "inherit",
|
|
1424
1424
|
as: "span",
|
|
@@ -1427,23 +1427,23 @@ function TitleBlock({
|
|
|
1427
1427
|
}
|
|
1428
1428
|
)
|
|
1429
1429
|
] }) : titleLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1430
|
-
|
|
1430
|
+
_chunkNNNRN4OFcjs.UnifiedSkeleton,
|
|
1431
1431
|
{
|
|
1432
1432
|
as: "span",
|
|
1433
1433
|
"aria-hidden": true,
|
|
1434
|
-
className:
|
|
1434
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, TITLE_TEXT_SKELETON_CLASS, skeletonSize.width, skeletonSize.height)
|
|
1435
1435
|
}
|
|
1436
1436
|
) : title;
|
|
1437
1437
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1438
1438
|
"div",
|
|
1439
1439
|
{
|
|
1440
|
-
className:
|
|
1440
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1441
1441
|
"flex items-end justify-between gap-[var(--spacing-system-m)]",
|
|
1442
1442
|
// md+: one wrapping row — actions stay inline with a short title and
|
|
1443
1443
|
// wrap to a second row only when the title overflows (ClickUp 86ahd6uy5).
|
|
1444
1444
|
"content-md:flex-wrap content-md:content-end",
|
|
1445
1445
|
"pt-[var(--spacing-system-l)]",
|
|
1446
|
-
variant === "card" ?
|
|
1446
|
+
variant === "card" ? _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1447
1447
|
"border-b border-ods-border bg-ods-card",
|
|
1448
1448
|
"px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]",
|
|
1449
1449
|
"content-md:border-b-0 content-md:bg-transparent",
|
|
@@ -1456,7 +1456,7 @@ function TitleBlock({
|
|
|
1456
1456
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1457
1457
|
"div",
|
|
1458
1458
|
{
|
|
1459
|
-
className:
|
|
1459
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1460
1460
|
"flex min-w-0 flex-1 flex-col justify-center gap-[var(--spacing-system-xs)] content-md:max-w-full content-md:flex-none",
|
|
1461
1461
|
TITLE_BLOCK_MIN_HEIGHT,
|
|
1462
1462
|
// A wrapping title's loading lines stand for a title that fills the row (its typical lines are full ones), so the
|
|
@@ -1470,7 +1470,7 @@ function TitleBlock({
|
|
|
1470
1470
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
1471
1471
|
(titleLoading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
1472
1472
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1473
|
-
|
|
1473
|
+
_chunkZJS45HQZcjs.FloatingTooltip,
|
|
1474
1474
|
{
|
|
1475
1475
|
content: title,
|
|
1476
1476
|
side: "bottom",
|
|
@@ -1480,41 +1480,41 @@ function TitleBlock({
|
|
|
1480
1480
|
PageTitle,
|
|
1481
1481
|
{
|
|
1482
1482
|
ref: titleRef,
|
|
1483
|
-
className:
|
|
1483
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass),
|
|
1484
1484
|
children: titleNode
|
|
1485
1485
|
}
|
|
1486
1486
|
)
|
|
1487
1487
|
}
|
|
1488
1488
|
),
|
|
1489
1489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
1490
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1490
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageTitle, { ref: titleRef, className: _chunkMGEUZRNQcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
1491
1491
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
1492
1492
|
empty `p` collapses to zero height (its only content would be
|
|
1493
1493
|
collapsible whitespace), which is exactly the shift that mode
|
|
1494
1494
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
1495
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1495
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1496
1496
|
"p",
|
|
1497
1497
|
{
|
|
1498
1498
|
ref: subtitleRef,
|
|
1499
1499
|
className: "truncate text-ods-text-secondary text-h6",
|
|
1500
1500
|
"aria-hidden": !subtitleLoading && !subtitle ? true : void 0,
|
|
1501
1501
|
children: subtitleLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1502
|
-
|
|
1502
|
+
_chunkNNNRN4OFcjs.UnifiedSkeleton,
|
|
1503
1503
|
{
|
|
1504
1504
|
as: "span",
|
|
1505
1505
|
"aria-hidden": true,
|
|
1506
|
-
className:
|
|
1506
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, TITLE_TEXT_SKELETON_CLASS, "h-2.5 w-28 content-md:h-3 content-md:w-36")
|
|
1507
1507
|
}
|
|
1508
1508
|
) : subtitle || "\xA0"
|
|
1509
1509
|
}
|
|
1510
1510
|
) })
|
|
1511
1511
|
] })
|
|
1512
1512
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
1513
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1513
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1514
1514
|
PageTitle,
|
|
1515
1515
|
{
|
|
1516
1516
|
ref: titleRef,
|
|
1517
|
-
className:
|
|
1517
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass),
|
|
1518
1518
|
children: title
|
|
1519
1519
|
}
|
|
1520
1520
|
) }),
|
|
@@ -1524,7 +1524,7 @@ function TitleBlock({
|
|
|
1524
1524
|
wraps; `titleWrap` only adds break-words for pathological
|
|
1525
1525
|
unbroken tokens. No class change when the prop is unset —
|
|
1526
1526
|
the frozen baseline stays byte-identical. */
|
|
1527
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageTitle, { className:
|
|
1527
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageTitle, { className: _chunkMGEUZRNQcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleWrap && "break-words"), children: title })
|
|
1528
1528
|
))
|
|
1529
1529
|
]
|
|
1530
1530
|
}
|
|
@@ -1571,7 +1571,7 @@ function PageLayout({
|
|
|
1571
1571
|
const hasActions = actions && actions.length > 0;
|
|
1572
1572
|
const needsBottomPadding = hasActions && actionsVariant === "primary-buttons";
|
|
1573
1573
|
const hasHeader = showHeader && (title || subtitle || image || backButton || hasActions || selector || loading);
|
|
1574
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
1574
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex w-full flex-col", className), children: [
|
|
1575
1575
|
hasHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1576
1576
|
TitleBlock,
|
|
1577
1577
|
{
|
|
@@ -1596,7 +1596,7 @@ function PageLayout({
|
|
|
1596
1596
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1597
1597
|
"div",
|
|
1598
1598
|
{
|
|
1599
|
-
className:
|
|
1599
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1600
1600
|
"flex flex-1 flex-col gap-[var(--spacing-system-l)]",
|
|
1601
1601
|
needsBottomPadding && "pb-28 content-md:pb-0",
|
|
1602
1602
|
contentClassName
|
|
@@ -1625,12 +1625,12 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
|
1625
1625
|
const faces = ordered.slice(0, max);
|
|
1626
1626
|
const overflow = ordered.length - faces.length;
|
|
1627
1627
|
const Chevron = open ? _chunk3MRRIHC2cjs.Chevron02UpIcon : _chunkSKI6NKOEcjs.Chevron02DownIcon;
|
|
1628
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1628
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4DQ4CNAGcjs.DropdownMenu, { open, onOpenChange: setOpen, children: [
|
|
1629
1629
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1630
|
-
|
|
1630
|
+
_chunk4DQ4CNAGcjs.DropdownMenuTrigger,
|
|
1631
1631
|
{
|
|
1632
1632
|
"aria-label": `In this session: ${ordered.map(viewerLabel).join(", ")}`,
|
|
1633
|
-
className:
|
|
1633
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1634
1634
|
"flex shrink-0 items-center gap-[var(--spacing-system-xxs)] rounded-md outline-none",
|
|
1635
1635
|
"focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
1636
1636
|
className
|
|
@@ -1638,14 +1638,14 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
|
1638
1638
|
children: [
|
|
1639
1639
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center", children: [
|
|
1640
1640
|
faces.map((viewer, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1641
|
-
|
|
1641
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
1642
1642
|
{
|
|
1643
1643
|
variant: "round",
|
|
1644
1644
|
sizePx: 32,
|
|
1645
1645
|
src: _nullishCoalesce(viewer.avatarUrl, () => ( void 0)),
|
|
1646
1646
|
alt: viewer.name,
|
|
1647
1647
|
fallback: viewer.name,
|
|
1648
|
-
className:
|
|
1648
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1649
1649
|
"relative bg-ods-bg",
|
|
1650
1650
|
viewer.isHost ? "ring-2 ring-ods-accent" : "ring-1 ring-ods-border",
|
|
1651
1651
|
index > 0 && "-ml-2"
|
|
@@ -1663,16 +1663,16 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
|
1663
1663
|
]
|
|
1664
1664
|
}
|
|
1665
1665
|
),
|
|
1666
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1667
|
-
|
|
1666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4DQ4CNAGcjs.DropdownMenuContent, { align: "end", className: "w-[280px] p-0", children: ordered.map((viewer) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1667
|
+
_chunk4DQ4CNAGcjs.DropdownMenuItem,
|
|
1668
1668
|
{
|
|
1669
|
-
className:
|
|
1669
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1670
1670
|
"gap-[var(--spacing-system-xsf)] rounded-none border-b border-ods-border bg-ods-bg last:border-b-0",
|
|
1671
1671
|
"py-[var(--spacing-system-s)] pl-[var(--spacing-system-mf)] pr-[var(--spacing-system-xs)] text-h4"
|
|
1672
1672
|
),
|
|
1673
1673
|
children: [
|
|
1674
1674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1675
|
-
|
|
1675
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
1676
1676
|
{
|
|
1677
1677
|
variant: "round",
|
|
1678
1678
|
sizePx: 24,
|
|
@@ -1718,7 +1718,7 @@ function RemoteSessionScope({ children, className }) {
|
|
|
1718
1718
|
function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
|
|
1719
1719
|
if (logoUrl) {
|
|
1720
1720
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1721
|
-
|
|
1721
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
1722
1722
|
{
|
|
1723
1723
|
variant: "square",
|
|
1724
1724
|
fit: "contain",
|
|
@@ -1726,7 +1726,7 @@ function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
|
|
|
1726
1726
|
src: logoUrl,
|
|
1727
1727
|
alt: name,
|
|
1728
1728
|
fallback: name,
|
|
1729
|
-
className:
|
|
1729
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "shrink-0 rounded-md border border-ods-border bg-ods-card", className)
|
|
1730
1730
|
}
|
|
1731
1731
|
);
|
|
1732
1732
|
}
|
|
@@ -1736,7 +1736,7 @@ function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
|
|
|
1736
1736
|
role: "img",
|
|
1737
1737
|
"aria-label": name,
|
|
1738
1738
|
style: { width: sizePx, height: sizePx },
|
|
1739
|
-
className:
|
|
1739
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1740
1740
|
"flex shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-card",
|
|
1741
1741
|
className
|
|
1742
1742
|
),
|
|
@@ -1755,7 +1755,7 @@ function RemoteSessionRecordingTag({ className }) {
|
|
|
1755
1755
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1756
1756
|
"div",
|
|
1757
1757
|
{
|
|
1758
|
-
className:
|
|
1758
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1759
1759
|
"flex h-8 items-center gap-[var(--spacing-system-xs)] self-start rounded-md bg-ods-success-secondary p-[var(--spacing-system-xsf)]",
|
|
1760
1760
|
className
|
|
1761
1761
|
),
|
|
@@ -1784,7 +1784,7 @@ function RemoteSessionDragger({ dragHandlers }) {
|
|
|
1784
1784
|
"span",
|
|
1785
1785
|
{
|
|
1786
1786
|
"aria-hidden": true,
|
|
1787
|
-
className:
|
|
1787
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1788
1788
|
"absolute right-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] text-ods-text-secondary",
|
|
1789
1789
|
dragHandlers && REMOTE_SESSION_DRAG_HANDLE_CLASS
|
|
1790
1790
|
),
|
|
@@ -1828,9 +1828,9 @@ function RemoteAccessRequestCard({
|
|
|
1828
1828
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionOrgLogo, { name: organizationName, logoUrl: party.organizationLogoUrl, sizePx: 64 }),
|
|
1829
1829
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
1830
1830
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-primary text-h3", children: organizationName }),
|
|
1831
|
-
siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children:
|
|
1831
|
+
siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children: _chunkZJS45HQZcjs.formatUrlForDisplay.call(void 0, siteUrl, { keepWww: true }) })
|
|
1832
1832
|
] }),
|
|
1833
|
-
openableSite && onOpenSite && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1833
|
+
openableSite && onOpenSite && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "icon", "aria-label": "Open website", onClick: () => onOpenSite(openableSite), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEDVT7OAScjs.ExternalLinkIcon, { size: 24, color: "currentColor" }) })
|
|
1834
1834
|
] }),
|
|
1835
1835
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: [
|
|
1836
1836
|
"A technician from ",
|
|
@@ -1846,7 +1846,7 @@ function RemoteAccessRequestCard({
|
|
|
1846
1846
|
] }),
|
|
1847
1847
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-l)]", children: [
|
|
1848
1848
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1849
|
-
|
|
1849
|
+
_chunkFLS6DZENcjs.Button,
|
|
1850
1850
|
{
|
|
1851
1851
|
variant: "outline",
|
|
1852
1852
|
fullWidth: true,
|
|
@@ -1857,7 +1857,7 @@ function RemoteAccessRequestCard({
|
|
|
1857
1857
|
}
|
|
1858
1858
|
),
|
|
1859
1859
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1860
|
-
|
|
1860
|
+
_chunkFLS6DZENcjs.Button,
|
|
1861
1861
|
{
|
|
1862
1862
|
variant: "accent",
|
|
1863
1863
|
fullWidth: true,
|
|
@@ -1880,14 +1880,14 @@ var RemoteSessionBlockFrame = _react.forwardRef.call(void 0,
|
|
|
1880
1880
|
"div",
|
|
1881
1881
|
{
|
|
1882
1882
|
ref,
|
|
1883
|
-
className:
|
|
1883
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1884
1884
|
"flex w-[440px] shrink-0 flex-col overflow-hidden rounded-md border border-ods-border bg-ods-bg",
|
|
1885
1885
|
expanded && "h-[680px]",
|
|
1886
1886
|
className
|
|
1887
1887
|
),
|
|
1888
1888
|
children: [
|
|
1889
1889
|
children,
|
|
1890
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 border-t border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1890
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 border-t border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", className: "h-12", onClick: onHide, children: [
|
|
1891
1891
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFM7BOWEIcjs.Chevrons03RightIcon, { size: 24 }),
|
|
1892
1892
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary", children: "Hide this Block" }),
|
|
1893
1893
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -1907,7 +1907,7 @@ var RemoteSessionBlockFrame = _react.forwardRef.call(void 0,
|
|
|
1907
1907
|
RemoteSessionBlockFrame.displayName = "RemoteSessionBlockFrame";
|
|
1908
1908
|
function RemoteSessionEndButton({ onEndSession }) {
|
|
1909
1909
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1910
|
-
|
|
1910
|
+
_chunkFLS6DZENcjs.Button,
|
|
1911
1911
|
{
|
|
1912
1912
|
variant: "outline",
|
|
1913
1913
|
fullWidth: true,
|
|
@@ -1932,14 +1932,14 @@ function RemoteSessionSummary({
|
|
|
1932
1932
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1933
1933
|
"div",
|
|
1934
1934
|
{
|
|
1935
|
-
className:
|
|
1935
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1936
1936
|
"flex w-full items-center gap-[var(--spacing-system-xs)] pr-[var(--spacing-system-mf)]",
|
|
1937
1937
|
dragHandlers && REMOTE_SESSION_DRAG_HANDLE_CLASS
|
|
1938
1938
|
),
|
|
1939
1939
|
...dragHandlers,
|
|
1940
1940
|
children: [
|
|
1941
1941
|
technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1942
|
-
|
|
1942
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
1943
1943
|
{
|
|
1944
1944
|
variant: "round",
|
|
1945
1945
|
sizePx: 48,
|
|
@@ -1965,7 +1965,7 @@ function RemoteSessionSummary({
|
|
|
1965
1965
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
|
|
1966
1966
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
|
|
1967
1967
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1968
|
-
|
|
1968
|
+
_chunkFLS6DZENcjs.Button,
|
|
1969
1969
|
{
|
|
1970
1970
|
variant: "outline",
|
|
1971
1971
|
fullWidth: true,
|
|
@@ -1982,18 +1982,18 @@ var RemoteSessionMinimizedChip = _react.forwardRef.call(void 0,
|
|
|
1982
1982
|
({ party, onExpand, dragHandlers }, ref) => {
|
|
1983
1983
|
const technician = party.technicianName;
|
|
1984
1984
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1985
|
-
|
|
1985
|
+
_chunkFLS6DZENcjs.Button,
|
|
1986
1986
|
{
|
|
1987
1987
|
variant: "card",
|
|
1988
1988
|
ref,
|
|
1989
1989
|
type: "button",
|
|
1990
1990
|
"aria-label": "Show session block",
|
|
1991
|
-
className:
|
|
1991
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-auto shrink-0", dragHandlers && REMOTE_SESSION_DRAG_HANDLE_CLASS),
|
|
1992
1992
|
onClick: onExpand,
|
|
1993
1993
|
...dragHandlers,
|
|
1994
1994
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col overflow-hidden rounded-md border border-ods-border", children: [
|
|
1995
1995
|
technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1996
|
-
|
|
1996
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
1997
1997
|
{
|
|
1998
1998
|
sizePx: 48,
|
|
1999
1999
|
src: _nullishCoalesce(party.technicianAvatarUrl, () => ( void 0)),
|
|
@@ -2055,7 +2055,7 @@ function RemoteSessionChatPanel({
|
|
|
2055
2055
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2056
2056
|
"div",
|
|
2057
2057
|
{
|
|
2058
|
-
className:
|
|
2058
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
2059
2059
|
"flex w-full flex-col pr-[var(--spacing-system-mf)]",
|
|
2060
2060
|
dragHandlers && REMOTE_SESSION_DRAG_HANDLE_CLASS
|
|
2061
2061
|
),
|
|
@@ -2076,7 +2076,7 @@ function RemoteSessionChatPanel({
|
|
|
2076
2076
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
|
|
2077
2077
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
|
|
2078
2078
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2079
|
-
|
|
2079
|
+
_chunkFLS6DZENcjs.Button,
|
|
2080
2080
|
{
|
|
2081
2081
|
variant: "outline",
|
|
2082
2082
|
fullWidth: true,
|
|
@@ -2120,7 +2120,7 @@ function RemoteSessionChatPanel({
|
|
|
2120
2120
|
}
|
|
2121
2121
|
),
|
|
2122
2122
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2123
|
-
|
|
2123
|
+
_chunkFLS6DZENcjs.Button,
|
|
2124
2124
|
{
|
|
2125
2125
|
variant: "transparent",
|
|
2126
2126
|
size: "icon",
|
|
@@ -2145,7 +2145,7 @@ function RemoteSessionChatMessageRow({
|
|
|
2145
2145
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
|
|
2146
2146
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2147
2147
|
isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2148
|
-
|
|
2148
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
2149
2149
|
{
|
|
2150
2150
|
variant: "round",
|
|
2151
2151
|
sizePx: 16,
|
|
@@ -2156,7 +2156,7 @@ function RemoteSessionChatMessageRow({
|
|
|
2156
2156
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2157
2157
|
"span",
|
|
2158
2158
|
{
|
|
2159
|
-
className:
|
|
2159
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
2160
2160
|
"min-w-0 flex-1 truncate text-code",
|
|
2161
2161
|
isTechnician ? "text-ods-accent" : "text-ods-text-secondary"
|
|
2162
2162
|
),
|
|
@@ -2184,11 +2184,11 @@ function RemoteDesktopChatMessageRow({
|
|
|
2184
2184
|
loading: loadingProp = false,
|
|
2185
2185
|
...props
|
|
2186
2186
|
}) {
|
|
2187
|
-
const loading =
|
|
2188
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: MESSAGE_ROW_CLASS, "aria-hidden": loading || void 0, ...
|
|
2187
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
2188
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: MESSAGE_ROW_CLASS, "aria-hidden": loading || void 0, ..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props), children: [
|
|
2189
2189
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: MESSAGE_HEAD_CLASS, children: [
|
|
2190
2190
|
isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2191
|
-
|
|
2191
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
2192
2192
|
{
|
|
2193
2193
|
loading,
|
|
2194
2194
|
variant: "round",
|
|
@@ -2201,16 +2201,16 @@ function RemoteDesktopChatMessageRow({
|
|
|
2201
2201
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2202
2202
|
"span",
|
|
2203
2203
|
{
|
|
2204
|
-
className:
|
|
2205
|
-
children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2204
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, MESSAGE_NAME_CLASS, !loading && (isTechnician ? "text-ods-accent" : "text-ods-text-secondary")),
|
|
2205
|
+
children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) : authorName
|
|
2206
2206
|
}
|
|
2207
2207
|
),
|
|
2208
|
-
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2208
|
+
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", as: "span", className: "w-12 shrink-0" }) : (
|
|
2209
2209
|
// The time is in the viewer's zone, which a server render cannot know.
|
|
2210
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children:
|
|
2210
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunkE2ZZOYSMcjs.formatTime.call(void 0, sentAt) })
|
|
2211
2211
|
)
|
|
2212
2212
|
] }),
|
|
2213
|
-
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2213
|
+
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", className: "w-3/4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "whitespace-pre-wrap text-ods-text-primary text-h4", children: body })
|
|
2214
2214
|
] });
|
|
2215
2215
|
}
|
|
2216
2216
|
|
|
@@ -2229,7 +2229,7 @@ function RemoteDesktopChatPanel({
|
|
|
2229
2229
|
}) {
|
|
2230
2230
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
2231
2231
|
const rows = messages.filter((message) => message.author !== "system");
|
|
2232
|
-
const loading =
|
|
2232
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || rows.length === 0 && !!loadingProp;
|
|
2233
2233
|
_react.useEffect.call(void 0, () => {
|
|
2234
2234
|
const el = scrollRef.current;
|
|
2235
2235
|
if (el) el.scrollTop = el.scrollHeight;
|
|
@@ -2238,7 +2238,7 @@ function RemoteDesktopChatPanel({
|
|
|
2238
2238
|
"aside",
|
|
2239
2239
|
{
|
|
2240
2240
|
"aria-label": "Session chat",
|
|
2241
|
-
className:
|
|
2241
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
2242
2242
|
"flex flex-col gap-[var(--spacing-system-mf)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-mf)]",
|
|
2243
2243
|
variant === "side" ? "h-full w-[400px] flex-shrink-0" : "absolute bottom-[var(--spacing-system-mf)] right-[var(--spacing-system-mf)] top-[calc(var(--spacing-system-xlf)+var(--spacing-system-mf))] z-10 w-[360px] shadow-lg"
|
|
2244
2244
|
),
|
|
@@ -2246,7 +2246,7 @@ function RemoteDesktopChatPanel({
|
|
|
2246
2246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: scrollRef, className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-full flex-col justify-end gap-[var(--spacing-system-xsf)]", children: loading ? (
|
|
2247
2247
|
// The chat while it is read: a screen of the panel's own message rows, stacked by a one-column grid
|
|
2248
2248
|
// (the thread above is already the column flexbox: WEBVIEW-001).
|
|
2249
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2249
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA3UZFFR3cjs.LoadingRegion, { label: "Loading the chat", className: "grid grid-cols-1 gap-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: CHAT_PANEL_SKELETON_ROWS, children: (i) => (
|
|
2250
2250
|
// A conversation: the technician and the user take turns.
|
|
2251
2251
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2252
2252
|
RemoteDesktopChatMessageRow,
|
|
@@ -2273,7 +2273,7 @@ function RemoteDesktopChatPanel({
|
|
|
2273
2273
|
message.id
|
|
2274
2274
|
)) }) }),
|
|
2275
2275
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2276
|
-
|
|
2276
|
+
_chunkE2ZZOYSMcjs.ChatInput,
|
|
2277
2277
|
{
|
|
2278
2278
|
placeholder: "Enter your Message...",
|
|
2279
2279
|
onSend,
|
|
@@ -2317,10 +2317,10 @@ function RemoteDesktopFullscreenToolbar({
|
|
|
2317
2317
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
2318
2318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h6", children: deviceName }),
|
|
2319
2319
|
displayMenuGroups.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2320
|
-
|
|
2320
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
2321
2321
|
{
|
|
2322
2322
|
groups: displayMenuGroups,
|
|
2323
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2323
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "small", type: "button", "aria-label": "Switch display", className: "shrink-0", children: [
|
|
2324
2324
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, {}),
|
|
2325
2325
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: currentDisplayLabel }),
|
|
2326
2326
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSKI6NKOEcjs.Chevron02DownIcon, {})
|
|
@@ -2330,7 +2330,7 @@ function RemoteDesktopFullscreenToolbar({
|
|
|
2330
2330
|
] }),
|
|
2331
2331
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2332
2332
|
onToggleChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2333
|
-
|
|
2333
|
+
_chunkFLS6DZENcjs.Button,
|
|
2334
2334
|
{
|
|
2335
2335
|
variant: "outline",
|
|
2336
2336
|
size: "small",
|
|
@@ -2340,11 +2340,11 @@ function RemoteDesktopFullscreenToolbar({
|
|
|
2340
2340
|
}
|
|
2341
2341
|
),
|
|
2342
2342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2343
|
-
|
|
2343
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
2344
2344
|
{
|
|
2345
2345
|
groups: actionsMenuGroups,
|
|
2346
2346
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2347
|
-
|
|
2347
|
+
_chunkFLS6DZENcjs.Button,
|
|
2348
2348
|
{
|
|
2349
2349
|
variant: "outline",
|
|
2350
2350
|
size: "icon-sm",
|
|
@@ -2355,7 +2355,7 @@ function RemoteDesktopFullscreenToolbar({
|
|
|
2355
2355
|
}
|
|
2356
2356
|
),
|
|
2357
2357
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2358
|
-
|
|
2358
|
+
_chunkFLS6DZENcjs.Button,
|
|
2359
2359
|
{
|
|
2360
2360
|
variant: "outline",
|
|
2361
2361
|
size: "icon-sm",
|
|
@@ -2365,7 +2365,7 @@ function RemoteDesktopFullscreenToolbar({
|
|
|
2365
2365
|
}
|
|
2366
2366
|
),
|
|
2367
2367
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2368
|
-
|
|
2368
|
+
_chunkFLS6DZENcjs.Button,
|
|
2369
2369
|
{
|
|
2370
2370
|
variant: "outline",
|
|
2371
2371
|
size: "icon-sm",
|
|
@@ -2404,20 +2404,20 @@ function RemoteDesktopView({
|
|
|
2404
2404
|
children,
|
|
2405
2405
|
loading: loadingProp = false
|
|
2406
2406
|
}) {
|
|
2407
|
-
const inScope =
|
|
2407
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
2408
2408
|
const loading = inScope || loadingProp;
|
|
2409
2409
|
const controlsBar = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTROLS_BAR_CLASS, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CONTROLS_ROW_CLASS, children: [
|
|
2410
2410
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-mf)]", children: [
|
|
2411
2411
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className: "h-4 w-4 text-ods-text-primary" }) }),
|
|
2412
2412
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
|
|
2413
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2414
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2413
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", className: "w-48 max-w-full" }),
|
|
2414
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-36 max-w-full" })
|
|
2415
2415
|
] })
|
|
2416
2416
|
] }),
|
|
2417
2417
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2419
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2420
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2418
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "icon" }),
|
|
2419
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "icon" }),
|
|
2420
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "icon" })
|
|
2421
2421
|
] })
|
|
2422
2422
|
] }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CONTROLS_BAR_CLASS, children: [
|
|
2423
2423
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CONTROLS_ROW_CLASS, children: [
|
|
@@ -2437,7 +2437,7 @@ function RemoteDesktopView({
|
|
|
2437
2437
|
] }),
|
|
2438
2438
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2439
2439
|
onToggleChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2440
|
-
|
|
2440
|
+
_chunkFLS6DZENcjs.Button,
|
|
2441
2441
|
{
|
|
2442
2442
|
variant: "outline",
|
|
2443
2443
|
onClick: onToggleChat,
|
|
@@ -2445,9 +2445,9 @@ function RemoteDesktopView({
|
|
|
2445
2445
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only content-md:not-sr-only", children: chatOpen ? "Close Chat" : "Open Chat" })
|
|
2446
2446
|
}
|
|
2447
2447
|
),
|
|
2448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.ActionsMenuDropdown, { groups: actionsMenuGroups, triggerAriaLabel: "Actions" }),
|
|
2449
2449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2450
|
-
|
|
2450
|
+
_chunkFLS6DZENcjs.Button,
|
|
2451
2451
|
{
|
|
2452
2452
|
variant: "outline",
|
|
2453
2453
|
size: "icon",
|
|
@@ -2457,7 +2457,7 @@ function RemoteDesktopView({
|
|
|
2457
2457
|
}
|
|
2458
2458
|
),
|
|
2459
2459
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2460
|
-
|
|
2460
|
+
_chunkFLS6DZENcjs.Button,
|
|
2461
2461
|
{
|
|
2462
2462
|
variant: "outline",
|
|
2463
2463
|
size: "icon",
|
|
@@ -2469,11 +2469,11 @@ function RemoteDesktopView({
|
|
|
2469
2469
|
] })
|
|
2470
2470
|
] }),
|
|
2471
2471
|
displayMenuGroups.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2472
|
-
|
|
2472
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
2473
2473
|
{
|
|
2474
2474
|
groups: displayMenuGroups,
|
|
2475
2475
|
align: "start",
|
|
2476
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2476
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", "aria-label": "Switch display", children: [
|
|
2477
2477
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className: "h-6 w-6" }),
|
|
2478
2478
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate", children: currentDisplayLabel }),
|
|
2479
2479
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSKI6NKOEcjs.Chevron02DownIcon, { className: "h-6 w-6" })
|
|
@@ -2482,7 +2482,7 @@ function RemoteDesktopView({
|
|
|
2482
2482
|
) })
|
|
2483
2483
|
] });
|
|
2484
2484
|
if (loading) {
|
|
2485
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageLayout, { className: PAGE_CLASS, backButton: onBack ? { label: "Back", onClick: onBack } : void 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2485
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageLayout, { className: PAGE_CLASS, backButton: onBack ? { label: "Back", onClick: onBack } : void 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA3UZFFR3cjs.LoadingRegion, { label: "Loading the remote session", announce: !inScope, className: "contents", children: [
|
|
2486
2486
|
controlsBar,
|
|
2487
2487
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-0 min-w-0 flex-1 rounded-lg bg-black" })
|
|
2488
2488
|
] }) });
|
|
@@ -2539,8 +2539,8 @@ function RemoteSessionDialog({
|
|
|
2539
2539
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "The technician will lose access to your device immediately." })
|
|
2540
2540
|
] }),
|
|
2541
2541
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-l)]", children: [
|
|
2542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2543
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", fullWidth: true, disabled: ending, onClick: onClose, children: "Cancel" }),
|
|
2543
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "destructive", fullWidth: true, loading: ending, onClick: onEndSession, children: "End Session" })
|
|
2544
2544
|
] })
|
|
2545
2545
|
] });
|
|
2546
2546
|
}
|
|
@@ -2554,7 +2554,7 @@ function RemoteSessionDialog({
|
|
|
2554
2554
|
copy.suffix
|
|
2555
2555
|
] })
|
|
2556
2556
|
] }),
|
|
2557
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", className: "w-1/2", onClick: onClose, children: "Close" }) })
|
|
2558
2558
|
] });
|
|
2559
2559
|
}
|
|
2560
2560
|
function DialogCard({ children }) {
|
|
@@ -2564,10 +2564,10 @@ function DialogCard({ children }) {
|
|
|
2564
2564
|
// src/components/features/remote-session/remote-session-overlay.tsx
|
|
2565
2565
|
|
|
2566
2566
|
function RemoteSessionBorder({ className }) {
|
|
2567
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
2567
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "pointer-events-none size-full border-4 border-ods-warning", className) });
|
|
2568
2568
|
}
|
|
2569
2569
|
function RemoteSessionPill({ onEndSession }) {
|
|
2570
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2570
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "warning", type: "button", onClick: onEndSession, children: [
|
|
2571
2571
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQED3GWZXcjs.MonitorOffIcon, { size: 24, color: "currentColor" }),
|
|
2572
2572
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: "End Session" })
|
|
2573
2573
|
] });
|
|
@@ -2616,9 +2616,9 @@ function KeepRecordingModal({
|
|
|
2616
2616
|
if (!canKeep || isPending) return;
|
|
2617
2617
|
onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
|
|
2618
2618
|
};
|
|
2619
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2619
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2620
2620
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2621
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2621
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Keep this recording" }) }),
|
|
2622
2622
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2623
2623
|
KeepNotice,
|
|
2624
2624
|
{
|
|
@@ -2645,7 +2645,7 @@ function KeepRecordingModal({
|
|
|
2645
2645
|
}
|
|
2646
2646
|
),
|
|
2647
2647
|
reason === "OTHER" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2648
|
-
|
|
2648
|
+
_chunkEHQ2UGT4cjs.Input,
|
|
2649
2649
|
{
|
|
2650
2650
|
"aria-label": "Reason description",
|
|
2651
2651
|
value: description,
|
|
@@ -2656,11 +2656,11 @@ function KeepRecordingModal({
|
|
|
2656
2656
|
}
|
|
2657
2657
|
)
|
|
2658
2658
|
] }),
|
|
2659
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2660
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2659
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
2660
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2661
2661
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2662
2662
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2663
|
-
|
|
2663
|
+
_chunkFLS6DZENcjs.Button,
|
|
2664
2664
|
{
|
|
2665
2665
|
type: "button",
|
|
2666
2666
|
variant: "accent",
|
|
@@ -2686,9 +2686,9 @@ function ReleaseKeepingModal({
|
|
|
2686
2686
|
isPending = false,
|
|
2687
2687
|
onConfirm
|
|
2688
2688
|
}) {
|
|
2689
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2689
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2690
2690
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2691
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Release Keeping" }) }),
|
|
2692
2692
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] break-words text-ods-text-primary text-h4", children: [
|
|
2693
2693
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
|
|
2694
2694
|
"Kept by ",
|
|
@@ -2705,10 +2705,10 @@ function ReleaseKeepingModal({
|
|
|
2705
2705
|
] })
|
|
2706
2706
|
] }),
|
|
2707
2707
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeepNotice, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILWSAV64cjs.HourglassIcon, { size: 24, color: "currentColor" }), title: `It will expire on ${expiresOn}`, children: dueOn ? `It was due to expire on ${dueOn}. Releasing gives it 3 days' grace, and it shows amber until then. Whoever placed the Keep is reminded the day before it goes. Nothing is deleted now.` : "Nothing is deleted now." }),
|
|
2708
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2709
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2708
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
2709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2710
2710
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2711
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2711
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
|
|
2712
2712
|
] })
|
|
2713
2713
|
] });
|
|
2714
2714
|
}
|
|
@@ -2747,9 +2747,9 @@ function AssignTicketModal({
|
|
|
2747
2747
|
if (ticketIds.length === 0 || isPending) return;
|
|
2748
2748
|
onConfirm(ticketIds);
|
|
2749
2749
|
};
|
|
2750
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2750
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2751
2751
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Assign Ticket" }) }),
|
|
2753
2753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2754
2754
|
Autocomplete,
|
|
2755
2755
|
{
|
|
@@ -2768,11 +2768,11 @@ function AssignTicketModal({
|
|
|
2768
2768
|
disabled: isPending
|
|
2769
2769
|
}
|
|
2770
2770
|
),
|
|
2771
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2772
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2771
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
2772
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2773
2773
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2774
2774
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2775
|
-
|
|
2775
|
+
_chunkFLS6DZENcjs.Button,
|
|
2776
2776
|
{
|
|
2777
2777
|
type: "button",
|
|
2778
2778
|
variant: "accent",
|
|
@@ -2787,14 +2787,14 @@ function AssignTicketModal({
|
|
|
2787
2787
|
] });
|
|
2788
2788
|
}
|
|
2789
2789
|
function UnassignTicketModal({ isOpen, onClose, isPending = false, onConfirm }) {
|
|
2790
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2790
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2791
2791
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2792
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2792
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Unassign Ticket" }) }),
|
|
2793
2793
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This Ticket will no longer be linked to this remote session. The ticket itself stays as it is, and you can assign it again anytime." }),
|
|
2794
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2795
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2794
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
2795
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2796
2796
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2797
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2797
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { type: "button", variant: "destructive", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Unassign" })
|
|
2798
2798
|
] })
|
|
2799
2799
|
] });
|
|
2800
2800
|
}
|
|
@@ -2809,15 +2809,16 @@ function formatRemoteSessionOffset(offsetMs) {
|
|
|
2809
2809
|
return hours > 0 ? `${hours}:${minutes}:${seconds}` : `${minutes}:${seconds}`;
|
|
2810
2810
|
}
|
|
2811
2811
|
function RemoteSessionEventList({ events, activeEventId, onSelect, className }) {
|
|
2812
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className:
|
|
2812
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xxs)]", className), children: [
|
|
2813
2813
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-secondary text-h5", children: "Session Events" }),
|
|
2814
2814
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]", children: events.map((event) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2815
|
-
|
|
2815
|
+
_chunkFLS6DZENcjs.Button,
|
|
2816
2816
|
{
|
|
2817
2817
|
variant: "row",
|
|
2818
2818
|
type: "button",
|
|
2819
2819
|
"aria-current": event.id === activeEventId || void 0,
|
|
2820
2820
|
"data-state": event.id === activeEventId ? "active" : void 0,
|
|
2821
|
+
"data-tone": "muted",
|
|
2821
2822
|
onClick: () => _optionalChain([onSelect, 'optionalCall', _31 => _31(event)]),
|
|
2822
2823
|
className: "items-start",
|
|
2823
2824
|
children: [
|
|
@@ -2838,11 +2839,11 @@ function RemoteSessionTimelineMarkers({
|
|
|
2838
2839
|
className
|
|
2839
2840
|
}) {
|
|
2840
2841
|
if (durationMs <= 0) return null;
|
|
2841
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
2842
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative h-4 w-full", className), children: events.map((event) => {
|
|
2842
2843
|
const share = Math.min(1, Math.max(0, event.offsetMs / durationMs));
|
|
2843
2844
|
const label = `${event.title} at ${formatRemoteSessionOffset(event.offsetMs)}`;
|
|
2844
2845
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2845
|
-
|
|
2846
|
+
_chunkFLS6DZENcjs.Button,
|
|
2846
2847
|
{
|
|
2847
2848
|
variant: "card",
|
|
2848
2849
|
type: "button",
|
|
@@ -2871,25 +2872,25 @@ var STATUS_TAG = {
|
|
|
2871
2872
|
function RemoteSessionStatusTag({ status, className }) {
|
|
2872
2873
|
const { label, variant } = STATUS_TAG[status];
|
|
2873
2874
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2874
|
-
|
|
2875
|
+
_chunkZJS45HQZcjs.Tag,
|
|
2875
2876
|
{
|
|
2876
2877
|
label,
|
|
2877
2878
|
variant,
|
|
2878
2879
|
icon: status === "live" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LiveDot, {}) : void 0,
|
|
2879
|
-
className:
|
|
2880
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "pointer-events-none shrink-0", className)
|
|
2880
2881
|
}
|
|
2881
2882
|
);
|
|
2882
2883
|
}
|
|
2883
2884
|
function RemoteSessionExpiry(props) {
|
|
2884
2885
|
const { className } = props;
|
|
2885
2886
|
if (props.state === "none") {
|
|
2886
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
2887
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "text-ods-text-primary text-h4", className), children: "-" });
|
|
2887
2888
|
}
|
|
2888
2889
|
if (props.state === "expired") {
|
|
2889
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
2890
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "text-ods-text-secondary text-h4", className), children: "Expired" });
|
|
2890
2891
|
}
|
|
2891
2892
|
if (props.state === "kept") {
|
|
2892
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
2893
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
|
|
2893
2894
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-text-primary text-h4", children: [
|
|
2894
2895
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMT45XX7Icjs.LockIcon, { size: 24, color: "currentColor", className: "shrink-0" }),
|
|
2895
2896
|
"Kept"
|
|
@@ -2902,7 +2903,7 @@ function RemoteSessionExpiry(props) {
|
|
|
2902
2903
|
] })
|
|
2903
2904
|
] });
|
|
2904
2905
|
}
|
|
2905
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
2906
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
|
|
2906
2907
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: props.date }),
|
|
2907
2908
|
props.remaining && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: props.remaining })
|
|
2908
2909
|
] });
|
|
@@ -2913,7 +2914,7 @@ function RemoteSessionStorageAlert({ scope, capacity, className }) {
|
|
|
2913
2914
|
"div",
|
|
2914
2915
|
{
|
|
2915
2916
|
role: "alert",
|
|
2916
|
-
className:
|
|
2917
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
2917
2918
|
"flex w-full items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-warning-secondary p-[var(--spacing-system-s)] text-ods-warning",
|
|
2918
2919
|
className
|
|
2919
2920
|
),
|