@flamingo-stack/openframe-frontend-core 0.0.593 → 0.0.594-snapshot.20260905135632
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-WY2GQ62H.cjs → chunk-23UJ4EBJ.cjs} +10 -10
- package/dist/{chunk-WY2GQ62H.cjs.map → chunk-23UJ4EBJ.cjs.map} +1 -1
- package/dist/{chunk-KPO6TWEV.js → chunk-2WLW5HDU.js} +7 -7
- package/dist/{chunk-GEP3O6NU.js → chunk-3WZLPCJ7.js} +3 -3
- package/dist/{chunk-NEFNARFF.cjs → chunk-4R6AZFNU.cjs} +30 -30
- package/dist/{chunk-NEFNARFF.cjs.map → chunk-4R6AZFNU.cjs.map} +1 -1
- package/dist/{chunk-S6G6KJ57.cjs → chunk-4ZY5MP46.cjs} +15 -15
- package/dist/{chunk-S6G6KJ57.cjs.map → chunk-4ZY5MP46.cjs.map} +1 -1
- package/dist/{chunk-3ZHDEZQB.js → chunk-63PXZXCT.js} +4 -4
- package/dist/{chunk-2KISKWOY.cjs → chunk-6PEFK4UH.cjs} +6 -6
- package/dist/{chunk-2KISKWOY.cjs.map → chunk-6PEFK4UH.cjs.map} +1 -1
- package/dist/{chunk-MPNCYET3.js → chunk-7N2NJPUK.js} +3 -3
- package/dist/{chunk-J3D2WHWC.js → chunk-A57HKYLY.js} +6 -6
- package/dist/{chunk-I7JYX5O3.js → chunk-AQ65NLGJ.js} +88 -5
- package/dist/{chunk-I7JYX5O3.js.map → chunk-AQ65NLGJ.js.map} +1 -1
- package/dist/{chunk-XH5QBMXD.js → chunk-BKMSI2AW.js} +2 -2
- package/dist/{chunk-YSJ4TA6V.cjs → chunk-CPWX46TL.cjs} +6 -6
- package/dist/{chunk-YSJ4TA6V.cjs.map → chunk-CPWX46TL.cjs.map} +1 -1
- package/dist/{chunk-5SGTTSQN.cjs → chunk-CZM2H5F5.cjs} +5 -5
- package/dist/{chunk-5SGTTSQN.cjs.map → chunk-CZM2H5F5.cjs.map} +1 -1
- package/dist/{chunk-X7XO73M5.js → chunk-DYXVQ24Q.js} +3 -3
- package/dist/{chunk-OAAQKMMU.cjs → chunk-EO5GYWIX.cjs} +28 -28
- package/dist/{chunk-OAAQKMMU.cjs.map → chunk-EO5GYWIX.cjs.map} +1 -1
- package/dist/{chunk-CMAO4PPL.cjs → chunk-FHEN27GM.cjs} +11 -11
- package/dist/{chunk-CMAO4PPL.cjs.map → chunk-FHEN27GM.cjs.map} +1 -1
- package/dist/{chunk-VDAMJEMR.cjs → chunk-HGWC7ABT.cjs} +57 -57
- package/dist/{chunk-VDAMJEMR.cjs.map → chunk-HGWC7ABT.cjs.map} +1 -1
- package/dist/{chunk-4DRZZWC7.cjs → chunk-JGDDPNSC.cjs} +192 -192
- package/dist/{chunk-4DRZZWC7.cjs.map → chunk-JGDDPNSC.cjs.map} +1 -1
- package/dist/{chunk-2VOBGNEY.cjs → chunk-MDUAU74C.cjs} +28 -28
- package/dist/{chunk-2VOBGNEY.cjs.map → chunk-MDUAU74C.cjs.map} +1 -1
- package/dist/{chunk-QHTDFF52.cjs → chunk-MHORK6KM.cjs} +3 -3
- package/dist/{chunk-QHTDFF52.cjs.map → chunk-MHORK6KM.cjs.map} +1 -1
- package/dist/{chunk-ZZHHKE2Q.js → chunk-MUNVPRT2.js} +2 -2
- package/dist/{chunk-NRHU4V3E.cjs → chunk-MX7DNV7X.cjs} +33 -33
- package/dist/{chunk-NRHU4V3E.cjs.map → chunk-MX7DNV7X.cjs.map} +1 -1
- package/dist/{chunk-2645GIM2.js → chunk-NNMAMTA5.js} +3 -3
- package/dist/{chunk-2PMCHL37.cjs → chunk-OGE4GSLZ.cjs} +80 -80
- package/dist/{chunk-2PMCHL37.cjs.map → chunk-OGE4GSLZ.cjs.map} +1 -1
- package/dist/{chunk-WZHARPOT.cjs → chunk-OWWICTQR.cjs} +21 -21
- package/dist/{chunk-WZHARPOT.cjs.map → chunk-OWWICTQR.cjs.map} +1 -1
- package/dist/{chunk-GXPOEAXL.js → chunk-PYEJL2UG.js} +3 -3
- package/dist/{chunk-UG27ITVP.js → chunk-QLJMXCB5.js} +5 -5
- package/dist/{chunk-YAZY24ZK.js → chunk-SEVD4AST.js} +5 -5
- package/dist/{chunk-Y6I2DGKC.cjs → chunk-SK4IVCSI.cjs} +10 -2
- package/dist/{chunk-Y6I2DGKC.cjs.map → chunk-SK4IVCSI.cjs.map} +1 -1
- package/dist/{chunk-VUGQ3Z6E.js → chunk-T2JAJ7MR.js} +3 -3
- package/dist/{chunk-BTF3CNDP.js → chunk-TDEQ26A2.js} +10 -2
- package/dist/{chunk-BTF3CNDP.js.map → chunk-TDEQ26A2.js.map} +1 -1
- package/dist/{chunk-R2J6XMP6.js → chunk-U4QRK4MX.js} +3 -3
- package/dist/{chunk-MV3XJXPG.js → chunk-UPKN5CYH.js} +6 -6
- package/dist/{chunk-TVPJ5DIB.cjs → chunk-YYHYCQD6.cjs} +437 -354
- package/dist/chunk-YYHYCQD6.cjs.map +1 -0
- package/dist/{chunk-ZR72HRUJ.js → chunk-ZRXJX3JK.js} +4 -4
- package/dist/{chunk-HMRWH2HC.cjs → chunk-ZY3Z3F4X.cjs} +20 -20
- package/dist/{chunk-HMRWH2HC.cjs.map → chunk-ZY3Z3F4X.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +10 -10
- package/dist/components/case-studies/index.js +4 -4
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +24 -24
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +53 -53
- package/dist/components/index.js +15 -15
- package/dist/components/meeting-scheduler/index.cjs +31 -31
- package/dist/components/meeting-scheduler/index.js +3 -3
- package/dist/components/navigation/index.cjs +7 -7
- package/dist/components/navigation/index.js +6 -6
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/tickets/index.js +7 -7
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/index.cjs +8 -8
- package/dist/index.js +7 -7
- package/dist/utils/index.cjs +25 -3
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +25 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +88 -0
- package/src/utils/__tests__/list-url.test.ts +6 -0
- package/src/utils/list-url.ts +8 -0
- package/src/utils/source-icons.ts +27 -0
- package/dist/chunk-TVPJ5DIB.cjs.map +0 -1
- /package/dist/{chunk-KPO6TWEV.js.map → chunk-2WLW5HDU.js.map} +0 -0
- /package/dist/{chunk-GEP3O6NU.js.map → chunk-3WZLPCJ7.js.map} +0 -0
- /package/dist/{chunk-3ZHDEZQB.js.map → chunk-63PXZXCT.js.map} +0 -0
- /package/dist/{chunk-MPNCYET3.js.map → chunk-7N2NJPUK.js.map} +0 -0
- /package/dist/{chunk-J3D2WHWC.js.map → chunk-A57HKYLY.js.map} +0 -0
- /package/dist/{chunk-XH5QBMXD.js.map → chunk-BKMSI2AW.js.map} +0 -0
- /package/dist/{chunk-X7XO73M5.js.map → chunk-DYXVQ24Q.js.map} +0 -0
- /package/dist/{chunk-ZZHHKE2Q.js.map → chunk-MUNVPRT2.js.map} +0 -0
- /package/dist/{chunk-2645GIM2.js.map → chunk-NNMAMTA5.js.map} +0 -0
- /package/dist/{chunk-GXPOEAXL.js.map → chunk-PYEJL2UG.js.map} +0 -0
- /package/dist/{chunk-UG27ITVP.js.map → chunk-QLJMXCB5.js.map} +0 -0
- /package/dist/{chunk-YAZY24ZK.js.map → chunk-SEVD4AST.js.map} +0 -0
- /package/dist/{chunk-VUGQ3Z6E.js.map → chunk-T2JAJ7MR.js.map} +0 -0
- /package/dist/{chunk-R2J6XMP6.js.map → chunk-U4QRK4MX.js.map} +0 -0
- /package/dist/{chunk-MV3XJXPG.js.map → chunk-UPKN5CYH.js.map} +0 -0
- /package/dist/{chunk-ZR72HRUJ.js.map → chunk-ZRXJX3JK.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkY7ITKISQcjs = require('./chunk-Y7ITKISQ.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunkYYHYCQD6cjs = require('./chunk-YYHYCQD6.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -228,7 +228,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
|
|
231
|
-
var
|
|
231
|
+
var _chunkSK4IVCSIcjs = require('./chunk-SK4IVCSI.cjs');
|
|
232
232
|
|
|
233
233
|
|
|
234
234
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -343,7 +343,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
343
343
|
var useTheme = _nextthemes.useTheme;
|
|
344
344
|
function useThemeToggle() {
|
|
345
345
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
346
|
-
const mounted =
|
|
346
|
+
const mounted = _chunkYYHYCQD6cjs.useIsHydrated.call(void 0, );
|
|
347
347
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
348
348
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
349
349
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -620,7 +620,7 @@ function TruncateText({
|
|
|
620
620
|
const { ref, isTruncated } = _chunkYXWGSDK4cjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
621
621
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
622
622
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
623
|
-
|
|
623
|
+
_chunkYYHYCQD6cjs.FloatingTooltip,
|
|
624
624
|
{
|
|
625
625
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
626
626
|
side,
|
|
@@ -927,7 +927,7 @@ function AutocompleteInner(props, ref) {
|
|
|
927
927
|
),
|
|
928
928
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
929
929
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
930
|
-
|
|
930
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
931
931
|
{
|
|
932
932
|
variant: "outline",
|
|
933
933
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1141,7 +1141,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1141
1141
|
"aria-hidden": "true",
|
|
1142
1142
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1143
1143
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1144
|
-
|
|
1144
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
1145
1145
|
{
|
|
1146
1146
|
variant: "outline",
|
|
1147
1147
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2525,7 +2525,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2525
2525
|
const describedById = _react.useId.call(void 0, );
|
|
2526
2526
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2527
2527
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2528
|
-
|
|
2528
|
+
_chunkYYHYCQD6cjs.FloatingTooltip,
|
|
2529
2529
|
{
|
|
2530
2530
|
content: children,
|
|
2531
2531
|
side,
|
|
@@ -2619,7 +2619,7 @@ function Value2({ value, depth }) {
|
|
|
2619
2619
|
}
|
|
2620
2620
|
if (typeof value === "string") {
|
|
2621
2621
|
if (ISO_DATE.test(value)) {
|
|
2622
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2622
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkYYHYCQD6cjs.formatRelativeTime.call(void 0, value) });
|
|
2623
2623
|
}
|
|
2624
2624
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2625
2625
|
}
|
|
@@ -3014,7 +3014,7 @@ function CompactAssigneeDropdown({
|
|
|
3014
3014
|
value: o.value,
|
|
3015
3015
|
label: o.label,
|
|
3016
3016
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3017
|
-
|
|
3017
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3018
3018
|
{
|
|
3019
3019
|
src: o.imageUrl,
|
|
3020
3020
|
alt: o.label,
|
|
@@ -3049,7 +3049,7 @@ function CompactAssigneeDropdown({
|
|
|
3049
3049
|
className
|
|
3050
3050
|
),
|
|
3051
3051
|
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3052
|
-
|
|
3052
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3053
3053
|
{
|
|
3054
3054
|
src: currentAssignee.avatarSrc,
|
|
3055
3055
|
alt: currentAssignee.name,
|
|
@@ -3097,7 +3097,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3097
3097
|
const opt = option;
|
|
3098
3098
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
3099
3099
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3100
|
-
|
|
3100
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3101
3101
|
{
|
|
3102
3102
|
src: opt.imageUrl,
|
|
3103
3103
|
alt: opt.label,
|
|
@@ -3132,7 +3132,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3132
3132
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3133
3133
|
}
|
|
3134
3134
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3135
|
-
|
|
3135
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3136
3136
|
{
|
|
3137
3137
|
src: currentAssignee.avatarSrc,
|
|
3138
3138
|
alt: currentAssignee.name,
|
|
@@ -3157,7 +3157,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3157
3157
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3158
3158
|
}
|
|
3159
3159
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3160
|
-
|
|
3160
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3161
3161
|
{
|
|
3162
3162
|
src: currentAssignee.avatarSrc,
|
|
3163
3163
|
alt: currentAssignee.name,
|
|
@@ -3231,7 +3231,7 @@ function TextValue({ value }) {
|
|
|
3231
3231
|
}
|
|
3232
3232
|
) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
|
|
3233
3233
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3234
|
-
|
|
3234
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
3235
3235
|
{
|
|
3236
3236
|
src: imageSrc,
|
|
3237
3237
|
alt: text,
|
|
@@ -3251,7 +3251,7 @@ function RowValue({ value }) {
|
|
|
3251
3251
|
}
|
|
3252
3252
|
case "status": {
|
|
3253
3253
|
const { type: _type, ...props } = value;
|
|
3254
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3254
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TicketStatusTag, { ...props });
|
|
3255
3255
|
}
|
|
3256
3256
|
case "custom":
|
|
3257
3257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4162,7 +4162,7 @@ function TagsManager({
|
|
|
4162
4162
|
}
|
|
4163
4163
|
),
|
|
4164
4164
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4165
|
-
|
|
4165
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
4166
4166
|
{
|
|
4167
4167
|
label: tag.name,
|
|
4168
4168
|
variant: "outline",
|
|
@@ -4707,10 +4707,10 @@ function useConfirm() {
|
|
|
4707
4707
|
},
|
|
4708
4708
|
[]
|
|
4709
4709
|
);
|
|
4710
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4711
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4712
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4713
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4710
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4711
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: pending.title }) }),
|
|
4712
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4713
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: [
|
|
4714
4714
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4715
4715
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4716
4716
|
] })
|
|
@@ -4768,9 +4768,9 @@ function AdminFormModal({
|
|
|
4768
4768
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4769
4769
|
});
|
|
4770
4770
|
if (!isOpen) return null;
|
|
4771
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4772
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4773
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4771
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4772
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: [
|
|
4773
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: title }),
|
|
4774
4774
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4775
4775
|
] }),
|
|
4776
4776
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4794,7 +4794,7 @@ function AdminFormModal({
|
|
|
4794
4794
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4795
4795
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4796
4796
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4797
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4797
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4798
4798
|
"div",
|
|
4799
4799
|
{
|
|
4800
4800
|
"aria-busy": "true",
|
|
@@ -4815,12 +4815,12 @@ function AdminFormModal({
|
|
|
4815
4815
|
]
|
|
4816
4816
|
}
|
|
4817
4817
|
) })
|
|
4818
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4818
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalContent, { className: contentClassName, children }),
|
|
4819
4819
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4820
4820
|
]
|
|
4821
4821
|
}
|
|
4822
4822
|
),
|
|
4823
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4823
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4824
4824
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4825
4825
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4826
4826
|
footerStatus,
|
|
@@ -6918,7 +6918,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6918
6918
|
};
|
|
6919
6919
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6920
6920
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6921
|
-
|
|
6921
|
+
_chunkYYHYCQD6cjs.Video,
|
|
6922
6922
|
{
|
|
6923
6923
|
url: item.src,
|
|
6924
6924
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7350,7 +7350,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
7350
7350
|
width: m.width,
|
|
7351
7351
|
height: m.height
|
|
7352
7352
|
}));
|
|
7353
|
-
const formatNumber2 =
|
|
7353
|
+
const formatNumber2 = _chunkSK4IVCSIcjs.formatLargeNumber;
|
|
7354
7354
|
const truncateText = (text, maxLength = 600) => {
|
|
7355
7355
|
if (text.length <= maxLength) return text;
|
|
7356
7356
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7642,7 +7642,7 @@ function buildRichEmbedOverrides({
|
|
|
7642
7642
|
ogEndpointPath,
|
|
7643
7643
|
textSizes
|
|
7644
7644
|
}) {
|
|
7645
|
-
const standard =
|
|
7645
|
+
const standard = _chunkYYHYCQD6cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7646
7646
|
return {
|
|
7647
7647
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7648
7648
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7652,7 +7652,7 @@ function buildRichEmbedOverrides({
|
|
|
7652
7652
|
const language = match ? match[1] : "";
|
|
7653
7653
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7654
7654
|
if (language === "youtube-embed") {
|
|
7655
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7655
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "youtube", url: fenceText() });
|
|
7656
7656
|
}
|
|
7657
7657
|
if (language === "reddit-embed") {
|
|
7658
7658
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7693,7 +7693,7 @@ function buildRichEmbedOverrides({
|
|
|
7693
7693
|
"data-figma-url": figmaUrl
|
|
7694
7694
|
} = divProps;
|
|
7695
7695
|
if (className === "youtube-embed" && videoId) {
|
|
7696
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7696
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "youtube", url: videoId });
|
|
7697
7697
|
}
|
|
7698
7698
|
if (className === "reddit-embed" && postUrl) {
|
|
7699
7699
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7778,14 +7778,14 @@ function buildRichEmbedOverrides({
|
|
|
7778
7778
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7779
7779
|
// elsewhere). Guard against empty `![]()`.
|
|
7780
7780
|
img: ({ src, alt }) => {
|
|
7781
|
-
if (!
|
|
7781
|
+
if (!_chunkYYHYCQD6cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7782
7782
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7783
7783
|
},
|
|
7784
7784
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7785
7785
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7786
7786
|
video: ({ src, poster, className }) => {
|
|
7787
|
-
if (!
|
|
7788
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7787
|
+
if (!_chunkYYHYCQD6cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7788
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7789
7789
|
}
|
|
7790
7790
|
};
|
|
7791
7791
|
}
|
|
@@ -8026,13 +8026,13 @@ var RichMarkdownInner = ({
|
|
|
8026
8026
|
},
|
|
8027
8027
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8028
8028
|
);
|
|
8029
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8029
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkYYHYCQD6cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8030
8030
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8031
8031
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8032
8032
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8033
8033
|
);
|
|
8034
8034
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8035
|
-
|
|
8035
|
+
_chunkYYHYCQD6cjs.MarkdownEngine,
|
|
8036
8036
|
{
|
|
8037
8037
|
content,
|
|
8038
8038
|
className,
|
|
@@ -8054,7 +8054,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8054
8054
|
className = "",
|
|
8055
8055
|
sectionIds,
|
|
8056
8056
|
onInternalLinkClick,
|
|
8057
|
-
brokenLinks =
|
|
8057
|
+
brokenLinks = _chunkYYHYCQD6cjs.NO_BROKEN_LINKS,
|
|
8058
8058
|
currentPath,
|
|
8059
8059
|
resolveSource = "openframe-docs",
|
|
8060
8060
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8627,7 +8627,7 @@ function FilterModal({
|
|
|
8627
8627
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.defaultSort]), () => ( "desc"));
|
|
8628
8628
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _163 => _163.sort]), () => ( dateDefaultSort)));
|
|
8629
8629
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _164 => _164.range]));
|
|
8630
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8630
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkYYHYCQD6cjs.useScrollFade.call(void 0, );
|
|
8631
8631
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8632
8632
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8633
8633
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8672,10 +8672,10 @@ function FilterModal({
|
|
|
8672
8672
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8673
8673
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8674
8674
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8675
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8676
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8675
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen, onClose, className: _chunk23V5BSHDcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8676
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: title }) }),
|
|
8677
8677
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8678
|
-
|
|
8678
|
+
_chunkYYHYCQD6cjs.ModalContent,
|
|
8679
8679
|
{
|
|
8680
8680
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
8681
8681
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8767,12 +8767,12 @@ function FilterModal({
|
|
|
8767
8767
|
] })
|
|
8768
8768
|
}
|
|
8769
8769
|
),
|
|
8770
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8771
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8771
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8772
8772
|
] })
|
|
8773
8773
|
}
|
|
8774
8774
|
),
|
|
8775
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8775
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: [
|
|
8776
8776
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8777
8777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8778
8778
|
] })
|
|
@@ -8816,9 +8816,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8816
8816
|
function renderActionButton(action, opts = {}) {
|
|
8817
8817
|
const button = renderRawActionButton(action, opts);
|
|
8818
8818
|
if (!action.tooltip) return button;
|
|
8819
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8820
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8821
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8819
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { children: [
|
|
8820
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8821
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { children: action.tooltip })
|
|
8822
8822
|
] }) });
|
|
8823
8823
|
}
|
|
8824
8824
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8842,7 +8842,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8842
8842
|
}
|
|
8843
8843
|
if (action.submenu && action.submenu.length > 0) {
|
|
8844
8844
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8845
|
-
|
|
8845
|
+
_chunkYYHYCQD6cjs.ActionsMenuDropdown,
|
|
8846
8846
|
{
|
|
8847
8847
|
groups: [{ items: action.submenu }],
|
|
8848
8848
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8977,10 +8977,10 @@ function IconButtonsVariant({
|
|
|
8977
8977
|
selector,
|
|
8978
8978
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8979
8979
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8980
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8980
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8981
8981
|
] })
|
|
8982
8982
|
] }),
|
|
8983
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8984
8984
|
] });
|
|
8985
8985
|
}
|
|
8986
8986
|
function PrimaryButtonsVariant({
|
|
@@ -9018,7 +9018,7 @@ function MenuPrimaryVariant({
|
|
|
9018
9018
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9019
9019
|
selector,
|
|
9020
9020
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9021
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9021
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9022
9022
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9023
9023
|
] })
|
|
9024
9024
|
] }),
|
|
@@ -9026,7 +9026,7 @@ function MenuPrimaryVariant({
|
|
|
9026
9026
|
// The selector rides into the menu as its header row: on mobile the
|
|
9027
9027
|
// title row has no room for it, and hiding it entirely (what
|
|
9028
9028
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9030
9030
|
) : null })
|
|
9031
9031
|
] });
|
|
9032
9032
|
}
|
|
@@ -9321,7 +9321,7 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
|
9321
9321
|
const [failedSrc, setFailedSrc] = _react2.default.useState(null);
|
|
9322
9322
|
const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
|
|
9323
9323
|
const showFallback = imageFailed || !resolvedSrc;
|
|
9324
|
-
const initials =
|
|
9324
|
+
const initials = _chunkSK4IVCSIcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
|
|
9325
9325
|
if (showFallback) {
|
|
9326
9326
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9327
9327
|
"div",
|
|
@@ -9432,7 +9432,7 @@ function TitleBlock({
|
|
|
9432
9432
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9433
9433
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9434
9434
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9435
|
-
|
|
9435
|
+
_chunkYYHYCQD6cjs.FloatingTooltip,
|
|
9436
9436
|
{
|
|
9437
9437
|
content: title,
|
|
9438
9438
|
side: "bottom",
|
|
@@ -9449,12 +9449,12 @@ function TitleBlock({
|
|
|
9449
9449
|
}
|
|
9450
9450
|
),
|
|
9451
9451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9452
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9452
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9453
9453
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9454
9454
|
empty `p` collapses to zero height (its only content would be
|
|
9455
9455
|
collapsible whitespace), which is exactly the shift that mode
|
|
9456
9456
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9458
9458
|
"p",
|
|
9459
9459
|
{
|
|
9460
9460
|
ref: subtitleRef,
|
|
@@ -9465,7 +9465,7 @@ function TitleBlock({
|
|
|
9465
9465
|
) })
|
|
9466
9466
|
] })
|
|
9467
9467
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9468
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9468
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9469
9469
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9470
9470
|
] }) : (
|
|
9471
9471
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10880,7 +10880,7 @@ function lastPathSegment(url) {
|
|
|
10880
10880
|
function makeComposeContentUrl(opts) {
|
|
10881
10881
|
const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
|
|
10882
10882
|
return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
|
|
10883
|
-
const type =
|
|
10883
|
+
const type = _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, rawType);
|
|
10884
10884
|
const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
|
|
10885
10885
|
if (override) return { ...override(identifier), hostOverride: true };
|
|
10886
10886
|
const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
|
|
@@ -11067,7 +11067,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11067
11067
|
if (heading.level > opts.maxLevel) continue;
|
|
11068
11068
|
let title = heading.text;
|
|
11069
11069
|
if (opts.stripFormattingMarkers) {
|
|
11070
|
-
title =
|
|
11070
|
+
title = _chunkYYHYCQD6cjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11071
11071
|
}
|
|
11072
11072
|
const baseId = _chunkYXWGSDK4cjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkYXWGSDK4cjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11073
11073
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11623,7 +11623,7 @@ function DashboardInfoCard({
|
|
|
11623
11623
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11624
11624
|
if (asTag) {
|
|
11625
11625
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11626
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11626
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11627
11627
|
}
|
|
11628
11628
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11629
11629
|
"(",
|
|
@@ -11677,7 +11677,7 @@ function DashboardInfoCard({
|
|
|
11677
11677
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
11678
11678
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11679
11679
|
renderPercentage(),
|
|
11680
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11680
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
11681
11681
|
] })
|
|
11682
11682
|
] }),
|
|
11683
11683
|
renderProgress()
|
|
@@ -11860,7 +11860,7 @@ function DeviceCard({
|
|
|
11860
11860
|
] }),
|
|
11861
11861
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11862
11862
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11863
|
-
|
|
11863
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
11864
11864
|
{
|
|
11865
11865
|
variant: statusTag.variant,
|
|
11866
11866
|
icon: statusTag.icon,
|
|
@@ -11874,7 +11874,7 @@ function DeviceCard({
|
|
|
11874
11874
|
formatLastSeen(device.lastSeen)
|
|
11875
11875
|
] })
|
|
11876
11876
|
] }),
|
|
11877
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11877
|
+
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11878
11878
|
]
|
|
11879
11879
|
}
|
|
11880
11880
|
);
|
|
@@ -11935,7 +11935,7 @@ function FeatureCardGrid({
|
|
|
11935
11935
|
if (allCardsHaveNoBorders) {
|
|
11936
11936
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
11937
11937
|
}
|
|
11938
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11938
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
11939
11939
|
const startIndex = rowIndex * itemsPerRow;
|
|
11940
11940
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
11941
11941
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -11965,7 +11965,7 @@ function FeatureCardGrid({
|
|
|
11965
11965
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
11966
11966
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
11967
11967
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11968
|
-
|
|
11968
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
11969
11969
|
{
|
|
11970
11970
|
text: item.badge.text,
|
|
11971
11971
|
variant: item.badge.variant || "card",
|
|
@@ -11974,7 +11974,7 @@ function FeatureCardGrid({
|
|
|
11974
11974
|
)
|
|
11975
11975
|
] }),
|
|
11976
11976
|
!item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11977
|
-
|
|
11977
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
11978
11978
|
{
|
|
11979
11979
|
text: item.badge.text,
|
|
11980
11980
|
variant: item.badge.variant || "card",
|
|
@@ -12022,7 +12022,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12022
12022
|
|
|
12023
12023
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12024
12024
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12025
|
-
|
|
12025
|
+
_chunkYYHYCQD6cjs.FloatingTooltip,
|
|
12026
12026
|
{
|
|
12027
12027
|
as: "span",
|
|
12028
12028
|
side: "top",
|
|
@@ -12206,7 +12206,7 @@ function DropdownButton({
|
|
|
12206
12206
|
)
|
|
12207
12207
|
);
|
|
12208
12208
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12209
|
-
|
|
12209
|
+
_chunkYYHYCQD6cjs.ActionsMenuDropdown,
|
|
12210
12210
|
{
|
|
12211
12211
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12212
12212
|
open,
|
|
@@ -12444,7 +12444,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12444
12444
|
),
|
|
12445
12445
|
children: [
|
|
12446
12446
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12447
|
-
|
|
12447
|
+
_chunkYYHYCQD6cjs.FloatingTooltip,
|
|
12448
12448
|
{
|
|
12449
12449
|
content: row.value,
|
|
12450
12450
|
side: "top",
|
|
@@ -12570,9 +12570,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12570
12570
|
return next;
|
|
12571
12571
|
});
|
|
12572
12572
|
};
|
|
12573
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12573
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12574
12574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12575
|
-
|
|
12575
|
+
_chunkYYHYCQD6cjs.TooltipTrigger,
|
|
12576
12576
|
{
|
|
12577
12577
|
asChild: true,
|
|
12578
12578
|
onPointerDown: (e) => {
|
|
@@ -12590,7 +12590,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12590
12590
|
children
|
|
12591
12591
|
}
|
|
12592
12592
|
),
|
|
12593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12594
12594
|
] }) });
|
|
12595
12595
|
}
|
|
12596
12596
|
|
|
@@ -13605,9 +13605,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13605
13605
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13606
13606
|
}
|
|
13607
13607
|
}, []);
|
|
13608
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13609
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13610
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13608
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
|
|
13610
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13611
13611
|
] }) });
|
|
13612
13612
|
}
|
|
13613
13613
|
|
|
@@ -13660,9 +13660,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13660
13660
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13661
13661
|
}
|
|
13662
13662
|
}, []);
|
|
13663
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13663
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13664
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
13665
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13666
13666
|
] }) });
|
|
13667
13667
|
}
|
|
13668
13668
|
|
|
@@ -15022,7 +15022,7 @@ function SearchInput({
|
|
|
15022
15022
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
|
|
15023
15023
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
15024
15024
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15025
|
-
|
|
15025
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
15026
15026
|
{
|
|
15027
15027
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15028
15028
|
label: chip.label,
|
|
@@ -15136,7 +15136,7 @@ function SearchInput({
|
|
|
15136
15136
|
}
|
|
15137
15137
|
),
|
|
15138
15138
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15139
|
-
|
|
15139
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
15140
15140
|
{
|
|
15141
15141
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15142
15142
|
label: chip.label,
|
|
@@ -15349,7 +15349,7 @@ function TagSearchInput({
|
|
|
15349
15349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
|
|
15350
15350
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
15351
15351
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15352
|
-
|
|
15352
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
15353
15353
|
{
|
|
15354
15354
|
variant: "outline",
|
|
15355
15355
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15437,7 +15437,7 @@ function TagSearchInput({
|
|
|
15437
15437
|
"aria-hidden": "true",
|
|
15438
15438
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15439
15439
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15440
|
-
|
|
15440
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
15441
15441
|
{
|
|
15442
15442
|
variant: "outline",
|
|
15443
15443
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16326,20 +16326,20 @@ function ColorPresetSelect({
|
|
|
16326
16326
|
...presets.map((p) => ({
|
|
16327
16327
|
id: p.key,
|
|
16328
16328
|
label: p.label,
|
|
16329
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16329
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: p.color }),
|
|
16330
16330
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16331
16331
|
})),
|
|
16332
16332
|
{
|
|
16333
16333
|
id: CUSTOM_PRESET_KEY,
|
|
16334
16334
|
label: "Custom",
|
|
16335
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16335
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16336
16336
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16337
16337
|
}
|
|
16338
16338
|
]
|
|
16339
16339
|
}
|
|
16340
16340
|
];
|
|
16341
16341
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16342
|
-
|
|
16342
|
+
_chunkYYHYCQD6cjs.ActionsMenuDropdown,
|
|
16343
16343
|
{
|
|
16344
16344
|
groups,
|
|
16345
16345
|
align: "start",
|
|
@@ -16349,7 +16349,7 @@ function ColorPresetSelect({
|
|
|
16349
16349
|
{
|
|
16350
16350
|
disabled,
|
|
16351
16351
|
"aria-label": `Color: ${displayLabel}`,
|
|
16352
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16352
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: displayColor }),
|
|
16353
16353
|
selectedLabel: displayLabel,
|
|
16354
16354
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16355
16355
|
className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
|
|
@@ -16370,7 +16370,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16370
16370
|
}
|
|
16371
16371
|
const commit = () => {
|
|
16372
16372
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16373
|
-
if (
|
|
16373
|
+
if (_chunkYYHYCQD6cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16374
16374
|
else setDraft(value);
|
|
16375
16375
|
};
|
|
16376
16376
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16434,12 +16434,12 @@ function ChannelInput({
|
|
|
16434
16434
|
);
|
|
16435
16435
|
}
|
|
16436
16436
|
function RgbInputs({ value, onChange }) {
|
|
16437
|
-
const rgb = _nullishCoalesce(
|
|
16437
|
+
const rgb = _nullishCoalesce(_chunkYYHYCQD6cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16438
16438
|
const update = (next) => {
|
|
16439
16439
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16440
16440
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16441
16441
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16442
|
-
onChange(
|
|
16442
|
+
onChange(_chunkYYHYCQD6cjs.rgbToHex.call(void 0, r, g, b));
|
|
16443
16443
|
};
|
|
16444
16444
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16445
16445
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16448,14 +16448,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16448
16448
|
] });
|
|
16449
16449
|
}
|
|
16450
16450
|
function HslInputs({ value, onChange }) {
|
|
16451
|
-
const rgb = _nullishCoalesce(
|
|
16452
|
-
const hsl =
|
|
16451
|
+
const rgb = _nullishCoalesce(_chunkYYHYCQD6cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16452
|
+
const hsl = _chunkYYHYCQD6cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16453
16453
|
const update = (next) => {
|
|
16454
16454
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16455
16455
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16456
16456
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16457
|
-
const out =
|
|
16458
|
-
onChange(
|
|
16457
|
+
const out = _chunkYYHYCQD6cjs.hslToRgb.call(void 0, h, s, l);
|
|
16458
|
+
onChange(_chunkYYHYCQD6cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16459
16459
|
};
|
|
16460
16460
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16461
16461
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16481,7 +16481,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16481
16481
|
{
|
|
16482
16482
|
disabled,
|
|
16483
16483
|
"aria-label": "Pick custom color",
|
|
16484
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16484
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: value }),
|
|
16485
16485
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16486
16486
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16487
16487
|
className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
|
|
@@ -16497,7 +16497,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16497
16497
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16498
16498
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16499
16499
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16500
|
-
|
|
16500
|
+
_chunkYYHYCQD6cjs.ActionsMenuDropdown,
|
|
16501
16501
|
{
|
|
16502
16502
|
groups: formatGroups,
|
|
16503
16503
|
align: "start",
|
|
@@ -16554,7 +16554,7 @@ function TicketStatusConfigRow({
|
|
|
16554
16554
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16555
16555
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16556
16556
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16557
|
-
|
|
16557
|
+
_chunkYYHYCQD6cjs.TicketStatusTag,
|
|
16558
16558
|
{
|
|
16559
16559
|
status: statusKey,
|
|
16560
16560
|
label: name || " ",
|
|
@@ -16706,7 +16706,7 @@ function formatTestRunDuration(ms) {
|
|
|
16706
16706
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16707
16707
|
var SKELETON_COLUMNS = 6;
|
|
16708
16708
|
function TestResultsSkeleton() {
|
|
16709
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16709
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16710
16710
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
|
|
16711
16711
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
|
|
16712
16712
|
] }) });
|
|
@@ -16741,7 +16741,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16741
16741
|
if (loading) {
|
|
16742
16742
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16743
16743
|
}
|
|
16744
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16744
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
|
|
16745
16745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16746
16746
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16747
16747
|
] }) }) });
|
|
@@ -16801,7 +16801,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16801
16801
|
function TestRunStatusStat({ status, className }) {
|
|
16802
16802
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16803
16803
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
16804
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16804
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
|
|
16805
16805
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16806
16806
|
] });
|
|
16807
16807
|
}
|
|
@@ -16844,7 +16844,7 @@ function useTestRunState(campaign) {
|
|
|
16844
16844
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16845
16845
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16846
16846
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16847
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16847
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkYYHYCQD6cjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16848
16848
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16849
16849
|
const displayRows = _react.useMemo.call(void 0,
|
|
16850
16850
|
() => campaign.results.map(
|
|
@@ -16883,7 +16883,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
16883
16883
|
),
|
|
16884
16884
|
children: [
|
|
16885
16885
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16886
|
-
|
|
16886
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
16887
16887
|
{
|
|
16888
16888
|
src: attachment.thumbnailSrc,
|
|
16889
16889
|
alt: attachment.fileName,
|
|
@@ -16976,7 +16976,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
16976
16976
|
};
|
|
16977
16977
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
|
|
16978
16978
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16979
|
-
|
|
16979
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
16980
16980
|
{
|
|
16981
16981
|
src: note.authorAvatar,
|
|
16982
16982
|
alt: note.authorName,
|
|
@@ -17152,7 +17152,7 @@ function TicketInfoSection({
|
|
|
17152
17152
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-card px-4 py-3 lg:grid-cols-[1fr_1fr_1fr_auto]", children: [
|
|
17153
17153
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
17154
17154
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17155
|
-
|
|
17155
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
17156
17156
|
{
|
|
17157
17157
|
src: _optionalChain([organization, 'optionalAccess', _388 => _388.imageSrc]),
|
|
17158
17158
|
alt: _optionalChain([organization, 'optionalAccess', _389 => _389.name]),
|
|
@@ -17182,7 +17182,7 @@ function TicketInfoSection({
|
|
|
17182
17182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _392 => _392.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _393 => _393.icon]), onClick: _optionalChain([device, 'optionalAccess', _394 => _394.onClick]) }),
|
|
17183
17183
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
17184
17184
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17185
|
-
|
|
17185
|
+
_chunkYYHYCQD6cjs.TicketStatusTag,
|
|
17186
17186
|
{
|
|
17187
17187
|
status: _nullishCoalesce(status, () => ( "")),
|
|
17188
17188
|
label: statusLabel,
|
|
@@ -17221,9 +17221,9 @@ function TicketInfoSection({
|
|
|
17221
17221
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17222
17222
|
createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
|
|
17223
17223
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17224
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17224
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.SimpleMarkdownRenderer, { content: description }),
|
|
17225
17225
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17226
|
-
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17226
|
+
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17227
17227
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17228
17228
|
TicketNotesSection,
|
|
17229
17229
|
{
|
|
@@ -17246,7 +17246,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17246
17246
|
const { label, color } = option;
|
|
17247
17247
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17248
17248
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17249
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17249
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color }),
|
|
17250
17250
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17251
17251
|
] }),
|
|
17252
17252
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17256,7 +17256,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
17256
17256
|
const { label, imageUrl } = option;
|
|
17257
17257
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17258
17258
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17259
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17259
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
17260
17260
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17261
17261
|
] }),
|
|
17262
17262
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17291,9 +17291,9 @@ function TakeOverTicketModal({
|
|
|
17291
17291
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17292
17292
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17293
17293
|
};
|
|
17294
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17294
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17295
17295
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17296
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17296
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17297
17297
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17298
17298
|
"The ticket ",
|
|
17299
17299
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17308,7 +17308,7 @@ function TakeOverTicketModal({
|
|
|
17308
17308
|
value: selectedStatusId,
|
|
17309
17309
|
onChange: setStatusId,
|
|
17310
17310
|
placeholder: "Select Status",
|
|
17311
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17311
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17312
17312
|
renderOption: renderTicketStatusOption
|
|
17313
17313
|
}
|
|
17314
17314
|
) }),
|
|
@@ -17322,7 +17322,7 @@ function TakeOverTicketModal({
|
|
|
17322
17322
|
placeholder: "Select Technician",
|
|
17323
17323
|
loading: assigneesLoading,
|
|
17324
17324
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17325
|
-
|
|
17325
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
17326
17326
|
{
|
|
17327
17327
|
src: selectedAssignee.imageUrl,
|
|
17328
17328
|
alt: selectedAssignee.label,
|
|
@@ -17335,7 +17335,7 @@ function TakeOverTicketModal({
|
|
|
17335
17335
|
}
|
|
17336
17336
|
) })
|
|
17337
17337
|
] }),
|
|
17338
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17338
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: [
|
|
17339
17339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17340
17340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17341
17341
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17394,9 +17394,9 @@ function ReopenTicketModal({
|
|
|
17394
17394
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17395
17395
|
});
|
|
17396
17396
|
};
|
|
17397
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17397
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17398
17398
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17399
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17399
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17400
17400
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17401
17401
|
"The ticket ",
|
|
17402
17402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17411,7 +17411,7 @@ function ReopenTicketModal({
|
|
|
17411
17411
|
value: selectedStatusId,
|
|
17412
17412
|
onChange: setStatusId,
|
|
17413
17413
|
placeholder: "Select Status",
|
|
17414
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17414
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17415
17415
|
renderOption: renderTicketStatusOption
|
|
17416
17416
|
}
|
|
17417
17417
|
) }),
|
|
@@ -17425,7 +17425,7 @@ function ReopenTicketModal({
|
|
|
17425
17425
|
placeholder: "Select Technician",
|
|
17426
17426
|
loading: assigneesLoading,
|
|
17427
17427
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17428
|
-
|
|
17428
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
17429
17429
|
{
|
|
17430
17430
|
src: selectedAssignee.imageUrl,
|
|
17431
17431
|
alt: selectedAssignee.label,
|
|
@@ -17449,7 +17449,7 @@ function ReopenTicketModal({
|
|
|
17449
17449
|
disabled: isPending
|
|
17450
17450
|
}
|
|
17451
17451
|
) }),
|
|
17452
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17452
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: [
|
|
17453
17453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17454
17454
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17455
17455
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17497,9 +17497,9 @@ function ReopenTicketRequestModal({
|
|
|
17497
17497
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17498
17498
|
});
|
|
17499
17499
|
};
|
|
17500
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17500
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17501
17501
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17503
17503
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
|
|
17504
17504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17505
17505
|
Textarea,
|
|
@@ -17523,7 +17523,7 @@ function ReopenTicketRequestModal({
|
|
|
17523
17523
|
disabled: isPending
|
|
17524
17524
|
}
|
|
17525
17525
|
),
|
|
17526
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17526
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.ModalFooter, { children: [
|
|
17527
17527
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17528
17528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17529
17529
|
] })
|
|
@@ -19250,7 +19250,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
19250
19250
|
const label = (tag.name || "").toUpperCase();
|
|
19251
19251
|
if (basePath && tag.slug) {
|
|
19252
19252
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19253
|
-
|
|
19253
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
19254
19254
|
{
|
|
19255
19255
|
text: label,
|
|
19256
19256
|
variant: "card",
|
|
@@ -19258,9 +19258,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
19258
19258
|
}
|
|
19259
19259
|
) }, key);
|
|
19260
19260
|
}
|
|
19261
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19261
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
|
|
19262
19262
|
}),
|
|
19263
|
-
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19263
|
+
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
|
|
19264
19264
|
] });
|
|
19265
19265
|
}
|
|
19266
19266
|
|
|
@@ -19337,7 +19337,7 @@ var SectionButton = ({
|
|
|
19337
19337
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
19338
19338
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, titleClasses, "whitespace-normal break-words text-h4"), children: section.title }),
|
|
19339
19339
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19340
|
-
|
|
19340
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
19341
19341
|
{
|
|
19342
19342
|
text: section.badge.text,
|
|
19343
19343
|
variant: section.badge.variant || "button",
|
|
@@ -19356,7 +19356,7 @@ var SectionButton = ({
|
|
|
19356
19356
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
19357
19357
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
19358
19358
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19359
|
-
|
|
19359
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
19360
19360
|
{
|
|
19361
19361
|
text: section.badge.text,
|
|
19362
19362
|
variant: section.badge.variant || "button",
|
|
@@ -19644,7 +19644,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19644
19644
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19645
19645
|
title: config.title,
|
|
19646
19646
|
loading: "eager",
|
|
19647
|
-
...
|
|
19647
|
+
..._chunkYYHYCQD6cjs.fetchPriorityProp.call(void 0, "high")
|
|
19648
19648
|
},
|
|
19649
19649
|
iframeKey
|
|
19650
19650
|
),
|
|
@@ -20470,7 +20470,7 @@ function MediaGalleryManager({
|
|
|
20470
20470
|
(mediaItem, index) => {
|
|
20471
20471
|
const isDeleting = deletingIndex === index;
|
|
20472
20472
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20473
|
-
|
|
20473
|
+
_chunkSK4IVCSIcjs.Card,
|
|
20474
20474
|
{
|
|
20475
20475
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
20476
20476
|
draggable: true,
|
|
@@ -20491,10 +20491,10 @@ function MediaGalleryManager({
|
|
|
20491
20491
|
children: isDeleting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
|
|
20492
20492
|
}
|
|
20493
20493
|
) }),
|
|
20494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children:
|
|
20494
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkSK4IVCSIcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
20495
20495
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20496
20496
|
// fit="cover" crops to the aspect-video cell.
|
|
20497
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20497
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20498
20498
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20499
20499
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20500
20500
|
{
|
|
@@ -20507,7 +20507,7 @@ function MediaGalleryManager({
|
|
|
20507
20507
|
) }),
|
|
20508
20508
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
|
|
20509
20509
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
|
|
20510
|
-
|
|
20510
|
+
_chunkSK4IVCSIcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
|
|
20511
20511
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "capitalize text-ods-text-primary text-h6", children: mediaItem.media_type })
|
|
20512
20512
|
] }),
|
|
20513
20513
|
mediaItem.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: mediaItem.title })
|
|
@@ -22745,9 +22745,9 @@ function PushButtonSelector({
|
|
|
22745
22745
|
option.id
|
|
22746
22746
|
);
|
|
22747
22747
|
if (option.disabled && option.disabledReason) {
|
|
22748
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22750
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22748
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { children: [
|
|
22749
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22750
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22751
22751
|
] }, option.id);
|
|
22752
22752
|
}
|
|
22753
22753
|
return optionEl;
|
|
@@ -22792,7 +22792,7 @@ function PushButtonSelector({
|
|
|
22792
22792
|
lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
|
|
22793
22793
|
] }) : null
|
|
22794
22794
|
] });
|
|
22795
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22795
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22796
22796
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22797
22797
|
searchInput,
|
|
22798
22798
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22962,10 +22962,10 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22962
22962
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
|
|
22963
22963
|
}
|
|
22964
22964
|
) }),
|
|
22965
|
-
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children:
|
|
22965
|
+
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkSK4IVCSIcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
22966
22966
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22967
22967
|
// fit="cover" crops to the aspect-video cell.
|
|
22968
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22968
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22969
22969
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22970
22970
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22971
22971
|
{
|
|
@@ -23098,7 +23098,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
23098
23098
|
}
|
|
23099
23099
|
)
|
|
23100
23100
|
] }),
|
|
23101
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23101
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
23102
23102
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
23103
23103
|
]
|
|
23104
23104
|
}
|
|
@@ -23686,7 +23686,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23686
23686
|
className: _chunk23V5BSHDcjs.cn.call(void 0, modeClassName, className),
|
|
23687
23687
|
style: customStyle,
|
|
23688
23688
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
|
|
23689
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23689
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23690
23690
|
children
|
|
23691
23691
|
}
|
|
23692
23692
|
);
|
|
@@ -23956,11 +23956,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
23956
23956
|
|
|
23957
23957
|
function VideoBitesDisplay({
|
|
23958
23958
|
bites,
|
|
23959
|
-
title =
|
|
23959
|
+
title = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
23960
23960
|
filterPublished = true,
|
|
23961
23961
|
showTitle = true
|
|
23962
23962
|
}) {
|
|
23963
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23963
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23964
23964
|
}
|
|
23965
23965
|
|
|
23966
23966
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24029,7 +24029,7 @@ function WalkthroughVideo({
|
|
|
24029
24029
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24030
24030
|
};
|
|
24031
24031
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
24032
|
-
const hydrated =
|
|
24032
|
+
const hydrated = _chunkYYHYCQD6cjs.useIsHydrated.call(void 0, );
|
|
24033
24033
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24034
24034
|
if (!hydrated) return false;
|
|
24035
24035
|
try {
|
|
@@ -24426,7 +24426,7 @@ function WalkthroughVideo({
|
|
|
24426
24426
|
},
|
|
24427
24427
|
children: [
|
|
24428
24428
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24429
|
-
|
|
24429
|
+
_chunkYYHYCQD6cjs.VideoHoverPreviewSurface,
|
|
24430
24430
|
{
|
|
24431
24431
|
url: video.mainVideoUrl || "",
|
|
24432
24432
|
posterUrl: video.posterUrl,
|
|
@@ -24449,7 +24449,7 @@ function WalkthroughVideo({
|
|
|
24449
24449
|
`card-${embedUrlKey}`
|
|
24450
24450
|
) }),
|
|
24451
24451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24452
|
-
|
|
24452
|
+
_chunkYYHYCQD6cjs.CardHitLayer,
|
|
24453
24453
|
{
|
|
24454
24454
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24455
24455
|
onPointerDown: pausePreviewNow,
|
|
@@ -24458,7 +24458,7 @@ function WalkthroughVideo({
|
|
|
24458
24458
|
}
|
|
24459
24459
|
),
|
|
24460
24460
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
|
|
24461
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24461
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24462
24462
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24463
24463
|
] }),
|
|
24464
24464
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24471,7 +24471,7 @@ function WalkthroughVideo({
|
|
|
24471
24471
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24472
24472
|
onClick: onUnmuteOrPlay,
|
|
24473
24473
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24474
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24474
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.VideoUnmuteGlyph, {})
|
|
24475
24475
|
}
|
|
24476
24476
|
),
|
|
24477
24477
|
showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -24564,7 +24564,7 @@ function WalkthroughVideo({
|
|
|
24564
24564
|
children: [
|
|
24565
24565
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24566
24566
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24567
|
-
|
|
24567
|
+
_chunkYYHYCQD6cjs.Video,
|
|
24568
24568
|
{
|
|
24569
24569
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24570
24570
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24615,7 +24615,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24615
24615
|
var _reactquery = require('@tanstack/react-query');
|
|
24616
24616
|
function useWalkthroughVideo(opts) {
|
|
24617
24617
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24618
|
-
const captions =
|
|
24618
|
+
const captions = _chunkYYHYCQD6cjs.useCaptions.call(void 0, );
|
|
24619
24619
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24620
24620
|
queryKey: ["walkthrough-video", endpoint],
|
|
24621
24621
|
enabled,
|
|
@@ -24813,7 +24813,7 @@ function VideoSourceSelector({
|
|
|
24813
24813
|
}
|
|
24814
24814
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24815
24815
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24816
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24816
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24817
24817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24818
24818
|
"button",
|
|
24819
24819
|
{
|
|
@@ -25337,7 +25337,7 @@ function HighlightVideoSection({
|
|
|
25337
25337
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25338
25338
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25339
25339
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25340
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25340
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25341
25341
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25342
25342
|
"button",
|
|
25343
25343
|
{
|
|
@@ -26073,7 +26073,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
26073
26073
|
] });
|
|
26074
26074
|
};
|
|
26075
26075
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
26076
|
-
const { innerRef, containerStyle } =
|
|
26076
|
+
const { innerRef, containerStyle } = _chunkYYHYCQD6cjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
26077
26077
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
26078
26078
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26079
26079
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26241,7 +26241,7 @@ function WaitlistForm({
|
|
|
26241
26241
|
const { toast } = _chunkFKXDDJEQcjs.useToast.call(void 0, );
|
|
26242
26242
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkFKXDDJEQcjs.useHumanitySignals.call(void 0, );
|
|
26243
26243
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26244
|
-
const isClient =
|
|
26244
|
+
const isClient = _chunkYYHYCQD6cjs.useIsHydrated.call(void 0, );
|
|
26245
26245
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26246
26246
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26247
26247
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -27041,7 +27041,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27041
27041
|
"data-state": open ? "open" : "closed",
|
|
27042
27042
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
27043
27043
|
"absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
27044
|
-
|
|
27044
|
+
_chunkYYHYCQD6cjs.OVERLAY_BACKDROP_CLASS,
|
|
27045
27045
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
27046
27046
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
27047
27047
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -27117,11 +27117,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27117
27117
|
}
|
|
27118
27118
|
);
|
|
27119
27119
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
27120
|
-
var AppLayoutDrawerHeader =
|
|
27121
|
-
var AppLayoutDrawerTitle =
|
|
27122
|
-
var AppLayoutDrawerDescription =
|
|
27123
|
-
var AppLayoutDrawerBody =
|
|
27124
|
-
var AppLayoutDrawerFooter =
|
|
27120
|
+
var AppLayoutDrawerHeader = _chunkYYHYCQD6cjs.DrawerHeader;
|
|
27121
|
+
var AppLayoutDrawerTitle = _chunkYYHYCQD6cjs.DrawerTitle;
|
|
27122
|
+
var AppLayoutDrawerDescription = _chunkYYHYCQD6cjs.DrawerDescription;
|
|
27123
|
+
var AppLayoutDrawerBody = _chunkYYHYCQD6cjs.DrawerBody;
|
|
27124
|
+
var AppLayoutDrawerFooter = _chunkYYHYCQD6cjs.DrawerFooter;
|
|
27125
27125
|
|
|
27126
27126
|
// src/components/features/notifications/notification-tile.tsx
|
|
27127
27127
|
|
|
@@ -27209,7 +27209,7 @@ function NotificationTile({
|
|
|
27209
27209
|
}
|
|
27210
27210
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkFKXDDJEQcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27211
27211
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
|
|
27212
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
27212
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkYYHYCQD6cjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
27213
27213
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
27214
27214
|
{
|
|
27215
27215
|
active: isLive,
|
|
@@ -27306,7 +27306,7 @@ function NotificationDrawer({
|
|
|
27306
27306
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27307
27307
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27308
27308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27309
|
-
|
|
27309
|
+
_chunkYYHYCQD6cjs.DrawerTitle,
|
|
27310
27310
|
{
|
|
27311
27311
|
hideClose: true,
|
|
27312
27312
|
className: "truncate",
|
|
@@ -27365,8 +27365,8 @@ function NotificationDrawer({
|
|
|
27365
27365
|
}
|
|
27366
27366
|
) });
|
|
27367
27367
|
}
|
|
27368
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27369
|
-
|
|
27368
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27369
|
+
_chunkYYHYCQD6cjs.DrawerContent,
|
|
27370
27370
|
{
|
|
27371
27371
|
side: "right",
|
|
27372
27372
|
"aria-describedby": void 0,
|
|
@@ -27641,13 +27641,13 @@ function getApprovalMeta(notification) {
|
|
|
27641
27641
|
function resolutionToStatus(resolution) {
|
|
27642
27642
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27643
27643
|
case "APPROVED":
|
|
27644
|
-
return
|
|
27644
|
+
return _chunkYYHYCQD6cjs.APPROVAL_STATUS.APPROVED;
|
|
27645
27645
|
case "REJECTED":
|
|
27646
|
-
return
|
|
27646
|
+
return _chunkYYHYCQD6cjs.APPROVAL_STATUS.REJECTED;
|
|
27647
27647
|
case "CANCELLED":
|
|
27648
|
-
return
|
|
27648
|
+
return _chunkYYHYCQD6cjs.APPROVAL_STATUS.CANCELLED;
|
|
27649
27649
|
default:
|
|
27650
|
-
return
|
|
27650
|
+
return _chunkYYHYCQD6cjs.APPROVAL_STATUS.PENDING;
|
|
27651
27651
|
}
|
|
27652
27652
|
}
|
|
27653
27653
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27687,7 +27687,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27687
27687
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _582 => _582.resolution]));
|
|
27688
27688
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27689
27689
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27690
|
-
const { innerRef, containerStyle } =
|
|
27690
|
+
const { innerRef, containerStyle } = _chunkYYHYCQD6cjs.useCollapsible.call(void 0, { expanded });
|
|
27691
27691
|
if (!approval || !batchData) return null;
|
|
27692
27692
|
const tileNotification = {
|
|
27693
27693
|
...notification,
|
|
@@ -27740,7 +27740,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27740
27740
|
}
|
|
27741
27741
|
)
|
|
27742
27742
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27743
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ApprovalStatusTag, { status }),
|
|
27744
27744
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27745
27745
|
"by ",
|
|
27746
27746
|
approval.resolvedByName
|
|
@@ -27758,12 +27758,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27758
27758
|
"aria-expanded": expanded,
|
|
27759
27759
|
"aria-label": toggleLabel,
|
|
27760
27760
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27761
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27761
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.ExpandChevron, { expanded })
|
|
27762
27762
|
}
|
|
27763
27763
|
)
|
|
27764
27764
|
] }),
|
|
27765
27765
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27766
|
-
|
|
27766
|
+
_chunkYYHYCQD6cjs.ApprovalBatchMessage,
|
|
27767
27767
|
{
|
|
27768
27768
|
data: batchData,
|
|
27769
27769
|
showExecutionStatus: false,
|
|
@@ -27831,7 +27831,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
27831
27831
|
const { label, imageUrl } = option;
|
|
27832
27832
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
27833
27833
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
27834
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27834
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
27835
27835
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
27836
27836
|
] }),
|
|
27837
27837
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -27915,7 +27915,7 @@ function TimeTrackerPanel({
|
|
|
27915
27915
|
}));
|
|
27916
27916
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
27917
27917
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27918
|
-
|
|
27918
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
27919
27919
|
{
|
|
27920
27920
|
src: selectedCustomer.imageUrl,
|
|
27921
27921
|
alt: selectedCustomer.label,
|
|
@@ -28094,7 +28094,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28094
28094
|
function StatusTag({ status }) {
|
|
28095
28095
|
if (status === "tracking") {
|
|
28096
28096
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28097
|
-
|
|
28097
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
28098
28098
|
{
|
|
28099
28099
|
variant: "success",
|
|
28100
28100
|
className: STATUS_TAG_SKIN,
|
|
@@ -28104,9 +28104,9 @@ function StatusTag({ status }) {
|
|
|
28104
28104
|
);
|
|
28105
28105
|
}
|
|
28106
28106
|
if (status === "paused") {
|
|
28107
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28107
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
28108
28108
|
}
|
|
28109
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28109
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
28110
28110
|
}
|
|
28111
28111
|
function LastEntryRow({ entry, onClick }) {
|
|
28112
28112
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
|
|
@@ -28275,7 +28275,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
28275
28275
|
"data-state": isOpen ? "open" : "closed",
|
|
28276
28276
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
28277
28277
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
28278
|
-
|
|
28278
|
+
_chunkYYHYCQD6cjs.OVERLAY_BACKDROP_CLASS,
|
|
28279
28279
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28280
28280
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28281
28281
|
)
|
|
@@ -28429,7 +28429,7 @@ function BoardColumnHeader({
|
|
|
28429
28429
|
}) {
|
|
28430
28430
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28431
28431
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28432
|
-
const useStatusVariant =
|
|
28432
|
+
const useStatusVariant = _chunkYYHYCQD6cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28433
28433
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28434
28434
|
if (collapsed) {
|
|
28435
28435
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28445,7 +28445,7 @@ function BoardColumnHeader({
|
|
|
28445
28445
|
}
|
|
28446
28446
|
),
|
|
28447
28447
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28448
|
-
|
|
28448
|
+
_chunkYYHYCQD6cjs.TicketStatusTag,
|
|
28449
28449
|
{
|
|
28450
28450
|
status: tagStatus,
|
|
28451
28451
|
label: column.label,
|
|
@@ -28458,7 +28458,7 @@ function BoardColumnHeader({
|
|
|
28458
28458
|
}
|
|
28459
28459
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28460
28460
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28461
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28461
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28462
28462
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28463
28463
|
] }),
|
|
28464
28464
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28609,7 +28609,7 @@ function holdMoveDragEffect(element) {
|
|
|
28609
28609
|
|
|
28610
28610
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28611
28611
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28612
|
-
const { innerRef, containerStyle } =
|
|
28612
|
+
const { innerRef, containerStyle } = _chunkYYHYCQD6cjs.useCollapsible.call(void 0, { expanded });
|
|
28613
28613
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28614
28614
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28615
28615
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28638,7 +28638,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28638
28638
|
}
|
|
28639
28639
|
),
|
|
28640
28640
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28641
|
-
|
|
28641
|
+
_chunkYYHYCQD6cjs.ApprovalBatchMessage,
|
|
28642
28642
|
{
|
|
28643
28643
|
className: "mb-0",
|
|
28644
28644
|
data: {
|
|
@@ -28710,7 +28710,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28710
28710
|
var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
|
|
28711
28711
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28712
28712
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28713
|
-
const newMessageTextColor = columnColor ?
|
|
28713
|
+
const newMessageTextColor = columnColor ? _chunkYYHYCQD6cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28714
28714
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.length]) || ticket.organizationName);
|
|
28715
28715
|
const deviceText = [_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.join, 'call', _622 => _622(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28716
28716
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _623 => _623.assignees, 'optionalAccess', _624 => _624.length]) || renderAssignSlot);
|
|
@@ -28732,7 +28732,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28732
28732
|
},
|
|
28733
28733
|
a.id
|
|
28734
28734
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28735
|
-
|
|
28735
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
28736
28736
|
{
|
|
28737
28737
|
src: a.avatarUrl,
|
|
28738
28738
|
alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
|
|
@@ -28749,8 +28749,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28749
28749
|
] })
|
|
28750
28750
|
] }) : null
|
|
28751
28751
|
] }) : null;
|
|
28752
|
-
const timestampLabel = ticket.createdAt ?
|
|
28753
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28752
|
+
const timestampLabel = ticket.createdAt ? _chunkYYHYCQD6cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28753
|
+
const tooltipLabel = ticket.createdAt ? _chunkYYHYCQD6cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28754
28754
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28755
28755
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28756
28756
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
|
|
@@ -28763,9 +28763,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28763
28763
|
rightSection
|
|
28764
28764
|
] }),
|
|
28765
28765
|
_optionalChain([ticket, 'access', _627 => _627.tags, 'optionalAccess', _628 => _628.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28766
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28767
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28768
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28766
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYYHYCQD6cjs.Tooltip, { children: [
|
|
28767
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28768
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.TooltipContent, { children: tooltipLabel })
|
|
28769
28769
|
] }) }),
|
|
28770
28770
|
ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
|
|
28771
28771
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28785,7 +28785,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28785
28785
|
}
|
|
28786
28786
|
),
|
|
28787
28787
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28788
|
-
|
|
28788
|
+
_chunkYYHYCQD6cjs.Tag,
|
|
28789
28789
|
{
|
|
28790
28790
|
label: "New Message",
|
|
28791
28791
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -29000,8 +29000,8 @@ function TicketTagRow({ tags }) {
|
|
|
29000
29000
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
29001
29001
|
const hidden = tags.length - visible.length;
|
|
29002
29002
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
29003
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29004
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29003
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
29004
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYYHYCQD6cjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
29005
29005
|
] });
|
|
29006
29006
|
}
|
|
29007
29007
|
|
|
@@ -30677,4 +30677,4 @@ function SortableRow({
|
|
|
30677
30677
|
|
|
30678
30678
|
|
|
30679
30679
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; 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.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; 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.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; 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.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; 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.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; 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.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; 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.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.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.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; 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.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; 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.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; 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.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; 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.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.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.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; 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.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
|
|
30680
|
-
//# sourceMappingURL=chunk-
|
|
30680
|
+
//# sourceMappingURL=chunk-JGDDPNSC.cjs.map
|