@flamingo-stack/openframe-frontend-core 0.0.594 → 0.0.595-snapshot.20260905150417
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-HQWZ4IXU.cjs → chunk-3CH6VRJX.cjs} +24 -24
- package/dist/{chunk-HQWZ4IXU.cjs.map → chunk-3CH6VRJX.cjs.map} +1 -1
- package/dist/{chunk-LKN2KKYZ.js → chunk-4K7TCJ35.js} +6 -59
- package/dist/{chunk-LKN2KKYZ.js.map → chunk-4K7TCJ35.js.map} +1 -1
- package/dist/{chunk-YLVPQNLO.cjs → chunk-5MSHWXJ5.cjs} +170 -223
- package/dist/chunk-5MSHWXJ5.cjs.map +1 -0
- package/dist/{chunk-CCLPJSY3.cjs → chunk-73BECFSU.cjs} +15 -15
- package/dist/{chunk-CCLPJSY3.cjs.map → chunk-73BECFSU.cjs.map} +1 -1
- package/dist/{chunk-F5Q3DTP5.js → chunk-7EUE3YTC.js} +8 -8
- package/dist/{chunk-GBIC3VNA.js → chunk-7KGN7DV6.js} +6 -6
- package/dist/{chunk-YZLUOZKR.js → chunk-7Q66A4CF.js} +2 -2
- package/dist/{chunk-DRZ224RU.js → chunk-ANSZVKI2.js} +8 -8
- package/dist/{chunk-N3RHX26N.js → chunk-AZZVSEP5.js} +3 -3
- package/dist/{chunk-66I2QUFE.cjs → chunk-B26UT36N.cjs} +6 -6
- package/dist/{chunk-66I2QUFE.cjs.map → chunk-B26UT36N.cjs.map} +1 -1
- package/dist/{chunk-UBRVIVY4.cjs → chunk-B2CSYMKW.cjs} +298 -285
- package/dist/chunk-B2CSYMKW.cjs.map +1 -0
- package/dist/{chunk-ZK3AZ5YF.cjs → chunk-BTOL222V.cjs} +11 -11
- package/dist/{chunk-ZK3AZ5YF.cjs.map → chunk-BTOL222V.cjs.map} +1 -1
- package/dist/{chunk-S7VW4HVL.cjs → chunk-DODE3PD4.cjs} +49 -49
- package/dist/{chunk-S7VW4HVL.cjs.map → chunk-DODE3PD4.cjs.map} +1 -1
- package/dist/{chunk-ZZHHKE2Q.js → chunk-ECXQX4EP.js} +2 -2
- package/dist/{chunk-NEFNARFF.cjs → chunk-EEV7SSBJ.cjs} +30 -30
- package/dist/{chunk-NEFNARFF.cjs.map → chunk-EEV7SSBJ.cjs.map} +1 -1
- package/dist/{chunk-3OQIZPUX.js → chunk-EO3NEGWB.js} +4 -4
- package/dist/{chunk-MOHSA65M.js → chunk-EZM5DNII.js} +2 -2
- package/dist/{chunk-IKQVXZB5.js → chunk-GSPS6Y5U.js} +6 -6
- package/dist/{chunk-CQ35OMPJ.cjs → chunk-I2BNLWC3.cjs} +3 -3
- package/dist/{chunk-CQ35OMPJ.cjs.map → chunk-I2BNLWC3.cjs.map} +1 -1
- package/dist/{chunk-HOLK4ZMT.js → chunk-II2GBWNW.js} +4 -4
- package/dist/{chunk-PETYVGEQ.cjs → chunk-JKGVXLTT.cjs} +5 -5
- package/dist/{chunk-PETYVGEQ.cjs.map → chunk-JKGVXLTT.cjs.map} +1 -1
- package/dist/{chunk-5EM6NGBK.cjs → chunk-KOQCA5X5.cjs} +17 -27
- package/dist/chunk-KOQCA5X5.cjs.map +1 -0
- package/dist/{chunk-ACU7J5BL.cjs → chunk-KPE7OQF6.cjs} +84 -84
- package/dist/{chunk-ACU7J5BL.cjs.map → chunk-KPE7OQF6.cjs.map} +1 -1
- package/dist/{chunk-C4YJC5X7.cjs → chunk-KRKW63LG.cjs} +9 -9
- package/dist/{chunk-C4YJC5X7.cjs.map → chunk-KRKW63LG.cjs.map} +1 -1
- package/dist/{chunk-ZEG3ZJPY.cjs → chunk-LE5SZPMN.cjs} +33 -33
- package/dist/{chunk-ZEG3ZJPY.cjs.map → chunk-LE5SZPMN.cjs.map} +1 -1
- package/dist/{chunk-A5AKGC4S.js → chunk-LPMDCQLL.js} +17 -27
- package/dist/chunk-LPMDCQLL.js.map +1 -0
- package/dist/{chunk-EWOFXJGH.cjs → chunk-M3OQLL7D.cjs} +63 -63
- package/dist/{chunk-EWOFXJGH.cjs.map → chunk-M3OQLL7D.cjs.map} +1 -1
- package/dist/{chunk-FKXDDJEQ.cjs → chunk-M4YQUHOR.cjs} +5 -5
- package/dist/{chunk-FKXDDJEQ.cjs.map → chunk-M4YQUHOR.cjs.map} +1 -1
- package/dist/{chunk-5XQMEDGE.cjs → chunk-OHJ4QOWN.cjs} +12 -12
- package/dist/{chunk-5XQMEDGE.cjs.map → chunk-OHJ4QOWN.cjs.map} +1 -1
- package/dist/{chunk-Y6I2DGKC.cjs → chunk-OMKI5T2G.cjs} +1 -1
- package/dist/chunk-OMKI5T2G.cjs.map +1 -0
- package/dist/{chunk-M5HGULIY.js → chunk-OQODJ26H.js} +5 -5
- package/dist/{chunk-MEWAFY6X.js → chunk-OT5IQMSI.js} +4 -4
- package/dist/{chunk-Y22VQDVW.js → chunk-QB244ZDI.js} +4 -4
- package/dist/{chunk-3T7ZP3TL.js → chunk-QL6ECU6Y.js} +3 -3
- package/dist/{chunk-3XDPXOMS.js → chunk-R2SZYRB2.js} +7 -7
- package/dist/{chunk-QAVT6P5F.cjs → chunk-RFA5T5MW.cjs} +28 -28
- package/dist/{chunk-QAVT6P5F.cjs.map → chunk-RFA5T5MW.cjs.map} +1 -1
- package/dist/{chunk-BTF3CNDP.js → chunk-ROQO355A.js} +1 -1
- package/dist/chunk-ROQO355A.js.map +1 -0
- package/dist/{chunk-43ADGEWL.cjs → chunk-UJAMXLA3.cjs} +40 -40
- package/dist/{chunk-43ADGEWL.cjs.map → chunk-UJAMXLA3.cjs.map} +1 -1
- package/dist/{chunk-KVNA3HU2.js → chunk-XANQTIHS.js} +3 -3
- package/dist/{chunk-PMN7WDXI.js → chunk-YUHOKPKS.js} +26 -13
- package/dist/chunk-YUHOKPKS.js.map +1 -0
- package/dist/components/case-studies/index.cjs +16 -16
- package/dist/components/case-studies/index.js +6 -6
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/contact/index.js +6 -6
- package/dist/components/docs/index.cjs +10 -10
- package/dist/components/docs/index.js +9 -9
- package/dist/components/embeds/index.cjs +7 -7
- package/dist/components/embeds/index.js +6 -6
- package/dist/components/faq/index.cjs +7 -7
- package/dist/components/faq/index.js +6 -6
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/features/index.js +5 -5
- package/dist/components/help-center-pages/index.cjs +26 -26
- package/dist/components/help-center-pages/index.js +17 -17
- package/dist/components/icons/index.cjs +2 -2
- package/dist/components/icons/index.js +1 -1
- package/dist/components/icons/mlg-logo.d.ts.map +1 -1
- package/dist/components/index.cjs +56 -56
- package/dist/components/index.js +17 -17
- package/dist/components/meeting-scheduler/booking-form.d.ts +49 -5
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.d.ts +9 -1
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +369 -186
- package/dist/components/meeting-scheduler/index.cjs.map +1 -1
- package/dist/components/meeting-scheduler/index.d.ts +55 -1
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +344 -161
- package/dist/components/meeting-scheduler/index.js.map +1 -1
- package/dist/components/meeting-scheduler/slot-picker.d.ts +8 -1
- package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +9 -9
- package/dist/components/navigation/index.js +8 -8
- package/dist/components/onboarding-guides/index.cjs +9 -9
- package/dist/components/onboarding-guides/index.js +8 -8
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +10 -10
- package/dist/components/tickets/index.js +9 -9
- package/dist/components/ui/benefit-card.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +6 -6
- package/dist/components/ui/index.js +5 -5
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +10 -10
- package/dist/index.js +9 -9
- package/dist/schemas/meeting-booking-schema.cjs +19 -4
- package/dist/schemas/meeting-booking-schema.cjs.map +1 -1
- package/dist/schemas/meeting-booking-schema.d.ts +41 -16
- package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
- package/dist/schemas/meeting-booking-schema.js +19 -5
- package/dist/schemas/meeting-booking-schema.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.cjs +18 -40
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +18 -40
- package/dist/utils/index.js.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 +0 -57
- package/src/components/icons/mlg-logo.tsx +1 -7
- package/src/components/meeting-scheduler/booking-form.tsx +371 -152
- package/src/components/meeting-scheduler/context-panel.tsx +13 -3
- package/src/components/meeting-scheduler/index.tsx +316 -69
- package/src/components/meeting-scheduler/slot-picker.tsx +17 -1
- package/src/components/ui/benefit-card.tsx +30 -9
- package/src/schemas/meeting-booking-schema.ts +58 -4
- package/src/types/tmcg.ts +0 -2
- package/src/utils/format.ts +1 -1
- package/src/utils/source-icons.ts +0 -24
- package/dist/chunk-5EM6NGBK.cjs.map +0 -1
- package/dist/chunk-A5AKGC4S.js.map +0 -1
- package/dist/chunk-BTF3CNDP.js.map +0 -1
- package/dist/chunk-PMN7WDXI.js.map +0 -1
- package/dist/chunk-UBRVIVY4.cjs.map +0 -1
- package/dist/chunk-Y6I2DGKC.cjs.map +0 -1
- package/dist/chunk-YLVPQNLO.cjs.map +0 -1
- /package/dist/{chunk-F5Q3DTP5.js.map → chunk-7EUE3YTC.js.map} +0 -0
- /package/dist/{chunk-GBIC3VNA.js.map → chunk-7KGN7DV6.js.map} +0 -0
- /package/dist/{chunk-YZLUOZKR.js.map → chunk-7Q66A4CF.js.map} +0 -0
- /package/dist/{chunk-DRZ224RU.js.map → chunk-ANSZVKI2.js.map} +0 -0
- /package/dist/{chunk-N3RHX26N.js.map → chunk-AZZVSEP5.js.map} +0 -0
- /package/dist/{chunk-ZZHHKE2Q.js.map → chunk-ECXQX4EP.js.map} +0 -0
- /package/dist/{chunk-3OQIZPUX.js.map → chunk-EO3NEGWB.js.map} +0 -0
- /package/dist/{chunk-MOHSA65M.js.map → chunk-EZM5DNII.js.map} +0 -0
- /package/dist/{chunk-IKQVXZB5.js.map → chunk-GSPS6Y5U.js.map} +0 -0
- /package/dist/{chunk-HOLK4ZMT.js.map → chunk-II2GBWNW.js.map} +0 -0
- /package/dist/{chunk-M5HGULIY.js.map → chunk-OQODJ26H.js.map} +0 -0
- /package/dist/{chunk-MEWAFY6X.js.map → chunk-OT5IQMSI.js.map} +0 -0
- /package/dist/{chunk-Y22VQDVW.js.map → chunk-QB244ZDI.js.map} +0 -0
- /package/dist/{chunk-3T7ZP3TL.js.map → chunk-QL6ECU6Y.js.map} +0 -0
- /package/dist/{chunk-3XDPXOMS.js.map → chunk-R2SZYRB2.js.map} +0 -0
- /package/dist/{chunk-KVNA3HU2.js.map → chunk-XANQTIHS.js.map} +0 -0
|
@@ -22,7 +22,7 @@ var _chunkTON3YCCWcjs = require('./chunk-TON3YCCW.cjs');
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkM4YQUHORcjs = require('./chunk-M4YQUHOR.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
var _chunkN6CULJYRcjs = require('./chunk-N6CULJYR.cjs');
|
|
@@ -90,7 +90,7 @@ var _chunkY7ITKISQcjs = require('./chunk-Y7ITKISQ.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunk5MSHWXJ5cjs = require('./chunk-5MSHWXJ5.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -145,7 +145,7 @@ var _chunkSADRZ4YIcjs = require('./chunk-SADRZ4YI.cjs');
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
|
|
148
|
-
var
|
|
148
|
+
var _chunkKOQCA5X5cjs = require('./chunk-KOQCA5X5.cjs');
|
|
149
149
|
|
|
150
150
|
|
|
151
151
|
|
|
@@ -228,7 +228,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
|
|
231
|
-
var
|
|
231
|
+
var _chunkOMKI5T2Gcjs = require('./chunk-OMKI5T2G.cjs');
|
|
232
232
|
|
|
233
233
|
|
|
234
234
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -343,7 +343,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
343
343
|
var useTheme = _nextthemes.useTheme;
|
|
344
344
|
function useThemeToggle() {
|
|
345
345
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
346
|
-
const mounted =
|
|
346
|
+
const mounted = _chunk5MSHWXJ5cjs.useIsHydrated.call(void 0, );
|
|
347
347
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
348
348
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
349
349
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -620,7 +620,7 @@ function TruncateText({
|
|
|
620
620
|
const { ref, isTruncated } = _chunkYXWGSDK4cjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
621
621
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
622
622
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
623
|
-
|
|
623
|
+
_chunk5MSHWXJ5cjs.FloatingTooltip,
|
|
624
624
|
{
|
|
625
625
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
626
626
|
side,
|
|
@@ -705,7 +705,7 @@ function AutocompleteInner(props, ref) {
|
|
|
705
705
|
};
|
|
706
706
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
707
707
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
708
|
-
const keyboardPadding =
|
|
708
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
709
709
|
const containerRef = _react.useRef.call(void 0, null);
|
|
710
710
|
const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
|
|
711
711
|
const isInvalid = invalid || !!error;
|
|
@@ -723,7 +723,7 @@ function AutocompleteInner(props, ref) {
|
|
|
723
723
|
textMeasureRef,
|
|
724
724
|
badgeRef,
|
|
725
725
|
inputRef
|
|
726
|
-
} =
|
|
726
|
+
} = _chunkM4YQUHORcjs.useAutoLimitTags.call(void 0, {
|
|
727
727
|
count: multiple ? selectedOptions.length : 0,
|
|
728
728
|
limitTags: multiple ? limitTagsProp : 0,
|
|
729
729
|
placeholder: inputPlaceholder
|
|
@@ -927,7 +927,7 @@ function AutocompleteInner(props, ref) {
|
|
|
927
927
|
),
|
|
928
928
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
929
929
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
930
|
-
|
|
930
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
931
931
|
{
|
|
932
932
|
variant: "outline",
|
|
933
933
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1141,7 +1141,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1141
1141
|
"aria-hidden": "true",
|
|
1142
1142
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1143
1143
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1144
|
-
|
|
1144
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
1145
1145
|
{
|
|
1146
1146
|
variant: "outline",
|
|
1147
1147
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2525,7 +2525,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2525
2525
|
const describedById = _react.useId.call(void 0, );
|
|
2526
2526
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2527
2527
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2528
|
-
|
|
2528
|
+
_chunk5MSHWXJ5cjs.FloatingTooltip,
|
|
2529
2529
|
{
|
|
2530
2530
|
content: children,
|
|
2531
2531
|
side,
|
|
@@ -2619,7 +2619,7 @@ function Value2({ value, depth }) {
|
|
|
2619
2619
|
}
|
|
2620
2620
|
if (typeof value === "string") {
|
|
2621
2621
|
if (ISO_DATE.test(value)) {
|
|
2622
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2622
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk5MSHWXJ5cjs.formatRelativeTime.call(void 0, value) });
|
|
2623
2623
|
}
|
|
2624
2624
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2625
2625
|
}
|
|
@@ -2801,7 +2801,7 @@ function InfoCardFooter({ footer }) {
|
|
|
2801
2801
|
] });
|
|
2802
2802
|
}
|
|
2803
2803
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
2804
|
-
const { copy, copied } =
|
|
2804
|
+
const { copy, copied } = _chunkM4YQUHORcjs.useCopyToClipboard.call(void 0, );
|
|
2805
2805
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 w-full items-center gap-[var(--spacing-system-xs)] self-stretch", children: [
|
|
2806
2806
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
|
|
2807
2807
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-divider" }),
|
|
@@ -2891,7 +2891,7 @@ function SearchableSelect({
|
|
|
2891
2891
|
}) {
|
|
2892
2892
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
2893
2893
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
2894
|
-
const keyboardPadding =
|
|
2894
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
2895
2895
|
if (!isOpen && search !== "") setSearch("");
|
|
2896
2896
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
2897
2897
|
const q = search.trim().toLowerCase();
|
|
@@ -3014,7 +3014,7 @@ function CompactAssigneeDropdown({
|
|
|
3014
3014
|
value: o.value,
|
|
3015
3015
|
label: o.label,
|
|
3016
3016
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3017
|
-
|
|
3017
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3018
3018
|
{
|
|
3019
3019
|
src: o.imageUrl,
|
|
3020
3020
|
alt: o.label,
|
|
@@ -3049,7 +3049,7 @@ function CompactAssigneeDropdown({
|
|
|
3049
3049
|
className
|
|
3050
3050
|
),
|
|
3051
3051
|
children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3052
|
-
|
|
3052
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3053
3053
|
{
|
|
3054
3054
|
src: currentAssignee.avatarSrc,
|
|
3055
3055
|
alt: currentAssignee.name,
|
|
@@ -3097,7 +3097,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3097
3097
|
const opt = option;
|
|
3098
3098
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
|
|
3099
3099
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3100
|
-
|
|
3100
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3101
3101
|
{
|
|
3102
3102
|
src: opt.imageUrl,
|
|
3103
3103
|
alt: opt.label,
|
|
@@ -3132,7 +3132,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3132
3132
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3133
3133
|
}
|
|
3134
3134
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3135
|
-
|
|
3135
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3136
3136
|
{
|
|
3137
3137
|
src: currentAssignee.avatarSrc,
|
|
3138
3138
|
alt: currentAssignee.name,
|
|
@@ -3157,7 +3157,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3157
3157
|
accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
|
|
3158
3158
|
}
|
|
3159
3159
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3160
|
-
|
|
3160
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3161
3161
|
{
|
|
3162
3162
|
src: currentAssignee.avatarSrc,
|
|
3163
3163
|
alt: currentAssignee.name,
|
|
@@ -3231,7 +3231,7 @@ function TextValue({ value }) {
|
|
|
3231
3231
|
}
|
|
3232
3232
|
) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
|
|
3233
3233
|
hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3234
|
-
|
|
3234
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
3235
3235
|
{
|
|
3236
3236
|
src: imageSrc,
|
|
3237
3237
|
alt: text,
|
|
@@ -3251,7 +3251,7 @@ function RowValue({ value }) {
|
|
|
3251
3251
|
}
|
|
3252
3252
|
case "status": {
|
|
3253
3253
|
const { type: _type, ...props } = value;
|
|
3254
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3254
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TicketStatusTag, { ...props });
|
|
3255
3255
|
}
|
|
3256
3256
|
case "custom":
|
|
3257
3257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -3767,7 +3767,7 @@ function TagSelectDropdown({
|
|
|
3767
3767
|
}) {
|
|
3768
3768
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
3769
3769
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3770
|
-
const keyboardPadding =
|
|
3770
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3771
3771
|
if (!isOpen && search !== "") setSearch("");
|
|
3772
3772
|
const query = search.trim();
|
|
3773
3773
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
@@ -4059,7 +4059,7 @@ function TagsManager({
|
|
|
4059
4059
|
}) {
|
|
4060
4060
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
4061
4061
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
4062
|
-
const keyboardPadding =
|
|
4062
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
4063
4063
|
const [editingId, setEditingId] = _react.useState.call(void 0, null);
|
|
4064
4064
|
const [editingName, setEditingName] = _react.useState.call(void 0, "");
|
|
4065
4065
|
const editInputRef = _react.useRef.call(void 0, null);
|
|
@@ -4162,7 +4162,7 @@ function TagsManager({
|
|
|
4162
4162
|
}
|
|
4163
4163
|
),
|
|
4164
4164
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4165
|
-
|
|
4165
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
4166
4166
|
{
|
|
4167
4167
|
label: tag.name,
|
|
4168
4168
|
variant: "outline",
|
|
@@ -4707,10 +4707,10 @@ function useConfirm() {
|
|
|
4707
4707
|
},
|
|
4708
4708
|
[]
|
|
4709
4709
|
);
|
|
4710
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4711
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4712
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4713
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4710
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4711
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: pending.title }) }),
|
|
4712
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4713
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: [
|
|
4714
4714
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4715
4715
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4716
4716
|
] })
|
|
@@ -4768,9 +4768,9 @@ function AdminFormModal({
|
|
|
4768
4768
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4769
4769
|
});
|
|
4770
4770
|
if (!isOpen) return null;
|
|
4771
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4772
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4773
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4771
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4772
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: [
|
|
4773
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: title }),
|
|
4774
4774
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4775
4775
|
] }),
|
|
4776
4776
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4794,7 +4794,7 @@ function AdminFormModal({
|
|
|
4794
4794
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4795
4795
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4796
4796
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4797
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4797
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4798
4798
|
"div",
|
|
4799
4799
|
{
|
|
4800
4800
|
"aria-busy": "true",
|
|
@@ -4815,12 +4815,12 @@ function AdminFormModal({
|
|
|
4815
4815
|
]
|
|
4816
4816
|
}
|
|
4817
4817
|
) })
|
|
4818
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4818
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalContent, { className: contentClassName, children }),
|
|
4819
4819
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4820
4820
|
]
|
|
4821
4821
|
}
|
|
4822
4822
|
),
|
|
4823
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4823
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4824
4824
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4825
4825
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4826
4826
|
footerStatus,
|
|
@@ -6067,14 +6067,14 @@ var KIND_HEADING = {
|
|
|
6067
6067
|
design: "Claude Design"
|
|
6068
6068
|
};
|
|
6069
6069
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6070
|
-
const { src: mirrorSrc, status } =
|
|
6070
|
+
const { src: mirrorSrc, status } = _chunkM4YQUHORcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6071
6071
|
const isProbing = status === "probing";
|
|
6072
|
-
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => (
|
|
6072
|
+
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkM4YQUHORcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6073
6073
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6074
6074
|
EmbedViewerFrame,
|
|
6075
6075
|
{
|
|
6076
6076
|
className: "my-6 space-y-3",
|
|
6077
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6077
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.ClaudeIcon, { className: "h-5 w-5 shrink-0" }),
|
|
6078
6078
|
title: _optionalChain([title, 'optionalAccess', _122 => _122.trim, 'call', _123 => _123()]) || KIND_HEADING[kind],
|
|
6079
6079
|
titleVariant: "h6",
|
|
6080
6080
|
isLoading: isProbing,
|
|
@@ -6085,7 +6085,7 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
|
|
|
6085
6085
|
size: "small-legacy",
|
|
6086
6086
|
href: url,
|
|
6087
6087
|
openInNewTab: true,
|
|
6088
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6088
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.ClaudeIcon, { className: "h-4 w-4" }),
|
|
6089
6089
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }),
|
|
6090
6090
|
className: "w-full sm:w-auto",
|
|
6091
6091
|
children: "Open in Claude"
|
|
@@ -6098,7 +6098,7 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
|
|
|
6098
6098
|
allow: "clipboard-write; clipboard-read; fullscreen",
|
|
6099
6099
|
sandbox: mirrorSrc ? "allow-scripts allow-popups allow-forms" : "allow-scripts allow-same-origin allow-popups allow-forms",
|
|
6100
6100
|
allowFullScreen: true,
|
|
6101
|
-
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6101
|
+
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.ClaudeIcon, { className: "mb-4 h-16 w-16" }),
|
|
6102
6102
|
emptyMessage: "Open this one in Claude \xB7 it has no embeddable view"
|
|
6103
6103
|
}
|
|
6104
6104
|
);
|
|
@@ -6144,12 +6144,12 @@ function SlidesViewToggle({ view, onChange }) {
|
|
|
6144
6144
|
}
|
|
6145
6145
|
function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
6146
6146
|
const [view, setView] = _react.useState.call(void 0, "present");
|
|
6147
|
-
const isSlides = url ?
|
|
6148
|
-
const embedSrc = url ?
|
|
6147
|
+
const isSlides = url ? _chunkM4YQUHORcjs.isFigmaSlidesUrl.call(void 0, url) : false;
|
|
6148
|
+
const embedSrc = url ? _chunkM4YQUHORcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
|
|
6149
6149
|
const originalUrl = (() => {
|
|
6150
6150
|
if (!url) return null;
|
|
6151
6151
|
try {
|
|
6152
|
-
const parsed = new URL(
|
|
6152
|
+
const parsed = new URL(_chunkM4YQUHORcjs.toFigmaOriginalUrl.call(void 0, url));
|
|
6153
6153
|
const host = parsed.hostname.toLowerCase();
|
|
6154
6154
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
6155
6155
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
@@ -6918,7 +6918,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6918
6918
|
};
|
|
6919
6919
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6920
6920
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6921
|
-
|
|
6921
|
+
_chunk5MSHWXJ5cjs.Video,
|
|
6922
6922
|
{
|
|
6923
6923
|
url: item.src,
|
|
6924
6924
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7350,7 +7350,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
7350
7350
|
width: m.width,
|
|
7351
7351
|
height: m.height
|
|
7352
7352
|
}));
|
|
7353
|
-
const formatNumber2 =
|
|
7353
|
+
const formatNumber2 = _chunkOMKI5T2Gcjs.formatLargeNumber;
|
|
7354
7354
|
const truncateText = (text, maxLength = 600) => {
|
|
7355
7355
|
if (text.length <= maxLength) return text;
|
|
7356
7356
|
return text.slice(0, maxLength) + "...";
|
|
@@ -7442,7 +7442,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7442
7442
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2" }),
|
|
7443
7443
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "12", cy: "7", r: "4" })
|
|
7444
7444
|
] });
|
|
7445
|
-
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7445
|
+
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.XLogo, { className: "h-5 w-5", color: "currentColor" });
|
|
7446
7446
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
7447
7447
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7448
7448
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
@@ -7642,7 +7642,7 @@ function buildRichEmbedOverrides({
|
|
|
7642
7642
|
ogEndpointPath,
|
|
7643
7643
|
textSizes
|
|
7644
7644
|
}) {
|
|
7645
|
-
const standard =
|
|
7645
|
+
const standard = _chunk5MSHWXJ5cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7646
7646
|
return {
|
|
7647
7647
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7648
7648
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7652,7 +7652,7 @@ function buildRichEmbedOverrides({
|
|
|
7652
7652
|
const language = match ? match[1] : "";
|
|
7653
7653
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7654
7654
|
if (language === "youtube-embed") {
|
|
7655
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7655
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "youtube", url: fenceText() });
|
|
7656
7656
|
}
|
|
7657
7657
|
if (language === "reddit-embed") {
|
|
7658
7658
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7693,7 +7693,7 @@ function buildRichEmbedOverrides({
|
|
|
7693
7693
|
"data-figma-url": figmaUrl
|
|
7694
7694
|
} = divProps;
|
|
7695
7695
|
if (className === "youtube-embed" && videoId) {
|
|
7696
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7696
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "youtube", url: videoId });
|
|
7697
7697
|
}
|
|
7698
7698
|
if (className === "reddit-embed" && postUrl) {
|
|
7699
7699
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7778,14 +7778,14 @@ function buildRichEmbedOverrides({
|
|
|
7778
7778
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7779
7779
|
// elsewhere). Guard against empty `![]()`.
|
|
7780
7780
|
img: ({ src, alt }) => {
|
|
7781
|
-
if (!
|
|
7781
|
+
if (!_chunk5MSHWXJ5cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7782
7782
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7783
7783
|
},
|
|
7784
7784
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7785
7785
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7786
7786
|
video: ({ src, poster, className }) => {
|
|
7787
|
-
if (!
|
|
7788
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7787
|
+
if (!_chunk5MSHWXJ5cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7788
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7789
7789
|
}
|
|
7790
7790
|
};
|
|
7791
7791
|
}
|
|
@@ -8026,13 +8026,13 @@ var RichMarkdownInner = ({
|
|
|
8026
8026
|
},
|
|
8027
8027
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8028
8028
|
);
|
|
8029
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8029
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunk5MSHWXJ5cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8030
8030
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8031
8031
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8032
8032
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8033
8033
|
);
|
|
8034
8034
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8035
|
-
|
|
8035
|
+
_chunk5MSHWXJ5cjs.MarkdownEngine,
|
|
8036
8036
|
{
|
|
8037
8037
|
content,
|
|
8038
8038
|
className,
|
|
@@ -8054,7 +8054,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8054
8054
|
className = "",
|
|
8055
8055
|
sectionIds,
|
|
8056
8056
|
onInternalLinkClick,
|
|
8057
|
-
brokenLinks =
|
|
8057
|
+
brokenLinks = _chunk5MSHWXJ5cjs.NO_BROKEN_LINKS,
|
|
8058
8058
|
currentPath,
|
|
8059
8059
|
resolveSource = "openframe-docs",
|
|
8060
8060
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8259,7 +8259,7 @@ function StackedRowsPanel({ rows, title, className }) {
|
|
|
8259
8259
|
|
|
8260
8260
|
function SlackChannelChip({ name, href, className }) {
|
|
8261
8261
|
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "inline-flex items-center gap-1 align-baseline text-ods-text-primary", className), children: [
|
|
8262
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8262
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.SlackIcon, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8263
8263
|
name ? `#${name}` : "Slack"
|
|
8264
8264
|
] });
|
|
8265
8265
|
if (!href) return inner;
|
|
@@ -8627,7 +8627,7 @@ function FilterModal({
|
|
|
8627
8627
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.defaultSort]), () => ( "desc"));
|
|
8628
8628
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _163 => _163.sort]), () => ( dateDefaultSort)));
|
|
8629
8629
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _164 => _164.range]));
|
|
8630
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8630
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk5MSHWXJ5cjs.useScrollFade.call(void 0, );
|
|
8631
8631
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8632
8632
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8633
8633
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8672,10 +8672,10 @@ function FilterModal({
|
|
|
8672
8672
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8673
8673
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8674
8674
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8675
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8676
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8675
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen, onClose, className: _chunk23V5BSHDcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8676
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: title }) }),
|
|
8677
8677
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8678
|
-
|
|
8678
|
+
_chunk5MSHWXJ5cjs.ModalContent,
|
|
8679
8679
|
{
|
|
8680
8680
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
8681
8681
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8767,12 +8767,12 @@ function FilterModal({
|
|
|
8767
8767
|
] })
|
|
8768
8768
|
}
|
|
8769
8769
|
),
|
|
8770
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8771
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8771
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8772
8772
|
] })
|
|
8773
8773
|
}
|
|
8774
8774
|
),
|
|
8775
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8775
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: [
|
|
8776
8776
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8777
8777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8778
8778
|
] })
|
|
@@ -8816,9 +8816,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8816
8816
|
function renderActionButton(action, opts = {}) {
|
|
8817
8817
|
const button = renderRawActionButton(action, opts);
|
|
8818
8818
|
if (!action.tooltip) return button;
|
|
8819
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8820
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8821
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8819
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { children: [
|
|
8820
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8821
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { children: action.tooltip })
|
|
8822
8822
|
] }) });
|
|
8823
8823
|
}
|
|
8824
8824
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8842,7 +8842,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8842
8842
|
}
|
|
8843
8843
|
if (action.submenu && action.submenu.length > 0) {
|
|
8844
8844
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8845
|
-
|
|
8845
|
+
_chunk5MSHWXJ5cjs.ActionsMenuDropdown,
|
|
8846
8846
|
{
|
|
8847
8847
|
groups: [{ items: action.submenu }],
|
|
8848
8848
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8977,10 +8977,10 @@ function IconButtonsVariant({
|
|
|
8977
8977
|
selector,
|
|
8978
8978
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8979
8979
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8980
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8980
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8981
8981
|
] })
|
|
8982
8982
|
] }),
|
|
8983
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8984
8984
|
] });
|
|
8985
8985
|
}
|
|
8986
8986
|
function PrimaryButtonsVariant({
|
|
@@ -9018,7 +9018,7 @@ function MenuPrimaryVariant({
|
|
|
9018
9018
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9019
9019
|
selector,
|
|
9020
9020
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9021
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9021
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9022
9022
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9023
9023
|
] })
|
|
9024
9024
|
] }),
|
|
@@ -9026,7 +9026,7 @@ function MenuPrimaryVariant({
|
|
|
9026
9026
|
// The selector rides into the menu as its header row: on mobile the
|
|
9027
9027
|
// title row has no room for it, and hiding it entirely (what
|
|
9028
9028
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9030
9030
|
) : null })
|
|
9031
9031
|
] });
|
|
9032
9032
|
}
|
|
@@ -9321,7 +9321,7 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
|
|
|
9321
9321
|
const [failedSrc, setFailedSrc] = _react2.default.useState(null);
|
|
9322
9322
|
const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
|
|
9323
9323
|
const showFallback = imageFailed || !resolvedSrc;
|
|
9324
|
-
const initials =
|
|
9324
|
+
const initials = _chunkOMKI5T2Gcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
|
|
9325
9325
|
if (showFallback) {
|
|
9326
9326
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9327
9327
|
"div",
|
|
@@ -9432,7 +9432,7 @@ function TitleBlock({
|
|
|
9432
9432
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9433
9433
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9434
9434
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9435
|
-
|
|
9435
|
+
_chunk5MSHWXJ5cjs.FloatingTooltip,
|
|
9436
9436
|
{
|
|
9437
9437
|
content: title,
|
|
9438
9438
|
side: "bottom",
|
|
@@ -9449,12 +9449,12 @@ function TitleBlock({
|
|
|
9449
9449
|
}
|
|
9450
9450
|
),
|
|
9451
9451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9452
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9452
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9453
9453
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9454
9454
|
empty `p` collapses to zero height (its only content would be
|
|
9455
9455
|
collapsible whitespace), which is exactly the shift that mode
|
|
9456
9456
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9458
9458
|
"p",
|
|
9459
9459
|
{
|
|
9460
9460
|
ref: subtitleRef,
|
|
@@ -9465,7 +9465,7 @@ function TitleBlock({
|
|
|
9465
9465
|
) })
|
|
9466
9466
|
] })
|
|
9467
9467
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9468
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9468
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9469
9469
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9470
9470
|
] }) : (
|
|
9471
9471
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -9688,9 +9688,9 @@ function brandMarkDataUri(name) {
|
|
|
9688
9688
|
|
|
9689
9689
|
// src/utils/os-platforms.ts
|
|
9690
9690
|
var OS_PLATFORMS = [
|
|
9691
|
-
{ id: "windows", name: "Windows", icon:
|
|
9692
|
-
{ id: "linux", name: "Linux", icon:
|
|
9693
|
-
{ id: "darwin", name: "MacOS", icon:
|
|
9691
|
+
{ id: "windows", name: "Windows", icon: _chunkKOQCA5X5cjs.WindowsIcon },
|
|
9692
|
+
{ id: "linux", name: "Linux", icon: _chunkKOQCA5X5cjs.LinuxIcon },
|
|
9693
|
+
{ id: "darwin", name: "MacOS", icon: _chunkKOQCA5X5cjs.MacOSIcon }
|
|
9694
9694
|
];
|
|
9695
9695
|
var DEFAULT_OS_PLATFORM = "windows";
|
|
9696
9696
|
|
|
@@ -9935,12 +9935,12 @@ var ShellTypeValues = {
|
|
|
9935
9935
|
};
|
|
9936
9936
|
var SHELL_TYPES = [
|
|
9937
9937
|
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkGSQM4PDRcjs.PowershellLogoIcon },
|
|
9938
|
-
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon:
|
|
9939
|
-
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon:
|
|
9938
|
+
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon: _chunkKOQCA5X5cjs.CmdIcon },
|
|
9939
|
+
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkKOQCA5X5cjs.BashIcon },
|
|
9940
9940
|
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon: _chunkGSQM4PDRcjs.PythonLogoIcon },
|
|
9941
|
-
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon:
|
|
9942
|
-
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon:
|
|
9943
|
-
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon:
|
|
9941
|
+
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon: _chunkKOQCA5X5cjs.NushellIcon },
|
|
9942
|
+
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon: _chunkKOQCA5X5cjs.DenoIcon },
|
|
9943
|
+
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon: _chunkKOQCA5X5cjs.ShellIcon }
|
|
9944
9944
|
];
|
|
9945
9945
|
var shellLabels = {
|
|
9946
9946
|
[ShellTypeValues.POWERSHELL]: "PowerShell",
|
|
@@ -10880,7 +10880,7 @@ function lastPathSegment(url) {
|
|
|
10880
10880
|
function makeComposeContentUrl(opts) {
|
|
10881
10881
|
const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
|
|
10882
10882
|
return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
|
|
10883
|
-
const type =
|
|
10883
|
+
const type = _chunkOMKI5T2Gcjs.canonicalContentRefType.call(void 0, rawType);
|
|
10884
10884
|
const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
|
|
10885
10885
|
if (override) return { ...override(identifier), hostOverride: true };
|
|
10886
10886
|
const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
|
|
@@ -11067,7 +11067,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11067
11067
|
if (heading.level > opts.maxLevel) continue;
|
|
11068
11068
|
let title = heading.text;
|
|
11069
11069
|
if (opts.stripFormattingMarkers) {
|
|
11070
|
-
title =
|
|
11070
|
+
title = _chunk5MSHWXJ5cjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11071
11071
|
}
|
|
11072
11072
|
const baseId = _chunkYXWGSDK4cjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkYXWGSDK4cjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11073
11073
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11259,29 +11259,26 @@ var BenefitCard = ({
|
|
|
11259
11259
|
variant = "default",
|
|
11260
11260
|
className = ""
|
|
11261
11261
|
}) => {
|
|
11262
|
-
const
|
|
11263
|
-
const gap = cardVariant === "auth-figma" ? "gap-4" : "gap-2";
|
|
11264
|
-
return `flex ${gap} items-start justify-start relative`;
|
|
11265
|
-
};
|
|
11262
|
+
const baseStyles = "flex items-start justify-start relative";
|
|
11266
11263
|
const variantStyles2 = {
|
|
11267
11264
|
default: {
|
|
11268
|
-
container: "bg-ods-bg p-2 md:p-4",
|
|
11265
|
+
container: "gap-2 bg-ods-bg p-2 md:p-4",
|
|
11269
11266
|
title: "font-body font-bold text-body-md md:text-body-lg text-ods-text-primary",
|
|
11270
11267
|
description: "font-body font-medium text-body-sm md:text-body-md text-ods-text-secondary"
|
|
11271
11268
|
},
|
|
11272
11269
|
dark: {
|
|
11273
|
-
container: "bg-transparent p-0 shadow-[0px_48px_80px_0px_rgba(0,0,0,0.24)]",
|
|
11270
|
+
container: "gap-2 bg-transparent p-0 shadow-[0px_48px_80px_0px_rgba(0,0,0,0.24)]",
|
|
11274
11271
|
title: "font-mono font-semibold text-heading-4 leading-[40px] text-ods-text-primary tracking-[-0.64px]",
|
|
11275
11272
|
description: "font-body font-medium text-body-lg leading-6 text-ods-text-tertiary"
|
|
11276
11273
|
},
|
|
11277
11274
|
"auth-figma": {
|
|
11278
|
-
container: "bg-transparent p-6",
|
|
11275
|
+
container: "gap-4 bg-transparent p-6",
|
|
11279
11276
|
title: "text-h3 text-ods-text-primary tracking-[-0.36px]",
|
|
11280
11277
|
description: "text-h4 text-ods-text-secondary"
|
|
11281
11278
|
}
|
|
11282
11279
|
};
|
|
11283
11280
|
const styles = variantStyles2[variant];
|
|
11284
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
11281
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, baseStyles, styles.container, className), children: [
|
|
11285
11282
|
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: icon }),
|
|
11286
11283
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
11287
11284
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: _chunk23V5BSHDcjs.cn.call(void 0, styles.title), children: title }),
|
|
@@ -11312,6 +11309,22 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
11312
11309
|
!isInLastRow && "border-b md:border-b lg:border-b-0",
|
|
11313
11310
|
index < 2 && "lg:border-b-0"
|
|
11314
11311
|
);
|
|
11312
|
+
} else if (columns === 3) {
|
|
11313
|
+
const isLastInMdRow = (index + 1) % 2 === 0;
|
|
11314
|
+
const isInLastMdRow = index >= totalItems - (totalItems % 2 === 0 ? 2 : 1);
|
|
11315
|
+
const isLastInLgRow = (index + 1) % 3 === 0;
|
|
11316
|
+
const isInLastLgRow = index >= totalItems - (totalItems % 3 === 0 ? 3 : totalItems % 3);
|
|
11317
|
+
borderClass = _chunk23V5BSHDcjs.cn.call(void 0,
|
|
11318
|
+
"border-ods-border",
|
|
11319
|
+
!isLastItem && "border-b",
|
|
11320
|
+
isInLastMdRow && "md:border-b-0",
|
|
11321
|
+
!isLastInMdRow && !isLastItem && "md:border-r",
|
|
11322
|
+
isLastInMdRow && "md:border-r-0",
|
|
11323
|
+
isInLastLgRow && "lg:border-b-0",
|
|
11324
|
+
!isInLastMdRow && !isInLastLgRow && "lg:border-b",
|
|
11325
|
+
!isLastInLgRow && !isLastItem && "lg:border-r",
|
|
11326
|
+
isLastInLgRow && "lg:border-r-0"
|
|
11327
|
+
);
|
|
11315
11328
|
} else {
|
|
11316
11329
|
borderClass = isLastItem ? "border-b-0" : "border-b md:border-b-0 md:border-r border-ods-border";
|
|
11317
11330
|
}
|
|
@@ -11397,7 +11410,7 @@ var spacingMap = {
|
|
|
11397
11410
|
function BulletList({
|
|
11398
11411
|
items,
|
|
11399
11412
|
bulletColor = "var(--color-text-primary)",
|
|
11400
|
-
bulletIcon: BulletIcon =
|
|
11413
|
+
bulletIcon: BulletIcon = _chunkKOQCA5X5cjs.ShapeCircleDashIcon,
|
|
11401
11414
|
bulletSize = 16,
|
|
11402
11415
|
textClassName = "text-h4 text-ods-text-primary",
|
|
11403
11416
|
itemClassName = "flex items-start gap-3",
|
|
@@ -11623,7 +11636,7 @@ function DashboardInfoCard({
|
|
|
11623
11636
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11624
11637
|
if (asTag) {
|
|
11625
11638
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11626
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11639
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11627
11640
|
}
|
|
11628
11641
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11629
11642
|
"(",
|
|
@@ -11677,7 +11690,7 @@ function DashboardInfoCard({
|
|
|
11677
11690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
11678
11691
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11679
11692
|
renderPercentage(),
|
|
11680
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11693
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
11681
11694
|
] })
|
|
11682
11695
|
] }),
|
|
11683
11696
|
renderProgress()
|
|
@@ -11860,7 +11873,7 @@ function DeviceCard({
|
|
|
11860
11873
|
] }),
|
|
11861
11874
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11862
11875
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11863
|
-
|
|
11876
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
11864
11877
|
{
|
|
11865
11878
|
variant: statusTag.variant,
|
|
11866
11879
|
icon: statusTag.icon,
|
|
@@ -11874,7 +11887,7 @@ function DeviceCard({
|
|
|
11874
11887
|
formatLastSeen(device.lastSeen)
|
|
11875
11888
|
] })
|
|
11876
11889
|
] }),
|
|
11877
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11890
|
+
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, _chunk5MSHWXJ5cjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11878
11891
|
]
|
|
11879
11892
|
}
|
|
11880
11893
|
);
|
|
@@ -11935,7 +11948,7 @@ function FeatureCardGrid({
|
|
|
11935
11948
|
if (allCardsHaveNoBorders) {
|
|
11936
11949
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
11937
11950
|
}
|
|
11938
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11951
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
11939
11952
|
const startIndex = rowIndex * itemsPerRow;
|
|
11940
11953
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
11941
11954
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -11965,7 +11978,7 @@ function FeatureCardGrid({
|
|
|
11965
11978
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
11966
11979
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
11967
11980
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11968
|
-
|
|
11981
|
+
_chunkOMKI5T2Gcjs.StatusBadge,
|
|
11969
11982
|
{
|
|
11970
11983
|
text: item.badge.text,
|
|
11971
11984
|
variant: item.badge.variant || "card",
|
|
@@ -11974,7 +11987,7 @@ function FeatureCardGrid({
|
|
|
11974
11987
|
)
|
|
11975
11988
|
] }),
|
|
11976
11989
|
!item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11977
|
-
|
|
11990
|
+
_chunkOMKI5T2Gcjs.StatusBadge,
|
|
11978
11991
|
{
|
|
11979
11992
|
text: item.badge.text,
|
|
11980
11993
|
variant: item.badge.variant || "card",
|
|
@@ -12022,7 +12035,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12022
12035
|
|
|
12023
12036
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12024
12037
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12025
|
-
|
|
12038
|
+
_chunk5MSHWXJ5cjs.FloatingTooltip,
|
|
12026
12039
|
{
|
|
12027
12040
|
as: "span",
|
|
12028
12041
|
side: "top",
|
|
@@ -12206,7 +12219,7 @@ function DropdownButton({
|
|
|
12206
12219
|
)
|
|
12207
12220
|
);
|
|
12208
12221
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12209
|
-
|
|
12222
|
+
_chunk5MSHWXJ5cjs.ActionsMenuDropdown,
|
|
12210
12223
|
{
|
|
12211
12224
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12212
12225
|
open,
|
|
@@ -12421,7 +12434,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
12421
12434
|
}
|
|
12422
12435
|
function ServiceCardRowItem({ row }) {
|
|
12423
12436
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
12424
|
-
const { copy, copied } =
|
|
12437
|
+
const { copy, copied } = _chunkM4YQUHORcjs.useCopyToClipboard.call(void 0, );
|
|
12425
12438
|
const { ref: valueRef, isTruncated: valueTruncated } = _chunkYXWGSDK4cjs.useIsTruncated.call(void 0, row.value);
|
|
12426
12439
|
const actions = _react.useMemo.call(void 0,
|
|
12427
12440
|
() => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
|
|
@@ -12444,7 +12457,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12444
12457
|
),
|
|
12445
12458
|
children: [
|
|
12446
12459
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12447
|
-
|
|
12460
|
+
_chunk5MSHWXJ5cjs.FloatingTooltip,
|
|
12448
12461
|
{
|
|
12449
12462
|
content: row.value,
|
|
12450
12463
|
side: "top",
|
|
@@ -12461,7 +12474,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12461
12474
|
onClick: () => setRevealed((v) => !v),
|
|
12462
12475
|
className: "rounded p-2 text-ods-text-secondary hover:bg-ods-card",
|
|
12463
12476
|
"aria-label": revealed ? "Hide" : "Reveal",
|
|
12464
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12477
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.EyeIcon, { className: "h-5 w-5", off: revealed })
|
|
12465
12478
|
}
|
|
12466
12479
|
),
|
|
12467
12480
|
actions.copy && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12570,9 +12583,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12570
12583
|
return next;
|
|
12571
12584
|
});
|
|
12572
12585
|
};
|
|
12573
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12586
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12574
12587
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12575
|
-
|
|
12588
|
+
_chunk5MSHWXJ5cjs.TooltipTrigger,
|
|
12576
12589
|
{
|
|
12577
12590
|
asChild: true,
|
|
12578
12591
|
onPointerDown: (e) => {
|
|
@@ -12590,7 +12603,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12590
12603
|
children
|
|
12591
12604
|
}
|
|
12592
12605
|
),
|
|
12593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12606
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12594
12607
|
] }) });
|
|
12595
12608
|
}
|
|
12596
12609
|
|
|
@@ -13605,9 +13618,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13605
13618
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13606
13619
|
}
|
|
13607
13620
|
}, []);
|
|
13608
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13609
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13610
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13621
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13622
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.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 }) }) }),
|
|
13623
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13611
13624
|
] }) });
|
|
13612
13625
|
}
|
|
13613
13626
|
|
|
@@ -13660,9 +13673,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13660
13673
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13661
13674
|
}
|
|
13662
13675
|
}, []);
|
|
13663
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13676
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13677
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
13678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13666
13679
|
] }) });
|
|
13667
13680
|
}
|
|
13668
13681
|
|
|
@@ -13777,7 +13790,7 @@ function QueryReportTable({
|
|
|
13777
13790
|
onThumbPointerDown,
|
|
13778
13791
|
onThumbPointerMove,
|
|
13779
13792
|
onThumbPointerUp
|
|
13780
|
-
} =
|
|
13793
|
+
} = _chunkM4YQUHORcjs.useHorizontalScrollbar.call(void 0, );
|
|
13781
13794
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex w-full flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
|
|
13782
13795
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
|
|
13783
13796
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -14820,7 +14833,7 @@ function SearchInput({
|
|
|
14820
14833
|
const debouncedValue = _chunkYXWGSDK4cjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
14821
14834
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
14822
14835
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
14823
|
-
const keyboardPadding =
|
|
14836
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
14824
14837
|
const containerRef = _react.useRef.call(void 0, null);
|
|
14825
14838
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
14826
14839
|
const {
|
|
@@ -14830,7 +14843,7 @@ function SearchInput({
|
|
|
14830
14843
|
textMeasureRef,
|
|
14831
14844
|
badgeRef,
|
|
14832
14845
|
inputRef
|
|
14833
|
-
} =
|
|
14846
|
+
} = _chunkM4YQUHORcjs.useAutoLimitTags.call(void 0, {
|
|
14834
14847
|
count: filterChips.length,
|
|
14835
14848
|
limitTags,
|
|
14836
14849
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -15022,7 +15035,7 @@ function SearchInput({
|
|
|
15022
15035
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
|
|
15023
15036
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
15024
15037
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15025
|
-
|
|
15038
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
15026
15039
|
{
|
|
15027
15040
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15028
15041
|
label: chip.label,
|
|
@@ -15136,7 +15149,7 @@ function SearchInput({
|
|
|
15136
15149
|
}
|
|
15137
15150
|
),
|
|
15138
15151
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15139
|
-
|
|
15152
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
15140
15153
|
{
|
|
15141
15154
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15142
15155
|
label: chip.label,
|
|
@@ -15278,7 +15291,7 @@ function TagSearchInput({
|
|
|
15278
15291
|
limitTags = "auto"
|
|
15279
15292
|
}) {
|
|
15280
15293
|
const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
|
|
15281
|
-
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } =
|
|
15294
|
+
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkM4YQUHORcjs.useAutoLimitTags.call(void 0, {
|
|
15282
15295
|
count: tags.length,
|
|
15283
15296
|
limitTags,
|
|
15284
15297
|
placeholder: currentPlaceholder
|
|
@@ -15349,7 +15362,7 @@ function TagSearchInput({
|
|
|
15349
15362
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
|
|
15350
15363
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
15351
15364
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15352
|
-
|
|
15365
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
15353
15366
|
{
|
|
15354
15367
|
variant: "outline",
|
|
15355
15368
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15437,7 +15450,7 @@ function TagSearchInput({
|
|
|
15437
15450
|
"aria-hidden": "true",
|
|
15438
15451
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15439
15452
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15440
|
-
|
|
15453
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
15441
15454
|
{
|
|
15442
15455
|
variant: "outline",
|
|
15443
15456
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16269,7 +16282,7 @@ var _reactcolorful = require('react-colorful');
|
|
|
16269
16282
|
var Popover2 = PopoverPrimitive6.Root;
|
|
16270
16283
|
var PopoverTrigger = PopoverPrimitive6.Trigger;
|
|
16271
16284
|
var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
16272
|
-
const keyboardPadding =
|
|
16285
|
+
const keyboardPadding = _chunkM4YQUHORcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
16273
16286
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16274
16287
|
PopoverPrimitive6.Content,
|
|
16275
16288
|
{
|
|
@@ -16326,20 +16339,20 @@ function ColorPresetSelect({
|
|
|
16326
16339
|
...presets.map((p) => ({
|
|
16327
16340
|
id: p.key,
|
|
16328
16341
|
label: p.label,
|
|
16329
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16342
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: p.color }),
|
|
16330
16343
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16331
16344
|
})),
|
|
16332
16345
|
{
|
|
16333
16346
|
id: CUSTOM_PRESET_KEY,
|
|
16334
16347
|
label: "Custom",
|
|
16335
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16348
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16336
16349
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16337
16350
|
}
|
|
16338
16351
|
]
|
|
16339
16352
|
}
|
|
16340
16353
|
];
|
|
16341
16354
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16342
|
-
|
|
16355
|
+
_chunk5MSHWXJ5cjs.ActionsMenuDropdown,
|
|
16343
16356
|
{
|
|
16344
16357
|
groups,
|
|
16345
16358
|
align: "start",
|
|
@@ -16349,7 +16362,7 @@ function ColorPresetSelect({
|
|
|
16349
16362
|
{
|
|
16350
16363
|
disabled,
|
|
16351
16364
|
"aria-label": `Color: ${displayLabel}`,
|
|
16352
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16365
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: displayColor }),
|
|
16353
16366
|
selectedLabel: displayLabel,
|
|
16354
16367
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16355
16368
|
className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
|
|
@@ -16370,7 +16383,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16370
16383
|
}
|
|
16371
16384
|
const commit = () => {
|
|
16372
16385
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16373
|
-
if (
|
|
16386
|
+
if (_chunk5MSHWXJ5cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16374
16387
|
else setDraft(value);
|
|
16375
16388
|
};
|
|
16376
16389
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16434,12 +16447,12 @@ function ChannelInput({
|
|
|
16434
16447
|
);
|
|
16435
16448
|
}
|
|
16436
16449
|
function RgbInputs({ value, onChange }) {
|
|
16437
|
-
const rgb = _nullishCoalesce(
|
|
16450
|
+
const rgb = _nullishCoalesce(_chunk5MSHWXJ5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16438
16451
|
const update = (next) => {
|
|
16439
16452
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16440
16453
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16441
16454
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16442
|
-
onChange(
|
|
16455
|
+
onChange(_chunk5MSHWXJ5cjs.rgbToHex.call(void 0, r, g, b));
|
|
16443
16456
|
};
|
|
16444
16457
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16445
16458
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16448,14 +16461,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16448
16461
|
] });
|
|
16449
16462
|
}
|
|
16450
16463
|
function HslInputs({ value, onChange }) {
|
|
16451
|
-
const rgb = _nullishCoalesce(
|
|
16452
|
-
const hsl =
|
|
16464
|
+
const rgb = _nullishCoalesce(_chunk5MSHWXJ5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16465
|
+
const hsl = _chunk5MSHWXJ5cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16453
16466
|
const update = (next) => {
|
|
16454
16467
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16455
16468
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16456
16469
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16457
|
-
const out =
|
|
16458
|
-
onChange(
|
|
16470
|
+
const out = _chunk5MSHWXJ5cjs.hslToRgb.call(void 0, h, s, l);
|
|
16471
|
+
onChange(_chunk5MSHWXJ5cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16459
16472
|
};
|
|
16460
16473
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16461
16474
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16481,7 +16494,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16481
16494
|
{
|
|
16482
16495
|
disabled,
|
|
16483
16496
|
"aria-label": "Pick custom color",
|
|
16484
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16497
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: value }),
|
|
16485
16498
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16486
16499
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16487
16500
|
className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
|
|
@@ -16497,7 +16510,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16497
16510
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16498
16511
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16499
16512
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16500
|
-
|
|
16513
|
+
_chunk5MSHWXJ5cjs.ActionsMenuDropdown,
|
|
16501
16514
|
{
|
|
16502
16515
|
groups: formatGroups,
|
|
16503
16516
|
align: "start",
|
|
@@ -16545,7 +16558,7 @@ function TicketStatusConfigRow({
|
|
|
16545
16558
|
isDragging,
|
|
16546
16559
|
moveButtons
|
|
16547
16560
|
}) {
|
|
16548
|
-
const dragAndDropEnabled =
|
|
16561
|
+
const dragAndDropEnabled = _chunkM4YQUHORcjs.useDragAndDropEnabled.call(void 0, );
|
|
16549
16562
|
const nameInputId = _react.useId.call(void 0, );
|
|
16550
16563
|
const isSystem = variant === "system";
|
|
16551
16564
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -16554,7 +16567,7 @@ function TicketStatusConfigRow({
|
|
|
16554
16567
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16555
16568
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16556
16569
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16557
|
-
|
|
16570
|
+
_chunk5MSHWXJ5cjs.TicketStatusTag,
|
|
16558
16571
|
{
|
|
16559
16572
|
status: statusKey,
|
|
16560
16573
|
label: name || " ",
|
|
@@ -16706,7 +16719,7 @@ function formatTestRunDuration(ms) {
|
|
|
16706
16719
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16707
16720
|
var SKELETON_COLUMNS = 6;
|
|
16708
16721
|
function TestResultsSkeleton() {
|
|
16709
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16722
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16710
16723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
|
|
16711
16724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
|
|
16712
16725
|
] }) });
|
|
@@ -16741,13 +16754,13 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16741
16754
|
if (loading) {
|
|
16742
16755
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16743
16756
|
}
|
|
16744
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16757
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
|
|
16745
16758
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16746
16759
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16747
16760
|
] }) }) });
|
|
16748
16761
|
}
|
|
16749
16762
|
function TestRunErrorBanner({ error, className }) {
|
|
16750
|
-
const { copy } =
|
|
16763
|
+
const { copy } = _chunkM4YQUHORcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
16751
16764
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16752
16765
|
"div",
|
|
16753
16766
|
{
|
|
@@ -16801,7 +16814,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16801
16814
|
function TestRunStatusStat({ status, className }) {
|
|
16802
16815
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16803
16816
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
16804
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16817
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
|
|
16805
16818
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16806
16819
|
] });
|
|
16807
16820
|
}
|
|
@@ -16844,7 +16857,7 @@ function useTestRunState(campaign) {
|
|
|
16844
16857
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16845
16858
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16846
16859
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16847
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16860
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunk5MSHWXJ5cjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16848
16861
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16849
16862
|
const displayRows = _react.useMemo.call(void 0,
|
|
16850
16863
|
() => campaign.results.map(
|
|
@@ -16883,7 +16896,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
16883
16896
|
),
|
|
16884
16897
|
children: [
|
|
16885
16898
|
attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16886
|
-
|
|
16899
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
16887
16900
|
{
|
|
16888
16901
|
src: attachment.thumbnailSrc,
|
|
16889
16902
|
alt: attachment.fileName,
|
|
@@ -16976,7 +16989,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
16976
16989
|
};
|
|
16977
16990
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
|
|
16978
16991
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16979
|
-
|
|
16992
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
16980
16993
|
{
|
|
16981
16994
|
src: note.authorAvatar,
|
|
16982
16995
|
alt: note.authorName,
|
|
@@ -17152,7 +17165,7 @@ function TicketInfoSection({
|
|
|
17152
17165
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-card px-4 py-3 lg:grid-cols-[1fr_1fr_1fr_auto]", children: [
|
|
17153
17166
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
17154
17167
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17155
|
-
|
|
17168
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
17156
17169
|
{
|
|
17157
17170
|
src: _optionalChain([organization, 'optionalAccess', _388 => _388.imageSrc]),
|
|
17158
17171
|
alt: _optionalChain([organization, 'optionalAccess', _389 => _389.name]),
|
|
@@ -17182,7 +17195,7 @@ function TicketInfoSection({
|
|
|
17182
17195
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _392 => _392.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _393 => _393.icon]), onClick: _optionalChain([device, 'optionalAccess', _394 => _394.onClick]) }),
|
|
17183
17196
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
17184
17197
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17185
|
-
|
|
17198
|
+
_chunk5MSHWXJ5cjs.TicketStatusTag,
|
|
17186
17199
|
{
|
|
17187
17200
|
status: _nullishCoalesce(status, () => ( "")),
|
|
17188
17201
|
label: statusLabel,
|
|
@@ -17221,9 +17234,9 @@ function TicketInfoSection({
|
|
|
17221
17234
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17222
17235
|
createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
|
|
17223
17236
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17224
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17237
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.SimpleMarkdownRenderer, { content: description }),
|
|
17225
17238
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17226
|
-
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17239
|
+
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, _chunk5MSHWXJ5cjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17227
17240
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17228
17241
|
TicketNotesSection,
|
|
17229
17242
|
{
|
|
@@ -17246,7 +17259,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17246
17259
|
const { label, color } = option;
|
|
17247
17260
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17248
17261
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17249
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17262
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color }),
|
|
17250
17263
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17251
17264
|
] }),
|
|
17252
17265
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17256,7 +17269,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
17256
17269
|
const { label, imageUrl } = option;
|
|
17257
17270
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17258
17271
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17259
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17272
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
17260
17273
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17261
17274
|
] }),
|
|
17262
17275
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17291,9 +17304,9 @@ function TakeOverTicketModal({
|
|
|
17291
17304
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17292
17305
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17293
17306
|
};
|
|
17294
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17307
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17295
17308
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17296
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17309
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17297
17310
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17298
17311
|
"The ticket ",
|
|
17299
17312
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17308,7 +17321,7 @@ function TakeOverTicketModal({
|
|
|
17308
17321
|
value: selectedStatusId,
|
|
17309
17322
|
onChange: setStatusId,
|
|
17310
17323
|
placeholder: "Select Status",
|
|
17311
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17324
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17312
17325
|
renderOption: renderTicketStatusOption
|
|
17313
17326
|
}
|
|
17314
17327
|
) }),
|
|
@@ -17322,7 +17335,7 @@ function TakeOverTicketModal({
|
|
|
17322
17335
|
placeholder: "Select Technician",
|
|
17323
17336
|
loading: assigneesLoading,
|
|
17324
17337
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17325
|
-
|
|
17338
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
17326
17339
|
{
|
|
17327
17340
|
src: selectedAssignee.imageUrl,
|
|
17328
17341
|
alt: selectedAssignee.label,
|
|
@@ -17335,7 +17348,7 @@ function TakeOverTicketModal({
|
|
|
17335
17348
|
}
|
|
17336
17349
|
) })
|
|
17337
17350
|
] }),
|
|
17338
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17351
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: [
|
|
17339
17352
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17340
17353
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17341
17354
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17394,9 +17407,9 @@ function ReopenTicketModal({
|
|
|
17394
17407
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17395
17408
|
});
|
|
17396
17409
|
};
|
|
17397
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17410
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17398
17411
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17399
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17412
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17400
17413
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17401
17414
|
"The ticket ",
|
|
17402
17415
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17411,7 +17424,7 @@ function ReopenTicketModal({
|
|
|
17411
17424
|
value: selectedStatusId,
|
|
17412
17425
|
onChange: setStatusId,
|
|
17413
17426
|
placeholder: "Select Status",
|
|
17414
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17427
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17415
17428
|
renderOption: renderTicketStatusOption
|
|
17416
17429
|
}
|
|
17417
17430
|
) }),
|
|
@@ -17425,7 +17438,7 @@ function ReopenTicketModal({
|
|
|
17425
17438
|
placeholder: "Select Technician",
|
|
17426
17439
|
loading: assigneesLoading,
|
|
17427
17440
|
startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17428
|
-
|
|
17441
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
17429
17442
|
{
|
|
17430
17443
|
src: selectedAssignee.imageUrl,
|
|
17431
17444
|
alt: selectedAssignee.label,
|
|
@@ -17449,7 +17462,7 @@ function ReopenTicketModal({
|
|
|
17449
17462
|
disabled: isPending
|
|
17450
17463
|
}
|
|
17451
17464
|
) }),
|
|
17452
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17465
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: [
|
|
17453
17466
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17454
17467
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17455
17468
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17497,9 +17510,9 @@ function ReopenTicketRequestModal({
|
|
|
17497
17510
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17498
17511
|
});
|
|
17499
17512
|
};
|
|
17500
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17513
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17501
17514
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17515
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17503
17516
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
|
|
17504
17517
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17505
17518
|
Textarea,
|
|
@@ -17523,7 +17536,7 @@ function ReopenTicketRequestModal({
|
|
|
17523
17536
|
disabled: isPending
|
|
17524
17537
|
}
|
|
17525
17538
|
),
|
|
17526
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17539
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.ModalFooter, { children: [
|
|
17527
17540
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17528
17541
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17529
17542
|
] })
|
|
@@ -17743,10 +17756,10 @@ function AccountDetailsFields({
|
|
|
17743
17756
|
onKeyDown,
|
|
17744
17757
|
layout = "stacked"
|
|
17745
17758
|
}) {
|
|
17746
|
-
const firstNameErr =
|
|
17747
|
-
const lastNameErr =
|
|
17748
|
-
const passwordErr =
|
|
17749
|
-
const confirmErr =
|
|
17759
|
+
const firstNameErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _399 => _399.firstName]), firstName);
|
|
17760
|
+
const lastNameErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _400 => _400.lastName]), lastName);
|
|
17761
|
+
const passwordErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _401 => _401.password]), password);
|
|
17762
|
+
const confirmErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _402 => _402.confirmPassword]), confirmPassword);
|
|
17750
17763
|
const names = [
|
|
17751
17764
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17752
17765
|
_chunkY7ITKISQcjs.Input,
|
|
@@ -18184,9 +18197,9 @@ function CreateOrganizationForm({
|
|
|
18184
18197
|
}) {
|
|
18185
18198
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
18186
18199
|
const fieldsDisabled = disabled || loading;
|
|
18187
|
-
const emailErr =
|
|
18188
|
-
const orgNameErr =
|
|
18189
|
-
const domainErr =
|
|
18200
|
+
const emailErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _404 => _404.email]), _nullishCoalesce(email, () => ( "")));
|
|
18201
|
+
const orgNameErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _405 => _405.organizationName]), organizationName);
|
|
18202
|
+
const domainErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _406 => _406.domain]), domain);
|
|
18190
18203
|
const handleKeyDown = (event) => {
|
|
18191
18204
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18192
18205
|
onSubmit();
|
|
@@ -18390,7 +18403,7 @@ function LoginForm({
|
|
|
18390
18403
|
className
|
|
18391
18404
|
}) {
|
|
18392
18405
|
const fieldDisabled = disabled || loading;
|
|
18393
|
-
const emailErr =
|
|
18406
|
+
const emailErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _413 => _413.email]), email);
|
|
18394
18407
|
const handleKeyDown = (event) => {
|
|
18395
18408
|
if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
|
|
18396
18409
|
_optionalChain([onSubmitClick, 'optionalCall', _414 => _414()]);
|
|
@@ -18504,8 +18517,8 @@ function OpenFrameSsoLoginForm({
|
|
|
18504
18517
|
className
|
|
18505
18518
|
}) {
|
|
18506
18519
|
const fieldsDisabled = disabled || loading;
|
|
18507
|
-
const emailErr =
|
|
18508
|
-
const passwordErr =
|
|
18520
|
+
const emailErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _417 => _417.email]), email);
|
|
18521
|
+
const passwordErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.password]), password);
|
|
18509
18522
|
const handleKeyDown = (event) => {
|
|
18510
18523
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18511
18524
|
onSubmit();
|
|
@@ -18610,7 +18623,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18610
18623
|
className
|
|
18611
18624
|
}) {
|
|
18612
18625
|
const fieldsDisabled = disabled || loading;
|
|
18613
|
-
const emailErr =
|
|
18626
|
+
const emailErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _419 => _419.email]), email);
|
|
18614
18627
|
const handleKeyDown = (event) => {
|
|
18615
18628
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18616
18629
|
onSubmit();
|
|
@@ -18715,8 +18728,8 @@ function PasswordResetForm({
|
|
|
18715
18728
|
className
|
|
18716
18729
|
}) {
|
|
18717
18730
|
const fieldsDisabled = disabled || loading;
|
|
18718
|
-
const passwordErr =
|
|
18719
|
-
const confirmErr =
|
|
18731
|
+
const passwordErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.password]), password);
|
|
18732
|
+
const confirmErr = _chunkM4YQUHORcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.confirmPassword]), confirmPassword);
|
|
18720
18733
|
const handleKeyDown = (event) => {
|
|
18721
18734
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18722
18735
|
onSubmit();
|
|
@@ -18820,23 +18833,23 @@ function SsoAuthShell({ children, className }) {
|
|
|
18820
18833
|
var PROVIDER_CONFIG = {
|
|
18821
18834
|
microsoft: {
|
|
18822
18835
|
displayName: "Continue with Microsoft",
|
|
18823
|
-
icon:
|
|
18836
|
+
icon: _chunkKOQCA5X5cjs.MicrosoftIcon
|
|
18824
18837
|
},
|
|
18825
18838
|
google: {
|
|
18826
18839
|
displayName: "Continue with Google",
|
|
18827
|
-
icon:
|
|
18840
|
+
icon: _chunkKOQCA5X5cjs.GoogleLogo
|
|
18828
18841
|
},
|
|
18829
18842
|
slack: {
|
|
18830
18843
|
displayName: "Continue with Slack",
|
|
18831
|
-
icon:
|
|
18844
|
+
icon: _chunkKOQCA5X5cjs.SlackIcon
|
|
18832
18845
|
},
|
|
18833
18846
|
github: {
|
|
18834
18847
|
displayName: "Continue with GitHub",
|
|
18835
|
-
icon:
|
|
18848
|
+
icon: _chunkKOQCA5X5cjs.GitHubIcon
|
|
18836
18849
|
},
|
|
18837
18850
|
apple: {
|
|
18838
18851
|
displayName: "Continue with Apple",
|
|
18839
|
-
icon:
|
|
18852
|
+
icon: _chunkKOQCA5X5cjs.AppleIcon
|
|
18840
18853
|
}
|
|
18841
18854
|
};
|
|
18842
18855
|
function ProviderButton({ provider, onClick, disabled = false, loading = false }) {
|
|
@@ -19250,7 +19263,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
19250
19263
|
const label = (tag.name || "").toUpperCase();
|
|
19251
19264
|
if (basePath && tag.slug) {
|
|
19252
19265
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19253
|
-
|
|
19266
|
+
_chunkOMKI5T2Gcjs.StatusBadge,
|
|
19254
19267
|
{
|
|
19255
19268
|
text: label,
|
|
19256
19269
|
variant: "card",
|
|
@@ -19258,9 +19271,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
|
|
|
19258
19271
|
}
|
|
19259
19272
|
) }, key);
|
|
19260
19273
|
}
|
|
19261
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19274
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
|
|
19262
19275
|
}),
|
|
19263
|
-
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19276
|
+
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
|
|
19264
19277
|
] });
|
|
19265
19278
|
}
|
|
19266
19279
|
|
|
@@ -19337,7 +19350,7 @@ var SectionButton = ({
|
|
|
19337
19350
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
19338
19351
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, titleClasses, "whitespace-normal break-words text-h4"), children: section.title }),
|
|
19339
19352
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19340
|
-
|
|
19353
|
+
_chunkOMKI5T2Gcjs.StatusBadge,
|
|
19341
19354
|
{
|
|
19342
19355
|
text: section.badge.text,
|
|
19343
19356
|
variant: section.badge.variant || "button",
|
|
@@ -19356,7 +19369,7 @@ var SectionButton = ({
|
|
|
19356
19369
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
19357
19370
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
19358
19371
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19359
|
-
|
|
19372
|
+
_chunkOMKI5T2Gcjs.StatusBadge,
|
|
19360
19373
|
{
|
|
19361
19374
|
text: section.badge.text,
|
|
19362
19375
|
variant: section.badge.variant || "button",
|
|
@@ -19644,7 +19657,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19644
19657
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19645
19658
|
title: config.title,
|
|
19646
19659
|
loading: "eager",
|
|
19647
|
-
...
|
|
19660
|
+
..._chunk5MSHWXJ5cjs.fetchPriorityProp.call(void 0, "high")
|
|
19648
19661
|
},
|
|
19649
19662
|
iframeKey
|
|
19650
19663
|
),
|
|
@@ -20470,7 +20483,7 @@ function MediaGalleryManager({
|
|
|
20470
20483
|
(mediaItem, index) => {
|
|
20471
20484
|
const isDeleting = deletingIndex === index;
|
|
20472
20485
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20473
|
-
|
|
20486
|
+
_chunkOMKI5T2Gcjs.Card,
|
|
20474
20487
|
{
|
|
20475
20488
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
20476
20489
|
draggable: true,
|
|
@@ -20491,10 +20504,10 @@ function MediaGalleryManager({
|
|
|
20491
20504
|
children: isDeleting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
|
|
20492
20505
|
}
|
|
20493
20506
|
) }),
|
|
20494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children:
|
|
20507
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkOMKI5T2Gcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
20495
20508
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20496
20509
|
// fit="cover" crops to the aspect-video cell.
|
|
20497
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20498
20511
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20499
20512
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20500
20513
|
{
|
|
@@ -20507,7 +20520,7 @@ function MediaGalleryManager({
|
|
|
20507
20520
|
) }),
|
|
20508
20521
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
|
|
20509
20522
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
|
|
20510
|
-
|
|
20523
|
+
_chunkOMKI5T2Gcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
|
|
20511
20524
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "capitalize text-ods-text-primary text-h6", children: mediaItem.media_type })
|
|
20512
20525
|
] }),
|
|
20513
20526
|
mediaItem.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: mediaItem.title })
|
|
@@ -20943,7 +20956,7 @@ function PlatformFilterComponent({
|
|
|
20943
20956
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
20944
20957
|
size,
|
|
20945
20958
|
onClick: () => onPlatformChange(platform.value),
|
|
20946
|
-
leftIcon: showIcons ?
|
|
20959
|
+
leftIcon: showIcons ? _chunkM4YQUHORcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
20947
20960
|
className: "text-h3",
|
|
20948
20961
|
children: platform.label
|
|
20949
20962
|
},
|
|
@@ -22745,9 +22758,9 @@ function PushButtonSelector({
|
|
|
22745
22758
|
option.id
|
|
22746
22759
|
);
|
|
22747
22760
|
if (option.disabled && option.disabledReason) {
|
|
22748
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22750
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22761
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { children: [
|
|
22762
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22763
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22751
22764
|
] }, option.id);
|
|
22752
22765
|
}
|
|
22753
22766
|
return optionEl;
|
|
@@ -22792,7 +22805,7 @@ function PushButtonSelector({
|
|
|
22792
22805
|
lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
|
|
22793
22806
|
] }) : null
|
|
22794
22807
|
] });
|
|
22795
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22808
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22796
22809
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22797
22810
|
searchInput,
|
|
22798
22811
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22962,10 +22975,10 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22962
22975
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
|
|
22963
22976
|
}
|
|
22964
22977
|
) }),
|
|
22965
|
-
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children:
|
|
22978
|
+
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkOMKI5T2Gcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
22966
22979
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22967
22980
|
// fit="cover" crops to the aspect-video cell.
|
|
22968
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22981
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22969
22982
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22970
22983
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22971
22984
|
{
|
|
@@ -23098,7 +23111,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
23098
23111
|
}
|
|
23099
23112
|
)
|
|
23100
23113
|
] }),
|
|
23101
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23114
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
23102
23115
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
23103
23116
|
]
|
|
23104
23117
|
}
|
|
@@ -23447,24 +23460,24 @@ var defaultLinks = [
|
|
|
23447
23460
|
{ platform: "facebook", href: "https://www.facebook.com/flamingoai.msp", label: "Facebook" }
|
|
23448
23461
|
];
|
|
23449
23462
|
var SOCIAL_ICON_COMPONENTS = {
|
|
23450
|
-
github: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23451
|
-
twitter: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23452
|
-
reddit: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23453
|
-
linkedin: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23454
|
-
luma: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23455
|
-
whatsapp: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23463
|
+
github: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.GitHubIcon, { ...props }),
|
|
23464
|
+
twitter: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.XLogo, { ...props }),
|
|
23465
|
+
reddit: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.RedditIcon, { ...props, variant: "white" }),
|
|
23466
|
+
linkedin: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.LinkedInIcon, { ...props }),
|
|
23467
|
+
luma: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.LumaIcon, { ...props }),
|
|
23468
|
+
whatsapp: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.WhatsAppIcon, { ...props }),
|
|
23456
23469
|
email: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Mail, { ...props }),
|
|
23457
|
-
website: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23458
|
-
slack: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23459
|
-
discord: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23460
|
-
telegram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23461
|
-
youtube: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23462
|
-
instagram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23463
|
-
facebook: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23470
|
+
website: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.GlobeIcon, { ...props }),
|
|
23471
|
+
slack: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.SlackIcon, { ...props, injectedColor: "white" }),
|
|
23472
|
+
discord: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.MessageCircleIcon, { ...props }),
|
|
23473
|
+
telegram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.TelegramIcon, { ...props }),
|
|
23474
|
+
youtube: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.YouTubeIcon, { ...props }),
|
|
23475
|
+
instagram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.InstagramIcon, { ...props }),
|
|
23476
|
+
facebook: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.FacebookIcon, { ...props }),
|
|
23464
23477
|
tiktok: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Music, { ...props }),
|
|
23465
23478
|
// CopyIcon's default fill is grey and would mismatch its row-mates — force the
|
|
23466
23479
|
// themed foreground via the ODS token (tracks the theme).
|
|
23467
|
-
copy: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23480
|
+
copy: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.CopyIcon, { ...props, color: "var(--color-text-primary)" })
|
|
23468
23481
|
};
|
|
23469
23482
|
function renderSocialIcon(platform) {
|
|
23470
23483
|
const key = _nullishCoalesce(normalizeSocialPlatform(platform), () => ( "website"));
|
|
@@ -23686,7 +23699,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23686
23699
|
className: _chunk23V5BSHDcjs.cn.call(void 0, modeClassName, className),
|
|
23687
23700
|
style: customStyle,
|
|
23688
23701
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
|
|
23689
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23702
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23690
23703
|
children
|
|
23691
23704
|
}
|
|
23692
23705
|
);
|
|
@@ -23956,11 +23969,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
23956
23969
|
|
|
23957
23970
|
function VideoBitesDisplay({
|
|
23958
23971
|
bites,
|
|
23959
|
-
title =
|
|
23972
|
+
title = _chunkOMKI5T2Gcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
23960
23973
|
filterPublished = true,
|
|
23961
23974
|
showTitle = true
|
|
23962
23975
|
}) {
|
|
23963
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23976
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23964
23977
|
}
|
|
23965
23978
|
|
|
23966
23979
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24029,7 +24042,7 @@ function WalkthroughVideo({
|
|
|
24029
24042
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24030
24043
|
};
|
|
24031
24044
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
24032
|
-
const hydrated =
|
|
24045
|
+
const hydrated = _chunk5MSHWXJ5cjs.useIsHydrated.call(void 0, );
|
|
24033
24046
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24034
24047
|
if (!hydrated) return false;
|
|
24035
24048
|
try {
|
|
@@ -24426,7 +24439,7 @@ function WalkthroughVideo({
|
|
|
24426
24439
|
},
|
|
24427
24440
|
children: [
|
|
24428
24441
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24429
|
-
|
|
24442
|
+
_chunk5MSHWXJ5cjs.VideoHoverPreviewSurface,
|
|
24430
24443
|
{
|
|
24431
24444
|
url: video.mainVideoUrl || "",
|
|
24432
24445
|
posterUrl: video.posterUrl,
|
|
@@ -24449,7 +24462,7 @@ function WalkthroughVideo({
|
|
|
24449
24462
|
`card-${embedUrlKey}`
|
|
24450
24463
|
) }),
|
|
24451
24464
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24452
|
-
|
|
24465
|
+
_chunk5MSHWXJ5cjs.CardHitLayer,
|
|
24453
24466
|
{
|
|
24454
24467
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24455
24468
|
onPointerDown: pausePreviewNow,
|
|
@@ -24458,7 +24471,7 @@ function WalkthroughVideo({
|
|
|
24458
24471
|
}
|
|
24459
24472
|
),
|
|
24460
24473
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
|
|
24461
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24474
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24462
24475
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24463
24476
|
] }),
|
|
24464
24477
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24471,7 +24484,7 @@ function WalkthroughVideo({
|
|
|
24471
24484
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24472
24485
|
onClick: onUnmuteOrPlay,
|
|
24473
24486
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24474
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24487
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.VideoUnmuteGlyph, {})
|
|
24475
24488
|
}
|
|
24476
24489
|
),
|
|
24477
24490
|
showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -24564,7 +24577,7 @@ function WalkthroughVideo({
|
|
|
24564
24577
|
children: [
|
|
24565
24578
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24566
24579
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24567
|
-
|
|
24580
|
+
_chunk5MSHWXJ5cjs.Video,
|
|
24568
24581
|
{
|
|
24569
24582
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24570
24583
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24615,7 +24628,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24615
24628
|
var _reactquery = require('@tanstack/react-query');
|
|
24616
24629
|
function useWalkthroughVideo(opts) {
|
|
24617
24630
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24618
|
-
const captions =
|
|
24631
|
+
const captions = _chunk5MSHWXJ5cjs.useCaptions.call(void 0, );
|
|
24619
24632
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24620
24633
|
queryKey: ["walkthrough-video", endpoint],
|
|
24621
24634
|
enabled,
|
|
@@ -24732,7 +24745,7 @@ function VideoSourceSelector({
|
|
|
24732
24745
|
type: "button",
|
|
24733
24746
|
variant: videoSourceType === "youtube" ? "accent" : "outline",
|
|
24734
24747
|
onClick: () => onVideoSourceTypeChange("youtube"),
|
|
24735
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24748
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.YouTubeIcon, { className: "h-4 w-4", color: "currentColor" }),
|
|
24736
24749
|
disabled,
|
|
24737
24750
|
children: "YouTube URL"
|
|
24738
24751
|
}
|
|
@@ -24813,7 +24826,7 @@ function VideoSourceSelector({
|
|
|
24813
24826
|
}
|
|
24814
24827
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24815
24828
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24816
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24829
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24817
24830
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24818
24831
|
"button",
|
|
24819
24832
|
{
|
|
@@ -25017,7 +25030,7 @@ var AIEnrichButton = ({
|
|
|
25017
25030
|
loading,
|
|
25018
25031
|
size: sizeMap[size],
|
|
25019
25032
|
variant: variantMap[variant],
|
|
25020
|
-
leftIcon: !loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25033
|
+
leftIcon: !loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.SparklesIcon, { size: 18, color: "currentColor" }),
|
|
25021
25034
|
className: _chunk23V5BSHDcjs.cn.call(void 0, "gap-2", className),
|
|
25022
25035
|
children: loading ? loadingLabel : label
|
|
25023
25036
|
}
|
|
@@ -25104,7 +25117,7 @@ var AIEnrichSection = ({
|
|
|
25104
25117
|
),
|
|
25105
25118
|
children: [
|
|
25106
25119
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
25107
|
-
icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25120
|
+
icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.SparklesIcon, { size: 20, className: "text-ods-text-secondary" }),
|
|
25108
25121
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
25109
25122
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
25110
25123
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 text-ods-text-secondary text-h6", children: description })
|
|
@@ -25337,7 +25350,7 @@ function HighlightVideoSection({
|
|
|
25337
25350
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25338
25351
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25339
25352
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25340
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25353
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25341
25354
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25342
25355
|
"button",
|
|
25343
25356
|
{
|
|
@@ -25468,7 +25481,7 @@ var AIStatusIndicator = ({
|
|
|
25468
25481
|
const confidenceLabel = showConfidence && confidence !== void 0 ? `${getConfidenceLabel(confidence)} (${confidence}%)` : null;
|
|
25469
25482
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
25470
25483
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25471
|
-
|
|
25484
|
+
_chunkKOQCA5X5cjs.SparklesIcon,
|
|
25472
25485
|
{
|
|
25473
25486
|
size: 16,
|
|
25474
25487
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
@@ -25515,7 +25528,7 @@ var AIRequiredBadge = ({ className, size = "sm" }) => {
|
|
|
25515
25528
|
className
|
|
25516
25529
|
),
|
|
25517
25530
|
children: [
|
|
25518
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25531
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKOQCA5X5cjs.SparklesIcon, { size: size === "sm" ? 12 : 14, color: "var(--ods-flamingo-cyan-base)" }),
|
|
25519
25532
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-body", children: "AI-required" })
|
|
25520
25533
|
]
|
|
25521
25534
|
}
|
|
@@ -25972,7 +25985,7 @@ function ViewToggle({
|
|
|
25972
25985
|
"aria-label": "Grid view",
|
|
25973
25986
|
disabled,
|
|
25974
25987
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25975
|
-
|
|
25988
|
+
_chunkKOQCA5X5cjs.GridViewIcon,
|
|
25976
25989
|
{
|
|
25977
25990
|
className: "h-5 w-5",
|
|
25978
25991
|
color: disabled ? "var(--ods-system-greys-grey)" : value === "grid" ? "var(--ods-system-greys-black)" : "var(--ods-system-greys-grey)"
|
|
@@ -25993,7 +26006,7 @@ function ViewToggle({
|
|
|
25993
26006
|
"aria-label": "Table view",
|
|
25994
26007
|
disabled,
|
|
25995
26008
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25996
|
-
|
|
26009
|
+
_chunkKOQCA5X5cjs.TableViewIcon,
|
|
25997
26010
|
{
|
|
25998
26011
|
className: "h-5 w-5",
|
|
25999
26012
|
color: disabled ? "var(--ods-system-greys-grey)" : value === "table" ? "var(--ods-system-greys-black)" : "var(--ods-system-greys-grey)"
|
|
@@ -26073,7 +26086,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
26073
26086
|
] });
|
|
26074
26087
|
};
|
|
26075
26088
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
26076
|
-
const { innerRef, containerStyle } =
|
|
26089
|
+
const { innerRef, containerStyle } = _chunk5MSHWXJ5cjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
26077
26090
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
26078
26091
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26079
26092
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26238,10 +26251,10 @@ function WaitlistForm({
|
|
|
26238
26251
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26239
26252
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26240
26253
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26241
|
-
const { toast } =
|
|
26242
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26254
|
+
const { toast } = _chunkM4YQUHORcjs.useToast.call(void 0, );
|
|
26255
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkM4YQUHORcjs.useHumanitySignals.call(void 0, );
|
|
26243
26256
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26244
|
-
const isClient =
|
|
26257
|
+
const isClient = _chunk5MSHWXJ5cjs.useIsHydrated.call(void 0, );
|
|
26245
26258
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26246
26259
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26247
26260
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -27041,7 +27054,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27041
27054
|
"data-state": open ? "open" : "closed",
|
|
27042
27055
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
27043
27056
|
"absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
27044
|
-
|
|
27057
|
+
_chunk5MSHWXJ5cjs.OVERLAY_BACKDROP_CLASS,
|
|
27045
27058
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
27046
27059
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
27047
27060
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -27117,11 +27130,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27117
27130
|
}
|
|
27118
27131
|
);
|
|
27119
27132
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
27120
|
-
var AppLayoutDrawerHeader =
|
|
27121
|
-
var AppLayoutDrawerTitle =
|
|
27122
|
-
var AppLayoutDrawerDescription =
|
|
27123
|
-
var AppLayoutDrawerBody =
|
|
27124
|
-
var AppLayoutDrawerFooter =
|
|
27133
|
+
var AppLayoutDrawerHeader = _chunk5MSHWXJ5cjs.DrawerHeader;
|
|
27134
|
+
var AppLayoutDrawerTitle = _chunk5MSHWXJ5cjs.DrawerTitle;
|
|
27135
|
+
var AppLayoutDrawerDescription = _chunk5MSHWXJ5cjs.DrawerDescription;
|
|
27136
|
+
var AppLayoutDrawerBody = _chunk5MSHWXJ5cjs.DrawerBody;
|
|
27137
|
+
var AppLayoutDrawerFooter = _chunk5MSHWXJ5cjs.DrawerFooter;
|
|
27125
27138
|
|
|
27126
27139
|
// src/components/features/notifications/notification-tile.tsx
|
|
27127
27140
|
|
|
@@ -27207,9 +27220,9 @@ function NotificationTile({
|
|
|
27207
27220
|
height: 16,
|
|
27208
27221
|
unoptimized: true
|
|
27209
27222
|
}
|
|
27210
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27223
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkM4YQUHORcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27211
27224
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
|
|
27212
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
27225
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk5MSHWXJ5cjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
27213
27226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
27214
27227
|
{
|
|
27215
27228
|
active: isLive,
|
|
@@ -27254,7 +27267,7 @@ function NotificationTile({
|
|
|
27254
27267
|
"div",
|
|
27255
27268
|
{
|
|
27256
27269
|
"aria-hidden": true,
|
|
27257
|
-
className: _chunk23V5BSHDcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
27270
|
+
className: _chunk23V5BSHDcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left", _chunkM4YQUHORcjs.progressColorByVariant[accentVariant]),
|
|
27258
27271
|
style: {
|
|
27259
27272
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
27260
27273
|
animationDelay: `-${initialElapsed}ms`
|
|
@@ -27306,7 +27319,7 @@ function NotificationDrawer({
|
|
|
27306
27319
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27307
27320
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27308
27321
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27309
|
-
|
|
27322
|
+
_chunk5MSHWXJ5cjs.DrawerTitle,
|
|
27310
27323
|
{
|
|
27311
27324
|
hideClose: true,
|
|
27312
27325
|
className: "truncate",
|
|
@@ -27365,8 +27378,8 @@ function NotificationDrawer({
|
|
|
27365
27378
|
}
|
|
27366
27379
|
) });
|
|
27367
27380
|
}
|
|
27368
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27369
|
-
|
|
27381
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27382
|
+
_chunk5MSHWXJ5cjs.DrawerContent,
|
|
27370
27383
|
{
|
|
27371
27384
|
side: "right",
|
|
27372
27385
|
"aria-describedby": void 0,
|
|
@@ -27471,7 +27484,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
27471
27484
|
] });
|
|
27472
27485
|
}
|
|
27473
27486
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
27474
|
-
const { supported, permission, request } =
|
|
27487
|
+
const { supported, permission, request } = _chunkM4YQUHORcjs.useNotificationPermission.call(void 0, );
|
|
27475
27488
|
if (!supported) return null;
|
|
27476
27489
|
const blocked = permission === "denied";
|
|
27477
27490
|
const handleChange = async (value) => {
|
|
@@ -27641,13 +27654,13 @@ function getApprovalMeta(notification) {
|
|
|
27641
27654
|
function resolutionToStatus(resolution) {
|
|
27642
27655
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27643
27656
|
case "APPROVED":
|
|
27644
|
-
return
|
|
27657
|
+
return _chunk5MSHWXJ5cjs.APPROVAL_STATUS.APPROVED;
|
|
27645
27658
|
case "REJECTED":
|
|
27646
|
-
return
|
|
27659
|
+
return _chunk5MSHWXJ5cjs.APPROVAL_STATUS.REJECTED;
|
|
27647
27660
|
case "CANCELLED":
|
|
27648
|
-
return
|
|
27661
|
+
return _chunk5MSHWXJ5cjs.APPROVAL_STATUS.CANCELLED;
|
|
27649
27662
|
default:
|
|
27650
|
-
return
|
|
27663
|
+
return _chunk5MSHWXJ5cjs.APPROVAL_STATUS.PENDING;
|
|
27651
27664
|
}
|
|
27652
27665
|
}
|
|
27653
27666
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27687,7 +27700,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27687
27700
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _582 => _582.resolution]));
|
|
27688
27701
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27689
27702
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27690
|
-
const { innerRef, containerStyle } =
|
|
27703
|
+
const { innerRef, containerStyle } = _chunk5MSHWXJ5cjs.useCollapsible.call(void 0, { expanded });
|
|
27691
27704
|
if (!approval || !batchData) return null;
|
|
27692
27705
|
const tileNotification = {
|
|
27693
27706
|
...notification,
|
|
@@ -27740,7 +27753,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27740
27753
|
}
|
|
27741
27754
|
)
|
|
27742
27755
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ApprovalStatusTag, { status }),
|
|
27744
27757
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27745
27758
|
"by ",
|
|
27746
27759
|
approval.resolvedByName
|
|
@@ -27758,12 +27771,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27758
27771
|
"aria-expanded": expanded,
|
|
27759
27772
|
"aria-label": toggleLabel,
|
|
27760
27773
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27761
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27774
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.ExpandChevron, { expanded })
|
|
27762
27775
|
}
|
|
27763
27776
|
)
|
|
27764
27777
|
] }),
|
|
27765
27778
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27766
|
-
|
|
27779
|
+
_chunk5MSHWXJ5cjs.ApprovalBatchMessage,
|
|
27767
27780
|
{
|
|
27768
27781
|
data: batchData,
|
|
27769
27782
|
showExecutionStatus: false,
|
|
@@ -27831,7 +27844,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
27831
27844
|
const { label, imageUrl } = option;
|
|
27832
27845
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
27833
27846
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
27834
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27847
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMKI5T2Gcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
27835
27848
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
27836
27849
|
] }),
|
|
27837
27850
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -27915,7 +27928,7 @@ function TimeTrackerPanel({
|
|
|
27915
27928
|
}));
|
|
27916
27929
|
const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
|
|
27917
27930
|
const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27918
|
-
|
|
27931
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
27919
27932
|
{
|
|
27920
27933
|
src: selectedCustomer.imageUrl,
|
|
27921
27934
|
alt: selectedCustomer.label,
|
|
@@ -28094,7 +28107,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28094
28107
|
function StatusTag({ status }) {
|
|
28095
28108
|
if (status === "tracking") {
|
|
28096
28109
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28097
|
-
|
|
28110
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
28098
28111
|
{
|
|
28099
28112
|
variant: "success",
|
|
28100
28113
|
className: STATUS_TAG_SKIN,
|
|
@@ -28104,9 +28117,9 @@ function StatusTag({ status }) {
|
|
|
28104
28117
|
);
|
|
28105
28118
|
}
|
|
28106
28119
|
if (status === "paused") {
|
|
28107
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28120
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
28108
28121
|
}
|
|
28109
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28122
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
28110
28123
|
}
|
|
28111
28124
|
function LastEntryRow({ entry, onClick }) {
|
|
28112
28125
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
|
|
@@ -28275,7 +28288,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
28275
28288
|
"data-state": isOpen ? "open" : "closed",
|
|
28276
28289
|
className: _chunk23V5BSHDcjs.cn.call(void 0,
|
|
28277
28290
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
28278
|
-
|
|
28291
|
+
_chunk5MSHWXJ5cjs.OVERLAY_BACKDROP_CLASS,
|
|
28279
28292
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28280
28293
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28281
28294
|
)
|
|
@@ -28429,7 +28442,7 @@ function BoardColumnHeader({
|
|
|
28429
28442
|
}) {
|
|
28430
28443
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28431
28444
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28432
|
-
const useStatusVariant =
|
|
28445
|
+
const useStatusVariant = _chunk5MSHWXJ5cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28433
28446
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28434
28447
|
if (collapsed) {
|
|
28435
28448
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28445,7 +28458,7 @@ function BoardColumnHeader({
|
|
|
28445
28458
|
}
|
|
28446
28459
|
),
|
|
28447
28460
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28448
|
-
|
|
28461
|
+
_chunk5MSHWXJ5cjs.TicketStatusTag,
|
|
28449
28462
|
{
|
|
28450
28463
|
status: tagStatus,
|
|
28451
28464
|
label: column.label,
|
|
@@ -28458,7 +28471,7 @@ function BoardColumnHeader({
|
|
|
28458
28471
|
}
|
|
28459
28472
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28460
28473
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28461
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28474
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28462
28475
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28463
28476
|
] }),
|
|
28464
28477
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28609,7 +28622,7 @@ function holdMoveDragEffect(element) {
|
|
|
28609
28622
|
|
|
28610
28623
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28611
28624
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28612
|
-
const { innerRef, containerStyle } =
|
|
28625
|
+
const { innerRef, containerStyle } = _chunk5MSHWXJ5cjs.useCollapsible.call(void 0, { expanded });
|
|
28613
28626
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28614
28627
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28615
28628
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28638,7 +28651,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28638
28651
|
}
|
|
28639
28652
|
),
|
|
28640
28653
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28641
|
-
|
|
28654
|
+
_chunk5MSHWXJ5cjs.ApprovalBatchMessage,
|
|
28642
28655
|
{
|
|
28643
28656
|
className: "mb-0",
|
|
28644
28657
|
data: {
|
|
@@ -28710,7 +28723,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28710
28723
|
var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
|
|
28711
28724
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28712
28725
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28713
|
-
const newMessageTextColor = columnColor ?
|
|
28726
|
+
const newMessageTextColor = columnColor ? _chunk5MSHWXJ5cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28714
28727
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.length]) || ticket.organizationName);
|
|
28715
28728
|
const deviceText = [_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.join, 'call', _622 => _622(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28716
28729
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _623 => _623.assignees, 'optionalAccess', _624 => _624.length]) || renderAssignSlot);
|
|
@@ -28732,7 +28745,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28732
28745
|
},
|
|
28733
28746
|
a.id
|
|
28734
28747
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28735
|
-
|
|
28748
|
+
_chunkOMKI5T2Gcjs.SquareAvatar,
|
|
28736
28749
|
{
|
|
28737
28750
|
src: a.avatarUrl,
|
|
28738
28751
|
alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
|
|
@@ -28749,8 +28762,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28749
28762
|
] })
|
|
28750
28763
|
] }) : null
|
|
28751
28764
|
] }) : null;
|
|
28752
|
-
const timestampLabel = ticket.createdAt ?
|
|
28753
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28765
|
+
const timestampLabel = ticket.createdAt ? _chunk5MSHWXJ5cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28766
|
+
const tooltipLabel = ticket.createdAt ? _chunk5MSHWXJ5cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28754
28767
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28755
28768
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28756
28769
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
|
|
@@ -28763,9 +28776,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28763
28776
|
rightSection
|
|
28764
28777
|
] }),
|
|
28765
28778
|
_optionalChain([ticket, 'access', _627 => _627.tags, 'optionalAccess', _628 => _628.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28766
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28767
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28768
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28779
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5MSHWXJ5cjs.Tooltip, { children: [
|
|
28780
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28781
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.TooltipContent, { children: tooltipLabel })
|
|
28769
28782
|
] }) }),
|
|
28770
28783
|
ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
|
|
28771
28784
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28785,7 +28798,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28785
28798
|
}
|
|
28786
28799
|
),
|
|
28787
28800
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28788
|
-
|
|
28801
|
+
_chunk5MSHWXJ5cjs.Tag,
|
|
28789
28802
|
{
|
|
28790
28803
|
label: "New Message",
|
|
28791
28804
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -29000,8 +29013,8 @@ function TicketTagRow({ tags }) {
|
|
|
29000
29013
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
29001
29014
|
const hidden = tags.length - visible.length;
|
|
29002
29015
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
29003
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29004
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29016
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
29017
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MSHWXJ5cjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
29005
29018
|
] });
|
|
29006
29019
|
}
|
|
29007
29020
|
|
|
@@ -29243,7 +29256,7 @@ function resolveBoardDrop(columns, { source, target }) {
|
|
|
29243
29256
|
// src/components/features/board/use-board-collapse.ts
|
|
29244
29257
|
|
|
29245
29258
|
function useBoardCollapse(storageKey) {
|
|
29246
|
-
const [persisted, setPersisted] =
|
|
29259
|
+
const [persisted, setPersisted] = _chunkM4YQUHORcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
|
|
29247
29260
|
const [memory, setMemory] = _react.useState.call(void 0, {});
|
|
29248
29261
|
const collapsed = storageKey ? persisted : memory;
|
|
29249
29262
|
const setMap = storageKey ? setPersisted : setMemory;
|
|
@@ -29314,7 +29327,7 @@ var DROP_EASING = "cubic-bezier(0.2, 0, 0, 1)";
|
|
|
29314
29327
|
var DRAG_PREVIEW_Z = 1400;
|
|
29315
29328
|
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
|
|
29316
29329
|
function Board(props) {
|
|
29317
|
-
const dragAndDropEnabled = _chunkYXWGSDK4cjs.useMediaQuery.call(void 0,
|
|
29330
|
+
const dragAndDropEnabled = _chunkYXWGSDK4cjs.useMediaQuery.call(void 0, _chunkM4YQUHORcjs.DRAG_AND_DROP_MEDIA_QUERY);
|
|
29318
29331
|
if (dragAndDropEnabled === void 0) {
|
|
29319
29332
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunk23V5BSHDcjs.cn.call(void 0, "flex h-full min-h-0 flex-col", props.className) });
|
|
29320
29333
|
}
|
|
@@ -29346,7 +29359,7 @@ function DragBoard({
|
|
|
29346
29359
|
onThumbPointerDown,
|
|
29347
29360
|
onThumbPointerMove,
|
|
29348
29361
|
onThumbPointerUp
|
|
29349
|
-
} =
|
|
29362
|
+
} = _chunkM4YQUHORcjs.useHorizontalScrollbar.call(void 0, );
|
|
29350
29363
|
const columnsRef = _react.useRef.call(void 0, columns);
|
|
29351
29364
|
const onChangeRef = _react.useRef.call(void 0, onChange);
|
|
29352
29365
|
const boardRef = _react.useRef.call(void 0, null);
|
|
@@ -29776,7 +29789,7 @@ function useSortableListContext() {
|
|
|
29776
29789
|
}
|
|
29777
29790
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
29778
29791
|
const listRef = _react.useRef.call(void 0, null);
|
|
29779
|
-
const dragAndDropEnabled =
|
|
29792
|
+
const dragAndDropEnabled = _chunkM4YQUHORcjs.useDragAndDropEnabled.call(void 0, );
|
|
29780
29793
|
const dragType = _react.useId.call(void 0, );
|
|
29781
29794
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
29782
29795
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -30677,4 +30690,4 @@ function SortableRow({
|
|
|
30677
30690
|
|
|
30678
30691
|
|
|
30679
30692
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
|
|
30680
|
-
//# sourceMappingURL=chunk-
|
|
30693
|
+
//# sourceMappingURL=chunk-B2CSYMKW.cjs.map
|