@flamingo-stack/openframe-frontend-core 0.0.669 → 0.0.670-2401.7220.1
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-VEQWH5KH.cjs → chunk-4IP6NETQ.cjs} +30 -30
- package/dist/{chunk-VEQWH5KH.cjs.map → chunk-4IP6NETQ.cjs.map} +1 -1
- package/dist/{chunk-CFUUVLYQ.cjs → chunk-4TGMSCHF.cjs} +33 -33
- package/dist/{chunk-CFUUVLYQ.cjs.map → chunk-4TGMSCHF.cjs.map} +1 -1
- package/dist/{chunk-Z3HUP4G7.cjs → chunk-635CAJ36.cjs} +32 -32
- package/dist/{chunk-Z3HUP4G7.cjs.map → chunk-635CAJ36.cjs.map} +1 -1
- package/dist/{chunk-GO63IT6K.js → chunk-6ZTDD7RY.js} +5 -5
- package/dist/{chunk-PHLBRU5P.js → chunk-ATDRHIRJ.js} +3 -3
- package/dist/{chunk-GF6WJ4MG.js → chunk-BNG7SJ63.js} +6 -6
- package/dist/{chunk-FJNX67W2.cjs → chunk-CIOE3EAY.cjs} +5 -5
- package/dist/{chunk-FJNX67W2.cjs.map → chunk-CIOE3EAY.cjs.map} +1 -1
- package/dist/{chunk-FOH4MNOZ.js → chunk-DFFVH46Z.js} +3 -3
- package/dist/{chunk-P6IJXAEE.js → chunk-DLJGCDHX.js} +2 -1
- package/dist/{chunk-P6IJXAEE.js.map → chunk-DLJGCDHX.js.map} +1 -1
- package/dist/{chunk-IBQT4RTS.js → chunk-EX5443RL.js} +3 -3
- package/dist/{chunk-EV2KJ4D2.cjs → chunk-F6DZAF6R.cjs} +7 -7
- package/dist/{chunk-EV2KJ4D2.cjs.map → chunk-F6DZAF6R.cjs.map} +1 -1
- package/dist/{chunk-IZ6F7LOE.js → chunk-H2FZ5CTX.js} +3 -3
- package/dist/{chunk-CWK4QHVF.js → chunk-IAHHAR32.js} +3 -3
- package/dist/{chunk-5CC33IJ7.js → chunk-IQTYL3AK.js} +6 -6
- package/dist/{chunk-YH3BUB4W.js → chunk-JLWUZ3OI.js} +5 -5
- package/dist/{chunk-WVCDX7FE.cjs → chunk-L6LVZ7LH.cjs} +15 -15
- package/dist/{chunk-WVCDX7FE.cjs.map → chunk-L6LVZ7LH.cjs.map} +1 -1
- package/dist/{chunk-NZD2WTJ2.cjs → chunk-LDQ3SZME.cjs} +3 -3
- package/dist/{chunk-NZD2WTJ2.cjs.map → chunk-LDQ3SZME.cjs.map} +1 -1
- package/dist/{chunk-TFVUM6KK.cjs → chunk-M3Y7TKM3.cjs} +10 -10
- package/dist/{chunk-TFVUM6KK.cjs.map → chunk-M3Y7TKM3.cjs.map} +1 -1
- package/dist/{chunk-LJOELK7P.js → chunk-M6ZYWCB5.js} +2 -2
- package/dist/{chunk-K4WYWTQV.cjs → chunk-MH3HF3ZQ.cjs} +6 -6
- package/dist/{chunk-K4WYWTQV.cjs.map → chunk-MH3HF3ZQ.cjs.map} +1 -1
- package/dist/{chunk-NNYND3I4.js → chunk-MSZVAJ53.js} +3 -3
- package/dist/{chunk-Z3GN3MIW.cjs → chunk-MUZOTBGU.cjs} +81 -81
- package/dist/{chunk-Z3GN3MIW.cjs.map → chunk-MUZOTBGU.cjs.map} +1 -1
- package/dist/{chunk-DK3BHDUZ.js → chunk-MZEWZ7F4.js} +3 -3
- package/dist/{chunk-B5UP36KY.cjs → chunk-NQWZ6XYX.cjs} +12 -12
- package/dist/{chunk-B5UP36KY.cjs.map → chunk-NQWZ6XYX.cjs.map} +1 -1
- package/dist/{chunk-QHL4GYYY.cjs → chunk-OTN3X6EM.cjs} +171 -164
- package/dist/chunk-OTN3X6EM.cjs.map +1 -0
- package/dist/{chunk-6KJV6GAJ.js → chunk-QPT7KGHB.js} +4 -4
- package/dist/{chunk-37NYF4W2.cjs → chunk-QRUW4UXB.cjs} +2 -1
- package/dist/chunk-QRUW4UXB.cjs.map +1 -0
- package/dist/{chunk-5V3LERVC.js → chunk-RSZF4CLW.js} +4 -4
- package/dist/{chunk-E5HUHKHH.js → chunk-SHZOFZVR.js} +7 -7
- package/dist/{chunk-6W4LUHMY.cjs → chunk-TZX72ME4.cjs} +206 -206
- package/dist/{chunk-6W4LUHMY.cjs.map → chunk-TZX72ME4.cjs.map} +1 -1
- package/dist/{chunk-7UW2BBFI.cjs → chunk-U5Z3EIIX.cjs} +59 -59
- package/dist/{chunk-7UW2BBFI.cjs.map → chunk-U5Z3EIIX.cjs.map} +1 -1
- package/dist/{chunk-VJ4XBTR5.cjs → chunk-UDMRNUXT.cjs} +22 -22
- package/dist/{chunk-VJ4XBTR5.cjs.map → chunk-UDMRNUXT.cjs.map} +1 -1
- package/dist/{chunk-SHGMDYCR.js → chunk-VEAA5C5X.js} +2 -2
- package/dist/{chunk-ZHRIFUN3.cjs → chunk-WAGO7QXA.cjs} +28 -28
- package/dist/{chunk-ZHRIFUN3.cjs.map → chunk-WAGO7QXA.cjs.map} +1 -1
- package/dist/{chunk-IJPV7OMA.js → chunk-X4TPGI3Z.js} +13 -6
- package/dist/{chunk-IJPV7OMA.js.map → chunk-X4TPGI3Z.js.map} +1 -1
- package/dist/{chunk-Y7SFGCF4.cjs → chunk-ZMP6KOU5.cjs} +20 -20
- package/dist/{chunk-Y7SFGCF4.cjs.map → chunk-ZMP6KOU5.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +16 -16
- 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 +91 -91
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +54 -54
- package/dist/components/index.js +15 -15
- package/dist/components/meeting-scheduler/index.cjs +40 -40
- 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 +9 -9
- package/dist/index.js +7 -7
- package/dist/utils/index.cjs +7 -3
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +7 -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 +4 -0
- package/src/utils/list-url.ts +1 -0
- package/src/utils/source-icons.ts +3 -0
- package/dist/chunk-37NYF4W2.cjs.map +0 -1
- package/dist/chunk-QHL4GYYY.cjs.map +0 -1
- /package/dist/{chunk-GO63IT6K.js.map → chunk-6ZTDD7RY.js.map} +0 -0
- /package/dist/{chunk-PHLBRU5P.js.map → chunk-ATDRHIRJ.js.map} +0 -0
- /package/dist/{chunk-GF6WJ4MG.js.map → chunk-BNG7SJ63.js.map} +0 -0
- /package/dist/{chunk-FOH4MNOZ.js.map → chunk-DFFVH46Z.js.map} +0 -0
- /package/dist/{chunk-IBQT4RTS.js.map → chunk-EX5443RL.js.map} +0 -0
- /package/dist/{chunk-IZ6F7LOE.js.map → chunk-H2FZ5CTX.js.map} +0 -0
- /package/dist/{chunk-CWK4QHVF.js.map → chunk-IAHHAR32.js.map} +0 -0
- /package/dist/{chunk-5CC33IJ7.js.map → chunk-IQTYL3AK.js.map} +0 -0
- /package/dist/{chunk-YH3BUB4W.js.map → chunk-JLWUZ3OI.js.map} +0 -0
- /package/dist/{chunk-LJOELK7P.js.map → chunk-M6ZYWCB5.js.map} +0 -0
- /package/dist/{chunk-NNYND3I4.js.map → chunk-MSZVAJ53.js.map} +0 -0
- /package/dist/{chunk-DK3BHDUZ.js.map → chunk-MZEWZ7F4.js.map} +0 -0
- /package/dist/{chunk-6KJV6GAJ.js.map → chunk-QPT7KGHB.js.map} +0 -0
- /package/dist/{chunk-5V3LERVC.js.map → chunk-RSZF4CLW.js.map} +0 -0
- /package/dist/{chunk-E5HUHKHH.js.map → chunk-SHZOFZVR.js.map} +0 -0
- /package/dist/{chunk-SHGMDYCR.js.map → chunk-VEAA5C5X.js.map} +0 -0
|
@@ -93,7 +93,7 @@ var _chunkQVSVRG7Icjs = require('./chunk-QVSVRG7I.cjs');
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
var
|
|
96
|
+
var _chunkOTN3X6EMcjs = require('./chunk-OTN3X6EM.cjs');
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -244,7 +244,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
|
|
|
244
244
|
|
|
245
245
|
|
|
246
246
|
|
|
247
|
-
var
|
|
247
|
+
var _chunkQRUW4UXBcjs = require('./chunk-QRUW4UXB.cjs');
|
|
248
248
|
|
|
249
249
|
|
|
250
250
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -357,7 +357,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
357
357
|
var useTheme = _nextthemes.useTheme;
|
|
358
358
|
function useThemeToggle() {
|
|
359
359
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
360
|
-
const mounted =
|
|
360
|
+
const mounted = _chunkOTN3X6EMcjs.useIsHydrated.call(void 0, );
|
|
361
361
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
362
362
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
363
363
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -634,7 +634,7 @@ function TruncateText({
|
|
|
634
634
|
const { ref, isTruncated } = _chunkV2A4MAALcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
635
635
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
636
636
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
637
|
-
|
|
637
|
+
_chunkOTN3X6EMcjs.FloatingTooltip,
|
|
638
638
|
{
|
|
639
639
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
640
640
|
side,
|
|
@@ -941,7 +941,7 @@ function AutocompleteInner(props, ref) {
|
|
|
941
941
|
),
|
|
942
942
|
/* @__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: [
|
|
943
943
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
944
|
-
|
|
944
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
945
945
|
{
|
|
946
946
|
variant: "outline",
|
|
947
947
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1163,7 +1163,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1163
1163
|
"aria-hidden": "true",
|
|
1164
1164
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1165
1165
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1166
|
-
|
|
1166
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
1167
1167
|
{
|
|
1168
1168
|
variant: "outline",
|
|
1169
1169
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1481,7 +1481,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
1481
1481
|
|
|
1482
1482
|
// src/components/ui/date-picker.tsx
|
|
1483
1483
|
|
|
1484
|
-
var defaultFormatDate = (date) =>
|
|
1484
|
+
var defaultFormatDate = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "numeric");
|
|
1485
1485
|
var formatDateRange = (range, formatFn) => {
|
|
1486
1486
|
if (!_optionalChain([range, 'optionalAccess', _24 => _24.from])) return "";
|
|
1487
1487
|
if (!range.to) return formatFn(range.from);
|
|
@@ -1682,7 +1682,7 @@ function DatePickerCalendar({
|
|
|
1682
1682
|
};
|
|
1683
1683
|
const handlePreviousMonth = () => shiftMonth(-1);
|
|
1684
1684
|
const handleNextMonth = () => shiftMonth(1);
|
|
1685
|
-
const formatMonthYear = (date) =>
|
|
1685
|
+
const formatMonthYear = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "monthYear");
|
|
1686
1686
|
const getSecondMonth = (date) => {
|
|
1687
1687
|
const next = new Date(date);
|
|
1688
1688
|
next.setMonth(next.getMonth() + 1);
|
|
@@ -2548,7 +2548,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2548
2548
|
const describedById = _react.useId.call(void 0, );
|
|
2549
2549
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2550
2550
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2551
|
-
|
|
2551
|
+
_chunkOTN3X6EMcjs.FloatingTooltip,
|
|
2552
2552
|
{
|
|
2553
2553
|
content: children,
|
|
2554
2554
|
side,
|
|
@@ -2642,7 +2642,7 @@ function Value2({ value, depth }) {
|
|
|
2642
2642
|
}
|
|
2643
2643
|
if (typeof value === "string") {
|
|
2644
2644
|
if (ISO_DATE.test(value)) {
|
|
2645
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2645
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkOTN3X6EMcjs.formatRelativeTime.call(void 0, value) });
|
|
2646
2646
|
}
|
|
2647
2647
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2648
2648
|
}
|
|
@@ -3037,7 +3037,7 @@ function CompactAssigneeDropdown({
|
|
|
3037
3037
|
value: o.value,
|
|
3038
3038
|
label: o.label,
|
|
3039
3039
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3040
|
-
|
|
3040
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3041
3041
|
{
|
|
3042
3042
|
src: o.imageUrl,
|
|
3043
3043
|
alt: o.label,
|
|
@@ -3072,7 +3072,7 @@ function CompactAssigneeDropdown({
|
|
|
3072
3072
|
className
|
|
3073
3073
|
),
|
|
3074
3074
|
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,
|
|
3075
|
-
|
|
3075
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3076
3076
|
{
|
|
3077
3077
|
src: currentAssignee.avatarSrc,
|
|
3078
3078
|
alt: currentAssignee.name,
|
|
@@ -3120,7 +3120,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3120
3120
|
const opt = option;
|
|
3121
3121
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
3122
3122
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3123
|
-
|
|
3123
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3124
3124
|
{
|
|
3125
3125
|
src: opt.imageUrl,
|
|
3126
3126
|
alt: opt.label,
|
|
@@ -3155,7 +3155,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3155
3155
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3156
3156
|
}
|
|
3157
3157
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3158
|
-
|
|
3158
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3159
3159
|
{
|
|
3160
3160
|
src: currentAssignee.avatarSrc,
|
|
3161
3161
|
alt: currentAssignee.name,
|
|
@@ -3180,7 +3180,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3180
3180
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3181
3181
|
}
|
|
3182
3182
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3183
|
-
|
|
3183
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3184
3184
|
{
|
|
3185
3185
|
src: currentAssignee.avatarSrc,
|
|
3186
3186
|
alt: currentAssignee.name,
|
|
@@ -3254,7 +3254,7 @@ function TextValue({ value }) {
|
|
|
3254
3254
|
}
|
|
3255
3255
|
) : 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 }),
|
|
3256
3256
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3257
|
-
|
|
3257
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
3258
3258
|
{
|
|
3259
3259
|
src: imageSrc,
|
|
3260
3260
|
alt: text,
|
|
@@ -3274,7 +3274,7 @@ function RowValue({ value }) {
|
|
|
3274
3274
|
}
|
|
3275
3275
|
case "status": {
|
|
3276
3276
|
const { type: _type, ...props } = value;
|
|
3277
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3277
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TicketStatusTag, { ...props });
|
|
3278
3278
|
}
|
|
3279
3279
|
case "custom":
|
|
3280
3280
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4185,7 +4185,7 @@ function TagsManager({
|
|
|
4185
4185
|
}
|
|
4186
4186
|
),
|
|
4187
4187
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4188
|
-
|
|
4188
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
4189
4189
|
{
|
|
4190
4190
|
label: tag.name,
|
|
4191
4191
|
variant: "outline",
|
|
@@ -4730,10 +4730,10 @@ function useConfirm() {
|
|
|
4730
4730
|
},
|
|
4731
4731
|
[]
|
|
4732
4732
|
);
|
|
4733
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4734
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4736
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4733
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4734
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: pending.title }) }),
|
|
4735
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4736
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: [
|
|
4737
4737
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4738
4738
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4739
4739
|
] })
|
|
@@ -4796,9 +4796,9 @@ function AdminFormModal({
|
|
|
4796
4796
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4797
4797
|
});
|
|
4798
4798
|
if (!isOpen) return null;
|
|
4799
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4800
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4801
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4799
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4800
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: [
|
|
4801
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: title }),
|
|
4802
4802
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4803
4803
|
] }),
|
|
4804
4804
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4823,7 +4823,7 @@ function AdminFormModal({
|
|
|
4823
4823
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4824
4824
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4825
4825
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4826
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4826
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4827
4827
|
"div",
|
|
4828
4828
|
{
|
|
4829
4829
|
"aria-busy": "true",
|
|
@@ -4844,12 +4844,12 @@ function AdminFormModal({
|
|
|
4844
4844
|
]
|
|
4845
4845
|
}
|
|
4846
4846
|
) })
|
|
4847
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4847
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalContent, { className: contentClassName, children }),
|
|
4848
4848
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4849
4849
|
]
|
|
4850
4850
|
}
|
|
4851
4851
|
),
|
|
4852
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4852
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4853
4853
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4854
4854
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4855
4855
|
footerStatus,
|
|
@@ -6995,7 +6995,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6995
6995
|
};
|
|
6996
6996
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6997
6997
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6998
|
-
|
|
6998
|
+
_chunkOTN3X6EMcjs.Video,
|
|
6999
6999
|
{
|
|
7000
7000
|
url: item.src,
|
|
7001
7001
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7427,7 +7427,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
7427
7427
|
width: m.width,
|
|
7428
7428
|
height: m.height
|
|
7429
7429
|
}));
|
|
7430
|
-
const formatNumber2 =
|
|
7430
|
+
const formatNumber2 = _chunkQRUW4UXBcjs.formatLargeNumber;
|
|
7431
7431
|
const truncateText = (text, maxLength = 600) => {
|
|
7432
7432
|
if (text.length <= maxLength) return text;
|
|
7433
7433
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7719,7 +7719,7 @@ function buildRichEmbedOverrides({
|
|
|
7719
7719
|
ogEndpointPath,
|
|
7720
7720
|
textSizes
|
|
7721
7721
|
}) {
|
|
7722
|
-
const standard =
|
|
7722
|
+
const standard = _chunkOTN3X6EMcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7723
7723
|
return {
|
|
7724
7724
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7725
7725
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7729,7 +7729,7 @@ function buildRichEmbedOverrides({
|
|
|
7729
7729
|
const language = match ? match[1] : "";
|
|
7730
7730
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7731
7731
|
if (language === "youtube-embed") {
|
|
7732
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7732
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7733
7733
|
}
|
|
7734
7734
|
if (language === "reddit-embed") {
|
|
7735
7735
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7770,7 +7770,7 @@ function buildRichEmbedOverrides({
|
|
|
7770
7770
|
"data-figma-url": figmaUrl
|
|
7771
7771
|
} = divProps;
|
|
7772
7772
|
if (className === "youtube-embed" && videoId) {
|
|
7773
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7773
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "youtube", url: videoId });
|
|
7774
7774
|
}
|
|
7775
7775
|
if (className === "reddit-embed" && postUrl) {
|
|
7776
7776
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7855,14 +7855,14 @@ function buildRichEmbedOverrides({
|
|
|
7855
7855
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7856
7856
|
// elsewhere). Guard against empty `![]()`.
|
|
7857
7857
|
img: ({ src, alt }) => {
|
|
7858
|
-
if (!
|
|
7858
|
+
if (!_chunkOTN3X6EMcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7859
7859
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7860
7860
|
},
|
|
7861
7861
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7862
7862
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7863
7863
|
video: ({ src, poster, className }) => {
|
|
7864
|
-
if (!
|
|
7865
|
-
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,
|
|
7864
|
+
if (!_chunkOTN3X6EMcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7865
|
+
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, _chunkOTN3X6EMcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7866
7866
|
}
|
|
7867
7867
|
};
|
|
7868
7868
|
}
|
|
@@ -8103,13 +8103,13 @@ var RichMarkdownInner = ({
|
|
|
8103
8103
|
},
|
|
8104
8104
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8105
8105
|
);
|
|
8106
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8106
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkOTN3X6EMcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8107
8107
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8108
8108
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8109
8109
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8110
8110
|
);
|
|
8111
8111
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8112
|
-
|
|
8112
|
+
_chunkOTN3X6EMcjs.MarkdownEngine,
|
|
8113
8113
|
{
|
|
8114
8114
|
content,
|
|
8115
8115
|
className,
|
|
@@ -8131,7 +8131,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8131
8131
|
className = "",
|
|
8132
8132
|
sectionIds,
|
|
8133
8133
|
onInternalLinkClick,
|
|
8134
|
-
brokenLinks =
|
|
8134
|
+
brokenLinks = _chunkOTN3X6EMcjs.NO_BROKEN_LINKS,
|
|
8135
8135
|
currentPath,
|
|
8136
8136
|
resolveSource = "openframe-docs",
|
|
8137
8137
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9096,7 +9096,7 @@ function FilterModal({
|
|
|
9096
9096
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9097
9097
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9098
9098
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9099
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9099
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkOTN3X6EMcjs.useScrollFade.call(void 0, );
|
|
9100
9100
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9101
9101
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9102
9102
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9141,10 +9141,10 @@ function FilterModal({
|
|
|
9141
9141
|
const hasFilterGroups = filterGroups.length > 0;
|
|
9142
9142
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9143
9143
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9144
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9145
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9144
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
9145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: title }) }),
|
|
9146
9146
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9147
|
-
|
|
9147
|
+
_chunkOTN3X6EMcjs.ModalContent,
|
|
9148
9148
|
{
|
|
9149
9149
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
9150
9150
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9236,12 +9236,12 @@ function FilterModal({
|
|
|
9236
9236
|
] })
|
|
9237
9237
|
}
|
|
9238
9238
|
),
|
|
9239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9240
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9240
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9241
9241
|
] })
|
|
9242
9242
|
}
|
|
9243
9243
|
),
|
|
9244
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9244
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: [
|
|
9245
9245
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9246
9246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9247
9247
|
] })
|
|
@@ -9285,9 +9285,9 @@ function actionToMenuItems(action, idx) {
|
|
|
9285
9285
|
function renderActionButton(action, opts = {}) {
|
|
9286
9286
|
const button = renderRawActionButton(action, opts);
|
|
9287
9287
|
if (!action.tooltip) return button;
|
|
9288
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9289
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9290
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9288
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { children: [
|
|
9289
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
9290
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { children: action.tooltip })
|
|
9291
9291
|
] }) });
|
|
9292
9292
|
}
|
|
9293
9293
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -9311,7 +9311,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9311
9311
|
}
|
|
9312
9312
|
if (action.submenu && action.submenu.length > 0) {
|
|
9313
9313
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9314
|
-
|
|
9314
|
+
_chunkOTN3X6EMcjs.ActionsMenuDropdown,
|
|
9315
9315
|
{
|
|
9316
9316
|
groups: [{ items: action.submenu }],
|
|
9317
9317
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9446,10 +9446,10 @@ function IconButtonsVariant({
|
|
|
9446
9446
|
selector,
|
|
9447
9447
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9448
9448
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9449
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9449
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9450
9450
|
] })
|
|
9451
9451
|
] }),
|
|
9452
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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,
|
|
9452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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, _chunkOTN3X6EMcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9453
9453
|
] });
|
|
9454
9454
|
}
|
|
9455
9455
|
function PrimaryButtonsVariant({
|
|
@@ -9487,7 +9487,7 @@ function MenuPrimaryVariant({
|
|
|
9487
9487
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9488
9488
|
selector,
|
|
9489
9489
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9490
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9490
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9491
9491
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9492
9492
|
] })
|
|
9493
9493
|
] }),
|
|
@@ -9495,7 +9495,7 @@ function MenuPrimaryVariant({
|
|
|
9495
9495
|
// The selector rides into the menu as its header row: on mobile the
|
|
9496
9496
|
// title row has no room for it, and hiding it entirely (what
|
|
9497
9497
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9498
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9498
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9499
9499
|
) : null })
|
|
9500
9500
|
] });
|
|
9501
9501
|
}
|
|
@@ -9790,7 +9790,7 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
|
9790
9790
|
const [failedSrc, setFailedSrc] = _react2.default.useState(null);
|
|
9791
9791
|
const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
|
|
9792
9792
|
const showFallback = imageFailed || !resolvedSrc;
|
|
9793
|
-
const initials =
|
|
9793
|
+
const initials = _chunkQRUW4UXBcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
|
|
9794
9794
|
if (showFallback) {
|
|
9795
9795
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9796
9796
|
"div",
|
|
@@ -9901,7 +9901,7 @@ function TitleBlock({
|
|
|
9901
9901
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9902
9902
|
(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: [
|
|
9903
9903
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9904
|
-
|
|
9904
|
+
_chunkOTN3X6EMcjs.FloatingTooltip,
|
|
9905
9905
|
{
|
|
9906
9906
|
content: title,
|
|
9907
9907
|
side: "bottom",
|
|
@@ -9918,12 +9918,12 @@ function TitleBlock({
|
|
|
9918
9918
|
}
|
|
9919
9919
|
),
|
|
9920
9920
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9921
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9921
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9922
9922
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9923
9923
|
empty `p` collapses to zero height (its only content would be
|
|
9924
9924
|
collapsible whitespace), which is exactly the shift that mode
|
|
9925
9925
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9926
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9927
9927
|
"p",
|
|
9928
9928
|
{
|
|
9929
9929
|
ref: subtitleRef,
|
|
@@ -9934,7 +9934,7 @@ function TitleBlock({
|
|
|
9934
9934
|
) })
|
|
9935
9935
|
] })
|
|
9936
9936
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9937
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9937
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9938
9938
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9939
9939
|
] }) : (
|
|
9940
9940
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -11522,7 +11522,7 @@ function lastPathSegment(url) {
|
|
|
11522
11522
|
function makeComposeContentUrl(opts) {
|
|
11523
11523
|
const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
|
|
11524
11524
|
return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
|
|
11525
|
-
const type =
|
|
11525
|
+
const type = _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, rawType);
|
|
11526
11526
|
const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
|
|
11527
11527
|
if (override) return { ...override(identifier), hostOverride: true };
|
|
11528
11528
|
const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
|
|
@@ -11533,8 +11533,8 @@ function makeComposeContentUrl(opts) {
|
|
|
11533
11533
|
}
|
|
11534
11534
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
11535
11535
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
11536
|
-
const owner = claimedOwner &&
|
|
11537
|
-
const origin = owner ?
|
|
11536
|
+
const owner = claimedOwner && _chunkOTN3X6EMcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
11537
|
+
const origin = owner ? _chunkOTN3X6EMcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
11538
11538
|
return {
|
|
11539
11539
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _228 => _228.trim, 'call', _229 => _229()]) || identifier}`,
|
|
11540
11540
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -11709,7 +11709,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11709
11709
|
if (heading.level > opts.maxLevel) continue;
|
|
11710
11710
|
let title = heading.text;
|
|
11711
11711
|
if (opts.stripFormattingMarkers) {
|
|
11712
|
-
title =
|
|
11712
|
+
title = _chunkOTN3X6EMcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11713
11713
|
}
|
|
11714
11714
|
const baseId = _chunkV2A4MAALcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkV2A4MAALcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11715
11715
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -12282,7 +12282,7 @@ function DashboardInfoCard({
|
|
|
12282
12282
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
12283
12283
|
if (asTag) {
|
|
12284
12284
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
12285
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12285
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
12286
12286
|
}
|
|
12287
12287
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
12288
12288
|
"(",
|
|
@@ -12336,7 +12336,7 @@ function DashboardInfoCard({
|
|
|
12336
12336
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
12337
12337
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
12338
12338
|
renderPercentage(),
|
|
12339
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12339
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.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, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
12340
12340
|
] })
|
|
12341
12341
|
] }),
|
|
12342
12342
|
renderProgress()
|
|
@@ -12454,7 +12454,7 @@ function DeviceCard({
|
|
|
12454
12454
|
}) {
|
|
12455
12455
|
const formatLastSeen = (lastSeen) => {
|
|
12456
12456
|
if (!lastSeen) return null;
|
|
12457
|
-
return
|
|
12457
|
+
return _chunkQRUW4UXBcjs.formatDateTimeYmd.call(void 0, lastSeen, null) || null;
|
|
12458
12458
|
};
|
|
12459
12459
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
12460
12460
|
"div",
|
|
@@ -12513,7 +12513,7 @@ function DeviceCard({
|
|
|
12513
12513
|
] }),
|
|
12514
12514
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
12515
12515
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12516
|
-
|
|
12516
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
12517
12517
|
{
|
|
12518
12518
|
variant: statusTag.variant,
|
|
12519
12519
|
icon: statusTag.icon,
|
|
@@ -12527,7 +12527,7 @@ function DeviceCard({
|
|
|
12527
12527
|
formatLastSeen(device.lastSeen)
|
|
12528
12528
|
] })
|
|
12529
12529
|
] }),
|
|
12530
|
-
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,
|
|
12530
|
+
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, _chunkOTN3X6EMcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
12531
12531
|
]
|
|
12532
12532
|
}
|
|
12533
12533
|
);
|
|
@@ -12561,7 +12561,7 @@ function DataAttribution({ icon, source, lastUpdated }) {
|
|
|
12561
12561
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "hidden text-ods-text-secondary sm:inline", "aria-hidden": "true", children: "\xB7" }),
|
|
12562
12562
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
12563
12563
|
"Last updated: ",
|
|
12564
|
-
lastUpdated ?
|
|
12564
|
+
lastUpdated ? _chunkQRUW4UXBcjs.formatDate.call(void 0, lastUpdated) : "Never"
|
|
12565
12565
|
] })
|
|
12566
12566
|
] });
|
|
12567
12567
|
}
|
|
@@ -12681,7 +12681,7 @@ function FeatureCardGrid({
|
|
|
12681
12681
|
if (allCardsHaveNoBorders) {
|
|
12682
12682
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
12683
12683
|
}
|
|
12684
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12684
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
12685
12685
|
const startIndex = rowIndex * itemsPerRow;
|
|
12686
12686
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
12687
12687
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -12711,7 +12711,7 @@ function FeatureCardGrid({
|
|
|
12711
12711
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
12712
12712
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
12713
12713
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12714
|
-
|
|
12714
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
12715
12715
|
{
|
|
12716
12716
|
text: item.badge.text,
|
|
12717
12717
|
variant: item.badge.variant || "card",
|
|
@@ -12720,7 +12720,7 @@ function FeatureCardGrid({
|
|
|
12720
12720
|
)
|
|
12721
12721
|
] }),
|
|
12722
12722
|
!item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12723
|
-
|
|
12723
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
12724
12724
|
{
|
|
12725
12725
|
text: item.badge.text,
|
|
12726
12726
|
variant: item.badge.variant || "card",
|
|
@@ -12768,7 +12768,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12768
12768
|
|
|
12769
12769
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12770
12770
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12771
|
-
|
|
12771
|
+
_chunkOTN3X6EMcjs.FloatingTooltip,
|
|
12772
12772
|
{
|
|
12773
12773
|
as: "span",
|
|
12774
12774
|
side: "top",
|
|
@@ -12953,7 +12953,7 @@ function DropdownButton({
|
|
|
12953
12953
|
)
|
|
12954
12954
|
);
|
|
12955
12955
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12956
|
-
|
|
12956
|
+
_chunkOTN3X6EMcjs.ActionsMenuDropdown,
|
|
12957
12957
|
{
|
|
12958
12958
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12959
12959
|
open,
|
|
@@ -13191,7 +13191,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
13191
13191
|
),
|
|
13192
13192
|
children: [
|
|
13193
13193
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13194
|
-
|
|
13194
|
+
_chunkOTN3X6EMcjs.FloatingTooltip,
|
|
13195
13195
|
{
|
|
13196
13196
|
content: row.value,
|
|
13197
13197
|
side: "top",
|
|
@@ -13289,7 +13289,7 @@ function PersonCell({
|
|
|
13289
13289
|
const displayName = name || fallbackName;
|
|
13290
13290
|
const scale = PERSON_CELL_SIZE[size];
|
|
13291
13291
|
const row = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `group/person-cell flex min-w-0 items-center ${scale.gap}`, children: [
|
|
13292
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13292
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
|
|
13293
13293
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
13294
13294
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13295
13295
|
TruncateText,
|
|
@@ -13329,9 +13329,9 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
13329
13329
|
);
|
|
13330
13330
|
}
|
|
13331
13331
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
13332
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13332
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
13333
13333
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13334
|
-
|
|
13334
|
+
_chunkQRUW4UXBcjs.AvatarStack,
|
|
13335
13335
|
{
|
|
13336
13336
|
size: "sm",
|
|
13337
13337
|
slots: PEOPLE_CELL_STACK_SLOTS,
|
|
@@ -13339,7 +13339,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
13339
13339
|
}
|
|
13340
13340
|
) }),
|
|
13341
13341
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "line-clamp-2 min-w-0 flex-1 break-words text-ods-text-primary text-h6", children: [
|
|
13342
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) =>
|
|
13342
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) => _chunkQRUW4UXBcjs.personFirstName.call(void 0, p.name, "Unknown")).join(" & ") }),
|
|
13343
13343
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: fullNames })
|
|
13344
13344
|
] })
|
|
13345
13345
|
] }) });
|
|
@@ -13391,9 +13391,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13391
13391
|
return next;
|
|
13392
13392
|
});
|
|
13393
13393
|
};
|
|
13394
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13394
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
13395
13395
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13396
|
-
|
|
13396
|
+
_chunkOTN3X6EMcjs.TooltipTrigger,
|
|
13397
13397
|
{
|
|
13398
13398
|
asChild: true,
|
|
13399
13399
|
onPointerDown: (e) => {
|
|
@@ -13411,7 +13411,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13411
13411
|
children
|
|
13412
13412
|
}
|
|
13413
13413
|
),
|
|
13414
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13414
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
13415
13415
|
] }) });
|
|
13416
13416
|
}
|
|
13417
13417
|
|
|
@@ -14668,7 +14668,7 @@ function TableDescriptionCell({ text, className, maxLines = 3 }) {
|
|
|
14668
14668
|
|
|
14669
14669
|
// src/components/ui/table/table-timestamp-cell.tsx
|
|
14670
14670
|
|
|
14671
|
-
var formatLocalTimestamp = (date) =>
|
|
14671
|
+
var formatLocalTimestamp = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "localeDateTime", { viewerLocale: true });
|
|
14672
14672
|
function formatTimestampValue(timestamp) {
|
|
14673
14673
|
if (timestamp instanceof Date) {
|
|
14674
14674
|
return formatLocalTimestamp(timestamp);
|
|
@@ -14722,9 +14722,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
14722
14722
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14723
14723
|
}
|
|
14724
14724
|
}, []);
|
|
14725
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14726
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14727
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14725
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14726
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.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 }) }) }),
|
|
14727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
14728
14728
|
] }) });
|
|
14729
14729
|
}
|
|
14730
14730
|
|
|
@@ -14777,9 +14777,9 @@ function TruncatedCell({ value, className }) {
|
|
|
14777
14777
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14778
14778
|
}
|
|
14779
14779
|
}, []);
|
|
14780
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14781
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14782
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14780
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14781
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
14782
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
14783
14783
|
] }) });
|
|
14784
14784
|
}
|
|
14785
14785
|
|
|
@@ -16061,7 +16061,7 @@ function SearchInput({
|
|
|
16061
16061
|
/* @__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, {}) }),
|
|
16062
16062
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
16063
16063
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16064
|
-
|
|
16064
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
16065
16065
|
{
|
|
16066
16066
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16067
16067
|
label: chip.label,
|
|
@@ -16177,7 +16177,7 @@ function SearchInput({
|
|
|
16177
16177
|
}
|
|
16178
16178
|
),
|
|
16179
16179
|
/* @__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,
|
|
16180
|
-
|
|
16180
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
16181
16181
|
{
|
|
16182
16182
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16183
16183
|
label: chip.label,
|
|
@@ -16390,7 +16390,7 @@ function TagSearchInput({
|
|
|
16390
16390
|
/* @__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" }) }),
|
|
16391
16391
|
/* @__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: [
|
|
16392
16392
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16393
|
-
|
|
16393
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
16394
16394
|
{
|
|
16395
16395
|
variant: "outline",
|
|
16396
16396
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16478,7 +16478,7 @@ function TagSearchInput({
|
|
|
16478
16478
|
"aria-hidden": "true",
|
|
16479
16479
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
16480
16480
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16481
|
-
|
|
16481
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
16482
16482
|
{
|
|
16483
16483
|
variant: "outline",
|
|
16484
16484
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -17409,20 +17409,20 @@ function ColorPresetSelect({
|
|
|
17409
17409
|
...presets.map((p) => ({
|
|
17410
17410
|
id: p.key,
|
|
17411
17411
|
label: p.label,
|
|
17412
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17412
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: p.color }),
|
|
17413
17413
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
17414
17414
|
})),
|
|
17415
17415
|
{
|
|
17416
17416
|
id: CUSTOM_PRESET_KEY,
|
|
17417
17417
|
label: "Custom",
|
|
17418
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17418
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
17419
17419
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
17420
17420
|
}
|
|
17421
17421
|
]
|
|
17422
17422
|
}
|
|
17423
17423
|
];
|
|
17424
17424
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17425
|
-
|
|
17425
|
+
_chunkOTN3X6EMcjs.ActionsMenuDropdown,
|
|
17426
17426
|
{
|
|
17427
17427
|
groups,
|
|
17428
17428
|
align: "start",
|
|
@@ -17432,7 +17432,7 @@ function ColorPresetSelect({
|
|
|
17432
17432
|
{
|
|
17433
17433
|
disabled,
|
|
17434
17434
|
"aria-label": `Color: ${displayLabel}`,
|
|
17435
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17435
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: displayColor }),
|
|
17436
17436
|
selectedLabel: displayLabel,
|
|
17437
17437
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17438
17438
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17453,7 +17453,7 @@ function HexInputs({ value, onChange }) {
|
|
|
17453
17453
|
}
|
|
17454
17454
|
const commit = () => {
|
|
17455
17455
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
17456
|
-
if (
|
|
17456
|
+
if (_chunkOTN3X6EMcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
17457
17457
|
else setDraft(value);
|
|
17458
17458
|
};
|
|
17459
17459
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17517,12 +17517,12 @@ function ChannelInput({
|
|
|
17517
17517
|
);
|
|
17518
17518
|
}
|
|
17519
17519
|
function RgbInputs({ value, onChange }) {
|
|
17520
|
-
const rgb = _nullishCoalesce(
|
|
17520
|
+
const rgb = _nullishCoalesce(_chunkOTN3X6EMcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17521
17521
|
const update = (next) => {
|
|
17522
17522
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
17523
17523
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
17524
17524
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
17525
|
-
onChange(
|
|
17525
|
+
onChange(_chunkOTN3X6EMcjs.rgbToHex.call(void 0, r, g, b));
|
|
17526
17526
|
};
|
|
17527
17527
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17528
17528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -17531,14 +17531,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
17531
17531
|
] });
|
|
17532
17532
|
}
|
|
17533
17533
|
function HslInputs({ value, onChange }) {
|
|
17534
|
-
const rgb = _nullishCoalesce(
|
|
17535
|
-
const hsl =
|
|
17534
|
+
const rgb = _nullishCoalesce(_chunkOTN3X6EMcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17535
|
+
const hsl = _chunkOTN3X6EMcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
17536
17536
|
const update = (next) => {
|
|
17537
17537
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
17538
17538
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
17539
17539
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
17540
|
-
const out =
|
|
17541
|
-
onChange(
|
|
17540
|
+
const out = _chunkOTN3X6EMcjs.hslToRgb.call(void 0, h, s, l);
|
|
17541
|
+
onChange(_chunkOTN3X6EMcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
17542
17542
|
};
|
|
17543
17543
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17544
17544
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -17564,7 +17564,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17564
17564
|
{
|
|
17565
17565
|
disabled,
|
|
17566
17566
|
"aria-label": "Pick custom color",
|
|
17567
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17567
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: value }),
|
|
17568
17568
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
17569
17569
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17570
17570
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17580,7 +17580,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17580
17580
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
17581
17581
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17582
17582
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17583
|
-
|
|
17583
|
+
_chunkOTN3X6EMcjs.ActionsMenuDropdown,
|
|
17584
17584
|
{
|
|
17585
17585
|
groups: formatGroups,
|
|
17586
17586
|
align: "start",
|
|
@@ -17637,7 +17637,7 @@ function TicketStatusConfigRow({
|
|
|
17637
17637
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
17638
17638
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
17639
17639
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17640
|
-
|
|
17640
|
+
_chunkOTN3X6EMcjs.TicketStatusTag,
|
|
17641
17641
|
{
|
|
17642
17642
|
status: statusKey,
|
|
17643
17643
|
label: name || " ",
|
|
@@ -17789,7 +17789,7 @@ function formatTestRunDuration(ms) {
|
|
|
17789
17789
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
17790
17790
|
var SKELETON_COLUMNS = 6;
|
|
17791
17791
|
function TestResultsSkeleton() {
|
|
17792
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17792
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
17793
17793
|
/* @__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}`)) }),
|
|
17794
17794
|
/* @__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}`)) }) })
|
|
17795
17795
|
] }) });
|
|
@@ -17824,7 +17824,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
17824
17824
|
if (loading) {
|
|
17825
17825
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
17826
17826
|
}
|
|
17827
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17827
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.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: [
|
|
17828
17828
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
17829
17829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
17830
17830
|
] }) }) });
|
|
@@ -17886,7 +17886,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
17886
17886
|
function TestRunStatusStat({ status, className }) {
|
|
17887
17887
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
17888
17888
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
17889
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17889
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.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: "-" }),
|
|
17890
17890
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
17891
17891
|
] });
|
|
17892
17892
|
}
|
|
@@ -17930,7 +17930,7 @@ function useTestRunState(campaign) {
|
|
|
17930
17930
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
17931
17931
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
17932
17932
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
17933
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
17933
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkOTN3X6EMcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
17934
17934
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
17935
17935
|
const displayRows = _react.useMemo.call(void 0,
|
|
17936
17936
|
() => campaign.results.map(
|
|
@@ -17969,7 +17969,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
17969
17969
|
),
|
|
17970
17970
|
children: [
|
|
17971
17971
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17972
|
-
|
|
17972
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
17973
17973
|
{
|
|
17974
17974
|
src: attachment.thumbnailSrc,
|
|
17975
17975
|
alt: attachment.fileName,
|
|
@@ -18062,7 +18062,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
18062
18062
|
};
|
|
18063
18063
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
|
|
18064
18064
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18065
|
-
|
|
18065
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
18066
18066
|
{
|
|
18067
18067
|
src: note.authorAvatar,
|
|
18068
18068
|
alt: note.authorName,
|
|
@@ -18238,7 +18238,7 @@ function TicketInfoSection({
|
|
|
18238
18238
|
/* @__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: [
|
|
18239
18239
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
18240
18240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18241
|
-
|
|
18241
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
18242
18242
|
{
|
|
18243
18243
|
src: _optionalChain([organization, 'optionalAccess', _405 => _405.imageSrc]),
|
|
18244
18244
|
alt: _optionalChain([organization, 'optionalAccess', _406 => _406.name]),
|
|
@@ -18268,7 +18268,7 @@ function TicketInfoSection({
|
|
|
18268
18268
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _409 => _409.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _410 => _410.icon]), onClick: _optionalChain([device, 'optionalAccess', _411 => _411.onClick]) }),
|
|
18269
18269
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
18270
18270
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18271
|
-
|
|
18271
|
+
_chunkOTN3X6EMcjs.TicketStatusTag,
|
|
18272
18272
|
{
|
|
18273
18273
|
status: _nullishCoalesce(status, () => ( "")),
|
|
18274
18274
|
label: statusLabel,
|
|
@@ -18307,9 +18307,9 @@ function TicketInfoSection({
|
|
|
18307
18307
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18308
18308
|
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" }) }),
|
|
18309
18309
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
18310
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18310
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.SimpleMarkdownRenderer, { content: description }),
|
|
18311
18311
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
18312
|
-
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,
|
|
18312
|
+
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, _chunkOTN3X6EMcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
18313
18313
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18314
18314
|
TicketNotesSection,
|
|
18315
18315
|
{
|
|
@@ -18332,7 +18332,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
18332
18332
|
const { label, color } = option;
|
|
18333
18333
|
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: [
|
|
18334
18334
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18335
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color }),
|
|
18336
18336
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18337
18337
|
] }),
|
|
18338
18338
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -18342,7 +18342,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
18342
18342
|
const { label, imageUrl } = option;
|
|
18343
18343
|
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: [
|
|
18344
18344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
18346
18346
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18347
18347
|
] }),
|
|
18348
18348
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -18377,9 +18377,9 @@ function TakeOverTicketModal({
|
|
|
18377
18377
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
18378
18378
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
18379
18379
|
};
|
|
18380
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18380
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18381
18381
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
18383
18383
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18384
18384
|
"The ticket ",
|
|
18385
18385
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18394,7 +18394,7 @@ function TakeOverTicketModal({
|
|
|
18394
18394
|
value: selectedStatusId,
|
|
18395
18395
|
onChange: setStatusId,
|
|
18396
18396
|
placeholder: "Select Status",
|
|
18397
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18397
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18398
18398
|
renderOption: renderTicketStatusOption
|
|
18399
18399
|
}
|
|
18400
18400
|
) }),
|
|
@@ -18408,7 +18408,7 @@ function TakeOverTicketModal({
|
|
|
18408
18408
|
placeholder: "Select Technician",
|
|
18409
18409
|
loading: assigneesLoading,
|
|
18410
18410
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18411
|
-
|
|
18411
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
18412
18412
|
{
|
|
18413
18413
|
src: selectedAssignee.imageUrl,
|
|
18414
18414
|
alt: selectedAssignee.label,
|
|
@@ -18421,7 +18421,7 @@ function TakeOverTicketModal({
|
|
|
18421
18421
|
}
|
|
18422
18422
|
) })
|
|
18423
18423
|
] }),
|
|
18424
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18424
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: [
|
|
18425
18425
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18426
18426
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18427
18427
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18480,9 +18480,9 @@ function ReopenTicketModal({
|
|
|
18480
18480
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
18481
18481
|
});
|
|
18482
18482
|
};
|
|
18483
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18483
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18484
18484
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18485
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18485
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18486
18486
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18487
18487
|
"The ticket ",
|
|
18488
18488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18497,7 +18497,7 @@ function ReopenTicketModal({
|
|
|
18497
18497
|
value: selectedStatusId,
|
|
18498
18498
|
onChange: setStatusId,
|
|
18499
18499
|
placeholder: "Select Status",
|
|
18500
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18500
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18501
18501
|
renderOption: renderTicketStatusOption
|
|
18502
18502
|
}
|
|
18503
18503
|
) }),
|
|
@@ -18511,7 +18511,7 @@ function ReopenTicketModal({
|
|
|
18511
18511
|
placeholder: "Select Technician",
|
|
18512
18512
|
loading: assigneesLoading,
|
|
18513
18513
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18514
|
-
|
|
18514
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
18515
18515
|
{
|
|
18516
18516
|
src: selectedAssignee.imageUrl,
|
|
18517
18517
|
alt: selectedAssignee.label,
|
|
@@ -18535,7 +18535,7 @@ function ReopenTicketModal({
|
|
|
18535
18535
|
disabled: isPending
|
|
18536
18536
|
}
|
|
18537
18537
|
) }),
|
|
18538
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18538
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: [
|
|
18539
18539
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18540
18540
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18541
18541
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18583,9 +18583,9 @@ function ReopenTicketRequestModal({
|
|
|
18583
18583
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
18584
18584
|
});
|
|
18585
18585
|
};
|
|
18586
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18586
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18587
18587
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18588
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18588
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18589
18589
|
/* @__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." }),
|
|
18590
18590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18591
18591
|
Textarea,
|
|
@@ -18609,7 +18609,7 @@ function ReopenTicketRequestModal({
|
|
|
18609
18609
|
disabled: isPending
|
|
18610
18610
|
}
|
|
18611
18611
|
),
|
|
18612
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18612
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.ModalFooter, { children: [
|
|
18613
18613
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
18614
18614
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
18615
18615
|
] })
|
|
@@ -20022,7 +20022,7 @@ function SsoJoinForm({
|
|
|
20022
20022
|
] }),
|
|
20023
20023
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
|
|
20024
20024
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20025
|
-
|
|
20025
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
20026
20026
|
{
|
|
20027
20027
|
size: "lg",
|
|
20028
20028
|
variant: "round",
|
|
@@ -20036,7 +20036,7 @@ function SsoJoinForm({
|
|
|
20036
20036
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
20037
20037
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
20038
20038
|
] }),
|
|
20039
|
-
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20039
|
+
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: "grey", label: role }, role)) })
|
|
20040
20040
|
] }),
|
|
20041
20041
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20042
20042
|
CheckboxBlock,
|
|
@@ -20280,7 +20280,7 @@ function ChangelogManager({
|
|
|
20280
20280
|
),
|
|
20281
20281
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
|
|
20282
20282
|
tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20283
|
-
|
|
20283
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
20284
20284
|
{
|
|
20285
20285
|
variant: "button",
|
|
20286
20286
|
singleLine: true,
|
|
@@ -20543,7 +20543,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
20543
20543
|
const label = (tag.name || "").toUpperCase();
|
|
20544
20544
|
if (basePath && tag.slug) {
|
|
20545
20545
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20546
|
-
|
|
20546
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
20547
20547
|
{
|
|
20548
20548
|
text: label,
|
|
20549
20549
|
variant: "card",
|
|
@@ -20551,9 +20551,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
20551
20551
|
}
|
|
20552
20552
|
) }, key);
|
|
20553
20553
|
}
|
|
20554
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20554
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
|
|
20555
20555
|
}),
|
|
20556
|
-
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20556
|
+
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
|
|
20557
20557
|
] });
|
|
20558
20558
|
}
|
|
20559
20559
|
|
|
@@ -20640,7 +20640,7 @@ var SectionButton = ({
|
|
|
20640
20640
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
20641
20641
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClasses, "whitespace-nowrap text-h4 lg:whitespace-normal lg:break-words"), children: section.title }),
|
|
20642
20642
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20643
|
-
|
|
20643
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
20644
20644
|
{
|
|
20645
20645
|
text: section.badge.text,
|
|
20646
20646
|
variant: section.badge.variant || "button",
|
|
@@ -20659,7 +20659,7 @@ var SectionButton = ({
|
|
|
20659
20659
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
20660
20660
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
20661
20661
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20662
|
-
|
|
20662
|
+
_chunkQRUW4UXBcjs.StatusBadge,
|
|
20663
20663
|
{
|
|
20664
20664
|
text: section.badge.text,
|
|
20665
20665
|
variant: section.badge.variant || "button",
|
|
@@ -20973,7 +20973,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20973
20973
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
20974
20974
|
title: config.title,
|
|
20975
20975
|
loading: "eager",
|
|
20976
|
-
...
|
|
20976
|
+
..._chunkOTN3X6EMcjs.fetchPriorityProp.call(void 0, "high")
|
|
20977
20977
|
},
|
|
20978
20978
|
iframeKey
|
|
20979
20979
|
),
|
|
@@ -21801,7 +21801,7 @@ function MediaGalleryManager({
|
|
|
21801
21801
|
(mediaItem, index) => {
|
|
21802
21802
|
const isDeleting = deletingIndex === index;
|
|
21803
21803
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21804
|
-
|
|
21804
|
+
_chunkQRUW4UXBcjs.Card,
|
|
21805
21805
|
{
|
|
21806
21806
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
21807
21807
|
draggable: true,
|
|
@@ -21822,10 +21822,10 @@ function MediaGalleryManager({
|
|
|
21822
21822
|
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" })
|
|
21823
21823
|
}
|
|
21824
21824
|
) }),
|
|
21825
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children:
|
|
21825
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
21826
21826
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
21827
21827
|
// fit="cover" crops to the aspect-video cell.
|
|
21828
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
21829
21829
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21830
21830
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
21831
21831
|
{
|
|
@@ -21838,7 +21838,7 @@ function MediaGalleryManager({
|
|
|
21838
21838
|
) }),
|
|
21839
21839
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
|
|
21840
21840
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
|
|
21841
|
-
|
|
21841
|
+
_chunkQRUW4UXBcjs.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" }),
|
|
21842
21842
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "capitalize text-ods-text-primary text-h6", children: mediaItem.media_type })
|
|
21843
21843
|
] }),
|
|
21844
21844
|
mediaItem.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: mediaItem.title })
|
|
@@ -24076,9 +24076,9 @@ function PushButtonSelector({
|
|
|
24076
24076
|
option.id
|
|
24077
24077
|
);
|
|
24078
24078
|
if (option.disabled && option.disabledReason) {
|
|
24079
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24080
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24081
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24079
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { children: [
|
|
24080
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
24081
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
24082
24082
|
] }, option.id);
|
|
24083
24083
|
}
|
|
24084
24084
|
return optionEl;
|
|
@@ -24123,7 +24123,7 @@ function PushButtonSelector({
|
|
|
24123
24123
|
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
|
|
24124
24124
|
] }) : null
|
|
24125
24125
|
] });
|
|
24126
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24126
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
24127
24127
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
24128
24128
|
searchInput,
|
|
24129
24129
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24293,10 +24293,10 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
24293
24293
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
|
|
24294
24294
|
}
|
|
24295
24295
|
) }),
|
|
24296
|
-
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children:
|
|
24296
|
+
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
24297
24297
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
24298
24298
|
// fit="cover" crops to the aspect-video cell.
|
|
24299
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24299
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
24300
24300
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24301
24301
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
24302
24302
|
{
|
|
@@ -24429,7 +24429,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
24429
24429
|
}
|
|
24430
24430
|
)
|
|
24431
24431
|
] }),
|
|
24432
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24432
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
24433
24433
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
24434
24434
|
]
|
|
24435
24435
|
}
|
|
@@ -25017,7 +25017,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
25017
25017
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, modeClassName, className),
|
|
25018
25018
|
style: customStyle,
|
|
25019
25019
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
|
|
25020
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25020
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
25021
25021
|
children
|
|
25022
25022
|
}
|
|
25023
25023
|
);
|
|
@@ -25287,11 +25287,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
25287
25287
|
|
|
25288
25288
|
function VideoBitesDisplay({
|
|
25289
25289
|
bites,
|
|
25290
|
-
title =
|
|
25290
|
+
title = _chunkQRUW4UXBcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
25291
25291
|
filterPublished = true,
|
|
25292
25292
|
showTitle = true
|
|
25293
25293
|
}) {
|
|
25294
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25294
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
25295
25295
|
}
|
|
25296
25296
|
|
|
25297
25297
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -25360,7 +25360,7 @@ function WalkthroughVideo({
|
|
|
25360
25360
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
25361
25361
|
};
|
|
25362
25362
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
25363
|
-
const hydrated =
|
|
25363
|
+
const hydrated = _chunkOTN3X6EMcjs.useIsHydrated.call(void 0, );
|
|
25364
25364
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
25365
25365
|
if (!hydrated) return false;
|
|
25366
25366
|
try {
|
|
@@ -25757,7 +25757,7 @@ function WalkthroughVideo({
|
|
|
25757
25757
|
},
|
|
25758
25758
|
children: [
|
|
25759
25759
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25760
|
-
|
|
25760
|
+
_chunkOTN3X6EMcjs.VideoHoverPreviewSurface,
|
|
25761
25761
|
{
|
|
25762
25762
|
url: video.mainVideoUrl || "",
|
|
25763
25763
|
posterUrl: video.posterUrl,
|
|
@@ -25780,7 +25780,7 @@ function WalkthroughVideo({
|
|
|
25780
25780
|
`card-${embedUrlKey}`
|
|
25781
25781
|
) }),
|
|
25782
25782
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25783
|
-
|
|
25783
|
+
_chunkOTN3X6EMcjs.CardHitLayer,
|
|
25784
25784
|
{
|
|
25785
25785
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
25786
25786
|
onPointerDown: pausePreviewNow,
|
|
@@ -25789,7 +25789,7 @@ function WalkthroughVideo({
|
|
|
25789
25789
|
}
|
|
25790
25790
|
),
|
|
25791
25791
|
/* @__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: [
|
|
25792
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25792
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
25793
25793
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
25794
25794
|
] }),
|
|
25795
25795
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25802,7 +25802,7 @@ function WalkthroughVideo({
|
|
|
25802
25802
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25803
25803
|
onClick: onUnmuteOrPlay,
|
|
25804
25804
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
25805
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25805
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.VideoUnmuteGlyph, {})
|
|
25806
25806
|
}
|
|
25807
25807
|
),
|
|
25808
25808
|
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: [
|
|
@@ -25895,7 +25895,7 @@ function WalkthroughVideo({
|
|
|
25895
25895
|
children: [
|
|
25896
25896
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
25897
25897
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25898
|
-
|
|
25898
|
+
_chunkOTN3X6EMcjs.Video,
|
|
25899
25899
|
{
|
|
25900
25900
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
25901
25901
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -25946,7 +25946,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
25946
25946
|
var _reactquery = require('@tanstack/react-query');
|
|
25947
25947
|
function useWalkthroughVideo(opts) {
|
|
25948
25948
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
25949
|
-
const captions =
|
|
25949
|
+
const captions = _chunkOTN3X6EMcjs.useCaptions.call(void 0, );
|
|
25950
25950
|
const query = _reactquery.useQuery.call(void 0, {
|
|
25951
25951
|
queryKey: ["walkthrough-video", endpoint],
|
|
25952
25952
|
enabled,
|
|
@@ -26144,7 +26144,7 @@ function VideoSourceSelector({
|
|
|
26144
26144
|
}
|
|
26145
26145
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
26146
26146
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
26147
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
26148
26148
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26149
26149
|
"button",
|
|
26150
26150
|
{
|
|
@@ -26668,7 +26668,7 @@ function HighlightVideoSection({
|
|
|
26668
26668
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
26669
26669
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
26670
26670
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
26671
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26671
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
26672
26672
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26673
26673
|
"button",
|
|
26674
26674
|
{
|
|
@@ -27408,7 +27408,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
27408
27408
|
] });
|
|
27409
27409
|
};
|
|
27410
27410
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
27411
|
-
const { innerRef, containerStyle } =
|
|
27411
|
+
const { innerRef, containerStyle } = _chunkOTN3X6EMcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
27412
27412
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
27413
27413
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27414
27414
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -27576,7 +27576,7 @@ function WaitlistForm({
|
|
|
27576
27576
|
const { toast } = _chunkYNGAJGYBcjs.useToast.call(void 0, );
|
|
27577
27577
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkYNGAJGYBcjs.useHumanitySignals.call(void 0, );
|
|
27578
27578
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
27579
|
-
const isClient =
|
|
27579
|
+
const isClient = _chunkOTN3X6EMcjs.useIsHydrated.call(void 0, );
|
|
27580
27580
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
27581
27581
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
27582
27582
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -28356,7 +28356,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28356
28356
|
"data-state": open ? "open" : "closed",
|
|
28357
28357
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
28358
28358
|
"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",
|
|
28359
|
-
|
|
28359
|
+
_chunkOTN3X6EMcjs.OVERLAY_BACKDROP_CLASS,
|
|
28360
28360
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
28361
28361
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
28362
28362
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -28432,11 +28432,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28432
28432
|
}
|
|
28433
28433
|
);
|
|
28434
28434
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
28435
|
-
var AppLayoutDrawerHeader =
|
|
28436
|
-
var AppLayoutDrawerTitle =
|
|
28437
|
-
var AppLayoutDrawerDescription =
|
|
28438
|
-
var AppLayoutDrawerBody =
|
|
28439
|
-
var AppLayoutDrawerFooter =
|
|
28435
|
+
var AppLayoutDrawerHeader = _chunkOTN3X6EMcjs.DrawerHeader;
|
|
28436
|
+
var AppLayoutDrawerTitle = _chunkOTN3X6EMcjs.DrawerTitle;
|
|
28437
|
+
var AppLayoutDrawerDescription = _chunkOTN3X6EMcjs.DrawerDescription;
|
|
28438
|
+
var AppLayoutDrawerBody = _chunkOTN3X6EMcjs.DrawerBody;
|
|
28439
|
+
var AppLayoutDrawerFooter = _chunkOTN3X6EMcjs.DrawerFooter;
|
|
28440
28440
|
|
|
28441
28441
|
// src/components/features/notifications/notification-tile.tsx
|
|
28442
28442
|
|
|
@@ -28525,7 +28525,7 @@ function NotificationTile({
|
|
|
28525
28525
|
}
|
|
28526
28526
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkYNGAJGYBcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
28527
28527
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.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" }),
|
|
28528
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
28528
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkOTN3X6EMcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
28529
28529
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
28530
28530
|
{
|
|
28531
28531
|
active: isLive,
|
|
@@ -28632,7 +28632,7 @@ function NotificationDrawer({
|
|
|
28632
28632
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
28633
28633
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28634
28634
|
/* @__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,
|
|
28635
|
-
|
|
28635
|
+
_chunkOTN3X6EMcjs.DrawerTitle,
|
|
28636
28636
|
{
|
|
28637
28637
|
hideClose: true,
|
|
28638
28638
|
className: "truncate",
|
|
@@ -28691,8 +28691,8 @@ function NotificationDrawer({
|
|
|
28691
28691
|
}
|
|
28692
28692
|
) });
|
|
28693
28693
|
}
|
|
28694
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28695
|
-
|
|
28694
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28695
|
+
_chunkOTN3X6EMcjs.DrawerContent,
|
|
28696
28696
|
{
|
|
28697
28697
|
side: "right",
|
|
28698
28698
|
"aria-describedby": void 0,
|
|
@@ -28975,13 +28975,13 @@ function getApprovalMeta(notification) {
|
|
|
28975
28975
|
function resolutionToStatus(resolution) {
|
|
28976
28976
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28977
28977
|
case "APPROVED":
|
|
28978
|
-
return
|
|
28978
|
+
return _chunkOTN3X6EMcjs.APPROVAL_STATUS.APPROVED;
|
|
28979
28979
|
case "REJECTED":
|
|
28980
|
-
return
|
|
28980
|
+
return _chunkOTN3X6EMcjs.APPROVAL_STATUS.REJECTED;
|
|
28981
28981
|
case "CANCELLED":
|
|
28982
|
-
return
|
|
28982
|
+
return _chunkOTN3X6EMcjs.APPROVAL_STATUS.CANCELLED;
|
|
28983
28983
|
default:
|
|
28984
|
-
return
|
|
28984
|
+
return _chunkOTN3X6EMcjs.APPROVAL_STATUS.PENDING;
|
|
28985
28985
|
}
|
|
28986
28986
|
}
|
|
28987
28987
|
function approvalMetaToBatchData(approval) {
|
|
@@ -29022,7 +29022,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29022
29022
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _616 => _616.resolution]));
|
|
29023
29023
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
29024
29024
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
29025
|
-
const { innerRef, containerStyle } =
|
|
29025
|
+
const { innerRef, containerStyle } = _chunkOTN3X6EMcjs.useCollapsible.call(void 0, { expanded });
|
|
29026
29026
|
if (!approval || !batchData) return null;
|
|
29027
29027
|
const tileNotification = {
|
|
29028
29028
|
...notification,
|
|
@@ -29076,7 +29076,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29076
29076
|
}
|
|
29077
29077
|
)
|
|
29078
29078
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29079
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29079
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ApprovalStatusTag, { status }),
|
|
29080
29080
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
29081
29081
|
"by ",
|
|
29082
29082
|
approval.resolvedByName
|
|
@@ -29094,12 +29094,12 @@ function ApprovalRequestNotificationTile({
|
|
|
29094
29094
|
"aria-expanded": expanded,
|
|
29095
29095
|
"aria-label": toggleLabel,
|
|
29096
29096
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
29097
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29097
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.ExpandChevron, { expanded })
|
|
29098
29098
|
}
|
|
29099
29099
|
)
|
|
29100
29100
|
] }),
|
|
29101
29101
|
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,
|
|
29102
|
-
|
|
29102
|
+
_chunkOTN3X6EMcjs.ApprovalBatchMessage,
|
|
29103
29103
|
{
|
|
29104
29104
|
data: batchData,
|
|
29105
29105
|
showExecutionStatus: false,
|
|
@@ -29172,7 +29172,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
29172
29172
|
const { label, imageUrl } = option;
|
|
29173
29173
|
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: [
|
|
29174
29174
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
29175
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29175
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
29176
29176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
29177
29177
|
] }),
|
|
29178
29178
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -29256,7 +29256,7 @@ function TimeTrackerPanel({
|
|
|
29256
29256
|
}));
|
|
29257
29257
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
29258
29258
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29259
|
-
|
|
29259
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
29260
29260
|
{
|
|
29261
29261
|
src: selectedCustomer.imageUrl,
|
|
29262
29262
|
alt: selectedCustomer.label,
|
|
@@ -29435,7 +29435,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
29435
29435
|
function StatusTag({ status }) {
|
|
29436
29436
|
if (status === "tracking") {
|
|
29437
29437
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29438
|
-
|
|
29438
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
29439
29439
|
{
|
|
29440
29440
|
variant: "success",
|
|
29441
29441
|
className: STATUS_TAG_SKIN,
|
|
@@ -29445,9 +29445,9 @@ function StatusTag({ status }) {
|
|
|
29445
29445
|
);
|
|
29446
29446
|
}
|
|
29447
29447
|
if (status === "paused") {
|
|
29448
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29448
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
29449
29449
|
}
|
|
29450
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29450
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
29451
29451
|
}
|
|
29452
29452
|
function LastEntryRow({ entry, onClick }) {
|
|
29453
29453
|
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: [
|
|
@@ -29616,7 +29616,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29616
29616
|
"data-state": isOpen ? "open" : "closed",
|
|
29617
29617
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
29618
29618
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
29619
|
-
|
|
29619
|
+
_chunkOTN3X6EMcjs.OVERLAY_BACKDROP_CLASS,
|
|
29620
29620
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
29621
29621
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
29622
29622
|
)
|
|
@@ -29770,7 +29770,7 @@ function BoardColumnHeader({
|
|
|
29770
29770
|
}) {
|
|
29771
29771
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
29772
29772
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
29773
|
-
const useStatusVariant =
|
|
29773
|
+
const useStatusVariant = _chunkOTN3X6EMcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
29774
29774
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
29775
29775
|
if (collapsed) {
|
|
29776
29776
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -29786,7 +29786,7 @@ function BoardColumnHeader({
|
|
|
29786
29786
|
}
|
|
29787
29787
|
),
|
|
29788
29788
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29789
|
-
|
|
29789
|
+
_chunkOTN3X6EMcjs.TicketStatusTag,
|
|
29790
29790
|
{
|
|
29791
29791
|
status: tagStatus,
|
|
29792
29792
|
label: column.label,
|
|
@@ -29799,7 +29799,7 @@ function BoardColumnHeader({
|
|
|
29799
29799
|
}
|
|
29800
29800
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29801
29801
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29802
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29802
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
29803
29803
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
29804
29804
|
] }),
|
|
29805
29805
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -29951,7 +29951,7 @@ function holdMoveDragEffect(element) {
|
|
|
29951
29951
|
|
|
29952
29952
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
29953
29953
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
29954
|
-
const { innerRef, containerStyle } =
|
|
29954
|
+
const { innerRef, containerStyle } = _chunkOTN3X6EMcjs.useCollapsible.call(void 0, { expanded });
|
|
29955
29955
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
29956
29956
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
29957
29957
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29980,7 +29980,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
29980
29980
|
}
|
|
29981
29981
|
),
|
|
29982
29982
|
/* @__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,
|
|
29983
|
-
|
|
29983
|
+
_chunkOTN3X6EMcjs.ApprovalBatchMessage,
|
|
29984
29984
|
{
|
|
29985
29985
|
className: "mb-0",
|
|
29986
29986
|
data: {
|
|
@@ -30060,7 +30060,7 @@ function TicketCardBody({
|
|
|
30060
30060
|
onLinkClick
|
|
30061
30061
|
}) {
|
|
30062
30062
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
30063
|
-
const newMessageTextColor = columnColor ?
|
|
30063
|
+
const newMessageTextColor = columnColor ? _chunkOTN3X6EMcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
30064
30064
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _652 => _652.deviceHostnames, 'optionalAccess', _653 => _653.length]) || ticket.organizationName);
|
|
30065
30065
|
const deviceText = [_optionalChain([ticket, 'access', _654 => _654.deviceHostnames, 'optionalAccess', _655 => _655.join, 'call', _656 => _656(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
30066
30066
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _657 => _657.assignees, 'optionalAccess', _658 => _658.length]) || renderAssignSlot);
|
|
@@ -30082,7 +30082,7 @@ function TicketCardBody({
|
|
|
30082
30082
|
},
|
|
30083
30083
|
a.id
|
|
30084
30084
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30085
|
-
|
|
30085
|
+
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
30086
30086
|
{
|
|
30087
30087
|
src: a.avatarUrl,
|
|
30088
30088
|
alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
|
|
@@ -30099,8 +30099,8 @@ function TicketCardBody({
|
|
|
30099
30099
|
] })
|
|
30100
30100
|
] }) : null
|
|
30101
30101
|
] }) : null;
|
|
30102
|
-
const timestampLabel = ticket.createdAt ?
|
|
30103
|
-
const tooltipLabel = ticket.createdAt ?
|
|
30102
|
+
const timestampLabel = ticket.createdAt ? _chunkOTN3X6EMcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
30103
|
+
const tooltipLabel = ticket.createdAt ? _chunkOTN3X6EMcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
30104
30104
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
30105
30105
|
const metaClass = "truncate text-ods-text-secondary text-h6";
|
|
30106
30106
|
const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -30127,9 +30127,9 @@ function TicketCardBody({
|
|
|
30127
30127
|
rightSection
|
|
30128
30128
|
] }),
|
|
30129
30129
|
_optionalChain([ticket, 'access', _661 => _661.tags, 'optionalAccess', _662 => _662.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
30130
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30131
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30132
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30130
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOTN3X6EMcjs.Tooltip, { children: [
|
|
30131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipTrigger, { asChild: true, children: meta }),
|
|
30132
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.TooltipContent, { children: tooltipLabel })
|
|
30133
30133
|
] }) }) : meta),
|
|
30134
30134
|
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: [
|
|
30135
30135
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -30149,7 +30149,7 @@ function TicketCardBody({
|
|
|
30149
30149
|
}
|
|
30150
30150
|
),
|
|
30151
30151
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30152
|
-
|
|
30152
|
+
_chunkOTN3X6EMcjs.Tag,
|
|
30153
30153
|
{
|
|
30154
30154
|
label: "New Message",
|
|
30155
30155
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -30369,8 +30369,8 @@ function TicketTagRow({ tags }) {
|
|
|
30369
30369
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
30370
30370
|
const hidden = tags.length - visible.length;
|
|
30371
30371
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
30372
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30373
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30372
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
30373
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOTN3X6EMcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
30374
30374
|
] });
|
|
30375
30375
|
}
|
|
30376
30376
|
|
|
@@ -32071,4 +32071,4 @@ function SortableRow({
|
|
|
32071
32071
|
|
|
32072
32072
|
|
|
32073
32073
|
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.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; 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.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.benefitCardBorderClass = benefitCardBorderClass; 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.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; 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.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; 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.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; 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.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; 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.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.DataTableEmpty = DataTableEmpty; 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; exports.IconTile = IconTile;
|
|
32074
|
-
//# sourceMappingURL=chunk-
|
|
32074
|
+
//# sourceMappingURL=chunk-TZX72ME4.cjs.map
|