@flamingo-stack/openframe-frontend-core 0.0.852 → 0.0.854
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/export-map.json +1 -1
- package/dist/{chunk-G7GF4PWA.cjs → chunk-2IJMHBOK.cjs} +3 -3
- package/dist/{chunk-IC4IJJB2.cjs → chunk-3WXHPD6N.cjs} +55 -55
- package/dist/{chunk-UV45EPXN.cjs → chunk-4LTLEUY5.cjs} +5 -5
- package/dist/{chunk-BNHTBLAG.cjs → chunk-4O5N5CGK.cjs} +17 -17
- package/dist/{chunk-COWMXUHN.cjs → chunk-4SSJ3T3N.cjs} +3 -1
- package/dist/{chunk-IUDBG3HJ.cjs → chunk-5HMENXSR.cjs} +3 -3
- package/dist/{chunk-COJG2ATY.cjs → chunk-5OENPMRU.cjs} +43 -43
- package/dist/{chunk-IO6NN3SL.cjs → chunk-5TXE7BXT.cjs} +46 -46
- package/dist/{chunk-EIACEY2L.cjs → chunk-63ZV3UGG.cjs} +10 -10
- package/dist/{chunk-HTYJUMFB.cjs → chunk-6DCUGIGU.cjs} +2 -2
- package/dist/{chunk-GEZ3UXCA.cjs → chunk-6XU3RCK3.cjs} +18 -18
- package/dist/{chunk-3ZQESOPJ.cjs → chunk-7J5NSWJG.cjs} +87 -87
- package/dist/{chunk-MXY2OGEV.cjs → chunk-7MOBD44H.cjs} +28 -28
- package/dist/{chunk-U767P4JU.cjs → chunk-ACPOJE32.cjs} +9 -9
- package/dist/{chunk-CHGIACIP.cjs → chunk-BAA3YCLT.cjs} +72 -72
- package/dist/{chunk-VUHHLRAY.cjs → chunk-D2XGRWPW.cjs} +73 -73
- package/dist/{chunk-5RMBLOJ5.cjs → chunk-EIHMPQRQ.cjs} +9 -9
- package/dist/{chunk-3SJVF3HW.cjs → chunk-ETQNMR2K.cjs} +5 -5
- package/dist/{chunk-2W22LY3W.cjs → chunk-FBANHIAG.cjs} +9 -9
- package/dist/{chunk-P63CRPWI.cjs → chunk-FJXSKMQJ.cjs} +20 -20
- package/dist/{chunk-QOW2GP3V.cjs → chunk-GVHCQRUE.cjs} +21 -21
- package/dist/{chunk-KNN2GCMW.cjs → chunk-H3GBPYPS.cjs} +18 -18
- package/dist/{chunk-FW7RKWPY.cjs → chunk-JKBNK5U6.cjs} +3 -3
- package/dist/{chunk-W7OFAROY.cjs → chunk-KA3L6D5N.cjs} +3 -3
- package/dist/{chunk-USPUZO53.cjs → chunk-LQDAB5V5.cjs} +4 -4
- package/dist/{chunk-KHOB3TES.cjs → chunk-ONYANAMA.cjs} +4 -4
- package/dist/{chunk-D3H6AI7O.cjs → chunk-PRJZMZ3X.cjs} +1182 -746
- package/dist/chunk-QD727QFI.cjs +62 -0
- package/dist/{chunk-X3WIOMEE.cjs → chunk-RMI6O3AE.cjs} +32 -32
- package/dist/{chunk-MFDRCTM3.cjs → chunk-S5P6CF5R.cjs} +47 -47
- package/dist/{chunk-477P6AQH.cjs → chunk-TMPLHUUU.cjs} +6 -6
- package/dist/{chunk-UO2EJGRJ.cjs → chunk-UPQ4MAR7.cjs} +14 -14
- package/dist/{chunk-LFEURIZN.cjs → chunk-VMAOZA2V.cjs} +215 -215
- package/dist/{chunk-NMWLXHFH.cjs → chunk-YY3WP2YQ.cjs} +30 -30
- package/dist/{chunk-WFAZMASF.cjs → chunk-ZDPPNHA2.cjs} +3 -3
- package/dist/{cloud-tenants-O33HCUYB.cjs → cloud-tenants-5RNK4ZAT.cjs} +19 -19
- package/dist/components/case-studies/index.cjs +33 -33
- package/dist/components/chat/index.cjs +13 -13
- package/dist/components/contact/index.cjs +20 -20
- package/dist/components/docs/index.cjs +23 -23
- package/dist/components/embeds/index.cjs +20 -20
- package/dist/components/faq/index.cjs +21 -21
- package/dist/components/features/cloud-tenants/index.d.ts +7 -5
- package/dist/components/features/cloud-tenants/index.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/index.js +8 -1
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.d.ts +26 -0
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.js +176 -0
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts +4 -2
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-access-cell.js +3 -2
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts +12 -5
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-customer-cell.js +38 -7
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.d.ts +7 -0
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.js +17 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts +19 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-presentation.js +24 -3
- package/dist/components/features/cloud-tenants/tenant-row.d.ts +35 -8
- package/dist/components/features/cloud-tenants/tenant-row.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts +9 -3
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-columns.js +5 -3
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts +27 -6
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-view.js +75 -17
- package/dist/components/features/devices/device-directory.d.ts +18 -0
- package/dist/components/features/devices/device-directory.d.ts.map +1 -0
- package/dist/components/features/devices/device-directory.js +35 -0
- package/dist/components/features/devices/devices-filter-toolbar.d.ts +3 -1
- package/dist/components/features/devices/devices-filter-toolbar.d.ts.map +1 -1
- package/dist/components/features/devices/devices-filter-toolbar.js +2 -1
- package/dist/components/features/devices/devices-panel-view.d.ts +3 -1
- package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -1
- package/dist/components/features/devices/devices-panel-view.js +11 -2
- package/dist/components/features/devices/devices-table-columns.d.ts +17 -3
- package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
- package/dist/components/features/devices/devices-table-columns.js +80 -10
- package/dist/components/features/devices/index.d.ts +1 -0
- package/dist/components/features/devices/index.d.ts.map +1 -1
- package/dist/components/features/devices/index.js +8 -0
- package/dist/components/features/devices/types.d.ts +14 -0
- package/dist/components/features/devices/types.d.ts.map +1 -1
- package/dist/components/features/devices/use-tag-filter-modal.d.ts +1 -0
- package/dist/components/features/devices/use-tag-filter-modal.d.ts.map +1 -1
- package/dist/components/features/devices/use-tag-filter-modal.js +13 -8
- package/dist/components/features/index.cjs +33 -19
- package/dist/components/help-center-pages/index.cjs +120 -120
- package/dist/components/help-center-pages/trust-center-page.d.ts +1 -1
- package/dist/components/index.cjs +96 -76
- package/dist/components/meeting-scheduler/index.cjs +82 -82
- package/dist/components/navigation/app-layout.js +2 -2
- package/dist/components/navigation/index.cjs +22 -22
- package/dist/components/onboarding-guides/index.cjs +22 -22
- package/dist/components/platform/tool-badge-mark.d.ts +1 -1
- package/dist/components/product-demo/index.cjs +30 -30
- package/dist/components/related-content/index.cjs +8 -8
- package/dist/components/tickets/index.cjs +24 -24
- package/dist/components/ui/data-attribution.d.ts +8 -3
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/data-attribution.js +17 -6
- package/dist/components/ui/date-picker.d.ts +2 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +19 -6
- package/dist/components/ui/index.cjs +25 -19
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -0
- package/dist/{devices-2RGGMC2B.cjs → devices-44O5PZOW.cjs} +20 -20
- package/dist/{embeddable-chat-SJEEJI4N.cjs → embeddable-chat-W3CLMGC3.cjs} +90 -90
- package/dist/hooks/index.cjs +11 -7
- package/dist/hooks/ui/use-content-breakpoint.d.ts +8 -0
- package/dist/hooks/ui/use-content-breakpoint.d.ts.map +1 -1
- package/dist/hooks/ui/use-content-breakpoint.js +17 -3
- package/dist/hooks/ui/use-media-query.d.ts +1 -0
- package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
- package/dist/hooks/ui/use-media-query.js +3 -1
- package/dist/index.cjs +44 -24
- package/dist/{knowledge-5TJIXVMD.cjs → knowledge-UUU3WVO3.cjs} +20 -20
- package/dist/{logs-HGQOTRKZ.cjs → logs-DFHNSODA.cjs} +26 -26
- package/dist/{policies-GWFSLVSM.cjs → policies-RGFUGDBP.cjs} +23 -23
- package/dist/{remote-session-SG44CNOK.cjs → remote-session-U3H77HKR.cjs} +10 -10
- package/dist/{scripts-PGJNAZF4.cjs → scripts-KOVO5DHW.cjs} +26 -26
- package/dist/{software-update-KKLSYHDI.cjs → software-update-4EKHVV5W.cjs} +23 -23
- package/dist/{tickets-board-SQY2Y6QV.cjs → tickets-board-YIFOVMDX.cjs} +10 -10
- package/dist/types/data-sync.d.ts +4 -1
- package/dist/types/data-sync.d.ts.map +1 -1
- package/dist/types/data-sync.js +4 -1
- package/dist/types/index.cjs +4 -1
- package/dist/utils/presentation-for.d.ts +6 -0
- package/dist/utils/presentation-for.d.ts.map +1 -0
- package/dist/utils/presentation-for.js +7 -0
- package/package.json +1 -1
- package/src/components/features/cloud-tenants/index.ts +8 -3
- package/src/components/features/cloud-tenants/single-customer-tenants-table-view.tsx +234 -0
- package/src/components/features/cloud-tenants/tenant-access-cell.tsx +12 -5
- package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +48 -12
- package/src/components/features/cloud-tenants/tenant-licenses-cell.tsx +28 -0
- package/src/components/features/cloud-tenants/tenant-presentation.ts +46 -4
- package/src/components/features/cloud-tenants/tenant-row.ts +38 -8
- package/src/components/features/cloud-tenants/tenants-table-columns.ts +8 -5
- package/src/components/features/cloud-tenants/tenants-table-view.tsx +123 -28
- package/src/components/features/devices/device-directory.ts +55 -0
- package/src/components/features/devices/devices-filter-toolbar.tsx +4 -1
- package/src/components/features/devices/devices-panel-view.tsx +12 -2
- package/src/components/features/devices/devices-table-columns.tsx +123 -8
- package/src/components/features/devices/index.ts +7 -0
- package/src/components/features/devices/types.ts +14 -0
- package/src/components/features/devices/use-tag-filter-modal.ts +32 -14
- package/src/components/help-center-pages/trust-center-page.tsx +1 -1
- package/src/components/navigation/app-layout.tsx +4 -4
- package/src/components/platform/tool-badge-mark.ts +1 -1
- package/src/components/ui/data-attribution.tsx +20 -8
- package/src/components/ui/date-picker.tsx +21 -3
- package/src/components/ui/index.ts +2 -0
- package/src/hooks/ui/use-content-breakpoint.ts +21 -2
- package/src/hooks/ui/use-media-query.ts +1 -0
- package/src/types/data-sync.ts +4 -1
- package/src/utils/presentation-for.ts +10 -0
- package/dist/chunk-UAI4VMEF.cjs +0 -46
|
@@ -12,7 +12,7 @@ var _chunkOT6P57ZScjs = require('./chunk-OT6P57ZS.cjs');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunk63ZV3UGGcjs = require('./chunk-63ZV3UGG.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -99,7 +99,7 @@ var _chunkXIBCMGBWcjs = require('./chunk-XIBCMGBW.cjs');
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
|
|
102
|
-
var
|
|
102
|
+
var _chunkJKBNK5U6cjs = require('./chunk-JKBNK5U6.cjs');
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
@@ -109,14 +109,14 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
|
|
112
|
-
var
|
|
112
|
+
var _chunkKA3L6D5Ncjs = require('./chunk-KA3L6D5N.cjs');
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunk4SSJ3T3Ncjs = require('./chunk-4SSJ3T3N.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
|
|
@@ -195,13 +195,13 @@ function TruncateText({
|
|
|
195
195
|
loading: loadingProp = false
|
|
196
196
|
}) {
|
|
197
197
|
const isMultiLine = lines > 1;
|
|
198
|
-
const { ref, isTruncated } =
|
|
198
|
+
const { ref, isTruncated } = _chunk4SSJ3T3Ncjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
199
199
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) && !children || loadingProp;
|
|
200
200
|
if (loading)
|
|
201
201
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: variant, lines, as, className: _chunk63A4GZMBcjs.cn.call(void 0, "w-3/4", triggerClassName) });
|
|
202
202
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
203
203
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
204
|
-
|
|
204
|
+
_chunkKA3L6D5Ncjs.FloatingTooltip,
|
|
205
205
|
{
|
|
206
206
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
207
207
|
side,
|
|
@@ -349,7 +349,7 @@ function AutocompleteInner(props, ref) {
|
|
|
349
349
|
};
|
|
350
350
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
351
351
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
352
|
-
const keyboardPadding =
|
|
352
|
+
const keyboardPadding = _chunkJKBNK5U6cjs.useKeyboardCollisionPadding.call(void 0, );
|
|
353
353
|
const containerRef = _react.useRef.call(void 0, null);
|
|
354
354
|
const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
|
|
355
355
|
const isInvalid = invalid || !!error;
|
|
@@ -371,7 +371,7 @@ function AutocompleteInner(props, ref) {
|
|
|
371
371
|
textMeasureRef,
|
|
372
372
|
badgeRef,
|
|
373
373
|
inputRef
|
|
374
|
-
} =
|
|
374
|
+
} = _chunkJKBNK5U6cjs.useAutoLimitTags.call(void 0, {
|
|
375
375
|
count: multiple ? selectedOptions.length : 0,
|
|
376
376
|
limitTags: multiple ? wrapTags ? selectedOptions.length : limitTagsProp : 0,
|
|
377
377
|
placeholder: inputPlaceholder
|
|
@@ -590,7 +590,7 @@ function AutocompleteInner(props, ref) {
|
|
|
590
590
|
),
|
|
591
591
|
children: [
|
|
592
592
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
593
|
-
|
|
593
|
+
_chunkKA3L6D5Ncjs.Tag,
|
|
594
594
|
{
|
|
595
595
|
variant: "outline",
|
|
596
596
|
className: wrapTags ? "max-w-full" : void 0,
|
|
@@ -790,7 +790,7 @@ function AutocompleteInner(props, ref) {
|
|
|
790
790
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", ref: containerRef, children: [
|
|
791
791
|
popover,
|
|
792
792
|
multiple && showHiddenTags && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
793
|
-
|
|
793
|
+
_chunk63ZV3UGGcjs.HiddenTagsPopup,
|
|
794
794
|
{
|
|
795
795
|
ref: hiddenTagsPopupRef,
|
|
796
796
|
items: hiddenTags,
|
|
@@ -803,10 +803,10 @@ function AutocompleteInner(props, ref) {
|
|
|
803
803
|
}
|
|
804
804
|
}
|
|
805
805
|
),
|
|
806
|
-
multiple && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": "true", className:
|
|
806
|
+
multiple && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": "true", className: _chunkJKBNK5U6cjs.MEASURE_LAYER_CLASS, children: [
|
|
807
807
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textMeasureRef, "aria-hidden": "true", className: "whitespace-nowrap text-h4", children: inputPlaceholder }),
|
|
808
808
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "flex w-max gap-2", children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
809
|
-
|
|
809
|
+
_chunkKA3L6D5Ncjs.Tag,
|
|
810
810
|
{
|
|
811
811
|
variant: "outline",
|
|
812
812
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1340,13 +1340,13 @@ var ENTITY_IMAGE_SIZE = _chunkPMUCEUFQcjs.TILE_SIZE.entity;
|
|
|
1340
1340
|
var ENTITY_IMAGE_RADIUS_CLASS = "rounded-md";
|
|
1341
1341
|
function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
1342
1342
|
const held = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
1343
|
-
const authedSrc =
|
|
1343
|
+
const authedSrc = _chunk4SSJ3T3Ncjs.useAuthedImageSrc.call(void 0, held ? void 0 : src);
|
|
1344
1344
|
const resolvedSrc = authedSrc;
|
|
1345
1345
|
const [failedSrc, setFailedSrc] = _react2.default.useState(null);
|
|
1346
1346
|
const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
|
|
1347
1347
|
if (held) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityImageSkeleton, { sizeClassName, className });
|
|
1348
1348
|
const showFallback = imageFailed || !resolvedSrc;
|
|
1349
|
-
const initials =
|
|
1349
|
+
const initials = _chunkKA3L6D5Ncjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
|
|
1350
1350
|
if (showFallback) {
|
|
1351
1351
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1352
1352
|
"div",
|
|
@@ -1439,10 +1439,10 @@ function TitleBlock({
|
|
|
1439
1439
|
const titleClass = titleSize === "h1" ? "text-h1" : "text-h2";
|
|
1440
1440
|
const titleOverflowClass = titleWrap ? "break-words" : "truncate";
|
|
1441
1441
|
const skeletonSize = TITLE_SKELETON_SIZE[titleSize];
|
|
1442
|
-
const { ref: titleRef, isTruncated: titleTruncated } =
|
|
1442
|
+
const { ref: titleRef, isTruncated: titleTruncated } = _chunk4SSJ3T3Ncjs.useIsTruncated.call(void 0,
|
|
1443
1443
|
titleLoading ? null : title
|
|
1444
1444
|
);
|
|
1445
|
-
const { ref: subtitleRef, isTruncated: subtitleTruncated } =
|
|
1445
|
+
const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunk4SSJ3T3Ncjs.useIsTruncated.call(void 0,
|
|
1446
1446
|
subtitleLoading ? null : subtitle
|
|
1447
1447
|
);
|
|
1448
1448
|
const titleNode = titleLoading && titleSkeletonLines && titleWrap ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLinesByBreakpointSkeleton, { as: "span", lines: titleSkeletonLines }) : titleLoading && titleSkeletonLines ? (
|
|
@@ -1508,7 +1508,7 @@ function TitleBlock({
|
|
|
1508
1508
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
1509
1509
|
(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: [
|
|
1510
1510
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1511
|
-
|
|
1511
|
+
_chunkKA3L6D5Ncjs.FloatingTooltip,
|
|
1512
1512
|
{
|
|
1513
1513
|
content: title,
|
|
1514
1514
|
side: "bottom",
|
|
@@ -1525,12 +1525,12 @@ function TitleBlock({
|
|
|
1525
1525
|
}
|
|
1526
1526
|
),
|
|
1527
1527
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
1528
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1528
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageTitle, { ref: titleRef, className: _chunk63A4GZMBcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
1529
1529
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
1530
1530
|
empty `p` collapses to zero height (its only content would be
|
|
1531
1531
|
collapsible whitespace), which is exactly the shift that mode
|
|
1532
1532
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
1533
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1533
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1534
1534
|
"p",
|
|
1535
1535
|
{
|
|
1536
1536
|
ref: subtitleRef,
|
|
@@ -1548,7 +1548,7 @@ function TitleBlock({
|
|
|
1548
1548
|
) })
|
|
1549
1549
|
] })
|
|
1550
1550
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
1551
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1551
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1552
1552
|
PageTitle,
|
|
1553
1553
|
{
|
|
1554
1554
|
ref: titleRef,
|
|
@@ -1676,7 +1676,7 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
|
1676
1676
|
children: [
|
|
1677
1677
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center", children: [
|
|
1678
1678
|
faces.map((viewer, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1679
|
-
|
|
1679
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
1680
1680
|
{
|
|
1681
1681
|
variant: "round",
|
|
1682
1682
|
sizePx: 32,
|
|
@@ -1710,7 +1710,7 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
|
1710
1710
|
),
|
|
1711
1711
|
children: [
|
|
1712
1712
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1713
|
-
|
|
1713
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
1714
1714
|
{
|
|
1715
1715
|
variant: "round",
|
|
1716
1716
|
sizePx: 24,
|
|
@@ -1756,7 +1756,7 @@ function RemoteSessionScope({ children, className }) {
|
|
|
1756
1756
|
function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
|
|
1757
1757
|
if (logoUrl) {
|
|
1758
1758
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1759
|
-
|
|
1759
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
1760
1760
|
{
|
|
1761
1761
|
variant: "square",
|
|
1762
1762
|
fit: "contain",
|
|
@@ -1866,7 +1866,7 @@ function RemoteAccessRequestCard({
|
|
|
1866
1866
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionOrgLogo, { name: organizationName, logoUrl: party.organizationLogoUrl, sizePx: 64 }),
|
|
1867
1867
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
1868
1868
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-primary text-h3", children: organizationName }),
|
|
1869
|
-
siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children:
|
|
1869
|
+
siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children: _chunkKA3L6D5Ncjs.formatUrlForDisplay.call(void 0, siteUrl, { keepWww: true }) })
|
|
1870
1870
|
] }),
|
|
1871
1871
|
openableSite && onOpenSite && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.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" }) })
|
|
1872
1872
|
] }),
|
|
@@ -1977,7 +1977,7 @@ function RemoteSessionSummary({
|
|
|
1977
1977
|
...dragHandlers,
|
|
1978
1978
|
children: [
|
|
1979
1979
|
technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1980
|
-
|
|
1980
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
1981
1981
|
{
|
|
1982
1982
|
variant: "round",
|
|
1983
1983
|
sizePx: 48,
|
|
@@ -2031,7 +2031,7 @@ var RemoteSessionMinimizedChip = _react.forwardRef.call(void 0,
|
|
|
2031
2031
|
...dragHandlers,
|
|
2032
2032
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col overflow-hidden rounded-md border border-ods-border", children: [
|
|
2033
2033
|
technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2034
|
-
|
|
2034
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
2035
2035
|
{
|
|
2036
2036
|
sizePx: 48,
|
|
2037
2037
|
src: _nullishCoalesce(party.technicianAvatarUrl, () => ( void 0)),
|
|
@@ -2183,7 +2183,7 @@ function RemoteSessionChatMessageRow({
|
|
|
2183
2183
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
|
|
2184
2184
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2185
2185
|
isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2186
|
-
|
|
2186
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
2187
2187
|
{
|
|
2188
2188
|
variant: "round",
|
|
2189
2189
|
sizePx: 16,
|
|
@@ -2226,7 +2226,7 @@ function RemoteDesktopChatMessageRow({
|
|
|
2226
2226
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: MESSAGE_ROW_CLASS, "aria-hidden": loading || void 0, ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), children: [
|
|
2227
2227
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: MESSAGE_HEAD_CLASS, children: [
|
|
2228
2228
|
isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2229
|
-
|
|
2229
|
+
_chunkKA3L6D5Ncjs.SquareAvatar,
|
|
2230
2230
|
{
|
|
2231
2231
|
loading,
|
|
2232
2232
|
variant: "round",
|
|
@@ -2245,7 +2245,7 @@ function RemoteDesktopChatMessageRow({
|
|
|
2245
2245
|
),
|
|
2246
2246
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", as: "span", className: "w-12 shrink-0" }) : (
|
|
2247
2247
|
// The time is in the viewer's zone, which a server render cannot know.
|
|
2248
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children:
|
|
2248
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunk63ZV3UGGcjs.formatTime.call(void 0, sentAt) })
|
|
2249
2249
|
)
|
|
2250
2250
|
] }),
|
|
2251
2251
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.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 })
|
|
@@ -2311,7 +2311,7 @@ function RemoteDesktopChatPanel({
|
|
|
2311
2311
|
message.id
|
|
2312
2312
|
)) }) }),
|
|
2313
2313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2314
|
-
|
|
2314
|
+
_chunk63ZV3UGGcjs.ChatInput,
|
|
2315
2315
|
{
|
|
2316
2316
|
placeholder: "Enter your Message...",
|
|
2317
2317
|
onSend,
|
|
@@ -2654,9 +2654,9 @@ function KeepRecordingModal({
|
|
|
2654
2654
|
if (!canKeep || isPending) return;
|
|
2655
2655
|
onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
|
|
2656
2656
|
};
|
|
2657
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2657
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2658
2658
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2659
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2659
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Keep this recording" }) }),
|
|
2660
2660
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2661
2661
|
KeepNotice,
|
|
2662
2662
|
{
|
|
@@ -2694,7 +2694,7 @@ function KeepRecordingModal({
|
|
|
2694
2694
|
}
|
|
2695
2695
|
)
|
|
2696
2696
|
] }),
|
|
2697
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2697
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
|
|
2698
2698
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2699
2699
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2700
2700
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2724,9 +2724,9 @@ function ReleaseKeepingModal({
|
|
|
2724
2724
|
isPending = false,
|
|
2725
2725
|
onConfirm
|
|
2726
2726
|
}) {
|
|
2727
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2727
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2728
2728
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2729
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Release Keeping" }) }),
|
|
2730
2730
|
/* @__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: [
|
|
2731
2731
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
|
|
2732
2732
|
"Kept by ",
|
|
@@ -2743,7 +2743,7 @@ function ReleaseKeepingModal({
|
|
|
2743
2743
|
] })
|
|
2744
2744
|
] }),
|
|
2745
2745
|
/* @__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." }),
|
|
2746
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2746
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
|
|
2747
2747
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2748
2748
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2749
2749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
|
|
@@ -2785,9 +2785,9 @@ function AssignTicketModal({
|
|
|
2785
2785
|
if (ticketIds.length === 0 || isPending) return;
|
|
2786
2786
|
onConfirm(ticketIds);
|
|
2787
2787
|
};
|
|
2788
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2788
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2789
2789
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2790
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Assign Ticket" }) }),
|
|
2791
2791
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2792
2792
|
Autocomplete,
|
|
2793
2793
|
{
|
|
@@ -2806,7 +2806,7 @@ function AssignTicketModal({
|
|
|
2806
2806
|
disabled: isPending
|
|
2807
2807
|
}
|
|
2808
2808
|
),
|
|
2809
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2809
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
|
|
2810
2810
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2811
2811
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2812
2812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2825,11 +2825,11 @@ function AssignTicketModal({
|
|
|
2825
2825
|
] });
|
|
2826
2826
|
}
|
|
2827
2827
|
function UnassignTicketModal({ isOpen, onClose, isPending = false, onConfirm }) {
|
|
2828
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2828
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
2829
2829
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
2830
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2830
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Unassign Ticket" }) }),
|
|
2831
2831
|
/* @__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." }),
|
|
2832
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2832
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
|
|
2833
2833
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
2834
2834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
2835
2835
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "destructive", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Unassign" })
|
|
@@ -2910,7 +2910,7 @@ var STATUS_TAG = {
|
|
|
2910
2910
|
function RemoteSessionStatusTag({ status, className }) {
|
|
2911
2911
|
const { label, variant } = STATUS_TAG[status];
|
|
2912
2912
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2913
|
-
|
|
2913
|
+
_chunkKA3L6D5Ncjs.Tag,
|
|
2914
2914
|
{
|
|
2915
2915
|
label,
|
|
2916
2916
|
variant,
|
|
@@ -12,7 +12,7 @@ var _chunkDLTPSP5Fcjs = require('./chunk-DLTPSP5F.cjs');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkFBANHIAGcjs = require('./chunk-FBANHIAG.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -27,7 +27,7 @@ var _chunk2W22LY3Wcjs = require('./chunk-2W22LY3W.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkYY3WP2YQcjs = require('./chunk-YY3WP2YQ.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
var _chunkO3EKOXFZcjs = require('./chunk-O3EKOXFZ.cjs');
|
|
@@ -449,13 +449,13 @@ function programEntry(configKey) {
|
|
|
449
449
|
return cardEntry({
|
|
450
450
|
// The gallery and hosts rows are drawn only for a type whose cards show them (its config's `cardShowsGallery`,
|
|
451
451
|
// `cardShowsHosts`), as `ProgramCard` decides in a scope: elsewhere a record may have none.
|
|
452
|
-
skeleton: (size, extras) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
452
|
+
skeleton: (size, extras) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.ProgramCard, { loading: true, config: _optionalChain([extras, 'optionalAccess', _2 => _2.programConfigs, 'optionalAccess', _3 => _3[configKey]]), size: size === "sm" ? "sm" : "default" }),
|
|
453
453
|
decode: decodeProgramRow,
|
|
454
454
|
render: (item, ctx) => {
|
|
455
455
|
const config = _optionalChain([ctx, 'access', _4 => _4.extras, 'optionalAccess', _5 => _5.programConfigs, 'optionalAccess', _6 => _6[configKey]]);
|
|
456
456
|
if (!config) return null;
|
|
457
457
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
458
|
-
|
|
458
|
+
_chunkYY3WP2YQcjs.ProgramCard,
|
|
459
459
|
{
|
|
460
460
|
config,
|
|
461
461
|
item,
|
|
@@ -473,10 +473,10 @@ function programEntry(configKey) {
|
|
|
473
473
|
}
|
|
474
474
|
function roadmapEntry(cardType) {
|
|
475
475
|
return cardEntry({
|
|
476
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
476
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.RoadmapCard, { loading: true, size: size === "sm" ? "sm" : "default" }),
|
|
477
477
|
decode: decodeRoadmapRow,
|
|
478
478
|
render: (item, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
479
|
-
|
|
479
|
+
_chunkYY3WP2YQcjs.RoadmapCard,
|
|
480
480
|
{
|
|
481
481
|
item,
|
|
482
482
|
href: ctx.href,
|
|
@@ -493,10 +493,10 @@ function roadmapEntry(cardType) {
|
|
|
493
493
|
}
|
|
494
494
|
var RELATED_CARD_REGISTRY = {
|
|
495
495
|
blog_post_existing: cardEntry({
|
|
496
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
496
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.BlogCard, { loading: true, size: size === "sm" ? "sm" : "default" }),
|
|
497
497
|
decode: decodeBlogRow,
|
|
498
498
|
render: (post, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
499
|
-
|
|
499
|
+
_chunkYY3WP2YQcjs.BlogCard,
|
|
500
500
|
{
|
|
501
501
|
post,
|
|
502
502
|
size: ctx.legacySize,
|
|
@@ -524,10 +524,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
524
524
|
)
|
|
525
525
|
}),
|
|
526
526
|
customer_interview: cardEntry({
|
|
527
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
527
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.CustomerInterviewCard, { loading: true, size: size === "sm" ? "sm" : "default" }),
|
|
528
528
|
decode: decodeCustomerInterviewRow,
|
|
529
529
|
render: (interview, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
530
|
-
|
|
530
|
+
_chunkYY3WP2YQcjs.CustomerInterviewCard,
|
|
531
531
|
{
|
|
532
532
|
interview,
|
|
533
533
|
size: ctx.legacySize,
|
|
@@ -545,13 +545,13 @@ var RELATED_CARD_REGISTRY = {
|
|
|
545
545
|
* record, and the three props the rail sets itself are read off it.
|
|
546
546
|
*/
|
|
547
547
|
product_release: cardEntry({
|
|
548
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
548
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.ProductReleaseCard, { loading: true, size: size === "sm" ? "sm" : "lg" }),
|
|
549
549
|
decode: asRecord,
|
|
550
550
|
render: (release, ctx) => {
|
|
551
|
-
const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _7 => _7.extras, 'optionalAccess', _8 => _8.buildProductReleaseCardProps]), () => (
|
|
551
|
+
const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _7 => _7.extras, 'optionalAccess', _8 => _8.buildProductReleaseCardProps]), () => ( _chunkYY3WP2YQcjs.buildProductReleaseCardProps));
|
|
552
552
|
const releaseProps = buildReleaseProps(release);
|
|
553
553
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
554
|
-
|
|
554
|
+
_chunkYY3WP2YQcjs.ProductReleaseCard,
|
|
555
555
|
{
|
|
556
556
|
size: ctx.size === "sm" ? "sm" : "lg",
|
|
557
557
|
title: str(release, "title"),
|
|
@@ -567,10 +567,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
567
567
|
webinar: programEntry("webinar"),
|
|
568
568
|
event: programEntry("event"),
|
|
569
569
|
investor_update: cardEntry({
|
|
570
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
570
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.InvestorUpdateCard, { loading: true, size: size === "sm" ? "sm" : "default" }),
|
|
571
571
|
decode: decodeInvestorUpdateRow,
|
|
572
572
|
render: (update, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
573
|
-
|
|
573
|
+
_chunkYY3WP2YQcjs.InvestorUpdateCard,
|
|
574
574
|
{
|
|
575
575
|
update,
|
|
576
576
|
size: ctx.legacySize,
|
|
@@ -585,10 +585,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
585
585
|
* step-numbered 'default' variant is for the guide detail page's "More in
|
|
586
586
|
* section" rail, not this full-width row. */
|
|
587
587
|
onboarding_guide: cardEntry({
|
|
588
|
-
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
588
|
+
skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.OnboardingGuideCard, { loading: true, size: size === "sm" ? "sm" : "catalog", published: false }),
|
|
589
589
|
decode: decodeOnboardingGuideRow,
|
|
590
590
|
render: (guide, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
591
|
-
|
|
591
|
+
_chunkYY3WP2YQcjs.OnboardingGuideCard,
|
|
592
592
|
{
|
|
593
593
|
guide,
|
|
594
594
|
size: ctx.size === "sm" ? "sm" : "catalog",
|
|
@@ -605,10 +605,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
605
605
|
* href: an object with `href: undefined` is still truthy and would wrap the
|
|
606
606
|
* card in a dead <a>. */
|
|
607
607
|
what_i_shipped: cardEntry({
|
|
608
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
608
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFBANHIAGcjs.WhatIShippedCard, { loading: true }),
|
|
609
609
|
decode: decodeEmployeeEntryRow,
|
|
610
610
|
render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
611
|
-
|
|
611
|
+
_chunkFBANHIAGcjs.WhatIShippedCard,
|
|
612
612
|
{
|
|
613
613
|
entry,
|
|
614
614
|
placeholderUrl: ctx.placeholderUrl,
|
|
@@ -618,10 +618,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
618
618
|
}),
|
|
619
619
|
/** Same shared employee-entry shape + anchor contract as What I Shipped. */
|
|
620
620
|
how_i_work: cardEntry({
|
|
621
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
621
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFBANHIAGcjs.HowIWorkCard, { loading: true }),
|
|
622
622
|
decode: decodeEmployeeEntryRow,
|
|
623
623
|
render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
624
|
-
|
|
624
|
+
_chunkFBANHIAGcjs.HowIWorkCard,
|
|
625
625
|
{
|
|
626
626
|
entry,
|
|
627
627
|
placeholderUrl: ctx.placeholderUrl,
|
|
@@ -631,10 +631,10 @@ var RELATED_CARD_REGISTRY = {
|
|
|
631
631
|
}),
|
|
632
632
|
/** Same shared employee-entry shape + anchor contract as What I Shipped. */
|
|
633
633
|
ai_prompt: cardEntry({
|
|
634
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
634
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFBANHIAGcjs.AiPromptCard, { loading: true }),
|
|
635
635
|
decode: decodeEmployeeEntryRow,
|
|
636
636
|
render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
637
|
-
|
|
637
|
+
_chunkFBANHIAGcjs.AiPromptCard,
|
|
638
638
|
{
|
|
639
639
|
entry,
|
|
640
640
|
placeholderUrl: ctx.placeholderUrl,
|
|
@@ -718,9 +718,9 @@ function useGroupItems(type, refs, buildUrl, seedRows) {
|
|
|
718
718
|
() => seedRows && url !== null ? /* @__PURE__ */ new Map([[url, [...seedRows]]]) : /* @__PURE__ */ new Map()
|
|
719
719
|
);
|
|
720
720
|
const cached = url !== null ? pages.get(url) : void 0;
|
|
721
|
-
const { data, dataUrl, error } =
|
|
721
|
+
const { data, dataUrl, error } = _chunkFBANHIAGcjs.useSelfFetch.call(void 0, cached ? null : url);
|
|
722
722
|
if (data != null && dataUrl !== null && !pages.has(dataUrl)) {
|
|
723
|
-
setPages(new Map(pages).set(dataUrl,
|
|
723
|
+
setPages(new Map(pages).set(dataUrl, _chunkYY3WP2YQcjs.extractItems.call(void 0, data)));
|
|
724
724
|
}
|
|
725
725
|
if (url === null) return { items: null, isLoading: false };
|
|
726
726
|
return { items: _nullishCoalesce(cached, () => ( (error ? [] : null))), isLoading: !cached && !error };
|
|
@@ -729,7 +729,7 @@ function gridClassFor(columns) {
|
|
|
729
729
|
return columns === 3 ? "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6" : "grid grid-cols-1 sm:grid-cols-2 gap-6";
|
|
730
730
|
}
|
|
731
731
|
function resolveGroupConfig(type) {
|
|
732
|
-
return _nullishCoalesce(
|
|
732
|
+
return _nullishCoalesce(_chunkFBANHIAGcjs.CONTENT_REF_GROUPS[type], () => ( {
|
|
733
733
|
label: type,
|
|
734
734
|
order: 999,
|
|
735
735
|
layout: "grid",
|
|
@@ -742,15 +742,15 @@ var GROUP_HEADING_CLASS = "font-semibold text-ods-text-secondary text-h5";
|
|
|
742
742
|
var RAIL_CLASS = "flex flex-col gap-8";
|
|
743
743
|
var UNKNOWN_TYPE_CARD = "blog_post_existing";
|
|
744
744
|
function GroupHeading({ type }) {
|
|
745
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: GROUP_HEADING_CLASS, children:
|
|
745
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: GROUP_HEADING_CLASS, children: _chunkFBANHIAGcjs.getContentRefLabelOrTitleCase.call(void 0, type) });
|
|
746
746
|
}
|
|
747
747
|
function orderRailTypes(types, entityType) {
|
|
748
|
-
let ordered =
|
|
748
|
+
let ordered = _chunkFBANHIAGcjs.orderContentRefTypes.call(void 0, types);
|
|
749
749
|
if (entityType) {
|
|
750
|
-
const canonicalEntityType =
|
|
751
|
-
const sameType = ordered.filter((t) =>
|
|
750
|
+
const canonicalEntityType = _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, entityType);
|
|
751
|
+
const sameType = ordered.filter((t) => _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
|
|
752
752
|
if (sameType.length > 0) {
|
|
753
|
-
ordered = [...sameType, ...ordered.filter((t) =>
|
|
753
|
+
ordered = [...sameType, ...ordered.filter((t) => _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
|
|
754
754
|
}
|
|
755
755
|
}
|
|
756
756
|
return ordered;
|
|
@@ -779,8 +779,8 @@ function ContentGroup({
|
|
|
779
779
|
setPagedRefsKey(refsKey);
|
|
780
780
|
setPage(1);
|
|
781
781
|
}
|
|
782
|
-
const totalGroupPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, refs.length,
|
|
783
|
-
const pageRefs = refs.slice((page - 1) *
|
|
782
|
+
const totalGroupPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, refs.length, _chunkFBANHIAGcjs.GROUP_PAGE_SIZE);
|
|
783
|
+
const pageRefs = refs.slice((page - 1) * _chunkFBANHIAGcjs.GROUP_PAGE_SIZE, page * _chunkFBANHIAGcjs.GROUP_PAGE_SIZE);
|
|
784
784
|
const { items, isLoading } = useGroupItems(type, pageRefs, buildUrl, seedRows);
|
|
785
785
|
const groupPagination = totalGroupPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDLTPSP5Fcjs.Pagination, { currentPage: page, totalPages: totalGroupPages, onPageChange: setPage }) : null;
|
|
786
786
|
_react.useEffect.call(void 0, () => {
|
|
@@ -800,7 +800,7 @@ function ContentGroup({
|
|
|
800
800
|
}
|
|
801
801
|
if (!items) return null;
|
|
802
802
|
const rowKey = (it) => {
|
|
803
|
-
const extracted =
|
|
803
|
+
const extracted = _chunkYY3WP2YQcjs.extractItemId.call(void 0, type, it);
|
|
804
804
|
if (extracted !== null) return extracted;
|
|
805
805
|
return String(typeof it === "object" && it !== null ? it.id : void 0);
|
|
806
806
|
};
|
|
@@ -871,11 +871,11 @@ function RelatedContentSection({
|
|
|
871
871
|
types: includeTypes !== void 0 ? includeTypes.join(",") : void 0,
|
|
872
872
|
excludeTypes: excludeTypes && excludeTypes.length > 0 ? excludeTypes.join(",") : void 0
|
|
873
873
|
};
|
|
874
|
-
const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ?
|
|
874
|
+
const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkFBANHIAGcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
|
|
875
875
|
apiBaseUrl,
|
|
876
876
|
extraParams: { authorId, ...typeFilterParams }
|
|
877
877
|
}) : null;
|
|
878
|
-
const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ?
|
|
878
|
+
const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkFBANHIAGcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
|
|
879
879
|
apiBaseUrl,
|
|
880
880
|
entityType,
|
|
881
881
|
entityId,
|
|
@@ -892,7 +892,7 @@ function RelatedContentSection({
|
|
|
892
892
|
() => !suggestionsDisabled && initialItems ? { refs: initialItems } : void 0,
|
|
893
893
|
[initialItems, suggestionsDisabled]
|
|
894
894
|
);
|
|
895
|
-
const { data, isLoading } =
|
|
895
|
+
const { data, isLoading } = _chunkFBANHIAGcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
|
|
896
896
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
897
897
|
const [loadingTypes, setLoadingTypes] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
898
898
|
const onGroupLoadingChange = _react.useCallback.call(void 0, (type, loading) => {
|
|
@@ -905,7 +905,7 @@ function RelatedContentSection({
|
|
|
905
905
|
});
|
|
906
906
|
}, []);
|
|
907
907
|
const effectiveBuildListUrl = _react.useMemo.call(void 0,
|
|
908
|
-
() => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) =>
|
|
908
|
+
() => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunkYY3WP2YQcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
|
|
909
909
|
[buildListUrl2, apiBaseUrl]
|
|
910
910
|
);
|
|
911
911
|
const refs = _nullishCoalesce(_nullishCoalesce(contentRefs, () => ( _optionalChain([data, 'optionalAccess', _12 => _12.refs]))), () => ( []));
|
|
@@ -929,7 +929,7 @@ function RelatedContentSection({
|
|
|
929
929
|
}
|
|
930
930
|
if (!showWhenEmpty) return null;
|
|
931
931
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
|
|
932
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children:
|
|
932
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunkYY3WP2YQcjs.accentSentenceMarks.call(void 0, title) }),
|
|
933
933
|
_nullishCoalesce(emptyState, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyStateText })))
|
|
934
934
|
] });
|
|
935
935
|
}
|
|
@@ -955,7 +955,7 @@ function RelatedContentSection({
|
|
|
955
955
|
);
|
|
956
956
|
}
|
|
957
957
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { as: "section", label: "Loading related content", announce: loadingTypes.size > 0, className: RAIL_CLASS, children: [
|
|
958
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: RAIL_TITLE_CLASS, children:
|
|
958
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: RAIL_TITLE_CLASS, children: _chunkYY3WP2YQcjs.accentSentenceMarks.call(void 0, title) }),
|
|
959
959
|
orderedTypes.map((type, groupIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
960
960
|
ContentGroup,
|
|
961
961
|
{
|
|
@@ -986,24 +986,24 @@ function RelatedContentSectionSkeleton({
|
|
|
986
986
|
adminCampaignCard,
|
|
987
987
|
extras
|
|
988
988
|
}) {
|
|
989
|
-
const canonicalEntityType = entityType ?
|
|
989
|
+
const canonicalEntityType = entityType ? _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, entityType) : null;
|
|
990
990
|
const unknownGroup = types.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: GROUP_CLASS, "aria-hidden": true, "data-loading-item": true, children: [
|
|
991
991
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: GROUP_HEADING_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) }),
|
|
992
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: gridClassFor(columns), children: Array.from({ length:
|
|
992
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: gridClassFor(columns), children: Array.from({ length: _chunkFBANHIAGcjs.GROUP_PAGE_SIZE }, (_, i) => (
|
|
993
993
|
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton cards never reorder
|
|
994
994
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, children: renderSkeletonForType(UNKNOWN_TYPE_CARD, "default", adminCampaignCard, extras) }, i)
|
|
995
995
|
)) })
|
|
996
996
|
] }) : null;
|
|
997
997
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { as: "section", label: "Loading related content", className: RAIL_CLASS, children: [
|
|
998
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: RAIL_TITLE_CLASS, children: title ?
|
|
998
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: RAIL_TITLE_CLASS, children: title ? _chunkYY3WP2YQcjs.accentSentenceMarks.call(void 0, title) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-1/2" }) }),
|
|
999
999
|
unknownGroup,
|
|
1000
1000
|
orderRailTypes(new Set(types), entityType).map((type) => {
|
|
1001
1001
|
const config = resolveGroupConfig(type);
|
|
1002
|
-
const sameType = canonicalEntityType !== null &&
|
|
1002
|
+
const sameType = canonicalEntityType !== null && _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, type) === canonicalEntityType;
|
|
1003
1003
|
const isList = config.layout === "list";
|
|
1004
1004
|
const count = Math.min(
|
|
1005
|
-
|
|
1006
|
-
_nullishCoalesce((sameType ? _nullishCoalesce(sameTypeMinResults, () => ( minResults)) : minResults), () => (
|
|
1005
|
+
_chunkFBANHIAGcjs.GROUP_PAGE_SIZE,
|
|
1006
|
+
_nullishCoalesce((sameType ? _nullishCoalesce(sameTypeMinResults, () => ( minResults)) : minResults), () => ( _chunkFBANHIAGcjs.GROUP_PAGE_SIZE))
|
|
1007
1007
|
);
|
|
1008
1008
|
const cards = Array.from({ length: count }, (_, i) => (
|
|
1009
1009
|
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton cards never reorder
|