@flamingo-stack/openframe-frontend-core 0.0.325 → 0.0.326-snapshot.20260626135722
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/{chunk-U74OC6PM.cjs → chunk-3AXH7BDM.cjs} +26 -26
- package/dist/{chunk-U74OC6PM.cjs.map → chunk-3AXH7BDM.cjs.map} +1 -1
- package/dist/{chunk-VSUBZBG7.js → chunk-3UVR2JIB.js} +2 -2
- package/dist/{chunk-GYWMN4AK.js → chunk-46GJFN4V.js} +4 -4
- package/dist/{chunk-5GXMQPG7.cjs → chunk-4ZHA24HS.cjs} +37 -37
- package/dist/{chunk-5GXMQPG7.cjs.map → chunk-4ZHA24HS.cjs.map} +1 -1
- package/dist/{chunk-VUE2FSVD.js → chunk-5WDRXBM3.js} +2 -2
- package/dist/{chunk-HS2YU2NF.js → chunk-62O2VTR2.js} +2 -2
- package/dist/{chunk-XTV2EZHO.cjs → chunk-7FY2OM5W.cjs} +31 -31
- package/dist/{chunk-XTV2EZHO.cjs.map → chunk-7FY2OM5W.cjs.map} +1 -1
- package/dist/{chunk-5COLEZW6.cjs → chunk-BWWUHOE3.cjs} +62 -62
- package/dist/{chunk-5COLEZW6.cjs.map → chunk-BWWUHOE3.cjs.map} +1 -1
- package/dist/{chunk-5DXWGCTW.cjs → chunk-CRHOAKG5.cjs} +56 -56
- package/dist/{chunk-5DXWGCTW.cjs.map → chunk-CRHOAKG5.cjs.map} +1 -1
- package/dist/{chunk-P3IIAUCL.js → chunk-CWXO6VCD.js} +4253 -4172
- package/dist/chunk-CWXO6VCD.js.map +1 -0
- package/dist/{chunk-AYBSXRRC.cjs → chunk-GABTFTDE.cjs} +879 -798
- package/dist/chunk-GABTFTDE.cjs.map +1 -0
- package/dist/{chunk-4USOR7KK.cjs → chunk-HQ6BILVP.cjs} +25 -25
- package/dist/{chunk-4USOR7KK.cjs.map → chunk-HQ6BILVP.cjs.map} +1 -1
- package/dist/{chunk-WAYJ7VBD.cjs → chunk-I4OFXYJR.cjs} +12 -12
- package/dist/{chunk-WAYJ7VBD.cjs.map → chunk-I4OFXYJR.cjs.map} +1 -1
- package/dist/{chunk-XFRQUV5M.js → chunk-IDMM6DVL.js} +2 -2
- package/dist/{chunk-MIVP6B6P.js → chunk-J4HHXHMC.js} +4 -4
- package/dist/{chunk-6GSM6K5W.js → chunk-LESTX5DM.js} +2 -2
- package/dist/{chunk-EQSGC5WT.js → chunk-MJUYWNQB.js} +2 -2
- package/dist/{chunk-5HRCKYFX.cjs → chunk-MWAEG3XK.cjs} +9 -9
- package/dist/{chunk-5HRCKYFX.cjs.map → chunk-MWAEG3XK.cjs.map} +1 -1
- package/dist/{chunk-XQBK7IVF.cjs → chunk-NROSNR5J.cjs} +15 -15
- package/dist/{chunk-XQBK7IVF.cjs.map → chunk-NROSNR5J.cjs.map} +1 -1
- package/dist/{chunk-QLSUOQMU.cjs → chunk-PGFQ6WQR.cjs} +7 -7
- package/dist/{chunk-QLSUOQMU.cjs.map → chunk-PGFQ6WQR.cjs.map} +1 -1
- package/dist/{chunk-UJIDDEXD.js → chunk-QF4XERYJ.js} +2 -2
- package/dist/{chunk-5CWJGCOL.js → chunk-U7GDY7Y3.js} +4 -4
- package/dist/{chunk-5YGKK636.js → chunk-UHHJIHUZ.js} +4 -4
- package/dist/{chunk-K2PS5MJH.cjs → chunk-XDNQJQGP.cjs} +5 -5
- package/dist/{chunk-K2PS5MJH.cjs.map → chunk-XDNQJQGP.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +122 -120
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +11 -9
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +4 -2
- package/dist/components/ui/index.cjs.map +1 -1
- 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 +3 -1
- package/dist/components/ui/info-section.d.ts +63 -0
- package/dist/components/ui/info-section.d.ts.map +1 -0
- package/dist/components/ui/page-actions.d.ts +2 -0
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/ticket-attachments-list.d.ts +2 -0
- package/dist/components/ui/ticket-attachments-list.d.ts.map +1 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/package.json +1 -1
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/info-section.tsx +151 -0
- package/src/components/ui/page-actions.tsx +16 -0
- package/src/components/ui/ticket-attachments-list.tsx +14 -2
- package/src/stories/InfoSection.stories.tsx +110 -0
- package/dist/chunk-AYBSXRRC.cjs.map +0 -1
- package/dist/chunk-P3IIAUCL.js.map +0 -1
- /package/dist/{chunk-VSUBZBG7.js.map → chunk-3UVR2JIB.js.map} +0 -0
- /package/dist/{chunk-GYWMN4AK.js.map → chunk-46GJFN4V.js.map} +0 -0
- /package/dist/{chunk-VUE2FSVD.js.map → chunk-5WDRXBM3.js.map} +0 -0
- /package/dist/{chunk-HS2YU2NF.js.map → chunk-62O2VTR2.js.map} +0 -0
- /package/dist/{chunk-XFRQUV5M.js.map → chunk-IDMM6DVL.js.map} +0 -0
- /package/dist/{chunk-MIVP6B6P.js.map → chunk-J4HHXHMC.js.map} +0 -0
- /package/dist/{chunk-6GSM6K5W.js.map → chunk-LESTX5DM.js.map} +0 -0
- /package/dist/{chunk-EQSGC5WT.js.map → chunk-MJUYWNQB.js.map} +0 -0
- /package/dist/{chunk-UJIDDEXD.js.map → chunk-QF4XERYJ.js.map} +0 -0
- /package/dist/{chunk-5CWJGCOL.js.map → chunk-U7GDY7Y3.js.map} +0 -0
- /package/dist/{chunk-5YGKK636.js.map → chunk-UHHJIHUZ.js.map} +0 -0
|
@@ -243,7 +243,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
|
|
|
243
243
|
|
|
244
244
|
// src/components/pagination.tsx
|
|
245
245
|
var _lucidereact = require('lucide-react');
|
|
246
|
-
var _react = require('react'); var
|
|
246
|
+
var _react = require('react'); var React113 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React24 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React29 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React38 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React41 = _interopRequireWildcard(_react); var React42 = _interopRequireWildcard(_react); var React43 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React59 = _interopRequireWildcard(_react); var React60 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React74 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React77 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React80 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React91 = _interopRequireWildcard(_react); var React92 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React96 = _interopRequireWildcard(_react); var React94 = _interopRequireWildcard(_react); var React93 = _interopRequireWildcard(_react); var React95 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React106 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var React112 = _interopRequireWildcard(_react); var React115 = _interopRequireWildcard(_react); var React116 = _interopRequireWildcard(_react); var React118 = _interopRequireWildcard(_react); var React119 = _interopRequireWildcard(_react); var React122 = _interopRequireWildcard(_react); var React121 = _interopRequireWildcard(_react); var React120 = _interopRequireWildcard(_react); var React124 = _interopRequireWildcard(_react); var React123 = _interopRequireWildcard(_react); var React132 = _interopRequireWildcard(_react); var React131 = _interopRequireWildcard(_react);
|
|
247
247
|
var _jsxruntime = require('react/jsx-runtime');
|
|
248
248
|
var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
|
|
249
249
|
var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
@@ -335,19 +335,19 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
335
335
|
) })
|
|
336
336
|
] }) });
|
|
337
337
|
};
|
|
338
|
-
PaginationContent = exports.PaginationContent =
|
|
338
|
+
PaginationContent = exports.PaginationContent = React113.forwardRef(
|
|
339
339
|
({ className, ...props }, ref) => {
|
|
340
340
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center justify-center", className), ...props });
|
|
341
341
|
}
|
|
342
342
|
);
|
|
343
343
|
PaginationContent.displayName = "PaginationContent";
|
|
344
|
-
PaginationItem = exports.PaginationItem =
|
|
344
|
+
PaginationItem = exports.PaginationItem = React113.forwardRef(
|
|
345
345
|
({ className, ...props }, ref) => {
|
|
346
346
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ref, className: _chunkFIG2RKZFcjs.cn.call(void 0, "", className), ...props });
|
|
347
347
|
}
|
|
348
348
|
);
|
|
349
349
|
PaginationItem.displayName = "PaginationItem";
|
|
350
|
-
PaginationLink = exports.PaginationLink =
|
|
350
|
+
PaginationLink = exports.PaginationLink = React113.forwardRef(
|
|
351
351
|
({ className, ...props }, ref) => {
|
|
352
352
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
353
353
|
"button",
|
|
@@ -363,7 +363,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
363
363
|
}
|
|
364
364
|
);
|
|
365
365
|
PaginationLink.displayName = "PaginationLink";
|
|
366
|
-
PaginationEllipsis = exports.PaginationEllipsis =
|
|
366
|
+
PaginationEllipsis = exports.PaginationEllipsis = React113.forwardRef(
|
|
367
367
|
({ className, ...props }, ref) => {
|
|
368
368
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
369
369
|
"span",
|
|
@@ -380,7 +380,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
380
380
|
}
|
|
381
381
|
);
|
|
382
382
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
383
|
-
PaginationPrevious = exports.PaginationPrevious =
|
|
383
|
+
PaginationPrevious = exports.PaginationPrevious = React113.forwardRef(
|
|
384
384
|
({ className, ...props }, ref) => {
|
|
385
385
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
|
|
386
386
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -389,7 +389,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
389
389
|
}
|
|
390
390
|
);
|
|
391
391
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
392
|
-
PaginationNext = exports.PaginationNext =
|
|
392
|
+
PaginationNext = exports.PaginationNext = React113.forwardRef(
|
|
393
393
|
({ className, ...props }, ref) => {
|
|
394
394
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
|
|
395
395
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -2552,7 +2552,7 @@ var ActionsMenu = ({
|
|
|
2552
2552
|
className: `relative min-w-[256px] max-h-[var(--radix-popper-available-height)] bg-ods-bg border border-ods-border rounded-md shadow-lg overflow-y-auto ${className}`,
|
|
2553
2553
|
children: groups.map((group, groupIndex) => {
|
|
2554
2554
|
const groupKey = group.id || group.items.map((i) => i.id).join("|");
|
|
2555
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2555
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React113.default.Fragment, { children: [
|
|
2556
2556
|
group.items.map((item, itemIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2557
2557
|
MenuItem,
|
|
2558
2558
|
{
|
|
@@ -4761,7 +4761,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
4761
4761
|
cache.set(key, entry);
|
|
4762
4762
|
}
|
|
4763
4763
|
const rendered = entry.node;
|
|
4764
|
-
if (
|
|
4764
|
+
if (React113.default.isValidElement(rendered) && rendered.type === BlockCard) {
|
|
4765
4765
|
const props2 = rendered.props;
|
|
4766
4766
|
const markerEnd = match2.index + match2[0].length;
|
|
4767
4767
|
parts.push({ kind: "text", text: text.slice(cursor, markerEnd) });
|
|
@@ -7505,7 +7505,7 @@ var formatTokenCount = (count) => {
|
|
|
7505
7505
|
return String(count);
|
|
7506
7506
|
};
|
|
7507
7507
|
var hasAnyBreakdownRow = (breakdown) => !!breakdown && !!(breakdown.haikuRewriter || breakdown.haikuClassifier || breakdown.haikuSummarizer);
|
|
7508
|
-
var ModelDisplay =
|
|
7508
|
+
var ModelDisplay = React113.default.forwardRef(
|
|
7509
7509
|
({
|
|
7510
7510
|
className,
|
|
7511
7511
|
provider,
|
|
@@ -7627,7 +7627,7 @@ function BreakdownRow({
|
|
|
7627
7627
|
] });
|
|
7628
7628
|
}
|
|
7629
7629
|
ModelDisplay.displayName = "ModelDisplay";
|
|
7630
|
-
var ModelDisplaySkeleton =
|
|
7630
|
+
var ModelDisplaySkeleton = React113.default.forwardRef(
|
|
7631
7631
|
({ className, showTokens = false, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7632
7632
|
"div",
|
|
7633
7633
|
{
|
|
@@ -8826,7 +8826,7 @@ var _muxplayerreact = require('@mux/mux-player-react'); var _muxplayerreact2 = _
|
|
|
8826
8826
|
|
|
8827
8827
|
// src/utils/fetch-priority.ts
|
|
8828
8828
|
|
|
8829
|
-
var REACT_MAJOR = parseInt((
|
|
8829
|
+
var REACT_MAJOR = parseInt((React113.default.version || "0").split(".")[0], 10);
|
|
8830
8830
|
var USE_CAMEL_CASE_FETCH_PRIORITY = REACT_MAJOR >= 19;
|
|
8831
8831
|
function fetchPriorityProp(priority) {
|
|
8832
8832
|
const value = priority === void 0 ? "auto" : typeof priority === "boolean" ? priority ? "high" : "low" : priority;
|
|
@@ -9492,7 +9492,7 @@ function ChatVideoEntityCard({
|
|
|
9492
9492
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
9493
9493
|
|
|
9494
9494
|
|
|
9495
|
-
var InteractiveCard =
|
|
9495
|
+
var InteractiveCard = React113.default.forwardRef(
|
|
9496
9496
|
({
|
|
9497
9497
|
children,
|
|
9498
9498
|
onClick,
|
|
@@ -13062,7 +13062,7 @@ function InfoCard({ data, className = "" }) {
|
|
|
13062
13062
|
data.subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-secondary truncate self-stretch", title: data.subtitle, children: data.subtitle }),
|
|
13063
13063
|
data.items.map((item, index) => {
|
|
13064
13064
|
const values = Array.isArray(item.value) ? item.value : [item.value];
|
|
13065
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13065
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: values.map((val, valIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13066
13066
|
InfoCardValueRow,
|
|
13067
13067
|
{
|
|
13068
13068
|
label: item.label,
|
|
@@ -13154,11 +13154,316 @@ function InfoRow({ label, value, icon }) {
|
|
|
13154
13154
|
] });
|
|
13155
13155
|
}
|
|
13156
13156
|
|
|
13157
|
+
// src/components/ui/info-section.tsx
|
|
13158
|
+
_chunkWBR7H6E3cjs.init_next_link.call(void 0, );
|
|
13159
|
+
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
13160
|
+
|
|
13161
|
+
// src/components/ui/assignee-dropdown.tsx
|
|
13162
|
+
|
|
13163
|
+
|
|
13164
|
+
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
13165
|
+
|
|
13166
|
+
function AssigneeDropdown(props) {
|
|
13167
|
+
if (props.variant === "compact") {
|
|
13168
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CompactAssigneeDropdown, { ...props });
|
|
13169
|
+
}
|
|
13170
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAssigneeDropdown, { ...props });
|
|
13171
|
+
}
|
|
13172
|
+
function CompactAssigneeDropdown({
|
|
13173
|
+
currentAssignee,
|
|
13174
|
+
options,
|
|
13175
|
+
isLoading,
|
|
13176
|
+
onAssign,
|
|
13177
|
+
className
|
|
13178
|
+
}) {
|
|
13179
|
+
const [isOpen, setIsOpen] = React41.useState(false);
|
|
13180
|
+
const [search, setSearch] = React41.useState("");
|
|
13181
|
+
const hasAssignee = !!currentAssignee;
|
|
13182
|
+
React41.useEffect(() => {
|
|
13183
|
+
if (!isOpen) setSearch("");
|
|
13184
|
+
}, [isOpen]);
|
|
13185
|
+
const filtered = React41.useMemo(() => {
|
|
13186
|
+
const q = search.trim().toLowerCase();
|
|
13187
|
+
if (!q) return options;
|
|
13188
|
+
return options.filter((o) => o.label.toLowerCase().includes(q));
|
|
13189
|
+
}, [options, search]);
|
|
13190
|
+
const orderedOptions = React41.useMemo(() => {
|
|
13191
|
+
if (!currentAssignee) return filtered;
|
|
13192
|
+
const current = filtered.find((o) => o.value === currentAssignee.id);
|
|
13193
|
+
if (!current) return filtered;
|
|
13194
|
+
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
13195
|
+
}, [filtered, currentAssignee]);
|
|
13196
|
+
const handleSelect = (userId) => {
|
|
13197
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _258 => _258.id]) === userId ? null : userId;
|
|
13198
|
+
onAssign(next);
|
|
13199
|
+
setIsOpen(false);
|
|
13200
|
+
};
|
|
13201
|
+
const trigger = hasAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13202
|
+
"button",
|
|
13203
|
+
{
|
|
13204
|
+
type: "button",
|
|
13205
|
+
"aria-label": "Change assignee",
|
|
13206
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
13207
|
+
"shrink-0 rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
13208
|
+
className
|
|
13209
|
+
),
|
|
13210
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13211
|
+
SquareAvatar,
|
|
13212
|
+
{
|
|
13213
|
+
src: currentAssignee.avatarSrc,
|
|
13214
|
+
alt: currentAssignee.name,
|
|
13215
|
+
fallback: currentAssignee.name || "User",
|
|
13216
|
+
size: "sm",
|
|
13217
|
+
variant: "round"
|
|
13218
|
+
}
|
|
13219
|
+
)
|
|
13220
|
+
}
|
|
13221
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13222
|
+
"button",
|
|
13223
|
+
{
|
|
13224
|
+
type: "button",
|
|
13225
|
+
"aria-label": "Assign user",
|
|
13226
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
13227
|
+
"size-8 rounded-full border border-ods-border flex items-center justify-center shrink-0",
|
|
13228
|
+
"text-ods-text-secondary hover:text-ods-accent hover:border-ods-accent transition-colors",
|
|
13229
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
13230
|
+
className
|
|
13231
|
+
),
|
|
13232
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserPlusIcon, { className: "size-4" })
|
|
13233
|
+
}
|
|
13234
|
+
);
|
|
13235
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive2.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
|
|
13236
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Trigger, { asChild: true, children: trigger }),
|
|
13237
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13238
|
+
PopoverPrimitive2.Content,
|
|
13239
|
+
{
|
|
13240
|
+
align: "end",
|
|
13241
|
+
sideOffset: 6,
|
|
13242
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
13243
|
+
"z-50 w-72 bg-ods-card border border-ods-border rounded-[6px] shadow-lg overflow-hidden",
|
|
13244
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
13245
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
13246
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
13247
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2"
|
|
13248
|
+
),
|
|
13249
|
+
children: [
|
|
13250
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13251
|
+
_chunkQJGRP2YEcjs.Input,
|
|
13252
|
+
{
|
|
13253
|
+
autoFocus: true,
|
|
13254
|
+
value: search,
|
|
13255
|
+
onChange: (e) => setSearch(e.target.value),
|
|
13256
|
+
placeholder: "Search users...",
|
|
13257
|
+
startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary" }),
|
|
13258
|
+
className: "rounded-none border-0"
|
|
13259
|
+
}
|
|
13260
|
+
) }),
|
|
13261
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
|
|
13262
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _259 => _259.id]) === opt.value;
|
|
13263
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13264
|
+
"button",
|
|
13265
|
+
{
|
|
13266
|
+
type: "button",
|
|
13267
|
+
role: "option",
|
|
13268
|
+
"aria-selected": isCurrent,
|
|
13269
|
+
onClick: () => handleSelect(opt.value),
|
|
13270
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
13271
|
+
"flex items-center gap-[var(--spacing-system-xs)] w-full px-[var(--spacing-system-sf)] py-[var(--spacing-system-xs)] text-left",
|
|
13272
|
+
"hover:bg-ods-bg-hover transition-colors",
|
|
13273
|
+
isCurrent && "bg-ods-bg-hover"
|
|
13274
|
+
),
|
|
13275
|
+
children: [
|
|
13276
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13277
|
+
SquareAvatar,
|
|
13278
|
+
{
|
|
13279
|
+
src: opt.imageUrl,
|
|
13280
|
+
alt: opt.label,
|
|
13281
|
+
fallback: opt.label,
|
|
13282
|
+
size: "sm",
|
|
13283
|
+
variant: "round",
|
|
13284
|
+
className: "h-6 w-6 shrink-0"
|
|
13285
|
+
}
|
|
13286
|
+
),
|
|
13287
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 truncate text-h4 text-ods-text-primary", title: opt.label, children: opt.label }),
|
|
13288
|
+
isCurrent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CheckIcon, { className: "size-4 shrink-0 text-ods-accent" })
|
|
13289
|
+
]
|
|
13290
|
+
},
|
|
13291
|
+
opt.value
|
|
13292
|
+
);
|
|
13293
|
+
}) })
|
|
13294
|
+
]
|
|
13295
|
+
}
|
|
13296
|
+
) })
|
|
13297
|
+
] });
|
|
13298
|
+
}
|
|
13299
|
+
function DefaultAssigneeDropdown({
|
|
13300
|
+
currentAssignee,
|
|
13301
|
+
options,
|
|
13302
|
+
isLoading,
|
|
13303
|
+
onAssign,
|
|
13304
|
+
className
|
|
13305
|
+
}) {
|
|
13306
|
+
const [isEditing, setIsEditing] = React41.useState(false);
|
|
13307
|
+
const hasAssignee = !!currentAssignee;
|
|
13308
|
+
const renderOption = React41.useCallback((option) => {
|
|
13309
|
+
const opt = option;
|
|
13310
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
|
|
13311
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13312
|
+
SquareAvatar,
|
|
13313
|
+
{
|
|
13314
|
+
src: opt.imageUrl,
|
|
13315
|
+
alt: opt.label,
|
|
13316
|
+
fallback: opt.label,
|
|
13317
|
+
size: "sm",
|
|
13318
|
+
variant: "round",
|
|
13319
|
+
className: "h-6 w-6 shrink-0"
|
|
13320
|
+
}
|
|
13321
|
+
),
|
|
13322
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: opt.label, children: opt.label })
|
|
13323
|
+
] });
|
|
13324
|
+
}, []);
|
|
13325
|
+
if (isEditing) {
|
|
13326
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
13327
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13328
|
+
Autocomplete,
|
|
13329
|
+
{
|
|
13330
|
+
options,
|
|
13331
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _260 => _260.id]), () => ( null)),
|
|
13332
|
+
onChange: (val) => {
|
|
13333
|
+
onAssign(val);
|
|
13334
|
+
setIsEditing(false);
|
|
13335
|
+
},
|
|
13336
|
+
placeholder: "Search users...",
|
|
13337
|
+
loading: isLoading,
|
|
13338
|
+
showChevron: false,
|
|
13339
|
+
startAdornment: hasAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13340
|
+
SquareAvatar,
|
|
13341
|
+
{
|
|
13342
|
+
src: currentAssignee.avatarSrc,
|
|
13343
|
+
alt: currentAssignee.name,
|
|
13344
|
+
fallback: currentAssignee.name || "User",
|
|
13345
|
+
size: "sm",
|
|
13346
|
+
variant: "round",
|
|
13347
|
+
className: "h-6 w-6"
|
|
13348
|
+
}
|
|
13349
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserIcon, { className: "size-5 text-ods-text-secondary" }),
|
|
13350
|
+
renderOption
|
|
13351
|
+
}
|
|
13352
|
+
),
|
|
13353
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate block mt-0.5", children: "Assigned" })
|
|
13354
|
+
] });
|
|
13355
|
+
}
|
|
13356
|
+
if (hasAssignee) {
|
|
13357
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-[var(--spacing-system-xs)] min-w-0", className), children: [
|
|
13358
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13359
|
+
SquareAvatar,
|
|
13360
|
+
{
|
|
13361
|
+
src: currentAssignee.avatarSrc,
|
|
13362
|
+
alt: currentAssignee.name,
|
|
13363
|
+
fallback: currentAssignee.name || "User",
|
|
13364
|
+
size: "md",
|
|
13365
|
+
variant: "round",
|
|
13366
|
+
className: "shrink-0"
|
|
13367
|
+
}
|
|
13368
|
+
),
|
|
13369
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col justify-center", children: [
|
|
13370
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] w-full min-w-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13371
|
+
"button",
|
|
13372
|
+
{
|
|
13373
|
+
type: "button",
|
|
13374
|
+
onClick: () => setIsEditing(true),
|
|
13375
|
+
className: "flex items-center gap-[var(--spacing-system-xxs)] cursor-pointer group text-left",
|
|
13376
|
+
children: [
|
|
13377
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PenEditIcon, { className: "size-4 shrink-0 text-ods-text-secondary group-hover:text-ods-accent transition-colors" }),
|
|
13378
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary truncate", title: currentAssignee.name, children: currentAssignee.name })
|
|
13379
|
+
]
|
|
13380
|
+
}
|
|
13381
|
+
) }),
|
|
13382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate", children: "Assigned" })
|
|
13383
|
+
] }) })
|
|
13384
|
+
] });
|
|
13385
|
+
}
|
|
13386
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
13387
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13388
|
+
"button",
|
|
13389
|
+
{
|
|
13390
|
+
type: "button",
|
|
13391
|
+
onClick: () => setIsEditing(true),
|
|
13392
|
+
className: "flex items-center gap-[var(--spacing-system-xxs)] text-h4 text-ods-accent underline truncate cursor-pointer hover:opacity-80 transition-opacity text-left",
|
|
13393
|
+
children: [
|
|
13394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
13395
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Assign User" })
|
|
13396
|
+
]
|
|
13397
|
+
}
|
|
13398
|
+
),
|
|
13399
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate block", children: "Assigned" })
|
|
13400
|
+
] });
|
|
13401
|
+
}
|
|
13402
|
+
|
|
13403
|
+
// src/components/ui/info-section.tsx
|
|
13404
|
+
|
|
13405
|
+
function TextValue({ value }) {
|
|
13406
|
+
const { text, imageSrc, imageFallback, imageVariant = "round", icon, onClick, href, openInNewTab } = value;
|
|
13407
|
+
const hasImage = imageSrc !== void 0 || imageFallback !== void 0;
|
|
13408
|
+
const interactiveClass = "truncate text-left text-h4 text-ods-text-primary transition-colors hover:text-ods-accent";
|
|
13409
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13410
|
+
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary", children: icon }),
|
|
13411
|
+
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13412
|
+
_chunkWBR7H6E3cjs.next_link_default,
|
|
13413
|
+
{
|
|
13414
|
+
href,
|
|
13415
|
+
target: openInNewTab ? "_blank" : void 0,
|
|
13416
|
+
rel: openInNewTab ? "noopener noreferrer" : void 0,
|
|
13417
|
+
title: text,
|
|
13418
|
+
className: interactiveClass,
|
|
13419
|
+
children: text
|
|
13420
|
+
}
|
|
13421
|
+
) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-h4 text-ods-text-primary", title: text, children: text }),
|
|
13422
|
+
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13423
|
+
SquareAvatar,
|
|
13424
|
+
{
|
|
13425
|
+
src: imageSrc,
|
|
13426
|
+
alt: text,
|
|
13427
|
+
fallback: _nullishCoalesce(imageFallback, () => ( text)),
|
|
13428
|
+
size: "sm",
|
|
13429
|
+
variant: imageVariant,
|
|
13430
|
+
className: "h-4 w-4"
|
|
13431
|
+
}
|
|
13432
|
+
)
|
|
13433
|
+
] });
|
|
13434
|
+
}
|
|
13435
|
+
function RowValue({ value }) {
|
|
13436
|
+
switch (value.type) {
|
|
13437
|
+
case "assignee": {
|
|
13438
|
+
const { type: _type, ...props } = value;
|
|
13439
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AssigneeDropdown, { ...props, variant: _nullishCoalesce(props.variant, () => ( "compact")) });
|
|
13440
|
+
}
|
|
13441
|
+
case "status": {
|
|
13442
|
+
const { type: _type, ...props } = value;
|
|
13443
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketStatusTag, { ...props });
|
|
13444
|
+
}
|
|
13445
|
+
case "custom":
|
|
13446
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
13447
|
+
default:
|
|
13448
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextValue, { value });
|
|
13449
|
+
}
|
|
13450
|
+
}
|
|
13451
|
+
function InfoSection({ title, rows, className }) {
|
|
13452
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xxs)]", className), children: [
|
|
13453
|
+
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: title }),
|
|
13454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-mf)]", children: rows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
13455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-h4 text-ods-text-secondary", children: row.label }),
|
|
13456
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px min-w-4 flex-1 bg-ods-border" }),
|
|
13457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RowValue, { value: row.value }) })
|
|
13458
|
+
] }, row.id)) })
|
|
13459
|
+
] });
|
|
13460
|
+
}
|
|
13461
|
+
|
|
13157
13462
|
// src/components/ui/input-trigger.tsx
|
|
13158
13463
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
13159
13464
|
|
|
13160
13465
|
|
|
13161
|
-
var InputTrigger =
|
|
13466
|
+
var InputTrigger = React42.forwardRef(
|
|
13162
13467
|
({ selectedLabel, placeholder, startIcon, endIcon, invalid, className, disabled, ...props }, ref) => {
|
|
13163
13468
|
const isPlaceholder = selectedLabel === void 0 || selectedLabel === null || selectedLabel === "";
|
|
13164
13469
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -13223,8 +13528,8 @@ function MediaTypeSelector({
|
|
|
13223
13528
|
className,
|
|
13224
13529
|
disabled
|
|
13225
13530
|
}) {
|
|
13226
|
-
const [key, setKey] =
|
|
13227
|
-
|
|
13531
|
+
const [key, setKey] = React43.useState(0);
|
|
13532
|
+
React43.useEffect(() => {
|
|
13228
13533
|
setKey((prev) => prev + 1);
|
|
13229
13534
|
}, [value]);
|
|
13230
13535
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -13269,7 +13574,7 @@ var noDataActionsVariants = _classvarianceauthority.cva.call(void 0, "overflow-h
|
|
|
13269
13574
|
|
|
13270
13575
|
// src/components/ui/no-data/no-data-message.tsx
|
|
13271
13576
|
|
|
13272
|
-
var NoDataMessage =
|
|
13577
|
+
var NoDataMessage = React113.default.forwardRef(
|
|
13273
13578
|
function NoDataMessage2({ icon, title, description, className, ...props }, ref) {
|
|
13274
13579
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13275
13580
|
"div",
|
|
@@ -13296,7 +13601,7 @@ var NoDataMessage = React112.default.forwardRef(
|
|
|
13296
13601
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
13297
13602
|
|
|
13298
13603
|
|
|
13299
|
-
var NoDataAction =
|
|
13604
|
+
var NoDataAction = React113.default.forwardRef(
|
|
13300
13605
|
function NoDataAction2({ icon, label, children, className, ...props }, ref) {
|
|
13301
13606
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13302
13607
|
"div",
|
|
@@ -13316,16 +13621,16 @@ var NoDataAction = React112.default.forwardRef(
|
|
|
13316
13621
|
);
|
|
13317
13622
|
}
|
|
13318
13623
|
);
|
|
13319
|
-
var NoDataActions =
|
|
13624
|
+
var NoDataActions = React113.default.forwardRef(
|
|
13320
13625
|
function NoDataActions2({ actions, variant = "outline", className, children, ...props }, ref) {
|
|
13321
|
-
const blocks = actions ? actions.map((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NoDataAction, { ...action }, index)) :
|
|
13626
|
+
const blocks = actions ? actions.map((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NoDataAction, { ...action }, index)) : React113.default.Children.toArray(children);
|
|
13322
13627
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13323
13628
|
"div",
|
|
13324
13629
|
{
|
|
13325
13630
|
ref,
|
|
13326
13631
|
className: _chunkFIG2RKZFcjs.cn.call(void 0, noDataActionsVariants({ variant }), "flex w-full flex-col md:w-auto md:flex-row", className),
|
|
13327
13632
|
...props,
|
|
13328
|
-
children: blocks.map((block, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13633
|
+
children: blocks.map((block, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React113.default.Fragment, { children: [
|
|
13329
13634
|
index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13330
13635
|
"div",
|
|
13331
13636
|
{
|
|
@@ -13342,7 +13647,7 @@ var NoDataActions = React112.default.forwardRef(
|
|
|
13342
13647
|
|
|
13343
13648
|
// src/components/ui/no-data/no-data.tsx
|
|
13344
13649
|
|
|
13345
|
-
var NoData =
|
|
13650
|
+
var NoData = React113.default.forwardRef(function NoData2({
|
|
13346
13651
|
icon,
|
|
13347
13652
|
title,
|
|
13348
13653
|
description,
|
|
@@ -13356,7 +13661,7 @@ var NoData = React112.default.forwardRef(function NoData2({
|
|
|
13356
13661
|
...props
|
|
13357
13662
|
}, ref) {
|
|
13358
13663
|
const hasMessage = !!(icon || title || description);
|
|
13359
|
-
const hasActions = !!_optionalChain([actions, 'optionalAccess',
|
|
13664
|
+
const hasActions = !!_optionalChain([actions, 'optionalAccess', _261 => _261.length]);
|
|
13360
13665
|
const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13361
13666
|
_chunkQJGRP2YEcjs.Button,
|
|
13362
13667
|
{
|
|
@@ -13364,7 +13669,7 @@ var NoData = React112.default.forwardRef(function NoData2({
|
|
|
13364
13669
|
leftIcon: buttonIcon,
|
|
13365
13670
|
onClick: onButtonClick,
|
|
13366
13671
|
...buttonProps,
|
|
13367
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess',
|
|
13672
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _262 => _262.className])),
|
|
13368
13673
|
children: buttonLabel
|
|
13369
13674
|
}
|
|
13370
13675
|
) : null)));
|
|
@@ -13455,7 +13760,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
13455
13760
|
|
|
13456
13761
|
var _reactradiogroup = require('@radix-ui/react-radio-group'); var RadioGroupPrimitive = _interopRequireWildcard(_reactradiogroup);
|
|
13457
13762
|
|
|
13458
|
-
var RadioGroup =
|
|
13763
|
+
var RadioGroup = React47.forwardRef(({ className, ...props }, ref) => {
|
|
13459
13764
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13460
13765
|
RadioGroupPrimitive.Root,
|
|
13461
13766
|
{
|
|
@@ -13466,7 +13771,7 @@ var RadioGroup = React46.forwardRef(({ className, ...props }, ref) => {
|
|
|
13466
13771
|
);
|
|
13467
13772
|
});
|
|
13468
13773
|
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
13469
|
-
var RadioGroupItem =
|
|
13774
|
+
var RadioGroupItem = React47.forwardRef(({ className, ...props }, ref) => {
|
|
13470
13775
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13471
13776
|
RadioGroupPrimitive.Item,
|
|
13472
13777
|
{
|
|
@@ -13487,7 +13792,7 @@ var RadioGroupItem = React46.forwardRef(({ className, ...props }, ref) => {
|
|
|
13487
13792
|
);
|
|
13488
13793
|
});
|
|
13489
13794
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
13490
|
-
var RadioGroupBlock =
|
|
13795
|
+
var RadioGroupBlock = React47.forwardRef(
|
|
13491
13796
|
({ className, options, variant = "separated", error, itemClassName, disabled, ...props }, ref) => {
|
|
13492
13797
|
const isGrouped = variant === "grouped";
|
|
13493
13798
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative flex w-full flex-col", className), children: [
|
|
@@ -13590,16 +13895,16 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
13590
13895
|
|
|
13591
13896
|
var _reactswitch = require('@radix-ui/react-switch'); var SwitchPrimitives = _interopRequireWildcard(_reactswitch);
|
|
13592
13897
|
|
|
13593
|
-
var Switch =
|
|
13594
|
-
const [isChecked, setIsChecked] =
|
|
13595
|
-
|
|
13898
|
+
var Switch = React48.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => {
|
|
13899
|
+
const [isChecked, setIsChecked] = React48.useState(checked || false);
|
|
13900
|
+
React48.useEffect(() => {
|
|
13596
13901
|
if (checked !== void 0) {
|
|
13597
13902
|
setIsChecked(checked);
|
|
13598
13903
|
}
|
|
13599
13904
|
}, [checked]);
|
|
13600
13905
|
const handleCheckedChange = (newChecked) => {
|
|
13601
13906
|
setIsChecked(newChecked);
|
|
13602
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
13907
|
+
_optionalChain([onCheckedChange, 'optionalCall', _263 => _263(newChecked)]);
|
|
13603
13908
|
};
|
|
13604
13909
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13605
13910
|
SwitchPrimitives.Root,
|
|
@@ -13675,7 +13980,7 @@ function TagsInput({
|
|
|
13675
13980
|
badgeClassName,
|
|
13676
13981
|
label
|
|
13677
13982
|
}) {
|
|
13678
|
-
const [inputValue, setInputValue] =
|
|
13983
|
+
const [inputValue, setInputValue] = React49.useState("");
|
|
13679
13984
|
const handleAddTag = () => {
|
|
13680
13985
|
const trimmedValue = inputValue.trim();
|
|
13681
13986
|
if (!trimmedValue) return;
|
|
@@ -13781,19 +14086,19 @@ function TagsManager({
|
|
|
13781
14086
|
disabled = false,
|
|
13782
14087
|
className
|
|
13783
14088
|
}) {
|
|
13784
|
-
const [open, setOpen] =
|
|
13785
|
-
const [search, setSearch] =
|
|
13786
|
-
const [editingId, setEditingId] =
|
|
13787
|
-
const [editingName, setEditingName] =
|
|
13788
|
-
const editInputRef =
|
|
13789
|
-
const inputRef =
|
|
13790
|
-
const containerRef =
|
|
14089
|
+
const [open, setOpen] = React50.useState(false);
|
|
14090
|
+
const [search, setSearch] = React50.useState("");
|
|
14091
|
+
const [editingId, setEditingId] = React50.useState(null);
|
|
14092
|
+
const [editingName, setEditingName] = React50.useState("");
|
|
14093
|
+
const editInputRef = React50.useRef(null);
|
|
14094
|
+
const inputRef = React50.useRef(null);
|
|
14095
|
+
const containerRef = React50.useRef(null);
|
|
13791
14096
|
const selectedTags = tags.filter((t) => selectedIds.includes(t.id));
|
|
13792
14097
|
const filtered = tags.filter(
|
|
13793
14098
|
(t) => t.name.toLowerCase().includes(search.toLowerCase())
|
|
13794
14099
|
);
|
|
13795
14100
|
const showCreateOption = onCreateTag && search.trim() && !tags.some((t) => t.name.toLowerCase() === search.trim().toLowerCase());
|
|
13796
|
-
const toggleTag =
|
|
14101
|
+
const toggleTag = React50.useCallback(
|
|
13797
14102
|
(id) => {
|
|
13798
14103
|
if (selectedIds.includes(id)) {
|
|
13799
14104
|
onChange(selectedIds.filter((i) => i !== id));
|
|
@@ -13803,32 +14108,32 @@ function TagsManager({
|
|
|
13803
14108
|
},
|
|
13804
14109
|
[selectedIds, onChange]
|
|
13805
14110
|
);
|
|
13806
|
-
const handleCreate =
|
|
14111
|
+
const handleCreate = React50.useCallback(async () => {
|
|
13807
14112
|
if (!onCreateTag) return;
|
|
13808
14113
|
const name = search.trim();
|
|
13809
14114
|
if (!name) return;
|
|
13810
14115
|
const result = await onCreateTag(name);
|
|
13811
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
14116
|
+
if (_optionalChain([result, 'optionalAccess', _264 => _264.id])) {
|
|
13812
14117
|
onChange([...selectedIds, result.id]);
|
|
13813
14118
|
setSearch("");
|
|
13814
14119
|
}
|
|
13815
14120
|
}, [search, onCreateTag, selectedIds, onChange]);
|
|
13816
|
-
const startEdit =
|
|
14121
|
+
const startEdit = React50.useCallback((id, name) => {
|
|
13817
14122
|
setEditingId(id);
|
|
13818
14123
|
setEditingName(name);
|
|
13819
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
14124
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]), 0);
|
|
13820
14125
|
}, []);
|
|
13821
|
-
const confirmEdit =
|
|
14126
|
+
const confirmEdit = React50.useCallback(async () => {
|
|
13822
14127
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
13823
14128
|
await onUpdateTag(editingId, editingName.trim());
|
|
13824
14129
|
setEditingId(null);
|
|
13825
14130
|
setEditingName("");
|
|
13826
14131
|
}, [editingId, editingName, onUpdateTag]);
|
|
13827
|
-
const cancelEdit =
|
|
14132
|
+
const cancelEdit = React50.useCallback(() => {
|
|
13828
14133
|
setEditingId(null);
|
|
13829
14134
|
setEditingName("");
|
|
13830
14135
|
}, []);
|
|
13831
|
-
const handleDelete =
|
|
14136
|
+
const handleDelete = React50.useCallback(
|
|
13832
14137
|
async (id) => {
|
|
13833
14138
|
if (!onDeleteTag) return;
|
|
13834
14139
|
await onDeleteTag(id);
|
|
@@ -13838,17 +14143,17 @@ function TagsManager({
|
|
|
13838
14143
|
},
|
|
13839
14144
|
[onDeleteTag, selectedIds, onChange]
|
|
13840
14145
|
);
|
|
13841
|
-
const handleClearAll =
|
|
14146
|
+
const handleClearAll = React50.useCallback(
|
|
13842
14147
|
(e) => {
|
|
13843
14148
|
e.stopPropagation();
|
|
13844
14149
|
onChange([]);
|
|
13845
14150
|
setSearch("");
|
|
13846
|
-
_optionalChain([inputRef, 'access',
|
|
14151
|
+
_optionalChain([inputRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.focus, 'call', _270 => _270()]);
|
|
13847
14152
|
},
|
|
13848
14153
|
[onChange]
|
|
13849
14154
|
);
|
|
13850
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13851
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14155
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive3.Root, { open, onOpenChange: setOpen, children: [
|
|
14156
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive3.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13852
14157
|
"label",
|
|
13853
14158
|
{
|
|
13854
14159
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -13928,7 +14233,7 @@ function TagsManager({
|
|
|
13928
14233
|
}
|
|
13929
14234
|
) }),
|
|
13930
14235
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13931
|
-
|
|
14236
|
+
PopoverPrimitive3.Content,
|
|
13932
14237
|
{
|
|
13933
14238
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
13934
14239
|
"z-50 w-[var(--radix-popover-trigger-width)] mt-1",
|
|
@@ -13942,10 +14247,10 @@ function TagsManager({
|
|
|
13942
14247
|
align: "start",
|
|
13943
14248
|
onOpenAutoFocus: (e) => {
|
|
13944
14249
|
e.preventDefault();
|
|
13945
|
-
_optionalChain([inputRef, 'access',
|
|
14250
|
+
_optionalChain([inputRef, 'access', _271 => _271.current, 'optionalAccess', _272 => _272.focus, 'call', _273 => _273()]);
|
|
13946
14251
|
},
|
|
13947
14252
|
onInteractOutside: (e) => {
|
|
13948
|
-
if (_optionalChain([containerRef, 'access',
|
|
14253
|
+
if (_optionalChain([containerRef, 'access', _274 => _274.current, 'optionalAccess', _275 => _275.contains, 'call', _276 => _276(e.target)])) {
|
|
13949
14254
|
e.preventDefault();
|
|
13950
14255
|
}
|
|
13951
14256
|
},
|
|
@@ -14134,11 +14439,11 @@ function TagsManager({
|
|
|
14134
14439
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
14135
14440
|
|
|
14136
14441
|
|
|
14137
|
-
var Textarea =
|
|
14442
|
+
var Textarea = React51.forwardRef(
|
|
14138
14443
|
({ className, invalid = false, label, error, endIcon, endIconAsButton = false, endIconButtonProps, startIcon, hideBorder = false, ...props }, ref) => {
|
|
14139
14444
|
const isInvalid = invalid || !!error;
|
|
14140
14445
|
const hasAdornment = !!endIcon || !!startIcon;
|
|
14141
|
-
const reactId =
|
|
14446
|
+
const reactId = React51.useId();
|
|
14142
14447
|
const fieldId = _nullishCoalesce(props.id, () => ( reactId));
|
|
14143
14448
|
if (!hasAdornment) {
|
|
14144
14449
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.FieldWrapper, { label, error, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14230,7 +14535,7 @@ var Textarea = React50.forwardRef(
|
|
|
14230
14535
|
"button",
|
|
14231
14536
|
{
|
|
14232
14537
|
type: "button",
|
|
14233
|
-
"aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess',
|
|
14538
|
+
"aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _277 => _277["aria-label"]]), () => ( "Submit")),
|
|
14234
14539
|
...endIconButtonProps,
|
|
14235
14540
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
14236
14541
|
// `h-6` matches the textarea's `leading-6` line box so the icon's
|
|
@@ -14244,7 +14549,7 @@ var Textarea = React50.forwardRef(
|
|
|
14244
14549
|
"cursor-pointer hover:text-ods-text-primary",
|
|
14245
14550
|
"focus-visible:outline-none focus-visible:text-ods-accent",
|
|
14246
14551
|
"disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
|
|
14247
|
-
_optionalChain([endIconButtonProps, 'optionalAccess',
|
|
14552
|
+
_optionalChain([endIconButtonProps, 'optionalAccess', _278 => _278.className])
|
|
14248
14553
|
),
|
|
14249
14554
|
children: endIcon
|
|
14250
14555
|
}
|
|
@@ -14277,7 +14582,7 @@ var _reactalertdialog = require('@radix-ui/react-alert-dialog'); var AlertDialog
|
|
|
14277
14582
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
14278
14583
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
14279
14584
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
14280
|
-
var AlertDialogOverlay =
|
|
14585
|
+
var AlertDialogOverlay = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14281
14586
|
AlertDialogPrimitive.Overlay,
|
|
14282
14587
|
{
|
|
14283
14588
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -14289,7 +14594,7 @@ var AlertDialogOverlay = React51.forwardRef(({ className, ...props }, ref) => /*
|
|
|
14289
14594
|
}
|
|
14290
14595
|
));
|
|
14291
14596
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
14292
|
-
var AlertDialogContent =
|
|
14597
|
+
var AlertDialogContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogPortal, { children: [
|
|
14293
14598
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogOverlay, {}),
|
|
14294
14599
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14295
14600
|
AlertDialogPrimitive.Content,
|
|
@@ -14332,7 +14637,7 @@ var AlertDialogFooter = ({
|
|
|
14332
14637
|
}
|
|
14333
14638
|
);
|
|
14334
14639
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
14335
|
-
var AlertDialogTitle =
|
|
14640
|
+
var AlertDialogTitle = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14336
14641
|
AlertDialogPrimitive.Title,
|
|
14337
14642
|
{
|
|
14338
14643
|
ref,
|
|
@@ -14341,7 +14646,7 @@ var AlertDialogTitle = React51.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
14341
14646
|
}
|
|
14342
14647
|
));
|
|
14343
14648
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
14344
|
-
var AlertDialogDescription =
|
|
14649
|
+
var AlertDialogDescription = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14345
14650
|
AlertDialogPrimitive.Description,
|
|
14346
14651
|
{
|
|
14347
14652
|
ref,
|
|
@@ -14350,7 +14655,7 @@ var AlertDialogDescription = React51.forwardRef(({ className, ...props }, ref) =
|
|
|
14350
14655
|
}
|
|
14351
14656
|
));
|
|
14352
14657
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
14353
|
-
var AlertDialogAction =
|
|
14658
|
+
var AlertDialogAction = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14354
14659
|
AlertDialogPrimitive.Action,
|
|
14355
14660
|
{
|
|
14356
14661
|
ref,
|
|
@@ -14359,7 +14664,7 @@ var AlertDialogAction = React51.forwardRef(({ className, ...props }, ref) => /*
|
|
|
14359
14664
|
}
|
|
14360
14665
|
));
|
|
14361
14666
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
14362
|
-
var AlertDialogCancel =
|
|
14667
|
+
var AlertDialogCancel = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14363
14668
|
AlertDialogPrimitive.Cancel,
|
|
14364
14669
|
{
|
|
14365
14670
|
ref,
|
|
@@ -14387,7 +14692,7 @@ var Dialog = DialogPrimitive.Root;
|
|
|
14387
14692
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
14388
14693
|
var DialogPortal = DialogPrimitive.Portal;
|
|
14389
14694
|
var DialogClose = DialogPrimitive.Close;
|
|
14390
|
-
var DialogOverlay =
|
|
14695
|
+
var DialogOverlay = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14391
14696
|
DialogPrimitive.Overlay,
|
|
14392
14697
|
{
|
|
14393
14698
|
ref,
|
|
@@ -14399,7 +14704,7 @@ var DialogOverlay = React52.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
14399
14704
|
}
|
|
14400
14705
|
));
|
|
14401
14706
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
14402
|
-
var DialogContent =
|
|
14707
|
+
var DialogContent = React53.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPortal, { children: [
|
|
14403
14708
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogOverlay, {}),
|
|
14404
14709
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14405
14710
|
DialogPrimitive.Content,
|
|
@@ -14425,7 +14730,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.
|
|
|
14425
14730
|
DialogHeader.displayName = "DialogHeader";
|
|
14426
14731
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col-reverse md:flex-row md:justify-end md:space-x-2", className), ...props });
|
|
14427
14732
|
DialogFooter.displayName = "DialogFooter";
|
|
14428
|
-
var DialogTitle =
|
|
14733
|
+
var DialogTitle = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14429
14734
|
DialogPrimitive.Title,
|
|
14430
14735
|
{
|
|
14431
14736
|
ref,
|
|
@@ -14434,7 +14739,7 @@ var DialogTitle = React52.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
14434
14739
|
}
|
|
14435
14740
|
));
|
|
14436
14741
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
14437
|
-
var DialogDescription =
|
|
14742
|
+
var DialogDescription = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive.Description, { ref, className: _chunkFIG2RKZFcjs.cn.call(void 0, "text-sm text-muted-foreground", className), ...props }));
|
|
14438
14743
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
14439
14744
|
|
|
14440
14745
|
// src/components/ui/modal.tsx
|
|
@@ -14442,7 +14747,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
14442
14747
|
|
|
14443
14748
|
|
|
14444
14749
|
|
|
14445
|
-
var Modal2 =
|
|
14750
|
+
var Modal2 = React54.forwardRef(
|
|
14446
14751
|
({ isOpen, onClose, children, className }, ref) => {
|
|
14447
14752
|
_react.useEffect.call(void 0, () => {
|
|
14448
14753
|
const handleKeyDown = (event) => {
|
|
@@ -14486,11 +14791,11 @@ var Modal2 = React53.forwardRef(
|
|
|
14486
14791
|
}
|
|
14487
14792
|
);
|
|
14488
14793
|
Modal2.displayName = "Modal";
|
|
14489
|
-
var ModalContent2 =
|
|
14794
|
+
var ModalContent2 = React54.forwardRef(
|
|
14490
14795
|
({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkFIG2RKZFcjs.cn.call(void 0, "overflow-y-auto min-h-0 flex-1", className), children })
|
|
14491
14796
|
);
|
|
14492
14797
|
ModalContent2.displayName = "ModalContent";
|
|
14493
|
-
var ModalHeader2 =
|
|
14798
|
+
var ModalHeader2 = React54.forwardRef(
|
|
14494
14799
|
({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14495
14800
|
"div",
|
|
14496
14801
|
{
|
|
@@ -14501,7 +14806,7 @@ var ModalHeader2 = React53.forwardRef(
|
|
|
14501
14806
|
)
|
|
14502
14807
|
);
|
|
14503
14808
|
ModalHeader2.displayName = "ModalHeader";
|
|
14504
|
-
var ModalTitle2 =
|
|
14809
|
+
var ModalTitle2 = React54.forwardRef(
|
|
14505
14810
|
({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14506
14811
|
"h2",
|
|
14507
14812
|
{
|
|
@@ -14512,7 +14817,7 @@ var ModalTitle2 = React53.forwardRef(
|
|
|
14512
14817
|
)
|
|
14513
14818
|
);
|
|
14514
14819
|
ModalTitle2.displayName = "ModalTitle";
|
|
14515
|
-
var ModalFooter2 =
|
|
14820
|
+
var ModalFooter2 = React54.forwardRef(
|
|
14516
14821
|
({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14517
14822
|
"div",
|
|
14518
14823
|
{
|
|
@@ -14529,7 +14834,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
14529
14834
|
|
|
14530
14835
|
var _reactseparator = require('@radix-ui/react-separator'); var SeparatorPrimitive = _interopRequireWildcard(_reactseparator);
|
|
14531
14836
|
|
|
14532
|
-
var Separator2 =
|
|
14837
|
+
var Separator2 = React55.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14533
14838
|
SeparatorPrimitive.Root,
|
|
14534
14839
|
{
|
|
14535
14840
|
ref,
|
|
@@ -14552,7 +14857,7 @@ var Sheet = SheetPrimitive.Root;
|
|
|
14552
14857
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
14553
14858
|
var SheetClose = SheetPrimitive.Close;
|
|
14554
14859
|
var SheetPortal = SheetPrimitive.Portal;
|
|
14555
|
-
var SheetOverlay =
|
|
14860
|
+
var SheetOverlay = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14556
14861
|
SheetPrimitive.Overlay,
|
|
14557
14862
|
{
|
|
14558
14863
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -14580,7 +14885,7 @@ var sheetVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
14580
14885
|
}
|
|
14581
14886
|
}
|
|
14582
14887
|
);
|
|
14583
|
-
var SheetContent =
|
|
14888
|
+
var SheetContent = React56.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
|
|
14584
14889
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
|
|
14585
14890
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14586
14891
|
SheetPrimitive.Content,
|
|
@@ -14627,7 +14932,7 @@ var SheetFooter = ({
|
|
|
14627
14932
|
}
|
|
14628
14933
|
);
|
|
14629
14934
|
SheetFooter.displayName = "SheetFooter";
|
|
14630
|
-
var SheetTitle =
|
|
14935
|
+
var SheetTitle = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14631
14936
|
SheetPrimitive.Title,
|
|
14632
14937
|
{
|
|
14633
14938
|
ref,
|
|
@@ -14636,7 +14941,7 @@ var SheetTitle = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
14636
14941
|
}
|
|
14637
14942
|
));
|
|
14638
14943
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
14639
|
-
var SheetDescription =
|
|
14944
|
+
var SheetDescription = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14640
14945
|
SheetPrimitive.Description,
|
|
14641
14946
|
{
|
|
14642
14947
|
ref,
|
|
@@ -14657,7 +14962,7 @@ var Drawer = DialogPrimitive2.Root;
|
|
|
14657
14962
|
var DrawerTrigger = DialogPrimitive2.Trigger;
|
|
14658
14963
|
var DrawerClose = DialogPrimitive2.Close;
|
|
14659
14964
|
var DrawerPortal = DialogPrimitive2.Portal;
|
|
14660
|
-
var DrawerOverlay =
|
|
14965
|
+
var DrawerOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14661
14966
|
DialogPrimitive2.Overlay,
|
|
14662
14967
|
{
|
|
14663
14968
|
ref,
|
|
@@ -14753,7 +15058,7 @@ function useResizableSize({
|
|
|
14753
15058
|
defaultSize,
|
|
14754
15059
|
storageKey
|
|
14755
15060
|
}) {
|
|
14756
|
-
const clampToViewport =
|
|
15061
|
+
const clampToViewport = React57.useCallback(
|
|
14757
15062
|
(value) => {
|
|
14758
15063
|
const vp = viewportSize(isHorizontal);
|
|
14759
15064
|
const effectiveMax = vp > 0 ? Math.min(maxSize, vp - 80) : maxSize;
|
|
@@ -14761,7 +15066,7 @@ function useResizableSize({
|
|
|
14761
15066
|
},
|
|
14762
15067
|
[isHorizontal, minSize, maxSize]
|
|
14763
15068
|
);
|
|
14764
|
-
const readInitial =
|
|
15069
|
+
const readInitial = React57.useCallback(() => {
|
|
14765
15070
|
if (!enabled) return defaultSize;
|
|
14766
15071
|
if (typeof window === "undefined") return defaultSize;
|
|
14767
15072
|
if (!storageKey) return clampToViewport(defaultSize);
|
|
@@ -14775,19 +15080,19 @@ function useResizableSize({
|
|
|
14775
15080
|
return clampToViewport(defaultSize);
|
|
14776
15081
|
}
|
|
14777
15082
|
}, [enabled, storageKey, defaultSize, clampToViewport]);
|
|
14778
|
-
const [size, setSizeRaw] =
|
|
14779
|
-
const setSize =
|
|
15083
|
+
const [size, setSizeRaw] = React57.useState(readInitial);
|
|
15084
|
+
const setSize = React57.useCallback(
|
|
14780
15085
|
(next) => setSizeRaw(clampToViewport(next)),
|
|
14781
15086
|
[clampToViewport]
|
|
14782
15087
|
);
|
|
14783
|
-
|
|
15088
|
+
React57.useEffect(() => {
|
|
14784
15089
|
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
14785
15090
|
try {
|
|
14786
15091
|
window.localStorage.setItem(storageKey, String(Math.round(size)));
|
|
14787
15092
|
} catch (e17) {
|
|
14788
15093
|
}
|
|
14789
15094
|
}, [enabled, size, storageKey]);
|
|
14790
|
-
|
|
15095
|
+
React57.useEffect(() => {
|
|
14791
15096
|
if (!enabled || typeof window === "undefined") return;
|
|
14792
15097
|
const onResize = () => setSizeRaw((prev) => clampToViewport(prev));
|
|
14793
15098
|
window.addEventListener("resize", onResize);
|
|
@@ -14804,7 +15109,7 @@ function DrawerResizeHandle({
|
|
|
14804
15109
|
ariaLabel
|
|
14805
15110
|
}) {
|
|
14806
15111
|
const isHorizontal = HORIZONTAL_SIDES.has(side);
|
|
14807
|
-
const startRef =
|
|
15112
|
+
const startRef = React57.useRef(
|
|
14808
15113
|
null
|
|
14809
15114
|
);
|
|
14810
15115
|
const direction = side === "right" || side === "bottom" ? -1 : 1;
|
|
@@ -14896,7 +15201,7 @@ function DrawerResizeHandle({
|
|
|
14896
15201
|
}
|
|
14897
15202
|
);
|
|
14898
15203
|
}
|
|
14899
|
-
var DrawerContent =
|
|
15204
|
+
var DrawerContent = React57.forwardRef(
|
|
14900
15205
|
({
|
|
14901
15206
|
side = "right",
|
|
14902
15207
|
flush = false,
|
|
@@ -14920,8 +15225,8 @@ var DrawerContent = React56.forwardRef(
|
|
|
14920
15225
|
const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
|
|
14921
15226
|
const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
|
|
14922
15227
|
const headerHeight = _chunk27IO7V3Pcjs.useHeaderHeight.call(void 0, );
|
|
14923
|
-
const [isMobile, setIsMobile] =
|
|
14924
|
-
|
|
15228
|
+
const [isMobile, setIsMobile] = React57.useState(false);
|
|
15229
|
+
React57.useEffect(() => {
|
|
14925
15230
|
if (typeof window === "undefined") return;
|
|
14926
15231
|
const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
14927
15232
|
const update = () => setIsMobile(mq.matches);
|
|
@@ -14992,7 +15297,7 @@ var DrawerHeader = ({
|
|
|
14992
15297
|
}
|
|
14993
15298
|
);
|
|
14994
15299
|
DrawerHeader.displayName = "DrawerHeader";
|
|
14995
|
-
var DrawerTitle =
|
|
15300
|
+
var DrawerTitle = React57.forwardRef(({ className, children, actions, hideClose, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
14996
15301
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14997
15302
|
DialogPrimitive2.Title,
|
|
14998
15303
|
{
|
|
@@ -15012,7 +15317,7 @@ var DrawerTitle = React56.forwardRef(({ className, children, actions, hideClose,
|
|
|
15012
15317
|
] })
|
|
15013
15318
|
] }));
|
|
15014
15319
|
DrawerTitle.displayName = "DrawerTitle";
|
|
15015
|
-
var DrawerDescription =
|
|
15320
|
+
var DrawerDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15016
15321
|
DialogPrimitive2.Description,
|
|
15017
15322
|
{
|
|
15018
15323
|
ref,
|
|
@@ -15054,9 +15359,9 @@ var _reactaccordion = require('@radix-ui/react-accordion'); var AccordionPrimiti
|
|
|
15054
15359
|
|
|
15055
15360
|
|
|
15056
15361
|
var Accordion = AccordionPrimitive.Root;
|
|
15057
|
-
var AccordionItem =
|
|
15362
|
+
var AccordionItem = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Item, { ref, className: _chunkFIG2RKZFcjs.cn.call(void 0, "border-b", className), ...props }));
|
|
15058
15363
|
AccordionItem.displayName = "AccordionItem";
|
|
15059
|
-
var AccordionTrigger =
|
|
15364
|
+
var AccordionTrigger = React58.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15060
15365
|
AccordionPrimitive.Trigger,
|
|
15061
15366
|
{
|
|
15062
15367
|
ref,
|
|
@@ -15072,7 +15377,7 @@ var AccordionTrigger = React57.forwardRef(({ className, children, ...props }, re
|
|
|
15072
15377
|
}
|
|
15073
15378
|
) }));
|
|
15074
15379
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
15075
|
-
var AccordionContent =
|
|
15380
|
+
var AccordionContent = React58.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15076
15381
|
AccordionPrimitive.Content,
|
|
15077
15382
|
{
|
|
15078
15383
|
ref,
|
|
@@ -15092,9 +15397,9 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
15092
15397
|
var _reactslot = require('@radix-ui/react-slot');
|
|
15093
15398
|
|
|
15094
15399
|
|
|
15095
|
-
var Breadcrumb =
|
|
15400
|
+
var Breadcrumb = React59.forwardRef(({ ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
15096
15401
|
Breadcrumb.displayName = "Breadcrumb";
|
|
15097
|
-
var BreadcrumbList =
|
|
15402
|
+
var BreadcrumbList = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15098
15403
|
"ol",
|
|
15099
15404
|
{
|
|
15100
15405
|
ref,
|
|
@@ -15106,7 +15411,7 @@ var BreadcrumbList = React58.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
15106
15411
|
}
|
|
15107
15412
|
));
|
|
15108
15413
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
15109
|
-
var BreadcrumbItem =
|
|
15414
|
+
var BreadcrumbItem = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15110
15415
|
"li",
|
|
15111
15416
|
{
|
|
15112
15417
|
ref,
|
|
@@ -15115,7 +15420,7 @@ var BreadcrumbItem = React58.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
15115
15420
|
}
|
|
15116
15421
|
));
|
|
15117
15422
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
15118
|
-
var BreadcrumbLink =
|
|
15423
|
+
var BreadcrumbLink = React59.forwardRef(({ asChild, className, ...props }, ref) => {
|
|
15119
15424
|
const Comp = asChild ? _reactslot.Slot : "a";
|
|
15120
15425
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15121
15426
|
Comp,
|
|
@@ -15127,7 +15432,7 @@ var BreadcrumbLink = React58.forwardRef(({ asChild, className, ...props }, ref)
|
|
|
15127
15432
|
);
|
|
15128
15433
|
});
|
|
15129
15434
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
15130
|
-
var BreadcrumbPage =
|
|
15435
|
+
var BreadcrumbPage = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15131
15436
|
"span",
|
|
15132
15437
|
{
|
|
15133
15438
|
ref,
|
|
@@ -15183,7 +15488,7 @@ var MenubarGroup = MenubarPrimitive.Group;
|
|
|
15183
15488
|
var MenubarPortal = MenubarPrimitive.Portal;
|
|
15184
15489
|
var MenubarSub = MenubarPrimitive.Sub;
|
|
15185
15490
|
var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
|
15186
|
-
var Menubar =
|
|
15491
|
+
var Menubar = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15187
15492
|
MenubarPrimitive.Root,
|
|
15188
15493
|
{
|
|
15189
15494
|
ref,
|
|
@@ -15195,7 +15500,7 @@ var Menubar = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
15195
15500
|
}
|
|
15196
15501
|
));
|
|
15197
15502
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
15198
|
-
var MenubarTrigger =
|
|
15503
|
+
var MenubarTrigger = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15199
15504
|
MenubarPrimitive.Trigger,
|
|
15200
15505
|
{
|
|
15201
15506
|
ref,
|
|
@@ -15207,7 +15512,7 @@ var MenubarTrigger = React59.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
15207
15512
|
}
|
|
15208
15513
|
));
|
|
15209
15514
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
15210
|
-
var MenubarSubTrigger =
|
|
15515
|
+
var MenubarSubTrigger = React60.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15211
15516
|
MenubarPrimitive.SubTrigger,
|
|
15212
15517
|
{
|
|
15213
15518
|
ref,
|
|
@@ -15224,7 +15529,7 @@ var MenubarSubTrigger = React59.forwardRef(({ className, inset, children, ...pro
|
|
|
15224
15529
|
}
|
|
15225
15530
|
));
|
|
15226
15531
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
15227
|
-
var MenubarSubContent =
|
|
15532
|
+
var MenubarSubContent = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15228
15533
|
MenubarPrimitive.SubContent,
|
|
15229
15534
|
{
|
|
15230
15535
|
ref,
|
|
@@ -15236,7 +15541,7 @@ var MenubarSubContent = React59.forwardRef(({ className, ...props }, ref) => /*
|
|
|
15236
15541
|
}
|
|
15237
15542
|
));
|
|
15238
15543
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
15239
|
-
var MenubarContent =
|
|
15544
|
+
var MenubarContent = React60.forwardRef(
|
|
15240
15545
|
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MenubarPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15241
15546
|
MenubarPrimitive.Content,
|
|
15242
15547
|
{
|
|
@@ -15253,7 +15558,7 @@ var MenubarContent = React59.forwardRef(
|
|
|
15253
15558
|
) })
|
|
15254
15559
|
);
|
|
15255
15560
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
15256
|
-
var MenubarItem =
|
|
15561
|
+
var MenubarItem = React60.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15257
15562
|
MenubarPrimitive.Item,
|
|
15258
15563
|
{
|
|
15259
15564
|
ref,
|
|
@@ -15266,7 +15571,7 @@ var MenubarItem = React59.forwardRef(({ className, inset, ...props }, ref) => /*
|
|
|
15266
15571
|
}
|
|
15267
15572
|
));
|
|
15268
15573
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
15269
|
-
var MenubarCheckboxItem =
|
|
15574
|
+
var MenubarCheckboxItem = React60.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15270
15575
|
MenubarPrimitive.CheckboxItem,
|
|
15271
15576
|
{
|
|
15272
15577
|
ref,
|
|
@@ -15283,7 +15588,7 @@ var MenubarCheckboxItem = React59.forwardRef(({ className, children, checked, ..
|
|
|
15283
15588
|
}
|
|
15284
15589
|
));
|
|
15285
15590
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
15286
|
-
var MenubarRadioItem =
|
|
15591
|
+
var MenubarRadioItem = React60.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15287
15592
|
MenubarPrimitive.RadioItem,
|
|
15288
15593
|
{
|
|
15289
15594
|
ref,
|
|
@@ -15299,7 +15604,7 @@ var MenubarRadioItem = React59.forwardRef(({ className, children, ...props }, re
|
|
|
15299
15604
|
}
|
|
15300
15605
|
));
|
|
15301
15606
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
15302
|
-
var MenubarLabel =
|
|
15607
|
+
var MenubarLabel = React60.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15303
15608
|
MenubarPrimitive.Label,
|
|
15304
15609
|
{
|
|
15305
15610
|
ref,
|
|
@@ -15312,7 +15617,7 @@ var MenubarLabel = React59.forwardRef(({ className, inset, ...props }, ref) => /
|
|
|
15312
15617
|
}
|
|
15313
15618
|
));
|
|
15314
15619
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
15315
|
-
var MenubarSeparator =
|
|
15620
|
+
var MenubarSeparator = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15316
15621
|
MenubarPrimitive.Separator,
|
|
15317
15622
|
{
|
|
15318
15623
|
ref,
|
|
@@ -15345,7 +15650,7 @@ var _reactnavigationmenu = require('@radix-ui/react-navigation-menu'); var Navig
|
|
|
15345
15650
|
|
|
15346
15651
|
|
|
15347
15652
|
|
|
15348
|
-
var NavigationMenu =
|
|
15653
|
+
var NavigationMenu = React61.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15349
15654
|
NavigationMenuPrimitive.Root,
|
|
15350
15655
|
{
|
|
15351
15656
|
ref,
|
|
@@ -15361,7 +15666,7 @@ var NavigationMenu = React60.forwardRef(({ className, children, ...props }, ref)
|
|
|
15361
15666
|
}
|
|
15362
15667
|
));
|
|
15363
15668
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
15364
|
-
var NavigationMenuList =
|
|
15669
|
+
var NavigationMenuList = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15365
15670
|
NavigationMenuPrimitive.List,
|
|
15366
15671
|
{
|
|
15367
15672
|
ref,
|
|
@@ -15377,7 +15682,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
|
15377
15682
|
var navigationMenuTriggerStyle = _classvarianceauthority.cva.call(void 0,
|
|
15378
15683
|
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
|
|
15379
15684
|
);
|
|
15380
|
-
var NavigationMenuTrigger =
|
|
15685
|
+
var NavigationMenuTrigger = React61.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15381
15686
|
NavigationMenuPrimitive.Trigger,
|
|
15382
15687
|
{
|
|
15383
15688
|
ref,
|
|
@@ -15397,7 +15702,7 @@ var NavigationMenuTrigger = React60.forwardRef(({ className, children, ...props
|
|
|
15397
15702
|
}
|
|
15398
15703
|
));
|
|
15399
15704
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
15400
|
-
var NavigationMenuContent =
|
|
15705
|
+
var NavigationMenuContent = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15401
15706
|
NavigationMenuPrimitive.Content,
|
|
15402
15707
|
{
|
|
15403
15708
|
ref,
|
|
@@ -15410,7 +15715,7 @@ var NavigationMenuContent = React60.forwardRef(({ className, ...props }, ref) =>
|
|
|
15410
15715
|
));
|
|
15411
15716
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
15412
15717
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
15413
|
-
var NavigationMenuViewport =
|
|
15718
|
+
var NavigationMenuViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15414
15719
|
NavigationMenuPrimitive.Viewport,
|
|
15415
15720
|
{
|
|
15416
15721
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -15422,7 +15727,7 @@ var NavigationMenuViewport = React60.forwardRef(({ className, ...props }, ref) =
|
|
|
15422
15727
|
}
|
|
15423
15728
|
) }));
|
|
15424
15729
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
15425
|
-
var NavigationMenuIndicator =
|
|
15730
|
+
var NavigationMenuIndicator = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15426
15731
|
NavigationMenuPrimitive.Indicator,
|
|
15427
15732
|
{
|
|
15428
15733
|
ref,
|
|
@@ -15481,19 +15786,19 @@ function TabNavigation({
|
|
|
15481
15786
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
15482
15787
|
const getInitialTab = () => {
|
|
15483
15788
|
if (isUrlSyncEnabled) {
|
|
15484
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
15789
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _279 => _279.get, 'call', _280 => _280(paramName)]) || "";
|
|
15485
15790
|
if (validTabIds.has(fromUrl)) {
|
|
15486
15791
|
return fromUrl;
|
|
15487
15792
|
}
|
|
15488
15793
|
}
|
|
15489
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
15794
|
+
return defaultTab || _optionalChain([tabs, 'access', _281 => _281[0], 'optionalAccess', _282 => _282.id]) || "";
|
|
15490
15795
|
};
|
|
15491
15796
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
15492
15797
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
15493
15798
|
_react.useEffect.call(void 0, () => {
|
|
15494
15799
|
if (!isUrlSyncEnabled) return;
|
|
15495
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
15496
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
15800
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _283 => _283.get, 'call', _284 => _284(paramName)]) || "";
|
|
15801
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _285 => _285[0], 'optionalAccess', _286 => _286.id]) || "";
|
|
15497
15802
|
if (nextTab !== internalActiveTab) {
|
|
15498
15803
|
setInternalActiveTab(nextTab);
|
|
15499
15804
|
}
|
|
@@ -15501,13 +15806,13 @@ function TabNavigation({
|
|
|
15501
15806
|
const handleTabChange = (tabId) => {
|
|
15502
15807
|
if (isUrlSyncEnabled) {
|
|
15503
15808
|
setInternalActiveTab(tabId);
|
|
15504
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
15809
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _287 => _287.toString, 'call', _288 => _288()]));
|
|
15505
15810
|
params.set(paramName, tabId);
|
|
15506
15811
|
const method = replaceState ? "replace" : "push";
|
|
15507
15812
|
router[method](`${pathname}?${params.toString()}`);
|
|
15508
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
15813
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _289 => _289(tabId)]);
|
|
15509
15814
|
} else {
|
|
15510
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
15815
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _290 => _290(tabId)]);
|
|
15511
15816
|
}
|
|
15512
15817
|
};
|
|
15513
15818
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -15595,7 +15900,7 @@ function TabNavigation({
|
|
|
15595
15900
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
15596
15901
|
var getTabComponent = (tabs, tabId) => {
|
|
15597
15902
|
const tab = getTabById(tabs, tabId);
|
|
15598
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
15903
|
+
return _optionalChain([tab, 'optionalAccess', _291 => _291.component]) || null;
|
|
15599
15904
|
};
|
|
15600
15905
|
|
|
15601
15906
|
// src/components/ui/alert.tsx
|
|
@@ -15617,7 +15922,7 @@ var alertVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
15617
15922
|
}
|
|
15618
15923
|
}
|
|
15619
15924
|
);
|
|
15620
|
-
var Alert =
|
|
15925
|
+
var Alert = React63.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15621
15926
|
"div",
|
|
15622
15927
|
{
|
|
15623
15928
|
ref,
|
|
@@ -15627,7 +15932,7 @@ var Alert = React62.forwardRef(({ className, variant, ...props }, ref) => /* @__
|
|
|
15627
15932
|
}
|
|
15628
15933
|
));
|
|
15629
15934
|
Alert.displayName = "Alert";
|
|
15630
|
-
var AlertTitle =
|
|
15935
|
+
var AlertTitle = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15631
15936
|
"h5",
|
|
15632
15937
|
{
|
|
15633
15938
|
ref,
|
|
@@ -15636,7 +15941,7 @@ var AlertTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
15636
15941
|
}
|
|
15637
15942
|
));
|
|
15638
15943
|
AlertTitle.displayName = "AlertTitle";
|
|
15639
|
-
var AlertDescription =
|
|
15944
|
+
var AlertDescription = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15640
15945
|
"div",
|
|
15641
15946
|
{
|
|
15642
15947
|
ref,
|
|
@@ -15651,7 +15956,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
15651
15956
|
|
|
15652
15957
|
var _reactprogress = require('@radix-ui/react-progress'); var ProgressPrimitive = _interopRequireWildcard(_reactprogress);
|
|
15653
15958
|
|
|
15654
|
-
var Progress =
|
|
15959
|
+
var Progress = React64.forwardRef(({ className, value, indicatorClassName, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15655
15960
|
ProgressPrimitive.Root,
|
|
15656
15961
|
{
|
|
15657
15962
|
ref,
|
|
@@ -15846,13 +16151,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
|
|
|
15846
16151
|
errorData = await response.json();
|
|
15847
16152
|
} catch (e19) {
|
|
15848
16153
|
}
|
|
15849
|
-
if (response.status === 404 && _optionalChain([errorData, 'optionalAccess',
|
|
16154
|
+
if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _292 => _292.error]) && _optionalChain([errorData, 'optionalAccess', _293 => _293.message])) {
|
|
15850
16155
|
console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
|
|
15851
16156
|
onError(errorData.message);
|
|
15852
16157
|
onLoading(false);
|
|
15853
16158
|
return;
|
|
15854
16159
|
}
|
|
15855
|
-
if (_optionalChain([errorData, 'optionalAccess',
|
|
16160
|
+
if (_optionalChain([errorData, 'optionalAccess', _294 => _294.error])) {
|
|
15856
16161
|
throw new Error(`Server error: ${errorData.error}`);
|
|
15857
16162
|
}
|
|
15858
16163
|
throw new Error(`Server proxy failed: ${response.status}`);
|
|
@@ -16304,7 +16609,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16304
16609
|
apiEndpoint: redditProxyUrl,
|
|
16305
16610
|
dataValidator: validateRedditData,
|
|
16306
16611
|
onDataUpdate: (data) => {
|
|
16307
|
-
if (_optionalChain([data, 'access',
|
|
16612
|
+
if (_optionalChain([data, 'access', _295 => _295[0], 'optionalAccess', _296 => _296.data, 'optionalAccess', _297 => _297.children, 'optionalAccess', _298 => _298[0], 'optionalAccess', _299 => _299.data])) {
|
|
16308
16613
|
setRedditData(data[0].data.children[0].data);
|
|
16309
16614
|
}
|
|
16310
16615
|
},
|
|
@@ -16375,11 +16680,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16375
16680
|
gallery_data: redditData.gallery_data,
|
|
16376
16681
|
media_metadata: redditData.media_metadata
|
|
16377
16682
|
});
|
|
16378
|
-
const video = _optionalChain([redditData, 'access',
|
|
16683
|
+
const video = _optionalChain([redditData, 'access', _300 => _300.media, 'optionalAccess', _301 => _301.reddit_video]) || _optionalChain([redditData, 'access', _302 => _302.secure_media, 'optionalAccess', _303 => _303.reddit_video]);
|
|
16379
16684
|
if (video && video.fallback_url) {
|
|
16380
16685
|
console.log("\u{1F4F9} Found Reddit video:", video);
|
|
16381
16686
|
let posterUrl = "";
|
|
16382
|
-
if (_optionalChain([redditData, 'access',
|
|
16687
|
+
if (_optionalChain([redditData, 'access', _304 => _304.preview, 'optionalAccess', _305 => _305.images, 'optionalAccess', _306 => _306[0], 'optionalAccess', _307 => _307.source, 'optionalAccess', _308 => _308.url])) {
|
|
16383
16688
|
posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
|
|
16384
16689
|
console.log("\u2705 Using preview image as video poster:", posterUrl);
|
|
16385
16690
|
} else {
|
|
@@ -16432,7 +16737,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16432
16737
|
return media;
|
|
16433
16738
|
}
|
|
16434
16739
|
}
|
|
16435
|
-
if (_optionalChain([redditData, 'access',
|
|
16740
|
+
if (_optionalChain([redditData, 'access', _309 => _309.preview, 'optionalAccess', _310 => _310.images, 'optionalAccess', _311 => _311[0]]) && !redditData.is_video) {
|
|
16436
16741
|
const imageData = redditData.preview.images[0];
|
|
16437
16742
|
console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
|
|
16438
16743
|
let source = imageData.source;
|
|
@@ -16467,7 +16772,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16467
16772
|
} else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
|
|
16468
16773
|
console.log("\u{1F3AC} Found direct video URL");
|
|
16469
16774
|
let posterUrl = "";
|
|
16470
|
-
if (_optionalChain([redditData, 'access',
|
|
16775
|
+
if (_optionalChain([redditData, 'access', _312 => _312.preview, 'optionalAccess', _313 => _313.images, 'optionalAccess', _314 => _314[0], 'optionalAccess', _315 => _315.source, 'optionalAccess', _316 => _316.url])) {
|
|
16471
16776
|
posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
|
|
16472
16777
|
}
|
|
16473
16778
|
media.push({
|
|
@@ -16480,7 +16785,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16480
16785
|
});
|
|
16481
16786
|
} else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
|
|
16482
16787
|
console.log("\u{1F310} Found Imgur link");
|
|
16483
|
-
const imgurId = _optionalChain([directUrl, 'access',
|
|
16788
|
+
const imgurId = _optionalChain([directUrl, 'access', _317 => _317.match, 'call', _318 => _318(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _319 => _319[1]]);
|
|
16484
16789
|
if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
|
|
16485
16790
|
media.push({
|
|
16486
16791
|
type: "image",
|
|
@@ -16629,7 +16934,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
16629
16934
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
16630
16935
|
const [error, setError] = _react.useState.call(void 0, null);
|
|
16631
16936
|
const initializationDone = _react.useRef.call(void 0, false);
|
|
16632
|
-
const extractedTweetId = tweetId || _optionalChain([url, 'access',
|
|
16937
|
+
const extractedTweetId = tweetId || _optionalChain([url, 'access', _320 => _320.match, 'call', _321 => _321(/status\/(\d+)/), 'optionalAccess', _322 => _322[1]]);
|
|
16633
16938
|
const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
|
|
16634
16939
|
_react.useEffect.call(void 0, () => {
|
|
16635
16940
|
if (initializationDone.current) return;
|
|
@@ -16696,10 +17001,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
16696
17001
|
const parser = new DOMParser();
|
|
16697
17002
|
const doc = parser.parseFromString(tweetData.html, "text/html");
|
|
16698
17003
|
const blockquote = doc.querySelector("blockquote");
|
|
16699
|
-
const fullText = _optionalChain([blockquote, 'optionalAccess',
|
|
17004
|
+
const fullText = _optionalChain([blockquote, 'optionalAccess', _323 => _323.textContent]) || "";
|
|
16700
17005
|
const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
|
|
16701
17006
|
const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
|
|
16702
|
-
const links = Array.from(_optionalChain([blockquote, 'optionalAccess',
|
|
17007
|
+
const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _324 => _324.querySelectorAll, 'call', _325 => _325("a")]) || []).map((link) => ({
|
|
16703
17008
|
url: link.href,
|
|
16704
17009
|
text: link.textContent || link.href
|
|
16705
17010
|
})).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
|
|
@@ -16954,7 +17259,7 @@ var OGLinkPreview = ({
|
|
|
16954
17259
|
const response = await fetch(endpoint);
|
|
16955
17260
|
if (response.ok) {
|
|
16956
17261
|
const data = await response.json();
|
|
16957
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
17262
|
+
if (_optionalChain([data, 'optionalAccess', _326 => _326.title]) && data.title !== "Link Preview Unavailable") {
|
|
16958
17263
|
setOgData(data);
|
|
16959
17264
|
} else {
|
|
16960
17265
|
setError(true);
|
|
@@ -16981,8 +17286,8 @@ var OGLinkPreview = ({
|
|
|
16981
17286
|
type: "website",
|
|
16982
17287
|
favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
|
|
16983
17288
|
} : null)));
|
|
16984
|
-
const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess',
|
|
16985
|
-
const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess',
|
|
17289
|
+
const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _327 => _327.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
|
|
17290
|
+
const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _328 => _328.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _329 => _329.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
|
|
16986
17291
|
const hasImage = !!resolvedImageUrl;
|
|
16987
17292
|
const isFallbackImage = resolvedImageUrl === fallbackImage;
|
|
16988
17293
|
const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
|
|
@@ -17228,9 +17533,9 @@ function toFigmaEmbedUrl(url, opts) {
|
|
|
17228
17533
|
if (match2) {
|
|
17229
17534
|
const [, urlType, fileKey, titleSlug, queryString] = match2;
|
|
17230
17535
|
const isSlides = urlType === "slides" || urlType === "deck";
|
|
17231
|
-
const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess',
|
|
17536
|
+
const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _330 => _330.slidesView]) === "browse" ? "slides" : "deck" : "design";
|
|
17232
17537
|
const pathSuffix = titleSlug ? `/${titleSlug}` : "";
|
|
17233
|
-
const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess',
|
|
17538
|
+
const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _331 => _331.replace, 'call', _332 => _332(/^\?/, "")]) || "");
|
|
17234
17539
|
if (!params.has("embed-host")) {
|
|
17235
17540
|
params.set("embed-host", "flamingo");
|
|
17236
17541
|
}
|
|
@@ -17311,7 +17616,7 @@ function EmbedIframe({
|
|
|
17311
17616
|
allow,
|
|
17312
17617
|
referrerPolicy,
|
|
17313
17618
|
loading,
|
|
17314
|
-
allowFullScreen: _optionalChain([allow, 'optionalAccess',
|
|
17619
|
+
allowFullScreen: _optionalChain([allow, 'optionalAccess', _333 => _333.includes, 'call', _334 => _334("fullscreen")]) ? void 0 : allowFullScreen
|
|
17315
17620
|
},
|
|
17316
17621
|
src
|
|
17317
17622
|
)
|
|
@@ -18062,7 +18367,7 @@ var RichMarkdownInner = ({
|
|
|
18062
18367
|
const extractText2 = (node) => {
|
|
18063
18368
|
if (typeof node === "string") return node;
|
|
18064
18369
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18065
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18370
|
+
if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
|
|
18066
18371
|
return "";
|
|
18067
18372
|
};
|
|
18068
18373
|
const text = extractText2(children);
|
|
@@ -18078,7 +18383,7 @@ var RichMarkdownInner = ({
|
|
|
18078
18383
|
const extractText2 = (node) => {
|
|
18079
18384
|
if (typeof node === "string") return node;
|
|
18080
18385
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18081
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18386
|
+
if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
|
|
18082
18387
|
return "";
|
|
18083
18388
|
};
|
|
18084
18389
|
const text = extractText2(children);
|
|
@@ -18096,7 +18401,7 @@ var RichMarkdownInner = ({
|
|
|
18096
18401
|
const extractText2 = (node) => {
|
|
18097
18402
|
if (typeof node === "string") return node;
|
|
18098
18403
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18099
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18404
|
+
if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
|
|
18100
18405
|
return "";
|
|
18101
18406
|
};
|
|
18102
18407
|
const text = extractText2(children);
|
|
@@ -18114,7 +18419,7 @@ var RichMarkdownInner = ({
|
|
|
18114
18419
|
const extractText2 = (node) => {
|
|
18115
18420
|
if (typeof node === "string") return node;
|
|
18116
18421
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18117
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18422
|
+
if (_optionalChain([node, 'optionalAccess', _341 => _341.props, 'optionalAccess', _342 => _342.children])) return extractText2(node.props.children);
|
|
18118
18423
|
return "";
|
|
18119
18424
|
};
|
|
18120
18425
|
const text = extractText2(children);
|
|
@@ -18132,7 +18437,7 @@ var RichMarkdownInner = ({
|
|
|
18132
18437
|
const extractText2 = (node) => {
|
|
18133
18438
|
if (typeof node === "string") return node;
|
|
18134
18439
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18135
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18440
|
+
if (_optionalChain([node, 'optionalAccess', _343 => _343.props, 'optionalAccess', _344 => _344.children])) return extractText2(node.props.children);
|
|
18136
18441
|
return "";
|
|
18137
18442
|
};
|
|
18138
18443
|
const text = extractText2(children);
|
|
@@ -18150,7 +18455,7 @@ var RichMarkdownInner = ({
|
|
|
18150
18455
|
const extractText2 = (node) => {
|
|
18151
18456
|
if (typeof node === "string") return node;
|
|
18152
18457
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
18153
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18458
|
+
if (_optionalChain([node, 'optionalAccess', _345 => _345.props, 'optionalAccess', _346 => _346.children])) return extractText2(node.props.children);
|
|
18154
18459
|
return "";
|
|
18155
18460
|
};
|
|
18156
18461
|
const text = extractText2(children);
|
|
@@ -18226,8 +18531,8 @@ var RichMarkdownInner = ({
|
|
|
18226
18531
|
{
|
|
18227
18532
|
href,
|
|
18228
18533
|
className: `text-ods-accent no-underline relative transition-colors duration-200 hover:after:w-full after:content-[''] after:absolute after:w-0 after:h-0.5 after:-bottom-0.5 after:left-0 after:bg-ods-accent after:transition-all after:duration-300 ${className2 || ""}`,
|
|
18229
|
-
target: _optionalChain([href, 'optionalAccess',
|
|
18230
|
-
rel: _optionalChain([href, 'optionalAccess',
|
|
18534
|
+
target: _optionalChain([href, 'optionalAccess', _347 => _347.startsWith, 'call', _348 => _348("http")]) ? "_blank" : void 0,
|
|
18535
|
+
rel: _optionalChain([href, 'optionalAccess', _349 => _349.startsWith, 'call', _350 => _350("http")]) ? "noopener noreferrer" : void 0,
|
|
18231
18536
|
children
|
|
18232
18537
|
}
|
|
18233
18538
|
);
|
|
@@ -18351,7 +18656,7 @@ function ReleaseChangelogSection({
|
|
|
18351
18656
|
className: "overflow-hidden transition-[max-height] duration-500",
|
|
18352
18657
|
style: {
|
|
18353
18658
|
transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
|
|
18354
|
-
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access',
|
|
18659
|
+
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _351 => _351.current, 'optionalAccess', _352 => _352.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
|
|
18355
18660
|
...previewNeedsFade && !previewExpanded ? {
|
|
18356
18661
|
maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
|
|
18357
18662
|
WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
|
|
@@ -18788,16 +19093,16 @@ function FilterModal({
|
|
|
18788
19093
|
};
|
|
18789
19094
|
const handleReset = () => {
|
|
18790
19095
|
onFilterChange({});
|
|
18791
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
19096
|
+
_optionalChain([onTagsChange, 'optionalCall', _353 => _353([])]);
|
|
18792
19097
|
onClose();
|
|
18793
19098
|
};
|
|
18794
19099
|
const handleApply = () => {
|
|
18795
19100
|
onFilterChange(selectedFilters);
|
|
18796
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
19101
|
+
_optionalChain([onTagsChange, 'optionalCall', _354 => _354(pendingTags)]);
|
|
18797
19102
|
onClose();
|
|
18798
19103
|
};
|
|
18799
19104
|
const getColumnDirection = (columnKey) => {
|
|
18800
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
19105
|
+
return _optionalChain([sortConfig, 'optionalAccess', _355 => _355.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
18801
19106
|
};
|
|
18802
19107
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
18803
19108
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -18846,7 +19151,7 @@ function FilterModal({
|
|
|
18846
19151
|
{
|
|
18847
19152
|
column,
|
|
18848
19153
|
currentDirection: getColumnDirection(column.key),
|
|
18849
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
19154
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _356 => _356(column.key, direction)]),
|
|
18850
19155
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
18851
19156
|
},
|
|
18852
19157
|
column.key
|
|
@@ -18927,6 +19232,14 @@ function actionToMenuItems(action, idx) {
|
|
|
18927
19232
|
}];
|
|
18928
19233
|
}
|
|
18929
19234
|
function renderActionButton(action, opts = {}) {
|
|
19235
|
+
const button = renderRawActionButton(action, opts);
|
|
19236
|
+
if (!action.tooltip) return button;
|
|
19237
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
|
|
19238
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: button }),
|
|
19239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: action.tooltip })
|
|
19240
|
+
] }) });
|
|
19241
|
+
}
|
|
19242
|
+
function renderRawActionButton(action, opts = {}) {
|
|
18930
19243
|
if (action.iconAction) {
|
|
18931
19244
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18932
19245
|
_chunkQJGRP2YEcjs.SplitButton,
|
|
@@ -19024,13 +19337,13 @@ function IconButtonsVariant({
|
|
|
19024
19337
|
}) {
|
|
19025
19338
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
19026
19339
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
19027
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
19340
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _357 => _357[0], 'access', _358 => _358.submenu, 'optionalAccess', _359 => _359.length]);
|
|
19028
19341
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
19029
19342
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
19030
19343
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
19031
19344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: [
|
|
19032
19345
|
selector,
|
|
19033
|
-
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19346
|
+
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
19034
19347
|
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions })
|
|
19035
19348
|
] }),
|
|
19036
19349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex md:hidden", className), children: useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19055,7 +19368,7 @@ function PrimaryButtonsVariant({
|
|
|
19055
19368
|
});
|
|
19056
19369
|
const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
|
|
19057
19370
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
19058
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19371
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderActionButton(action) }, `desktop-${actionKey(action, idx)}`)) }),
|
|
19059
19372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileBottomActions, { actions: sortedActions })
|
|
19060
19373
|
] });
|
|
19061
19374
|
}
|
|
@@ -19071,7 +19384,7 @@ function MenuPrimaryVariant({
|
|
|
19071
19384
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: [
|
|
19072
19385
|
selector,
|
|
19073
19386
|
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions }),
|
|
19074
|
-
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19387
|
+
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
19075
19388
|
] }),
|
|
19076
19389
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex md:hidden", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19077
19390
|
ActionsMenuDropdown,
|
|
@@ -19090,7 +19403,7 @@ function MobileBottomActions({ actions }) {
|
|
|
19090
19403
|
"bg-ods-card border-t border-ods-border",
|
|
19091
19404
|
"flex items-start pt-6 pb-6 px-6",
|
|
19092
19405
|
ACTIONS_GAP
|
|
19093
|
-
), children: actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19406
|
+
), children: actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderActionButton(action, { fullWidth: !!action.label }) }, `mobile-${actionKey(action, idx)}`)) });
|
|
19094
19407
|
}
|
|
19095
19408
|
function usePageActionsBottomPadding(variant) {
|
|
19096
19409
|
return variant === "primary-buttons" || variant === "menu-primary" ? "pb-40 md:pb-0" : "";
|
|
@@ -19420,8 +19733,8 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
19420
19733
|
|
|
19421
19734
|
|
|
19422
19735
|
function EntityImage({ src, alt, fallbackText, className }) {
|
|
19423
|
-
const [imageFailed, setImageFailed] =
|
|
19424
|
-
|
|
19736
|
+
const [imageFailed, setImageFailed] = React113.default.useState(false);
|
|
19737
|
+
React113.default.useEffect(() => {
|
|
19425
19738
|
setImageFailed(false);
|
|
19426
19739
|
}, [src]);
|
|
19427
19740
|
const showFallback = imageFailed || !src;
|
|
@@ -19615,7 +19928,7 @@ var toggleVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
19615
19928
|
}
|
|
19616
19929
|
}
|
|
19617
19930
|
);
|
|
19618
|
-
var Toggle =
|
|
19931
|
+
var Toggle = React73.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19619
19932
|
TogglePrimitive.Root,
|
|
19620
19933
|
{
|
|
19621
19934
|
ref,
|
|
@@ -19627,11 +19940,11 @@ Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
|
19627
19940
|
|
|
19628
19941
|
// src/components/toggle-group.tsx
|
|
19629
19942
|
|
|
19630
|
-
var ToggleGroupContext =
|
|
19943
|
+
var ToggleGroupContext = React74.createContext({
|
|
19631
19944
|
size: "default",
|
|
19632
19945
|
variant: "default"
|
|
19633
19946
|
});
|
|
19634
|
-
var ToggleGroup =
|
|
19947
|
+
var ToggleGroup = React74.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19635
19948
|
ToggleGroupPrimitive.Root,
|
|
19636
19949
|
{
|
|
19637
19950
|
ref,
|
|
@@ -19641,8 +19954,8 @@ var ToggleGroup = React73.forwardRef(({ className, variant, size, children, ...p
|
|
|
19641
19954
|
}
|
|
19642
19955
|
));
|
|
19643
19956
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
19644
|
-
var ToggleGroupItem =
|
|
19645
|
-
const context =
|
|
19957
|
+
var ToggleGroupItem = React74.forwardRef(({ className, children, variant, size, value, ...props }, ref) => {
|
|
19958
|
+
const context = React74.useContext(ToggleGroupContext);
|
|
19646
19959
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19647
19960
|
ToggleGroupPrimitive.Item,
|
|
19648
19961
|
{
|
|
@@ -20180,7 +20493,7 @@ function getShellIcon(shellType) {
|
|
|
20180
20493
|
if (!shellType) return void 0;
|
|
20181
20494
|
const normalized = shellType.toUpperCase();
|
|
20182
20495
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
20183
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
20496
|
+
return _optionalChain([shellDef, 'optionalAccess', _360 => _360.icon]);
|
|
20184
20497
|
}
|
|
20185
20498
|
|
|
20186
20499
|
// src/types/os.types.ts
|
|
@@ -20253,7 +20566,7 @@ function getOSIcon(osType) {
|
|
|
20253
20566
|
const normalized = normalizeOSType(osType);
|
|
20254
20567
|
if (!normalized) return void 0;
|
|
20255
20568
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
20256
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
20569
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _361 => _361.icon]);
|
|
20257
20570
|
}
|
|
20258
20571
|
function getOSTypeDefinition(osType) {
|
|
20259
20572
|
if (!osType) return void 0;
|
|
@@ -20263,7 +20576,7 @@ function getOSTypeDefinition(osType) {
|
|
|
20263
20576
|
}
|
|
20264
20577
|
function getOSPlatformId(osType) {
|
|
20265
20578
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
20266
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
20579
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _362 => _362.platformId]);
|
|
20267
20580
|
}
|
|
20268
20581
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
20269
20582
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -20356,10 +20669,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
20356
20669
|
];
|
|
20357
20670
|
function extractDomainFromEmail(email) {
|
|
20358
20671
|
if (!email || !email.includes("@")) return null;
|
|
20359
|
-
return _optionalChain([email, 'access',
|
|
20672
|
+
return _optionalChain([email, 'access', _363 => _363.split, 'call', _364 => _364("@"), 'access', _365 => _365[1], 'optionalAccess', _366 => _366.toLowerCase, 'call', _367 => _367()]) || null;
|
|
20360
20673
|
}
|
|
20361
20674
|
function normalizeDomain(domain) {
|
|
20362
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
20675
|
+
return _optionalChain([domain, 'optionalAccess', _368 => _368.toLowerCase, 'call', _369 => _369(), 'access', _370 => _370.replace, 'call', _371 => _371(/^https?:\/\//, ""), 'access', _372 => _372.replace, 'call', _373 => _373(/^www\./, ""), 'access', _374 => _374.split, 'call', _375 => _375("/"), 'access', _376 => _376[0], 'access', _377 => _377.trim, 'call', _378 => _378()]) || "";
|
|
20363
20676
|
}
|
|
20364
20677
|
function isGenericDomain(domain) {
|
|
20365
20678
|
const normalized = normalizeDomain(domain);
|
|
@@ -20793,7 +21106,7 @@ function defaultTableIdForDocumentType(documentType) {
|
|
|
20793
21106
|
|
|
20794
21107
|
// src/utils/sse-decision-frame.ts
|
|
20795
21108
|
async function readLeadingDecisionFrame(response) {
|
|
20796
|
-
const reader = _optionalChain([response, 'access',
|
|
21109
|
+
const reader = _optionalChain([response, 'access', _379 => _379.body, 'optionalAccess', _380 => _380.getReader, 'call', _381 => _381()]);
|
|
20797
21110
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
20798
21111
|
const decoder = new TextDecoder();
|
|
20799
21112
|
let buffer = "";
|
|
@@ -20822,9 +21135,9 @@ async function readLeadingDecisionFrame(response) {
|
|
|
20822
21135
|
);
|
|
20823
21136
|
}
|
|
20824
21137
|
const obj = parsed;
|
|
20825
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
21138
|
+
if (_optionalChain([obj, 'optionalAccess', _382 => _382.kind]) !== "decision_resolved") {
|
|
20826
21139
|
throw new Error(
|
|
20827
|
-
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
21140
|
+
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _383 => _383.kind]))}`
|
|
20828
21141
|
);
|
|
20829
21142
|
}
|
|
20830
21143
|
frame = normalizeDecisionFrame(obj);
|
|
@@ -20865,7 +21178,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20865
21178
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20866
21179
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20867
21180
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20868
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
21181
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _384 => _384.status, 'optionalAccess', _385 => _385.toUpperCase, 'call', _386 => _386()]) === "CLOSED";
|
|
20869
21182
|
if (toolName === "create_ticket") {
|
|
20870
21183
|
return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
|
|
20871
21184
|
}
|
|
@@ -20927,7 +21240,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20927
21240
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20928
21241
|
}
|
|
20929
21242
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20930
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
21243
|
+
const f = _optionalChain([override, 'optionalAccess', _387 => _387.entityIdFilter]);
|
|
20931
21244
|
if (!f) return null;
|
|
20932
21245
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20933
21246
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -21002,7 +21315,7 @@ function getTaskTypeLabel(customItemId) {
|
|
|
21002
21315
|
|
|
21003
21316
|
// src/components/chat/utils/agent-status-message.ts
|
|
21004
21317
|
function getStatusColorScheme(status) {
|
|
21005
|
-
const s = _optionalChain([status, 'optionalAccess',
|
|
21318
|
+
const s = _optionalChain([status, 'optionalAccess', _388 => _388.toLowerCase, 'call', _389 => _389()]) || "";
|
|
21006
21319
|
switch (status) {
|
|
21007
21320
|
case "completed":
|
|
21008
21321
|
case "success":
|
|
@@ -21284,10 +21597,10 @@ var CONTENT_REF_GROUPS = {
|
|
|
21284
21597
|
what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
|
|
21285
21598
|
};
|
|
21286
21599
|
function getContentRefLabel(type) {
|
|
21287
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
21600
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _390 => _390[type], 'optionalAccess', _391 => _391.label]), () => ( null));
|
|
21288
21601
|
}
|
|
21289
21602
|
function getContentRefLabelOrTitleCase(type) {
|
|
21290
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
21603
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _392 => _392[type], 'optionalAccess', _393 => _393.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
|
|
21291
21604
|
}
|
|
21292
21605
|
function orderContentRefTypes(present) {
|
|
21293
21606
|
const presentSet = new Set(present);
|
|
@@ -21446,7 +21759,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
|
|
|
21446
21759
|
const firstFolderWithReadme = structure.find(
|
|
21447
21760
|
(node) => node.type === "folder" && node.hasReadme && !!node.path
|
|
21448
21761
|
);
|
|
21449
|
-
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess',
|
|
21762
|
+
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _394 => _394.path]), () => ( null));
|
|
21450
21763
|
}
|
|
21451
21764
|
|
|
21452
21765
|
// src/utils/doc-path-utils.ts
|
|
@@ -21457,7 +21770,7 @@ function pathToNodeId(path) {
|
|
|
21457
21770
|
return path.replace(/[\/\s]/g, "-").toLowerCase();
|
|
21458
21771
|
}
|
|
21459
21772
|
function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
|
|
21460
|
-
const lowerPath = (_optionalChain([segments, 'optionalAccess',
|
|
21773
|
+
const lowerPath = (_optionalChain([segments, 'optionalAccess', _395 => _395.join, 'call', _396 => _396("/")]) || "").toLowerCase();
|
|
21461
21774
|
const lowerIndex = folderIndexFile.toLowerCase();
|
|
21462
21775
|
const suffix = `/${lowerIndex}`;
|
|
21463
21776
|
if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
|
|
@@ -21661,7 +21974,7 @@ var BenefitCardGrid = ({
|
|
|
21661
21974
|
className = "",
|
|
21662
21975
|
columns = 2
|
|
21663
21976
|
}) => {
|
|
21664
|
-
const childrenArray =
|
|
21977
|
+
const childrenArray = React113.default.Children.toArray(children);
|
|
21665
21978
|
const gridClass = columns === 4 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4" : columns === 3 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3" : "flex flex-col md:flex-row";
|
|
21666
21979
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
21667
21980
|
"bg-ods-card rounded-lg shadow-ods-card border border-ods-border overflow-hidden",
|
|
@@ -21682,7 +21995,7 @@ var BenefitCardGrid = ({
|
|
|
21682
21995
|
} else {
|
|
21683
21996
|
borderClass = isLastItem ? "border-b-0" : "border-b md:border-b-0 md:border-r border-ods-border";
|
|
21684
21997
|
}
|
|
21685
|
-
return
|
|
21998
|
+
return React113.default.cloneElement(child, {
|
|
21686
21999
|
key: index,
|
|
21687
22000
|
className: borderClass
|
|
21688
22001
|
});
|
|
@@ -21699,7 +22012,7 @@ function BrandAssociationCard({
|
|
|
21699
22012
|
className = ""
|
|
21700
22013
|
}) {
|
|
21701
22014
|
const renderIcon = () => {
|
|
21702
|
-
if (
|
|
22015
|
+
if (React113.default.isValidElement(item.icon)) {
|
|
21703
22016
|
return item.icon;
|
|
21704
22017
|
}
|
|
21705
22018
|
const IconComponent = item.icon;
|
|
@@ -21803,7 +22116,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
21803
22116
|
|
|
21804
22117
|
|
|
21805
22118
|
|
|
21806
|
-
var ChevronButton =
|
|
22119
|
+
var ChevronButton = React77.forwardRef(
|
|
21807
22120
|
({ className, direction = "down", size = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
|
|
21808
22121
|
const Icon2 = (isExpanded ? _lucidereact.ChevronUp : _lucidereact.ChevronDown) || (direction === "up" ? _lucidereact.ChevronUp : _lucidereact.ChevronDown);
|
|
21809
22122
|
const sizeClasses2 = {
|
|
@@ -22000,8 +22313,8 @@ function FloatingTooltip({
|
|
|
22000
22313
|
delayDuration = 0,
|
|
22001
22314
|
disabled = false
|
|
22002
22315
|
}) {
|
|
22003
|
-
const [isOpen, setIsOpen] =
|
|
22004
|
-
const arrowRef =
|
|
22316
|
+
const [isOpen, setIsOpen] = React78.useState(false);
|
|
22317
|
+
const arrowRef = React78.useRef(null);
|
|
22005
22318
|
const { refs, floatingStyles, context, placement, middlewareData } = _react2.useFloating.call(void 0, {
|
|
22006
22319
|
open: isOpen,
|
|
22007
22320
|
onOpenChange: setIsOpen,
|
|
@@ -22031,7 +22344,7 @@ function FloatingTooltip({
|
|
|
22031
22344
|
dismiss,
|
|
22032
22345
|
role
|
|
22033
22346
|
]);
|
|
22034
|
-
const parsedContent =
|
|
22347
|
+
const parsedContent = React78.useMemo(() => {
|
|
22035
22348
|
if (typeof content === "string") {
|
|
22036
22349
|
return parseColoredText(content);
|
|
22037
22350
|
}
|
|
@@ -22279,26 +22592,26 @@ function DeviceCard({
|
|
|
22279
22592
|
] }),
|
|
22280
22593
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
|
|
22281
22594
|
] }),
|
|
22282
|
-
_optionalChain([actions, 'access',
|
|
22595
|
+
_optionalChain([actions, 'access', _397 => _397.moreButton, 'optionalAccess', _398 => _398.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22283
22596
|
"div",
|
|
22284
22597
|
{
|
|
22285
22598
|
className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
22286
22599
|
onClick: (e) => {
|
|
22287
22600
|
e.stopPropagation();
|
|
22288
|
-
_optionalChain([actions, 'access',
|
|
22601
|
+
_optionalChain([actions, 'access', _399 => _399.moreButton, 'optionalAccess', _400 => _400.onClick, 'optionalCall', _401 => _401()]);
|
|
22289
22602
|
},
|
|
22290
22603
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
22291
22604
|
}
|
|
22292
22605
|
),
|
|
22293
|
-
_optionalChain([actions, 'access',
|
|
22294
|
-
_optionalChain([actions, 'access',
|
|
22606
|
+
_optionalChain([actions, 'access', _402 => _402.detailsButton, 'optionalAccess', _403 => _403.visible]) !== false && _optionalChain([actions, 'access', _404 => _404.detailsButton, 'optionalAccess', _405 => _405.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
22607
|
+
_optionalChain([actions, 'access', _406 => _406.customActions, 'optionalAccess', _407 => _407.map, 'call', _408 => _408(
|
|
22295
22608
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22296
22609
|
"div",
|
|
22297
22610
|
{
|
|
22298
22611
|
className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
22299
22612
|
onClick: (e) => {
|
|
22300
22613
|
e.stopPropagation();
|
|
22301
|
-
_optionalChain([action, 'access',
|
|
22614
|
+
_optionalChain([action, 'access', _409 => _409.onClick, 'optionalCall', _410 => _410()]);
|
|
22302
22615
|
},
|
|
22303
22616
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
22304
22617
|
},
|
|
@@ -22652,7 +22965,7 @@ function HighlightCardGrid({
|
|
|
22652
22965
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
22653
22966
|
|
|
22654
22967
|
|
|
22655
|
-
var IconsBlock =
|
|
22968
|
+
var IconsBlock = React80.forwardRef(
|
|
22656
22969
|
({ className, icons = [], size = "md", ...props }, ref) => {
|
|
22657
22970
|
const sizeClasses2 = {
|
|
22658
22971
|
sm: "h-4 w-4",
|
|
@@ -22699,8 +23012,8 @@ function DropdownButton({
|
|
|
22699
23012
|
align = "end",
|
|
22700
23013
|
side = "bottom"
|
|
22701
23014
|
}) {
|
|
22702
|
-
const [open, setOpen] =
|
|
22703
|
-
const handleOpenChange =
|
|
23015
|
+
const [open, setOpen] = React113.default.useState(false);
|
|
23016
|
+
const handleOpenChange = React113.default.useCallback(
|
|
22704
23017
|
(next) => {
|
|
22705
23018
|
if (disabled) return;
|
|
22706
23019
|
setOpen(next);
|
|
@@ -22798,7 +23111,7 @@ function MoreActionsMenu({
|
|
|
22798
23111
|
] });
|
|
22799
23112
|
const handleActivate = (e) => {
|
|
22800
23113
|
e.stopPropagation();
|
|
22801
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
23114
|
+
if (!item.disabled) _optionalChain([item, 'access', _411 => _411.onClick, 'optionalCall', _412 => _412()]);
|
|
22802
23115
|
};
|
|
22803
23116
|
if (item.href) {
|
|
22804
23117
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22865,7 +23178,7 @@ function OrganizationCard({
|
|
|
22865
23178
|
const handleActionClick = (e) => {
|
|
22866
23179
|
e.preventDefault();
|
|
22867
23180
|
e.stopPropagation();
|
|
22868
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
23181
|
+
_optionalChain([actionButton, 'optionalAccess', _413 => _413.onClick, 'call', _414 => _414(organization, e)]);
|
|
22869
23182
|
};
|
|
22870
23183
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22871
23184
|
"div",
|
|
@@ -23011,14 +23324,14 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
23011
23324
|
var useTheme = _nextthemes.useTheme;
|
|
23012
23325
|
function useThemeToggle() {
|
|
23013
23326
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
23014
|
-
const [mounted, setMounted] =
|
|
23015
|
-
|
|
23327
|
+
const [mounted, setMounted] = React82.useState(false);
|
|
23328
|
+
React82.useEffect(() => setMounted(true), []);
|
|
23016
23329
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
23017
|
-
const setOdsTheme =
|
|
23330
|
+
const setOdsTheme = React82.useCallback(
|
|
23018
23331
|
(next) => setTheme(next),
|
|
23019
23332
|
[setTheme]
|
|
23020
23333
|
);
|
|
23021
|
-
const toggle =
|
|
23334
|
+
const toggle = React82.useCallback(
|
|
23022
23335
|
() => setTheme(active === "dark" ? "light" : "dark"),
|
|
23023
23336
|
[active, setTheme]
|
|
23024
23337
|
);
|
|
@@ -23771,10 +24084,10 @@ var getContentDimensions = (config) => {
|
|
|
23771
24084
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
23772
24085
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
23773
24086
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
23774
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
23775
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
23776
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
23777
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
24087
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _415 => _415.mobileContentDimensions, 'optionalAccess', _416 => _416.width]))), () => ( defaultMobile.width));
|
|
24088
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _417 => _417.mobileContentDimensions, 'optionalAccess', _418 => _418.height]))), () => ( defaultMobile.height));
|
|
24089
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _419 => _419.desktopContentDimensions, 'optionalAccess', _420 => _420.width]))), () => ( defaultDesktop.width));
|
|
24090
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _421 => _421.desktopContentDimensions, 'optionalAccess', _422 => _422.height]))), () => ( defaultDesktop.height));
|
|
23778
24091
|
return {
|
|
23779
24092
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
23780
24093
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -23908,7 +24221,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
23908
24221
|
const contentDimensions = getContentDimensions(config);
|
|
23909
24222
|
const mobileHeight = contentDimensions.mobile.height;
|
|
23910
24223
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
23911
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
24224
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _423 => _423.innerHeight]) * 0.85 || 650)}px`;
|
|
23912
24225
|
})(),
|
|
23913
24226
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
23914
24227
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -24013,7 +24326,7 @@ var FigmaPrototypeViewer = ({
|
|
|
24013
24326
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
24014
24327
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
24015
24328
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
24016
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
24329
|
+
config.defaultSectionId || _optionalChain([config, 'access', _424 => _424.sections, 'access', _425 => _425[0], 'optionalAccess', _426 => _426.id]) || ""
|
|
24017
24330
|
);
|
|
24018
24331
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
24019
24332
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -24103,7 +24416,7 @@ var FigmaPrototypeViewer = ({
|
|
|
24103
24416
|
const handleMessage = (event) => {
|
|
24104
24417
|
if (event.origin !== "https://www.figma.com") return;
|
|
24105
24418
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
24106
|
-
if (_optionalChain([event, 'access',
|
|
24419
|
+
if (_optionalChain([event, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.type]) && validEvents.includes(event.data.type)) {
|
|
24107
24420
|
const figmaEvent = event.data;
|
|
24108
24421
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
24109
24422
|
switch (figmaEvent.type) {
|
|
@@ -24113,19 +24426,19 @@ var FigmaPrototypeViewer = ({
|
|
|
24113
24426
|
setIframeState("READY");
|
|
24114
24427
|
break;
|
|
24115
24428
|
case "PRESENTED_NODE_CHANGED":
|
|
24116
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
24429
|
+
if (_optionalChain([figmaEvent, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.presentedNodeId])) {
|
|
24117
24430
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
24118
24431
|
if (!isNavigating) {
|
|
24119
24432
|
const matchingSection = config.sections.find((s) => {
|
|
24120
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
24121
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
24433
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _431 => _431.data, 'optionalAccess', _432 => _432.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _433 => _433.data, 'optionalAccess', _434 => _434.presentedNodeId]);
|
|
24434
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _435 => _435.data, 'optionalAccess', _436 => _436.presentedNodeId]) || _optionalChain([s, 'access', _437 => _437.mobileStartingNodeId, 'optionalAccess', _438 => _438.replace, 'call', _439 => _439(":", "-")]) === _optionalChain([figmaEvent, 'access', _440 => _440.data, 'optionalAccess', _441 => _441.presentedNodeId]);
|
|
24122
24435
|
return desktopMatch || mobileMatch;
|
|
24123
24436
|
});
|
|
24124
24437
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
24125
24438
|
if (!externalActiveSection) {
|
|
24126
24439
|
setInternalActiveSection(matchingSection.id);
|
|
24127
24440
|
}
|
|
24128
|
-
_optionalChain([config, 'access',
|
|
24441
|
+
_optionalChain([config, 'access', _442 => _442.onSectionChange, 'optionalCall', _443 => _443(matchingSection.id)]);
|
|
24129
24442
|
}
|
|
24130
24443
|
}
|
|
24131
24444
|
}
|
|
@@ -24138,7 +24451,7 @@ var FigmaPrototypeViewer = ({
|
|
|
24138
24451
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
24139
24452
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
24140
24453
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
24141
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
24454
|
+
if (!section || !_optionalChain([iframeRef, 'access', _444 => _444.current, 'optionalAccess', _445 => _445.contentWindow]) || !isInitialized) {
|
|
24142
24455
|
return;
|
|
24143
24456
|
}
|
|
24144
24457
|
setIsNavigating(true);
|
|
@@ -24146,7 +24459,7 @@ var FigmaPrototypeViewer = ({
|
|
|
24146
24459
|
if (!externalActiveSection) {
|
|
24147
24460
|
setInternalActiveSection(sectionId);
|
|
24148
24461
|
}
|
|
24149
|
-
_optionalChain([config, 'access',
|
|
24462
|
+
_optionalChain([config, 'access', _446 => _446.onSectionChange, 'optionalCall', _447 => _447(sectionId)]);
|
|
24150
24463
|
const command = {
|
|
24151
24464
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
24152
24465
|
data: { nodeId }
|
|
@@ -24466,7 +24779,7 @@ var FiltersDropdown = ({
|
|
|
24466
24779
|
defaults[section.id] = section.defaultSelected || [];
|
|
24467
24780
|
});
|
|
24468
24781
|
setSelectedFilters(defaults);
|
|
24469
|
-
_optionalChain([onReset, 'optionalCall',
|
|
24782
|
+
_optionalChain([onReset, 'optionalCall', _448 => _448()]);
|
|
24470
24783
|
setIsOpen(false);
|
|
24471
24784
|
};
|
|
24472
24785
|
const handleApply = () => {
|
|
@@ -24759,7 +25072,7 @@ function MediaGalleryManager({
|
|
|
24759
25072
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
24760
25073
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
24761
25074
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
24762
|
-
const file = _optionalChain([event, 'access',
|
|
25075
|
+
const file = _optionalChain([event, 'access', _449 => _449.target, 'access', _450 => _450.files, 'optionalAccess', _451 => _451[0]]);
|
|
24763
25076
|
if (!file) return;
|
|
24764
25077
|
let mediaType;
|
|
24765
25078
|
if (file.type.startsWith("image/")) {
|
|
@@ -24874,7 +25187,7 @@ function MediaGalleryManager({
|
|
|
24874
25187
|
{
|
|
24875
25188
|
type: "button",
|
|
24876
25189
|
variant: "outline",
|
|
24877
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
25190
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _452 => _452.current, 'optionalAccess', _453 => _453.click, 'call', _454 => _454()]),
|
|
24878
25191
|
disabled: isUploading,
|
|
24879
25192
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
24880
25193
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -25542,7 +25855,7 @@ function ReleaseMediaManager({
|
|
|
25542
25855
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
25543
25856
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
25544
25857
|
const handleFileSelect = async (event) => {
|
|
25545
|
-
const file = _optionalChain([event, 'access',
|
|
25858
|
+
const file = _optionalChain([event, 'access', _455 => _455.target, 'access', _456 => _456.files, 'optionalAccess', _457 => _457[0]]);
|
|
25546
25859
|
if (!file) return;
|
|
25547
25860
|
let mediaType;
|
|
25548
25861
|
if (file.type.startsWith("image/")) {
|
|
@@ -25622,7 +25935,7 @@ function ReleaseMediaManager({
|
|
|
25622
25935
|
{
|
|
25623
25936
|
type: "button",
|
|
25624
25937
|
variant: "outline",
|
|
25625
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
25938
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _458 => _458.current, 'optionalAccess', _459 => _459.click, 'call', _460 => _460()]),
|
|
25626
25939
|
disabled: uploadingIndex !== null,
|
|
25627
25940
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
25628
25941
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -25744,7 +26057,7 @@ function ReleaseMediaManager({
|
|
|
25744
26057
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
25745
26058
|
|
|
25746
26059
|
|
|
25747
|
-
var SelectButton =
|
|
26060
|
+
var SelectButton = React113.default.forwardRef(
|
|
25748
26061
|
({ title, description, selected = false, disabled = false, icon, image, tag, tagVariant = "outline", onClick, className }, ref) => {
|
|
25749
26062
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25750
26063
|
"button",
|
|
@@ -25837,7 +26150,7 @@ function SEOEditorPreview({
|
|
|
25837
26150
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
25838
26151
|
const handleImageUpload = async (event) => {
|
|
25839
26152
|
if (!onOgImageUpload) return;
|
|
25840
|
-
const file = _optionalChain([event, 'access',
|
|
26153
|
+
const file = _optionalChain([event, 'access', _461 => _461.target, 'access', _462 => _462.files, 'optionalAccess', _463 => _463[0]]);
|
|
25841
26154
|
if (!file) return;
|
|
25842
26155
|
setIsUploading(true);
|
|
25843
26156
|
try {
|
|
@@ -25987,7 +26300,7 @@ function SEOEditorPreview({
|
|
|
25987
26300
|
type: "button",
|
|
25988
26301
|
variant: "outline",
|
|
25989
26302
|
size: "icon",
|
|
25990
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
26303
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _464 => _464.click, 'call', _465 => _465()]),
|
|
25991
26304
|
disabled: disabled || isUploading,
|
|
25992
26305
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
25993
26306
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -26010,7 +26323,7 @@ function SEOEditorPreview({
|
|
|
26010
26323
|
"div",
|
|
26011
26324
|
{
|
|
26012
26325
|
className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
|
|
26013
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
26326
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _466 => _466.click, 'call', _467 => _467()]),
|
|
26014
26327
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26015
26328
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
26016
26329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -26095,7 +26408,7 @@ function SocialLinksManager({
|
|
|
26095
26408
|
className = ""
|
|
26096
26409
|
}) {
|
|
26097
26410
|
const addLink = () => {
|
|
26098
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
26411
|
+
const firstPlatform = _optionalChain([platforms, 'access', _468 => _468[0], 'optionalAccess', _469 => _469.name]) || "website";
|
|
26099
26412
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
26100
26413
|
};
|
|
26101
26414
|
const removeLink = (index) => {
|
|
@@ -26107,7 +26420,7 @@ function SocialLinksManager({
|
|
|
26107
26420
|
onChange(updated);
|
|
26108
26421
|
};
|
|
26109
26422
|
const getIcon = (link, platform) => {
|
|
26110
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
26423
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _470 => _470.icon_name]) || link.platform;
|
|
26111
26424
|
const IconComponent = iconMap[iconKey];
|
|
26112
26425
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
26113
26426
|
};
|
|
@@ -26132,7 +26445,7 @@ function SocialLinksManager({
|
|
|
26132
26445
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26133
26446
|
_chunkQJGRP2YEcjs.Input,
|
|
26134
26447
|
{
|
|
26135
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
26448
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _471 => _471.placeholder]) || "Profile URL",
|
|
26136
26449
|
value: link.url,
|
|
26137
26450
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
26138
26451
|
onKeyDown: (e) => {
|
|
@@ -26176,7 +26489,7 @@ function SocialLinksManager({
|
|
|
26176
26489
|
_chunkQJGRP2YEcjs.init_button2.call(void 0, );
|
|
26177
26490
|
|
|
26178
26491
|
|
|
26179
|
-
var StartWithOpenFrameButton =
|
|
26492
|
+
var StartWithOpenFrameButton = React87.forwardRef(({ children = "Start Free Trial", mode = "outline", className, buttonSize, loading = false, buttonBackgroundColor, buttonTextColor, ...props }, ref) => {
|
|
26180
26493
|
const isYellow = mode === "yellow";
|
|
26181
26494
|
const isPink = mode === "pink" || mode === "purple";
|
|
26182
26495
|
const isCyan = mode === "cyan";
|
|
@@ -26511,7 +26824,7 @@ function useVideoOriginPreconnect({
|
|
|
26511
26824
|
supabaseStorageOrigin
|
|
26512
26825
|
} = {}) {
|
|
26513
26826
|
const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
|
|
26514
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
26827
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _472 => _472.endpoints, 'access', _473 => _473.supabaseStorageOrigin])));
|
|
26515
26828
|
try {
|
|
26516
26829
|
ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
|
|
26517
26830
|
ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
|
|
@@ -26530,13 +26843,13 @@ function useVideoWarmup({
|
|
|
26530
26843
|
nearMargin = "1000px"
|
|
26531
26844
|
} = {}) {
|
|
26532
26845
|
const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
|
|
26533
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
26846
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _474 => _474.endpoints, 'access', _475 => _475.supabaseStorageOrigin])));
|
|
26534
26847
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
26535
26848
|
const { ref, isNear } = _chunk27IO7V3Pcjs.useNearViewport.call(void 0, nearMargin);
|
|
26536
26849
|
_react.useEffect.call(void 0, () => {
|
|
26537
26850
|
if (!isNear || !videoUrl || !resolvedOrigin) return;
|
|
26538
26851
|
const conn = navigator.connection;
|
|
26539
|
-
if (_optionalChain([conn, 'optionalAccess',
|
|
26852
|
+
if (_optionalChain([conn, 'optionalAccess', _476 => _476.saveData]) === true) return;
|
|
26540
26853
|
let videoOrigin;
|
|
26541
26854
|
try {
|
|
26542
26855
|
videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
|
|
@@ -26606,7 +26919,7 @@ function VideoSourceSelector({
|
|
|
26606
26919
|
input.accept = "video/*";
|
|
26607
26920
|
input.onchange = async (e) => {
|
|
26608
26921
|
const target = e.target;
|
|
26609
|
-
const file = _optionalChain([target, 'access',
|
|
26922
|
+
const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
|
|
26610
26923
|
if (!file) return;
|
|
26611
26924
|
setIsUploading(true);
|
|
26612
26925
|
setUploadProgress(0);
|
|
@@ -26967,7 +27280,7 @@ function TranscriptSummaryEditor({
|
|
|
26967
27280
|
{
|
|
26968
27281
|
id: "subtitles",
|
|
26969
27282
|
value: subtitles || "",
|
|
26970
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
27283
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _479 => _479(e.target.value)]),
|
|
26971
27284
|
placeholder: subtitlesPlaceholder,
|
|
26972
27285
|
disabled: disabled || !onSubtitlesChange,
|
|
26973
27286
|
className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
|
|
@@ -27120,7 +27433,7 @@ var AIEnrichSection = ({
|
|
|
27120
27433
|
}) => {
|
|
27121
27434
|
const hasResults = status === "success" || status === "error";
|
|
27122
27435
|
const shouldDisable = disabled || !canEnrich;
|
|
27123
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
27436
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _480 => _480.filter, 'call', _481 => _481((f) => !f.isFilled)]) || [];
|
|
27124
27437
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27125
27438
|
"div",
|
|
27126
27439
|
{
|
|
@@ -27158,7 +27471,7 @@ var AIEnrichSection = ({
|
|
|
27158
27471
|
{
|
|
27159
27472
|
id: "ai-enrich-custom-instructions",
|
|
27160
27473
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
27161
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
27474
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _482 => _482(e.target.value)]),
|
|
27162
27475
|
placeholder: customInstructionsPlaceholder,
|
|
27163
27476
|
disabled: loading,
|
|
27164
27477
|
maxLength: customInstructionsMaxLength,
|
|
@@ -27287,7 +27600,7 @@ function HighlightVideoSection({
|
|
|
27287
27600
|
input.accept = "video/*";
|
|
27288
27601
|
input.onchange = async (e) => {
|
|
27289
27602
|
const target = e.target;
|
|
27290
|
-
const file = _optionalChain([target, 'access',
|
|
27603
|
+
const file = _optionalChain([target, 'access', _483 => _483.files, 'optionalAccess', _484 => _484[0]]);
|
|
27291
27604
|
if (!file) return;
|
|
27292
27605
|
setUploadError(null);
|
|
27293
27606
|
try {
|
|
@@ -27789,7 +28102,7 @@ function HighlightVideoPreview({
|
|
|
27789
28102
|
input.accept = "video/*";
|
|
27790
28103
|
input.onchange = async (e) => {
|
|
27791
28104
|
const target = e.target;
|
|
27792
|
-
const file = _optionalChain([target, 'access',
|
|
28105
|
+
const file = _optionalChain([target, 'access', _485 => _485.files, 'optionalAccess', _486 => _486[0]]);
|
|
27793
28106
|
if (!file) return;
|
|
27794
28107
|
await onUpload(file);
|
|
27795
28108
|
};
|
|
@@ -27976,7 +28289,7 @@ function HighlightVideoCombinedSection({
|
|
|
27976
28289
|
input.accept = "video/*";
|
|
27977
28290
|
input.onchange = async (e) => {
|
|
27978
28291
|
const target = e.target;
|
|
27979
|
-
const file = _optionalChain([target, 'access',
|
|
28292
|
+
const file = _optionalChain([target, 'access', _487 => _487.files, 'optionalAccess', _488 => _488[0]]);
|
|
27980
28293
|
if (!file) return;
|
|
27981
28294
|
await onUpload(file);
|
|
27982
28295
|
};
|
|
@@ -28136,7 +28449,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
28136
28449
|
|
|
28137
28450
|
var DropdownMenu2 = DropdownMenuPrimitive2.Root;
|
|
28138
28451
|
var DropdownMenuTrigger2 = DropdownMenuPrimitive2.Trigger;
|
|
28139
|
-
var DropdownMenuSubTrigger =
|
|
28452
|
+
var DropdownMenuSubTrigger = React90.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
28140
28453
|
DropdownMenuPrimitive2.SubTrigger,
|
|
28141
28454
|
{
|
|
28142
28455
|
ref,
|
|
@@ -28153,7 +28466,7 @@ var DropdownMenuSubTrigger = React89.forwardRef(({ className, inset, children, .
|
|
|
28153
28466
|
}
|
|
28154
28467
|
));
|
|
28155
28468
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive2.SubTrigger.displayName;
|
|
28156
|
-
var DropdownMenuSubContent =
|
|
28469
|
+
var DropdownMenuSubContent = React90.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28157
28470
|
DropdownMenuPrimitive2.SubContent,
|
|
28158
28471
|
{
|
|
28159
28472
|
ref,
|
|
@@ -28165,7 +28478,7 @@ var DropdownMenuSubContent = React89.forwardRef(({ className, ...props }, ref) =
|
|
|
28165
28478
|
}
|
|
28166
28479
|
));
|
|
28167
28480
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive2.SubContent.displayName;
|
|
28168
|
-
var DropdownMenuContent2 =
|
|
28481
|
+
var DropdownMenuContent2 = React90.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28169
28482
|
DropdownMenuPrimitive2.Content,
|
|
28170
28483
|
{
|
|
28171
28484
|
ref,
|
|
@@ -28178,7 +28491,7 @@ var DropdownMenuContent2 = React89.forwardRef(({ className, sideOffset = 4, ...p
|
|
|
28178
28491
|
}
|
|
28179
28492
|
) }));
|
|
28180
28493
|
DropdownMenuContent2.displayName = DropdownMenuPrimitive2.Content.displayName;
|
|
28181
|
-
var DropdownMenuItem2 =
|
|
28494
|
+
var DropdownMenuItem2 = React90.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28182
28495
|
DropdownMenuPrimitive2.Item,
|
|
28183
28496
|
{
|
|
28184
28497
|
ref,
|
|
@@ -28191,7 +28504,7 @@ var DropdownMenuItem2 = React89.forwardRef(({ className, inset, ...props }, ref)
|
|
|
28191
28504
|
}
|
|
28192
28505
|
));
|
|
28193
28506
|
DropdownMenuItem2.displayName = DropdownMenuPrimitive2.Item.displayName;
|
|
28194
|
-
var DropdownMenuCheckboxItem =
|
|
28507
|
+
var DropdownMenuCheckboxItem = React90.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
28195
28508
|
DropdownMenuPrimitive2.CheckboxItem,
|
|
28196
28509
|
{
|
|
28197
28510
|
ref,
|
|
@@ -28208,7 +28521,7 @@ var DropdownMenuCheckboxItem = React89.forwardRef(({ className, children, checke
|
|
|
28208
28521
|
}
|
|
28209
28522
|
));
|
|
28210
28523
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive2.CheckboxItem.displayName;
|
|
28211
|
-
var DropdownMenuRadioItem =
|
|
28524
|
+
var DropdownMenuRadioItem = React90.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
28212
28525
|
DropdownMenuPrimitive2.RadioItem,
|
|
28213
28526
|
{
|
|
28214
28527
|
ref,
|
|
@@ -28224,7 +28537,7 @@ var DropdownMenuRadioItem = React89.forwardRef(({ className, children, ...props
|
|
|
28224
28537
|
}
|
|
28225
28538
|
));
|
|
28226
28539
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive2.RadioItem.displayName;
|
|
28227
|
-
var DropdownMenuLabel =
|
|
28540
|
+
var DropdownMenuLabel = React90.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28228
28541
|
DropdownMenuPrimitive2.Label,
|
|
28229
28542
|
{
|
|
28230
28543
|
ref,
|
|
@@ -28237,7 +28550,7 @@ var DropdownMenuLabel = React89.forwardRef(({ className, inset, ...props }, ref)
|
|
|
28237
28550
|
}
|
|
28238
28551
|
));
|
|
28239
28552
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive2.Label.displayName;
|
|
28240
|
-
var DropdownMenuSeparator =
|
|
28553
|
+
var DropdownMenuSeparator = React90.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28241
28554
|
DropdownMenuPrimitive2.Separator,
|
|
28242
28555
|
{
|
|
28243
28556
|
ref,
|
|
@@ -28273,7 +28586,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
28273
28586
|
return editMode ? "Set Global Permission" : "";
|
|
28274
28587
|
}
|
|
28275
28588
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
28276
|
-
return _optionalChain([option, 'optionalAccess',
|
|
28589
|
+
return _optionalChain([option, 'optionalAccess', _489 => _489.label]) || level;
|
|
28277
28590
|
};
|
|
28278
28591
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
28279
28592
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
|
|
@@ -28487,12 +28800,12 @@ function PhoneInput({
|
|
|
28487
28800
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
28488
28801
|
if (!phone || digitCount(phone) === 0) {
|
|
28489
28802
|
setIsInvalid(false);
|
|
28490
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28803
|
+
_optionalChain([onValidationChange, 'optionalCall', _490 => _490(false)]);
|
|
28491
28804
|
return;
|
|
28492
28805
|
}
|
|
28493
28806
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
28494
28807
|
setIsInvalid(invalid);
|
|
28495
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28808
|
+
_optionalChain([onValidationChange, 'optionalCall', _491 => _491(invalid)]);
|
|
28496
28809
|
}, [countryCode, digitCount, onValidationChange]);
|
|
28497
28810
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
28498
28811
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -28541,7 +28854,7 @@ function PhoneInput({
|
|
|
28541
28854
|
debouncedValidation(val);
|
|
28542
28855
|
} else if (digitCount(val) === 0) {
|
|
28543
28856
|
setIsInvalid(false);
|
|
28544
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28857
|
+
_optionalChain([onValidationChange, 'optionalCall', _492 => _492(false)]);
|
|
28545
28858
|
}
|
|
28546
28859
|
}
|
|
28547
28860
|
},
|
|
@@ -28762,7 +29075,7 @@ function WaitlistForm({
|
|
|
28762
29075
|
// src/components/features/notifications/notifications-context.tsx
|
|
28763
29076
|
|
|
28764
29077
|
|
|
28765
|
-
var NotificationsContext =
|
|
29078
|
+
var NotificationsContext = React91.createContext(null);
|
|
28766
29079
|
function mergeNotification(base, incoming) {
|
|
28767
29080
|
const out = { ...base };
|
|
28768
29081
|
for (const key of Object.keys(incoming)) {
|
|
@@ -28841,16 +29154,16 @@ function NotificationsProvider({
|
|
|
28841
29154
|
onLoadMore,
|
|
28842
29155
|
renderTile
|
|
28843
29156
|
}) {
|
|
28844
|
-
const [notifications, dispatch] =
|
|
28845
|
-
const [isOpen, setIsOpen] =
|
|
28846
|
-
const [showPopups, setShowPopupsState] =
|
|
28847
|
-
const [showDesktopPopups, setShowDesktopPopupsState] =
|
|
29157
|
+
const [notifications, dispatch] = React91.useReducer(reducer, initialNotifications);
|
|
29158
|
+
const [isOpen, setIsOpen] = React91.useState(false);
|
|
29159
|
+
const [showPopups, setShowPopupsState] = React91.useState(defaultShowPopups);
|
|
29160
|
+
const [showDesktopPopups, setShowDesktopPopupsState] = React91.useState(defaultShowDesktopPopups);
|
|
28848
29161
|
const desktopPopupsConfigured = onShowDesktopPopupsChange !== void 0;
|
|
28849
|
-
const actionsRef =
|
|
28850
|
-
|
|
29162
|
+
const actionsRef = React91.useRef(actions);
|
|
29163
|
+
React91.useEffect(() => {
|
|
28851
29164
|
actionsRef.current = actions;
|
|
28852
29165
|
}, [actions]);
|
|
28853
|
-
const addNotification =
|
|
29166
|
+
const addNotification = React91.useCallback(
|
|
28854
29167
|
(input) => {
|
|
28855
29168
|
const id = _nullishCoalesce(input.id, () => ( generateId()));
|
|
28856
29169
|
const notification = {
|
|
@@ -28864,7 +29177,7 @@ function NotificationsProvider({
|
|
|
28864
29177
|
},
|
|
28865
29178
|
[maxNotifications]
|
|
28866
29179
|
);
|
|
28867
|
-
const upsertNotification =
|
|
29180
|
+
const upsertNotification = React91.useCallback(
|
|
28868
29181
|
(input) => {
|
|
28869
29182
|
const notification = {
|
|
28870
29183
|
...input,
|
|
@@ -28877,48 +29190,48 @@ function NotificationsProvider({
|
|
|
28877
29190
|
},
|
|
28878
29191
|
[maxNotifications]
|
|
28879
29192
|
);
|
|
28880
|
-
const setNotifications =
|
|
29193
|
+
const setNotifications = React91.useCallback((list) => {
|
|
28881
29194
|
dispatch({ type: "set", notifications: list });
|
|
28882
29195
|
}, []);
|
|
28883
|
-
const markRead =
|
|
29196
|
+
const markRead = React91.useCallback((id) => {
|
|
28884
29197
|
dispatch({ type: "markRead", id });
|
|
28885
|
-
void _optionalChain([actionsRef, 'access',
|
|
29198
|
+
void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkRead, 'optionalCall', _495 => _495(id)]);
|
|
28886
29199
|
}, []);
|
|
28887
|
-
const markAllRead =
|
|
29200
|
+
const markAllRead = React91.useCallback(() => {
|
|
28888
29201
|
dispatch({ type: "markAllRead" });
|
|
28889
|
-
void _optionalChain([actionsRef, 'access',
|
|
29202
|
+
void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onMarkAllRead, 'optionalCall', _498 => _498()]);
|
|
28890
29203
|
}, []);
|
|
28891
|
-
const markSettled =
|
|
29204
|
+
const markSettled = React91.useCallback((id) => {
|
|
28892
29205
|
dispatch({ type: "markSettled", id });
|
|
28893
|
-
void _optionalChain([actionsRef, 'access',
|
|
29206
|
+
void _optionalChain([actionsRef, 'access', _499 => _499.current, 'optionalAccess', _500 => _500.onMarkSettled, 'optionalCall', _501 => _501(id)]);
|
|
28894
29207
|
}, []);
|
|
28895
|
-
const remove =
|
|
29208
|
+
const remove = React91.useCallback((id) => {
|
|
28896
29209
|
dispatch({ type: "remove", id });
|
|
28897
|
-
void _optionalChain([actionsRef, 'access',
|
|
29210
|
+
void _optionalChain([actionsRef, 'access', _502 => _502.current, 'optionalAccess', _503 => _503.onRemove, 'optionalCall', _504 => _504(id)]);
|
|
28898
29211
|
}, []);
|
|
28899
|
-
const clear =
|
|
28900
|
-
const open =
|
|
28901
|
-
const close =
|
|
28902
|
-
const toggle =
|
|
28903
|
-
const setShowPopups =
|
|
29212
|
+
const clear = React91.useCallback(() => dispatch({ type: "clear" }), []);
|
|
29213
|
+
const open = React91.useCallback(() => setIsOpen(true), []);
|
|
29214
|
+
const close = React91.useCallback(() => setIsOpen(false), []);
|
|
29215
|
+
const toggle = React91.useCallback(() => setIsOpen((v) => !v), []);
|
|
29216
|
+
const setShowPopups = React91.useCallback(
|
|
28904
29217
|
(value2) => {
|
|
28905
29218
|
setShowPopupsState(value2);
|
|
28906
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
29219
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _505 => _505(value2)]);
|
|
28907
29220
|
},
|
|
28908
29221
|
[onShowPopupsChange]
|
|
28909
29222
|
);
|
|
28910
|
-
const setShowDesktopPopups =
|
|
29223
|
+
const setShowDesktopPopups = React91.useCallback(
|
|
28911
29224
|
(value2) => {
|
|
28912
29225
|
setShowDesktopPopupsState(value2);
|
|
28913
|
-
_optionalChain([onShowDesktopPopupsChange, 'optionalCall',
|
|
29226
|
+
_optionalChain([onShowDesktopPopupsChange, 'optionalCall', _506 => _506(value2)]);
|
|
28914
29227
|
},
|
|
28915
29228
|
[onShowDesktopPopupsChange]
|
|
28916
29229
|
);
|
|
28917
|
-
const unreadCount =
|
|
29230
|
+
const unreadCount = React91.useMemo(
|
|
28918
29231
|
() => notifications.reduce((acc, n) => n.read ? acc : acc + 1, 0),
|
|
28919
29232
|
[notifications]
|
|
28920
29233
|
);
|
|
28921
|
-
const value =
|
|
29234
|
+
const value = React91.useMemo(
|
|
28922
29235
|
() => ({
|
|
28923
29236
|
notifications,
|
|
28924
29237
|
unreadCount,
|
|
@@ -28977,14 +29290,14 @@ function NotificationsProvider({
|
|
|
28977
29290
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NotificationsContext.Provider, { value, children });
|
|
28978
29291
|
}
|
|
28979
29292
|
function useNotifications() {
|
|
28980
|
-
const ctx =
|
|
29293
|
+
const ctx = React91.useContext(NotificationsContext);
|
|
28981
29294
|
if (!ctx) {
|
|
28982
29295
|
throw new Error("useNotifications must be used inside <NotificationsProvider>");
|
|
28983
29296
|
}
|
|
28984
29297
|
return ctx;
|
|
28985
29298
|
}
|
|
28986
29299
|
function useOptionalNotifications() {
|
|
28987
|
-
return
|
|
29300
|
+
return React91.useContext(NotificationsContext);
|
|
28988
29301
|
}
|
|
28989
29302
|
|
|
28990
29303
|
// src/components/features/notifications/notification-drawer.tsx
|
|
@@ -29014,7 +29327,7 @@ function NotificationTile({
|
|
|
29014
29327
|
if (!counting) return;
|
|
29015
29328
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
29016
29329
|
const timer = window.setTimeout(() => {
|
|
29017
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
29330
|
+
_optionalChain([onSettle, 'optionalCall', _507 => _507(id)]);
|
|
29018
29331
|
}, remaining);
|
|
29019
29332
|
return () => window.clearTimeout(timer);
|
|
29020
29333
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -29076,7 +29389,7 @@ function NotificationTile({
|
|
|
29076
29389
|
"button",
|
|
29077
29390
|
{
|
|
29078
29391
|
type: "button",
|
|
29079
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
29392
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _508 => _508(id)]),
|
|
29080
29393
|
"aria-label": "Dismiss notification",
|
|
29081
29394
|
tabIndex: isLive ? 0 : -1,
|
|
29082
29395
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -29209,7 +29522,7 @@ function DrawerScrollList({
|
|
|
29209
29522
|
if (!sentinel || !root) return;
|
|
29210
29523
|
const observer = new IntersectionObserver(
|
|
29211
29524
|
(entries) => {
|
|
29212
|
-
if (_optionalChain([entries, 'access',
|
|
29525
|
+
if (_optionalChain([entries, 'access', _509 => _509[0], 'optionalAccess', _510 => _510.isIntersecting])) _optionalChain([loadMoreRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
|
|
29213
29526
|
},
|
|
29214
29527
|
{ root, rootMargin: loadMoreRootMargin }
|
|
29215
29528
|
);
|
|
@@ -29224,7 +29537,7 @@ function DrawerScrollList({
|
|
|
29224
29537
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
29225
29538
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29226
29539
|
unreadNotifications.map((n) => {
|
|
29227
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
29540
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _513 => _513(n, { onComplete, onSettle, liveDurationMs })]);
|
|
29228
29541
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
29229
29542
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29230
29543
|
NotificationTile,
|
|
@@ -29388,7 +29701,7 @@ function NotificationPopups({
|
|
|
29388
29701
|
className
|
|
29389
29702
|
),
|
|
29390
29703
|
children: live.map((n) => {
|
|
29391
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
29704
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _514 => _514(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
29392
29705
|
if (custom) {
|
|
29393
29706
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
29394
29707
|
}
|
|
@@ -29568,21 +29881,21 @@ function transformWebinarToProgram(webinar) {
|
|
|
29568
29881
|
// src/components/features/notifications/types.ts
|
|
29569
29882
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
29570
29883
|
function isApprovalNotification(notification) {
|
|
29571
|
-
return _optionalChain([notification, 'access',
|
|
29884
|
+
return _optionalChain([notification, 'access', _515 => _515.meta, 'optionalAccess', _516 => _516.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
29572
29885
|
}
|
|
29573
29886
|
function getApprovalMeta(notification) {
|
|
29574
29887
|
if (!isApprovalNotification(notification)) return null;
|
|
29575
29888
|
const meta = notification.meta;
|
|
29576
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
29577
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
29889
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _517 => _517.approvalRequestId]);
|
|
29890
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _518 => _518.toolCalls]);
|
|
29578
29891
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
29579
29892
|
return {
|
|
29580
29893
|
approvalRequestId,
|
|
29581
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29582
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29583
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29584
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29585
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29894
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _519 => _519.dialogId]), () => ( null)),
|
|
29895
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _520 => _520.ticketId]), () => ( null)),
|
|
29896
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _521 => _521.approvalType]), () => ( null)),
|
|
29897
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _522 => _522.resolution]), () => ( null)),
|
|
29898
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _523 => _523.resolvedByName]), () => ( null)),
|
|
29586
29899
|
toolCalls
|
|
29587
29900
|
};
|
|
29588
29901
|
}
|
|
@@ -29631,7 +29944,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29631
29944
|
const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
|
|
29632
29945
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
29633
29946
|
const approval = getApprovalMeta(notification);
|
|
29634
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
29947
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _524 => _524.resolution]));
|
|
29635
29948
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
29636
29949
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
29637
29950
|
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
@@ -29706,24 +30019,24 @@ function ApprovalRequestNotificationTile({
|
|
|
29706
30019
|
// src/components/features/time-tracker/time-tracker-context.tsx
|
|
29707
30020
|
|
|
29708
30021
|
|
|
29709
|
-
var TimeTrackerContext =
|
|
30022
|
+
var TimeTrackerContext = React92.createContext(null);
|
|
29710
30023
|
function TimeTrackerProvider({ children, defaultOpen = false, ...data }) {
|
|
29711
|
-
const [isOpen, setIsOpen] =
|
|
29712
|
-
const open =
|
|
29713
|
-
const close =
|
|
29714
|
-
const toggle =
|
|
30024
|
+
const [isOpen, setIsOpen] = React92.useState(defaultOpen);
|
|
30025
|
+
const open = React92.useCallback(() => setIsOpen(true), []);
|
|
30026
|
+
const close = React92.useCallback(() => setIsOpen(false), []);
|
|
30027
|
+
const toggle = React92.useCallback(() => setIsOpen((v) => !v), []);
|
|
29715
30028
|
const value = { ...data, isOpen, open, close, toggle };
|
|
29716
30029
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeTrackerContext.Provider, { value, children });
|
|
29717
30030
|
}
|
|
29718
30031
|
function useTimeTracker() {
|
|
29719
|
-
const ctx =
|
|
30032
|
+
const ctx = React92.useContext(TimeTrackerContext);
|
|
29720
30033
|
if (!ctx) {
|
|
29721
30034
|
throw new Error("useTimeTracker must be used inside <TimeTrackerProvider>");
|
|
29722
30035
|
}
|
|
29723
30036
|
return ctx;
|
|
29724
30037
|
}
|
|
29725
30038
|
function useOptionalTimeTracker() {
|
|
29726
|
-
return
|
|
30039
|
+
return React92.useContext(TimeTrackerContext);
|
|
29727
30040
|
}
|
|
29728
30041
|
|
|
29729
30042
|
// src/components/features/time-tracker/time-tracker-panel.tsx
|
|
@@ -29899,7 +30212,7 @@ function TimeTrackerPanel({
|
|
|
29899
30212
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
29900
30213
|
disableClientFilter: !!onTicketSearch,
|
|
29901
30214
|
onInputChange: (value, reason) => {
|
|
29902
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
30215
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _525 => _525(value)]);
|
|
29903
30216
|
}
|
|
29904
30217
|
}
|
|
29905
30218
|
)
|
|
@@ -29989,7 +30302,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
29989
30302
|
{
|
|
29990
30303
|
variant: "outline",
|
|
29991
30304
|
size: "icon",
|
|
29992
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
30305
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _526 => _526(entry)]),
|
|
29993
30306
|
disabled: !onClick,
|
|
29994
30307
|
"aria-label": `Open entry: ${entry.title}`,
|
|
29995
30308
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -30033,16 +30346,16 @@ function HeaderButton({
|
|
|
30033
30346
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
30034
30347
|
const ctx = useOptionalTimeTracker();
|
|
30035
30348
|
const elapsedLabel = useTrackerClock({
|
|
30036
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
30037
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
30038
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
30349
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _527 => _527.status]), () => ( "ready")),
|
|
30350
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _528 => _528.runningSince]),
|
|
30351
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _529 => _529.accumulatedMs])
|
|
30039
30352
|
});
|
|
30040
30353
|
if (!ctx) return null;
|
|
30041
30354
|
const { isOpen, open, close, status } = ctx;
|
|
30042
30355
|
const isPaused = status === "paused";
|
|
30043
30356
|
const isActive = status === "tracking" || isPaused;
|
|
30044
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30045
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30357
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open: isOpen, onOpenChange: (next) => next ? open() : close(), children: [
|
|
30358
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30046
30359
|
HeaderButton,
|
|
30047
30360
|
{
|
|
30048
30361
|
"aria-label": "Time tracker",
|
|
@@ -30076,8 +30389,8 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
30076
30389
|
] })
|
|
30077
30390
|
}
|
|
30078
30391
|
) }),
|
|
30079
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30080
|
-
|
|
30392
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30393
|
+
PopoverPrimitive4.Content,
|
|
30081
30394
|
{
|
|
30082
30395
|
align: "end",
|
|
30083
30396
|
sideOffset: 8,
|
|
@@ -30234,7 +30547,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
30234
30547
|
|
|
30235
30548
|
|
|
30236
30549
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
30237
|
-
const [expanded, setExpanded] =
|
|
30550
|
+
const [expanded, setExpanded] = React93.useState(false);
|
|
30238
30551
|
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
30239
30552
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
30240
30553
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
@@ -30302,7 +30615,7 @@ function TicketCard({
|
|
|
30302
30615
|
onApprove,
|
|
30303
30616
|
onReject
|
|
30304
30617
|
}) {
|
|
30305
|
-
const sortableData =
|
|
30618
|
+
const sortableData = React94.useMemo(
|
|
30306
30619
|
() => ({ columnId, type: "ticket" }),
|
|
30307
30620
|
[columnId]
|
|
30308
30621
|
);
|
|
@@ -30318,15 +30631,15 @@ function TicketCard({
|
|
|
30318
30631
|
transition: sortable.transition
|
|
30319
30632
|
};
|
|
30320
30633
|
if (showNewMessage) style.borderColor = columnColor;
|
|
30321
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
30634
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _530 => _530.deviceHostnames, 'optionalAccess', _531 => _531.length]) || ticket.organizationName);
|
|
30322
30635
|
const deviceText = [
|
|
30323
|
-
_optionalChain([ticket, 'access',
|
|
30636
|
+
_optionalChain([ticket, 'access', _532 => _532.deviceHostnames, 'optionalAccess', _533 => _533.join, 'call', _534 => _534(", ")]),
|
|
30324
30637
|
ticket.organizationName
|
|
30325
30638
|
].filter(Boolean).join(", ");
|
|
30326
30639
|
const handleClick = (e) => {
|
|
30327
30640
|
if (sortable.isDragging) e.preventDefault();
|
|
30328
30641
|
};
|
|
30329
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
30642
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _535 => _535.assignees, 'optionalAccess', _536 => _536.length]) || renderAssignSlot);
|
|
30330
30643
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
30331
30644
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30332
30645
|
_chunkGXRWE7NBcjs.Flag02Icon,
|
|
@@ -30335,7 +30648,7 @@ function TicketCard({
|
|
|
30335
30648
|
"aria-label": `Priority: ${ticket.priority}`
|
|
30336
30649
|
}
|
|
30337
30650
|
),
|
|
30338
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
30651
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _537 => _537.assignees, 'optionalAccess', _538 => _538.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
30339
30652
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30340
30653
|
SquareAvatar,
|
|
30341
30654
|
{
|
|
@@ -30366,7 +30679,7 @@ function TicketCard({
|
|
|
30366
30679
|
] }),
|
|
30367
30680
|
rightSection
|
|
30368
30681
|
] }),
|
|
30369
|
-
_optionalChain([ticket, 'access',
|
|
30682
|
+
_optionalChain([ticket, 'access', _539 => _539.tags, 'optionalAccess', _540 => _540.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
30370
30683
|
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
|
|
30371
30684
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto text-h6 truncate text-ods-text-secondary", children: timestampLabel }) }),
|
|
30372
30685
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
|
|
@@ -30448,7 +30761,7 @@ function TicketTagRow({ tags }) {
|
|
|
30448
30761
|
|
|
30449
30762
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
30450
30763
|
|
|
30451
|
-
var TicketCardSkeleton =
|
|
30764
|
+
var TicketCardSkeleton = React95.forwardRef(
|
|
30452
30765
|
({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30453
30766
|
"div",
|
|
30454
30767
|
{
|
|
@@ -30542,8 +30855,8 @@ function BoardColumn({
|
|
|
30542
30855
|
);
|
|
30543
30856
|
}
|
|
30544
30857
|
function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReject, onLoadMore, loadMoreRootMargin }) {
|
|
30545
|
-
const ticketIds =
|
|
30546
|
-
const droppableData =
|
|
30858
|
+
const ticketIds = React96.useMemo(() => column.tickets.map((t) => t.id), [column.tickets]);
|
|
30859
|
+
const droppableData = React96.useMemo(
|
|
30547
30860
|
() => ({ columnId: column.id, type: "column" }),
|
|
30548
30861
|
[column.id]
|
|
30549
30862
|
);
|
|
@@ -30552,13 +30865,13 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30552
30865
|
data: droppableData,
|
|
30553
30866
|
disabled: column.dropDisabled
|
|
30554
30867
|
});
|
|
30555
|
-
const scrollRef =
|
|
30556
|
-
const sentinelRef =
|
|
30557
|
-
const loadMoreRef =
|
|
30868
|
+
const scrollRef = React96.useRef(null);
|
|
30869
|
+
const sentinelRef = React96.useRef(null);
|
|
30870
|
+
const loadMoreRef = React96.useRef(onLoadMore);
|
|
30558
30871
|
loadMoreRef.current = onLoadMore;
|
|
30559
|
-
const columnIdRef =
|
|
30872
|
+
const columnIdRef = React96.useRef(column.id);
|
|
30560
30873
|
columnIdRef.current = column.id;
|
|
30561
|
-
|
|
30874
|
+
React96.useEffect(() => {
|
|
30562
30875
|
if (!column.hasMore || column.isLoadingMore) return;
|
|
30563
30876
|
const sentinel = sentinelRef.current;
|
|
30564
30877
|
const root = scrollRef.current;
|
|
@@ -30566,7 +30879,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30566
30879
|
const observer = new IntersectionObserver(
|
|
30567
30880
|
(entries) => {
|
|
30568
30881
|
if (entries.some((e) => e.isIntersecting)) {
|
|
30569
|
-
_optionalChain([loadMoreRef, 'access',
|
|
30882
|
+
_optionalChain([loadMoreRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542(columnIdRef.current)]);
|
|
30570
30883
|
}
|
|
30571
30884
|
},
|
|
30572
30885
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -30574,7 +30887,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30574
30887
|
observer.observe(sentinel);
|
|
30575
30888
|
return () => observer.disconnect();
|
|
30576
30889
|
}, [column.hasMore, column.isLoadingMore, loadMoreRootMargin]);
|
|
30577
|
-
const setBodyRef =
|
|
30890
|
+
const setBodyRef = React96.useCallback(
|
|
30578
30891
|
(el) => {
|
|
30579
30892
|
scrollRef.current = el;
|
|
30580
30893
|
setDroppableRef(el);
|
|
@@ -30596,7 +30909,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30596
30909
|
ticket: t,
|
|
30597
30910
|
columnId: column.id,
|
|
30598
30911
|
columnColor: column.color,
|
|
30599
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
30912
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _543 => _543(t.id)]),
|
|
30600
30913
|
renderAssignSlot,
|
|
30601
30914
|
onApprove,
|
|
30602
30915
|
onReject,
|
|
@@ -30611,7 +30924,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30611
30924
|
);
|
|
30612
30925
|
}
|
|
30613
30926
|
function SkeletonStack({ count = 4 }) {
|
|
30614
|
-
const keys =
|
|
30927
|
+
const keys = React96.useMemo(
|
|
30615
30928
|
() => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
|
|
30616
30929
|
[count]
|
|
30617
30930
|
);
|
|
@@ -30681,32 +30994,32 @@ function Board({
|
|
|
30681
30994
|
onThumbPointerMove,
|
|
30682
30995
|
onThumbPointerUp
|
|
30683
30996
|
} = _chunk27IO7V3Pcjs.useHorizontalScrollbar.call(void 0, );
|
|
30684
|
-
const [items, setItems] =
|
|
30685
|
-
const isDraggingRef =
|
|
30686
|
-
|
|
30997
|
+
const [items, setItems] = React97.useState(columns);
|
|
30998
|
+
const isDraggingRef = React97.useRef(false);
|
|
30999
|
+
React97.useEffect(() => {
|
|
30687
31000
|
if (!isDraggingRef.current) setItems(columns);
|
|
30688
31001
|
}, [columns]);
|
|
30689
|
-
const dragOriginRef =
|
|
30690
|
-
const [activeTicket, setActiveTicket] =
|
|
31002
|
+
const dragOriginRef = React97.useRef(null);
|
|
31003
|
+
const [activeTicket, setActiveTicket] = React97.useState(null);
|
|
30691
31004
|
const sensors = _core.useSensors.call(void 0,
|
|
30692
31005
|
_core.useSensor.call(void 0, _core.PointerSensor, { activationConstraint: { distance: 6 } }),
|
|
30693
31006
|
_core.useSensor.call(void 0, _core.KeyboardSensor, { coordinateGetter: _sortable.sortableKeyboardCoordinates })
|
|
30694
31007
|
);
|
|
30695
|
-
const collisionDetection =
|
|
31008
|
+
const collisionDetection = React97.useCallback((args) => {
|
|
30696
31009
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
30697
31010
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
30698
31011
|
const ticketHit = intersections.find(
|
|
30699
|
-
(c) => _optionalChain([c, 'access',
|
|
31012
|
+
(c) => _optionalChain([c, 'access', _544 => _544.data, 'optionalAccess', _545 => _545.droppableContainer, 'optionalAccess', _546 => _546.data, 'optionalAccess', _547 => _547.current, 'optionalAccess', _548 => _548.type]) === "ticket"
|
|
30700
31013
|
);
|
|
30701
31014
|
if (ticketHit) return [ticketHit];
|
|
30702
31015
|
const columnHit = intersections.find(
|
|
30703
|
-
(c) => _optionalChain([c, 'access',
|
|
31016
|
+
(c) => _optionalChain([c, 'access', _549 => _549.data, 'optionalAccess', _550 => _550.droppableContainer, 'optionalAccess', _551 => _551.data, 'optionalAccess', _552 => _552.current, 'optionalAccess', _553 => _553.type]) === "column"
|
|
30704
31017
|
);
|
|
30705
31018
|
if (columnHit) {
|
|
30706
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
31019
|
+
const columnId = _optionalChain([columnHit, 'access', _554 => _554.data, 'optionalAccess', _555 => _555.droppableContainer, 'optionalAccess', _556 => _556.data, 'optionalAccess', _557 => _557.current, 'optionalAccess', _558 => _558.columnId]);
|
|
30707
31020
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
30708
31021
|
const d = c.data.current;
|
|
30709
|
-
return _optionalChain([d, 'optionalAccess',
|
|
31022
|
+
return _optionalChain([d, 'optionalAccess', _559 => _559.type]) === "ticket" && d.columnId === columnId;
|
|
30710
31023
|
});
|
|
30711
31024
|
if (ticketsInColumn.length > 0) {
|
|
30712
31025
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -30731,20 +31044,20 @@ function Board({
|
|
|
30731
31044
|
const overId = String(over.id);
|
|
30732
31045
|
if (activeId === overId) return;
|
|
30733
31046
|
const overData = over.data.current;
|
|
30734
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
30735
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
31047
|
+
const fromColumnId = _optionalChain([locate, 'call', _560 => _560(items, activeId), 'optionalAccess', _561 => _561.columnId]);
|
|
31048
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _562 => _562.columnId]);
|
|
30736
31049
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
30737
31050
|
const origin = dragOriginRef.current;
|
|
30738
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
31051
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _563 => _563.fromColumnId]) === toColumnId;
|
|
30739
31052
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
30740
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
30741
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
31053
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _564 => _564.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
31054
|
+
if (_optionalChain([targetCol, 'optionalAccess', _565 => _565.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
30742
31055
|
setItems((prev) => {
|
|
30743
31056
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
30744
31057
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
30745
31058
|
if (fromIndex < 0 || !toCol) return prev;
|
|
30746
31059
|
let toIndex;
|
|
30747
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
31060
|
+
if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "column") {
|
|
30748
31061
|
toIndex = toCol.tickets.length;
|
|
30749
31062
|
} else {
|
|
30750
31063
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -30786,14 +31099,14 @@ function Board({
|
|
|
30786
31099
|
const toColumnId = located.columnId;
|
|
30787
31100
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
30788
31101
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
30789
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
31102
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _567 => _567.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _568 => _568.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
30790
31103
|
setItems(columns);
|
|
30791
31104
|
return;
|
|
30792
31105
|
}
|
|
30793
31106
|
let finalIndex = located.index;
|
|
30794
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
31107
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _569 => _569.find, 'call', _570 => _570((c) => c.id === toColumnId), 'optionalAccess', _571 => _571.tickets]), () => ( []));
|
|
30795
31108
|
const overData = over.data.current;
|
|
30796
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
31109
|
+
if (_optionalChain([overData, 'optionalAccess', _572 => _572.type]) === "ticket") {
|
|
30797
31110
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
30798
31111
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
30799
31112
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -30813,8 +31126,8 @@ function Board({
|
|
|
30813
31126
|
ticketId: origin.ticketId,
|
|
30814
31127
|
fromColumnId: origin.fromColumnId,
|
|
30815
31128
|
toColumnId,
|
|
30816
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
30817
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
31129
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _573 => _573[finalIndex - 1], 'optionalAccess', _574 => _574.id]), () => ( null)),
|
|
31130
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _575 => _575[finalIndex + 1], 'optionalAccess', _576 => _576.id]), () => ( null))
|
|
30818
31131
|
});
|
|
30819
31132
|
};
|
|
30820
31133
|
const handleDragCancel = () => {
|
|
@@ -30843,10 +31156,10 @@ function Board({
|
|
|
30843
31156
|
children: items.map((column, i) => {
|
|
30844
31157
|
const prev = items[i - 1];
|
|
30845
31158
|
const next = items[i + 1];
|
|
30846
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
30847
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
31159
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _577 => _577.system]));
|
|
31160
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _578 => _578.system]));
|
|
30848
31161
|
const showGap = i > 0 && !joinLeft;
|
|
30849
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31162
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React97.Fragment, { children: [
|
|
30850
31163
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
30851
31164
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30852
31165
|
BoardColumn,
|
|
@@ -30897,7 +31210,7 @@ function Board({
|
|
|
30897
31210
|
{
|
|
30898
31211
|
ticket: activeTicket.ticket,
|
|
30899
31212
|
columnId: activeTicket.columnId,
|
|
30900
|
-
columnColor: _optionalChain([items, 'access',
|
|
31213
|
+
columnColor: _optionalChain([items, 'access', _579 => _579.find, 'call', _580 => _580((c) => c.id === activeTicket.columnId), 'optionalAccess', _581 => _581.color]),
|
|
30901
31214
|
isOverlay: true
|
|
30902
31215
|
}
|
|
30903
31216
|
) : null })
|
|
@@ -30913,7 +31226,7 @@ function locate(cols, ticketId) {
|
|
|
30913
31226
|
return null;
|
|
30914
31227
|
}
|
|
30915
31228
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
30916
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
31229
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _582 => _582.find, 'call', _583 => _583((c) => c.id === columnId), 'optionalAccess', _584 => _584.tickets, 'access', _585 => _585.findIndex, 'call', _586 => _586((t) => t.id === ticketId)]), () => ( -1));
|
|
30917
31230
|
}
|
|
30918
31231
|
|
|
30919
31232
|
// src/components/features/board/types.ts
|
|
@@ -31004,7 +31317,7 @@ function TicketStatusConfigList({
|
|
|
31004
31317
|
if (oldIndex === -1 || newIndex === -1) return;
|
|
31005
31318
|
onReorder(oldIndex, newIndex);
|
|
31006
31319
|
};
|
|
31007
|
-
const sortableIds =
|
|
31320
|
+
const sortableIds = React98.useMemo(() => items.map((i) => i.id), [items]);
|
|
31008
31321
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _core.DndContext, { sensors, collisionDetection: _core.closestCenter, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _sortable.SortableContext, { items: sortableIds, strategy: _sortable.verticalListSortingStrategy, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className), children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { id: item.id, children: (args) => renderRow(item, args) }, item.id)) }) }) });
|
|
31009
31322
|
}
|
|
31010
31323
|
function SortableRow({
|
|
@@ -31095,7 +31408,7 @@ function Header2({ config, platform }) {
|
|
|
31095
31408
|
}, [config.autoHide]);
|
|
31096
31409
|
const renderNavigationItem = (item) => {
|
|
31097
31410
|
if (item.element) {
|
|
31098
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31411
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: item.element }, item.id);
|
|
31099
31412
|
}
|
|
31100
31413
|
if (item.children && item.children.length > 0) {
|
|
31101
31414
|
const isOpen = openDropdowns[item.id] || false;
|
|
@@ -31161,7 +31474,7 @@ function Header2({ config, platform }) {
|
|
|
31161
31474
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
31162
31475
|
"flex justify-start w-full",
|
|
31163
31476
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
31164
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
31477
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _587 => _587.children, 'optionalAccess', _588 => _588.length]), () => ( 0))) - 1 && "mb-1",
|
|
31165
31478
|
"text-ods-text-primary",
|
|
31166
31479
|
// All dropdown items use primary text color
|
|
31167
31480
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -31253,7 +31566,7 @@ function Header2({ config, platform }) {
|
|
|
31253
31566
|
style: config.style,
|
|
31254
31567
|
children: [
|
|
31255
31568
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
31256
|
-
_optionalChain([config, 'access',
|
|
31569
|
+
_optionalChain([config, 'access', _589 => _589.actions, 'optionalAccess', _590 => _590.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
31257
31570
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
31258
31571
|
] }),
|
|
31259
31572
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31270,7 +31583,7 @@ function Header2({ config, platform }) {
|
|
|
31270
31583
|
}
|
|
31271
31584
|
),
|
|
31272
31585
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
31273
|
-
_optionalChain([config, 'access',
|
|
31586
|
+
_optionalChain([config, 'access', _591 => _591.actions, 'optionalAccess', _592 => _592.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
31274
31587
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31275
31588
|
_chunkQJGRP2YEcjs.Button,
|
|
31276
31589
|
{
|
|
@@ -31278,10 +31591,10 @@ function Header2({ config, platform }) {
|
|
|
31278
31591
|
size: "icon",
|
|
31279
31592
|
className: "flex md:hidden",
|
|
31280
31593
|
onClick: () => {
|
|
31281
|
-
_optionalChain([config, 'access',
|
|
31594
|
+
_optionalChain([config, 'access', _593 => _593.mobile, 'optionalAccess', _594 => _594.onToggle, 'optionalCall', _595 => _595()]);
|
|
31282
31595
|
},
|
|
31283
|
-
"aria-label": _optionalChain([config, 'access',
|
|
31284
|
-
leftIcon: _optionalChain([config, 'access',
|
|
31596
|
+
"aria-label": _optionalChain([config, 'access', _596 => _596.mobile, 'optionalAccess', _597 => _597.isOpen]) ? "Close menu" : "Open menu",
|
|
31597
|
+
leftIcon: _optionalChain([config, 'access', _598 => _598.mobile, 'optionalAccess', _599 => _599.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
|
|
31285
31598
|
}
|
|
31286
31599
|
)
|
|
31287
31600
|
] })
|
|
@@ -31298,10 +31611,10 @@ function Header2({ config, platform }) {
|
|
|
31298
31611
|
// src/components/navigation/header-skeleton.tsx
|
|
31299
31612
|
|
|
31300
31613
|
function HeaderSkeleton({ config }) {
|
|
31301
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
31302
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
31303
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
31304
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
31614
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _600 => _600.navigation]) && config.navigation.items.length > 0;
|
|
31615
|
+
const showActions = _optionalChain([config, 'optionalAccess', _601 => _601.actions, 'optionalAccess', _602 => _602.right]) && config.actions.right.length > 0;
|
|
31616
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _603 => _603.mobile, 'optionalAccess', _604 => _604.enabled]);
|
|
31617
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _605 => _605.className, 'optionalAccess', _606 => _606.includes, 'call', _607 => _607("admin")]);
|
|
31305
31618
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31306
31619
|
"header",
|
|
31307
31620
|
{
|
|
@@ -31310,11 +31623,11 @@ function HeaderSkeleton({ config }) {
|
|
|
31310
31623
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
31311
31624
|
"px-6 py-3",
|
|
31312
31625
|
"transition-opacity duration-300 ease-in-out",
|
|
31313
|
-
_optionalChain([config, 'optionalAccess',
|
|
31626
|
+
_optionalChain([config, 'optionalAccess', _608 => _608.className])
|
|
31314
31627
|
),
|
|
31315
31628
|
children: [
|
|
31316
31629
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
31317
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
31630
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _609 => _609.actions, 'optionalAccess', _610 => _610.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
31318
31631
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
31319
31632
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
31320
31633
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -31322,8 +31635,8 @@ function HeaderSkeleton({ config }) {
|
|
|
31322
31635
|
] }),
|
|
31323
31636
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
31324
31637
|
"hidden md:flex items-center gap-2",
|
|
31325
|
-
_optionalChain([config, 'optionalAccess',
|
|
31326
|
-
_optionalChain([config, 'optionalAccess',
|
|
31638
|
+
_optionalChain([config, 'optionalAccess', _611 => _611.navigation, 'optionalAccess', _612 => _612.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
31639
|
+
_optionalChain([config, 'optionalAccess', _613 => _613.navigation, 'optionalAccess', _614 => _614.position]) === "right" && "ml-auto mr-4"
|
|
31327
31640
|
), children: [
|
|
31328
31641
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
31329
31642
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -31371,7 +31684,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
31371
31684
|
_react.useEffect.call(void 0, () => {
|
|
31372
31685
|
const handleKeyDown = (e) => {
|
|
31373
31686
|
if (e.key === "Escape" && isOpen) {
|
|
31374
|
-
_optionalChain([config, 'access',
|
|
31687
|
+
_optionalChain([config, 'access', _615 => _615.onClose, 'optionalCall', _616 => _616()]);
|
|
31375
31688
|
}
|
|
31376
31689
|
};
|
|
31377
31690
|
if (isOpen) {
|
|
@@ -31388,7 +31701,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
31388
31701
|
if (item.onClick) {
|
|
31389
31702
|
item.onClick();
|
|
31390
31703
|
}
|
|
31391
|
-
_optionalChain([config, 'access',
|
|
31704
|
+
_optionalChain([config, 'access', _617 => _617.onClose, 'optionalCall', _618 => _618()]);
|
|
31392
31705
|
};
|
|
31393
31706
|
if (item.href) {
|
|
31394
31707
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31558,7 +31871,7 @@ function SlidingSidebar({ config }) {
|
|
|
31558
31871
|
variant: "transparent",
|
|
31559
31872
|
size: "default",
|
|
31560
31873
|
onClick: () => {
|
|
31561
|
-
_optionalChain([item, 'access',
|
|
31874
|
+
_optionalChain([item, 'access', _619 => _619.onClick, 'optionalCall', _620 => _620()]);
|
|
31562
31875
|
config.onClose();
|
|
31563
31876
|
},
|
|
31564
31877
|
leftIcon: item.icon,
|
|
@@ -31581,7 +31894,7 @@ function SlidingSidebar({ config }) {
|
|
|
31581
31894
|
variant: "transparent",
|
|
31582
31895
|
size: "default",
|
|
31583
31896
|
onClick: () => {
|
|
31584
|
-
_optionalChain([item, 'access',
|
|
31897
|
+
_optionalChain([item, 'access', _621 => _621.onClick, 'optionalCall', _622 => _622()]);
|
|
31585
31898
|
config.onClose();
|
|
31586
31899
|
},
|
|
31587
31900
|
leftIcon: item.icon,
|
|
@@ -31708,7 +32021,7 @@ function StickySectionNav({
|
|
|
31708
32021
|
] });
|
|
31709
32022
|
}
|
|
31710
32023
|
function useSectionNavigation(sections, options) {
|
|
31711
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
32024
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _623 => _623[0], 'optionalAccess', _624 => _624.id]) || "");
|
|
31712
32025
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
31713
32026
|
const { offset: offset2 = 100 } = options || {};
|
|
31714
32027
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -31732,7 +32045,7 @@ function useSectionNavigation(sections, options) {
|
|
|
31732
32045
|
const handleScroll = () => {
|
|
31733
32046
|
if (isScrollingFromClick.current) return;
|
|
31734
32047
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
31735
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
32048
|
+
let currentSection = _optionalChain([sections, 'access', _625 => _625[0], 'optionalAccess', _626 => _626.id]) || "";
|
|
31736
32049
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
31737
32050
|
const element = document.getElementById(sections[i].id);
|
|
31738
32051
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -31933,7 +32246,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
31933
32246
|
} else {
|
|
31934
32247
|
setDesktopMinimized((prev) => !prev);
|
|
31935
32248
|
}
|
|
31936
|
-
_optionalChain([config, 'access',
|
|
32249
|
+
_optionalChain([config, 'access', _627 => _627.onToggleMinimized, 'optionalCall', _628 => _628()]);
|
|
31937
32250
|
}, [isTablet, setDesktopMinimized, config]);
|
|
31938
32251
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
31939
32252
|
setTabletMinimized(true);
|
|
@@ -31947,11 +32260,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
31947
32260
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
31948
32261
|
}, [isOverlayOpen, closeOverlay]);
|
|
31949
32262
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
31950
|
-
_optionalChain([event, 'optionalAccess',
|
|
32263
|
+
_optionalChain([event, 'optionalAccess', _629 => _629.stopPropagation, 'call', _630 => _630()]);
|
|
31951
32264
|
if (item.onClick) {
|
|
31952
32265
|
item.onClick();
|
|
31953
32266
|
} else if (item.path) {
|
|
31954
|
-
_optionalChain([config, 'access',
|
|
32267
|
+
_optionalChain([config, 'access', _631 => _631.onNavigate, 'optionalCall', _632 => _632(item.path)]);
|
|
31955
32268
|
}
|
|
31956
32269
|
if (isTablet) setTabletMinimized(true);
|
|
31957
32270
|
}, [config, isTablet]);
|
|
@@ -32059,7 +32372,7 @@ function HeaderGlobalSearch({
|
|
|
32059
32372
|
placeholder = "Global Search",
|
|
32060
32373
|
className
|
|
32061
32374
|
}) {
|
|
32062
|
-
const [internalValue, setInternalValue] =
|
|
32375
|
+
const [internalValue, setInternalValue] = React113.default.useState(value);
|
|
32063
32376
|
const currentValue = onChange ? value : internalValue;
|
|
32064
32377
|
const handleChange = (e) => {
|
|
32065
32378
|
const newValue = e.target.value;
|
|
@@ -32071,11 +32384,11 @@ function HeaderGlobalSearch({
|
|
|
32071
32384
|
};
|
|
32072
32385
|
const handleSubmit = (e) => {
|
|
32073
32386
|
e.preventDefault();
|
|
32074
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
32387
|
+
_optionalChain([onSubmit, 'optionalCall', _633 => _633(currentValue)]);
|
|
32075
32388
|
};
|
|
32076
32389
|
const handleKeyDown = (e) => {
|
|
32077
32390
|
if (e.key === "Enter") {
|
|
32078
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
32391
|
+
_optionalChain([onSubmit, 'optionalCall', _634 => _634(currentValue)]);
|
|
32079
32392
|
}
|
|
32080
32393
|
};
|
|
32081
32394
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -32169,8 +32482,8 @@ function HeaderOrganizationFilter({
|
|
|
32169
32482
|
className
|
|
32170
32483
|
}) {
|
|
32171
32484
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
32172
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
32173
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
32485
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _635 => _635.name]) || "All Organizations";
|
|
32486
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _636 => _636.deviceCount]), () => ( totalDeviceCount));
|
|
32174
32487
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
|
|
32175
32488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32176
32489
|
"button",
|
|
@@ -32195,11 +32508,11 @@ function HeaderOrganizationFilter({
|
|
|
32195
32508
|
}
|
|
32196
32509
|
) }),
|
|
32197
32510
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
32198
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
32511
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _637 => _637("")]), children: "All Organizations" }),
|
|
32199
32512
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32200
32513
|
_chunkQJGRP2YEcjs.DropdownMenuItem,
|
|
32201
32514
|
{
|
|
32202
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
32515
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _638 => _638(org.id)]),
|
|
32203
32516
|
children: org.name
|
|
32204
32517
|
},
|
|
32205
32518
|
org.id
|
|
@@ -32210,7 +32523,7 @@ function HeaderOrganizationFilter({
|
|
|
32210
32523
|
|
|
32211
32524
|
// src/components/navigation/app-header.tsx
|
|
32212
32525
|
|
|
32213
|
-
var AppHeader =
|
|
32526
|
+
var AppHeader = React113.default.memo(function AppHeader2({
|
|
32214
32527
|
showSearch,
|
|
32215
32528
|
onSearch,
|
|
32216
32529
|
showOrganizations,
|
|
@@ -32389,9 +32702,9 @@ function NotificationsHeaderButton({
|
|
|
32389
32702
|
dimmedClass
|
|
32390
32703
|
}) {
|
|
32391
32704
|
const ctx = useOptionalNotifications();
|
|
32392
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
32393
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
32394
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
32705
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _639 => _639.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
32706
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _640 => _640.isOpen]), () => ( false));
|
|
32707
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _641 => _641.toggle]);
|
|
32395
32708
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32396
32709
|
HeaderButton,
|
|
32397
32710
|
{
|
|
@@ -32420,7 +32733,7 @@ function NotificationsHeaderButton({
|
|
|
32420
32733
|
|
|
32421
32734
|
|
|
32422
32735
|
var HEADER_HEIGHT = 48;
|
|
32423
|
-
var MobileBurgerMenu =
|
|
32736
|
+
var MobileBurgerMenu = React113.default.memo(function MobileBurgerMenu2({
|
|
32424
32737
|
isOpen,
|
|
32425
32738
|
onClose,
|
|
32426
32739
|
config,
|
|
@@ -32455,7 +32768,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
|
|
|
32455
32768
|
if (item.onClick) {
|
|
32456
32769
|
item.onClick();
|
|
32457
32770
|
} else if (item.path) {
|
|
32458
|
-
_optionalChain([config, 'access',
|
|
32771
|
+
_optionalChain([config, 'access', _642 => _642.onNavigate, 'optionalCall', _643 => _643(item.path)]);
|
|
32459
32772
|
}
|
|
32460
32773
|
onClose();
|
|
32461
32774
|
}, [config, onClose]);
|
|
@@ -32481,7 +32794,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
|
|
|
32481
32794
|
),
|
|
32482
32795
|
"aria-current": isActive ? "page" : void 0,
|
|
32483
32796
|
children: [
|
|
32484
|
-
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children:
|
|
32797
|
+
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children: React113.default.cloneElement(item.icon, {
|
|
32485
32798
|
size: 16,
|
|
32486
32799
|
color: isActive && !disabled ? "var(--color-accent-primary)" : "var(--color-text-secondary)"
|
|
32487
32800
|
}) }),
|
|
@@ -32500,7 +32813,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
|
|
|
32500
32813
|
rows.push(items.slice(i, i + 2));
|
|
32501
32814
|
}
|
|
32502
32815
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-3", children: rows.map((row, rowIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3", children: [
|
|
32503
|
-
row.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32816
|
+
row.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderNavigationItem(item, true) }, item.id)),
|
|
32504
32817
|
row.length === 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" })
|
|
32505
32818
|
] }, rowIndex)) });
|
|
32506
32819
|
};
|
|
@@ -32591,7 +32904,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
|
|
|
32591
32904
|
}
|
|
32592
32905
|
),
|
|
32593
32906
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Primary navigation", children: renderNavigationGrid(primaryItems) }),
|
|
32594
|
-
secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32907
|
+
secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React113.default.Fragment, { children: renderNavigationItem(item, false) }, item.id)) }),
|
|
32595
32908
|
onLogout && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32596
32909
|
"button",
|
|
32597
32910
|
{
|
|
@@ -32683,7 +32996,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
32683
32996
|
|
|
32684
32997
|
|
|
32685
32998
|
|
|
32686
|
-
var DrawerOpenContext =
|
|
32999
|
+
var DrawerOpenContext = React106.createContext(false);
|
|
32687
33000
|
var AppLayoutDrawerRoot = ({
|
|
32688
33001
|
open: openProp,
|
|
32689
33002
|
defaultOpen,
|
|
@@ -32692,13 +33005,13 @@ var AppLayoutDrawerRoot = ({
|
|
|
32692
33005
|
children,
|
|
32693
33006
|
...rest
|
|
32694
33007
|
}) => {
|
|
32695
|
-
const [internalOpen, setInternalOpen] =
|
|
33008
|
+
const [internalOpen, setInternalOpen] = React106.useState(_nullishCoalesce(defaultOpen, () => ( false)));
|
|
32696
33009
|
const isControlled = openProp !== void 0;
|
|
32697
33010
|
const open = isControlled ? openProp : internalOpen;
|
|
32698
|
-
const handleOpenChange =
|
|
33011
|
+
const handleOpenChange = React106.useCallback(
|
|
32699
33012
|
(next) => {
|
|
32700
33013
|
if (!isControlled) setInternalOpen(next);
|
|
32701
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
33014
|
+
_optionalChain([onOpenChange, 'optionalCall', _644 => _644(next)]);
|
|
32702
33015
|
},
|
|
32703
33016
|
[isControlled, onOpenChange]
|
|
32704
33017
|
);
|
|
@@ -32789,8 +33102,8 @@ function useContainedResizableSize({
|
|
|
32789
33102
|
storageKey,
|
|
32790
33103
|
container
|
|
32791
33104
|
}) {
|
|
32792
|
-
const [available, setAvailable] =
|
|
32793
|
-
|
|
33105
|
+
const [available, setAvailable] = React106.useState(0);
|
|
33106
|
+
React106.useEffect(() => {
|
|
32794
33107
|
if (!enabled || !container) return;
|
|
32795
33108
|
const update = () => {
|
|
32796
33109
|
setAvailable(isHorizontal ? container.clientWidth : container.clientHeight);
|
|
@@ -32800,14 +33113,14 @@ function useContainedResizableSize({
|
|
|
32800
33113
|
ro.observe(container);
|
|
32801
33114
|
return () => ro.disconnect();
|
|
32802
33115
|
}, [enabled, container, isHorizontal]);
|
|
32803
|
-
const clampToContainer =
|
|
33116
|
+
const clampToContainer = React106.useCallback(
|
|
32804
33117
|
(value) => {
|
|
32805
33118
|
const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
|
|
32806
33119
|
return clamp3(value, minSize, Math.max(minSize, effectiveMax));
|
|
32807
33120
|
},
|
|
32808
33121
|
[available, minSize, maxSize]
|
|
32809
33122
|
);
|
|
32810
|
-
const readInitial =
|
|
33123
|
+
const readInitial = React106.useCallback(() => {
|
|
32811
33124
|
if (!enabled) return defaultSize;
|
|
32812
33125
|
if (typeof window === "undefined") return defaultSize;
|
|
32813
33126
|
if (!storageKey) return defaultSize;
|
|
@@ -32821,19 +33134,19 @@ function useContainedResizableSize({
|
|
|
32821
33134
|
return defaultSize;
|
|
32822
33135
|
}
|
|
32823
33136
|
}, [enabled, storageKey, defaultSize]);
|
|
32824
|
-
const [size, setSizeRaw] =
|
|
32825
|
-
const setSize =
|
|
33137
|
+
const [size, setSizeRaw] = React106.useState(readInitial);
|
|
33138
|
+
const setSize = React106.useCallback(
|
|
32826
33139
|
(next) => setSizeRaw(clampToContainer(next)),
|
|
32827
33140
|
[clampToContainer]
|
|
32828
33141
|
);
|
|
32829
|
-
|
|
33142
|
+
React106.useEffect(() => {
|
|
32830
33143
|
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
32831
33144
|
try {
|
|
32832
33145
|
window.localStorage.setItem(storageKey, String(Math.round(size)));
|
|
32833
33146
|
} catch (e35) {
|
|
32834
33147
|
}
|
|
32835
33148
|
}, [enabled, size, storageKey]);
|
|
32836
|
-
|
|
33149
|
+
React106.useEffect(() => {
|
|
32837
33150
|
if (!enabled) return;
|
|
32838
33151
|
setSizeRaw((prev) => clampToContainer(prev));
|
|
32839
33152
|
}, [enabled, clampToContainer]);
|
|
@@ -32848,7 +33161,7 @@ function AppLayoutDrawerResizeHandle({
|
|
|
32848
33161
|
ariaLabel
|
|
32849
33162
|
}) {
|
|
32850
33163
|
const isHorizontal = HORIZONTAL_SIDES2.has(side);
|
|
32851
|
-
const startRef =
|
|
33164
|
+
const startRef = React106.useRef(null);
|
|
32852
33165
|
const direction = side === "right" || side === "bottom" ? -1 : 1;
|
|
32853
33166
|
const handlePointerDown = (e) => {
|
|
32854
33167
|
if (e.button !== 0 && e.pointerType === "mouse") return;
|
|
@@ -32938,7 +33251,7 @@ function AppLayoutDrawerResizeHandle({
|
|
|
32938
33251
|
}
|
|
32939
33252
|
);
|
|
32940
33253
|
}
|
|
32941
|
-
var AppLayoutDrawerContent =
|
|
33254
|
+
var AppLayoutDrawerContent = React106.forwardRef(
|
|
32942
33255
|
({
|
|
32943
33256
|
side = "right",
|
|
32944
33257
|
flush = false,
|
|
@@ -32966,13 +33279,13 @@ var AppLayoutDrawerContent = React105.forwardRef(
|
|
|
32966
33279
|
}, ref) => {
|
|
32967
33280
|
const contextContainer = useAppLayoutDrawerContainer();
|
|
32968
33281
|
const portalContainer = container !== void 0 ? container : contextContainer;
|
|
32969
|
-
const open =
|
|
32970
|
-
const [hasOpened, setHasOpened] =
|
|
32971
|
-
|
|
33282
|
+
const open = React106.useContext(DrawerOpenContext);
|
|
33283
|
+
const [hasOpened, setHasOpened] = React106.useState(Boolean(open));
|
|
33284
|
+
React106.useEffect(() => {
|
|
32972
33285
|
if (open) setHasOpened(true);
|
|
32973
33286
|
}, [open]);
|
|
32974
33287
|
const persist = keepMounted && hasOpened;
|
|
32975
|
-
|
|
33288
|
+
React106.useEffect(() => {
|
|
32976
33289
|
if (!debugLayoutShift) return;
|
|
32977
33290
|
if (!open) return;
|
|
32978
33291
|
if (typeof window === "undefined") return;
|
|
@@ -33023,8 +33336,8 @@ var AppLayoutDrawerContent = React105.forwardRef(
|
|
|
33023
33336
|
const resolvedSide = _nullishCoalesce(side, () => ( "right"));
|
|
33024
33337
|
const isHorizontal = HORIZONTAL_SIDES2.has(resolvedSide);
|
|
33025
33338
|
const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
|
|
33026
|
-
const [isMobile, setIsMobile] =
|
|
33027
|
-
|
|
33339
|
+
const [isMobile, setIsMobile] = React106.useState(false);
|
|
33340
|
+
React106.useEffect(() => {
|
|
33028
33341
|
if (typeof window === "undefined") return;
|
|
33029
33342
|
const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
33030
33343
|
const update = () => setIsMobile(mq.matches);
|
|
@@ -33079,10 +33392,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
|
|
|
33079
33392
|
),
|
|
33080
33393
|
style,
|
|
33081
33394
|
onInteractOutside: (event) => {
|
|
33082
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
33395
|
+
_optionalChain([onInteractOutside, 'optionalCall', _645 => _645(event)]);
|
|
33083
33396
|
if (event.defaultPrevented) return;
|
|
33084
33397
|
const target = event.target;
|
|
33085
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
33398
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _646 => _646.contains, 'call', _647 => _647(target)]);
|
|
33086
33399
|
if (!isInsideContainer) {
|
|
33087
33400
|
event.preventDefault();
|
|
33088
33401
|
return;
|
|
@@ -33495,7 +33808,7 @@ var ShellTypeBadge = ({
|
|
|
33495
33808
|
className,
|
|
33496
33809
|
iconClassName
|
|
33497
33810
|
}) => {
|
|
33498
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
33811
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _648 => _648.toUpperCase, 'call', _649 => _649()]);
|
|
33499
33812
|
const label = getShellLabel(normalizedType);
|
|
33500
33813
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
33501
33814
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -33712,7 +34025,7 @@ function OnboardingStepCard({
|
|
|
33712
34025
|
onSkip,
|
|
33713
34026
|
className
|
|
33714
34027
|
}) {
|
|
33715
|
-
const [isProcessing, setIsProcessing] =
|
|
34028
|
+
const [isProcessing, setIsProcessing] = React113.default.useState(false);
|
|
33716
34029
|
const handleAction = async (e) => {
|
|
33717
34030
|
e.stopPropagation();
|
|
33718
34031
|
setIsProcessing(true);
|
|
@@ -33824,7 +34137,7 @@ function OnboardingWalkthrough({
|
|
|
33824
34137
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
33825
34138
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
33826
34139
|
const actionInProgressRef = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
33827
|
-
|
|
34140
|
+
React113.default.useEffect(() => {
|
|
33828
34141
|
if (isLoadingCompletion) {
|
|
33829
34142
|
hasAutoMarkedRef.current = false;
|
|
33830
34143
|
return;
|
|
@@ -33882,12 +34195,12 @@ function OnboardingWalkthrough({
|
|
|
33882
34195
|
}
|
|
33883
34196
|
}, [state.completedSteps, markComplete]);
|
|
33884
34197
|
const handleStepSkip = (step) => {
|
|
33885
|
-
_optionalChain([step, 'access',
|
|
34198
|
+
_optionalChain([step, 'access', _650 => _650.onSkip, 'optionalCall', _651 => _651()]);
|
|
33886
34199
|
markSkipped(step.id);
|
|
33887
34200
|
};
|
|
33888
34201
|
const handleDismiss = () => {
|
|
33889
34202
|
dismissOnboarding();
|
|
33890
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
34203
|
+
_optionalChain([onDismiss, 'optionalCall', _652 => _652()]);
|
|
33891
34204
|
};
|
|
33892
34205
|
if (state.dismissed) {
|
|
33893
34206
|
return null;
|
|
@@ -33955,7 +34268,7 @@ var LOG_SEVERITY_LABELS = {
|
|
|
33955
34268
|
|
|
33956
34269
|
// src/components/log-severity-dot.tsx
|
|
33957
34270
|
|
|
33958
|
-
var LogSeverityDot =
|
|
34271
|
+
var LogSeverityDot = React109.forwardRef(({ severity, size = "md", className }, ref) => {
|
|
33959
34272
|
const sizeClasses2 = {
|
|
33960
34273
|
sm: "w-4 h-4",
|
|
33961
34274
|
md: "w-6 h-6",
|
|
@@ -34017,7 +34330,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
34017
34330
|
onKeyDown: (e) => {
|
|
34018
34331
|
if (e.key === "Enter" || e.key === " ") {
|
|
34019
34332
|
e.preventDefault();
|
|
34020
|
-
_optionalChain([onClick, 'optionalCall',
|
|
34333
|
+
_optionalChain([onClick, 'optionalCall', _653 => _653()]);
|
|
34021
34334
|
}
|
|
34022
34335
|
},
|
|
34023
34336
|
children: [
|
|
@@ -34045,7 +34358,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
34045
34358
|
)
|
|
34046
34359
|
] });
|
|
34047
34360
|
};
|
|
34048
|
-
var LogsList =
|
|
34361
|
+
var LogsList = React110.forwardRef(({
|
|
34049
34362
|
logs,
|
|
34050
34363
|
maxHeight = "400px",
|
|
34051
34364
|
showConnector = true,
|
|
@@ -34054,7 +34367,7 @@ var LogsList = React109.forwardRef(({
|
|
|
34054
34367
|
emptyMessage = "No logs to display",
|
|
34055
34368
|
className
|
|
34056
34369
|
}, ref) => {
|
|
34057
|
-
const containerRef =
|
|
34370
|
+
const containerRef = React110.useRef(null);
|
|
34058
34371
|
const isFullHeight = maxHeight === "100%";
|
|
34059
34372
|
const getContainerStyles = () => {
|
|
34060
34373
|
if (isFullHeight) return void 0;
|
|
@@ -34118,7 +34431,7 @@ var LogsList = React109.forwardRef(({
|
|
|
34118
34431
|
log,
|
|
34119
34432
|
isLast: index === logs.length - 1,
|
|
34120
34433
|
showConnector,
|
|
34121
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
34434
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _654 => _654(log)])
|
|
34122
34435
|
},
|
|
34123
34436
|
log.id
|
|
34124
34437
|
))
|
|
@@ -34215,11 +34528,11 @@ function ServiceCardRowItem({ row }) {
|
|
|
34215
34528
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
34216
34529
|
|
|
34217
34530
|
|
|
34218
|
-
var Slider =
|
|
34531
|
+
var Slider = React112.forwardRef(
|
|
34219
34532
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
34220
34533
|
const handleChange = (e) => {
|
|
34221
34534
|
const newValue = [Number(e.target.value)];
|
|
34222
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
34535
|
+
_optionalChain([onValueChange, 'optionalCall', _655 => _655(newValue)]);
|
|
34223
34536
|
};
|
|
34224
34537
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34225
34538
|
"input",
|
|
@@ -34650,7 +34963,7 @@ function CursorPaginationSimple({
|
|
|
34650
34963
|
{
|
|
34651
34964
|
variant: "transparent",
|
|
34652
34965
|
size: "icon",
|
|
34653
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
34966
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _656 => _656("")]),
|
|
34654
34967
|
disabled: !hasPreviousPage || loading,
|
|
34655
34968
|
className: "h-8 w-8",
|
|
34656
34969
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -34662,7 +34975,7 @@ function CursorPaginationSimple({
|
|
|
34662
34975
|
{
|
|
34663
34976
|
variant: "transparent",
|
|
34664
34977
|
size: "icon",
|
|
34665
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
34978
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _657 => _657("")]),
|
|
34666
34979
|
disabled: !hasNextPage || loading,
|
|
34667
34980
|
className: "h-8 w-8",
|
|
34668
34981
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -34682,8 +34995,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
|
|
|
34682
34995
|
icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
|
|
34683
34996
|
title: _nullishCoalesce(message2, () => ( "No results found")),
|
|
34684
34997
|
description: message2 == null ? "Try adjusting your search or filters" : void 0,
|
|
34685
|
-
buttonLabel: _optionalChain([action, 'optionalAccess',
|
|
34686
|
-
onButtonClick: _optionalChain([action, 'optionalAccess',
|
|
34998
|
+
buttonLabel: _optionalChain([action, 'optionalAccess', _658 => _658.label]),
|
|
34999
|
+
onButtonClick: _optionalChain([action, 'optionalAccess', _659 => _659.onClick]),
|
|
34687
35000
|
className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
|
|
34688
35001
|
}
|
|
34689
35002
|
);
|
|
@@ -34704,7 +35017,7 @@ function TableColumnFilterDropdown({
|
|
|
34704
35017
|
placement = "bottom-start",
|
|
34705
35018
|
dropdownClassName = "min-w-[240px]"
|
|
34706
35019
|
}) {
|
|
34707
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
35020
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _660 => _660[columnKey], 'optionalAccess', _661 => _661.length]) || 0;
|
|
34708
35021
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34709
35022
|
FiltersDropdown,
|
|
34710
35023
|
{
|
|
@@ -34747,7 +35060,7 @@ function TableColumnFilterDropdown({
|
|
|
34747
35060
|
delete newFilters[columnKey];
|
|
34748
35061
|
onFilterChange(newFilters);
|
|
34749
35062
|
},
|
|
34750
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
35063
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _662 => _662[columnKey]]) || [] },
|
|
34751
35064
|
placement,
|
|
34752
35065
|
dropdownClassName
|
|
34753
35066
|
}
|
|
@@ -35044,7 +35357,7 @@ function TableRow({
|
|
|
35044
35357
|
const keys = column.key.split(".");
|
|
35045
35358
|
let value = item;
|
|
35046
35359
|
for (const key of keys) {
|
|
35047
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
35360
|
+
value = _optionalChain([value, 'optionalAccess', _663 => _663[key]]);
|
|
35048
35361
|
}
|
|
35049
35362
|
if (value === null || value === void 0) {
|
|
35050
35363
|
return "-";
|
|
@@ -35114,7 +35427,7 @@ function TableRow({
|
|
|
35114
35427
|
// src/components/ui/table/table.tsx
|
|
35115
35428
|
|
|
35116
35429
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
35117
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
35430
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _664 => _664.length])) || Boolean(renderRowActions);
|
|
35118
35431
|
const result = [...columns];
|
|
35119
35432
|
if (hasActions) {
|
|
35120
35433
|
const actionsColumn = {
|
|
@@ -35208,7 +35521,7 @@ function Table({
|
|
|
35208
35521
|
return rowKey(item);
|
|
35209
35522
|
}
|
|
35210
35523
|
const key = item[rowKey];
|
|
35211
|
-
return _optionalChain([key, 'optionalAccess',
|
|
35524
|
+
return _optionalChain([key, 'optionalAccess', _665 => _665.toString, 'call', _666 => _666()]) || index.toString();
|
|
35212
35525
|
};
|
|
35213
35526
|
const getRowClassName = (item, index) => {
|
|
35214
35527
|
if (typeof rowClassName === "function") {
|
|
@@ -35242,23 +35555,23 @@ function Table({
|
|
|
35242
35555
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
35243
35556
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
35244
35557
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
35245
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
35246
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
35558
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _667 => _667.onLoadMore]));
|
|
35559
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.onLoadMore]);
|
|
35247
35560
|
_react.useEffect.call(void 0, () => {
|
|
35248
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35561
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
35249
35562
|
const sentinel = sentinelRef.current;
|
|
35250
35563
|
if (!sentinel) return;
|
|
35251
35564
|
const observer = new IntersectionObserver(
|
|
35252
35565
|
(entries) => {
|
|
35253
|
-
if (_optionalChain([entries, 'access',
|
|
35254
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
35566
|
+
if (_optionalChain([entries, 'access', _670 => _670[0], 'optionalAccess', _671 => _671.isIntersecting])) {
|
|
35567
|
+
_optionalChain([onLoadMoreRef, 'access', _672 => _672.current, 'optionalCall', _673 => _673()]);
|
|
35255
35568
|
}
|
|
35256
35569
|
},
|
|
35257
35570
|
{ rootMargin: "200px" }
|
|
35258
35571
|
);
|
|
35259
35572
|
observer.observe(sentinel);
|
|
35260
35573
|
return () => observer.disconnect();
|
|
35261
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35574
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _674 => _674.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _675 => _675.isFetchingNextPage])]);
|
|
35262
35575
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
35263
35576
|
showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
|
|
35264
35577
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -35329,7 +35642,7 @@ function Table({
|
|
|
35329
35642
|
},
|
|
35330
35643
|
getRowKey(item, index)
|
|
35331
35644
|
)),
|
|
35332
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35645
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _676 => _676.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35333
35646
|
TableCardSkeleton,
|
|
35334
35647
|
{
|
|
35335
35648
|
columns,
|
|
@@ -35338,7 +35651,7 @@ function Table({
|
|
|
35338
35651
|
hasChevron: Boolean(rowHref)
|
|
35339
35652
|
}
|
|
35340
35653
|
),
|
|
35341
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35654
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
35342
35655
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
35343
35656
|
"div",
|
|
35344
35657
|
{
|
|
@@ -35696,7 +36009,7 @@ function QueryReportTable({
|
|
|
35696
36009
|
);
|
|
35697
36010
|
const handleExport = () => {
|
|
35698
36011
|
exportToCSV(data, columns, exportFilename);
|
|
35699
|
-
_optionalChain([onExport, 'optionalCall',
|
|
36012
|
+
_optionalChain([onExport, 'optionalCall', _678 => _678()]);
|
|
35700
36013
|
};
|
|
35701
36014
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
35702
36015
|
const {
|
|
@@ -35869,7 +36182,7 @@ function DataTableColumnFilter({
|
|
|
35869
36182
|
align = "left"
|
|
35870
36183
|
}) {
|
|
35871
36184
|
const currentValue = column.getFilterValue();
|
|
35872
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
36185
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _679 => _679.length]), () => ( 0));
|
|
35873
36186
|
const sections = _react.useMemo.call(void 0,
|
|
35874
36187
|
() => [
|
|
35875
36188
|
{
|
|
@@ -35949,7 +36262,7 @@ function DataTableHeader({
|
|
|
35949
36262
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
35950
36263
|
if (header.isPlaceholder) return false;
|
|
35951
36264
|
if (isLgUp) return true;
|
|
35952
|
-
return Boolean(_optionalChain([header, 'access',
|
|
36265
|
+
return Boolean(_optionalChain([header, 'access', _680 => _680.column, 'access', _681 => _681.columnDef, 'access', _682 => _682.meta, 'optionalAccess', _683 => _683.filter]));
|
|
35953
36266
|
});
|
|
35954
36267
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35955
36268
|
"div",
|
|
@@ -35979,20 +36292,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
35979
36292
|
if (header.isPlaceholder) return null;
|
|
35980
36293
|
const column = header.column;
|
|
35981
36294
|
const meta = column.columnDef.meta;
|
|
35982
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
35983
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
35984
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
35985
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
36295
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _684 => _684.filter]));
|
|
36296
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _685 => _685.align]), () => ( "left"));
|
|
36297
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _686 => _686.sortable]) === true;
|
|
36298
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _687 => _687.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
35986
36299
|
if (!isLgUp && !hasFilter) return null;
|
|
35987
36300
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35988
36301
|
"div",
|
|
35989
36302
|
{
|
|
35990
36303
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35991
36304
|
"flex items-stretch",
|
|
35992
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
35993
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36305
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _688 => _688.width]) || "flex-1 min-w-0"),
|
|
36306
|
+
_optionalChain([meta, 'optionalAccess', _689 => _689.headerClassName]),
|
|
35994
36307
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
35995
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
36308
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _690 => _690.hideAt]))
|
|
35996
36309
|
),
|
|
35997
36310
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35998
36311
|
DataTableColumnFilter,
|
|
@@ -36011,7 +36324,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
36011
36324
|
isLgUp && alignJustify(align),
|
|
36012
36325
|
canSort && "group cursor-pointer"
|
|
36013
36326
|
),
|
|
36014
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
36327
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _691 => _691(column.id)]) : void 0,
|
|
36015
36328
|
children: [
|
|
36016
36329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
36017
36330
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -36076,7 +36389,7 @@ function DataTableSkeleton({
|
|
|
36076
36389
|
}) {
|
|
36077
36390
|
const table = useDataTableContext();
|
|
36078
36391
|
const columns = table.getVisibleFlatColumns();
|
|
36079
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
36392
|
+
const firstColumnId = _optionalChain([columns, 'access', _692 => _692[0], 'optionalAccess', _693 => _693.id]);
|
|
36080
36393
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36081
36394
|
"div",
|
|
36082
36395
|
{
|
|
@@ -36100,7 +36413,7 @@ function DataTableSkeleton({
|
|
|
36100
36413
|
{
|
|
36101
36414
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
36102
36415
|
"flex flex-col justify-center shrink-0",
|
|
36103
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36416
|
+
_optionalChain([meta, 'optionalAccess', _694 => _694.width]) || "flex-1"
|
|
36104
36417
|
),
|
|
36105
36418
|
children: [
|
|
36106
36419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -36149,7 +36462,7 @@ function DataTableRowImpl({
|
|
|
36149
36462
|
const handleClick = _react.useCallback.call(void 0,
|
|
36150
36463
|
(e) => {
|
|
36151
36464
|
const target = e.target;
|
|
36152
|
-
if (!_optionalChain([containerRef, 'access',
|
|
36465
|
+
if (!_optionalChain([containerRef, 'access', _695 => _695.current, 'optionalAccess', _696 => _696.contains, 'call', _697 => _697(target)])) {
|
|
36153
36466
|
if (isLinkMode) e.preventDefault();
|
|
36154
36467
|
return;
|
|
36155
36468
|
}
|
|
@@ -36157,7 +36470,7 @@ function DataTableRowImpl({
|
|
|
36157
36470
|
if (isLinkMode) e.preventDefault();
|
|
36158
36471
|
return;
|
|
36159
36472
|
}
|
|
36160
|
-
_optionalChain([onClick, 'optionalCall',
|
|
36473
|
+
_optionalChain([onClick, 'optionalCall', _698 => _698(row.original)]);
|
|
36161
36474
|
},
|
|
36162
36475
|
[onClick, row.original, isLinkMode]
|
|
36163
36476
|
);
|
|
@@ -36182,10 +36495,10 @@ function DataTableRowImpl({
|
|
|
36182
36495
|
{
|
|
36183
36496
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
36184
36497
|
"flex flex-col overflow-hidden",
|
|
36185
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
36186
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36187
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36188
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
36498
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _699 => _699.align])),
|
|
36499
|
+
_optionalChain([meta, 'optionalAccess', _700 => _700.width]) || "flex-1 min-w-0",
|
|
36500
|
+
_optionalChain([meta, 'optionalAccess', _701 => _701.cellClassName]),
|
|
36501
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _702 => _702.hideAt]))
|
|
36189
36502
|
),
|
|
36190
36503
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
36191
36504
|
},
|
|
@@ -36264,7 +36577,7 @@ function DataTableBody({
|
|
|
36264
36577
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
36265
36578
|
rows.map((row, index) => {
|
|
36266
36579
|
const item = row.original;
|
|
36267
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
36580
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _703 => _703(item)]), () => ( void 0));
|
|
36268
36581
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
36269
36582
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36270
36583
|
DataTableRow,
|
|
@@ -36274,7 +36587,7 @@ function DataTableBody({
|
|
|
36274
36587
|
href,
|
|
36275
36588
|
compact,
|
|
36276
36589
|
className: cls,
|
|
36277
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
36590
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _704 => _704(item)])
|
|
36278
36591
|
},
|
|
36279
36592
|
row.id
|
|
36280
36593
|
);
|
|
@@ -36329,7 +36642,7 @@ function DataTableInfiniteFooter({
|
|
|
36329
36642
|
if (!sentinel) return;
|
|
36330
36643
|
const observer = new IntersectionObserver(
|
|
36331
36644
|
(entries) => {
|
|
36332
|
-
if (_optionalChain([entries, 'access',
|
|
36645
|
+
if (_optionalChain([entries, 'access', _705 => _705[0], 'optionalAccess', _706 => _706.isIntersecting])) onLoadMoreRef.current();
|
|
36333
36646
|
},
|
|
36334
36647
|
{ rootMargin }
|
|
36335
36648
|
);
|
|
@@ -36377,7 +36690,7 @@ function DataTableRowCount({
|
|
|
36377
36690
|
const table = useDataTableContext();
|
|
36378
36691
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
36379
36692
|
if (hideWhenEmpty && count === 0) return null;
|
|
36380
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
36693
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _707 => _707(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
36381
36694
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36382
36695
|
"span",
|
|
36383
36696
|
{
|
|
@@ -36507,12 +36820,12 @@ function SearchInput({
|
|
|
36507
36820
|
limitTags = "auto",
|
|
36508
36821
|
getLimitTagsText = (more) => `+${more}`
|
|
36509
36822
|
}) {
|
|
36510
|
-
const [internalValue, setInternalValue] =
|
|
36823
|
+
const [internalValue, setInternalValue] = React115.useState(defaultValue);
|
|
36511
36824
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
36512
36825
|
const debouncedValue = _chunk27IO7V3Pcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
36513
|
-
const [isOpen, setIsOpen] =
|
|
36514
|
-
const [highlightedIndex, setHighlightedIndex] =
|
|
36515
|
-
const containerRef =
|
|
36826
|
+
const [isOpen, setIsOpen] = React115.useState(false);
|
|
36827
|
+
const [highlightedIndex, setHighlightedIndex] = React115.useState(-1);
|
|
36828
|
+
const containerRef = React115.useRef(null);
|
|
36516
36829
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
36517
36830
|
const {
|
|
36518
36831
|
visibleCount: rawVisibleCount,
|
|
@@ -36529,14 +36842,14 @@ function SearchInput({
|
|
|
36529
36842
|
placeholder: filterChips.length > 0 ? "" : placeholder
|
|
36530
36843
|
});
|
|
36531
36844
|
const visibleCount = filterChips.length > 0 ? Math.max(1, rawVisibleCount) : rawVisibleCount;
|
|
36532
|
-
const hiddenTagsRef =
|
|
36533
|
-
const hiddenTagsPopupRef =
|
|
36534
|
-
const [showHiddenTags, setShowHiddenTags] =
|
|
36535
|
-
|
|
36845
|
+
const hiddenTagsRef = React115.useRef(null);
|
|
36846
|
+
const hiddenTagsPopupRef = React115.useRef(null);
|
|
36847
|
+
const [showHiddenTags, setShowHiddenTags] = React115.useState(false);
|
|
36848
|
+
React115.useEffect(() => {
|
|
36536
36849
|
if (!showHiddenTags) return;
|
|
36537
36850
|
const handleClick = (e) => {
|
|
36538
36851
|
const target = e.target;
|
|
36539
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
36852
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.contains, 'call', _710 => _710(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _711 => _711.current, 'optionalAccess', _712 => _712.contains, 'call', _713 => _713(target)])) {
|
|
36540
36853
|
setShowHiddenTags(false);
|
|
36541
36854
|
}
|
|
36542
36855
|
};
|
|
@@ -36546,7 +36859,7 @@ function SearchInput({
|
|
|
36546
36859
|
const hiddenCount = filterChips.length - visibleCount;
|
|
36547
36860
|
const visibleChips = filterChips.slice(0, visibleCount);
|
|
36548
36861
|
const hiddenChips = filterChips.slice(visibleCount);
|
|
36549
|
-
const { flatResults, groups } =
|
|
36862
|
+
const { flatResults, groups } = React115.useMemo(() => {
|
|
36550
36863
|
if (!groupBy) return { flatResults: results, groups: null };
|
|
36551
36864
|
const grouped = /* @__PURE__ */ new Map();
|
|
36552
36865
|
for (const r of results) {
|
|
@@ -36563,7 +36876,7 @@ function SearchInput({
|
|
|
36563
36876
|
const meetsMinQuery = debouncedValue.length >= minQueryLength;
|
|
36564
36877
|
const autoShow = meetsMinQuery;
|
|
36565
36878
|
const dropdownVisible = _nullishCoalesce(showDropdownProp, () => ( (isOpen && autoShow)));
|
|
36566
|
-
|
|
36879
|
+
React115.useEffect(() => {
|
|
36567
36880
|
setHighlightedIndex(-1);
|
|
36568
36881
|
}, [flatResults.length]);
|
|
36569
36882
|
const handleChange = (e) => {
|
|
@@ -36584,10 +36897,10 @@ function SearchInput({
|
|
|
36584
36897
|
} else {
|
|
36585
36898
|
setInternalValue("");
|
|
36586
36899
|
}
|
|
36587
|
-
_optionalChain([inputRef, 'access',
|
|
36900
|
+
_optionalChain([inputRef, 'access', _714 => _714.current, 'optionalAccess', _715 => _715.focus, 'call', _716 => _716()]);
|
|
36588
36901
|
};
|
|
36589
36902
|
const handleResultClick = (result, e) => {
|
|
36590
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
36903
|
+
_optionalChain([onResultSelect, 'optionalCall', _717 => _717(
|
|
36591
36904
|
result,
|
|
36592
36905
|
e ? {
|
|
36593
36906
|
metaKey: e.metaKey,
|
|
@@ -36619,7 +36932,7 @@ function SearchInput({
|
|
|
36619
36932
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
36620
36933
|
handleResultClick(flatResults[highlightedIndex]);
|
|
36621
36934
|
} else {
|
|
36622
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
36935
|
+
_optionalChain([onSubmit, 'optionalCall', _718 => _718(currentValue)]);
|
|
36623
36936
|
}
|
|
36624
36937
|
break;
|
|
36625
36938
|
case "Escape":
|
|
@@ -36687,8 +37000,8 @@ function SearchInput({
|
|
|
36687
37000
|
};
|
|
36688
37001
|
const hasValue = currentValue.length > 0;
|
|
36689
37002
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative", className), ref: containerRef, children: [
|
|
36690
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37003
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive5.Root, { open: dropdownVisible, onOpenChange: handleOpenChange, modal: false, children: [
|
|
37004
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive5.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36692
37005
|
"div",
|
|
36693
37006
|
{
|
|
36694
37007
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -36697,7 +37010,7 @@ function SearchInput({
|
|
|
36697
37010
|
dropdownVisible && "!border-ods-accent"
|
|
36698
37011
|
),
|
|
36699
37012
|
onClick: () => {
|
|
36700
|
-
_optionalChain([inputRef, 'access',
|
|
37013
|
+
_optionalChain([inputRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.focus, 'call', _721 => _721()]);
|
|
36701
37014
|
setIsOpen(true);
|
|
36702
37015
|
},
|
|
36703
37016
|
children: [
|
|
@@ -36766,7 +37079,7 @@ function SearchInput({
|
|
|
36766
37079
|
}
|
|
36767
37080
|
) }),
|
|
36768
37081
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36769
|
-
|
|
37082
|
+
PopoverPrimitive5.Content,
|
|
36770
37083
|
{
|
|
36771
37084
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
36772
37085
|
"z-50 w-[var(--radix-popover-trigger-width)] mt-1",
|
|
@@ -36781,10 +37094,10 @@ function SearchInput({
|
|
|
36781
37094
|
align: "start",
|
|
36782
37095
|
onOpenAutoFocus: (e) => {
|
|
36783
37096
|
e.preventDefault();
|
|
36784
|
-
_optionalChain([inputRef, 'access',
|
|
37097
|
+
_optionalChain([inputRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.focus, 'call', _724 => _724()]);
|
|
36785
37098
|
},
|
|
36786
37099
|
onInteractOutside: (e) => {
|
|
36787
|
-
if (_optionalChain([containerRef, 'access',
|
|
37100
|
+
if (_optionalChain([containerRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.contains, 'call', _727 => _727(e.target)])) {
|
|
36788
37101
|
e.preventDefault();
|
|
36789
37102
|
}
|
|
36790
37103
|
},
|
|
@@ -36801,10 +37114,10 @@ function SearchInput({
|
|
|
36801
37114
|
ref: hiddenTagsPopupRef,
|
|
36802
37115
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
36803
37116
|
style: {
|
|
36804
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
37117
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _728 => _728.current, 'optionalAccess', _729 => _729.getBoundingClientRect, 'call', _730 => _730(), 'access', _731 => _731.left]), () => ( 0))) : 0
|
|
36805
37118
|
},
|
|
36806
37119
|
onRemove: (value2) => {
|
|
36807
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
37120
|
+
_optionalChain([onFilterRemove, 'optionalCall', _732 => _732(value2)]);
|
|
36808
37121
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
36809
37122
|
}
|
|
36810
37123
|
}
|
|
@@ -36855,7 +37168,7 @@ function FilterListItem({
|
|
|
36855
37168
|
}) {
|
|
36856
37169
|
const handleToggle = () => {
|
|
36857
37170
|
if (disabled) return;
|
|
36858
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
37171
|
+
_optionalChain([onToggle, 'optionalCall', _733 => _733(!selected)]);
|
|
36859
37172
|
};
|
|
36860
37173
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36861
37174
|
"div",
|
|
@@ -36891,7 +37204,7 @@ function FilterListItem({
|
|
|
36891
37204
|
"flex items-start gap-[var(--spacing-system-xxs)] text-h6",
|
|
36892
37205
|
selected ? "text-ods-accent" : "text-ods-text-secondary"
|
|
36893
37206
|
),
|
|
36894
|
-
children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
37207
|
+
children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React116.Fragment, { children: [
|
|
36895
37208
|
index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", children: "\u2022" }),
|
|
36896
37209
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item })
|
|
36897
37210
|
] }, index))
|
|
@@ -36902,7 +37215,7 @@ function FilterListItem({
|
|
|
36902
37215
|
CheckboxPrimitive4.Root,
|
|
36903
37216
|
{
|
|
36904
37217
|
checked: selected,
|
|
36905
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
37218
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _734 => _734(c === true)]),
|
|
36906
37219
|
onClick: (e) => e.stopPropagation(),
|
|
36907
37220
|
disabled,
|
|
36908
37221
|
"aria-label": title,
|
|
@@ -37001,7 +37314,7 @@ function TagSearchInput({
|
|
|
37001
37314
|
if (!showHiddenTags) return;
|
|
37002
37315
|
const handleClick = (e) => {
|
|
37003
37316
|
const target = e.target;
|
|
37004
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
37317
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _735 => _735.current, 'optionalAccess', _736 => _736.contains, 'call', _737 => _737(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.contains, 'call', _740 => _740(target)])) {
|
|
37005
37318
|
setShowHiddenTags(false);
|
|
37006
37319
|
}
|
|
37007
37320
|
};
|
|
@@ -37017,13 +37330,13 @@ function TagSearchInput({
|
|
|
37017
37330
|
e.preventDefault();
|
|
37018
37331
|
onSubmit(searchValue);
|
|
37019
37332
|
}
|
|
37020
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
37333
|
+
_optionalChain([onKeyDown, 'optionalCall', _741 => _741(e)]);
|
|
37021
37334
|
};
|
|
37022
37335
|
const handleClearAll = (e) => {
|
|
37023
37336
|
e.stopPropagation();
|
|
37024
37337
|
e.preventDefault();
|
|
37025
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
37026
|
-
_optionalChain([inputRef, 'access',
|
|
37338
|
+
_optionalChain([onClearAll, 'optionalCall', _742 => _742()]);
|
|
37339
|
+
_optionalChain([inputRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.focus, 'call', _745 => _745()]);
|
|
37027
37340
|
};
|
|
37028
37341
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
37029
37342
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -37040,7 +37353,7 @@ function TagSearchInput({
|
|
|
37040
37353
|
className
|
|
37041
37354
|
),
|
|
37042
37355
|
onClick: () => {
|
|
37043
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
37356
|
+
if (!disabled) _optionalChain([inputRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.focus, 'call', _748 => _748()]);
|
|
37044
37357
|
},
|
|
37045
37358
|
children: [
|
|
37046
37359
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
|
|
@@ -37112,7 +37425,7 @@ function TagSearchInput({
|
|
|
37112
37425
|
items: hiddenTags,
|
|
37113
37426
|
disabled,
|
|
37114
37427
|
style: {
|
|
37115
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
37428
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _749 => _749.current, 'optionalAccess', _750 => _750.getBoundingClientRect, 'call', _751 => _751(), 'access', _752 => _752.left]), () => ( 0))) : 0
|
|
37116
37429
|
},
|
|
37117
37430
|
onRemove: (value) => {
|
|
37118
37431
|
onTagRemove(value);
|
|
@@ -37213,7 +37526,7 @@ function MarkdownEditor({
|
|
|
37213
37526
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
37214
37527
|
_react.useEffect.call(void 0, () => {
|
|
37215
37528
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
37216
|
-
if (_optionalChain([mod, 'access',
|
|
37529
|
+
if (_optionalChain([mod, 'access', _753 => _753.commands, 'optionalAccess', _754 => _754.getExtraCommands])) {
|
|
37217
37530
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
37218
37531
|
}
|
|
37219
37532
|
});
|
|
@@ -37247,7 +37560,7 @@ function MarkdownEditor({
|
|
|
37247
37560
|
const isImage = file.type.startsWith("image/");
|
|
37248
37561
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
37249
37562
|
insertTextAtCursor(markdown);
|
|
37250
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
37563
|
+
_optionalChain([onFileUploaded, 'optionalCall', _755 => _755(url, file.name)]);
|
|
37251
37564
|
} catch (error) {
|
|
37252
37565
|
console.error("File upload failed:", error);
|
|
37253
37566
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -37260,7 +37573,7 @@ function MarkdownEditor({
|
|
|
37260
37573
|
);
|
|
37261
37574
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
37262
37575
|
(e) => {
|
|
37263
|
-
const file = _optionalChain([e, 'access',
|
|
37576
|
+
const file = _optionalChain([e, 'access', _756 => _756.target, 'access', _757 => _757.files, 'optionalAccess', _758 => _758[0]]);
|
|
37264
37577
|
if (file) {
|
|
37265
37578
|
handleFileUpload(file);
|
|
37266
37579
|
e.target.value = "";
|
|
@@ -37271,7 +37584,7 @@ function MarkdownEditor({
|
|
|
37271
37584
|
const handlePaste = _react.useCallback.call(void 0,
|
|
37272
37585
|
(e) => {
|
|
37273
37586
|
if (!onUploadFile) return;
|
|
37274
|
-
const items = _optionalChain([e, 'access',
|
|
37587
|
+
const items = _optionalChain([e, 'access', _759 => _759.clipboardData, 'optionalAccess', _760 => _760.items]);
|
|
37275
37588
|
if (!items) return;
|
|
37276
37589
|
for (const item of items) {
|
|
37277
37590
|
if (item.type.startsWith("image/")) {
|
|
@@ -37296,7 +37609,7 @@ function MarkdownEditor({
|
|
|
37296
37609
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
37297
37610
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
|
|
37298
37611
|
execute: () => {
|
|
37299
|
-
_optionalChain([fileInputRef, 'access',
|
|
37612
|
+
_optionalChain([fileInputRef, 'access', _761 => _761.current, 'optionalAccess', _762 => _762.click, 'call', _763 => _763()]);
|
|
37300
37613
|
}
|
|
37301
37614
|
} : null;
|
|
37302
37615
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -37308,7 +37621,7 @@ function MarkdownEditor({
|
|
|
37308
37621
|
const EDGE_ZONE = 60;
|
|
37309
37622
|
const MAX_SCROLL_SPEED = 15;
|
|
37310
37623
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
37311
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
37624
|
+
let node = _optionalChain([el, 'optionalAccess', _764 => _764.parentElement]);
|
|
37312
37625
|
while (node && node !== document.documentElement) {
|
|
37313
37626
|
const { overflowY } = window.getComputedStyle(node);
|
|
37314
37627
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -37451,7 +37764,7 @@ function matchesAccept(file, accept) {
|
|
|
37451
37764
|
});
|
|
37452
37765
|
}
|
|
37453
37766
|
function dragHasFiles(e) {
|
|
37454
|
-
const types = _optionalChain([e, 'access',
|
|
37767
|
+
const types = _optionalChain([e, 'access', _765 => _765.dataTransfer, 'optionalAccess', _766 => _766.types]);
|
|
37455
37768
|
if (!types) return false;
|
|
37456
37769
|
for (let i = 0; i < types.length; i++) {
|
|
37457
37770
|
if (types[i] === "Files") return true;
|
|
@@ -37477,11 +37790,11 @@ function FileUpload({
|
|
|
37477
37790
|
maxListHeight,
|
|
37478
37791
|
acceptWindowDrops = false
|
|
37479
37792
|
}) {
|
|
37480
|
-
const [dragActive, setDragActive] =
|
|
37481
|
-
const [validationError, setValidationError] =
|
|
37482
|
-
const fileInputRef =
|
|
37793
|
+
const [dragActive, setDragActive] = React118.useState(false);
|
|
37794
|
+
const [validationError, setValidationError] = React118.useState(null);
|
|
37795
|
+
const fileInputRef = React118.useRef(null);
|
|
37483
37796
|
const isManaged = managedFiles !== void 0;
|
|
37484
|
-
const files =
|
|
37797
|
+
const files = React118.useMemo(() => {
|
|
37485
37798
|
if (!value) return [];
|
|
37486
37799
|
return Array.isArray(value) ? value : [value];
|
|
37487
37800
|
}, [value]);
|
|
@@ -37529,7 +37842,7 @@ function FileUpload({
|
|
|
37529
37842
|
fileInputRef.current.value = "";
|
|
37530
37843
|
}
|
|
37531
37844
|
};
|
|
37532
|
-
const handleFilesRef =
|
|
37845
|
+
const handleFilesRef = React118.useRef(handleFiles);
|
|
37533
37846
|
handleFilesRef.current = handleFiles;
|
|
37534
37847
|
const handleDrag = (e) => {
|
|
37535
37848
|
e.preventDefault();
|
|
@@ -37546,11 +37859,11 @@ function FileUpload({
|
|
|
37546
37859
|
e.stopPropagation();
|
|
37547
37860
|
setDragActive(false);
|
|
37548
37861
|
if (disabled) return;
|
|
37549
|
-
if (_optionalChain([e, 'access',
|
|
37862
|
+
if (_optionalChain([e, 'access', _767 => _767.dataTransfer, 'access', _768 => _768.files, 'optionalAccess', _769 => _769.length])) {
|
|
37550
37863
|
handleFiles(e.dataTransfer.files);
|
|
37551
37864
|
}
|
|
37552
37865
|
};
|
|
37553
|
-
|
|
37866
|
+
React118.useEffect(() => {
|
|
37554
37867
|
if (!acceptWindowDrops || disabled) return;
|
|
37555
37868
|
let dragCounter = 0;
|
|
37556
37869
|
const onWindowDragEnter = (e) => {
|
|
@@ -37574,7 +37887,7 @@ function FileUpload({
|
|
|
37574
37887
|
e.preventDefault();
|
|
37575
37888
|
dragCounter = 0;
|
|
37576
37889
|
setDragActive(false);
|
|
37577
|
-
if (_optionalChain([e, 'access',
|
|
37890
|
+
if (_optionalChain([e, 'access', _770 => _770.dataTransfer, 'optionalAccess', _771 => _771.files, 'optionalAccess', _772 => _772.length])) {
|
|
37578
37891
|
handleFilesRef.current(e.dataTransfer.files);
|
|
37579
37892
|
}
|
|
37580
37893
|
};
|
|
@@ -37596,7 +37909,7 @@ function FileUpload({
|
|
|
37596
37909
|
};
|
|
37597
37910
|
}, [acceptWindowDrops, disabled]);
|
|
37598
37911
|
const handleFileSelect = (e) => {
|
|
37599
|
-
if (_optionalChain([e, 'access',
|
|
37912
|
+
if (_optionalChain([e, 'access', _773 => _773.target, 'access', _774 => _774.files, 'optionalAccess', _775 => _775.length])) {
|
|
37600
37913
|
handleFiles(e.target.files);
|
|
37601
37914
|
}
|
|
37602
37915
|
};
|
|
@@ -37613,7 +37926,7 @@ function FileUpload({
|
|
|
37613
37926
|
};
|
|
37614
37927
|
const openDialog = async () => {
|
|
37615
37928
|
if (disabled) return;
|
|
37616
|
-
_optionalChain([fileInputRef, 'access',
|
|
37929
|
+
_optionalChain([fileInputRef, 'access', _776 => _776.current, 'optionalAccess', _777 => _777.click, 'call', _778 => _778()]);
|
|
37617
37930
|
};
|
|
37618
37931
|
const displayError = error || validationError || void 0;
|
|
37619
37932
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -37691,7 +38004,7 @@ function FileUpload({
|
|
|
37691
38004
|
"button",
|
|
37692
38005
|
{
|
|
37693
38006
|
type: "button",
|
|
37694
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
38007
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _779 => _779(entry.id)]),
|
|
37695
38008
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
37696
38009
|
"aria-label": `Remove ${entry.fileName}`,
|
|
37697
38010
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -37792,10 +38105,10 @@ function ImageUploader({
|
|
|
37792
38105
|
alt = "Uploaded image",
|
|
37793
38106
|
className
|
|
37794
38107
|
}) {
|
|
37795
|
-
const inputRef =
|
|
37796
|
-
const [dragActive, setDragActive] =
|
|
37797
|
-
const [pressed, setPressed] =
|
|
37798
|
-
const [validationError, setValidationError] =
|
|
38108
|
+
const inputRef = React119.useRef(null);
|
|
38109
|
+
const [dragActive, setDragActive] = React119.useState(false);
|
|
38110
|
+
const [pressed, setPressed] = React119.useState(false);
|
|
38111
|
+
const [validationError, setValidationError] = React119.useState(null);
|
|
37799
38112
|
const interactive = !disabled && !loading;
|
|
37800
38113
|
const hasImage = Boolean(value);
|
|
37801
38114
|
const displayError = error || validationError || void 0;
|
|
@@ -37814,7 +38127,7 @@ function ImageUploader({
|
|
|
37814
38127
|
onChange(file);
|
|
37815
38128
|
};
|
|
37816
38129
|
const handleFileSelect = (e) => {
|
|
37817
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
38130
|
+
validateAndEmit(_optionalChain([e, 'access', _780 => _780.target, 'access', _781 => _781.files, 'optionalAccess', _782 => _782[0]]));
|
|
37818
38131
|
if (inputRef.current) inputRef.current.value = "";
|
|
37819
38132
|
};
|
|
37820
38133
|
const handleDrag = (e) => {
|
|
@@ -37829,11 +38142,11 @@ function ImageUploader({
|
|
|
37829
38142
|
e.stopPropagation();
|
|
37830
38143
|
setDragActive(false);
|
|
37831
38144
|
if (!interactive) return;
|
|
37832
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
38145
|
+
validateAndEmit(_optionalChain([e, 'access', _783 => _783.dataTransfer, 'access', _784 => _784.files, 'optionalAccess', _785 => _785[0]]));
|
|
37833
38146
|
};
|
|
37834
38147
|
const openDialog = () => {
|
|
37835
38148
|
if (!interactive) return;
|
|
37836
|
-
_optionalChain([inputRef, 'access',
|
|
38149
|
+
_optionalChain([inputRef, 'access', _786 => _786.current, 'optionalAccess', _787 => _787.click, 'call', _788 => _788()]);
|
|
37837
38150
|
};
|
|
37838
38151
|
const handleRootKeyDown = (e) => {
|
|
37839
38152
|
if (hasImage || !interactive) return;
|
|
@@ -37968,10 +38281,10 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
37968
38281
|
|
|
37969
38282
|
|
|
37970
38283
|
|
|
37971
|
-
var Popover2 =
|
|
37972
|
-
var PopoverTrigger =
|
|
37973
|
-
var PopoverContent =
|
|
37974
|
-
|
|
38284
|
+
var Popover2 = PopoverPrimitive6.Root;
|
|
38285
|
+
var PopoverTrigger = PopoverPrimitive6.Trigger;
|
|
38286
|
+
var PopoverContent = React120.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38287
|
+
PopoverPrimitive6.Content,
|
|
37975
38288
|
{
|
|
37976
38289
|
ref,
|
|
37977
38290
|
align,
|
|
@@ -37983,7 +38296,7 @@ var PopoverContent = React119.forwardRef(({ className, align = "center", sideOff
|
|
|
37983
38296
|
...props
|
|
37984
38297
|
}
|
|
37985
38298
|
) }));
|
|
37986
|
-
PopoverContent.displayName =
|
|
38299
|
+
PopoverContent.displayName = PopoverPrimitive6.Content.displayName;
|
|
37987
38300
|
|
|
37988
38301
|
// src/components/ui/color-preset-select.tsx
|
|
37989
38302
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
@@ -38023,8 +38336,8 @@ function ColorPresetSelect({
|
|
|
38023
38336
|
}) {
|
|
38024
38337
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
38025
38338
|
const isCustom = !selectedPreset;
|
|
38026
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
38027
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
38339
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _789 => _789.label]), () => ( "Custom"));
|
|
38340
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _790 => _790.color]), () => ( value));
|
|
38028
38341
|
const groups = [
|
|
38029
38342
|
{
|
|
38030
38343
|
items: [
|
|
@@ -38067,8 +38380,8 @@ var FORMATS = ["HEX", "RGB", "HSL"];
|
|
|
38067
38380
|
var channelInputClass = "flex-1 min-w-0 [&_input]:text-center [&_input]:tabular-nums";
|
|
38068
38381
|
var hexInputClass = "flex-1 min-w-0 [&_input]:uppercase";
|
|
38069
38382
|
function HexInputs({ value, onChange }) {
|
|
38070
|
-
const [draft, setDraft] =
|
|
38071
|
-
|
|
38383
|
+
const [draft, setDraft] = React121.useState(value);
|
|
38384
|
+
React121.useEffect(() => setDraft(value), [value]);
|
|
38072
38385
|
const commit = () => {
|
|
38073
38386
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
38074
38387
|
if (HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
@@ -38100,8 +38413,8 @@ function ChannelInput({
|
|
|
38100
38413
|
ariaLabel,
|
|
38101
38414
|
onCommit
|
|
38102
38415
|
}) {
|
|
38103
|
-
const [draft, setDraft] =
|
|
38104
|
-
|
|
38416
|
+
const [draft, setDraft] = React121.useState(String(value));
|
|
38417
|
+
React121.useEffect(() => setDraft(String(value)), [value]);
|
|
38105
38418
|
const commit = () => {
|
|
38106
38419
|
const parsed = Number.parseInt(draft, 10);
|
|
38107
38420
|
if (!Number.isFinite(parsed)) {
|
|
@@ -38161,8 +38474,8 @@ function HslInputs({ value, onChange }) {
|
|
|
38161
38474
|
] });
|
|
38162
38475
|
}
|
|
38163
38476
|
function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
38164
|
-
const [open, setOpen] =
|
|
38165
|
-
const [format2, setFormat] =
|
|
38477
|
+
const [open, setOpen] = React121.useState(false);
|
|
38478
|
+
const [format2, setFormat] = React121.useState("HEX");
|
|
38166
38479
|
const formatGroups = [
|
|
38167
38480
|
{
|
|
38168
38481
|
items: FORMATS.map((f) => ({
|
|
@@ -38227,9 +38540,9 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
38227
38540
|
|
|
38228
38541
|
var dismissOpenTooltip = null;
|
|
38229
38542
|
function WithLeftTooltip({ content, children }) {
|
|
38230
|
-
const [open, setOpen] =
|
|
38231
|
-
const isTouchRef =
|
|
38232
|
-
const close =
|
|
38543
|
+
const [open, setOpen] = React122.useState(false);
|
|
38544
|
+
const isTouchRef = React122.useRef(false);
|
|
38545
|
+
const close = React122.useCallback(() => setOpen(false), []);
|
|
38233
38546
|
if (!content) return children;
|
|
38234
38547
|
const toggleFromTouch = () => {
|
|
38235
38548
|
setOpen((prev) => {
|
|
@@ -38314,7 +38627,7 @@ function TicketStatusConfigRow({
|
|
|
38314
38627
|
_chunkQJGRP2YEcjs.Input,
|
|
38315
38628
|
{
|
|
38316
38629
|
value: name,
|
|
38317
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
38630
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _791 => _791(e.target.value)]),
|
|
38318
38631
|
disabled: isSystem,
|
|
38319
38632
|
readOnly: isSystem,
|
|
38320
38633
|
"aria-label": "Status name",
|
|
@@ -38361,248 +38674,6 @@ function TicketStatusConfigRow({
|
|
|
38361
38674
|
);
|
|
38362
38675
|
}
|
|
38363
38676
|
|
|
38364
|
-
// src/components/ui/assignee-dropdown.tsx
|
|
38365
|
-
|
|
38366
|
-
|
|
38367
|
-
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
38368
|
-
|
|
38369
|
-
function AssigneeDropdown(props) {
|
|
38370
|
-
if (props.variant === "compact") {
|
|
38371
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CompactAssigneeDropdown, { ...props });
|
|
38372
|
-
}
|
|
38373
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAssigneeDropdown, { ...props });
|
|
38374
|
-
}
|
|
38375
|
-
function CompactAssigneeDropdown({
|
|
38376
|
-
currentAssignee,
|
|
38377
|
-
options,
|
|
38378
|
-
isLoading,
|
|
38379
|
-
onAssign,
|
|
38380
|
-
className
|
|
38381
|
-
}) {
|
|
38382
|
-
const [isOpen, setIsOpen] = React122.useState(false);
|
|
38383
|
-
const [search, setSearch] = React122.useState("");
|
|
38384
|
-
const hasAssignee = !!currentAssignee;
|
|
38385
|
-
React122.useEffect(() => {
|
|
38386
|
-
if (!isOpen) setSearch("");
|
|
38387
|
-
}, [isOpen]);
|
|
38388
|
-
const filtered = React122.useMemo(() => {
|
|
38389
|
-
const q = search.trim().toLowerCase();
|
|
38390
|
-
if (!q) return options;
|
|
38391
|
-
return options.filter((o) => o.label.toLowerCase().includes(q));
|
|
38392
|
-
}, [options, search]);
|
|
38393
|
-
const orderedOptions = React122.useMemo(() => {
|
|
38394
|
-
if (!currentAssignee) return filtered;
|
|
38395
|
-
const current = filtered.find((o) => o.value === currentAssignee.id);
|
|
38396
|
-
if (!current) return filtered;
|
|
38397
|
-
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
38398
|
-
}, [filtered, currentAssignee]);
|
|
38399
|
-
const handleSelect = (userId) => {
|
|
38400
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess', _789 => _789.id]) === userId ? null : userId;
|
|
38401
|
-
onAssign(next);
|
|
38402
|
-
setIsOpen(false);
|
|
38403
|
-
};
|
|
38404
|
-
const trigger = hasAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38405
|
-
"button",
|
|
38406
|
-
{
|
|
38407
|
-
type: "button",
|
|
38408
|
-
"aria-label": "Change assignee",
|
|
38409
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
38410
|
-
"shrink-0 rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
38411
|
-
className
|
|
38412
|
-
),
|
|
38413
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38414
|
-
SquareAvatar,
|
|
38415
|
-
{
|
|
38416
|
-
src: currentAssignee.avatarSrc,
|
|
38417
|
-
alt: currentAssignee.name,
|
|
38418
|
-
fallback: currentAssignee.name || "User",
|
|
38419
|
-
size: "sm",
|
|
38420
|
-
variant: "round"
|
|
38421
|
-
}
|
|
38422
|
-
)
|
|
38423
|
-
}
|
|
38424
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38425
|
-
"button",
|
|
38426
|
-
{
|
|
38427
|
-
type: "button",
|
|
38428
|
-
"aria-label": "Assign user",
|
|
38429
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
38430
|
-
"size-8 rounded-full border border-ods-border flex items-center justify-center shrink-0",
|
|
38431
|
-
"text-ods-text-secondary hover:text-ods-accent hover:border-ods-accent transition-colors",
|
|
38432
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
38433
|
-
className
|
|
38434
|
-
),
|
|
38435
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserPlusIcon, { className: "size-4" })
|
|
38436
|
-
}
|
|
38437
|
-
);
|
|
38438
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive6.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
|
|
38439
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Trigger, { asChild: true, children: trigger }),
|
|
38440
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38441
|
-
PopoverPrimitive6.Content,
|
|
38442
|
-
{
|
|
38443
|
-
align: "end",
|
|
38444
|
-
sideOffset: 6,
|
|
38445
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
38446
|
-
"z-50 w-72 bg-ods-card border border-ods-border rounded-[6px] shadow-lg overflow-hidden",
|
|
38447
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
38448
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
38449
|
-
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
38450
|
-
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2"
|
|
38451
|
-
),
|
|
38452
|
-
children: [
|
|
38453
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38454
|
-
_chunkQJGRP2YEcjs.Input,
|
|
38455
|
-
{
|
|
38456
|
-
autoFocus: true,
|
|
38457
|
-
value: search,
|
|
38458
|
-
onChange: (e) => setSearch(e.target.value),
|
|
38459
|
-
placeholder: "Search users...",
|
|
38460
|
-
startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary" }),
|
|
38461
|
-
className: "rounded-none border-0"
|
|
38462
|
-
}
|
|
38463
|
-
) }),
|
|
38464
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
|
|
38465
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _790 => _790.id]) === opt.value;
|
|
38466
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38467
|
-
"button",
|
|
38468
|
-
{
|
|
38469
|
-
type: "button",
|
|
38470
|
-
role: "option",
|
|
38471
|
-
"aria-selected": isCurrent,
|
|
38472
|
-
onClick: () => handleSelect(opt.value),
|
|
38473
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
38474
|
-
"flex items-center gap-[var(--spacing-system-xs)] w-full px-[var(--spacing-system-sf)] py-[var(--spacing-system-xs)] text-left",
|
|
38475
|
-
"hover:bg-ods-bg-hover transition-colors",
|
|
38476
|
-
isCurrent && "bg-ods-bg-hover"
|
|
38477
|
-
),
|
|
38478
|
-
children: [
|
|
38479
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38480
|
-
SquareAvatar,
|
|
38481
|
-
{
|
|
38482
|
-
src: opt.imageUrl,
|
|
38483
|
-
alt: opt.label,
|
|
38484
|
-
fallback: opt.label,
|
|
38485
|
-
size: "sm",
|
|
38486
|
-
variant: "round",
|
|
38487
|
-
className: "h-6 w-6 shrink-0"
|
|
38488
|
-
}
|
|
38489
|
-
),
|
|
38490
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 truncate text-h4 text-ods-text-primary", title: opt.label, children: opt.label }),
|
|
38491
|
-
isCurrent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CheckIcon, { className: "size-4 shrink-0 text-ods-accent" })
|
|
38492
|
-
]
|
|
38493
|
-
},
|
|
38494
|
-
opt.value
|
|
38495
|
-
);
|
|
38496
|
-
}) })
|
|
38497
|
-
]
|
|
38498
|
-
}
|
|
38499
|
-
) })
|
|
38500
|
-
] });
|
|
38501
|
-
}
|
|
38502
|
-
function DefaultAssigneeDropdown({
|
|
38503
|
-
currentAssignee,
|
|
38504
|
-
options,
|
|
38505
|
-
isLoading,
|
|
38506
|
-
onAssign,
|
|
38507
|
-
className
|
|
38508
|
-
}) {
|
|
38509
|
-
const [isEditing, setIsEditing] = React122.useState(false);
|
|
38510
|
-
const hasAssignee = !!currentAssignee;
|
|
38511
|
-
const renderOption = React122.useCallback((option) => {
|
|
38512
|
-
const opt = option;
|
|
38513
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
|
|
38514
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38515
|
-
SquareAvatar,
|
|
38516
|
-
{
|
|
38517
|
-
src: opt.imageUrl,
|
|
38518
|
-
alt: opt.label,
|
|
38519
|
-
fallback: opt.label,
|
|
38520
|
-
size: "sm",
|
|
38521
|
-
variant: "round",
|
|
38522
|
-
className: "h-6 w-6 shrink-0"
|
|
38523
|
-
}
|
|
38524
|
-
),
|
|
38525
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: opt.label, children: opt.label })
|
|
38526
|
-
] });
|
|
38527
|
-
}, []);
|
|
38528
|
-
if (isEditing) {
|
|
38529
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
38530
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38531
|
-
Autocomplete,
|
|
38532
|
-
{
|
|
38533
|
-
options,
|
|
38534
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _791 => _791.id]), () => ( null)),
|
|
38535
|
-
onChange: (val) => {
|
|
38536
|
-
onAssign(val);
|
|
38537
|
-
setIsEditing(false);
|
|
38538
|
-
},
|
|
38539
|
-
placeholder: "Search users...",
|
|
38540
|
-
loading: isLoading,
|
|
38541
|
-
showChevron: false,
|
|
38542
|
-
startAdornment: hasAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38543
|
-
SquareAvatar,
|
|
38544
|
-
{
|
|
38545
|
-
src: currentAssignee.avatarSrc,
|
|
38546
|
-
alt: currentAssignee.name,
|
|
38547
|
-
fallback: currentAssignee.name || "User",
|
|
38548
|
-
size: "sm",
|
|
38549
|
-
variant: "round",
|
|
38550
|
-
className: "h-6 w-6"
|
|
38551
|
-
}
|
|
38552
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserIcon, { className: "size-5 text-ods-text-secondary" }),
|
|
38553
|
-
renderOption
|
|
38554
|
-
}
|
|
38555
|
-
),
|
|
38556
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate block mt-0.5", children: "Assigned" })
|
|
38557
|
-
] });
|
|
38558
|
-
}
|
|
38559
|
-
if (hasAssignee) {
|
|
38560
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-[var(--spacing-system-xs)] min-w-0", className), children: [
|
|
38561
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38562
|
-
SquareAvatar,
|
|
38563
|
-
{
|
|
38564
|
-
src: currentAssignee.avatarSrc,
|
|
38565
|
-
alt: currentAssignee.name,
|
|
38566
|
-
fallback: currentAssignee.name || "User",
|
|
38567
|
-
size: "md",
|
|
38568
|
-
variant: "round",
|
|
38569
|
-
className: "shrink-0"
|
|
38570
|
-
}
|
|
38571
|
-
),
|
|
38572
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col justify-center", children: [
|
|
38573
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] w-full min-w-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38574
|
-
"button",
|
|
38575
|
-
{
|
|
38576
|
-
type: "button",
|
|
38577
|
-
onClick: () => setIsEditing(true),
|
|
38578
|
-
className: "flex items-center gap-[var(--spacing-system-xxs)] cursor-pointer group text-left",
|
|
38579
|
-
children: [
|
|
38580
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PenEditIcon, { className: "size-4 shrink-0 text-ods-text-secondary group-hover:text-ods-accent transition-colors" }),
|
|
38581
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary truncate", title: currentAssignee.name, children: currentAssignee.name })
|
|
38582
|
-
]
|
|
38583
|
-
}
|
|
38584
|
-
) }),
|
|
38585
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate", children: "Assigned" })
|
|
38586
|
-
] }) })
|
|
38587
|
-
] });
|
|
38588
|
-
}
|
|
38589
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "min-w-0", className), children: [
|
|
38590
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38591
|
-
"button",
|
|
38592
|
-
{
|
|
38593
|
-
type: "button",
|
|
38594
|
-
onClick: () => setIsEditing(true),
|
|
38595
|
-
className: "flex items-center gap-[var(--spacing-system-xxs)] text-h4 text-ods-accent underline truncate cursor-pointer hover:opacity-80 transition-opacity text-left",
|
|
38596
|
-
children: [
|
|
38597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
38598
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Assign User" })
|
|
38599
|
-
]
|
|
38600
|
-
}
|
|
38601
|
-
),
|
|
38602
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate block", children: "Assigned" })
|
|
38603
|
-
] });
|
|
38604
|
-
}
|
|
38605
|
-
|
|
38606
38677
|
// src/components/ui/ticket-info-section.tsx
|
|
38607
38678
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
38608
38679
|
|
|
@@ -38619,7 +38690,6 @@ function TicketDetailSection({ label, children, className }) {
|
|
|
38619
38690
|
// src/components/ui/ticket-attachments-list.tsx
|
|
38620
38691
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
38621
38692
|
|
|
38622
|
-
|
|
38623
38693
|
function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
38624
38694
|
if (attachments.length === 0) return null;
|
|
38625
38695
|
const compact = size === "compact";
|
|
@@ -38647,7 +38717,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
38647
38717
|
"shrink-0 flex items-center justify-center rounded-[6px] bg-ods-card border border-ods-border",
|
|
38648
38718
|
compact ? "size-8" : "size-10"
|
|
38649
38719
|
),
|
|
38650
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38720
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.FileIcon, { className: _chunkFIG2RKZFcjs.cn.call(void 0, "text-ods-text-secondary", compact ? "size-4" : "size-6") })
|
|
38651
38721
|
}
|
|
38652
38722
|
),
|
|
38653
38723
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 overflow-hidden", children: [
|
|
@@ -38661,6 +38731,16 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
38661
38731
|
),
|
|
38662
38732
|
attachment.fileSize && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: attachment.fileSize })
|
|
38663
38733
|
] }),
|
|
38734
|
+
attachment.onDelete && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38735
|
+
"button",
|
|
38736
|
+
{
|
|
38737
|
+
type: "button",
|
|
38738
|
+
onClick: attachment.onDelete,
|
|
38739
|
+
className: "shrink-0 text-ods-text-secondary hover:text-ods-error transition-colors",
|
|
38740
|
+
"aria-label": `Delete ${attachment.fileName}`,
|
|
38741
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TrashIcon, { className: compact ? "size-4" : "size-5" })
|
|
38742
|
+
}
|
|
38743
|
+
),
|
|
38664
38744
|
attachment.onDownload && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38665
38745
|
"button",
|
|
38666
38746
|
{
|
|
@@ -38668,7 +38748,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
38668
38748
|
onClick: attachment.onDownload,
|
|
38669
38749
|
className: "shrink-0 text-ods-text-secondary hover:text-ods-text-primary transition-colors",
|
|
38670
38750
|
"aria-label": `Download ${attachment.fileName}`,
|
|
38671
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38751
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Download02Icon, { className: compact ? "size-4" : "size-6" })
|
|
38672
38752
|
}
|
|
38673
38753
|
)
|
|
38674
38754
|
]
|
|
@@ -39615,7 +39695,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
39615
39695
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
39616
39696
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: primaryText })
|
|
39617
39697
|
] }),
|
|
39618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React113.default.Fragment, { children: [
|
|
39619
39699
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
39620
39700
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
39621
39701
|
] }, i)) }) }),
|
|
@@ -39707,7 +39787,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
39707
39787
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
39708
39788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
|
|
39709
39789
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
|
|
39710
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React113.default.Fragment, { children: [
|
|
39711
39791
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
39712
39792
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
39713
39793
|
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
|
|
@@ -39819,7 +39899,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
39819
39899
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
39820
39900
|
] }) : null,
|
|
39821
39901
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
|
|
39822
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39902
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React113.default.Fragment, { children: [
|
|
39823
39903
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
39824
39904
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
39825
39905
|
] }, i)) }) }) : null
|
|
@@ -43002,7 +43082,7 @@ function ChatCardLoader({
|
|
|
43002
43082
|
extras
|
|
43003
43083
|
}) {
|
|
43004
43084
|
const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
|
|
43005
|
-
const resolvedChatRef =
|
|
43085
|
+
const resolvedChatRef = React113.default.useMemo(() => {
|
|
43006
43086
|
const cta = resolveSourceRowCTA(
|
|
43007
43087
|
{
|
|
43008
43088
|
sourceRepo: chatRef.sourceRepo,
|
|
@@ -49714,5 +49794,6 @@ function EmbeddableChatInner({
|
|
|
49714
49794
|
|
|
49715
49795
|
|
|
49716
49796
|
|
|
49717
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
49718
|
-
//# sourceMappingURL=chunk-AYBSXRRC.cjs.map
|
|
49797
|
+
|
|
49798
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
49799
|
+
//# sourceMappingURL=chunk-GABTFTDE.cjs.map
|