@flamingo-stack/openframe-frontend-core 0.0.582-1967.5390.1 → 0.0.582
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-2EIGO6ZS.js +1055 -0
- package/dist/chunk-2EIGO6ZS.js.map +1 -0
- package/dist/{chunk-PDK6KVU6.js → chunk-53ZVUW2M.js} +4 -4
- package/dist/{chunk-BTXJQPGE.js → chunk-5U2FU5LM.js} +2 -2
- package/dist/{chunk-VG2SRECA.cjs → chunk-7WE6FGGK.cjs} +49 -49
- package/dist/{chunk-VG2SRECA.cjs.map → chunk-7WE6FGGK.cjs.map} +1 -1
- package/dist/{chunk-EXBNO6FB.js → chunk-CJW6KZD3.js} +2 -2
- package/dist/{chunk-UQXQCM3F.cjs → chunk-E4TK2BBD.cjs} +3 -3
- package/dist/{chunk-UQXQCM3F.cjs.map → chunk-E4TK2BBD.cjs.map} +1 -1
- package/dist/{chunk-NOO3QOJI.js → chunk-EULY3BXB.js} +2 -2
- package/dist/{chunk-ML22BIKH.js → chunk-GAL6EXUY.js} +3 -3
- package/dist/{chunk-YTZK2ORN.js → chunk-H7K76TPX.js} +4 -4
- package/dist/{chunk-RH7EY7YN.cjs → chunk-HMEEW73F.cjs} +1978 -237
- package/dist/chunk-HMEEW73F.cjs.map +1 -0
- package/dist/{chunk-KNQZZJYJ.js → chunk-IB23CRL2.js} +2 -2
- package/dist/{chunk-GHYWIVSU.cjs → chunk-IVJ6TBVW.cjs} +34 -34
- package/dist/{chunk-GHYWIVSU.cjs.map → chunk-IVJ6TBVW.cjs.map} +1 -1
- package/dist/{chunk-XJ3Y4OOF.js → chunk-IZGXIZWF.js} +2 -2
- package/dist/chunk-JMWLF2GL.cjs +1055 -0
- package/dist/chunk-JMWLF2GL.cjs.map +1 -0
- package/dist/{chunk-MCFETAH7.js → chunk-JUXCEHK2.js} +2 -2
- package/dist/{chunk-KX4F4O26.cjs → chunk-KS7NKONC.cjs} +3 -3
- package/dist/{chunk-KX4F4O26.cjs.map → chunk-KS7NKONC.cjs.map} +1 -1
- package/dist/{chunk-VYNYJVSE.cjs → chunk-LHQ6RVFE.cjs} +17 -17
- package/dist/{chunk-VYNYJVSE.cjs.map → chunk-LHQ6RVFE.cjs.map} +1 -1
- package/dist/{chunk-LGHMGCUG.cjs → chunk-M3ERSHPM.cjs} +4 -4
- package/dist/{chunk-LGHMGCUG.cjs.map → chunk-M3ERSHPM.cjs.map} +1 -1
- package/dist/{chunk-Q7X74UZF.cjs → chunk-RBMVTCRM.cjs} +3 -3
- package/dist/{chunk-Q7X74UZF.cjs.map → chunk-RBMVTCRM.cjs.map} +1 -1
- package/dist/{chunk-LYU3IZOA.cjs → chunk-RILGQ2OY.cjs} +10 -10
- package/dist/{chunk-LYU3IZOA.cjs.map → chunk-RILGQ2OY.cjs.map} +1 -1
- package/dist/{chunk-T6DRWYLM.cjs → chunk-RQMS2CF5.cjs} +17 -17
- package/dist/{chunk-T6DRWYLM.cjs.map → chunk-RQMS2CF5.cjs.map} +1 -1
- package/dist/{chunk-TC47NAJ3.cjs → chunk-S2ZXUQLR.cjs} +16 -16
- package/dist/{chunk-TC47NAJ3.cjs.map → chunk-S2ZXUQLR.cjs.map} +1 -1
- package/dist/{chunk-G3ZMLSKJ.js → chunk-SM6JAZ4C.js} +2 -2
- package/dist/{chunk-LENIASJW.js → chunk-T4DIAKIK.js} +2 -2
- package/dist/{chunk-ODOFQLSP.cjs → chunk-TMNFC24G.cjs} +13 -13
- package/dist/{chunk-ODOFQLSP.cjs.map → chunk-TMNFC24G.cjs.map} +1 -1
- package/dist/{chunk-FVF2MVIT.js → chunk-U6GFESVF.js} +2 -2
- package/dist/{chunk-2T7GXHRQ.js → chunk-XA5UPYWE.js} +2745 -1004
- package/dist/chunk-XA5UPYWE.js.map +1 -0
- package/dist/{chunk-TVLQVTZ6.cjs → chunk-XNSEZVV4.cjs} +4 -4
- package/dist/{chunk-TVLQVTZ6.cjs.map → chunk-XNSEZVV4.cjs.map} +1 -1
- package/dist/{chunk-XJJ2D64Q.cjs → chunk-YU4QZ6I6.cjs} +3 -3
- package/dist/{chunk-XJJ2D64Q.cjs.map → chunk-YU4QZ6I6.cjs.map} +1 -1
- package/dist/{chunk-LFG5JG2D.js → chunk-ZSENCE55.js} +5 -5
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/features/push-button-selector.d.ts +29 -1
- package/dist/components/features/push-button-selector.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +22 -22
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +61 -892
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +244 -1075
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +18 -18
- package/dist/components/meeting-scheduler/index.js +1 -1
- package/dist/components/navigation/index.cjs +5 -5
- package/dist/components/navigation/index.js +4 -4
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.js +5 -5
- package/dist/utils/announcement-storage.d.ts +16 -25
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/dismiss-cookie.d.ts +8 -27
- package/dist/utils/dismiss-cookie.d.ts.map +1 -1
- package/dist/utils/dismissal-storage.d.ts +2 -2
- package/dist/utils/dismissal-storage.d.ts.map +1 -1
- package/dist/utils/index.cjs +53 -70
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +53 -70
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/features/.push-button-selector.md +1 -1
- package/src/components/features/push-button-selector.tsx +142 -17
- package/src/utils/announcement-storage.ts +16 -25
- package/src/utils/dismiss-cookie.ts +9 -86
- package/src/utils/dismissal-storage.ts +2 -2
- package/dist/chunk-2T7GXHRQ.js.map +0 -1
- package/dist/chunk-FWNIZC6A.js +0 -1867
- package/dist/chunk-FWNIZC6A.js.map +0 -1
- package/dist/chunk-IHFTLVDF.cjs +0 -1867
- package/dist/chunk-IHFTLVDF.cjs.map +0 -1
- package/dist/chunk-RH7EY7YN.cjs.map +0 -1
- package/src/utils/__tests__/dismiss-cookie.test.ts +0 -133
- /package/dist/{chunk-PDK6KVU6.js.map → chunk-53ZVUW2M.js.map} +0 -0
- /package/dist/{chunk-BTXJQPGE.js.map → chunk-5U2FU5LM.js.map} +0 -0
- /package/dist/{chunk-EXBNO6FB.js.map → chunk-CJW6KZD3.js.map} +0 -0
- /package/dist/{chunk-NOO3QOJI.js.map → chunk-EULY3BXB.js.map} +0 -0
- /package/dist/{chunk-ML22BIKH.js.map → chunk-GAL6EXUY.js.map} +0 -0
- /package/dist/{chunk-YTZK2ORN.js.map → chunk-H7K76TPX.js.map} +0 -0
- /package/dist/{chunk-KNQZZJYJ.js.map → chunk-IB23CRL2.js.map} +0 -0
- /package/dist/{chunk-XJ3Y4OOF.js.map → chunk-IZGXIZWF.js.map} +0 -0
- /package/dist/{chunk-MCFETAH7.js.map → chunk-JUXCEHK2.js.map} +0 -0
- /package/dist/{chunk-G3ZMLSKJ.js.map → chunk-SM6JAZ4C.js.map} +0 -0
- /package/dist/{chunk-LENIASJW.js.map → chunk-T4DIAKIK.js.map} +0 -0
- /package/dist/{chunk-FVF2MVIT.js.map → chunk-U6GFESVF.js.map} +0 -0
- /package/dist/{chunk-LFG5JG2D.js.map → chunk-ZSENCE55.js.map} +0 -0
|
@@ -9030,7 +9030,7 @@ function renderAdvancedPageContainer({
|
|
|
9030
9030
|
md: "p-6",
|
|
9031
9031
|
lg: "p-8"
|
|
9032
9032
|
};
|
|
9033
|
-
const
|
|
9033
|
+
const backgroundClasses2 = {
|
|
9034
9034
|
default: "bg-ods-bg",
|
|
9035
9035
|
card: "bg-ods-card",
|
|
9036
9036
|
transparent: ""
|
|
@@ -9090,7 +9090,7 @@ function renderAdvancedPageContainer({
|
|
|
9090
9090
|
] });
|
|
9091
9091
|
};
|
|
9092
9092
|
const getContainerClasses = () => {
|
|
9093
|
-
const baseClasses = ["flex flex-col w-full",
|
|
9093
|
+
const baseClasses = ["flex flex-col w-full", backgroundClasses2[background], paddingClasses[padding]];
|
|
9094
9094
|
switch (variant) {
|
|
9095
9095
|
case "list":
|
|
9096
9096
|
return _chunkPRPZBXWZcjs.cn.call(void 0, baseClasses, "gap-4 md:gap-6", className);
|
|
@@ -10100,23 +10100,11 @@ function isGenericWebsiteDomain(website) {
|
|
|
10100
10100
|
|
|
10101
10101
|
// src/utils/dismiss-cookie.ts
|
|
10102
10102
|
var DISMISS_COOKIE_MAX_AGE_SECONDS = 31536e3;
|
|
10103
|
-
function canUseCookies() {
|
|
10104
|
-
if (typeof document === "undefined") return false;
|
|
10105
|
-
return document.URL.startsWith("http:") || document.URL.startsWith("https:");
|
|
10106
|
-
}
|
|
10107
|
-
function fallbackStore(name) {
|
|
10108
|
-
return _chunkCP6TIRONcjs.createLocalStorageAdapter.call(void 0, {
|
|
10109
|
-
key: name,
|
|
10110
|
-
logTag: "[dismiss-cookie]",
|
|
10111
|
-
validate: (parsed) => typeof parsed === "string"
|
|
10112
|
-
});
|
|
10113
|
-
}
|
|
10114
10103
|
function isDismissedCookieValue(cookieValue, id) {
|
|
10115
10104
|
return !!id && cookieValue === id;
|
|
10116
10105
|
}
|
|
10117
10106
|
function readDismissCookie(name) {
|
|
10118
10107
|
if (typeof document === "undefined") return void 0;
|
|
10119
|
-
if (!canUseCookies()) return _nullishCoalesce(fallbackStore(name).load(), () => ( void 0));
|
|
10120
10108
|
const match = document.cookie.split("; ").find((row) => row.startsWith(`${name}=`));
|
|
10121
10109
|
if (!match) return void 0;
|
|
10122
10110
|
try {
|
|
@@ -10127,15 +10115,10 @@ function readDismissCookie(name) {
|
|
|
10127
10115
|
}
|
|
10128
10116
|
function writeDismissCookie(name, id) {
|
|
10129
10117
|
if (typeof document === "undefined") return;
|
|
10130
|
-
if (!canUseCookies()) {
|
|
10131
|
-
fallbackStore(name).save(id);
|
|
10132
|
-
return;
|
|
10133
|
-
}
|
|
10134
10118
|
document.cookie = `${name}=${encodeURIComponent(id)}; path=/; max-age=${DISMISS_COOKIE_MAX_AGE_SECONDS}; SameSite=Lax`;
|
|
10135
10119
|
}
|
|
10136
10120
|
function clearDismissCookie(name) {
|
|
10137
10121
|
if (typeof document === "undefined") return;
|
|
10138
|
-
fallbackStore(name).clear();
|
|
10139
10122
|
document.cookie = `${name}=; path=/; max-age=0`;
|
|
10140
10123
|
}
|
|
10141
10124
|
|
|
@@ -11125,7 +11108,7 @@ var BenefitCard = ({
|
|
|
11125
11108
|
const gap = cardVariant === "auth-figma" ? "gap-4" : "gap-2";
|
|
11126
11109
|
return `flex ${gap} items-start justify-start relative`;
|
|
11127
11110
|
};
|
|
11128
|
-
const
|
|
11111
|
+
const variantStyles2 = {
|
|
11129
11112
|
default: {
|
|
11130
11113
|
container: "bg-ods-bg p-2 md:p-4",
|
|
11131
11114
|
title: "font-body font-bold text-body-md md:text-body-lg text-ods-text-primary",
|
|
@@ -11142,7 +11125,7 @@ var BenefitCard = ({
|
|
|
11142
11125
|
description: "text-h4 text-ods-text-secondary"
|
|
11143
11126
|
}
|
|
11144
11127
|
};
|
|
11145
|
-
const styles =
|
|
11128
|
+
const styles = variantStyles2[variant];
|
|
11146
11129
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, getBaseStyles(variant), styles.container, className), children: [
|
|
11147
11130
|
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: icon }),
|
|
11148
11131
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
@@ -11280,7 +11263,7 @@ function BulletList({
|
|
|
11280
11263
|
var ChevronButton = _react.forwardRef.call(void 0,
|
|
11281
11264
|
({ className, direction = "down", size = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
|
|
11282
11265
|
const Icon2 = (isExpanded ? _lucidereact.ChevronUp : _lucidereact.ChevronDown) || (direction === "up" ? _lucidereact.ChevronUp : _lucidereact.ChevronDown);
|
|
11283
|
-
const
|
|
11266
|
+
const sizeClasses2 = {
|
|
11284
11267
|
sm: "h-4 w-4",
|
|
11285
11268
|
md: "h-5 w-5",
|
|
11286
11269
|
lg: "h-6 w-6"
|
|
@@ -11299,7 +11282,7 @@ var ChevronButton = _react.forwardRef.call(void 0,
|
|
|
11299
11282
|
},
|
|
11300
11283
|
ref,
|
|
11301
11284
|
...props,
|
|
11302
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon2, { className:
|
|
11285
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon2, { className: sizeClasses2[size] })
|
|
11303
11286
|
}
|
|
11304
11287
|
);
|
|
11305
11288
|
}
|
|
@@ -11994,12 +11977,12 @@ function HighlightCardGrid({
|
|
|
11994
11977
|
|
|
11995
11978
|
var IconsBlock = _react.forwardRef.call(void 0,
|
|
11996
11979
|
({ className, icons = [], size = "md", ...props }, ref) => {
|
|
11997
|
-
const
|
|
11980
|
+
const sizeClasses2 = {
|
|
11998
11981
|
sm: "h-4 w-4",
|
|
11999
11982
|
md: "h-6 w-6",
|
|
12000
11983
|
lg: "h-8 w-8"
|
|
12001
11984
|
};
|
|
12002
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex items-center gap-2", className), ref, ...props, children: icons.map((icon, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "rounded-md bg-secondary p-1",
|
|
11985
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex items-center gap-2", className), ref, ...props, children: icons.map((icon, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "rounded-md bg-secondary p-1", sizeClasses2[size]), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full w-full rounded-sm bg-primary/20" }) }, index)) });
|
|
12003
11986
|
}
|
|
12004
11987
|
);
|
|
12005
11988
|
IconsBlock.displayName = "IconsBlock";
|
|
@@ -20617,106 +20600,1799 @@ function PlatformFilterComponent({
|
|
|
20617
20600
|
// src/components/features/push-button-selector.tsx
|
|
20618
20601
|
|
|
20619
20602
|
|
|
20620
|
-
|
|
20621
|
-
|
|
20622
|
-
|
|
20623
|
-
|
|
20624
|
-
|
|
20625
|
-
|
|
20626
|
-
|
|
20627
|
-
|
|
20628
|
-
|
|
20603
|
+
|
|
20604
|
+
// src/components/loading/unified-skeleton.tsx
|
|
20605
|
+
|
|
20606
|
+
function UnifiedSkeleton({
|
|
20607
|
+
className,
|
|
20608
|
+
variant = "default",
|
|
20609
|
+
width,
|
|
20610
|
+
height,
|
|
20611
|
+
animate = true,
|
|
20612
|
+
"aria-label": ariaLabel,
|
|
20613
|
+
...props
|
|
20614
|
+
}) {
|
|
20615
|
+
const baseClasses = "bg-ods-skeleton";
|
|
20616
|
+
const variantClasses = {
|
|
20617
|
+
default: "rounded-md",
|
|
20618
|
+
text: "rounded-sm",
|
|
20619
|
+
circular: "rounded-full",
|
|
20620
|
+
rectangular: "rounded-none"
|
|
20621
|
+
};
|
|
20622
|
+
const defaultHeights = {
|
|
20623
|
+
default: "h-4",
|
|
20624
|
+
text: "h-4",
|
|
20625
|
+
circular: "h-12 w-12",
|
|
20626
|
+
rectangular: "h-4"
|
|
20627
|
+
};
|
|
20628
|
+
const animationClasses = animate ? "animate-pulse motion-reduce:animate-none" : "";
|
|
20629
|
+
const style = {
|
|
20630
|
+
width,
|
|
20631
|
+
height
|
|
20632
|
+
};
|
|
20633
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20634
|
+
"div",
|
|
20635
|
+
{
|
|
20636
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
20637
|
+
baseClasses,
|
|
20638
|
+
variantClasses[variant],
|
|
20639
|
+
!height && !style.height && defaultHeights[variant],
|
|
20640
|
+
!width && !style.width && variant !== "circular" && "w-full",
|
|
20641
|
+
animationClasses,
|
|
20642
|
+
className
|
|
20643
|
+
),
|
|
20644
|
+
style,
|
|
20645
|
+
role: "status",
|
|
20646
|
+
"aria-label": ariaLabel || "Loading content",
|
|
20647
|
+
...props
|
|
20648
|
+
}
|
|
20649
|
+
);
|
|
20650
|
+
}
|
|
20651
|
+
var TextSkeleton = {
|
|
20652
|
+
/**
|
|
20653
|
+
* Large heading skeleton (h1, h2)
|
|
20654
|
+
*/
|
|
20655
|
+
Heading: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20656
|
+
UnifiedSkeleton,
|
|
20657
|
+
{
|
|
20658
|
+
variant: "text",
|
|
20659
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-8 md:h-10 lg:h-12", className),
|
|
20660
|
+
"aria-label": "Loading heading",
|
|
20661
|
+
...props
|
|
20662
|
+
}
|
|
20663
|
+
),
|
|
20664
|
+
/**
|
|
20665
|
+
* Medium heading skeleton (h3, h4)
|
|
20666
|
+
*/
|
|
20667
|
+
Subheading: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20668
|
+
UnifiedSkeleton,
|
|
20669
|
+
{
|
|
20670
|
+
variant: "text",
|
|
20671
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-6 md:h-7 lg:h-8", className),
|
|
20672
|
+
"aria-label": "Loading subheading",
|
|
20673
|
+
...props
|
|
20674
|
+
}
|
|
20675
|
+
),
|
|
20676
|
+
/**
|
|
20677
|
+
* Body text skeleton
|
|
20678
|
+
*/
|
|
20679
|
+
Body: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "text", className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-4 md:h-5", className), "aria-label": "Loading text", ...props }),
|
|
20680
|
+
/**
|
|
20681
|
+
* Small text skeleton (captions, metadata)
|
|
20682
|
+
*/
|
|
20683
|
+
Caption: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "text", className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-3 md:h-4", className), "aria-label": "Loading caption", ...props })
|
|
20684
|
+
};
|
|
20685
|
+
var InteractiveSkeleton = {
|
|
20686
|
+
/**
|
|
20687
|
+
* Button skeleton with proper touch targets
|
|
20688
|
+
*/
|
|
20689
|
+
Button: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20690
|
+
UnifiedSkeleton,
|
|
20691
|
+
{
|
|
20692
|
+
variant: "default",
|
|
20693
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-10 w-32 md:h-12 md:w-40", className),
|
|
20694
|
+
"aria-label": "Loading button",
|
|
20695
|
+
...props
|
|
20696
|
+
}
|
|
20697
|
+
),
|
|
20698
|
+
/**
|
|
20699
|
+
* Input field skeleton
|
|
20700
|
+
*/
|
|
20701
|
+
Input: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20702
|
+
UnifiedSkeleton,
|
|
20703
|
+
{
|
|
20704
|
+
variant: "default",
|
|
20705
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-10 w-full md:h-12", className),
|
|
20706
|
+
"aria-label": "Loading input field",
|
|
20707
|
+
...props
|
|
20708
|
+
}
|
|
20709
|
+
),
|
|
20710
|
+
/**
|
|
20711
|
+
* Filter chip skeleton
|
|
20712
|
+
*/
|
|
20713
|
+
Chip: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20714
|
+
UnifiedSkeleton,
|
|
20715
|
+
{
|
|
20716
|
+
variant: "default",
|
|
20717
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-8 w-20 rounded-full", className),
|
|
20718
|
+
"aria-label": "Loading filter",
|
|
20719
|
+
...props
|
|
20720
|
+
}
|
|
20721
|
+
)
|
|
20722
|
+
};
|
|
20723
|
+
var MediaSkeleton = {
|
|
20724
|
+
/**
|
|
20725
|
+
* Avatar/profile image skeleton
|
|
20726
|
+
*/
|
|
20727
|
+
Avatar: ({
|
|
20728
|
+
size = "md",
|
|
20729
|
+
className,
|
|
20730
|
+
...props
|
|
20731
|
+
}) => {
|
|
20732
|
+
const sizeClasses2 = {
|
|
20733
|
+
sm: "h-8 w-8",
|
|
20734
|
+
md: "h-12 w-12",
|
|
20735
|
+
lg: "h-16 w-16"
|
|
20736
|
+
};
|
|
20737
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20738
|
+
UnifiedSkeleton,
|
|
20739
|
+
{
|
|
20740
|
+
variant: "circular",
|
|
20741
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, sizeClasses2[size], className),
|
|
20742
|
+
"aria-label": "Loading profile image",
|
|
20743
|
+
...props
|
|
20744
|
+
}
|
|
20745
|
+
);
|
|
20746
|
+
},
|
|
20747
|
+
/**
|
|
20748
|
+
* Card image skeleton (1200×630 OG aspect — matches entity-cards default
|
|
20749
|
+
* so loading state never causes a height shift when card data arrives)
|
|
20750
|
+
*/
|
|
20751
|
+
CardImage: ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20752
|
+
UnifiedSkeleton,
|
|
20753
|
+
{
|
|
20754
|
+
variant: "default",
|
|
20755
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "aspect-[1200/630] w-full", className),
|
|
20756
|
+
"aria-label": "Loading image",
|
|
20757
|
+
...props
|
|
20758
|
+
}
|
|
20759
|
+
),
|
|
20760
|
+
/**
|
|
20761
|
+
* Icon skeleton
|
|
20762
|
+
*/
|
|
20763
|
+
Icon: ({
|
|
20764
|
+
size = "md",
|
|
20765
|
+
className,
|
|
20766
|
+
...props
|
|
20767
|
+
}) => {
|
|
20768
|
+
const sizeClasses2 = {
|
|
20769
|
+
sm: "h-4 w-4",
|
|
20770
|
+
md: "h-6 w-6",
|
|
20771
|
+
lg: "h-8 w-8"
|
|
20772
|
+
};
|
|
20773
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20774
|
+
UnifiedSkeleton,
|
|
20775
|
+
{
|
|
20776
|
+
variant: "default",
|
|
20777
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, sizeClasses2[size], className),
|
|
20778
|
+
"aria-label": "Loading icon",
|
|
20779
|
+
...props
|
|
20780
|
+
}
|
|
20781
|
+
);
|
|
20782
|
+
}
|
|
20783
|
+
};
|
|
20784
|
+
|
|
20785
|
+
// src/components/loading/card-skeleton.tsx
|
|
20786
|
+
|
|
20787
|
+
function CardSkeleton({
|
|
20788
|
+
className,
|
|
20789
|
+
containerClassName,
|
|
20790
|
+
variant = "vendor",
|
|
20791
|
+
showActions = true,
|
|
20792
|
+
showMetadata = true,
|
|
20793
|
+
...props
|
|
20794
|
+
}) {
|
|
20795
|
+
const cardContent = {
|
|
20796
|
+
vendor: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorCardContent, { showMetadata }),
|
|
20797
|
+
blog: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlogCardContent, { showActions, showMetadata }),
|
|
20798
|
+
category: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CategoryCardContent, {}),
|
|
20799
|
+
alternative: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlternativeCardContent, { showActions })
|
|
20800
|
+
};
|
|
20801
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20802
|
+
"div",
|
|
20803
|
+
{
|
|
20804
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
20805
|
+
containerClassName || "border border-ods-border bg-ods-card",
|
|
20806
|
+
"overflow-hidden rounded-lg",
|
|
20807
|
+
// Flex layouts for certain variants
|
|
20808
|
+
variant === "blog" && "flex h-full flex-col",
|
|
20809
|
+
variant === "vendor" && "flex h-full flex-col",
|
|
20810
|
+
className
|
|
20811
|
+
),
|
|
20812
|
+
role: "status",
|
|
20813
|
+
"aria-label": `Loading ${variant} card`,
|
|
20814
|
+
...props,
|
|
20815
|
+
children: cardContent[variant]
|
|
20816
|
+
}
|
|
20817
|
+
);
|
|
20818
|
+
}
|
|
20819
|
+
function VendorCardContent({ showMetadata }) {
|
|
20820
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
20821
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
20822
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
|
|
20823
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
20824
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
20825
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-1/2" })
|
|
20826
|
+
] })
|
|
20827
|
+
] }),
|
|
20828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20829
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
20830
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
20831
|
+
] }) }),
|
|
20832
|
+
showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
20833
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
20834
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
20835
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
20836
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-8" })
|
|
20837
|
+
] }),
|
|
20838
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
20839
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
20840
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-10" })
|
|
20629
20841
|
] })
|
|
20630
20842
|
] }),
|
|
20631
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "
|
|
20632
|
-
|
|
20843
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
20844
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
20845
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
20846
|
+
] }) })
|
|
20847
|
+
] })
|
|
20633
20848
|
] });
|
|
20634
20849
|
}
|
|
20635
|
-
function
|
|
20636
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20637
|
-
|
|
20638
|
-
/* @__PURE__ */ _jsxruntime.
|
|
20639
|
-
"
|
|
20640
|
-
|
|
20641
|
-
|
|
20850
|
+
function BlogCardContent({ showActions, showMetadata }) {
|
|
20851
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20852
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.CardImage, {}) }),
|
|
20853
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
|
|
20854
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20855
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-full" }),
|
|
20856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" })
|
|
20857
|
+
] }) }),
|
|
20858
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
|
|
20859
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
20860
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-12" })
|
|
20861
|
+
] }),
|
|
20862
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
20864
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-1/2" })
|
|
20865
|
+
] }) }),
|
|
20866
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
|
|
20867
|
+
showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 border-t border-ods-border pt-4", children: [
|
|
20868
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
20869
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "sm" }),
|
|
20870
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
20871
|
+
] }),
|
|
20872
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
|
|
20873
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-12" }),
|
|
20874
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
|
|
20875
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
20876
|
+
] })
|
|
20877
|
+
] }) })
|
|
20878
|
+
] })
|
|
20642
20879
|
] });
|
|
20643
20880
|
}
|
|
20644
|
-
function
|
|
20645
|
-
|
|
20646
|
-
|
|
20647
|
-
|
|
20648
|
-
|
|
20649
|
-
|
|
20650
|
-
|
|
20651
|
-
|
|
20652
|
-
|
|
20653
|
-
|
|
20654
|
-
|
|
20655
|
-
|
|
20656
|
-
|
|
20657
|
-
|
|
20881
|
+
function CategoryCardContent() {
|
|
20882
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 md:p-6", children: [
|
|
20883
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
|
|
20884
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
20885
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
20886
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
20887
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-1/2" })
|
|
20888
|
+
] }),
|
|
20889
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
20890
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
20891
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
20892
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
20893
|
+
] }),
|
|
20894
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
|
|
20895
|
+
] })
|
|
20896
|
+
] })
|
|
20897
|
+
] });
|
|
20898
|
+
}
|
|
20899
|
+
function AlternativeCardContent({ showActions }) {
|
|
20900
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
20901
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
|
|
20902
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
20903
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
20904
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
20905
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
20906
|
+
] }),
|
|
20907
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
20908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
20909
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-5/6" })
|
|
20910
|
+
] }),
|
|
20911
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
|
|
20912
|
+
] })
|
|
20913
|
+
] });
|
|
20914
|
+
}
|
|
20915
|
+
function CardSkeletonGrid({
|
|
20916
|
+
count = 6,
|
|
20917
|
+
variant = "vendor",
|
|
20918
|
+
className,
|
|
20919
|
+
containerClassName,
|
|
20920
|
+
...props
|
|
20658
20921
|
}) {
|
|
20659
|
-
|
|
20660
|
-
|
|
20661
|
-
|
|
20662
|
-
|
|
20663
|
-
|
|
20664
|
-
|
|
20665
|
-
|
|
20666
|
-
|
|
20667
|
-
|
|
20668
|
-
|
|
20669
|
-
|
|
20670
|
-
|
|
20671
|
-
|
|
20672
|
-
|
|
20673
|
-
|
|
20674
|
-
onSelectionChange(validSelectedIds.filter((id) => id !== optionId));
|
|
20675
|
-
} else {
|
|
20676
|
-
onSelectionChange([...validSelectedIds, optionId]);
|
|
20677
|
-
}
|
|
20678
|
-
} else {
|
|
20679
|
-
onSelectionChange(validSelectedIds.includes(optionId) ? [] : [optionId]);
|
|
20922
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20923
|
+
"div",
|
|
20924
|
+
{
|
|
20925
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
20926
|
+
"grid gap-4 md:gap-6",
|
|
20927
|
+
// Responsive grid based on card type
|
|
20928
|
+
variant === "vendor" && "grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
|
|
20929
|
+
variant === "blog" && "grid-cols-1 md:grid-cols-2",
|
|
20930
|
+
variant === "category" && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
20931
|
+
variant === "alternative" && "grid-cols-1",
|
|
20932
|
+
className
|
|
20933
|
+
),
|
|
20934
|
+
role: "status",
|
|
20935
|
+
"aria-label": `Loading ${count} ${variant} cards`,
|
|
20936
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardSkeleton, { variant, containerClassName, ...props }, index))
|
|
20680
20937
|
}
|
|
20681
|
-
|
|
20682
|
-
|
|
20683
|
-
|
|
20684
|
-
|
|
20685
|
-
|
|
20938
|
+
);
|
|
20939
|
+
}
|
|
20940
|
+
|
|
20941
|
+
// src/components/loading/page-layout-skeleton.tsx
|
|
20942
|
+
|
|
20943
|
+
function AnnouncementBarSkeleton() {
|
|
20944
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative w-full animate-pulse bg-ods-skeleton", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative flex w-full flex-row items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative box-border flex w-full flex-row items-center justify-start gap-4 py-3 pl-4 pr-12 md:gap-6 md:py-4 md:pl-6 md:pr-16", children: [
|
|
20945
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative h-6 w-6 shrink-0 rounded bg-ods-border md:h-8 md:w-8" }),
|
|
20946
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 space-y-1 md:space-y-2", children: [
|
|
20947
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[14px] w-3/4 max-w-md rounded bg-ods-border md:h-[18px]" }),
|
|
20948
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden h-[12px] w-full max-w-lg rounded bg-ods-border md:block md:h-[18px]" })
|
|
20949
|
+
] }),
|
|
20950
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute right-2 top-2 h-6 w-6 rounded bg-ods-border" })
|
|
20951
|
+
] }) }) });
|
|
20952
|
+
}
|
|
20953
|
+
function HeroSkeleton() {
|
|
20954
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20955
|
+
"section",
|
|
20956
|
+
{
|
|
20957
|
+
className: "flex w-full animate-pulse flex-col items-center justify-center px-4 py-12 text-center md:px-8 md:py-20",
|
|
20958
|
+
style: {
|
|
20959
|
+
background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
|
|
20960
|
+
},
|
|
20961
|
+
children: [
|
|
20962
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
|
|
20963
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 md:mb-10", children: [
|
|
20964
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "h-5 md:h-7" }),
|
|
20965
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
|
|
20966
|
+
] }),
|
|
20967
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
|
|
20968
|
+
]
|
|
20969
|
+
}
|
|
20970
|
+
);
|
|
20971
|
+
}
|
|
20972
|
+
function SearchContainerSkeleton({
|
|
20973
|
+
className,
|
|
20974
|
+
showFilters = true
|
|
20975
|
+
}) {
|
|
20976
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-4", className || ""), children: [
|
|
20977
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-4", children: [
|
|
20978
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Input, { className: "flex-1" }),
|
|
20979
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
|
|
20980
|
+
] }),
|
|
20981
|
+
showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
|
|
20982
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, {}),
|
|
20983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-24" }),
|
|
20984
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
20985
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-20" })
|
|
20986
|
+
] })
|
|
20987
|
+
] });
|
|
20988
|
+
}
|
|
20989
|
+
function CategorySidebarSkeleton({ className }) {
|
|
20990
|
+
const items = [
|
|
20991
|
+
{ type: "file", width: "w-20", hasBadge: false },
|
|
20992
|
+
{ type: "folder", width: "w-24", hasBadge: true },
|
|
20993
|
+
{ type: "folder", width: "w-20", hasBadge: true },
|
|
20994
|
+
{ type: "folder", width: "w-24", hasBadge: true },
|
|
20995
|
+
{ type: "folder", width: "w-16", hasBadge: true },
|
|
20996
|
+
{ type: "folder", width: "w-20", hasBadge: true },
|
|
20997
|
+
{ type: "folder", width: "w-28", hasBadge: true },
|
|
20998
|
+
{ type: "folder", width: "w-16", hasBadge: true },
|
|
20999
|
+
{ type: "folder", width: "w-24", hasBadge: true },
|
|
21000
|
+
{ type: "file", width: "w-28" },
|
|
21001
|
+
{ type: "file", width: "w-36" }
|
|
21002
|
+
];
|
|
21003
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "w-full lg:w-[320px]", className), children: [
|
|
21004
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
|
|
21005
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20686
21006
|
"div",
|
|
20687
21007
|
{
|
|
20688
|
-
className:
|
|
20689
|
-
|
|
20690
|
-
|
|
20691
|
-
|
|
20692
|
-
|
|
20693
|
-
|
|
20694
|
-
|
|
20695
|
-
|
|
20696
|
-
children: option.icon
|
|
20697
|
-
}
|
|
20698
|
-
),
|
|
20699
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
20700
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-semibold text-ods-text-primary text-h6", children: option.displayName || option.name }),
|
|
20701
|
-
option.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "line-clamp-2 text-ods-text-secondary text-h6", title: option.description, children: option.description })
|
|
20702
|
-
] })
|
|
21008
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21009
|
+
"flex min-h-[50px] items-center justify-between rounded-lg border border-ods-border px-4 py-4",
|
|
21010
|
+
index === 0 ? "bg-ods-accent/20" : "bg-ods-card"
|
|
21011
|
+
),
|
|
21012
|
+
children: [
|
|
21013
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
|
|
21014
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
|
|
21015
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
|
|
20703
21016
|
] }),
|
|
20704
|
-
/* @__PURE__ */ _jsxruntime.
|
|
20705
|
-
"
|
|
20706
|
-
{
|
|
20707
|
-
|
|
20708
|
-
|
|
20709
|
-
}
|
|
20710
|
-
)
|
|
20711
|
-
] })
|
|
21017
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
|
|
21018
|
+
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
|
|
21019
|
+
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-4 w-4 rounded" })
|
|
21020
|
+
] })
|
|
21021
|
+
]
|
|
20712
21022
|
},
|
|
20713
|
-
|
|
20714
|
-
)
|
|
20715
|
-
|
|
20716
|
-
|
|
20717
|
-
|
|
20718
|
-
|
|
20719
|
-
|
|
21023
|
+
index
|
|
21024
|
+
)) })
|
|
21025
|
+
] });
|
|
21026
|
+
}
|
|
21027
|
+
function BreadcrumbSkeleton({ className }) {
|
|
21028
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
|
|
21029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" }),
|
|
21030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
21031
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-24" }),
|
|
21032
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
21033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-32" }),
|
|
21034
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
21035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-24" })
|
|
21036
|
+
] });
|
|
21037
|
+
}
|
|
21038
|
+
function ResultsHeaderSkeleton({ className }) {
|
|
21039
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-48" }) }) });
|
|
21040
|
+
}
|
|
21041
|
+
function TwoColumnLayoutSkeleton({
|
|
21042
|
+
className,
|
|
21043
|
+
sidebarContent,
|
|
21044
|
+
mainContent,
|
|
21045
|
+
sidebarPosition = "left"
|
|
21046
|
+
}) {
|
|
21047
|
+
const sidebar = sidebarContent || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CategorySidebarSkeleton, {});
|
|
21048
|
+
const main = mainContent || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardSkeletonGrid, { count: 6 });
|
|
21049
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21050
|
+
"div",
|
|
21051
|
+
{
|
|
21052
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21053
|
+
"grid grid-cols-1 gap-6 lg:grid-cols-[320px_1fr] lg:gap-8",
|
|
21054
|
+
sidebarPosition === "right" && "lg:grid-cols-[1fr_320px]",
|
|
21055
|
+
className
|
|
21056
|
+
),
|
|
21057
|
+
children: sidebarPosition === "left" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
21058
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "aside", { className: "order-2 lg:order-1", children: sidebar }),
|
|
21059
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: "order-1 lg:order-2", children: main })
|
|
21060
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
21061
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: "order-1", children: main }),
|
|
21062
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "aside", { className: "order-2", children: sidebar })
|
|
21063
|
+
] })
|
|
21064
|
+
}
|
|
21065
|
+
);
|
|
21066
|
+
}
|
|
21067
|
+
function ArticleLayoutSkeleton({ className }) {
|
|
21068
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
|
|
21069
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 md:mb-12 md:space-y-6", children: [
|
|
21070
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
21071
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, {}),
|
|
21072
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Chip, { className: "w-16" })
|
|
21073
|
+
] }),
|
|
21074
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21075
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-full" }),
|
|
21076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-3/4" })
|
|
21077
|
+
] }),
|
|
21078
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
|
|
21079
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21080
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "sm" }),
|
|
21081
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-24" })
|
|
21082
|
+
] }),
|
|
21083
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-20" }),
|
|
21084
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
21085
|
+
] })
|
|
21086
|
+
] }),
|
|
21087
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
|
|
21088
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
|
|
21089
|
+
Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21090
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21091
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21092
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-5/6" }),
|
|
21093
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21094
|
+
] }, index)),
|
|
21095
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
|
|
21096
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
|
|
21097
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21098
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21099
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-4/5" })
|
|
21100
|
+
] })
|
|
21101
|
+
] })
|
|
21102
|
+
] })
|
|
21103
|
+
] });
|
|
21104
|
+
}
|
|
21105
|
+
function VendorDetailLayoutSkeleton({ className }) {
|
|
21106
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "min-h-screen bg-ods-bg", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mx-auto max-w-[1920px] px-6 py-6 md:px-20 md:py-10", children: [
|
|
21107
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreadcrumbSkeleton, { className: "mb-6" }),
|
|
21108
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col lg:flex-row lg:gap-10", children: [
|
|
21109
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
21110
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-10", children: [
|
|
21111
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 flex gap-6", children: [
|
|
21112
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-20 w-20 flex-shrink-0 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21113
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
|
|
21114
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
21115
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-80 max-w-full animate-pulse rounded bg-ods-skeleton md:h-16 lg:h-20" }),
|
|
21116
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-32 animate-pulse rounded bg-ods-skeleton md:h-6" })
|
|
21117
|
+
] }),
|
|
21118
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21119
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-20 animate-pulse rounded bg-ods-skeleton" }),
|
|
21120
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-16 animate-pulse rounded bg-ods-skeleton" })
|
|
21121
|
+
] })
|
|
21122
|
+
] })
|
|
21123
|
+
] }),
|
|
21124
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-2 h-[300px] w-full animate-pulse rounded-lg border border-ods-border bg-ods-card md:h-[400px] lg:h-[500px]" }),
|
|
21125
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mx-auto h-4 w-24 animate-pulse rounded bg-ods-skeleton" }) })
|
|
21126
|
+
] }),
|
|
21127
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-10 lg:hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21128
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21129
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21130
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" })
|
|
21132
|
+
] }),
|
|
21133
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden rounded-lg border border-ods-border", children: [
|
|
21134
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
|
|
21135
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 animate-pulse rounded bg-ods-skeleton" }),
|
|
21136
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
|
|
21137
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-20 animate-pulse rounded bg-ods-skeleton" }),
|
|
21138
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-12 animate-pulse rounded bg-ods-skeleton" })
|
|
21139
|
+
] })
|
|
21140
|
+
] }),
|
|
21141
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 p-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21142
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21143
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end gap-1", children: [
|
|
21144
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-12 animate-pulse rounded bg-ods-skeleton" }),
|
|
21145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-8 animate-pulse rounded bg-ods-skeleton" })
|
|
21146
|
+
] })
|
|
21147
|
+
] }, i)) })
|
|
21148
|
+
] }),
|
|
21149
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21150
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21151
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21152
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" })
|
|
21153
|
+
] })
|
|
21154
|
+
] }) }),
|
|
21155
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21156
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-48 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21157
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4", children: [
|
|
21158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-48 animate-pulse rounded bg-ods-skeleton" }),
|
|
21159
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21160
|
+
"div",
|
|
21161
|
+
{
|
|
21162
|
+
className: "h-10 w-24 animate-pulse rounded-lg border border-ods-border bg-ods-card"
|
|
21163
|
+
},
|
|
21164
|
+
i
|
|
21165
|
+
)) })
|
|
21166
|
+
] }),
|
|
21167
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4", children: [
|
|
21168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-52 animate-pulse rounded bg-ods-skeleton" }),
|
|
21169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21170
|
+
"div",
|
|
21171
|
+
{
|
|
21172
|
+
className: "h-10 w-28 animate-pulse rounded-lg border border-ods-border bg-ods-card"
|
|
21173
|
+
},
|
|
21174
|
+
i
|
|
21175
|
+
)) })
|
|
21176
|
+
] })
|
|
21177
|
+
] }),
|
|
21178
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21179
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-64 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21180
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6 md:p-8", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21181
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21183
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-5/6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-4/5 animate-pulse rounded bg-ods-skeleton" })
|
|
21185
|
+
] }) })
|
|
21186
|
+
] }),
|
|
21187
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21188
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-72 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 rounded-lg border border-ods-border bg-ods-card p-4", children: [
|
|
21190
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 flex-shrink-0 animate-pulse rounded bg-ods-skeleton" }),
|
|
21191
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21192
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 animate-pulse rounded bg-ods-skeleton" }),
|
|
21193
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 animate-pulse rounded bg-ods-skeleton" })
|
|
21194
|
+
] })
|
|
21195
|
+
] }, i)) })
|
|
21196
|
+
] }),
|
|
21197
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21198
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-80 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21199
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-2", children: [
|
|
21200
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-6", children: [
|
|
21201
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-16 animate-pulse rounded bg-ods-skeleton" }),
|
|
21202
|
+
Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3 rounded-lg border border-ods-border bg-ods-card p-4", children: [
|
|
21203
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 flex-shrink-0 animate-pulse rounded border border-ods-border bg-ods-bg" }),
|
|
21204
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21205
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-2/3 animate-pulse rounded bg-ods-skeleton" }),
|
|
21206
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 animate-pulse rounded bg-ods-skeleton" })
|
|
21207
|
+
] })
|
|
21208
|
+
] }, i))
|
|
21209
|
+
] }),
|
|
21210
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-6", children: [
|
|
21211
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-16 animate-pulse rounded bg-ods-skeleton" }),
|
|
21212
|
+
Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3 rounded-lg border border-ods-border bg-ods-card p-4", children: [
|
|
21213
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 flex-shrink-0 animate-pulse rounded border border-ods-border bg-ods-bg" }),
|
|
21214
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21215
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-2/3 animate-pulse rounded bg-ods-skeleton" }),
|
|
21216
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 animate-pulse rounded bg-ods-skeleton" })
|
|
21217
|
+
] })
|
|
21218
|
+
] }, i))
|
|
21219
|
+
] })
|
|
21220
|
+
] })
|
|
21221
|
+
] }),
|
|
21222
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21223
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-72 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21224
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 rounded-lg border border-ods-border bg-ods-card p-6", children: [
|
|
21225
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
21226
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-16 w-16 flex-shrink-0 animate-pulse rounded-lg border border-ods-border bg-ods-bg" }),
|
|
21227
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21228
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-3/4 animate-pulse rounded bg-ods-skeleton" }),
|
|
21229
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/2 animate-pulse rounded bg-ods-skeleton" })
|
|
21230
|
+
] }),
|
|
21231
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-20 animate-pulse rounded bg-ods-skeleton" })
|
|
21232
|
+
] }),
|
|
21233
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21234
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 animate-pulse rounded bg-ods-skeleton" }),
|
|
21235
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-5/6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21236
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4/5 animate-pulse rounded bg-ods-skeleton" })
|
|
21237
|
+
] }),
|
|
21238
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between border-t border-ods-border pt-2", children: [
|
|
21239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-16 animate-pulse rounded bg-ods-skeleton" }),
|
|
21240
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-20 animate-pulse rounded bg-ods-skeleton" })
|
|
21241
|
+
] })
|
|
21242
|
+
] }, i)) }),
|
|
21243
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-md bg-ods-skeleton" })
|
|
21244
|
+
] }),
|
|
21245
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-20 flex flex-col gap-6", children: [
|
|
21246
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-64 animate-pulse rounded bg-ods-skeleton md:h-10" }),
|
|
21247
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3", children: [
|
|
21248
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 overflow-hidden rounded-lg border border-ods-border bg-ods-bg", children: [
|
|
21249
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "border-b border-ods-border p-3", children: [
|
|
21250
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-2 h-3 w-8 animate-pulse rounded bg-ods-skeleton" }),
|
|
21251
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-full animate-pulse rounded bg-ods-skeleton" })
|
|
21252
|
+
] }),
|
|
21253
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
|
|
21254
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-2 h-3 w-16 animate-pulse rounded bg-ods-skeleton" }),
|
|
21255
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21256
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full animate-pulse rounded bg-ods-skeleton" }),
|
|
21257
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded bg-ods-skeleton" }),
|
|
21258
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/2 animate-pulse rounded bg-ods-skeleton" })
|
|
21259
|
+
] })
|
|
21260
|
+
] })
|
|
21261
|
+
] }),
|
|
21262
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-stretch", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[120px] w-20 animate-pulse rounded-lg bg-ods-skeleton" }) })
|
|
21263
|
+
] }) }),
|
|
21264
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-4", children: [
|
|
21265
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex flex-col gap-3 min-[420px]:flex-row min-[420px]:items-center min-[420px]:justify-between min-[420px]:gap-2", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21266
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 rounded-lg border border-ods-border bg-ods-card px-3 py-2", children: [
|
|
21267
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 animate-pulse rounded-lg bg-ods-skeleton" }),
|
|
21268
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-20 animate-pulse rounded bg-ods-skeleton" })
|
|
21269
|
+
] }),
|
|
21270
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-12 animate-pulse rounded bg-ods-skeleton" })
|
|
21271
|
+
] }) }),
|
|
21272
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21273
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-2/3 animate-pulse rounded bg-ods-skeleton" }),
|
|
21274
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
21275
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full animate-pulse rounded bg-ods-skeleton" }),
|
|
21276
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4/5 animate-pulse rounded bg-ods-skeleton" }),
|
|
21277
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/5 animate-pulse rounded bg-ods-skeleton" })
|
|
21278
|
+
] })
|
|
21279
|
+
] })
|
|
21280
|
+
] }, i)) })
|
|
21281
|
+
] })
|
|
21282
|
+
] }),
|
|
21283
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden w-[290px] flex-shrink-0 lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21284
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21285
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21286
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21287
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" })
|
|
21288
|
+
] }),
|
|
21289
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden rounded-lg border border-ods-border", children: [
|
|
21290
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
|
|
21291
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 animate-pulse rounded bg-ods-skeleton" }),
|
|
21292
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
|
|
21293
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-20 animate-pulse rounded bg-ods-skeleton" }),
|
|
21294
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-12 animate-pulse rounded bg-ods-skeleton" })
|
|
21295
|
+
] })
|
|
21296
|
+
] }),
|
|
21297
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 p-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21298
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 animate-pulse rounded bg-ods-skeleton" }),
|
|
21299
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end gap-1", children: [
|
|
21300
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-12 animate-pulse rounded bg-ods-skeleton" }),
|
|
21301
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-8 animate-pulse rounded bg-ods-skeleton" })
|
|
21302
|
+
] })
|
|
21303
|
+
] }, i)) })
|
|
21304
|
+
] }),
|
|
21305
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21306
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21307
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" }),
|
|
21308
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 animate-pulse rounded-lg border border-ods-border bg-ods-card" })
|
|
21309
|
+
] })
|
|
21310
|
+
] }) })
|
|
21311
|
+
] })
|
|
21312
|
+
] }) });
|
|
21313
|
+
}
|
|
21314
|
+
function StatsSectionSkeleton({ className, columns = 3 }) {
|
|
21315
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21316
|
+
"div",
|
|
21317
|
+
{
|
|
21318
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21319
|
+
"mb-12 grid gap-6 md:mb-16",
|
|
21320
|
+
columns === 3 && "grid-cols-1 md:grid-cols-3",
|
|
21321
|
+
columns === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
21322
|
+
className
|
|
21323
|
+
),
|
|
21324
|
+
children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21325
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "lg" }),
|
|
21326
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
21327
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21328
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21329
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21330
|
+
] })
|
|
21331
|
+
] }) }, i))
|
|
21332
|
+
}
|
|
21333
|
+
);
|
|
21334
|
+
}
|
|
21335
|
+
function BlogCardGridSkeleton({ className }) {
|
|
21336
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardSkeletonGrid, { count: 4, variant: "blog", className: "grid-cols-1 md:grid-cols-2" }) });
|
|
21337
|
+
}
|
|
21338
|
+
function VendorGridSkeleton({ className }) {
|
|
21339
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardSkeletonGrid, { count: 12, variant: "vendor", className: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3" }) });
|
|
21340
|
+
}
|
|
21341
|
+
function SlackCommunitySkeleton() {
|
|
21342
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "w-full bg-ods-bg px-4 py-12 md:px-20 md:py-20 lg:px-20", "aria-label": "Slack Community Loading", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 md:gap-6", children: [
|
|
21343
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 max-w-md animate-pulse rounded-lg bg-ods-skeleton md:h-12 lg:h-14" }) }),
|
|
21344
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-4 md:gap-6 lg:flex-row lg:items-start lg:justify-end", children: [
|
|
21345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-shrink-0 animate-pulse flex-col overflow-hidden rounded border border-ods-border bg-ods-bg lg:w-[290px] lg:max-w-[290px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4", children: [
|
|
21346
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
21347
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
21348
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-24 rounded bg-ods-skeleton" }),
|
|
21349
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 rounded bg-ods-skeleton" })
|
|
21350
|
+
] }),
|
|
21351
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-32 rounded bg-ods-skeleton" })
|
|
21352
|
+
] }),
|
|
21353
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
|
|
21354
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-2 h-3 w-16 rounded bg-ods-skeleton" }),
|
|
21355
|
+
Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[48px] items-center gap-2 px-2 py-3", children: [
|
|
21356
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4 rounded bg-ods-skeleton" }),
|
|
21357
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
21358
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-1 h-3 w-24 rounded bg-ods-skeleton" }),
|
|
21359
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-2 w-16 rounded bg-ods-skeleton" })
|
|
21360
|
+
] })
|
|
21361
|
+
] }, i))
|
|
21362
|
+
] }),
|
|
21363
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 border-t border-ods-border pt-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21364
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between", children: [
|
|
21365
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 rounded bg-ods-skeleton" }),
|
|
21366
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-8 rounded bg-ods-skeleton" })
|
|
21367
|
+
] }),
|
|
21368
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between", children: [
|
|
21369
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 rounded bg-ods-skeleton" }),
|
|
21370
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-8 rounded bg-ods-skeleton" })
|
|
21371
|
+
] })
|
|
21372
|
+
] }) })
|
|
21373
|
+
] }) }),
|
|
21374
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[450px] min-h-[450px] min-w-0 flex-1 animate-pulse flex-col rounded-lg border border-ods-border bg-ods-card md:h-[500px] md:min-h-[500px] lg:h-[600px] lg:min-h-[600px]", children: [
|
|
21375
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[56px] flex-shrink-0 items-center justify-between border-b border-ods-border bg-ods-bg p-4 md:h-[60px] md:p-6", children: [
|
|
21376
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21377
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-3 rounded bg-ods-skeleton md:h-4 md:w-4" }),
|
|
21378
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-24 rounded bg-ods-skeleton md:h-4 md:w-32" })
|
|
21379
|
+
] }),
|
|
21380
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-12 rounded bg-ods-skeleton md:w-16" })
|
|
21381
|
+
] }),
|
|
21382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[280px] flex-1 space-y-3 overflow-hidden bg-ods-bg p-4 md:min-h-[320px] md:space-y-4 md:p-6 lg:min-h-[420px]", children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: [
|
|
21383
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 flex-shrink-0 rounded-lg bg-ods-skeleton md:h-12 md:w-12" }),
|
|
21384
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
21385
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
|
|
21386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 rounded bg-ods-skeleton md:w-20" }),
|
|
21387
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-12 rounded bg-ods-skeleton md:w-16" })
|
|
21388
|
+
] }),
|
|
21389
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-full rounded bg-ods-skeleton md:h-4" })
|
|
21390
|
+
] })
|
|
21391
|
+
] }, i)) }),
|
|
21392
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[72px] flex-shrink-0 border-t border-ods-border bg-ods-card p-4 md:h-[80px] md:p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-end justify-center gap-3 md:justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 rounded-lg bg-ods-skeleton md:h-12 md:w-32" }) }) })
|
|
21393
|
+
] })
|
|
21394
|
+
] })
|
|
21395
|
+
] }) });
|
|
21396
|
+
}
|
|
21397
|
+
|
|
21398
|
+
// src/components/content-loading-container.tsx
|
|
21399
|
+
|
|
21400
|
+
function ContentLoadingContainer({
|
|
21401
|
+
isLoading,
|
|
21402
|
+
children,
|
|
21403
|
+
skeletonComponent,
|
|
21404
|
+
className,
|
|
21405
|
+
minHeight = "min-h-[300px] md:min-h-[800px]",
|
|
21406
|
+
loadingOpacity = 1,
|
|
21407
|
+
transitionDuration = 300
|
|
21408
|
+
}) {
|
|
21409
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21410
|
+
"div",
|
|
21411
|
+
{
|
|
21412
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "relative w-full transition-all ease-in-out", minHeight, className),
|
|
21413
|
+
style: {
|
|
21414
|
+
transitionDuration: `${transitionDuration}ms`
|
|
21415
|
+
},
|
|
21416
|
+
role: "region",
|
|
21417
|
+
"aria-label": isLoading ? "Loading content" : "Content loaded",
|
|
21418
|
+
"aria-live": "polite",
|
|
21419
|
+
children: [
|
|
21420
|
+
isLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21421
|
+
"div",
|
|
21422
|
+
{
|
|
21423
|
+
className: "absolute inset-0 z-10 bg-ods-bg",
|
|
21424
|
+
style: {
|
|
21425
|
+
opacity: loadingOpacity,
|
|
21426
|
+
transition: `opacity ${transitionDuration}ms ease-in-out`
|
|
21427
|
+
},
|
|
21428
|
+
role: "status",
|
|
21429
|
+
"aria-label": "Loading content",
|
|
21430
|
+
children: skeletonComponent
|
|
21431
|
+
}
|
|
21432
|
+
),
|
|
21433
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21434
|
+
"div",
|
|
21435
|
+
{
|
|
21436
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "relative transition-opacity ease-in-out", isLoading && "opacity-0"),
|
|
21437
|
+
style: {
|
|
21438
|
+
transitionDuration: `${transitionDuration}ms`
|
|
21439
|
+
},
|
|
21440
|
+
"aria-hidden": isLoading,
|
|
21441
|
+
children
|
|
21442
|
+
}
|
|
21443
|
+
)
|
|
21444
|
+
]
|
|
21445
|
+
}
|
|
21446
|
+
);
|
|
21447
|
+
}
|
|
21448
|
+
function useContentLoading(isLoading) {
|
|
21449
|
+
const containerProps = {
|
|
21450
|
+
"aria-busy": isLoading,
|
|
21451
|
+
"data-loading": isLoading
|
|
21452
|
+
};
|
|
21453
|
+
const getSkeletonCount = (contentType) => {
|
|
21454
|
+
return contentType === "vendor" ? 12 : 6;
|
|
21455
|
+
};
|
|
21456
|
+
const getMinHeight = (contentType) => {
|
|
21457
|
+
return contentType === "vendor" ? "min-h-[400px] md:min-h-[900px]" : "min-h-[300px] md:min-h-[800px]";
|
|
21458
|
+
};
|
|
21459
|
+
return {
|
|
21460
|
+
containerProps,
|
|
21461
|
+
getSkeletonCount,
|
|
21462
|
+
getMinHeight
|
|
21463
|
+
};
|
|
21464
|
+
}
|
|
21465
|
+
|
|
21466
|
+
// src/components/loading/content-skeleton.tsx
|
|
21467
|
+
|
|
21468
|
+
function ParagraphSkeleton({ className, lines = 4 }) {
|
|
21469
|
+
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
21470
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
|
|
21471
|
+
}
|
|
21472
|
+
function ListSkeleton({
|
|
21473
|
+
className,
|
|
21474
|
+
items = 5,
|
|
21475
|
+
showIcons = false,
|
|
21476
|
+
showActions = false
|
|
21477
|
+
}) {
|
|
21478
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
21479
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21480
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }),
|
|
21481
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-32 md:w-48" })
|
|
21482
|
+
] }),
|
|
21483
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21484
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-8" }),
|
|
21485
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
|
|
21486
|
+
] })
|
|
21487
|
+
] }, index)) });
|
|
21488
|
+
}
|
|
21489
|
+
function TableSkeleton({
|
|
21490
|
+
className,
|
|
21491
|
+
rows = 5,
|
|
21492
|
+
columns = 4
|
|
21493
|
+
}) {
|
|
21494
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
21495
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
21496
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21497
|
+
"div",
|
|
21498
|
+
{
|
|
21499
|
+
className: "grid gap-4 border-b border-ods-divider py-2",
|
|
21500
|
+
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
21501
|
+
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
21502
|
+
},
|
|
21503
|
+
rowIndex
|
|
21504
|
+
)) })
|
|
21505
|
+
] });
|
|
21506
|
+
}
|
|
21507
|
+
function FormSkeleton({ className, fields = 4 }) {
|
|
21508
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: [
|
|
21509
|
+
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-24" }),
|
|
21511
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Input, {}),
|
|
21512
|
+
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-48" })
|
|
21513
|
+
] }, index)),
|
|
21514
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
|
|
21515
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, {}),
|
|
21516
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
21517
|
+
] })
|
|
21518
|
+
] });
|
|
21519
|
+
}
|
|
21520
|
+
function NavigationSkeleton({
|
|
21521
|
+
className,
|
|
21522
|
+
items = 6,
|
|
21523
|
+
horizontal = true
|
|
21524
|
+
}) {
|
|
21525
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21526
|
+
"nav",
|
|
21527
|
+
{
|
|
21528
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex gap-4 md:gap-6", !horizontal && "flex-col", className),
|
|
21529
|
+
role: "status",
|
|
21530
|
+
"aria-label": "Loading navigation",
|
|
21531
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
|
|
21532
|
+
}
|
|
21533
|
+
);
|
|
21534
|
+
}
|
|
21535
|
+
function ProfileSkeleton({
|
|
21536
|
+
className,
|
|
21537
|
+
showBio = true,
|
|
21538
|
+
showStats = true
|
|
21539
|
+
}) {
|
|
21540
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
21541
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
21542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "lg" }),
|
|
21543
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21544
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
21545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-1/3" }),
|
|
21546
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
21547
|
+
] })
|
|
21548
|
+
] }),
|
|
21549
|
+
showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21550
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21551
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-4/5" }),
|
|
21552
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21553
|
+
] }),
|
|
21554
|
+
showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
|
|
21555
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21556
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "mx-auto w-12" })
|
|
21558
|
+
] }),
|
|
21559
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21560
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21561
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "mx-auto w-16" })
|
|
21562
|
+
] }),
|
|
21563
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21564
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21565
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "mx-auto w-14" })
|
|
21566
|
+
] })
|
|
21567
|
+
] })
|
|
21568
|
+
] });
|
|
21569
|
+
}
|
|
21570
|
+
function CommentSkeleton({
|
|
21571
|
+
className,
|
|
21572
|
+
showRating = false,
|
|
21573
|
+
showReplies = false
|
|
21574
|
+
}) {
|
|
21575
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-3", className), children: [
|
|
21576
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21577
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "sm" }),
|
|
21578
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
|
|
21579
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-24" }),
|
|
21580
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" }),
|
|
21581
|
+
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
21582
|
+
] })
|
|
21583
|
+
] }),
|
|
21584
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
|
|
21585
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" }),
|
|
21587
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-1/2" })
|
|
21588
|
+
] }),
|
|
21589
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
|
|
21590
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-12" }),
|
|
21591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" }),
|
|
21592
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-8" })
|
|
21593
|
+
] }),
|
|
21594
|
+
showReplies && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-11 space-y-4 border-l border-ods-divider pl-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21595
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21596
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Avatar, { size: "sm" }),
|
|
21597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-20" }),
|
|
21598
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-12" })
|
|
21599
|
+
] }),
|
|
21600
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
|
|
21601
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21602
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
21603
|
+
] })
|
|
21604
|
+
] }, index)) })
|
|
21605
|
+
] });
|
|
21606
|
+
}
|
|
21607
|
+
function FeatureListSkeleton({
|
|
21608
|
+
className,
|
|
21609
|
+
features = 6,
|
|
21610
|
+
showIcons = true,
|
|
21611
|
+
grouped = false
|
|
21612
|
+
}) {
|
|
21613
|
+
if (grouped) {
|
|
21614
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21615
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
21616
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21617
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }),
|
|
21618
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
21619
|
+
] }, featureIndex)) })
|
|
21620
|
+
] }, groupIndex)) });
|
|
21621
|
+
}
|
|
21622
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21623
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }),
|
|
21624
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
21625
|
+
] }, index)) });
|
|
21626
|
+
}
|
|
21627
|
+
function TimelineSkeleton({ className, items = 5 }) {
|
|
21628
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4", children: [
|
|
21629
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
|
|
21630
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }),
|
|
21631
|
+
index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
|
|
21632
|
+
] }),
|
|
21633
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21634
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21635
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-1/3" }),
|
|
21636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
21637
|
+
] }),
|
|
21638
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
21639
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21640
|
+
] })
|
|
21641
|
+
] }, index)) });
|
|
21642
|
+
}
|
|
21643
|
+
function PricingSkeleton({ className, plans = 3 }) {
|
|
21644
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21645
|
+
"div",
|
|
21646
|
+
{
|
|
21647
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21648
|
+
"grid gap-6",
|
|
21649
|
+
plans === 2 && "grid-cols-1 md:grid-cols-2",
|
|
21650
|
+
plans === 3 && "grid-cols-1 md:grid-cols-3",
|
|
21651
|
+
plans === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
21652
|
+
className
|
|
21653
|
+
),
|
|
21654
|
+
children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21655
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
21656
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
21657
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-1/3" }),
|
|
21658
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-1/4" })
|
|
21659
|
+
] }),
|
|
21660
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21661
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm" }),
|
|
21662
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21663
|
+
] }, featureIndex)) }),
|
|
21664
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Button, { className: "w-full" })
|
|
21665
|
+
] }) }, index))
|
|
21666
|
+
}
|
|
21667
|
+
);
|
|
21668
|
+
}
|
|
21669
|
+
|
|
21670
|
+
// src/components/profile/ProfileLoadingSkeleton.tsx
|
|
21671
|
+
|
|
21672
|
+
function ProfileLoadingSkeleton({ className }) {
|
|
21673
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), children: [
|
|
21674
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-4", children: [
|
|
21675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-16 w-16 animate-pulse rounded-full bg-ods-skeleton" }),
|
|
21676
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21677
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-32 animate-pulse rounded bg-ods-skeleton" }),
|
|
21678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-24 animate-pulse rounded bg-ods-skeleton" })
|
|
21679
|
+
] })
|
|
21680
|
+
] }),
|
|
21681
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21682
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full animate-pulse rounded bg-ods-skeleton" }),
|
|
21683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded bg-ods-skeleton" }),
|
|
21684
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/2 animate-pulse rounded bg-ods-skeleton" })
|
|
21685
|
+
] })
|
|
21686
|
+
] });
|
|
21687
|
+
}
|
|
21688
|
+
|
|
21689
|
+
// src/components/loading/msp-profile-form-skeleton.tsx
|
|
21690
|
+
|
|
21691
|
+
function MspProfileFormSkeleton({ className, fields = 4 }) {
|
|
21692
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21693
|
+
"div",
|
|
21694
|
+
{
|
|
21695
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "grid grid-cols-1 items-stretch gap-6 md:grid-cols-2", className),
|
|
21696
|
+
role: "status",
|
|
21697
|
+
"aria-label": "Loading MSP profile form",
|
|
21698
|
+
children: [
|
|
21699
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
|
|
21700
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-28" }),
|
|
21701
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
21702
|
+
] }),
|
|
21703
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
|
|
21704
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-40" }),
|
|
21705
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveSkeleton.Input, {})
|
|
21706
|
+
] }, idx)) })
|
|
21707
|
+
]
|
|
21708
|
+
}
|
|
21709
|
+
);
|
|
21710
|
+
}
|
|
21711
|
+
|
|
21712
|
+
// src/components/loading/category-card-skeleton.tsx
|
|
21713
|
+
|
|
21714
|
+
function CategoryCardSkeleton({ className }) {
|
|
21715
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21716
|
+
"article",
|
|
21717
|
+
{
|
|
21718
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21719
|
+
"box-border flex min-w-0 flex-col rounded-[12px] border border-ods-border bg-ods-card p-8",
|
|
21720
|
+
className
|
|
21721
|
+
),
|
|
21722
|
+
role: "status",
|
|
21723
|
+
"aria-label": "Loading category card",
|
|
21724
|
+
children: [
|
|
21725
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
|
|
21726
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
|
|
21727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-3/4" }),
|
|
21728
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-1/2" }),
|
|
21729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" })
|
|
21730
|
+
] }),
|
|
21731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
21732
|
+
]
|
|
21733
|
+
}
|
|
21734
|
+
);
|
|
21735
|
+
}
|
|
21736
|
+
|
|
21737
|
+
// src/components/loading/category-vendor-selector-skeleton.tsx
|
|
21738
|
+
|
|
21739
|
+
function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
21740
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21741
|
+
"div",
|
|
21742
|
+
{
|
|
21743
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "rounded-lg border border-ods-border bg-ods-card p-6", className),
|
|
21744
|
+
role: "status",
|
|
21745
|
+
"aria-label": "Loading category section",
|
|
21746
|
+
children: [
|
|
21747
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
|
|
21748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-1/2" }),
|
|
21749
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-3/4" })
|
|
21750
|
+
] }),
|
|
21751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
21753
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
21754
|
+
] }, idx)) })
|
|
21755
|
+
]
|
|
21756
|
+
}
|
|
21757
|
+
);
|
|
21758
|
+
}
|
|
21759
|
+
|
|
21760
|
+
// src/components/loading/wizard-layout-skeleton.tsx
|
|
21761
|
+
|
|
21762
|
+
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
21763
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
21764
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
21765
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
|
|
21766
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Heading, { className: "w-2/3" }),
|
|
21767
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-1/2" })
|
|
21768
|
+
] }),
|
|
21769
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
|
|
21770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
21771
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
21772
|
+
] })
|
|
21773
|
+
] });
|
|
21774
|
+
}
|
|
21775
|
+
|
|
21776
|
+
// src/components/loading/margin-report-skeleton.tsx
|
|
21777
|
+
|
|
21778
|
+
function MarginReportSkeleton({ animate = true, description, overlayContent }) {
|
|
21779
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "main", { className: `bg-ods-bg ${animate ? "animate-pulse" : ""} relative min-h-screen`, children: [
|
|
21780
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mx-auto max-w-[1920px] space-y-10 px-6 py-6 md:px-20 md:py-10", children: [
|
|
21781
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21782
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-72 rounded bg-ods-skeleton" }),
|
|
21783
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-80 rounded bg-ods-skeleton" })
|
|
21784
|
+
] }),
|
|
21785
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-3", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-32 rounded border border-ods-border bg-ods-card" }, i)) }),
|
|
21786
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2", children: [
|
|
21787
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex animate-pulse items-center gap-4 rounded-lg border border-ods-border bg-ods-card p-6", children: [
|
|
21788
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-14 w-14 rounded-lg bg-ods-skeleton" }),
|
|
21789
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 rounded bg-ods-skeleton" }),
|
|
21791
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-1/2 rounded bg-ods-skeleton" })
|
|
21792
|
+
] })
|
|
21793
|
+
] }),
|
|
21794
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex animate-pulse flex-col gap-4 rounded-lg border border-ods-border bg-ods-card p-6", children: [
|
|
21795
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
21796
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21797
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 rounded-lg bg-ods-skeleton" }),
|
|
21798
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
21799
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-32 rounded bg-ods-skeleton" }),
|
|
21800
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 rounded bg-ods-skeleton" })
|
|
21801
|
+
] })
|
|
21802
|
+
] }),
|
|
21803
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-36 rounded bg-ods-skeleton" })
|
|
21804
|
+
] }),
|
|
21805
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 h-4 w-40 rounded bg-ods-skeleton" })
|
|
21806
|
+
] })
|
|
21807
|
+
] }),
|
|
21808
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2", children: ["Commercial Stack", "Open-Source Stack"].map((label, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21809
|
+
"div",
|
|
21810
|
+
{
|
|
21811
|
+
className: "flex animate-pulse flex-col overflow-hidden rounded-lg border border-ods-border bg-ods-card",
|
|
21812
|
+
children: [
|
|
21813
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between px-6 py-4", children: [
|
|
21814
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-40 rounded bg-ods-skeleton" }),
|
|
21815
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21816
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-20 rounded bg-ods-skeleton" }),
|
|
21817
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-10 rounded bg-ods-skeleton" })
|
|
21818
|
+
] })
|
|
21819
|
+
] }),
|
|
21820
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-1 flex-col gap-3 p-3", children: Array.from({ length: 5 }).map((_, j) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21821
|
+
"div",
|
|
21822
|
+
{
|
|
21823
|
+
className: "flex items-center justify-between rounded-lg border border-ods-border bg-ods-bg px-4 py-3",
|
|
21824
|
+
children: [
|
|
21825
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
21826
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 flex-shrink-0 rounded-lg bg-ods-skeleton" }),
|
|
21827
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
|
|
21828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-32 rounded bg-ods-skeleton" }),
|
|
21829
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-1 hidden h-3 w-24 rounded bg-ods-skeleton md:block" })
|
|
21830
|
+
] })
|
|
21831
|
+
] }),
|
|
21832
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
21833
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-16 rounded bg-ods-skeleton" }),
|
|
21834
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-8 rounded bg-ods-skeleton" })
|
|
21835
|
+
] })
|
|
21836
|
+
]
|
|
21837
|
+
},
|
|
21838
|
+
j
|
|
21839
|
+
)) })
|
|
21840
|
+
]
|
|
21841
|
+
},
|
|
21842
|
+
idx
|
|
21843
|
+
)) }),
|
|
21844
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-60 rounded bg-ods-skeleton" }),
|
|
21845
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-48 rounded border border-ods-border bg-ods-card" }, i)) }),
|
|
21846
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6 rounded-3xl border border-ods-border p-8", children: [
|
|
21847
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-6", children: [
|
|
21848
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 space-y-2", children: [
|
|
21849
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-72 rounded bg-ods-skeleton" }),
|
|
21850
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 rounded bg-ods-skeleton" })
|
|
21851
|
+
] }),
|
|
21852
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 shrink-0 rounded-md bg-ods-skeleton" })
|
|
21853
|
+
] }),
|
|
21854
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-32 rounded border border-ods-border bg-ods-card" }, i)) })
|
|
21855
|
+
] })
|
|
21856
|
+
] }),
|
|
21857
|
+
overlayContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0 z-10 rounded-lg bg-ods-card/80", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto fixed left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-4 px-4 text-center", children: [
|
|
21858
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { children: description }),
|
|
21859
|
+
overlayContent
|
|
21860
|
+
] }) })
|
|
21861
|
+
] });
|
|
21862
|
+
}
|
|
21863
|
+
|
|
21864
|
+
// src/components/loading/users-grid-skeleton.tsx
|
|
21865
|
+
|
|
21866
|
+
function UsersGridSkeleton({ rows = 10, className }) {
|
|
21867
|
+
const skeletonRows = Array.from({ length: rows });
|
|
21868
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "animate-pulse overflow-x-auto rounded-lg border border-ods-border bg-ods-card", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "table", { className: "min-w-full divide-y divide-ods-border", children: [
|
|
21869
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "thead", { className: "bg-ods-skeleton", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: ["Name", "Email", "Role", "Created", "Last Sign-In"].map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "th", { className: "px-4 py-3 text-left text-ods-text-primary text-h6", children: h }, h)) }) }),
|
|
21870
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tbody", { className: "divide-y divide-ods-border", children: skeletonRows.map((_, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { children: Array.from({ length: 5 }).map((__, cell) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "whitespace-nowrap px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full rounded bg-ods-border" }) }, cell)) }, idx)) })
|
|
21871
|
+
] }) });
|
|
21872
|
+
}
|
|
21873
|
+
|
|
21874
|
+
// src/components/dynamic-skeleton.tsx
|
|
21875
|
+
|
|
21876
|
+
|
|
21877
|
+
// src/hooks/use-theme-aware.ts
|
|
21878
|
+
function useThemeAware() {
|
|
21879
|
+
return {
|
|
21880
|
+
themeColors: {},
|
|
21881
|
+
platformContext: "default",
|
|
21882
|
+
isDarkMode: false,
|
|
21883
|
+
platform: "default",
|
|
21884
|
+
isDark: false,
|
|
21885
|
+
accentColor: "#FFC008"
|
|
21886
|
+
};
|
|
21887
|
+
}
|
|
21888
|
+
|
|
21889
|
+
// src/components/dynamic-skeleton.tsx
|
|
21890
|
+
|
|
21891
|
+
var sizePresets = {
|
|
21892
|
+
sm: { width: "4rem", height: "1rem" },
|
|
21893
|
+
md: { width: "8rem", height: "1.5rem" },
|
|
21894
|
+
lg: { width: "12rem", height: "2rem" },
|
|
21895
|
+
xl: { width: "16rem", height: "2.5rem" }
|
|
21896
|
+
};
|
|
21897
|
+
var variantStyles = {
|
|
21898
|
+
text: "rounded",
|
|
21899
|
+
avatar: "rounded-full aspect-square",
|
|
21900
|
+
card: "rounded-lg",
|
|
21901
|
+
button: "rounded-md",
|
|
21902
|
+
image: "rounded-lg aspect-video",
|
|
21903
|
+
custom: ""
|
|
21904
|
+
};
|
|
21905
|
+
function DynamicSkeleton({
|
|
21906
|
+
animation = "shimmer",
|
|
21907
|
+
variant = "text",
|
|
21908
|
+
size = "md",
|
|
21909
|
+
width,
|
|
21910
|
+
height,
|
|
21911
|
+
lines = 1,
|
|
21912
|
+
platformAware = true,
|
|
21913
|
+
includeAriaLabel = true,
|
|
21914
|
+
className,
|
|
21915
|
+
children
|
|
21916
|
+
}) {
|
|
21917
|
+
const { platform, isDark, accentColor } = useThemeAware();
|
|
21918
|
+
const dimensions = _react2.default.useMemo(() => {
|
|
21919
|
+
if (width || height) {
|
|
21920
|
+
return {
|
|
21921
|
+
width: typeof width === "number" ? `${width}px` : width,
|
|
21922
|
+
height: typeof height === "number" ? `${height}px` : height
|
|
21923
|
+
};
|
|
21924
|
+
}
|
|
21925
|
+
if (variant === "avatar") {
|
|
21926
|
+
const avatarSize = sizePresets[size].height;
|
|
21927
|
+
return { width: avatarSize, height: avatarSize };
|
|
21928
|
+
}
|
|
21929
|
+
return sizePresets[size];
|
|
21930
|
+
}, [width, height, size, variant]);
|
|
21931
|
+
const platformStyles = _react2.default.useMemo(() => {
|
|
21932
|
+
if (!platformAware) return {};
|
|
21933
|
+
const baseOpacity = isDark ? 0.1 : 0.15;
|
|
21934
|
+
const accentOpacity = isDark ? 0.05 : 0.08;
|
|
21935
|
+
return {
|
|
21936
|
+
"--skeleton-base": `color-mix(in srgb, var(--color-bg-skeleton) ${baseOpacity * 100}%, transparent)`,
|
|
21937
|
+
"--skeleton-highlight": `color-mix(in srgb, ${accentColor} ${accentOpacity * 100}%, var(--color-bg-skeleton))`,
|
|
21938
|
+
"--skeleton-accent": `color-mix(in srgb, ${accentColor} 10%, transparent)`
|
|
21939
|
+
};
|
|
21940
|
+
}, [platformAware, isDark, accentColor]);
|
|
21941
|
+
const animationClasses = {
|
|
21942
|
+
pulse: "animate-pulse",
|
|
21943
|
+
shimmer: "ods-loading-dynamic",
|
|
21944
|
+
wave: "skeleton-wave",
|
|
21945
|
+
static: ""
|
|
21946
|
+
};
|
|
21947
|
+
const baseClasses = _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21948
|
+
"bg-ods-skeleton",
|
|
21949
|
+
variantStyles[variant],
|
|
21950
|
+
animationClasses[animation],
|
|
21951
|
+
platformAware && `skeleton-platform-${platform}`,
|
|
21952
|
+
className
|
|
21953
|
+
);
|
|
21954
|
+
if (variant === "text" && lines > 1) {
|
|
21955
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21956
|
+
"div",
|
|
21957
|
+
{
|
|
21958
|
+
className: "space-y-2",
|
|
21959
|
+
style: platformStyles,
|
|
21960
|
+
role: "status",
|
|
21961
|
+
"aria-label": includeAriaLabel ? "Loading content..." : void 0,
|
|
21962
|
+
children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21963
|
+
"div",
|
|
21964
|
+
{
|
|
21965
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
21966
|
+
baseClasses,
|
|
21967
|
+
index === lines - 1 && "w-3/4"
|
|
21968
|
+
// Last line shorter
|
|
21969
|
+
),
|
|
21970
|
+
style: {
|
|
21971
|
+
...dimensions,
|
|
21972
|
+
width: index === lines - 1 ? "75%" : dimensions.width
|
|
21973
|
+
}
|
|
21974
|
+
},
|
|
21975
|
+
index
|
|
21976
|
+
))
|
|
21977
|
+
}
|
|
21978
|
+
);
|
|
21979
|
+
}
|
|
21980
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21981
|
+
"div",
|
|
21982
|
+
{
|
|
21983
|
+
className: baseClasses,
|
|
21984
|
+
style: { ...dimensions, ...platformStyles },
|
|
21985
|
+
role: "status",
|
|
21986
|
+
"aria-label": includeAriaLabel ? "Loading content..." : void 0,
|
|
21987
|
+
children
|
|
21988
|
+
}
|
|
21989
|
+
);
|
|
21990
|
+
}
|
|
21991
|
+
var SkeletonPresets = {
|
|
21992
|
+
/**
|
|
21993
|
+
* Card skeleton with header, content, and actions
|
|
21994
|
+
*/
|
|
21995
|
+
Card: ({ showActions = true, showImage = false }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 rounded-lg border border-ods-border bg-ods-card p-6", children: [
|
|
21996
|
+
showImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "image", className: "h-40 w-full" }),
|
|
21997
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21998
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "lg" }),
|
|
21999
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", lines: 2, size: "md" })
|
|
22000
|
+
] }),
|
|
22001
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 pt-2", children: [
|
|
22002
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "button", width: "6rem", height: "2.5rem" }),
|
|
22003
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "button", width: "4rem", height: "2.5rem" })
|
|
22004
|
+
] })
|
|
22005
|
+
] }),
|
|
22006
|
+
/**
|
|
22007
|
+
* User profile skeleton
|
|
22008
|
+
*/
|
|
22009
|
+
Profile: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
22010
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "avatar", size: "lg" }),
|
|
22011
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
22012
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "lg", width: "8rem" }),
|
|
22013
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "sm", width: "12rem" }),
|
|
22014
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", lines: 2, size: "md" })
|
|
22015
|
+
] })
|
|
22016
|
+
] }),
|
|
22017
|
+
/**
|
|
22018
|
+
* Navigation skeleton
|
|
22019
|
+
*/
|
|
22020
|
+
Navigation: ({ items = 5 }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { className: "space-y-2 p-4", children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22021
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "avatar", size: "sm" }),
|
|
22022
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "md" })
|
|
22023
|
+
] }, index)) }),
|
|
22024
|
+
/**
|
|
22025
|
+
* Table skeleton
|
|
22026
|
+
*/
|
|
22027
|
+
Table: ({ rows = 5, columns = 4 }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
22028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "md" }, `header-${index}`)) }),
|
|
22029
|
+
Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }, (_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "sm" }, `cell-${rowIndex}-${colIndex}`)) }, `row-${rowIndex}`))
|
|
22030
|
+
] }),
|
|
22031
|
+
/**
|
|
22032
|
+
* Vendor grid skeleton (specific to the app)
|
|
22033
|
+
*/
|
|
22034
|
+
VendorGrid: ({ items = 6 }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3 rounded-lg border border-ods-border bg-ods-card p-4", children: [
|
|
22035
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "avatar", size: "md" }),
|
|
22037
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
22038
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "md", width: "6rem" }),
|
|
22039
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "sm", width: "4rem", className: "mt-1" })
|
|
22040
|
+
] })
|
|
22041
|
+
] }),
|
|
22042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", lines: 2, size: "sm" }),
|
|
22043
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
22044
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "custom", width: "3rem", height: "1.25rem", className: "rounded-full" }),
|
|
22045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "custom", width: "4rem", height: "1.25rem", className: "rounded-full" })
|
|
22046
|
+
] })
|
|
22047
|
+
] }, index)) }),
|
|
22048
|
+
/**
|
|
22049
|
+
* Blog post skeleton
|
|
22050
|
+
*/
|
|
22051
|
+
BlogPost: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: "space-y-6", children: [
|
|
22052
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22053
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "xl", width: "75%" }),
|
|
22054
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 text-sm", children: [
|
|
22055
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "sm", width: "4rem" }),
|
|
22056
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", size: "sm", width: "6rem" })
|
|
22057
|
+
] })
|
|
22058
|
+
] }),
|
|
22059
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "image", className: "h-64 w-full" }),
|
|
22060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: 4 }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DynamicSkeleton, { variant: "text", lines: 3, size: "md" }, index)) })
|
|
22061
|
+
] })
|
|
22062
|
+
};
|
|
22063
|
+
function PlatformSkeletonContainer({
|
|
22064
|
+
children,
|
|
22065
|
+
isLoading,
|
|
22066
|
+
skeletonType = "Card",
|
|
22067
|
+
skeletonProps = {}
|
|
22068
|
+
}) {
|
|
22069
|
+
const { platform } = useThemeAware();
|
|
22070
|
+
if (!isLoading) {
|
|
22071
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
|
|
22072
|
+
}
|
|
22073
|
+
const SkeletonComponent = SkeletonPresets[skeletonType];
|
|
22074
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `platform-skeleton skeleton-${platform}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonComponent, { ...skeletonProps }) });
|
|
22075
|
+
}
|
|
22076
|
+
function ProgressiveSkeleton({
|
|
22077
|
+
// Named only to keep it out of the `...props` spread: the stage NAMES are
|
|
22078
|
+
// unused, `currentStage` alone selects the skeleton shape below.
|
|
22079
|
+
stages: _stages = ["basic", "detailed", "interactive"],
|
|
22080
|
+
currentStage = 0,
|
|
22081
|
+
children,
|
|
22082
|
+
...props
|
|
22083
|
+
}) {
|
|
22084
|
+
const { platform } = useThemeAware();
|
|
22085
|
+
const stageConfig = {
|
|
22086
|
+
0: { animation: "pulse", variant: "text" },
|
|
22087
|
+
1: { animation: "shimmer", variant: "card" },
|
|
22088
|
+
2: { animation: "wave", variant: "custom" }
|
|
22089
|
+
};
|
|
22090
|
+
const config = stageConfig[currentStage] || stageConfig[0];
|
|
22091
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22092
|
+
DynamicSkeleton,
|
|
22093
|
+
{
|
|
22094
|
+
...props,
|
|
22095
|
+
...config,
|
|
22096
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, props.className, `skeleton-stage-${currentStage}`, `skeleton-platform-${platform}`),
|
|
22097
|
+
children
|
|
22098
|
+
}
|
|
22099
|
+
);
|
|
22100
|
+
}
|
|
22101
|
+
|
|
22102
|
+
// src/components/loading/organization-icon-skeleton.tsx
|
|
22103
|
+
|
|
22104
|
+
var sizeClasses = {
|
|
22105
|
+
xs: "w-6 h-6",
|
|
22106
|
+
sm: "w-8 h-8",
|
|
22107
|
+
md: "w-10 h-10",
|
|
22108
|
+
lg: "w-12 h-12",
|
|
22109
|
+
l: "w-14 h-14",
|
|
22110
|
+
xl: "w-16 h-16"
|
|
22111
|
+
};
|
|
22112
|
+
var backgroundClasses = {
|
|
22113
|
+
dark: "bg-ods-bg border border-ods-border",
|
|
22114
|
+
light: "bg-ods-card border border-ods-border",
|
|
22115
|
+
white: "bg-white border border-[#E5E5E5]"
|
|
22116
|
+
};
|
|
22117
|
+
function OrganizationIconSkeleton({
|
|
22118
|
+
size = "md",
|
|
22119
|
+
className = "",
|
|
22120
|
+
showBackground = true,
|
|
22121
|
+
backgroundStyle = "dark"
|
|
22122
|
+
}) {
|
|
22123
|
+
const containerClasses = _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
22124
|
+
sizeClasses[size],
|
|
22125
|
+
"flex flex-shrink-0 items-center justify-center rounded-lg",
|
|
22126
|
+
showBackground && backgroundClasses[backgroundStyle],
|
|
22127
|
+
!showBackground && "overflow-hidden",
|
|
22128
|
+
className
|
|
22129
|
+
);
|
|
22130
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, role: "status", "aria-label": "Loading organization icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1/2 w-1/2 animate-pulse rounded-sm bg-ods-border" }) });
|
|
22131
|
+
}
|
|
22132
|
+
|
|
22133
|
+
// src/components/loading/organization-card-skeleton.tsx
|
|
22134
|
+
|
|
22135
|
+
function OrganizationCardSkeleton({
|
|
22136
|
+
className,
|
|
22137
|
+
containerClassName,
|
|
22138
|
+
showFooter = true,
|
|
22139
|
+
showDescription = true
|
|
22140
|
+
}) {
|
|
22141
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22142
|
+
"div",
|
|
22143
|
+
{
|
|
22144
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
22145
|
+
containerClassName || "border border-ods-border bg-ods-card",
|
|
22146
|
+
"flex h-full flex-col overflow-hidden rounded-lg",
|
|
22147
|
+
className
|
|
22148
|
+
),
|
|
22149
|
+
role: "status",
|
|
22150
|
+
"aria-label": "Loading organization card",
|
|
22151
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
22152
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
22153
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22154
|
+
OrganizationIconSkeleton,
|
|
22155
|
+
{
|
|
22156
|
+
size: "xl",
|
|
22157
|
+
backgroundStyle: "dark",
|
|
22158
|
+
showBackground: true,
|
|
22159
|
+
className: "h-[60px] w-[60px]"
|
|
22160
|
+
}
|
|
22161
|
+
),
|
|
22162
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
22163
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22164
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-1/2" })
|
|
22165
|
+
] })
|
|
22166
|
+
] }),
|
|
22167
|
+
showDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
22168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-full" }),
|
|
22169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Body, { className: "w-2/3" })
|
|
22170
|
+
] }) }),
|
|
22171
|
+
showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
22172
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
22173
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22174
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22175
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-8" })
|
|
22176
|
+
] }),
|
|
22177
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22178
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22179
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-10" })
|
|
22180
|
+
] })
|
|
22181
|
+
] }),
|
|
22182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
22183
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
22184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TextSkeleton.Caption, { className: "w-16" })
|
|
22185
|
+
] }) })
|
|
22186
|
+
] })
|
|
22187
|
+
] })
|
|
22188
|
+
}
|
|
22189
|
+
);
|
|
22190
|
+
}
|
|
22191
|
+
function OrganizationCardSkeletonGrid({
|
|
22192
|
+
count = 12,
|
|
22193
|
+
className,
|
|
22194
|
+
containerClassName,
|
|
22195
|
+
showFooter = true,
|
|
22196
|
+
showDescription = true
|
|
22197
|
+
}) {
|
|
22198
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22199
|
+
"div",
|
|
22200
|
+
{
|
|
22201
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 md:grid-cols-2 md:gap-6 lg:grid-cols-3", className),
|
|
22202
|
+
role: "status",
|
|
22203
|
+
"aria-label": `Loading ${count} organization cards`,
|
|
22204
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22205
|
+
OrganizationCardSkeleton,
|
|
22206
|
+
{
|
|
22207
|
+
containerClassName,
|
|
22208
|
+
showFooter,
|
|
22209
|
+
showDescription
|
|
22210
|
+
},
|
|
22211
|
+
index
|
|
22212
|
+
))
|
|
22213
|
+
}
|
|
22214
|
+
);
|
|
22215
|
+
}
|
|
22216
|
+
|
|
22217
|
+
// src/components/loading/device-card-skeleton.tsx
|
|
22218
|
+
|
|
22219
|
+
function DeviceCardSkeleton({ className }) {
|
|
22220
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22221
|
+
"div",
|
|
22222
|
+
{
|
|
22223
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "h-full rounded-[6px] border border-ods-border bg-ods-card", className),
|
|
22224
|
+
role: "status",
|
|
22225
|
+
"aria-label": "Loading device card",
|
|
22226
|
+
children: [
|
|
22227
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 px-4 py-3", children: [
|
|
22228
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4 animate-pulse rounded bg-ods-border" }) }),
|
|
22229
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-3/4 animate-pulse rounded bg-ods-border" }) }),
|
|
22230
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 w-12 flex-shrink-0 animate-pulse rounded-[6px] bg-ods-border" })
|
|
22231
|
+
] }),
|
|
22232
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 px-4 py-2", children: [
|
|
22233
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 flex-shrink-0 animate-pulse rounded bg-ods-border" }),
|
|
22234
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, OrganizationIconSkeleton, { size: "sm" }),
|
|
22235
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-1/2 animate-pulse rounded bg-ods-border" }) })
|
|
22236
|
+
] }),
|
|
22237
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 px-4 py-2", children: [
|
|
22238
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-20 flex-shrink-0 animate-pulse rounded-full bg-ods-border" }),
|
|
22239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-40 animate-pulse rounded bg-ods-border" }) })
|
|
22240
|
+
] })
|
|
22241
|
+
]
|
|
22242
|
+
}
|
|
22243
|
+
);
|
|
22244
|
+
}
|
|
22245
|
+
function DeviceCardSkeletonGrid({ count = 12, className }) {
|
|
22246
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22247
|
+
"div",
|
|
22248
|
+
{
|
|
22249
|
+
className: _chunkPRPZBXWZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4", className),
|
|
22250
|
+
role: "status",
|
|
22251
|
+
"aria-label": `Loading ${count} device cards`,
|
|
22252
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceCardSkeleton, {}, index))
|
|
22253
|
+
}
|
|
22254
|
+
);
|
|
22255
|
+
}
|
|
22256
|
+
|
|
22257
|
+
// src/components/features/push-button-selector.tsx
|
|
22258
|
+
|
|
22259
|
+
function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
|
|
22260
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
|
|
22261
|
+
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
|
|
22262
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-bg p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
22263
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22264
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
|
|
22265
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
22266
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
|
|
22267
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
|
|
22268
|
+
] })
|
|
22269
|
+
] }),
|
|
22270
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
|
|
22271
|
+
] }) }, i)) })
|
|
22272
|
+
] });
|
|
22273
|
+
}
|
|
22274
|
+
function PushButtonSelectorError({ message, title }) {
|
|
22275
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
22276
|
+
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22277
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-error bg-ods-error-secondary p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-error text-h6", children: [
|
|
22278
|
+
"\u26A0\uFE0F ",
|
|
22279
|
+
message
|
|
22280
|
+
] }) })
|
|
22281
|
+
] });
|
|
22282
|
+
}
|
|
22283
|
+
function PushButtonSelector({
|
|
22284
|
+
options,
|
|
22285
|
+
selectedIds,
|
|
22286
|
+
onSelectionChange,
|
|
22287
|
+
multiSelect = true,
|
|
22288
|
+
title,
|
|
22289
|
+
helpText,
|
|
22290
|
+
className = "",
|
|
22291
|
+
selectionSummary = false,
|
|
22292
|
+
optional = false,
|
|
22293
|
+
isLoading = false,
|
|
22294
|
+
error = null,
|
|
22295
|
+
skeletonCount = 3,
|
|
22296
|
+
sections,
|
|
22297
|
+
search,
|
|
22298
|
+
lazyLoad,
|
|
22299
|
+
emptyMessage,
|
|
22300
|
+
footer
|
|
22301
|
+
}) {
|
|
22302
|
+
const scrollRef = _react.useRef.call(void 0, null);
|
|
22303
|
+
const sentinelRef = _react.useRef.call(void 0, null);
|
|
22304
|
+
const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _461 => _461.hasMore]), () => ( false));
|
|
22305
|
+
const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _462 => _462.isFetchingMore]), () => ( false));
|
|
22306
|
+
const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess', _463 => _463.onLoadMore]);
|
|
22307
|
+
const optionCount = options.length;
|
|
22308
|
+
_react.useEffect.call(void 0, () => {
|
|
22309
|
+
const sentinel = sentinelRef.current;
|
|
22310
|
+
const root = scrollRef.current;
|
|
22311
|
+
if (!sentinel || !root || !onLoadMore || !lazyHasMore) return void 0;
|
|
22312
|
+
const observer = new IntersectionObserver(
|
|
22313
|
+
(entries) => {
|
|
22314
|
+
if (entries.some((e) => e.isIntersecting) && !lazyFetching) {
|
|
22315
|
+
onLoadMore();
|
|
22316
|
+
}
|
|
22317
|
+
},
|
|
22318
|
+
{ root, rootMargin: "80px" }
|
|
22319
|
+
);
|
|
22320
|
+
observer.observe(sentinel);
|
|
22321
|
+
return () => {
|
|
22322
|
+
observer.disconnect();
|
|
22323
|
+
};
|
|
22324
|
+
}, [lazyHasMore, lazyFetching, onLoadMore, optionCount]);
|
|
22325
|
+
const searchInput = search ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22326
|
+
_chunkIKDC3R7Vcjs.Input,
|
|
22327
|
+
{
|
|
22328
|
+
value: search.value,
|
|
22329
|
+
onChange: (e) => search.onChange(e.target.value),
|
|
22330
|
+
placeholder: search.placeholder,
|
|
22331
|
+
"aria-label": _nullishCoalesce(_nullishCoalesce(search.ariaLabel, () => ( search.placeholder)), () => ( "Search"))
|
|
22332
|
+
}
|
|
22333
|
+
) : null;
|
|
22334
|
+
const framed = !!search || !!lazyLoad;
|
|
22335
|
+
if (isLoading && !framed) {
|
|
22336
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PushButtonSelectorSkeleton, { count: skeletonCount, hasTitle: !!title }) });
|
|
22337
|
+
}
|
|
22338
|
+
if (error && !framed) {
|
|
22339
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PushButtonSelectorError, { message: error, title }) });
|
|
22340
|
+
}
|
|
22341
|
+
const validSelectedIds = options.length > 0 ? selectedIds.filter((id) => options.some((option) => option.id === id)) : selectedIds;
|
|
22342
|
+
if (process.env.NODE_ENV === "development" && options.length > 0 && validSelectedIds.length !== selectedIds.length) {
|
|
22343
|
+
const invalidIds = selectedIds.filter((id) => !options.some((opt) => opt.id === id));
|
|
22344
|
+
console.warn("[PushButtonSelector] Invalid selected IDs filtered:", invalidIds);
|
|
22345
|
+
}
|
|
22346
|
+
const toggleSelection = (optionId) => {
|
|
22347
|
+
if (multiSelect) {
|
|
22348
|
+
const isSelected = validSelectedIds.includes(optionId);
|
|
22349
|
+
if (isSelected) {
|
|
22350
|
+
onSelectionChange(validSelectedIds.filter((id) => id !== optionId));
|
|
22351
|
+
} else {
|
|
22352
|
+
onSelectionChange([...validSelectedIds, optionId]);
|
|
22353
|
+
}
|
|
22354
|
+
} else {
|
|
22355
|
+
onSelectionChange(validSelectedIds.includes(optionId) ? [] : [optionId]);
|
|
22356
|
+
}
|
|
22357
|
+
};
|
|
22358
|
+
const getSelectedOptions = () => options.filter((option) => validSelectedIds.includes(option.id));
|
|
22359
|
+
const renderOption = (option) => {
|
|
22360
|
+
const isSelected = validSelectedIds.includes(option.id);
|
|
22361
|
+
const optionEl = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22362
|
+
"div",
|
|
22363
|
+
{
|
|
22364
|
+
className: `group rounded-lg border p-4 transition-all duration-200 ${option.disabled ? `${isSelected ? "cursor-pointer" : "cursor-not-allowed"} border-ods-border bg-ods-card opacity-40` : isSelected ? "cursor-pointer border-ods-accent bg-ods-bg-surface shadow-sm" : "cursor-pointer border-ods-border bg-ods-bg hover:border-ods-border-hover hover:bg-ods-bg-hover"} `,
|
|
22365
|
+
onClick: () => (!option.disabled || isSelected) && toggleSelection(option.id),
|
|
22366
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
22367
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
|
|
22368
|
+
option.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22369
|
+
"div",
|
|
22370
|
+
{
|
|
22371
|
+
className: `flex-shrink-0 transition-transform duration-200 ${isSelected ? "scale-110" : "group-hover:scale-105"}`,
|
|
22372
|
+
children: option.icon
|
|
22373
|
+
}
|
|
22374
|
+
),
|
|
22375
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
22376
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-semibold text-ods-text-primary text-h6", children: option.displayName || option.name }),
|
|
22377
|
+
option.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "line-clamp-2 text-ods-text-secondary text-h6", title: option.description, children: option.description })
|
|
22378
|
+
] })
|
|
22379
|
+
] }),
|
|
22380
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22381
|
+
"div",
|
|
22382
|
+
{
|
|
22383
|
+
className: `flex h-6 w-6 flex-shrink-0 items-center justify-center rounded border-2 transition-all duration-200 ${isSelected ? "scale-110 border-ods-accent bg-ods-accent" : "border-ods-border group-hover:border-ods-border-hover"} `,
|
|
22384
|
+
children: isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Check, { className: "h-4 w-4 font-bold text-ods-text-primary", strokeWidth: 3 })
|
|
22385
|
+
}
|
|
22386
|
+
)
|
|
22387
|
+
] })
|
|
22388
|
+
},
|
|
22389
|
+
option.id
|
|
22390
|
+
);
|
|
22391
|
+
if (option.disabled && option.disabledReason) {
|
|
22392
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { children: [
|
|
22393
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22395
|
+
] }, option.id);
|
|
20720
22396
|
}
|
|
20721
22397
|
return optionEl;
|
|
20722
22398
|
};
|
|
@@ -20752,10 +22428,28 @@ function PushButtonSelector({
|
|
|
20752
22428
|
ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
|
|
20753
22429
|
] });
|
|
20754
22430
|
};
|
|
22431
|
+
const framedSkeletonCount = lazyLoad ? Math.max(skeletonCount, 4) : skeletonCount;
|
|
22432
|
+
const listContent = isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PushButtonSelectorSkeleton, { count: framedSkeletonCount }) : error ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PushButtonSelectorError, { message: error }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22433
|
+
options.length === 0 && emptyMessage !== void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: emptyMessage }) : renderOptionsContent(),
|
|
22434
|
+
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22435
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef }),
|
|
22436
|
+
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
|
|
22437
|
+
] }) : null
|
|
22438
|
+
] });
|
|
20755
22439
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
20756
22440
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
20757
|
-
|
|
20758
|
-
|
|
22441
|
+
searchInput,
|
|
22442
|
+
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22443
|
+
"div",
|
|
22444
|
+
{
|
|
22445
|
+
ref: scrollRef,
|
|
22446
|
+
className: "space-y-4 overflow-y-auto rounded-lg border border-ods-border p-2",
|
|
22447
|
+
style: { height: _nullishCoalesce(lazyLoad.maxHeight, () => ( "336px")) },
|
|
22448
|
+
children: listContent
|
|
22449
|
+
}
|
|
22450
|
+
) : listContent,
|
|
22451
|
+
footer,
|
|
22452
|
+
!isLoading && !error && selectionSummary && validSelectedIds.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-lg border border-ods-success bg-ods-success-secondary p-4", children: [
|
|
20759
22453
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center gap-2", children: [
|
|
20760
22454
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-2 w-2 rounded-full bg-ods-success" }),
|
|
20761
22455
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-success text-h6", children: [
|
|
@@ -20780,7 +22474,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
20780
22474
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
20781
22475
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
20782
22476
|
const handleFileSelect = async (event) => {
|
|
20783
|
-
const file = _optionalChain([event, 'access',
|
|
22477
|
+
const file = _optionalChain([event, 'access', _464 => _464.target, 'access', _465 => _465.files, 'optionalAccess', _466 => _466[0]]);
|
|
20784
22478
|
if (!file) return;
|
|
20785
22479
|
let mediaType;
|
|
20786
22480
|
if (file.type.startsWith("image/")) {
|
|
@@ -20862,7 +22556,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
20862
22556
|
{
|
|
20863
22557
|
type: "button",
|
|
20864
22558
|
variant: "outline",
|
|
20865
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
22559
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _467 => _467.current, 'optionalAccess', _468 => _468.click, 'call', _469 => _469()]),
|
|
20866
22560
|
disabled: uploadingIndex !== null,
|
|
20867
22561
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
20868
22562
|
className: "font-bold text-h6",
|
|
@@ -21143,7 +22837,7 @@ function SEOEditorPreview({
|
|
|
21143
22837
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
21144
22838
|
const handleImageUpload = async (event) => {
|
|
21145
22839
|
if (!onOgImageUpload) return;
|
|
21146
|
-
const file = _optionalChain([event, 'access',
|
|
22840
|
+
const file = _optionalChain([event, 'access', _470 => _470.target, 'access', _471 => _471.files, 'optionalAccess', _472 => _472[0]]);
|
|
21147
22841
|
if (!file) return;
|
|
21148
22842
|
setIsUploading(true);
|
|
21149
22843
|
try {
|
|
@@ -21300,7 +22994,7 @@ function SEOEditorPreview({
|
|
|
21300
22994
|
type: "button",
|
|
21301
22995
|
variant: "outline",
|
|
21302
22996
|
size: "icon",
|
|
21303
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
22997
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _473 => _473.click, 'call', _474 => _474()]),
|
|
21304
22998
|
disabled: disabled || isUploading,
|
|
21305
22999
|
className: "rounded-full bg-white text-black opacity-0 hover:bg-gray-100 group-hover:opacity-100",
|
|
21306
23000
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -21326,7 +23020,7 @@ function SEOEditorPreview({
|
|
|
21326
23020
|
SEO_MEDIA_BOX_HEIGHT,
|
|
21327
23021
|
"flex cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-ods-border bg-ods-bg-hover transition-colors hover:border-ods-accent"
|
|
21328
23022
|
),
|
|
21329
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
23023
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _475 => _475.click, 'call', _476 => _476()]),
|
|
21330
23024
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
21331
23025
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "mb-2 h-8 w-8 text-ods-text-secondary" }),
|
|
21332
23026
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -21413,7 +23107,7 @@ function SocialLinksManager({
|
|
|
21413
23107
|
className = ""
|
|
21414
23108
|
}) {
|
|
21415
23109
|
const addLink = () => {
|
|
21416
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
23110
|
+
const firstPlatform = _optionalChain([platforms, 'access', _477 => _477[0], 'optionalAccess', _478 => _478.name]) || "website";
|
|
21417
23111
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
21418
23112
|
};
|
|
21419
23113
|
const removeLink = (index) => {
|
|
@@ -21425,7 +23119,7 @@ function SocialLinksManager({
|
|
|
21425
23119
|
onChange(updated);
|
|
21426
23120
|
};
|
|
21427
23121
|
const getIcon = (link, platform) => {
|
|
21428
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
23122
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _479 => _479.icon_name]) || link.platform;
|
|
21429
23123
|
const IconComponent = iconMap[iconKey];
|
|
21430
23124
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
21431
23125
|
};
|
|
@@ -21447,7 +23141,7 @@ function SocialLinksManager({
|
|
|
21447
23141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21448
23142
|
_chunkIKDC3R7Vcjs.Input,
|
|
21449
23143
|
{
|
|
21450
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
23144
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _480 => _480.placeholder]) || "Profile URL",
|
|
21451
23145
|
value: link.url,
|
|
21452
23146
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
21453
23147
|
onKeyDown: (e) => {
|
|
@@ -21843,8 +23537,8 @@ function VideoBitesDisplay({
|
|
|
21843
23537
|
|
|
21844
23538
|
var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
|
|
21845
23539
|
function theaterSeedFromLive(live, fallbackTime, fallbackMuted) {
|
|
21846
|
-
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
21847
|
-
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
23540
|
+
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess', _481 => _481.getCurrentTime, 'call', _482 => _482()]), () => ( 0));
|
|
23541
|
+
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess', _483 => _483.getDuration, 'call', _484 => _484()]), () => ( 0)), time);
|
|
21848
23542
|
return {
|
|
21849
23543
|
// At end -> start over, never rewind to an unrelated older anchor.
|
|
21850
23544
|
time: atEnd ? 0 : time > 0.5 ? time : fallbackTime,
|
|
@@ -21876,11 +23570,11 @@ function WalkthroughVideo({
|
|
|
21876
23570
|
const inline = placement === "inline";
|
|
21877
23571
|
const dismissEnabled = dismissal !== false;
|
|
21878
23572
|
const storageKey = dismissEnabled && dismissal.storageKey || WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
21879
|
-
const dismissalId = _optionalChain([video, 'optionalAccess',
|
|
23573
|
+
const dismissalId = _optionalChain([video, 'optionalAccess', _485 => _485.id]) != null ? String(video.id) : "dismissed";
|
|
21880
23574
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
21881
23575
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
21882
23576
|
const hasVideo = video != null;
|
|
21883
|
-
const videoId = _optionalChain([video, 'optionalAccess',
|
|
23577
|
+
const videoId = _optionalChain([video, 'optionalAccess', _486 => _486.id]);
|
|
21884
23578
|
_react.useEffect.call(void 0, () => {
|
|
21885
23579
|
let idleHandle = null;
|
|
21886
23580
|
if (!hasVideo) return void 0;
|
|
@@ -21907,9 +23601,9 @@ function WalkthroughVideo({
|
|
|
21907
23601
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
21908
23602
|
if (!hydrated) return false;
|
|
21909
23603
|
try {
|
|
21910
|
-
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access',
|
|
23604
|
+
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access', _487 => _487.matchMedia, 'optionalCall', _488 => _488("(prefers-reduced-motion: reduce)"), 'access', _489 => _489.matches]), () => ( false));
|
|
21911
23605
|
const conn = navigator.connection;
|
|
21912
|
-
const saveData = _optionalChain([conn, 'optionalAccess',
|
|
23606
|
+
const saveData = _optionalChain([conn, 'optionalAccess', _490 => _490.saveData]) === true || _optionalChain([conn, 'optionalAccess', _491 => _491.effectiveType]) === "2g" || _optionalChain([conn, 'optionalAccess', _492 => _492.effectiveType]) === "slow-2g";
|
|
21913
23607
|
return Boolean(reducedMotion || saveData);
|
|
21914
23608
|
} catch (e27) {
|
|
21915
23609
|
return false;
|
|
@@ -21942,18 +23636,18 @@ function WalkthroughVideo({
|
|
|
21942
23636
|
const [cardMuted, setCardMuted] = _react.useState.call(void 0, false);
|
|
21943
23637
|
const [cardPaused, setCardPaused] = _react.useState.call(void 0, false);
|
|
21944
23638
|
const [userMuted, setUserMuted] = _react.useState.call(void 0, false);
|
|
21945
|
-
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess',
|
|
23639
|
+
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess', _493 => _493.youtubeUrl]));
|
|
21946
23640
|
const resumeMode = !open && handoff !== null && !isYouTube;
|
|
21947
23641
|
const previewAllowed = !previewSuppressed && !isYouTube;
|
|
21948
23642
|
const footerFadeKey = `${mounted ? 1 : 0}|${inline ? 1 : 0}|${hideNearSelector}|${pathname}`;
|
|
21949
|
-
const footerHidden = _optionalChain([footerObservation, 'optionalAccess',
|
|
23643
|
+
const footerHidden = _optionalChain([footerObservation, 'optionalAccess', _494 => _494.key]) === footerFadeKey && footerObservation.hidden;
|
|
21950
23644
|
_react.useEffect.call(void 0, () => {
|
|
21951
23645
|
if (!mounted) return void 0;
|
|
21952
23646
|
if (inline) return void 0;
|
|
21953
23647
|
const el = typeof document !== "undefined" ? document.querySelector(hideNearSelector) : null;
|
|
21954
23648
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
21955
23649
|
const io = new IntersectionObserver(
|
|
21956
|
-
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access',
|
|
23650
|
+
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access', _495 => _495[0], 'optionalAccess', _496 => _496.isIntersecting]), () => ( false)) }),
|
|
21957
23651
|
{ rootMargin: "0px 0px -40px 0px" }
|
|
21958
23652
|
);
|
|
21959
23653
|
io.observe(el);
|
|
@@ -21979,7 +23673,7 @@ function WalkthroughVideo({
|
|
|
21979
23673
|
if (!footerHidden) return;
|
|
21980
23674
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
21981
23675
|
try {
|
|
21982
|
-
_optionalChain([h, 'optionalAccess',
|
|
23676
|
+
_optionalChain([h, 'optionalAccess', _497 => _497.pause, 'call', _498 => _498()]);
|
|
21983
23677
|
} catch (e29) {
|
|
21984
23678
|
}
|
|
21985
23679
|
}, [footerHidden, resumeMode, hovered]);
|
|
@@ -21998,30 +23692,30 @@ function WalkthroughVideo({
|
|
|
21998
23692
|
}, 400);
|
|
21999
23693
|
}
|
|
22000
23694
|
if (openProp === void 0) setOpenState(next);
|
|
22001
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
23695
|
+
_optionalChain([onOpenChange, 'optionalCall', _499 => _499(next)]);
|
|
22002
23696
|
},
|
|
22003
23697
|
[openProp, onOpenChange]
|
|
22004
23698
|
);
|
|
22005
23699
|
const pausePreviewNow = _react.useCallback.call(void 0, () => {
|
|
22006
23700
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
22007
23701
|
try {
|
|
22008
|
-
_optionalChain([h, 'optionalAccess',
|
|
23702
|
+
_optionalChain([h, 'optionalAccess', _500 => _500.pause, 'call', _501 => _501()]);
|
|
22009
23703
|
} catch (e30) {
|
|
22010
23704
|
}
|
|
22011
23705
|
setCardPaused(true);
|
|
22012
23706
|
}, [setCardPaused]);
|
|
22013
23707
|
const openTheater = _react.useCallback.call(void 0, () => {
|
|
22014
23708
|
const handleBeforePause = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
22015
|
-
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess',
|
|
23709
|
+
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess', _502 => _502.getPaused, 'call', _503 => _503()]) === false;
|
|
22016
23710
|
pausePreviewNow();
|
|
22017
23711
|
const liveHandle = _nullishCoalesce(resumeHandleRef.current, () => ( (cardModeRef.current === "preview" ? previewHandleRef.current : null)));
|
|
22018
|
-
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
22019
|
-
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
23712
|
+
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _504 => _504.getCurrentTime, 'call', _505 => _505()]), () => ( 0));
|
|
23713
|
+
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _506 => _506.getDuration, 'call', _507 => _507()]), () => ( 0));
|
|
22020
23714
|
const liveAtEnd = isAtEnd(liveDuration, liveTime);
|
|
22021
23715
|
const start = {
|
|
22022
23716
|
// At end -> start over. Falling back to `handoff.time` here would rewind
|
|
22023
23717
|
// to an unrelated older anchor (e.g. 3:20) instead of restarting.
|
|
22024
|
-
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
23718
|
+
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _508 => _508.time]), () => ( 0)),
|
|
22025
23719
|
// Live element wins over remembered intent (the theater's own chrome may
|
|
22026
23720
|
// have changed it) — EXCEPT when the element is muted only because
|
|
22027
23721
|
// autoplay policy forced it, which is not intent.
|
|
@@ -22049,7 +23743,7 @@ function WalkthroughVideo({
|
|
|
22049
23743
|
const selfDriven = selfDrivenFor === open;
|
|
22050
23744
|
if (openProp !== void 0 && !selfDriven) {
|
|
22051
23745
|
if (open) {
|
|
22052
|
-
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
23746
|
+
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _509 => _509.time]), () => ( 0)), userMuted));
|
|
22053
23747
|
setHovered(false);
|
|
22054
23748
|
setSuspended(false);
|
|
22055
23749
|
setHandoff(null);
|
|
@@ -22135,8 +23829,8 @@ function WalkthroughVideo({
|
|
|
22135
23829
|
});
|
|
22136
23830
|
_react.useEffect.call(void 0, () => {
|
|
22137
23831
|
if (resumeMode) {
|
|
22138
|
-
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access',
|
|
22139
|
-
setCardPaused(_optionalChain([handoffRef, 'access',
|
|
23832
|
+
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access', _510 => _510.current, 'optionalAccess', _511 => _511.muted]), () => ( false)));
|
|
23833
|
+
setCardPaused(_optionalChain([handoffRef, 'access', _512 => _512.current, 'optionalAccess', _513 => _513.playing]) === false);
|
|
22140
23834
|
}
|
|
22141
23835
|
}, [resumeMode]);
|
|
22142
23836
|
const [hoverSeeded, setHoverSeeded] = _react.useState.call(void 0, hovered);
|
|
@@ -22218,11 +23912,11 @@ function WalkthroughVideo({
|
|
|
22218
23912
|
},
|
|
22219
23913
|
[cardFallback.blocked, cardPaused, activeHandle, setCardPaused]
|
|
22220
23914
|
);
|
|
22221
|
-
const summaryTitle = _optionalChain([video, 'optionalAccess',
|
|
22222
|
-
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
23915
|
+
const summaryTitle = _optionalChain([video, 'optionalAccess', _514 => _514.title]) || void 0;
|
|
23916
|
+
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess', _515 => _515.presenterAvatarUrl]), () => ( null));
|
|
22223
23917
|
const embedUrlKey = _react.useMemo.call(void 0,
|
|
22224
|
-
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
22225
|
-
[_optionalChain([video, 'optionalAccess',
|
|
23918
|
+
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _516 => _516.mainVideoUrl]), () => ( ""))}|${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _517 => _517.youtubeUrl]), () => ( ""))}`,
|
|
23919
|
+
[_optionalChain([video, 'optionalAccess', _518 => _518.mainVideoUrl]), _optionalChain([video, 'optionalAccess', _519 => _519.youtubeUrl])]
|
|
22226
23920
|
);
|
|
22227
23921
|
const cardActive = !open && previewAllowed && hovered && !resumeMode;
|
|
22228
23922
|
const cardMode = resumeMode ? "resume" : cardActive ? "preview" : "poster";
|
|
@@ -22281,7 +23975,7 @@ function WalkthroughVideo({
|
|
|
22281
23975
|
const el = e.target;
|
|
22282
23976
|
let keyboard = false;
|
|
22283
23977
|
try {
|
|
22284
|
-
keyboard = _nullishCoalesce(_optionalChain([el, 'access',
|
|
23978
|
+
keyboard = _nullishCoalesce(_optionalChain([el, 'access', _520 => _520.matches, 'optionalCall', _521 => _521(":focus-visible")]), () => ( false));
|
|
22285
23979
|
} catch (e35) {
|
|
22286
23980
|
keyboard = false;
|
|
22287
23981
|
}
|
|
@@ -22315,9 +24009,9 @@ function WalkthroughVideo({
|
|
|
22315
24009
|
previewHandleRef: cardMode === "resume" ? resumeHandleRef : previewHandleRef,
|
|
22316
24010
|
mutedIntent: userMuted,
|
|
22317
24011
|
continuation: cardMode === "resume",
|
|
22318
|
-
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess',
|
|
22319
|
-
startTime: _optionalChain([resumeHandoff, 'optionalAccess',
|
|
22320
|
-
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess',
|
|
24012
|
+
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess', _522 => _522.playing]) !== false && !footerHidden,
|
|
24013
|
+
startTime: _optionalChain([resumeHandoff, 'optionalAccess', _523 => _523.time]),
|
|
24014
|
+
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess', _524 => _524.muted]), () => ( false)),
|
|
22321
24015
|
onEnded: cardMode === "resume" ? () => setHandoff(null) : () => setCardPaused(true)
|
|
22322
24016
|
},
|
|
22323
24017
|
`card-${embedUrlKey}`
|
|
@@ -22414,7 +24108,7 @@ function WalkthroughVideo({
|
|
|
22414
24108
|
{
|
|
22415
24109
|
onOpenAutoFocus: (e) => {
|
|
22416
24110
|
e.preventDefault();
|
|
22417
|
-
_optionalChain([closeButtonRef, 'access',
|
|
24111
|
+
_optionalChain([closeButtonRef, 'access', _525 => _525.current, 'optionalAccess', _526 => _526.focus, 'call', _527 => _527()]);
|
|
22418
24112
|
},
|
|
22419
24113
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
22420
24114
|
// PURE theater: just the video, centered on a dimmed backdrop.
|
|
@@ -22508,14 +24202,14 @@ function useWalkthroughVideo(opts) {
|
|
|
22508
24202
|
if (res.status === 404) return null;
|
|
22509
24203
|
if (!res.ok) throw new Error(`Walkthrough video request failed (${res.status})`);
|
|
22510
24204
|
const body = await res.json();
|
|
22511
|
-
return _nullishCoalesce(_optionalChain([body, 'optionalAccess',
|
|
24205
|
+
return _nullishCoalesce(_optionalChain([body, 'optionalAccess', _528 => _528.walkthroughVideo]), () => ( null));
|
|
22512
24206
|
},
|
|
22513
24207
|
// Per-observer transform — NEVER mutate the cached data. `select` also runs
|
|
22514
24208
|
// over `initialData`, so the SSR seed is rewritten too. Keeping the proxy
|
|
22515
24209
|
// rewrite here (not in queryFn) means a second consumer of the same
|
|
22516
24210
|
// endpoint can't inherit this observer's proxied captionsUrl from the cache.
|
|
22517
24211
|
select: (video) => {
|
|
22518
|
-
if (!_optionalChain([video, 'optionalAccess',
|
|
24212
|
+
if (!_optionalChain([video, 'optionalAccess', _529 => _529.captionsUrl])) return video;
|
|
22519
24213
|
if (transformCaptionsUrl && video.captionsUrl.startsWith("/")) {
|
|
22520
24214
|
return { ...video, captionsUrl: transformCaptionsUrl(video.captionsUrl) };
|
|
22521
24215
|
}
|
|
@@ -22562,7 +24256,7 @@ function VideoSourceSelector({
|
|
|
22562
24256
|
input.accept = "video/*";
|
|
22563
24257
|
input.onchange = async (e) => {
|
|
22564
24258
|
const target = e.target;
|
|
22565
|
-
const file = _optionalChain([target, 'access',
|
|
24259
|
+
const file = _optionalChain([target, 'access', _530 => _530.files, 'optionalAccess', _531 => _531[0]]);
|
|
22566
24260
|
if (!file) return;
|
|
22567
24261
|
setIsUploading(true);
|
|
22568
24262
|
setUploadProgress(0);
|
|
@@ -22738,7 +24432,7 @@ function SubtitlesEditor({
|
|
|
22738
24432
|
{
|
|
22739
24433
|
id,
|
|
22740
24434
|
value: subtitles || "",
|
|
22741
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
24435
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _532 => _532(e.target.value)]),
|
|
22742
24436
|
placeholder,
|
|
22743
24437
|
disabled: disabled || !onSubtitlesChange,
|
|
22744
24438
|
className: "h-full w-full resize-none border-0 bg-transparent p-4 text-ods-text-primary text-code placeholder:text-ods-text-secondary/50 focus:outline-none focus:ring-0",
|
|
@@ -22967,7 +24661,7 @@ var AIEnrichSection = ({
|
|
|
22967
24661
|
}) => {
|
|
22968
24662
|
const hasResults = status === "success" || status === "error";
|
|
22969
24663
|
const shouldDisable = disabled || !canEnrich;
|
|
22970
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
24664
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _533 => _533.filter, 'call', _534 => _534((f) => !f.isFilled)]) || [];
|
|
22971
24665
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22972
24666
|
"div",
|
|
22973
24667
|
{
|
|
@@ -22999,7 +24693,7 @@ var AIEnrichSection = ({
|
|
|
22999
24693
|
{
|
|
23000
24694
|
id: "ai-enrich-custom-instructions",
|
|
23001
24695
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
23002
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
24696
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _535 => _535(e.target.value)]),
|
|
23003
24697
|
placeholder: customInstructionsPlaceholder,
|
|
23004
24698
|
disabled: loading,
|
|
23005
24699
|
maxLength: customInstructionsMaxLength,
|
|
@@ -23121,7 +24815,7 @@ function HighlightVideoSection({
|
|
|
23121
24815
|
input.accept = "video/*";
|
|
23122
24816
|
input.onchange = async (e) => {
|
|
23123
24817
|
const target = e.target;
|
|
23124
|
-
const file = _optionalChain([target, 'access',
|
|
24818
|
+
const file = _optionalChain([target, 'access', _536 => _536.files, 'optionalAccess', _537 => _537[0]]);
|
|
23125
24819
|
if (!file) return;
|
|
23126
24820
|
setUploadError(null);
|
|
23127
24821
|
try {
|
|
@@ -23548,7 +25242,7 @@ function HighlightVideoPreview({
|
|
|
23548
25242
|
input.accept = "video/*";
|
|
23549
25243
|
input.onchange = async (e) => {
|
|
23550
25244
|
const target = e.target;
|
|
23551
|
-
const file = _optionalChain([target, 'access',
|
|
25245
|
+
const file = _optionalChain([target, 'access', _538 => _538.files, 'optionalAccess', _539 => _539[0]]);
|
|
23552
25246
|
if (!file) return;
|
|
23553
25247
|
await onUpload(file);
|
|
23554
25248
|
};
|
|
@@ -23732,7 +25426,7 @@ function HighlightVideoCombinedSection({
|
|
|
23732
25426
|
input.accept = "video/*";
|
|
23733
25427
|
input.onchange = async (e) => {
|
|
23734
25428
|
const target = e.target;
|
|
23735
|
-
const file = _optionalChain([target, 'access',
|
|
25429
|
+
const file = _optionalChain([target, 'access', _540 => _540.files, 'optionalAccess', _541 => _541[0]]);
|
|
23736
25430
|
if (!file) return;
|
|
23737
25431
|
await onUpload(file);
|
|
23738
25432
|
};
|
|
@@ -24431,19 +26125,19 @@ function NotificationsProvider({
|
|
|
24431
26125
|
}, []);
|
|
24432
26126
|
const markRead = _react.useCallback.call(void 0, (id) => {
|
|
24433
26127
|
dispatch({ type: "markRead", id });
|
|
24434
|
-
void _optionalChain([actionsRef, 'access',
|
|
26128
|
+
void _optionalChain([actionsRef, 'access', _542 => _542.current, 'optionalAccess', _543 => _543.onMarkRead, 'optionalCall', _544 => _544(id)]);
|
|
24435
26129
|
}, []);
|
|
24436
26130
|
const markAllRead = _react.useCallback.call(void 0, () => {
|
|
24437
26131
|
dispatch({ type: "markAllRead" });
|
|
24438
|
-
void _optionalChain([actionsRef, 'access',
|
|
26132
|
+
void _optionalChain([actionsRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.onMarkAllRead, 'optionalCall', _547 => _547()]);
|
|
24439
26133
|
}, []);
|
|
24440
26134
|
const markSettled = _react.useCallback.call(void 0, (id) => {
|
|
24441
26135
|
dispatch({ type: "markSettled", id });
|
|
24442
|
-
void _optionalChain([actionsRef, 'access',
|
|
26136
|
+
void _optionalChain([actionsRef, 'access', _548 => _548.current, 'optionalAccess', _549 => _549.onMarkSettled, 'optionalCall', _550 => _550(id)]);
|
|
24443
26137
|
}, []);
|
|
24444
26138
|
const remove = _react.useCallback.call(void 0, (id) => {
|
|
24445
26139
|
dispatch({ type: "remove", id });
|
|
24446
|
-
void _optionalChain([actionsRef, 'access',
|
|
26140
|
+
void _optionalChain([actionsRef, 'access', _551 => _551.current, 'optionalAccess', _552 => _552.onRemove, 'optionalCall', _553 => _553(id)]);
|
|
24447
26141
|
}, []);
|
|
24448
26142
|
const clear = _react.useCallback.call(void 0, () => dispatch({ type: "clear" }), []);
|
|
24449
26143
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -24452,14 +26146,14 @@ function NotificationsProvider({
|
|
|
24452
26146
|
const setShowPopups = _react.useCallback.call(void 0,
|
|
24453
26147
|
(value2) => {
|
|
24454
26148
|
setShowPopupsState(value2);
|
|
24455
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
26149
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _554 => _554(value2)]);
|
|
24456
26150
|
},
|
|
24457
26151
|
[onShowPopupsChange]
|
|
24458
26152
|
);
|
|
24459
26153
|
const setShowDesktopPopups = _react.useCallback.call(void 0,
|
|
24460
26154
|
(value2) => {
|
|
24461
26155
|
setShowDesktopPopupsState(value2);
|
|
24462
|
-
_optionalChain([onShowDesktopPopupsChange, 'optionalCall',
|
|
26156
|
+
_optionalChain([onShowDesktopPopupsChange, 'optionalCall', _555 => _555(value2)]);
|
|
24463
26157
|
},
|
|
24464
26158
|
[onShowDesktopPopupsChange]
|
|
24465
26159
|
);
|
|
@@ -24575,7 +26269,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
24575
26269
|
const handleOpenChange = _react.useCallback.call(void 0,
|
|
24576
26270
|
(next) => {
|
|
24577
26271
|
if (!isControlled) setInternalOpen(next);
|
|
24578
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
26272
|
+
_optionalChain([onOpenChange, 'optionalCall', _556 => _556(next)]);
|
|
24579
26273
|
},
|
|
24580
26274
|
[isControlled, onOpenChange]
|
|
24581
26275
|
);
|
|
@@ -24592,9 +26286,9 @@ var AppLayoutDrawerRoot = ({
|
|
|
24592
26286
|
}
|
|
24593
26287
|
}));
|
|
24594
26288
|
_react.useEffect.call(void 0, () => {
|
|
24595
|
-
if (open) _optionalChain([coordination, 'optionalAccess',
|
|
26289
|
+
if (open) _optionalChain([coordination, 'optionalAccess', _557 => _557.notifyDrawerDidOpen, 'call', _558 => _558(selfHandle)]);
|
|
24596
26290
|
}, [open, coordination, selfHandle]);
|
|
24597
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
26291
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _559 => _559.registerDrawer, 'call', _560 => _560(selfHandle)]), [coordination, selfHandle]);
|
|
24598
26292
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Root, { ...rest, open, onOpenChange: handleOpenChange, modal, children }) });
|
|
24599
26293
|
};
|
|
24600
26294
|
AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
|
|
@@ -24947,10 +26641,10 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24947
26641
|
),
|
|
24948
26642
|
style,
|
|
24949
26643
|
onInteractOutside: (event) => {
|
|
24950
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
26644
|
+
_optionalChain([onInteractOutside, 'optionalCall', _561 => _561(event)]);
|
|
24951
26645
|
if (event.defaultPrevented) return;
|
|
24952
26646
|
const target = event.target;
|
|
24953
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
26647
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _562 => _562.contains, 'call', _563 => _563(target)]);
|
|
24954
26648
|
if (!isInsideContainer) {
|
|
24955
26649
|
event.preventDefault();
|
|
24956
26650
|
return;
|
|
@@ -25053,7 +26747,7 @@ function NotificationTile({
|
|
|
25053
26747
|
if (!counting) return void 0;
|
|
25054
26748
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
25055
26749
|
const timer = window.setTimeout(() => {
|
|
25056
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
26750
|
+
_optionalChain([onSettle, 'optionalCall', _564 => _564(id)]);
|
|
25057
26751
|
}, remaining);
|
|
25058
26752
|
return () => window.clearTimeout(timer);
|
|
25059
26753
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -25093,7 +26787,7 @@ function NotificationTile({
|
|
|
25093
26787
|
active: isLive,
|
|
25094
26788
|
label: "Dismiss notification",
|
|
25095
26789
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.XmarkIcon, { size: 16 }),
|
|
25096
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
26790
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _565 => _565(id)])
|
|
25097
26791
|
},
|
|
25098
26792
|
{
|
|
25099
26793
|
active: !isLive,
|
|
@@ -25281,7 +26975,7 @@ function DrawerScrollList({
|
|
|
25281
26975
|
if (!sentinel || !root) return void 0;
|
|
25282
26976
|
const observer = new IntersectionObserver(
|
|
25283
26977
|
(entries) => {
|
|
25284
|
-
if (_optionalChain([entries, 'access',
|
|
26978
|
+
if (_optionalChain([entries, 'access', _566 => _566[0], 'optionalAccess', _567 => _567.isIntersecting])) _optionalChain([loadMoreRef, 'access', _568 => _568.current, 'optionalCall', _569 => _569()]);
|
|
25285
26979
|
},
|
|
25286
26980
|
{ root, rootMargin: loadMoreRootMargin }
|
|
25287
26981
|
);
|
|
@@ -25296,7 +26990,7 @@ function DrawerScrollList({
|
|
|
25296
26990
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
25297
26991
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25298
26992
|
unreadNotifications.map((n) => {
|
|
25299
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
26993
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _570 => _570(n, { onComplete, onSettle, liveDurationMs })]);
|
|
25300
26994
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
25301
26995
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25302
26996
|
NotificationTile,
|
|
@@ -25416,7 +27110,7 @@ function NotificationPopups({
|
|
|
25416
27110
|
}) {
|
|
25417
27111
|
const ctx = useOptionalNotifications();
|
|
25418
27112
|
const [now, setNow] = _react.useState.call(void 0, () => Date.now());
|
|
25419
|
-
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess',
|
|
27113
|
+
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _571 => _571.notifications, 'access', _572 => _572.some, 'call', _573 => _573((n) => !n.read && !n.settled)]));
|
|
25420
27114
|
_react.useEffect.call(void 0, () => {
|
|
25421
27115
|
if (!hasAgeingNotifications) return void 0;
|
|
25422
27116
|
const id = setInterval(() => setNow(Date.now()), 500);
|
|
@@ -25459,7 +27153,7 @@ function NotificationPopups({
|
|
|
25459
27153
|
className
|
|
25460
27154
|
),
|
|
25461
27155
|
children: live.map((n) => {
|
|
25462
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
27156
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _574 => _574(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
25463
27157
|
if (custom) {
|
|
25464
27158
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
25465
27159
|
}
|
|
@@ -25498,21 +27192,21 @@ function NotificationPopups({
|
|
|
25498
27192
|
// src/components/features/notifications/types.ts
|
|
25499
27193
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
25500
27194
|
function isApprovalNotification(notification) {
|
|
25501
|
-
return _optionalChain([notification, 'access',
|
|
27195
|
+
return _optionalChain([notification, 'access', _575 => _575.meta, 'optionalAccess', _576 => _576.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
25502
27196
|
}
|
|
25503
27197
|
function getApprovalMeta(notification) {
|
|
25504
27198
|
if (!isApprovalNotification(notification)) return null;
|
|
25505
27199
|
const meta = notification.meta;
|
|
25506
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
25507
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
27200
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _577 => _577.approvalRequestId]);
|
|
27201
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _578 => _578.toolCalls]);
|
|
25508
27202
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
25509
27203
|
return {
|
|
25510
27204
|
approvalRequestId,
|
|
25511
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
25512
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
25513
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
25514
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
25515
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
27205
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _579 => _579.dialogId]), () => ( null)),
|
|
27206
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _580 => _580.ticketId]), () => ( null)),
|
|
27207
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _581 => _581.approvalType]), () => ( null)),
|
|
27208
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _582 => _582.resolution]), () => ( null)),
|
|
27209
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _583 => _583.resolvedByName]), () => ( null)),
|
|
25516
27210
|
toolCalls
|
|
25517
27211
|
};
|
|
25518
27212
|
}
|
|
@@ -25562,7 +27256,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25562
27256
|
const [processing, setProcessing] = _react.useState.call(void 0, false);
|
|
25563
27257
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
25564
27258
|
const approval = getApprovalMeta(notification);
|
|
25565
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
27259
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _584 => _584.resolution]));
|
|
25566
27260
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
25567
27261
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
25568
27262
|
const { innerRef, containerStyle } = _chunkLOJ5KQ6Bcjs.useCollapsible.call(void 0, { expanded });
|
|
@@ -25884,7 +27578,7 @@ function TimeTrackerPanel({
|
|
|
25884
27578
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
25885
27579
|
disableClientFilter: !!onTicketSearch,
|
|
25886
27580
|
onInputChange: (value, reason) => {
|
|
25887
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
27581
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _585 => _585(value)]);
|
|
25888
27582
|
}
|
|
25889
27583
|
}
|
|
25890
27584
|
),
|
|
@@ -25899,7 +27593,7 @@ function TimeTrackerPanel({
|
|
|
25899
27593
|
disabled: customerLocked,
|
|
25900
27594
|
disableClientFilter: !!onCustomerSearch,
|
|
25901
27595
|
onInputChange: (value, reason) => {
|
|
25902
|
-
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall',
|
|
27596
|
+
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _586 => _586(value)]);
|
|
25903
27597
|
},
|
|
25904
27598
|
startAdornment: customerStartAdornment,
|
|
25905
27599
|
renderOption: renderCustomerOption
|
|
@@ -26001,7 +27695,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
26001
27695
|
{
|
|
26002
27696
|
variant: "outline",
|
|
26003
27697
|
size: "icon",
|
|
26004
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
27698
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _587 => _587(entry)]),
|
|
26005
27699
|
disabled: !onClick,
|
|
26006
27700
|
"aria-label": `Open entry: ${entry.title}`,
|
|
26007
27701
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -26085,28 +27779,28 @@ function HeaderButton({
|
|
|
26085
27779
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
26086
27780
|
const ctx = useOptionalTimeTracker();
|
|
26087
27781
|
const elapsedLabel = useTrackerClock({
|
|
26088
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
26089
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
26090
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
27782
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _588 => _588.status]), () => ( "ready")),
|
|
27783
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _589 => _589.runningSince]),
|
|
27784
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _590 => _590.accumulatedMs])
|
|
26091
27785
|
});
|
|
26092
27786
|
const layoutContainer = useAppLayoutDrawerContainer();
|
|
26093
27787
|
const coordination = useAppLayoutDrawerCoordination();
|
|
26094
|
-
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
27788
|
+
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _591 => _591.isOpen]), () => ( false));
|
|
26095
27789
|
const isOpenRef = _react.useRef.call(void 0, isOpen);
|
|
26096
|
-
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess',
|
|
27790
|
+
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _592 => _592.close]));
|
|
26097
27791
|
_react.useEffect.call(void 0, () => {
|
|
26098
27792
|
isOpenRef.current = isOpen;
|
|
26099
|
-
closeRef.current = _optionalChain([ctx, 'optionalAccess',
|
|
27793
|
+
closeRef.current = _optionalChain([ctx, 'optionalAccess', _593 => _593.close]);
|
|
26100
27794
|
});
|
|
26101
27795
|
const [selfHandle] = _react.useState.call(void 0, () => ({
|
|
26102
27796
|
close: () => {
|
|
26103
|
-
if (isOpenRef.current) _optionalChain([closeRef, 'access',
|
|
27797
|
+
if (isOpenRef.current) _optionalChain([closeRef, 'access', _594 => _594.current, 'optionalCall', _595 => _595()]);
|
|
26104
27798
|
}
|
|
26105
27799
|
}));
|
|
26106
27800
|
_react.useEffect.call(void 0, () => {
|
|
26107
|
-
if (isOpen) _optionalChain([coordination, 'optionalAccess',
|
|
27801
|
+
if (isOpen) _optionalChain([coordination, 'optionalAccess', _596 => _596.notifyDrawerDidOpen, 'call', _597 => _597(selfHandle)]);
|
|
26108
27802
|
}, [isOpen, coordination, selfHandle]);
|
|
26109
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
27803
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _598 => _598.registerDrawer, 'call', _599 => _599(selfHandle)]), [coordination, selfHandle]);
|
|
26110
27804
|
if (!ctx) return null;
|
|
26111
27805
|
const { open, close, status } = ctx;
|
|
26112
27806
|
const isPaused = status === "paused";
|
|
@@ -26238,7 +27932,7 @@ function autoScrollAncestors(element) {
|
|
|
26238
27932
|
|
|
26239
27933
|
// src/components/features/board/aim.ts
|
|
26240
27934
|
var _closestedge = require('@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge');
|
|
26241
|
-
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access',
|
|
27935
|
+
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access', _600 => _600.find, 'call', _601 => _601((c) => c.id === columnId), 'optionalAccess', _602 => _602.tickets]), () => ( []))).filter((t) => t.id !== ticketId);
|
|
26242
27936
|
function laneOf(columns, ticketId) {
|
|
26243
27937
|
return _nullishCoalesce(columns.find((c) => c.tickets.some((t) => t.id === ticketId)), () => ( null));
|
|
26244
27938
|
}
|
|
@@ -26282,11 +27976,11 @@ function aimToChange(columns, ticketId, aim) {
|
|
|
26282
27976
|
const lane = laneOf(columns, ticketId);
|
|
26283
27977
|
if (!lane) return null;
|
|
26284
27978
|
const others = othersIn(columns, aim.columnId, ticketId);
|
|
26285
|
-
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
26286
|
-
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
27979
|
+
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access', _603 => _603[aim.index - 1], 'optionalAccess', _604 => _604.id]), () => ( null));
|
|
27980
|
+
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access', _605 => _605[aim.index], 'optionalAccess', _606 => _606.id]), () => ( null));
|
|
26287
27981
|
if (lane.id === aim.columnId) {
|
|
26288
27982
|
const currentIndex = lane.tickets.findIndex((t) => t.id === ticketId);
|
|
26289
|
-
if ((_nullishCoalesce(_optionalChain([lane, 'access',
|
|
27983
|
+
if ((_nullishCoalesce(_optionalChain([lane, 'access', _607 => _607.tickets, 'access', _608 => _608[currentIndex - 1], 'optionalAccess', _609 => _609.id]), () => ( null))) === afterTicketId) return null;
|
|
26290
27984
|
}
|
|
26291
27985
|
return { ticketId, fromColumnId: lane.id, toColumnId: aim.columnId, afterTicketId, beforeTicketId };
|
|
26292
27986
|
}
|
|
@@ -26557,14 +28251,14 @@ function useIsLanding(ticketId) {
|
|
|
26557
28251
|
return _react.useContext.call(void 0, LandingCardContext) === ticketId;
|
|
26558
28252
|
}
|
|
26559
28253
|
function hasMoveSettled(columns, move) {
|
|
26560
|
-
const tickets = _optionalChain([columns, 'access',
|
|
28254
|
+
const tickets = _optionalChain([columns, 'access', _610 => _610.find, 'call', _611 => _611((c) => c.id === move.toColumnId), 'optionalAccess', _612 => _612.tickets]);
|
|
26561
28255
|
if (!tickets) return false;
|
|
26562
28256
|
const index = tickets.findIndex((t) => t.id === move.ticketId);
|
|
26563
28257
|
if (index < 0) return false;
|
|
26564
28258
|
if (move.fromColumnId === move.toColumnId) {
|
|
26565
|
-
return (_nullishCoalesce(_optionalChain([tickets, 'access',
|
|
28259
|
+
return (_nullishCoalesce(_optionalChain([tickets, 'access', _613 => _613[index - 1], 'optionalAccess', _614 => _614.id]), () => ( null))) === move.afterTicketId;
|
|
26566
28260
|
}
|
|
26567
|
-
return !_optionalChain([columns, 'access',
|
|
28261
|
+
return !_optionalChain([columns, 'access', _615 => _615.find, 'call', _616 => _616((c) => c.id === move.fromColumnId), 'optionalAccess', _617 => _617.tickets, 'access', _618 => _618.some, 'call', _619 => _619((t) => t.id === move.ticketId)]);
|
|
26568
28262
|
}
|
|
26569
28263
|
|
|
26570
28264
|
// src/components/features/board/ticket-card.tsx
|
|
@@ -26589,9 +28283,9 @@ var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] r
|
|
|
26589
28283
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
26590
28284
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
26591
28285
|
const newMessageTextColor = columnColor ? _chunkLOJ5KQ6Bcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
26592
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
26593
|
-
const deviceText = [_optionalChain([ticket, 'access',
|
|
26594
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
28286
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.length]) || ticket.organizationName);
|
|
28287
|
+
const deviceText = [_optionalChain([ticket, 'access', _622 => _622.deviceHostnames, 'optionalAccess', _623 => _623.join, 'call', _624 => _624(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28288
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _625 => _625.assignees, 'optionalAccess', _626 => _626.length]) || renderAssignSlot);
|
|
26595
28289
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26596
28290
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26597
28291
|
_chunkGSQM4PDRcjs.Flag02Icon,
|
|
@@ -26600,7 +28294,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26600
28294
|
"aria-label": `Priority: ${ticket.priority}`
|
|
26601
28295
|
}
|
|
26602
28296
|
),
|
|
26603
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
28297
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _627 => _627.assignees, 'optionalAccess', _628 => _628.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
26604
28298
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map(
|
|
26605
28299
|
(a) => a.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26606
28300
|
DeletedUserAvatar,
|
|
@@ -26640,7 +28334,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26640
28334
|
] }),
|
|
26641
28335
|
rightSection
|
|
26642
28336
|
] }),
|
|
26643
|
-
_optionalChain([ticket, 'access',
|
|
28337
|
+
_optionalChain([ticket, 'access', _629 => _629.tags, 'optionalAccess', _630 => _630.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
26644
28338
|
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { children: [
|
|
26645
28339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
26646
28340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipContent, { children: tooltipLabel })
|
|
@@ -26707,7 +28401,7 @@ var TicketCard = _react.memo.call(void 0, function TicketCardImpl({
|
|
|
26707
28401
|
const isLanding = useIsLanding(ticket.id);
|
|
26708
28402
|
const aim = useDropAim();
|
|
26709
28403
|
const closestEdge = aim && aim.columnId === columnId && aim.ticketId === ticket.id ? aim.edge : null;
|
|
26710
|
-
const isSource = isDragging || _optionalChain([aim, 'optionalAccess',
|
|
28404
|
+
const isSource = isDragging || _optionalChain([aim, 'optionalAccess', _631 => _631.ticket, 'access', _632 => _632.id]) === ticket.id;
|
|
26711
28405
|
const lift = useBoardLift();
|
|
26712
28406
|
const handleKeyDown = (e) => {
|
|
26713
28407
|
if (e.key !== " " || dragDisabled || !lift) return;
|
|
@@ -26960,7 +28654,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
26960
28654
|
// large ones like the only thing that did.
|
|
26961
28655
|
getData: ({ input, element: lane, source }) => {
|
|
26962
28656
|
const nearest = nearestCardIn(lane, input.clientY, String(source.data.ticketId));
|
|
26963
|
-
const ticketId = _optionalChain([nearest, 'optionalAccess',
|
|
28657
|
+
const ticketId = _optionalChain([nearest, 'optionalAccess', _633 => _633.dataset, 'access', _634 => _634.ticketId]);
|
|
26964
28658
|
if (!nearest || !ticketId) return { type: "column", columnId: column.id };
|
|
26965
28659
|
return _closestedge.attachClosestEdge.call(void 0,
|
|
26966
28660
|
{ type: "ticket", ticketId, columnId: column.id },
|
|
@@ -26972,7 +28666,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
26972
28666
|
onDrop: () => setIsOver(false)
|
|
26973
28667
|
});
|
|
26974
28668
|
}, [column.id, column.dropDisabled, column.allowedFromColumns, collapsed, touchMode]);
|
|
26975
|
-
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall',
|
|
28669
|
+
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall', _635 => _635(column.id)]), [onToggleCollapse, column.id]);
|
|
26976
28670
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26977
28671
|
"div",
|
|
26978
28672
|
{
|
|
@@ -27051,7 +28745,7 @@ function ColumnBody({
|
|
|
27051
28745
|
const observer = new IntersectionObserver(
|
|
27052
28746
|
(entries) => {
|
|
27053
28747
|
if (entries.some((e) => e.isIntersecting)) {
|
|
27054
|
-
_optionalChain([loadMoreRef, 'access',
|
|
28748
|
+
_optionalChain([loadMoreRef, 'access', _636 => _636.current, 'optionalCall', _637 => _637(columnIdRef.current)]);
|
|
27055
28749
|
}
|
|
27056
28750
|
},
|
|
27057
28751
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -27076,7 +28770,7 @@ function ColumnBody({
|
|
|
27076
28770
|
ticket: t,
|
|
27077
28771
|
columnId: column.id,
|
|
27078
28772
|
columnColor: column.color,
|
|
27079
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
28773
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _638 => _638(t.id)]),
|
|
27080
28774
|
renderAssignSlot,
|
|
27081
28775
|
onApprove,
|
|
27082
28776
|
onReject,
|
|
@@ -27252,7 +28946,7 @@ function DragBoard({
|
|
|
27252
28946
|
const [landing, setLanding] = _react.useState.call(void 0, null);
|
|
27253
28947
|
const landingTimer = _react.useRef.call(void 0, null);
|
|
27254
28948
|
const pointRef = _react.useRef.call(void 0, { x: 0, y: 0 });
|
|
27255
|
-
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access',
|
|
28949
|
+
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access', _639 => _639.find, 'call', _640 => _640((c) => c.id === columnId), 'optionalAccess', _641 => _641.label]), () => ( columnId)), [view]);
|
|
27256
28950
|
const acceptsLifted = _react.useCallback.call(void 0,
|
|
27257
28951
|
(fromColumnId) => (column) => {
|
|
27258
28952
|
if (column.dropDisabled || collapsed[column.id]) return false;
|
|
@@ -27266,7 +28960,7 @@ function DragBoard({
|
|
|
27266
28960
|
const start = initialAim(view, ticketId);
|
|
27267
28961
|
if (!start) return;
|
|
27268
28962
|
setLifted({ ticketId, aim: start });
|
|
27269
|
-
const title = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
28963
|
+
const title = _nullishCoalesce(_optionalChain([laneOf, 'call', _642 => _642(view, ticketId), 'optionalAccess', _643 => _643.tickets, 'access', _644 => _644.find, 'call', _645 => _645((t) => t.id === ticketId), 'optionalAccess', _646 => _646.title]), () => ( "Ticket"));
|
|
27270
28964
|
setAnnouncement(`${title} lifted. Use the arrow keys to move it, space to drop it, escape to put it back.`);
|
|
27271
28965
|
},
|
|
27272
28966
|
[view]
|
|
@@ -27291,11 +28985,11 @@ function DragBoard({
|
|
|
27291
28985
|
const walk = _react.useCallback.call(void 0,
|
|
27292
28986
|
(key) => {
|
|
27293
28987
|
if (!lifted) return;
|
|
27294
|
-
const from = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
28988
|
+
const from = _nullishCoalesce(_optionalChain([laneOf, 'call', _647 => _647(view, lifted.ticketId), 'optionalAccess', _648 => _648.id]), () => ( lifted.aim.columnId));
|
|
27295
28989
|
const next = moveAim(view, lifted.ticketId, lifted.aim, key, acceptsLifted(from));
|
|
27296
28990
|
if (next === lifted.aim) return;
|
|
27297
28991
|
setLifted({ ...lifted, aim: next });
|
|
27298
|
-
const total = (_nullishCoalesce(_optionalChain([view, 'access',
|
|
28992
|
+
const total = (_nullishCoalesce(_optionalChain([view, 'access', _649 => _649.find, 'call', _650 => _650((c) => c.id === next.columnId), 'optionalAccess', _651 => _651.tickets]), () => ( []))).filter(
|
|
27299
28993
|
(t) => t.id !== lifted.ticketId
|
|
27300
28994
|
).length;
|
|
27301
28995
|
setAnnouncement(`${laneLabel(next.columnId)}, position ${next.index + 1} of ${total + 1}.`);
|
|
@@ -27322,11 +29016,11 @@ function DragBoard({
|
|
|
27322
29016
|
}, [lifted, drop, walk]);
|
|
27323
29017
|
_react.useEffect.call(void 0, () => {
|
|
27324
29018
|
if (!lifted) return;
|
|
27325
|
-
_optionalChain([boardRef, 'access',
|
|
29019
|
+
_optionalChain([boardRef, 'access', _652 => _652.current, 'optionalAccess', _653 => _653.querySelector, 'call', _654 => _654(`[${DROP_LINE_ATTRIBUTE}]`), 'optionalAccess', _655 => _655.scrollIntoView, 'call', _656 => _656({ block: "nearest", inline: "nearest" })]);
|
|
27326
29020
|
}, [lifted]);
|
|
27327
29021
|
const keyboardAim = _react.useMemo.call(void 0, () => {
|
|
27328
29022
|
if (!lifted) return null;
|
|
27329
|
-
const ticket = _optionalChain([laneOf, 'call',
|
|
29023
|
+
const ticket = _optionalChain([laneOf, 'call', _657 => _657(view, lifted.ticketId), 'optionalAccess', _658 => _658.tickets, 'access', _659 => _659.find, 'call', _660 => _660((t) => t.id === lifted.ticketId)]);
|
|
27330
29024
|
if (!ticket) return null;
|
|
27331
29025
|
const anchor = aimToChange(view, lifted.ticketId, lifted.aim) ? aimAnchor(view, lifted.ticketId, lifted.aim) : { ticketId: null, edge: null };
|
|
27332
29026
|
return { columnId: lifted.aim.columnId, ...anchor, ticket };
|
|
@@ -27348,7 +29042,7 @@ function DragBoard({
|
|
|
27348
29042
|
return { columnId: slot.columnId, ...anchor, ticket };
|
|
27349
29043
|
};
|
|
27350
29044
|
const aimAt = (source, targets) => {
|
|
27351
|
-
const next = readAim(source, _optionalChain([targets, 'access',
|
|
29045
|
+
const next = readAim(source, _optionalChain([targets, 'access', _661 => _661[0], 'optionalAccess', _662 => _662.data]));
|
|
27352
29046
|
setAim((prev) => isSameAim(prev, next) ? prev : next);
|
|
27353
29047
|
};
|
|
27354
29048
|
return _combine.combine.call(void 0,
|
|
@@ -27377,7 +29071,7 @@ function DragBoard({
|
|
|
27377
29071
|
setLanding(null);
|
|
27378
29072
|
dragGeometry.current = {
|
|
27379
29073
|
ticket,
|
|
27380
|
-
columnColor: _optionalChain([columnsRef, 'access',
|
|
29074
|
+
columnColor: _optionalChain([columnsRef, 'access', _663 => _663.current, 'access', _664 => _664.find, 'call', _665 => _665((c) => c.id === source.data.columnId), 'optionalAccess', _666 => _666.color]),
|
|
27381
29075
|
width: rect.width,
|
|
27382
29076
|
grabX: clientX - rect.left,
|
|
27383
29077
|
grabY: clientY - rect.top
|
|
@@ -27394,7 +29088,7 @@ function DragBoard({
|
|
|
27394
29088
|
setAim(null);
|
|
27395
29089
|
const change = resolveBoardDrop(columnsRef.current, {
|
|
27396
29090
|
source: source.data,
|
|
27397
|
-
target: _optionalChain([location, 'access',
|
|
29091
|
+
target: _optionalChain([location, 'access', _667 => _667.current, 'access', _668 => _668.dropTargets, 'access', _669 => _669[0], 'optionalAccess', _670 => _670.data])
|
|
27398
29092
|
});
|
|
27399
29093
|
if (!change) return;
|
|
27400
29094
|
setPendingMove({
|
|
@@ -27427,7 +29121,7 @@ function DragBoard({
|
|
|
27427
29121
|
return void 0;
|
|
27428
29122
|
}
|
|
27429
29123
|
const to = card.getBoundingClientRect();
|
|
27430
|
-
const lane = _optionalChain([nearestScrollableAncestor, 'call',
|
|
29124
|
+
const lane = _optionalChain([nearestScrollableAncestor, 'call', _671 => _671(card), 'optionalAccess', _672 => _672.getBoundingClientRect, 'call', _673 => _673()]);
|
|
27431
29125
|
if (lane && (to.top < lane.top || to.bottom > lane.bottom)) {
|
|
27432
29126
|
finish();
|
|
27433
29127
|
return void 0;
|
|
@@ -27486,8 +29180,8 @@ function DragBoard({
|
|
|
27486
29180
|
children: view.map((column, i) => {
|
|
27487
29181
|
const prev = view[i - 1];
|
|
27488
29182
|
const next = view[i + 1];
|
|
27489
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
27490
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
29183
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _674 => _674.system]));
|
|
29184
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _675 => _675.system]));
|
|
27491
29185
|
const showGap = i > 0 && !joinLeft;
|
|
27492
29186
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
|
|
27493
29187
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -27667,13 +29361,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
27667
29361
|
const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
|
|
27668
29362
|
const flipTimer = _react.useRef.call(void 0, null);
|
|
27669
29363
|
const readItems = _react.useCallback.call(void 0,
|
|
27670
|
-
() => [..._nullishCoalesce(_optionalChain([listRef, 'access',
|
|
29364
|
+
() => [..._nullishCoalesce(_optionalChain([listRef, 'access', _676 => _676.current, 'optionalAccess', _677 => _677.querySelectorAll, 'call', _678 => _678(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
|
|
27671
29365
|
[]
|
|
27672
29366
|
);
|
|
27673
29367
|
const reorder = _react.useCallback.call(void 0,
|
|
27674
29368
|
(from, to) => {
|
|
27675
29369
|
if (from === to) return;
|
|
27676
|
-
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access',
|
|
29370
|
+
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _679 => _679.current, 'optionalCall', _680 => _680(from)]), () => ( "Item"));
|
|
27677
29371
|
setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
|
|
27678
29372
|
onReorderRef.current(from, to);
|
|
27679
29373
|
},
|
|
@@ -27761,7 +29455,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
27761
29455
|
moving.push(item);
|
|
27762
29456
|
}
|
|
27763
29457
|
if (moving.length === 0) return;
|
|
27764
|
-
void _optionalChain([listRef, 'access',
|
|
29458
|
+
void _optionalChain([listRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.offsetHeight]);
|
|
27765
29459
|
for (const item of moving) {
|
|
27766
29460
|
item.style.transition = `transform ${DROP_MS2}ms ${EASING}`;
|
|
27767
29461
|
item.style.transform = "";
|
|
@@ -27798,8 +29492,8 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
27798
29492
|
if (to < 0 || to >= count) return;
|
|
27799
29493
|
reorder(index, to);
|
|
27800
29494
|
requestAnimationFrame(() => {
|
|
27801
|
-
if (step === -1 && to === 0) _optionalChain([downRef, 'access',
|
|
27802
|
-
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access',
|
|
29495
|
+
if (step === -1 && to === 0) _optionalChain([downRef, 'access', _683 => _683.current, 'optionalAccess', _684 => _684.focus, 'call', _685 => _685()]);
|
|
29496
|
+
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.focus, 'call', _688 => _688()]);
|
|
27803
29497
|
});
|
|
27804
29498
|
};
|
|
27805
29499
|
const subject = _nullishCoalesce(label, () => ( "item"));
|
|
@@ -27847,7 +29541,7 @@ function useSortableItem() {
|
|
|
27847
29541
|
const [handle, setHandle] = _react.useState.call(void 0, null);
|
|
27848
29542
|
const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
|
|
27849
29543
|
const itemRef = _react.useCallback.call(void 0, (node) => {
|
|
27850
|
-
_optionalChain([node, 'optionalAccess',
|
|
29544
|
+
_optionalChain([node, 'optionalAccess', _689 => _689.setAttribute, 'call', _690 => _690(SORTABLE_ITEM_ATTRIBUTE, "")]);
|
|
27851
29545
|
setItem(node);
|
|
27852
29546
|
}, []);
|
|
27853
29547
|
_react.useEffect.call(void 0, () => {
|
|
@@ -27877,7 +29571,7 @@ function useSortableItem() {
|
|
|
27877
29571
|
if (from < 0 || to < 0 || to >= items.length) return;
|
|
27878
29572
|
event.preventDefault();
|
|
27879
29573
|
reorder(from, to);
|
|
27880
|
-
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess',
|
|
29574
|
+
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _691 => _691.focus, 'call', _692 => _692()]));
|
|
27881
29575
|
},
|
|
27882
29576
|
[inert, readItems, reorder, handle]
|
|
27883
29577
|
);
|
|
@@ -27899,7 +29593,7 @@ function TicketStatusConfigList({
|
|
|
27899
29593
|
onReorder,
|
|
27900
29594
|
getItemLabel,
|
|
27901
29595
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
|
|
27902
|
-
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall',
|
|
29596
|
+
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _693 => _693(index)]), children: (args) => renderRow(item, args) }, item.id))
|
|
27903
29597
|
}
|
|
27904
29598
|
);
|
|
27905
29599
|
}
|
|
@@ -28488,5 +30182,52 @@ function SortableRow({
|
|
|
28488
30182
|
|
|
28489
30183
|
|
|
28490
30184
|
|
|
28491
|
-
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.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.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.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.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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; 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.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; 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.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;
|
|
28492
|
-
|
|
30185
|
+
|
|
30186
|
+
|
|
30187
|
+
|
|
30188
|
+
|
|
30189
|
+
|
|
30190
|
+
|
|
30191
|
+
|
|
30192
|
+
|
|
30193
|
+
|
|
30194
|
+
|
|
30195
|
+
|
|
30196
|
+
|
|
30197
|
+
|
|
30198
|
+
|
|
30199
|
+
|
|
30200
|
+
|
|
30201
|
+
|
|
30202
|
+
|
|
30203
|
+
|
|
30204
|
+
|
|
30205
|
+
|
|
30206
|
+
|
|
30207
|
+
|
|
30208
|
+
|
|
30209
|
+
|
|
30210
|
+
|
|
30211
|
+
|
|
30212
|
+
|
|
30213
|
+
|
|
30214
|
+
|
|
30215
|
+
|
|
30216
|
+
|
|
30217
|
+
|
|
30218
|
+
|
|
30219
|
+
|
|
30220
|
+
|
|
30221
|
+
|
|
30222
|
+
|
|
30223
|
+
|
|
30224
|
+
|
|
30225
|
+
|
|
30226
|
+
|
|
30227
|
+
|
|
30228
|
+
|
|
30229
|
+
|
|
30230
|
+
|
|
30231
|
+
|
|
30232
|
+
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.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.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.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.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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; 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.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.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;
|
|
30233
|
+
//# sourceMappingURL=chunk-HMEEW73F.cjs.map
|