@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260926063530 → 0.8.1-dev.20260930053845
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/{InputControlClient-K6GXQEJD.mjs → InputControlClient-QMFSUGTK.mjs} +1 -1
- package/dist/{chunk-LDS5ZLVG.mjs → chunk-JT7G3DNR.mjs} +391 -30
- package/dist/index.d.mts +31 -1
- package/dist/index.d.ts +31 -1
- package/dist/index.js +1140 -676
- package/dist/index.mjs +500 -398
- package/dist/server.js +553 -465
- package/dist/server.mjs +272 -184
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -2970,9 +2970,9 @@ __export(CopyButton_exports, {
|
|
|
2970
2970
|
default: () => CopyButton
|
|
2971
2971
|
});
|
|
2972
2972
|
function CopyButton({ text }) {
|
|
2973
|
-
const [copied, setCopied] = (0,
|
|
2974
|
-
const timeoutRef = (0,
|
|
2975
|
-
(0,
|
|
2973
|
+
const [copied, setCopied] = (0, import_react34.useState)(false);
|
|
2974
|
+
const timeoutRef = (0, import_react34.useRef)(null);
|
|
2975
|
+
(0, import_react34.useEffect)(() => {
|
|
2976
2976
|
return () => {
|
|
2977
2977
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
2978
2978
|
};
|
|
@@ -2987,13 +2987,13 @@ function CopyButton({ text }) {
|
|
|
2987
2987
|
console.error("Failed to copy: ", err);
|
|
2988
2988
|
}
|
|
2989
2989
|
};
|
|
2990
|
-
return /* @__PURE__ */ (0,
|
|
2990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2991
2991
|
"button",
|
|
2992
2992
|
{
|
|
2993
2993
|
onClick: handleCopy,
|
|
2994
2994
|
className: "flex gap-1 items-center hover:text-white transition",
|
|
2995
2995
|
children: [
|
|
2996
|
-
/* @__PURE__ */ (0,
|
|
2996
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2997
2997
|
"svg",
|
|
2998
2998
|
{
|
|
2999
2999
|
width: "16",
|
|
@@ -3001,7 +3001,7 @@ function CopyButton({ text }) {
|
|
|
3001
3001
|
viewBox: "0 0 24 24",
|
|
3002
3002
|
className: "w-4 h-4",
|
|
3003
3003
|
fill: "currentColor",
|
|
3004
|
-
children: /* @__PURE__ */ (0,
|
|
3004
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3005
3005
|
"path",
|
|
3006
3006
|
{
|
|
3007
3007
|
fillRule: "evenodd",
|
|
@@ -3016,54 +3016,54 @@ function CopyButton({ text }) {
|
|
|
3016
3016
|
}
|
|
3017
3017
|
);
|
|
3018
3018
|
}
|
|
3019
|
-
var
|
|
3019
|
+
var import_react34, import_jsx_runtime48;
|
|
3020
3020
|
var init_CopyButton = __esm({
|
|
3021
3021
|
"src/components/CopyButton.tsx"() {
|
|
3022
3022
|
"use strict";
|
|
3023
3023
|
"use client";
|
|
3024
|
-
|
|
3025
|
-
|
|
3024
|
+
import_react34 = require("react");
|
|
3025
|
+
import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3026
3026
|
}
|
|
3027
3027
|
});
|
|
3028
3028
|
|
|
3029
3029
|
// src/components/IFrameLoaderView.tsx
|
|
3030
|
-
var
|
|
3030
|
+
var import_react37, import_jsx_runtime52, IFrameLoaderView, IFrameLoaderView_default;
|
|
3031
3031
|
var init_IFrameLoaderView = __esm({
|
|
3032
3032
|
"src/components/IFrameLoaderView.tsx"() {
|
|
3033
3033
|
"use strict";
|
|
3034
|
-
|
|
3035
|
-
|
|
3034
|
+
import_react37 = __toESM(require("react"));
|
|
3035
|
+
import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3036
3036
|
IFrameLoaderView = (props) => {
|
|
3037
|
-
return /* @__PURE__ */ (0,
|
|
3038
|
-
props.isDataFound == null && /* @__PURE__ */ (0,
|
|
3039
|
-
/* @__PURE__ */ (0,
|
|
3040
|
-
/* @__PURE__ */ (0,
|
|
3041
|
-
/* @__PURE__ */ (0,
|
|
3042
|
-
/* @__PURE__ */ (0,
|
|
3043
|
-
/* @__PURE__ */ (0,
|
|
3037
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react37.default.Fragment, { children: [
|
|
3038
|
+
props.isDataFound == null && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "mt-4 bg-gray-200 rounded-md p-4 animate-pulse", children: [
|
|
3039
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center mb-4", children: [
|
|
3040
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
|
|
3041
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "ml-2", children: [
|
|
3042
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
|
|
3043
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 h-2 w-12 animate-pulse" })
|
|
3044
3044
|
] })
|
|
3045
3045
|
] }),
|
|
3046
|
-
/* @__PURE__ */ (0,
|
|
3047
|
-
/* @__PURE__ */ (0,
|
|
3048
|
-
/* @__PURE__ */ (0,
|
|
3049
|
-
/* @__PURE__ */ (0,
|
|
3050
|
-
/* @__PURE__ */ (0,
|
|
3051
|
-
/* @__PURE__ */ (0,
|
|
3052
|
-
/* @__PURE__ */ (0,
|
|
3046
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
|
|
3047
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "animate-pulse", children: [
|
|
3048
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
|
|
3049
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
|
|
3050
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
|
|
3051
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
|
|
3052
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
|
|
3053
3053
|
] }),
|
|
3054
|
-
/* @__PURE__ */ (0,
|
|
3055
|
-
/* @__PURE__ */ (0,
|
|
3056
|
-
/* @__PURE__ */ (0,
|
|
3057
|
-
/* @__PURE__ */ (0,
|
|
3058
|
-
/* @__PURE__ */ (0,
|
|
3059
|
-
/* @__PURE__ */ (0,
|
|
3054
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "animate-pulse", children: [
|
|
3055
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
|
|
3056
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
|
|
3057
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
|
|
3058
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
|
|
3059
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
|
|
3060
3060
|
] }),
|
|
3061
|
-
/* @__PURE__ */ (0,
|
|
3062
|
-
/* @__PURE__ */ (0,
|
|
3063
|
-
/* @__PURE__ */ (0,
|
|
3064
|
-
/* @__PURE__ */ (0,
|
|
3065
|
-
/* @__PURE__ */ (0,
|
|
3066
|
-
/* @__PURE__ */ (0,
|
|
3061
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "animate-pulse", children: [
|
|
3062
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
|
|
3063
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
|
|
3064
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
|
|
3065
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
|
|
3066
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
|
|
3067
3067
|
] })
|
|
3068
3068
|
] })
|
|
3069
3069
|
] }) }),
|
|
@@ -3079,23 +3079,23 @@ var IframeClient_exports = {};
|
|
|
3079
3079
|
__export(IframeClient_exports, {
|
|
3080
3080
|
default: () => IframeClient_default
|
|
3081
3081
|
});
|
|
3082
|
-
var
|
|
3082
|
+
var import_react38, import_jsx_runtime53, IframeClient, IframeClient_default;
|
|
3083
3083
|
var init_IframeClient = __esm({
|
|
3084
3084
|
"src/components/pageRenderingEngine/nodes/IframeClient.tsx"() {
|
|
3085
3085
|
"use strict";
|
|
3086
3086
|
"use client";
|
|
3087
|
-
|
|
3087
|
+
import_react38 = __toESM(require("react"));
|
|
3088
3088
|
init_IFrameLoaderView();
|
|
3089
|
-
|
|
3089
|
+
import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3090
3090
|
IframeClient = ({
|
|
3091
3091
|
src,
|
|
3092
3092
|
width,
|
|
3093
3093
|
height
|
|
3094
3094
|
}) => {
|
|
3095
|
-
const iframeRef = (0,
|
|
3096
|
-
const [iframeHeight, setIframeHeight] = (0,
|
|
3097
|
-
const [isDataFound, setIsDataFound] = (0,
|
|
3098
|
-
(0,
|
|
3095
|
+
const iframeRef = (0, import_react38.useRef)(null);
|
|
3096
|
+
const [iframeHeight, setIframeHeight] = (0, import_react38.useState)("100%");
|
|
3097
|
+
const [isDataFound, setIsDataFound] = (0, import_react38.useState)(null);
|
|
3098
|
+
(0, import_react38.useEffect)(() => {
|
|
3099
3099
|
const handleReceiveMessage = (event) => {
|
|
3100
3100
|
const eventName = event?.data?.eventName;
|
|
3101
3101
|
const payload = event?.data?.payload;
|
|
@@ -3110,7 +3110,7 @@ var init_IframeClient = __esm({
|
|
|
3110
3110
|
window.addEventListener("message", handleReceiveMessage);
|
|
3111
3111
|
return () => window.removeEventListener("message", handleReceiveMessage);
|
|
3112
3112
|
}, []);
|
|
3113
|
-
(0,
|
|
3113
|
+
(0, import_react38.useEffect)(() => {
|
|
3114
3114
|
const handleResize = () => {
|
|
3115
3115
|
if (iframeRef.current) {
|
|
3116
3116
|
iframeRef.current.contentWindow?.postMessage(
|
|
@@ -3125,7 +3125,7 @@ var init_IframeClient = __esm({
|
|
|
3125
3125
|
const handleIframeLoad = () => {
|
|
3126
3126
|
setIsDataFound(true);
|
|
3127
3127
|
};
|
|
3128
|
-
return /* @__PURE__ */ (0,
|
|
3128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react38.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(IFrameLoaderView_default, { isDataFound, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3129
3129
|
"iframe",
|
|
3130
3130
|
{
|
|
3131
3131
|
ref: iframeRef,
|
|
@@ -3392,52 +3392,52 @@ var init_OdataBuilder = __esm({
|
|
|
3392
3392
|
});
|
|
3393
3393
|
|
|
3394
3394
|
// src/svg/chevron-updown.tsx
|
|
3395
|
-
var
|
|
3395
|
+
var import_jsx_runtime60, ChevronUpDown, chevron_updown_default;
|
|
3396
3396
|
var init_chevron_updown = __esm({
|
|
3397
3397
|
"src/svg/chevron-updown.tsx"() {
|
|
3398
3398
|
"use strict";
|
|
3399
|
-
|
|
3399
|
+
import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3400
3400
|
ChevronUpDown = (props) => {
|
|
3401
|
-
return /* @__PURE__ */ (0,
|
|
3401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" }) });
|
|
3402
3402
|
};
|
|
3403
3403
|
chevron_updown_default = ChevronUpDown;
|
|
3404
3404
|
}
|
|
3405
3405
|
});
|
|
3406
3406
|
|
|
3407
3407
|
// src/svg/chevron-down.tsx
|
|
3408
|
-
var
|
|
3408
|
+
var import_jsx_runtime61, ChevronDown, chevron_down_default;
|
|
3409
3409
|
var init_chevron_down = __esm({
|
|
3410
3410
|
"src/svg/chevron-down.tsx"() {
|
|
3411
3411
|
"use strict";
|
|
3412
|
-
|
|
3412
|
+
import_jsx_runtime61 = require("react/jsx-runtime");
|
|
3413
3413
|
ChevronDown = (props) => {
|
|
3414
|
-
return /* @__PURE__ */ (0,
|
|
3414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) });
|
|
3415
3415
|
};
|
|
3416
3416
|
chevron_down_default = ChevronDown;
|
|
3417
3417
|
}
|
|
3418
3418
|
});
|
|
3419
3419
|
|
|
3420
3420
|
// src/svg/chevron-up.tsx
|
|
3421
|
-
var
|
|
3421
|
+
var import_jsx_runtime62, ChevronUp, chevron_up_default;
|
|
3422
3422
|
var init_chevron_up = __esm({
|
|
3423
3423
|
"src/svg/chevron-up.tsx"() {
|
|
3424
3424
|
"use strict";
|
|
3425
|
-
|
|
3425
|
+
import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3426
3426
|
ChevronUp = (props) => {
|
|
3427
|
-
return /* @__PURE__ */ (0,
|
|
3427
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4.5 15.75l7.5-7.5 7.5 7.5" }) });
|
|
3428
3428
|
};
|
|
3429
3429
|
chevron_up_default = ChevronUp;
|
|
3430
3430
|
}
|
|
3431
3431
|
});
|
|
3432
3432
|
|
|
3433
3433
|
// src/svg/plus.tsx
|
|
3434
|
-
var
|
|
3434
|
+
var import_jsx_runtime63, Plus, plus_default;
|
|
3435
3435
|
var init_plus = __esm({
|
|
3436
3436
|
"src/svg/plus.tsx"() {
|
|
3437
3437
|
"use strict";
|
|
3438
|
-
|
|
3438
|
+
import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3439
3439
|
Plus = (props) => {
|
|
3440
|
-
return /* @__PURE__ */ (0,
|
|
3440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) });
|
|
3441
3441
|
};
|
|
3442
3442
|
plus_default = Plus;
|
|
3443
3443
|
}
|
|
@@ -3463,19 +3463,19 @@ var init_Icons = __esm({
|
|
|
3463
3463
|
});
|
|
3464
3464
|
|
|
3465
3465
|
// src/svg/Icon.tsx
|
|
3466
|
-
var
|
|
3466
|
+
var import_jsx_runtime64, Icon, Icon_default;
|
|
3467
3467
|
var init_Icon = __esm({
|
|
3468
3468
|
"src/svg/Icon.tsx"() {
|
|
3469
3469
|
"use strict";
|
|
3470
3470
|
init_Icons();
|
|
3471
|
-
|
|
3471
|
+
import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3472
3472
|
Icon = ({ name, className, ...props }) => {
|
|
3473
3473
|
const IconComponent = Icons_default[name];
|
|
3474
3474
|
if (!IconComponent) {
|
|
3475
3475
|
console.error(`Icon "${name}" not found.`);
|
|
3476
3476
|
return null;
|
|
3477
3477
|
}
|
|
3478
|
-
return /* @__PURE__ */ (0,
|
|
3478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(IconComponent, { ...props, className });
|
|
3479
3479
|
};
|
|
3480
3480
|
Icon_default = Icon;
|
|
3481
3481
|
}
|
|
@@ -3486,21 +3486,21 @@ var Pagination_exports = {};
|
|
|
3486
3486
|
__export(Pagination_exports, {
|
|
3487
3487
|
default: () => Pagination_default
|
|
3488
3488
|
});
|
|
3489
|
-
var
|
|
3489
|
+
var import_react39, import_jsx_runtime65, Pagination, Pagination_default;
|
|
3490
3490
|
var init_Pagination = __esm({
|
|
3491
3491
|
"src/components/Pagination.tsx"() {
|
|
3492
3492
|
"use strict";
|
|
3493
3493
|
"use client";
|
|
3494
|
-
|
|
3494
|
+
import_react39 = require("react");
|
|
3495
3495
|
init_OdataBuilder();
|
|
3496
3496
|
init_Icon();
|
|
3497
3497
|
init_StyleTypes();
|
|
3498
3498
|
init_InputControlType();
|
|
3499
3499
|
init_Hyperlink();
|
|
3500
|
-
|
|
3500
|
+
import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3501
3501
|
Pagination = (props) => {
|
|
3502
3502
|
const { dataset, path, query, showPageSizeSelector = false, showJumpToPage = false } = props;
|
|
3503
|
-
const builder = (0,
|
|
3503
|
+
const builder = (0, import_react39.useMemo)(() => {
|
|
3504
3504
|
const b = new OdataBuilder(path);
|
|
3505
3505
|
if (query) b.setQuery(query);
|
|
3506
3506
|
return b;
|
|
@@ -3541,7 +3541,7 @@ var init_Pagination = __esm({
|
|
|
3541
3541
|
return range;
|
|
3542
3542
|
};
|
|
3543
3543
|
const paginationRange = getPaginationRange();
|
|
3544
|
-
const PageButton = ({ page, children }) => /* @__PURE__ */ (0,
|
|
3544
|
+
const PageButton = ({ page, children }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3545
3545
|
Hyperlink,
|
|
3546
3546
|
{
|
|
3547
3547
|
linkType: "Link" /* Link */,
|
|
@@ -3556,9 +3556,9 @@ var init_Pagination = __esm({
|
|
|
3556
3556
|
);
|
|
3557
3557
|
const NavigationButton = ({ page, disabled, children }) => {
|
|
3558
3558
|
if (disabled) {
|
|
3559
|
-
return /* @__PURE__ */ (0,
|
|
3559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border bg-neutral-base cursor-not-allowed", children });
|
|
3560
3560
|
}
|
|
3561
|
-
return /* @__PURE__ */ (0,
|
|
3561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3562
3562
|
Hyperlink,
|
|
3563
3563
|
{
|
|
3564
3564
|
className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border transition-colors duration-150",
|
|
@@ -3568,35 +3568,35 @@ var init_Pagination = __esm({
|
|
|
3568
3568
|
);
|
|
3569
3569
|
};
|
|
3570
3570
|
if (totalPages <= 1 && totalItems === 0) return null;
|
|
3571
|
-
return /* @__PURE__ */ (0,
|
|
3572
|
-
/* @__PURE__ */ (0,
|
|
3573
|
-
/* @__PURE__ */ (0,
|
|
3571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "py-6 border-t mt-6", children: [
|
|
3572
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
|
|
3573
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-sm", children: [
|
|
3574
3574
|
"Showing ",
|
|
3575
|
-
/* @__PURE__ */ (0,
|
|
3575
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
|
|
3576
3576
|
startItem,
|
|
3577
3577
|
"-",
|
|
3578
3578
|
endItem
|
|
3579
3579
|
] }),
|
|
3580
3580
|
" ",
|
|
3581
3581
|
"out of ",
|
|
3582
|
-
/* @__PURE__ */ (0,
|
|
3582
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
|
|
3583
3583
|
" results"
|
|
3584
3584
|
] }),
|
|
3585
|
-
totalPages > 1 && /* @__PURE__ */ (0,
|
|
3586
|
-
/* @__PURE__ */ (0,
|
|
3585
|
+
totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-1", children: [
|
|
3586
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3587
3587
|
NavigationButton,
|
|
3588
3588
|
{
|
|
3589
3589
|
page: activePageNumber - 1,
|
|
3590
3590
|
disabled: activePageNumber === 1,
|
|
3591
3591
|
children: [
|
|
3592
|
-
/* @__PURE__ */ (0,
|
|
3593
|
-
/* @__PURE__ */ (0,
|
|
3592
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
|
|
3593
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Prev" })
|
|
3594
3594
|
]
|
|
3595
3595
|
}
|
|
3596
3596
|
),
|
|
3597
3597
|
paginationRange.map((item, index) => {
|
|
3598
3598
|
if (item === "...") {
|
|
3599
|
-
return /* @__PURE__ */ (0,
|
|
3599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3600
3600
|
"span",
|
|
3601
3601
|
{
|
|
3602
3602
|
className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center text-gray-500",
|
|
@@ -3606,23 +3606,23 @@ var init_Pagination = __esm({
|
|
|
3606
3606
|
);
|
|
3607
3607
|
}
|
|
3608
3608
|
const page = item;
|
|
3609
|
-
return /* @__PURE__ */ (0,
|
|
3609
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(PageButton, { page, children: page }, page);
|
|
3610
3610
|
}),
|
|
3611
|
-
/* @__PURE__ */ (0,
|
|
3611
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3612
3612
|
NavigationButton,
|
|
3613
3613
|
{
|
|
3614
3614
|
page: activePageNumber + 1,
|
|
3615
3615
|
disabled: activePageNumber === totalPages,
|
|
3616
3616
|
children: [
|
|
3617
|
-
/* @__PURE__ */ (0,
|
|
3618
|
-
/* @__PURE__ */ (0,
|
|
3617
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Next" }),
|
|
3618
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
|
|
3619
3619
|
]
|
|
3620
3620
|
}
|
|
3621
3621
|
)
|
|
3622
3622
|
] }),
|
|
3623
|
-
showJumpToPage && totalPages > 5 && /* @__PURE__ */ (0,
|
|
3624
|
-
/* @__PURE__ */ (0,
|
|
3625
|
-
/* @__PURE__ */ (0,
|
|
3623
|
+
showJumpToPage && totalPages > 5 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
3624
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Go to:" }),
|
|
3625
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3626
3626
|
"input",
|
|
3627
3627
|
{
|
|
3628
3628
|
type: "number",
|
|
@@ -3643,9 +3643,9 @@ var init_Pagination = __esm({
|
|
|
3643
3643
|
) })
|
|
3644
3644
|
] })
|
|
3645
3645
|
] }),
|
|
3646
|
-
showPageSizeSelector && /* @__PURE__ */ (0,
|
|
3647
|
-
/* @__PURE__ */ (0,
|
|
3648
|
-
/* @__PURE__ */ (0,
|
|
3646
|
+
showPageSizeSelector && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center justify-center space-x-2", children: [
|
|
3647
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Show:" }),
|
|
3648
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3649
3649
|
Hyperlink,
|
|
3650
3650
|
{
|
|
3651
3651
|
className: `
|
|
@@ -3657,7 +3657,7 @@ var init_Pagination = __esm({
|
|
|
3657
3657
|
},
|
|
3658
3658
|
size
|
|
3659
3659
|
)) }),
|
|
3660
|
-
/* @__PURE__ */ (0,
|
|
3660
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "per page" })
|
|
3661
3661
|
] }) })
|
|
3662
3662
|
] });
|
|
3663
3663
|
};
|
|
@@ -3670,16 +3670,16 @@ var DataBindingControls_exports = {};
|
|
|
3670
3670
|
__export(DataBindingControls_exports, {
|
|
3671
3671
|
default: () => DataBindingControls_default
|
|
3672
3672
|
});
|
|
3673
|
-
var
|
|
3673
|
+
var import_react40, import_navigation, import_jsx_runtime66, humanize, escapeODataString, parseFacetSelections, buildFacetFilter, parseODataSearch, SearchIcon, ResetIcon, FilterSlidersIcon, ChevronDownIcon, CheckIcon, CloseIcon, MapPinIcon, BriefcaseIcon, FileTextIcon, TagIcon, getCategoryIcon, normalizeSortOption, DataBindingControls, DataBindingControls_default;
|
|
3674
3674
|
var init_DataBindingControls = __esm({
|
|
3675
3675
|
"src/components/pageRenderingEngine/nodes/DataBindingControls.tsx"() {
|
|
3676
3676
|
"use strict";
|
|
3677
3677
|
"use client";
|
|
3678
|
-
|
|
3678
|
+
import_react40 = require("react");
|
|
3679
3679
|
import_navigation = require("next/navigation");
|
|
3680
3680
|
init_Button();
|
|
3681
3681
|
init_StyleTypes();
|
|
3682
|
-
|
|
3682
|
+
import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3683
3683
|
humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
|
|
3684
3684
|
escapeODataString = (value) => value.replace(/'/g, "''");
|
|
3685
3685
|
parseFacetSelections = (filter) => {
|
|
@@ -3702,7 +3702,7 @@ var init_DataBindingControls = __esm({
|
|
|
3702
3702
|
}
|
|
3703
3703
|
return trimmedValue;
|
|
3704
3704
|
};
|
|
3705
|
-
SearchIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3705
|
+
SearchIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3706
3706
|
"svg",
|
|
3707
3707
|
{
|
|
3708
3708
|
"aria-hidden": "true",
|
|
@@ -3712,12 +3712,12 @@ var init_DataBindingControls = __esm({
|
|
|
3712
3712
|
stroke: "currentColor",
|
|
3713
3713
|
strokeWidth: "2",
|
|
3714
3714
|
children: [
|
|
3715
|
-
/* @__PURE__ */ (0,
|
|
3716
|
-
/* @__PURE__ */ (0,
|
|
3715
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("circle", { cx: "11", cy: "11", r: "7" }),
|
|
3716
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", d: "m20 20-4-4" })
|
|
3717
3717
|
]
|
|
3718
3718
|
}
|
|
3719
3719
|
);
|
|
3720
|
-
ResetIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3720
|
+
ResetIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3721
3721
|
"svg",
|
|
3722
3722
|
{
|
|
3723
3723
|
"aria-hidden": "true",
|
|
@@ -3727,8 +3727,8 @@ var init_DataBindingControls = __esm({
|
|
|
3727
3727
|
stroke: "currentColor",
|
|
3728
3728
|
strokeWidth: "2",
|
|
3729
3729
|
children: [
|
|
3730
|
-
/* @__PURE__ */ (0,
|
|
3731
|
-
/* @__PURE__ */ (0,
|
|
3730
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4 4v6h6" }),
|
|
3731
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3732
3732
|
"path",
|
|
3733
3733
|
{
|
|
3734
3734
|
strokeLinecap: "round",
|
|
@@ -3739,7 +3739,7 @@ var init_DataBindingControls = __esm({
|
|
|
3739
3739
|
]
|
|
3740
3740
|
}
|
|
3741
3741
|
);
|
|
3742
|
-
FilterSlidersIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3742
|
+
FilterSlidersIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3743
3743
|
"svg",
|
|
3744
3744
|
{
|
|
3745
3745
|
"aria-hidden": "true",
|
|
@@ -3749,14 +3749,14 @@ var init_DataBindingControls = __esm({
|
|
|
3749
3749
|
stroke: "currentColor",
|
|
3750
3750
|
strokeWidth: "2",
|
|
3751
3751
|
children: [
|
|
3752
|
-
/* @__PURE__ */ (0,
|
|
3753
|
-
/* @__PURE__ */ (0,
|
|
3754
|
-
/* @__PURE__ */ (0,
|
|
3755
|
-
/* @__PURE__ */ (0,
|
|
3752
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 4h18M3 12h18M3 20h18" }),
|
|
3753
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("circle", { cx: "8", cy: "4", r: "2", fill: "currentColor" }),
|
|
3754
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("circle", { cx: "16", cy: "12", r: "2", fill: "currentColor" }),
|
|
3755
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("circle", { cx: "10", cy: "20", r: "2", fill: "currentColor" })
|
|
3756
3756
|
]
|
|
3757
3757
|
}
|
|
3758
3758
|
);
|
|
3759
|
-
ChevronDownIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3759
|
+
ChevronDownIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3760
3760
|
"svg",
|
|
3761
3761
|
{
|
|
3762
3762
|
"aria-hidden": "true",
|
|
@@ -3765,10 +3765,10 @@ var init_DataBindingControls = __esm({
|
|
|
3765
3765
|
viewBox: "0 0 24 24",
|
|
3766
3766
|
stroke: "currentColor",
|
|
3767
3767
|
strokeWidth: "2",
|
|
3768
|
-
children: /* @__PURE__ */ (0,
|
|
3768
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m19 9-7 7-7-7" })
|
|
3769
3769
|
}
|
|
3770
3770
|
);
|
|
3771
|
-
CheckIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3771
|
+
CheckIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3772
3772
|
"svg",
|
|
3773
3773
|
{
|
|
3774
3774
|
"aria-hidden": "true",
|
|
@@ -3777,10 +3777,10 @@ var init_DataBindingControls = __esm({
|
|
|
3777
3777
|
viewBox: "0 0 24 24",
|
|
3778
3778
|
stroke: "currentColor",
|
|
3779
3779
|
strokeWidth: "2.5",
|
|
3780
|
-
children: /* @__PURE__ */ (0,
|
|
3780
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M5 13l4 4L19 7" })
|
|
3781
3781
|
}
|
|
3782
3782
|
);
|
|
3783
|
-
CloseIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3783
|
+
CloseIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3784
3784
|
"svg",
|
|
3785
3785
|
{
|
|
3786
3786
|
"aria-hidden": "true",
|
|
@@ -3789,10 +3789,10 @@ var init_DataBindingControls = __esm({
|
|
|
3789
3789
|
viewBox: "0 0 24 24",
|
|
3790
3790
|
stroke: "currentColor",
|
|
3791
3791
|
strokeWidth: "2",
|
|
3792
|
-
children: /* @__PURE__ */ (0,
|
|
3792
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" })
|
|
3793
3793
|
}
|
|
3794
3794
|
);
|
|
3795
|
-
MapPinIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3795
|
+
MapPinIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3796
3796
|
"svg",
|
|
3797
3797
|
{
|
|
3798
3798
|
"aria-hidden": "true",
|
|
@@ -3802,7 +3802,7 @@ var init_DataBindingControls = __esm({
|
|
|
3802
3802
|
stroke: "currentColor",
|
|
3803
3803
|
strokeWidth: "2",
|
|
3804
3804
|
children: [
|
|
3805
|
-
/* @__PURE__ */ (0,
|
|
3805
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3806
3806
|
"path",
|
|
3807
3807
|
{
|
|
3808
3808
|
strokeLinecap: "round",
|
|
@@ -3810,7 +3810,7 @@ var init_DataBindingControls = __esm({
|
|
|
3810
3810
|
d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"
|
|
3811
3811
|
}
|
|
3812
3812
|
),
|
|
3813
|
-
/* @__PURE__ */ (0,
|
|
3813
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3814
3814
|
"path",
|
|
3815
3815
|
{
|
|
3816
3816
|
strokeLinecap: "round",
|
|
@@ -3821,7 +3821,7 @@ var init_DataBindingControls = __esm({
|
|
|
3821
3821
|
]
|
|
3822
3822
|
}
|
|
3823
3823
|
);
|
|
3824
|
-
BriefcaseIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3824
|
+
BriefcaseIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3825
3825
|
"svg",
|
|
3826
3826
|
{
|
|
3827
3827
|
"aria-hidden": "true",
|
|
@@ -3830,7 +3830,7 @@ var init_DataBindingControls = __esm({
|
|
|
3830
3830
|
viewBox: "0 0 24 24",
|
|
3831
3831
|
stroke: "currentColor",
|
|
3832
3832
|
strokeWidth: "2",
|
|
3833
|
-
children: /* @__PURE__ */ (0,
|
|
3833
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3834
3834
|
"path",
|
|
3835
3835
|
{
|
|
3836
3836
|
strokeLinecap: "round",
|
|
@@ -3840,7 +3840,7 @@ var init_DataBindingControls = __esm({
|
|
|
3840
3840
|
)
|
|
3841
3841
|
}
|
|
3842
3842
|
);
|
|
3843
|
-
FileTextIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3843
|
+
FileTextIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3844
3844
|
"svg",
|
|
3845
3845
|
{
|
|
3846
3846
|
"aria-hidden": "true",
|
|
@@ -3849,7 +3849,7 @@ var init_DataBindingControls = __esm({
|
|
|
3849
3849
|
viewBox: "0 0 24 24",
|
|
3850
3850
|
stroke: "currentColor",
|
|
3851
3851
|
strokeWidth: "2",
|
|
3852
|
-
children: /* @__PURE__ */ (0,
|
|
3852
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3853
3853
|
"path",
|
|
3854
3854
|
{
|
|
3855
3855
|
strokeLinecap: "round",
|
|
@@ -3859,7 +3859,7 @@ var init_DataBindingControls = __esm({
|
|
|
3859
3859
|
)
|
|
3860
3860
|
}
|
|
3861
3861
|
);
|
|
3862
|
-
TagIcon = ({ className = "" }) => /* @__PURE__ */ (0,
|
|
3862
|
+
TagIcon = ({ className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3863
3863
|
"svg",
|
|
3864
3864
|
{
|
|
3865
3865
|
"aria-hidden": "true",
|
|
@@ -3868,7 +3868,7 @@ var init_DataBindingControls = __esm({
|
|
|
3868
3868
|
viewBox: "0 0 24 24",
|
|
3869
3869
|
stroke: "currentColor",
|
|
3870
3870
|
strokeWidth: "2",
|
|
3871
|
-
children: /* @__PURE__ */ (0,
|
|
3871
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3872
3872
|
"path",
|
|
3873
3873
|
{
|
|
3874
3874
|
strokeLinecap: "round",
|
|
@@ -3881,15 +3881,15 @@ var init_DataBindingControls = __esm({
|
|
|
3881
3881
|
getCategoryIcon = (category) => {
|
|
3882
3882
|
const lower = category.toLowerCase();
|
|
3883
3883
|
if (lower.includes("location") || lower.includes("city") || lower.includes("country") || lower.includes("state") || lower.includes("address")) {
|
|
3884
|
-
return /* @__PURE__ */ (0,
|
|
3884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(MapPinIcon, { className: "h-4 w-4" });
|
|
3885
3885
|
}
|
|
3886
3886
|
if (lower.includes("type") || lower.includes("work") || lower.includes("employment") || lower.includes("experience")) {
|
|
3887
|
-
return /* @__PURE__ */ (0,
|
|
3887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BriefcaseIcon, { className: "h-4 w-4" });
|
|
3888
3888
|
}
|
|
3889
3889
|
if (lower.includes("department") || lower.includes("category") || lower.includes("role") || lower.includes("industry")) {
|
|
3890
|
-
return /* @__PURE__ */ (0,
|
|
3890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(FileTextIcon, { className: "h-4 w-4" });
|
|
3891
3891
|
}
|
|
3892
|
-
return /* @__PURE__ */ (0,
|
|
3892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TagIcon, { className: "h-4 w-4" });
|
|
3893
3893
|
};
|
|
3894
3894
|
normalizeSortOption = (option) => {
|
|
3895
3895
|
const direction = option.direction.trim();
|
|
@@ -3911,13 +3911,13 @@ var init_DataBindingControls = __esm({
|
|
|
3911
3911
|
}) => {
|
|
3912
3912
|
const router = (0, import_navigation.useRouter)();
|
|
3913
3913
|
const searchParams = (0, import_navigation.useSearchParams)();
|
|
3914
|
-
const [collapsedCategories, setCollapsedCategories] = (0,
|
|
3915
|
-
const [isSortOpen, setIsSortOpen] = (0,
|
|
3916
|
-
const [isMobileFiltersOpen, setIsMobileFiltersOpen] = (0,
|
|
3917
|
-
const [facetCategorySearch, setFacetCategorySearch] = (0,
|
|
3918
|
-
const desktopSortDropdownRef = (0,
|
|
3919
|
-
const mobileSortDropdownRef = (0,
|
|
3920
|
-
(0,
|
|
3914
|
+
const [collapsedCategories, setCollapsedCategories] = (0, import_react40.useState)({});
|
|
3915
|
+
const [isSortOpen, setIsSortOpen] = (0, import_react40.useState)(false);
|
|
3916
|
+
const [isMobileFiltersOpen, setIsMobileFiltersOpen] = (0, import_react40.useState)(false);
|
|
3917
|
+
const [facetCategorySearch, setFacetCategorySearch] = (0, import_react40.useState)({});
|
|
3918
|
+
const desktopSortDropdownRef = (0, import_react40.useRef)(null);
|
|
3919
|
+
const mobileSortDropdownRef = (0, import_react40.useRef)(null);
|
|
3920
|
+
(0, import_react40.useEffect)(() => {
|
|
3921
3921
|
const handleClickOutside = (event) => {
|
|
3922
3922
|
const target = event.target;
|
|
3923
3923
|
const clickedInsideDesktop = desktopSortDropdownRef.current?.contains(target);
|
|
@@ -3943,15 +3943,15 @@ var init_DataBindingControls = __esm({
|
|
|
3943
3943
|
const currentSearch = parseODataSearch(
|
|
3944
3944
|
searchParamsSearch !== void 0 && searchParamsSearch !== null ? searchParamsSearch : query?.["$search"]
|
|
3945
3945
|
);
|
|
3946
|
-
const [searchText, setSearchText] = (0,
|
|
3947
|
-
(0,
|
|
3946
|
+
const [searchText, setSearchText] = (0, import_react40.useState)(currentSearch);
|
|
3947
|
+
(0, import_react40.useEffect)(() => {
|
|
3948
3948
|
setSearchText(currentSearch);
|
|
3949
3949
|
}, [currentSearch]);
|
|
3950
|
-
const selectedFacetValues = (0,
|
|
3950
|
+
const selectedFacetValues = (0, import_react40.useMemo)(
|
|
3951
3951
|
() => parseFacetSelections(currentFilter),
|
|
3952
3952
|
[currentFilter]
|
|
3953
3953
|
);
|
|
3954
|
-
(0,
|
|
3954
|
+
(0, import_react40.useEffect)(() => {
|
|
3955
3955
|
if (isMobileFiltersOpen) {
|
|
3956
3956
|
document.body.style.overflow = "hidden";
|
|
3957
3957
|
} else {
|
|
@@ -3961,7 +3961,7 @@ var init_DataBindingControls = __esm({
|
|
|
3961
3961
|
document.body.style.overflow = "";
|
|
3962
3962
|
};
|
|
3963
3963
|
}, [isMobileFiltersOpen]);
|
|
3964
|
-
const activeFacets = (0,
|
|
3964
|
+
const activeFacets = (0, import_react40.useMemo)(() => {
|
|
3965
3965
|
const facetMap = /* @__PURE__ */ new Map();
|
|
3966
3966
|
if (facets) {
|
|
3967
3967
|
Object.entries(facets).forEach(([field, values]) => {
|
|
@@ -3986,11 +3986,11 @@ var init_DataBindingControls = __esm({
|
|
|
3986
3986
|
});
|
|
3987
3987
|
return Array.from(facetMap.entries());
|
|
3988
3988
|
}, [facets, selectedFacetValues]);
|
|
3989
|
-
const normalizedSortOptions = (0,
|
|
3989
|
+
const normalizedSortOptions = (0, import_react40.useMemo)(
|
|
3990
3990
|
() => (sortOptions ?? []).filter((option) => option?.name && option?.direction).map(normalizeSortOption).filter((option) => option.value),
|
|
3991
3991
|
[sortOptions]
|
|
3992
3992
|
);
|
|
3993
|
-
const selectedSortOption = (0,
|
|
3993
|
+
const selectedSortOption = (0, import_react40.useMemo)(() => {
|
|
3994
3994
|
if (!normalizedSortOptions.length) return null;
|
|
3995
3995
|
const trimmedCurrentSort = currentSort.trim().toLowerCase();
|
|
3996
3996
|
if (!trimmedCurrentSort) return normalizedSortOptions[0];
|
|
@@ -3999,7 +3999,7 @@ var init_DataBindingControls = __esm({
|
|
|
3999
3999
|
) || normalizedSortOptions[0];
|
|
4000
4000
|
}, [normalizedSortOptions, currentSort]);
|
|
4001
4001
|
const selectedSortLabel = selectedSortOption?.label || "";
|
|
4002
|
-
const getQueryUrl = (0,
|
|
4002
|
+
const getQueryUrl = (0, import_react40.useCallback)(
|
|
4003
4003
|
(updates) => {
|
|
4004
4004
|
const initialParams = searchParams ? searchParams.toString() : "";
|
|
4005
4005
|
const params = new URLSearchParams(initialParams || query || {});
|
|
@@ -4017,7 +4017,7 @@ var init_DataBindingControls = __esm({
|
|
|
4017
4017
|
},
|
|
4018
4018
|
[path, query, searchParams]
|
|
4019
4019
|
);
|
|
4020
|
-
const navigateWithoutReload = (0,
|
|
4020
|
+
const navigateWithoutReload = (0, import_react40.useCallback)(
|
|
4021
4021
|
(url) => {
|
|
4022
4022
|
if (typeof window !== "undefined") {
|
|
4023
4023
|
const targetUrl = new URL(url, window.location.origin);
|
|
@@ -4029,7 +4029,7 @@ var init_DataBindingControls = __esm({
|
|
|
4029
4029
|
},
|
|
4030
4030
|
[router]
|
|
4031
4031
|
);
|
|
4032
|
-
const handleSelectSort = (0,
|
|
4032
|
+
const handleSelectSort = (0, import_react40.useCallback)(
|
|
4033
4033
|
(sortValue) => {
|
|
4034
4034
|
setIsSortOpen(false);
|
|
4035
4035
|
navigateWithoutReload(
|
|
@@ -4069,7 +4069,7 @@ var init_DataBindingControls = __esm({
|
|
|
4069
4069
|
})
|
|
4070
4070
|
);
|
|
4071
4071
|
};
|
|
4072
|
-
const handleSearch = (0,
|
|
4072
|
+
const handleSearch = (0, import_react40.useCallback)(async () => {
|
|
4073
4073
|
const trimmedSearchText = searchText.trim();
|
|
4074
4074
|
if (trimmedSearchText === currentSearch.trim()) {
|
|
4075
4075
|
return { isSuccessful: true };
|
|
@@ -4081,7 +4081,7 @@ var init_DataBindingControls = __esm({
|
|
|
4081
4081
|
);
|
|
4082
4082
|
return { isSuccessful: true };
|
|
4083
4083
|
}, [currentSearch, getQueryUrl, navigateWithoutReload, searchText]);
|
|
4084
|
-
const handleClearAll = (0,
|
|
4084
|
+
const handleClearAll = (0, import_react40.useCallback)(async () => {
|
|
4085
4085
|
navigateWithoutReload(
|
|
4086
4086
|
getQueryUrl({
|
|
4087
4087
|
$filter: void 0,
|
|
@@ -4104,9 +4104,9 @@ var init_DataBindingControls = __esm({
|
|
|
4104
4104
|
if (!shouldShowToolbar && !shouldShowFacets) {
|
|
4105
4105
|
return null;
|
|
4106
4106
|
}
|
|
4107
|
-
const renderFacetItems = (field, values) => /* @__PURE__ */ (0,
|
|
4107
|
+
const renderFacetItems = (field, values) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex flex-col gap-1 pt-1 pb-1", children: values.map((facet) => {
|
|
4108
4108
|
const isSelected = selectedFacetValues.get(field) === facet.value;
|
|
4109
|
-
return /* @__PURE__ */ (0,
|
|
4109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4110
4110
|
"button",
|
|
4111
4111
|
{
|
|
4112
4112
|
type: "button",
|
|
@@ -4114,17 +4114,17 @@ var init_DataBindingControls = __esm({
|
|
|
4114
4114
|
"aria-pressed": isSelected,
|
|
4115
4115
|
className: `group flex w-full cursor-pointer items-center justify-between gap-2.5 rounded-md px-2 py-1.5 text-left text-sm transition-all duration-150 ease-out focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-base ${isSelected ? "bg-neutral-soft font-medium border border-neutral-soft" : "hover:bg-neutral-weak border border-transparent"}`,
|
|
4116
4116
|
children: [
|
|
4117
|
-
/* @__PURE__ */ (0,
|
|
4118
|
-
/* @__PURE__ */ (0,
|
|
4117
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex min-w-0 items-center gap-2.5", children: [
|
|
4118
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4119
4119
|
"span",
|
|
4120
4120
|
{
|
|
4121
4121
|
className: `flex h-4 w-4 shrink-0 items-center justify-center rounded-[3px] border transition-colors duration-150 ${isSelected ? "bg-primary-base border-primary-base" : " group-hover:border-neutral-strong bg-default border-neutral-soft"}`,
|
|
4122
|
-
children: isSelected && /* @__PURE__ */ (0,
|
|
4122
|
+
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { className: "h-3 w-3" })
|
|
4123
4123
|
}
|
|
4124
4124
|
),
|
|
4125
|
-
/* @__PURE__ */ (0,
|
|
4125
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "leading-snug break-words", children: facet.value })
|
|
4126
4126
|
] }),
|
|
4127
|
-
/* @__PURE__ */ (0,
|
|
4127
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4128
4128
|
"span",
|
|
4129
4129
|
{
|
|
4130
4130
|
className: `shrink-0 rounded px-1.5 py-0.5 text-xs transition-colors ml-2 ${isSelected ? "bg-neutral-weak font-semibold" : "bg-neutral-weak font-normal"}`,
|
|
@@ -4136,14 +4136,14 @@ var init_DataBindingControls = __esm({
|
|
|
4136
4136
|
`${field}-${facet.value}`
|
|
4137
4137
|
);
|
|
4138
4138
|
}) });
|
|
4139
|
-
return /* @__PURE__ */ (0,
|
|
4139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4140
4140
|
"div",
|
|
4141
4141
|
{
|
|
4142
4142
|
className: mode === "toolbar" ? "my-4 sm:my-6" : "flex flex-col rounded-md border border-neutral-soft bg-default p-4 shadow-sm",
|
|
4143
4143
|
children: [
|
|
4144
|
-
shouldShowToolbar && /* @__PURE__ */ (0,
|
|
4145
|
-
/* @__PURE__ */ (0,
|
|
4146
|
-
showSearchBar && /* @__PURE__ */ (0,
|
|
4144
|
+
shouldShowToolbar && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
4145
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "hidden lg:flex lg:items-center lg:justify-between lg:gap-4", children: [
|
|
4146
|
+
showSearchBar && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4147
4147
|
"form",
|
|
4148
4148
|
{
|
|
4149
4149
|
role: "search",
|
|
@@ -4153,9 +4153,9 @@ var init_DataBindingControls = __esm({
|
|
|
4153
4153
|
void handleSearch();
|
|
4154
4154
|
},
|
|
4155
4155
|
children: [
|
|
4156
|
-
/* @__PURE__ */ (0,
|
|
4157
|
-
/* @__PURE__ */ (0,
|
|
4158
|
-
/* @__PURE__ */ (0,
|
|
4156
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative min-w-0 flex-1", children: [
|
|
4157
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SearchIcon, { className: "pointer-events-none absolute left-3.5 top-1/2 z-10 h-4 w-4 -translate-y-1/2 opacity-60" }),
|
|
4158
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4159
4159
|
"input",
|
|
4160
4160
|
{
|
|
4161
4161
|
type: "text",
|
|
@@ -4167,23 +4167,23 @@ var init_DataBindingControls = __esm({
|
|
|
4167
4167
|
}
|
|
4168
4168
|
)
|
|
4169
4169
|
] }),
|
|
4170
|
-
/* @__PURE__ */ (0,
|
|
4170
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4171
4171
|
Button_default,
|
|
4172
4172
|
{
|
|
4173
4173
|
ButtonType: "Primary" /* Solid */,
|
|
4174
4174
|
onClick: handleSearch,
|
|
4175
4175
|
className: "!h-10 !rounded-md !px-5 !py-0 flex items-center justify-center gap-1.5 shrink-0",
|
|
4176
4176
|
children: [
|
|
4177
|
-
/* @__PURE__ */ (0,
|
|
4178
|
-
/* @__PURE__ */ (0,
|
|
4177
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SearchIcon, { className: "h-4 w-4" }),
|
|
4178
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Search" })
|
|
4179
4179
|
]
|
|
4180
4180
|
}
|
|
4181
4181
|
)
|
|
4182
4182
|
]
|
|
4183
4183
|
}
|
|
4184
4184
|
),
|
|
4185
|
-
hasSortControls && /* @__PURE__ */ (0,
|
|
4186
|
-
/* @__PURE__ */ (0,
|
|
4185
|
+
hasSortControls && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative shrink-0", ref: desktopSortDropdownRef, children: [
|
|
4186
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4187
4187
|
"button",
|
|
4188
4188
|
{
|
|
4189
4189
|
type: "button",
|
|
@@ -4191,11 +4191,11 @@ var init_DataBindingControls = __esm({
|
|
|
4191
4191
|
"aria-expanded": isSortOpen,
|
|
4192
4192
|
className: "inline-flex h-10 items-center justify-between gap-2.5 rounded-md border border-neutral-soft bg-default px-3.5 text-sm font-normal shadow-sm transition-all hover:bg-neutral-weak focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-base cursor-pointer whitespace-nowrap",
|
|
4193
4193
|
children: [
|
|
4194
|
-
/* @__PURE__ */ (0,
|
|
4195
|
-
/* @__PURE__ */ (0,
|
|
4196
|
-
/* @__PURE__ */ (0,
|
|
4194
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "whitespace-nowrap", children: [
|
|
4195
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "opacity-70", children: "Sort by: " }),
|
|
4196
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-semibold", children: selectedSortLabel })
|
|
4197
4197
|
] }),
|
|
4198
|
-
/* @__PURE__ */ (0,
|
|
4198
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4199
4199
|
ChevronDownIcon,
|
|
4200
4200
|
{
|
|
4201
4201
|
className: `h-4 w-4 shrink-0 transition-transform duration-200 ${isSortOpen ? "rotate-180" : ""}`
|
|
@@ -4204,17 +4204,17 @@ var init_DataBindingControls = __esm({
|
|
|
4204
4204
|
]
|
|
4205
4205
|
}
|
|
4206
4206
|
),
|
|
4207
|
-
isSortOpen && /* @__PURE__ */ (0,
|
|
4207
|
+
isSortOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "absolute right-0 z-50 mt-1.5 w-max min-w-full max-h-80 overflow-y-auto rounded-md border border-neutral-soft bg-default p-1 shadow-lg", children: normalizedSortOptions.map((option) => {
|
|
4208
4208
|
const isSelected = selectedSortOption?.value === option.value;
|
|
4209
|
-
return /* @__PURE__ */ (0,
|
|
4209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4210
4210
|
"button",
|
|
4211
4211
|
{
|
|
4212
4212
|
type: "button",
|
|
4213
4213
|
onClick: () => handleSelectSort(option.value),
|
|
4214
4214
|
className: `flex w-full items-center justify-between gap-4 rounded-md px-3 py-1.5 text-left text-sm transition-colors cursor-pointer whitespace-nowrap ${isSelected ? "bg-primary-base font-semibold" : "hover:bg-neutral-soft font-normal"}`,
|
|
4215
4215
|
children: [
|
|
4216
|
-
/* @__PURE__ */ (0,
|
|
4217
|
-
isSelected && /* @__PURE__ */ (0,
|
|
4216
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "whitespace-nowrap", children: option.label }),
|
|
4217
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { className: "h-4 w-4 shrink-0" })
|
|
4218
4218
|
]
|
|
4219
4219
|
},
|
|
4220
4220
|
option.value
|
|
@@ -4222,8 +4222,8 @@ var init_DataBindingControls = __esm({
|
|
|
4222
4222
|
}) })
|
|
4223
4223
|
] })
|
|
4224
4224
|
] }),
|
|
4225
|
-
/* @__PURE__ */ (0,
|
|
4226
|
-
showSearchBar && /* @__PURE__ */ (0,
|
|
4225
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-2.5 lg:hidden", children: [
|
|
4226
|
+
showSearchBar && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4227
4227
|
"form",
|
|
4228
4228
|
{
|
|
4229
4229
|
role: "search",
|
|
@@ -4233,8 +4233,8 @@ var init_DataBindingControls = __esm({
|
|
|
4233
4233
|
void handleSearch();
|
|
4234
4234
|
},
|
|
4235
4235
|
children: [
|
|
4236
|
-
/* @__PURE__ */ (0,
|
|
4237
|
-
/* @__PURE__ */ (0,
|
|
4236
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SearchIcon, { className: "pointer-events-none absolute left-3.5 top-1/2 z-10 h-4 w-4 -translate-y-1/2 opacity-50" }),
|
|
4237
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4238
4238
|
"input",
|
|
4239
4239
|
{
|
|
4240
4240
|
type: "text",
|
|
@@ -4248,28 +4248,28 @@ var init_DataBindingControls = __esm({
|
|
|
4248
4248
|
]
|
|
4249
4249
|
}
|
|
4250
4250
|
),
|
|
4251
|
-
/* @__PURE__ */ (0,
|
|
4252
|
-
showFacets && /* @__PURE__ */ (0,
|
|
4251
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-between gap-2.5 pt-0.5", children: [
|
|
4252
|
+
showFacets && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4253
4253
|
"button",
|
|
4254
4254
|
{
|
|
4255
4255
|
type: "button",
|
|
4256
4256
|
onClick: () => setIsMobileFiltersOpen(true),
|
|
4257
4257
|
className: "inline-flex h-10 items-center justify-center gap-2 rounded-md border border-neutral-soft bg-default px-3.5 text-sm font-medium shadow-sm transition-all hover:bg-neutral-weak cursor-pointer active:scale-95",
|
|
4258
4258
|
children: [
|
|
4259
|
-
/* @__PURE__ */ (0,
|
|
4260
|
-
/* @__PURE__ */ (0,
|
|
4259
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(FilterSlidersIcon, { className: "h-4 w-4" }),
|
|
4260
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { children: [
|
|
4261
4261
|
"Filters",
|
|
4262
4262
|
selectedFacetCount > 0 ? ` (${selectedFacetCount})` : ""
|
|
4263
4263
|
] }),
|
|
4264
|
-
selectedFacetCount > 0 && /* @__PURE__ */ (0,
|
|
4265
|
-
/* @__PURE__ */ (0,
|
|
4266
|
-
/* @__PURE__ */ (0,
|
|
4264
|
+
selectedFacetCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "relative flex h-2 w-2", children: [
|
|
4265
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "animate-ping absolute inline-flex h-full w-full rounded-full bg-primary-base opacity-75" }),
|
|
4266
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "relative inline-flex rounded-full h-2 w-2 bg-primary-base" })
|
|
4267
4267
|
] })
|
|
4268
4268
|
]
|
|
4269
4269
|
}
|
|
4270
4270
|
),
|
|
4271
|
-
hasSortControls && /* @__PURE__ */ (0,
|
|
4272
|
-
/* @__PURE__ */ (0,
|
|
4271
|
+
hasSortControls && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative shrink-0 ml-auto", ref: mobileSortDropdownRef, children: [
|
|
4272
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4273
4273
|
"button",
|
|
4274
4274
|
{
|
|
4275
4275
|
type: "button",
|
|
@@ -4277,8 +4277,8 @@ var init_DataBindingControls = __esm({
|
|
|
4277
4277
|
"aria-expanded": isSortOpen,
|
|
4278
4278
|
className: "inline-flex h-10 items-center justify-between gap-2 rounded-md border border-neutral-soft bg-default px-3.5 text-sm font-medium shadow-sm transition-all hover:bg-neutral-weak cursor-pointer whitespace-nowrap",
|
|
4279
4279
|
children: [
|
|
4280
|
-
/* @__PURE__ */ (0,
|
|
4281
|
-
/* @__PURE__ */ (0,
|
|
4280
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "whitespace-nowrap font-medium", children: selectedSortLabel }),
|
|
4281
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4282
4282
|
ChevronDownIcon,
|
|
4283
4283
|
{
|
|
4284
4284
|
className: `h-4 w-4 shrink-0 transition-transform duration-200 ${isSortOpen ? "rotate-180" : ""}`
|
|
@@ -4287,17 +4287,17 @@ var init_DataBindingControls = __esm({
|
|
|
4287
4287
|
]
|
|
4288
4288
|
}
|
|
4289
4289
|
),
|
|
4290
|
-
isSortOpen && /* @__PURE__ */ (0,
|
|
4290
|
+
isSortOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "absolute right-0 z-50 mt-1.5 w-max min-w-[160px] max-h-80 overflow-y-auto rounded-md border border-neutral-soft bg-default p-1 shadow-xl", children: normalizedSortOptions.map((option) => {
|
|
4291
4291
|
const isSelected = selectedSortOption?.value === option.value;
|
|
4292
|
-
return /* @__PURE__ */ (0,
|
|
4292
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4293
4293
|
"button",
|
|
4294
4294
|
{
|
|
4295
4295
|
type: "button",
|
|
4296
4296
|
onClick: () => handleSelectSort(option.value),
|
|
4297
4297
|
className: `flex w-full items-center justify-between gap-3 rounded-md px-3 py-2 text-left text-sm transition-colors cursor-pointer whitespace-nowrap ${isSelected ? "bg-primary-base font-semibold" : "hover:bg-neutral-soft font-normal"}`,
|
|
4298
4298
|
children: [
|
|
4299
|
-
/* @__PURE__ */ (0,
|
|
4300
|
-
isSelected && /* @__PURE__ */ (0,
|
|
4299
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "whitespace-nowrap", children: option.label }),
|
|
4300
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { className: "h-4 w-4 shrink-0" })
|
|
4301
4301
|
]
|
|
4302
4302
|
},
|
|
4303
4303
|
option.value
|
|
@@ -4305,8 +4305,8 @@ var init_DataBindingControls = __esm({
|
|
|
4305
4305
|
}) })
|
|
4306
4306
|
] })
|
|
4307
4307
|
] }),
|
|
4308
|
-
selectedFacetCount > 0 && /* @__PURE__ */ (0,
|
|
4309
|
-
Array.from(selectedFacetValues.entries()).map(([field, value]) => /* @__PURE__ */ (0,
|
|
4308
|
+
selectedFacetCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-wrap items-center gap-1.5 pt-1", children: [
|
|
4309
|
+
Array.from(selectedFacetValues.entries()).map(([field, value]) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4310
4310
|
"button",
|
|
4311
4311
|
{
|
|
4312
4312
|
type: "button",
|
|
@@ -4314,13 +4314,13 @@ var init_DataBindingControls = __esm({
|
|
|
4314
4314
|
className: "group inline-flex max-w-full cursor-pointer items-center gap-1.5 rounded-md border border-neutral-soft bg-neutral-weak px-2.5 py-1 text-xs transition-colors hover:bg-neutral-soft",
|
|
4315
4315
|
title: `Remove filter: ${value}`,
|
|
4316
4316
|
children: [
|
|
4317
|
-
/* @__PURE__ */ (0,
|
|
4318
|
-
/* @__PURE__ */ (0,
|
|
4317
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-medium truncate max-w-[140px]", children: value }),
|
|
4318
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CloseIcon, { className: "h-3 w-3 shrink-0 opacity-60 group-hover:opacity-100" })
|
|
4319
4319
|
]
|
|
4320
4320
|
},
|
|
4321
4321
|
`mobile-chip-${field}`
|
|
4322
4322
|
)),
|
|
4323
|
-
/* @__PURE__ */ (0,
|
|
4323
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4324
4324
|
"button",
|
|
4325
4325
|
{
|
|
4326
4326
|
type: "button",
|
|
@@ -4331,8 +4331,8 @@ var init_DataBindingControls = __esm({
|
|
|
4331
4331
|
)
|
|
4332
4332
|
] })
|
|
4333
4333
|
] }),
|
|
4334
|
-
isMobileFiltersOpen && /* @__PURE__ */ (0,
|
|
4335
|
-
/* @__PURE__ */ (0,
|
|
4334
|
+
isMobileFiltersOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "fixed inset-0 z-50 flex flex-col justify-end lg:hidden", children: [
|
|
4335
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4336
4336
|
"div",
|
|
4337
4337
|
{
|
|
4338
4338
|
className: "fixed inset-0 bg-neutral-stronger/60 backdrop-blur-xs transition-opacity duration-300",
|
|
@@ -4340,12 +4340,12 @@ var init_DataBindingControls = __esm({
|
|
|
4340
4340
|
"aria-hidden": "true"
|
|
4341
4341
|
}
|
|
4342
4342
|
),
|
|
4343
|
-
/* @__PURE__ */ (0,
|
|
4344
|
-
/* @__PURE__ */ (0,
|
|
4345
|
-
/* @__PURE__ */ (0,
|
|
4346
|
-
/* @__PURE__ */ (0,
|
|
4347
|
-
/* @__PURE__ */ (0,
|
|
4348
|
-
selectedFacetCount > 0 && /* @__PURE__ */ (0,
|
|
4343
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative z-10 flex h-[85vh] max-h-[85vh] w-full flex-col rounded-t-xl border-t border-neutral-soft bg-default shadow-2xl transition-transform duration-300 animate-in slide-in-from-bottom", children: [
|
|
4344
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "pt-2.5 pb-1", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mx-auto h-1.5 w-12 rounded-full bg-neutral-soft" }) }),
|
|
4345
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-between px-5 py-3 border-b border-neutral-soft", children: [
|
|
4346
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h2", { className: "text-lg font-bold tracking-tight", children: "Filters" }),
|
|
4347
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
4348
|
+
selectedFacetCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4349
4349
|
"button",
|
|
4350
4350
|
{
|
|
4351
4351
|
type: "button",
|
|
@@ -4354,38 +4354,38 @@ var init_DataBindingControls = __esm({
|
|
|
4354
4354
|
children: "Clear all"
|
|
4355
4355
|
}
|
|
4356
4356
|
),
|
|
4357
|
-
/* @__PURE__ */ (0,
|
|
4357
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4358
4358
|
"button",
|
|
4359
4359
|
{
|
|
4360
4360
|
type: "button",
|
|
4361
4361
|
onClick: () => setIsMobileFiltersOpen(false),
|
|
4362
4362
|
className: "p-1 rounded-full hover:bg-neutral-weak transition-colors cursor-pointer",
|
|
4363
4363
|
"aria-label": "Close filters",
|
|
4364
|
-
children: /* @__PURE__ */ (0,
|
|
4364
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CloseIcon, { className: "h-5 w-5 opacity-70" })
|
|
4365
4365
|
}
|
|
4366
4366
|
)
|
|
4367
4367
|
] })
|
|
4368
4368
|
] }),
|
|
4369
|
-
/* @__PURE__ */ (0,
|
|
4369
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex-1 overflow-y-auto px-5 py-3 space-y-3 divide-y divide-neutral-soft", children: activeFacets.map(([field, values]) => {
|
|
4370
4370
|
const isOpen = !collapsedCategories[field];
|
|
4371
4371
|
const selectedValue = selectedFacetValues.get(field);
|
|
4372
4372
|
const categorySearch = facetCategorySearch[field]?.toLowerCase() || "";
|
|
4373
4373
|
const filteredValues = categorySearch ? values.filter((v) => v.value.toLowerCase().includes(categorySearch)) : values;
|
|
4374
|
-
return /* @__PURE__ */ (0,
|
|
4375
|
-
/* @__PURE__ */ (0,
|
|
4374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "pt-3 first:pt-0", children: [
|
|
4375
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4376
4376
|
"button",
|
|
4377
4377
|
{
|
|
4378
4378
|
type: "button",
|
|
4379
4379
|
onClick: () => toggleCategory(field),
|
|
4380
4380
|
className: "flex w-full cursor-pointer items-center justify-between rounded-md py-2 text-left transition-colors",
|
|
4381
4381
|
children: [
|
|
4382
|
-
/* @__PURE__ */ (0,
|
|
4383
|
-
/* @__PURE__ */ (0,
|
|
4384
|
-
/* @__PURE__ */ (0,
|
|
4382
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2.5", children: [
|
|
4383
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-neutral-soft bg-neutral-weak", children: getCategoryIcon(field) }),
|
|
4384
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-semibold text-sm", children: humanize(field) })
|
|
4385
4385
|
] }),
|
|
4386
|
-
/* @__PURE__ */ (0,
|
|
4387
|
-
selectedValue && /* @__PURE__ */ (0,
|
|
4388
|
-
/* @__PURE__ */ (0,
|
|
4386
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4387
|
+
selectedValue && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-primary-base text-xs font-bold leading-none", children: "1" }),
|
|
4388
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4389
4389
|
ChevronDownIcon,
|
|
4390
4390
|
{
|
|
4391
4391
|
className: `h-4 w-4 transition-transform duration-200 ${isOpen ? "rotate-180" : ""}`
|
|
@@ -4395,10 +4395,10 @@ var init_DataBindingControls = __esm({
|
|
|
4395
4395
|
]
|
|
4396
4396
|
}
|
|
4397
4397
|
),
|
|
4398
|
-
isOpen && /* @__PURE__ */ (0,
|
|
4399
|
-
values.length > 5 && /* @__PURE__ */ (0,
|
|
4400
|
-
/* @__PURE__ */ (0,
|
|
4401
|
-
/* @__PURE__ */ (0,
|
|
4398
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "pt-2 pb-1 pl-1 pr-1 space-y-1.5", children: [
|
|
4399
|
+
values.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative mb-2", children: [
|
|
4400
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SearchIcon, { className: "pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 opacity-50" }),
|
|
4401
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4402
4402
|
"input",
|
|
4403
4403
|
{
|
|
4404
4404
|
type: "text",
|
|
@@ -4412,9 +4412,9 @@ var init_DataBindingControls = __esm({
|
|
|
4412
4412
|
}
|
|
4413
4413
|
)
|
|
4414
4414
|
] }),
|
|
4415
|
-
filteredValues.length === 0 ? /* @__PURE__ */ (0,
|
|
4415
|
+
filteredValues.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "py-2 text-center text-xs opacity-60", children: "No matching options" }) : filteredValues.map((facet) => {
|
|
4416
4416
|
const isChecked = selectedValue === facet.value;
|
|
4417
|
-
return /* @__PURE__ */ (0,
|
|
4417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4418
4418
|
"button",
|
|
4419
4419
|
{
|
|
4420
4420
|
type: "button",
|
|
@@ -4424,17 +4424,17 @@ var init_DataBindingControls = __esm({
|
|
|
4424
4424
|
"aria-pressed": isChecked,
|
|
4425
4425
|
className: `flex w-full cursor-pointer items-center justify-between gap-3 rounded-md px-2.5 py-2 text-left text-sm transition-colors ${isChecked ? "bg-neutral-soft font-medium" : "hover:bg-neutral-weak"}`,
|
|
4426
4426
|
children: [
|
|
4427
|
-
/* @__PURE__ */ (0,
|
|
4428
|
-
/* @__PURE__ */ (0,
|
|
4427
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
4428
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4429
4429
|
"span",
|
|
4430
4430
|
{
|
|
4431
4431
|
className: `flex h-5 w-5 shrink-0 items-center justify-center rounded-md border transition-colors ${isChecked ? "bg-primary-base border-primary-base" : "border-neutral-soft bg-default"}`,
|
|
4432
|
-
children: isChecked && /* @__PURE__ */ (0,
|
|
4432
|
+
children: isChecked && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { className: "h-3.5 w-3.5" })
|
|
4433
4433
|
}
|
|
4434
4434
|
),
|
|
4435
|
-
/* @__PURE__ */ (0,
|
|
4435
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "leading-snug break-words", children: facet.value })
|
|
4436
4436
|
] }),
|
|
4437
|
-
/* @__PURE__ */ (0,
|
|
4437
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "shrink-0 text-xs opacity-60 ml-2", children: facet.count })
|
|
4438
4438
|
]
|
|
4439
4439
|
},
|
|
4440
4440
|
`drawer-${field}-${facet.value}`
|
|
@@ -4443,8 +4443,8 @@ var init_DataBindingControls = __esm({
|
|
|
4443
4443
|
] })
|
|
4444
4444
|
] }, `drawer-cat-${field}`);
|
|
4445
4445
|
}) }),
|
|
4446
|
-
/* @__PURE__ */ (0,
|
|
4447
|
-
/* @__PURE__ */ (0,
|
|
4446
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-3 border-t border-neutral-soft bg-default p-4", children: [
|
|
4447
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4448
4448
|
"button",
|
|
4449
4449
|
{
|
|
4450
4450
|
type: "button",
|
|
@@ -4453,7 +4453,7 @@ var init_DataBindingControls = __esm({
|
|
|
4453
4453
|
children: "Close"
|
|
4454
4454
|
}
|
|
4455
4455
|
),
|
|
4456
|
-
/* @__PURE__ */ (0,
|
|
4456
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4457
4457
|
"button",
|
|
4458
4458
|
{
|
|
4459
4459
|
type: "button",
|
|
@@ -4469,14 +4469,14 @@ var init_DataBindingControls = __esm({
|
|
|
4469
4469
|
] })
|
|
4470
4470
|
] })
|
|
4471
4471
|
] }),
|
|
4472
|
-
shouldShowFacets && /* @__PURE__ */ (0,
|
|
4473
|
-
/* @__PURE__ */ (0,
|
|
4474
|
-
/* @__PURE__ */ (0,
|
|
4475
|
-
/* @__PURE__ */ (0,
|
|
4476
|
-
/* @__PURE__ */ (0,
|
|
4477
|
-
selectedFacetCount > 0 && /* @__PURE__ */ (0,
|
|
4472
|
+
shouldShowFacets && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
4473
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-between border-b border-neutral-soft pb-3", children: [
|
|
4474
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4475
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(FilterSlidersIcon, { className: "h-4 w-4" }),
|
|
4476
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h2", { className: "text-base font-semibold tracking-tight", children: "Filters" }),
|
|
4477
|
+
selectedFacetCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "flex h-5 items-center justify-center rounded-full bg-primary-base px-2 text-xs font-semibold", children: selectedFacetCount })
|
|
4478
4478
|
] }),
|
|
4479
|
-
hasActiveFiltersOrSort && /* @__PURE__ */ (0,
|
|
4479
|
+
hasActiveFiltersOrSort && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4480
4480
|
"button",
|
|
4481
4481
|
{
|
|
4482
4482
|
type: "button",
|
|
@@ -4484,13 +4484,13 @@ var init_DataBindingControls = __esm({
|
|
|
4484
4484
|
className: "group inline-flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors duration-150 hover:bg-neutral-soft focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-base",
|
|
4485
4485
|
"aria-label": "Clear all filters and sorting",
|
|
4486
4486
|
children: [
|
|
4487
|
-
/* @__PURE__ */ (0,
|
|
4488
|
-
/* @__PURE__ */ (0,
|
|
4487
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ResetIcon, { className: "h-3.5 w-3.5 transition-transform duration-200 group-hover:-rotate-45" }),
|
|
4488
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Clear all" })
|
|
4489
4489
|
]
|
|
4490
4490
|
}
|
|
4491
4491
|
)
|
|
4492
4492
|
] }),
|
|
4493
|
-
selectedFacetCount > 0 && /* @__PURE__ */ (0,
|
|
4493
|
+
selectedFacetCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex flex-wrap gap-1.5 pb-2.5 border-b border-neutral-soft", children: Array.from(selectedFacetValues.entries()).map(([field, value]) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4494
4494
|
"button",
|
|
4495
4495
|
{
|
|
4496
4496
|
type: "button",
|
|
@@ -4498,35 +4498,35 @@ var init_DataBindingControls = __esm({
|
|
|
4498
4498
|
className: "group inline-flex max-w-full cursor-pointer items-center gap-1.5 rounded-md border border-neutral-soft bg-neutral-weak px-2.5 py-1 text-xs transition-colors hover:bg-neutral-soft",
|
|
4499
4499
|
title: `Remove filter: ${value}`,
|
|
4500
4500
|
children: [
|
|
4501
|
-
/* @__PURE__ */ (0,
|
|
4502
|
-
/* @__PURE__ */ (0,
|
|
4501
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-medium truncate max-w-[150px]", children: value }),
|
|
4502
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CloseIcon, { className: "h-3.5 w-3.5 shrink-0 opacity-60 group-hover:opacity-100" })
|
|
4503
4503
|
]
|
|
4504
4504
|
},
|
|
4505
4505
|
`chip-${field}`
|
|
4506
4506
|
)) }),
|
|
4507
|
-
activeFacets.length === 1 && /* @__PURE__ */ (0,
|
|
4508
|
-
/* @__PURE__ */ (0,
|
|
4507
|
+
activeFacets.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("nav", { "aria-label": `${humanize(activeFacets[0][0])} filters`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "py-1", children: [
|
|
4508
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "px-1 pb-2 font-medium text-sm", children: humanize(activeFacets[0][0]) }),
|
|
4509
4509
|
renderFacetItems(activeFacets[0][0], activeFacets[0][1])
|
|
4510
4510
|
] }) }),
|
|
4511
|
-
activeFacets.length > 1 && /* @__PURE__ */ (0,
|
|
4511
|
+
activeFacets.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex flex-col divide-y divide-neutral-soft", children: activeFacets.map(([field, values]) => {
|
|
4512
4512
|
const isOpen = !collapsedCategories[field];
|
|
4513
|
-
return /* @__PURE__ */ (0,
|
|
4513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4514
4514
|
"div",
|
|
4515
4515
|
{
|
|
4516
4516
|
className: "py-2 first:pt-0 last:pb-0",
|
|
4517
4517
|
children: [
|
|
4518
|
-
/* @__PURE__ */ (0,
|
|
4518
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
4519
4519
|
"button",
|
|
4520
4520
|
{
|
|
4521
4521
|
type: "button",
|
|
4522
4522
|
onClick: () => toggleCategory(field),
|
|
4523
4523
|
className: "flex w-full cursor-pointer items-center justify-between rounded-md px-1.5 py-1.5 text-sm font-semibold transition-colors duration-150 hover:bg-neutral-weak focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-base",
|
|
4524
4524
|
children: [
|
|
4525
|
-
/* @__PURE__ */ (0,
|
|
4526
|
-
/* @__PURE__ */ (0,
|
|
4527
|
-
/* @__PURE__ */ (0,
|
|
4525
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4526
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded border border-neutral-soft bg-neutral-weak", children: getCategoryIcon(field) }),
|
|
4527
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: humanize(field) })
|
|
4528
4528
|
] }),
|
|
4529
|
-
/* @__PURE__ */ (0,
|
|
4529
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
4530
4530
|
ChevronDownIcon,
|
|
4531
4531
|
{
|
|
4532
4532
|
className: `h-4 w-4 transition-transform duration-200 ease-out ${isOpen ? "rotate-180" : ""}`
|
|
@@ -4535,7 +4535,7 @@ var init_DataBindingControls = __esm({
|
|
|
4535
4535
|
]
|
|
4536
4536
|
}
|
|
4537
4537
|
),
|
|
4538
|
-
isOpen && /* @__PURE__ */ (0,
|
|
4538
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "pt-1", children: renderFacetItems(field, values) })
|
|
4539
4539
|
]
|
|
4540
4540
|
},
|
|
4541
4541
|
field
|
|
@@ -4555,13 +4555,13 @@ var Slider_exports = {};
|
|
|
4555
4555
|
__export(Slider_exports, {
|
|
4556
4556
|
default: () => Slider_default
|
|
4557
4557
|
});
|
|
4558
|
-
var
|
|
4558
|
+
var import_react41, import_jsx_runtime67, Slider, ArrowButton, ProgressPill, Slider_default;
|
|
4559
4559
|
var init_Slider = __esm({
|
|
4560
4560
|
"src/components/Slider.tsx"() {
|
|
4561
4561
|
"use strict";
|
|
4562
4562
|
"use client";
|
|
4563
|
-
|
|
4564
|
-
|
|
4563
|
+
import_react41 = __toESM(require("react"));
|
|
4564
|
+
import_jsx_runtime67 = require("react/jsx-runtime");
|
|
4565
4565
|
Slider = ({
|
|
4566
4566
|
children,
|
|
4567
4567
|
columns,
|
|
@@ -4582,17 +4582,17 @@ var init_Slider = __esm({
|
|
|
4582
4582
|
progressPosition = "bottom",
|
|
4583
4583
|
scrollByColumns = false
|
|
4584
4584
|
}) => {
|
|
4585
|
-
const [currentSlide, setCurrentSlide] = (0,
|
|
4586
|
-
const [transition, setTransition] = (0,
|
|
4585
|
+
const [currentSlide, setCurrentSlide] = (0, import_react41.useState)(0);
|
|
4586
|
+
const [transition, setTransition] = (0, import_react41.useState)(true);
|
|
4587
4587
|
const initialSlidesToShow = slidesToShow ?? columns ?? 4;
|
|
4588
|
-
const [slidesToShowState, setSlidesToShowState] = (0,
|
|
4588
|
+
const [slidesToShowState, setSlidesToShowState] = (0, import_react41.useState)(
|
|
4589
4589
|
typeof initialSlidesToShow === "number" ? initialSlidesToShow : initialSlidesToShow.large
|
|
4590
4590
|
);
|
|
4591
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
4592
|
-
const trackRef = (0,
|
|
4591
|
+
const [isPlaying, setIsPlaying] = (0, import_react41.useState)(autoplay);
|
|
4592
|
+
const trackRef = (0, import_react41.useRef)(null);
|
|
4593
4593
|
console.log("trackRef:", trackRef);
|
|
4594
|
-
const [videoProgress, setVideoProgress] = (0,
|
|
4595
|
-
(0,
|
|
4594
|
+
const [videoProgress, setVideoProgress] = (0, import_react41.useState)(null);
|
|
4595
|
+
(0, import_react41.useEffect)(() => {
|
|
4596
4596
|
if (typeof initialSlidesToShow === "number") {
|
|
4597
4597
|
setSlidesToShowState(initialSlidesToShow);
|
|
4598
4598
|
return;
|
|
@@ -4610,7 +4610,7 @@ var init_Slider = __esm({
|
|
|
4610
4610
|
window.addEventListener("resize", handleResize);
|
|
4611
4611
|
return () => window.removeEventListener("resize", handleResize);
|
|
4612
4612
|
}, [initialSlidesToShow]);
|
|
4613
|
-
(0,
|
|
4613
|
+
(0, import_react41.useEffect)(() => {
|
|
4614
4614
|
if (!autoplay) return;
|
|
4615
4615
|
const activeSlideElement = trackRef.current?.children[currentSlide];
|
|
4616
4616
|
const videoElement = activeSlideElement?.querySelector("video");
|
|
@@ -4655,7 +4655,7 @@ var init_Slider = __esm({
|
|
|
4655
4655
|
}, autoplay_speed);
|
|
4656
4656
|
return () => clearInterval(timer);
|
|
4657
4657
|
}, [autoplay, autoplay_speed, currentSlide, isPlaying]);
|
|
4658
|
-
const totalSlides =
|
|
4658
|
+
const totalSlides = import_react41.Children.count(children);
|
|
4659
4659
|
const numColumns = columns ?? slidesToShowState;
|
|
4660
4660
|
const slideWidthPercentage = (() => {
|
|
4661
4661
|
if (typeof lastColPercentage !== "number") {
|
|
@@ -4715,24 +4715,24 @@ var init_Slider = __esm({
|
|
|
4715
4715
|
}
|
|
4716
4716
|
};
|
|
4717
4717
|
const translateX = -currentSlide * slideWidthPercentage;
|
|
4718
|
-
const slides =
|
|
4719
|
-
if (!
|
|
4718
|
+
const slides = import_react41.Children.map(children, (child, index) => {
|
|
4719
|
+
if (!import_react41.default.isValidElement(child)) return null;
|
|
4720
4720
|
const childProps = child.props;
|
|
4721
4721
|
const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
|
|
4722
|
-
return /* @__PURE__ */ (0,
|
|
4722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4723
4723
|
"div",
|
|
4724
4724
|
{
|
|
4725
4725
|
className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
|
|
4726
4726
|
style: { width: `calc(${slideWidthPercentage}%)`, paddingRight: gap },
|
|
4727
|
-
children: (0,
|
|
4727
|
+
children: (0, import_react41.cloneElement)(child, {
|
|
4728
4728
|
className: mergedClassName
|
|
4729
4729
|
})
|
|
4730
4730
|
},
|
|
4731
4731
|
index
|
|
4732
4732
|
);
|
|
4733
4733
|
});
|
|
4734
|
-
return /* @__PURE__ */ (0,
|
|
4735
|
-
show_dots && progressPosition === "top" && /* @__PURE__ */ (0,
|
|
4734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full", children: [
|
|
4735
|
+
show_dots && progressPosition === "top" && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex justify-center space-x-1.5 mb-4", children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4736
4736
|
ProgressPill,
|
|
4737
4737
|
{
|
|
4738
4738
|
active: index === currentSlide,
|
|
@@ -4749,14 +4749,14 @@ var init_Slider = __esm({
|
|
|
4749
4749
|
},
|
|
4750
4750
|
index
|
|
4751
4751
|
)) }),
|
|
4752
|
-
/* @__PURE__ */ (0,
|
|
4752
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
4753
4753
|
"div",
|
|
4754
4754
|
{
|
|
4755
4755
|
className: `relative w-full overflow-hidden ${className}`,
|
|
4756
4756
|
onMouseEnter: handleMouseEnter,
|
|
4757
4757
|
onMouseLeave: handleMouseLeave,
|
|
4758
4758
|
children: [
|
|
4759
|
-
/* @__PURE__ */ (0,
|
|
4759
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4760
4760
|
"div",
|
|
4761
4761
|
{
|
|
4762
4762
|
ref: trackRef,
|
|
@@ -4768,32 +4768,32 @@ var init_Slider = __esm({
|
|
|
4768
4768
|
children: slides
|
|
4769
4769
|
}
|
|
4770
4770
|
),
|
|
4771
|
-
show_arrows && /* @__PURE__ */ (0,
|
|
4772
|
-
/* @__PURE__ */ (0,
|
|
4771
|
+
show_arrows && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
|
|
4772
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4773
4773
|
ArrowButton,
|
|
4774
4774
|
{
|
|
4775
4775
|
direction: "left",
|
|
4776
4776
|
onClick: prevSlide,
|
|
4777
4777
|
visible: infinite_scroll || currentSlide > 0,
|
|
4778
4778
|
className: arrowClassName,
|
|
4779
|
-
children: /* @__PURE__ */ (0,
|
|
4779
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
|
|
4780
4780
|
}
|
|
4781
4781
|
),
|
|
4782
|
-
/* @__PURE__ */ (0,
|
|
4782
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4783
4783
|
ArrowButton,
|
|
4784
4784
|
{
|
|
4785
4785
|
direction: "right",
|
|
4786
4786
|
onClick: nextSlide,
|
|
4787
4787
|
visible: infinite_scroll || currentSlide < maxSlide,
|
|
4788
4788
|
className: arrowClassName,
|
|
4789
|
-
children: /* @__PURE__ */ (0,
|
|
4789
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) })
|
|
4790
4790
|
}
|
|
4791
4791
|
)
|
|
4792
4792
|
] })
|
|
4793
4793
|
]
|
|
4794
4794
|
}
|
|
4795
4795
|
),
|
|
4796
|
-
show_dots && progressPosition !== "top" && /* @__PURE__ */ (0,
|
|
4796
|
+
show_dots && progressPosition !== "top" && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex justify-center space-x-1.5 mt-5", children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4797
4797
|
ProgressPill,
|
|
4798
4798
|
{
|
|
4799
4799
|
active: index === currentSlide,
|
|
@@ -4818,7 +4818,7 @@ var init_Slider = __esm({
|
|
|
4818
4818
|
visible,
|
|
4819
4819
|
children,
|
|
4820
4820
|
className = ""
|
|
4821
|
-
}) => /* @__PURE__ */ (0,
|
|
4821
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4822
4822
|
"button",
|
|
4823
4823
|
{
|
|
4824
4824
|
className: `
|
|
@@ -4845,13 +4845,13 @@ var init_Slider = __esm({
|
|
|
4845
4845
|
totalSlides,
|
|
4846
4846
|
customProgress = null
|
|
4847
4847
|
}) => {
|
|
4848
|
-
const [progress, setProgress] = (0,
|
|
4849
|
-
(0,
|
|
4848
|
+
const [progress, setProgress] = (0, import_react41.useState)(0);
|
|
4849
|
+
(0, import_react41.useEffect)(() => {
|
|
4850
4850
|
if (active) {
|
|
4851
4851
|
setProgress(0);
|
|
4852
4852
|
}
|
|
4853
4853
|
}, [active, index]);
|
|
4854
|
-
(0,
|
|
4854
|
+
(0, import_react41.useEffect)(() => {
|
|
4855
4855
|
if (!active || !isPlaying || customProgress !== null) {
|
|
4856
4856
|
if (!active) {
|
|
4857
4857
|
setProgress(0);
|
|
@@ -4906,7 +4906,7 @@ var init_Slider = __esm({
|
|
|
4906
4906
|
const renderProgressBar = () => {
|
|
4907
4907
|
if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
|
|
4908
4908
|
const displayProgress = style === "cumulative" && isFilled ? 100 : customProgress !== null && customProgress !== void 0 ? customProgress : progress;
|
|
4909
|
-
return /* @__PURE__ */ (0,
|
|
4909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4910
4910
|
"div",
|
|
4911
4911
|
{
|
|
4912
4912
|
className: `absolute top-0 left-0 h-full rounded-full ${style === "cumulative" && isFilled ? activeClassName || "bg-white" : activeClassName || "bg-white"} transition-all duration-50 ease-linear`,
|
|
@@ -4918,7 +4918,7 @@ var init_Slider = __esm({
|
|
|
4918
4918
|
};
|
|
4919
4919
|
const renderCumulativeFill = () => {
|
|
4920
4920
|
if (style === "cumulative" && isFilled && !isActive) {
|
|
4921
|
-
return /* @__PURE__ */ (0,
|
|
4921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
4922
4922
|
"div",
|
|
4923
4923
|
{
|
|
4924
4924
|
className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
|
|
@@ -4928,7 +4928,7 @@ var init_Slider = __esm({
|
|
|
4928
4928
|
}
|
|
4929
4929
|
return null;
|
|
4930
4930
|
};
|
|
4931
|
-
return /* @__PURE__ */ (0,
|
|
4931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
4932
4932
|
"button",
|
|
4933
4933
|
{
|
|
4934
4934
|
className: `${baseClasses} ${getStyleClasses()}`,
|
|
@@ -4956,10 +4956,10 @@ __export(server_exports, {
|
|
|
4956
4956
|
module.exports = __toCommonJS(server_exports);
|
|
4957
4957
|
|
|
4958
4958
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
4959
|
-
var
|
|
4959
|
+
var import_react43 = __toESM(require("react"));
|
|
4960
4960
|
|
|
4961
4961
|
// src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
|
|
4962
|
-
var
|
|
4962
|
+
var import_react29 = __toESM(require("react"));
|
|
4963
4963
|
|
|
4964
4964
|
// src/components/pageRenderingEngine/nodes/TextNode.tsx
|
|
4965
4965
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -5193,7 +5193,7 @@ var ImageNode = (props) => {
|
|
|
5193
5193
|
...props.node.borderRadius && { borderRadius: props.node.borderRadius },
|
|
5194
5194
|
...props.node.width && { width: props.node.width }
|
|
5195
5195
|
};
|
|
5196
|
-
const
|
|
5196
|
+
const FORMAT_CLASSES3 = {
|
|
5197
5197
|
center: "justify-center",
|
|
5198
5198
|
left: "justify-start",
|
|
5199
5199
|
right: "justify-end"
|
|
@@ -5225,7 +5225,7 @@ var ImageNode = (props) => {
|
|
|
5225
5225
|
}
|
|
5226
5226
|
);
|
|
5227
5227
|
if (props.node.width) {
|
|
5228
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `flex ${
|
|
5228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `flex ${FORMAT_CLASSES3[props.node.format] ?? ""}`, children: renderMedia() });
|
|
5229
5229
|
}
|
|
5230
5230
|
return renderMedia();
|
|
5231
5231
|
};
|
|
@@ -5854,8 +5854,89 @@ var DatafieldNode = (props) => {
|
|
|
5854
5854
|
};
|
|
5855
5855
|
var DatafieldNode_default = DatafieldNode;
|
|
5856
5856
|
|
|
5857
|
-
// src/components/pageRenderingEngine/nodes/
|
|
5857
|
+
// src/components/pageRenderingEngine/nodes/CounterNode.tsx
|
|
5858
|
+
var import_react28 = require("react");
|
|
5858
5859
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
5860
|
+
var FORMAT_CLASSES2 = {
|
|
5861
|
+
center: "justify-center text-center",
|
|
5862
|
+
right: "justify-end text-right",
|
|
5863
|
+
left: "justify-start text-left",
|
|
5864
|
+
justify: "justify-between text-justify"
|
|
5865
|
+
};
|
|
5866
|
+
var CounterNode = ({ node }) => {
|
|
5867
|
+
const ref = (0, import_react28.useRef)(null);
|
|
5868
|
+
const startValue = typeof node?.startValue === "number" ? node.startValue : Number(node?.startValue) || 0;
|
|
5869
|
+
const endValue = typeof node?.endValue === "number" ? node.endValue : Number(node?.endValue) || 0;
|
|
5870
|
+
const duration = Math.max(Number(node?.duration) || 2e3, 300);
|
|
5871
|
+
const prefix = node?.prefix ?? "";
|
|
5872
|
+
const suffix = node?.suffix ?? "";
|
|
5873
|
+
const format = node?.format;
|
|
5874
|
+
const [displayValue, setDisplayValue] = (0, import_react28.useState)(startValue);
|
|
5875
|
+
const hasAnimatedRef = (0, import_react28.useRef)(false);
|
|
5876
|
+
const runAnimation = (0, import_react28.useCallback)(() => {
|
|
5877
|
+
let startTime = null;
|
|
5878
|
+
let animationFrameId;
|
|
5879
|
+
const step = (timestamp) => {
|
|
5880
|
+
if (!startTime) startTime = timestamp;
|
|
5881
|
+
const progress = Math.min((timestamp - startTime) / duration, 1);
|
|
5882
|
+
const easeOutProgress = 1 - Math.pow(1 - progress, 3);
|
|
5883
|
+
const currentVal = Math.round(startValue + (endValue - startValue) * easeOutProgress);
|
|
5884
|
+
setDisplayValue(currentVal);
|
|
5885
|
+
if (progress < 1) {
|
|
5886
|
+
animationFrameId = requestAnimationFrame(step);
|
|
5887
|
+
} else {
|
|
5888
|
+
setDisplayValue(endValue);
|
|
5889
|
+
}
|
|
5890
|
+
};
|
|
5891
|
+
animationFrameId = requestAnimationFrame(step);
|
|
5892
|
+
return () => {
|
|
5893
|
+
if (animationFrameId) {
|
|
5894
|
+
cancelAnimationFrame(animationFrameId);
|
|
5895
|
+
}
|
|
5896
|
+
};
|
|
5897
|
+
}, [startValue, endValue, duration]);
|
|
5898
|
+
(0, import_react28.useEffect)(() => {
|
|
5899
|
+
const currentRef = ref.current;
|
|
5900
|
+
if (!currentRef) return;
|
|
5901
|
+
if (typeof IntersectionObserver === "undefined") {
|
|
5902
|
+
return runAnimation();
|
|
5903
|
+
}
|
|
5904
|
+
const observer = new IntersectionObserver(
|
|
5905
|
+
(entries) => {
|
|
5906
|
+
entries.forEach((entry) => {
|
|
5907
|
+
if (entry.isIntersecting && !hasAnimatedRef.current) {
|
|
5908
|
+
hasAnimatedRef.current = true;
|
|
5909
|
+
runAnimation();
|
|
5910
|
+
observer.unobserve(entry.target);
|
|
5911
|
+
}
|
|
5912
|
+
});
|
|
5913
|
+
},
|
|
5914
|
+
{ threshold: 0.1 }
|
|
5915
|
+
);
|
|
5916
|
+
observer.observe(currentRef);
|
|
5917
|
+
return () => {
|
|
5918
|
+
observer.disconnect();
|
|
5919
|
+
};
|
|
5920
|
+
}, [runAnimation]);
|
|
5921
|
+
if (!node) return null;
|
|
5922
|
+
const alignClass = format && FORMAT_CLASSES2[format] || "justify-center text-center";
|
|
5923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5924
|
+
"div",
|
|
5925
|
+
{
|
|
5926
|
+
ref,
|
|
5927
|
+
className: `counter-node inline-flex items-center ${alignClass}`,
|
|
5928
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("span", { className: "counter-display text-3xl font-bold tracking-tight", children: [
|
|
5929
|
+
prefix,
|
|
5930
|
+
displayValue.toLocaleString(),
|
|
5931
|
+
suffix
|
|
5932
|
+
] })
|
|
5933
|
+
}
|
|
5934
|
+
);
|
|
5935
|
+
};
|
|
5936
|
+
var CounterNode_default = CounterNode;
|
|
5937
|
+
|
|
5938
|
+
// src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
|
|
5939
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
5859
5940
|
var ParagraphNode = (props) => {
|
|
5860
5941
|
const NodeTypes2 = {
|
|
5861
5942
|
["text"]: TextNode_default,
|
|
@@ -5863,7 +5944,8 @@ var ParagraphNode = (props) => {
|
|
|
5863
5944
|
["link"]: LinkNode_default,
|
|
5864
5945
|
["datafield"]: DatafieldNode_default,
|
|
5865
5946
|
["equation"]: EquationNode_default,
|
|
5866
|
-
["svg-icon"]: SVGIconNode_default
|
|
5947
|
+
["svg-icon"]: SVGIconNode_default,
|
|
5948
|
+
["counter"]: CounterNode_default
|
|
5867
5949
|
};
|
|
5868
5950
|
const FormatClass = {
|
|
5869
5951
|
"center": "text-center",
|
|
@@ -5875,9 +5957,9 @@ var ParagraphNode = (props) => {
|
|
|
5875
5957
|
const isInlineOnlyParent = props.parentTag === "summary";
|
|
5876
5958
|
const hasChildren = props.node.children && props.node.children.length > 0;
|
|
5877
5959
|
if (isInlineOnlyParent) {
|
|
5878
|
-
return /* @__PURE__ */ (0,
|
|
5960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: hasChildren && props.node.children.map((node, index) => {
|
|
5879
5961
|
const SelectedNode = NodeTypes2[node.type];
|
|
5880
|
-
return /* @__PURE__ */ (0,
|
|
5962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react29.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5881
5963
|
SelectedNode,
|
|
5882
5964
|
{
|
|
5883
5965
|
node,
|
|
@@ -5890,10 +5972,10 @@ var ParagraphNode = (props) => {
|
|
|
5890
5972
|
) }, index);
|
|
5891
5973
|
}) });
|
|
5892
5974
|
}
|
|
5893
|
-
return /* @__PURE__ */ (0,
|
|
5975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: " " + formatClasses, children: [
|
|
5894
5976
|
hasChildren && props.node.children.map((node, index) => {
|
|
5895
5977
|
const SelectedNode = NodeTypes2[node.type];
|
|
5896
|
-
return /* @__PURE__ */ (0,
|
|
5978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react29.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5897
5979
|
SelectedNode,
|
|
5898
5980
|
{
|
|
5899
5981
|
node,
|
|
@@ -5905,21 +5987,22 @@ var ParagraphNode = (props) => {
|
|
|
5905
5987
|
}
|
|
5906
5988
|
) }, index);
|
|
5907
5989
|
}),
|
|
5908
|
-
!hasChildren && /* @__PURE__ */ (0,
|
|
5990
|
+
!hasChildren && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "py-1.5 lg:py-2" })
|
|
5909
5991
|
] });
|
|
5910
5992
|
};
|
|
5911
5993
|
var ParagraphNode_default = ParagraphNode;
|
|
5912
5994
|
|
|
5913
5995
|
// src/components/pageRenderingEngine/nodes/HeadingNode.tsx
|
|
5914
|
-
var
|
|
5915
|
-
var
|
|
5996
|
+
var import_react30 = __toESM(require("react"));
|
|
5997
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
5916
5998
|
var HeadingNode = (props) => {
|
|
5917
5999
|
const NodeTypes2 = {
|
|
5918
6000
|
["text"]: TextNode_default,
|
|
5919
6001
|
["link"]: LinkNode_default,
|
|
5920
6002
|
["svg-icon"]: SVGIconNode_default,
|
|
5921
6003
|
["linebreak"]: LineBreakNode_default,
|
|
5922
|
-
["datafield"]: DatafieldNode_default
|
|
6004
|
+
["datafield"]: DatafieldNode_default,
|
|
6005
|
+
["counter"]: CounterNode_default
|
|
5923
6006
|
};
|
|
5924
6007
|
const HeadingTag = `${props.node.tag}`;
|
|
5925
6008
|
const FormatClass = {
|
|
@@ -5928,23 +6011,23 @@ var HeadingNode = (props) => {
|
|
|
5928
6011
|
{
|
|
5929
6012
|
}
|
|
5930
6013
|
const formatClasses = FormatClass[props.node.format] || "";
|
|
5931
|
-
return /* @__PURE__ */ (0,
|
|
6014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: import_react30.default.createElement(
|
|
5932
6015
|
HeadingTag,
|
|
5933
6016
|
{ className: formatClasses },
|
|
5934
6017
|
props.node.children && props.node.children.map((childNode, index) => {
|
|
5935
6018
|
const SelectedNode = NodeTypes2[childNode.type];
|
|
5936
|
-
return /* @__PURE__ */ (0,
|
|
6019
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react30.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, assetBaseUrl: props.assetBaseUrl, routeParameters: props.routeParameters }) }, index);
|
|
5937
6020
|
})
|
|
5938
6021
|
) });
|
|
5939
6022
|
};
|
|
5940
6023
|
var HeadingNode_default = HeadingNode;
|
|
5941
6024
|
|
|
5942
6025
|
// src/components/pageRenderingEngine/nodes/ListNode.tsx
|
|
5943
|
-
var
|
|
6026
|
+
var import_react32 = __toESM(require("react"));
|
|
5944
6027
|
|
|
5945
6028
|
// src/components/pageRenderingEngine/nodes/ListItemNode.tsx
|
|
5946
|
-
var
|
|
5947
|
-
var
|
|
6029
|
+
var import_react31 = __toESM(require("react"));
|
|
6030
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
5948
6031
|
var ListItemNode = (props) => {
|
|
5949
6032
|
const NodeTypes2 = {
|
|
5950
6033
|
text: TextNode_default,
|
|
@@ -5961,66 +6044,66 @@ var ListItemNode = (props) => {
|
|
|
5961
6044
|
liStyle.fontSize = match[1].trim();
|
|
5962
6045
|
}
|
|
5963
6046
|
}
|
|
5964
|
-
return /* @__PURE__ */ (0,
|
|
6047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
|
|
5965
6048
|
const SelectedNode = NodeTypes2[node.type];
|
|
5966
6049
|
if (node.type === "linebreak") {
|
|
5967
6050
|
if (!foundFirstBreak) {
|
|
5968
6051
|
foundFirstBreak = true;
|
|
5969
|
-
return /* @__PURE__ */ (0,
|
|
6052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", {}, index);
|
|
5970
6053
|
} else {
|
|
5971
|
-
return /* @__PURE__ */ (0,
|
|
6054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "py-1 lg:py-2" }, index);
|
|
5972
6055
|
}
|
|
5973
6056
|
} else {
|
|
5974
6057
|
foundFirstBreak = false;
|
|
5975
|
-
return /* @__PURE__ */ (0,
|
|
6058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react31.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
|
|
5976
6059
|
}
|
|
5977
6060
|
}) });
|
|
5978
6061
|
};
|
|
5979
6062
|
var ListItemNode_default = ListItemNode;
|
|
5980
6063
|
|
|
5981
6064
|
// src/components/pageRenderingEngine/nodes/ListNode.tsx
|
|
5982
|
-
var
|
|
6065
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
5983
6066
|
var ListNode = (props) => {
|
|
5984
6067
|
const NodeTypes2 = {
|
|
5985
6068
|
listitem: ListItemNode_default
|
|
5986
6069
|
};
|
|
5987
|
-
return /* @__PURE__ */ (0,
|
|
5988
|
-
props.node.listType == "bullet" && /* @__PURE__ */ (0,
|
|
6070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react32.default.Fragment, { children: [
|
|
6071
|
+
props.node.listType == "bullet" && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("ul", { children: props.node.children && props.node.children.map((node, index) => {
|
|
5989
6072
|
const SelectedNode = NodeTypes2[node.type];
|
|
5990
|
-
return /* @__PURE__ */ (0,
|
|
6073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react32.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
|
|
5991
6074
|
}) }),
|
|
5992
|
-
props.node.listType == "number" && /* @__PURE__ */ (0,
|
|
6075
|
+
props.node.listType == "number" && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("ol", { children: props.node.children && props.node.children.map((node, index) => {
|
|
5993
6076
|
const SelectedNode = NodeTypes2[node.type];
|
|
5994
|
-
return /* @__PURE__ */ (0,
|
|
6077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react32.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
|
|
5995
6078
|
}) })
|
|
5996
6079
|
] });
|
|
5997
6080
|
};
|
|
5998
6081
|
var ListNode_default = ListNode;
|
|
5999
6082
|
|
|
6000
6083
|
// src/components/pageRenderingEngine/nodes/QuoteNode.tsx
|
|
6001
|
-
var
|
|
6002
|
-
var
|
|
6084
|
+
var import_react33 = __toESM(require("react"));
|
|
6085
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
6003
6086
|
var QuoteNode = (props) => {
|
|
6004
6087
|
const NodeTypes2 = {
|
|
6005
6088
|
["text"]: TextNode_default,
|
|
6006
6089
|
["linebreak"]: LineBreakNode_default,
|
|
6007
6090
|
["link"]: LinkNode_default
|
|
6008
6091
|
};
|
|
6009
|
-
return /* @__PURE__ */ (0,
|
|
6092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
|
|
6010
6093
|
const SelectedNode = NodeTypes2[node.type];
|
|
6011
|
-
return /* @__PURE__ */ (0,
|
|
6094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react33.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
|
|
6012
6095
|
}) });
|
|
6013
6096
|
};
|
|
6014
6097
|
var QuoteNode_default = QuoteNode;
|
|
6015
6098
|
|
|
6016
6099
|
// src/components/pageRenderingEngine/nodes/CodeNode.tsx
|
|
6017
|
-
var
|
|
6100
|
+
var import_react35 = __toESM(require("react"));
|
|
6018
6101
|
var import_dynamic9 = __toESM(require("next/dynamic"));
|
|
6019
|
-
var
|
|
6102
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
6020
6103
|
var CopyButton2 = (0, import_dynamic9.default)(() => Promise.resolve().then(() => (init_CopyButton(), CopyButton_exports)), {
|
|
6021
6104
|
ssr: false,
|
|
6022
6105
|
// optional: fallback UI while loading
|
|
6023
|
-
loading: () => /* @__PURE__ */ (0,
|
|
6106
|
+
loading: () => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-gray-400 text-xs", children: "Copy" })
|
|
6024
6107
|
});
|
|
6025
6108
|
var CodeNode = (props) => {
|
|
6026
6109
|
const NodeTypes2 = {
|
|
@@ -6034,14 +6117,14 @@ var CodeNode = (props) => {
|
|
|
6034
6117
|
if (node.type === "link") return node.text || node.url || "";
|
|
6035
6118
|
return "";
|
|
6036
6119
|
}).join("") ?? "";
|
|
6037
|
-
return /* @__PURE__ */ (0,
|
|
6038
|
-
/* @__PURE__ */ (0,
|
|
6039
|
-
/* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
6121
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
|
|
6122
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { children: "Code Snippet" }),
|
|
6123
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CopyButton2, { text: textContent })
|
|
6041
6124
|
] }),
|
|
6042
|
-
/* @__PURE__ */ (0,
|
|
6125
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("code", { className: "bg-neutral-soft p-4 text-sm whitespace-pre-wrap border border-2 block", children: props.node.children && props.node.children.map((node, index) => {
|
|
6043
6126
|
const SelectedNode = NodeTypes2[node.type];
|
|
6044
|
-
return /* @__PURE__ */ (0,
|
|
6127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react35.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6045
6128
|
SelectedNode,
|
|
6046
6129
|
{
|
|
6047
6130
|
node,
|
|
@@ -6056,15 +6139,15 @@ var CodeNode = (props) => {
|
|
|
6056
6139
|
var CodeNode_default = CodeNode;
|
|
6057
6140
|
|
|
6058
6141
|
// src/components/pageRenderingEngine/nodes/HorizontalRuleNode.tsx
|
|
6059
|
-
var
|
|
6142
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
6060
6143
|
var HorizontalRuleNode = () => {
|
|
6061
|
-
return /* @__PURE__ */ (0,
|
|
6144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("hr", {});
|
|
6062
6145
|
};
|
|
6063
6146
|
var HorizontalRuleNode_default = HorizontalRuleNode;
|
|
6064
6147
|
|
|
6065
6148
|
// src/components/pageRenderingEngine/nodes/WidgetNode.tsx
|
|
6066
|
-
var
|
|
6067
|
-
var
|
|
6149
|
+
var import_react36 = __toESM(require("react"));
|
|
6150
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
6068
6151
|
var WidgetNode = (props) => {
|
|
6069
6152
|
const getWidgetParameters = () => {
|
|
6070
6153
|
const widgetInputParameters = {
|
|
@@ -6128,7 +6211,7 @@ var WidgetNode = (props) => {
|
|
|
6128
6211
|
};
|
|
6129
6212
|
const widgetCode = props.node?.widgetCode;
|
|
6130
6213
|
if (!widgetCode) {
|
|
6131
|
-
return /* @__PURE__ */ (0,
|
|
6214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: "Invalid widget" });
|
|
6132
6215
|
}
|
|
6133
6216
|
const widgetParams = getWidgetParameters();
|
|
6134
6217
|
const WidgetRenderer = props.widgetRenderer;
|
|
@@ -6137,7 +6220,7 @@ var WidgetNode = (props) => {
|
|
|
6137
6220
|
}
|
|
6138
6221
|
return (
|
|
6139
6222
|
// eslint-disable-next-line react-hooks/static-components
|
|
6140
|
-
/* @__PURE__ */ (0,
|
|
6223
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react36.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6141
6224
|
WidgetRenderer,
|
|
6142
6225
|
{
|
|
6143
6226
|
params: widgetParams,
|
|
@@ -6155,11 +6238,11 @@ var WidgetNode_default = WidgetNode;
|
|
|
6155
6238
|
|
|
6156
6239
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
6157
6240
|
var import_dynamic13 = __toESM(require("next/dynamic"));
|
|
6158
|
-
var
|
|
6241
|
+
var import_react42 = __toESM(require("react"));
|
|
6159
6242
|
|
|
6160
6243
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
6161
6244
|
var import_dynamic10 = __toESM(require("next/dynamic"));
|
|
6162
|
-
var
|
|
6245
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
6163
6246
|
var IframeClient2 = (0, import_dynamic10.default)(() => Promise.resolve().then(() => (init_IframeClient(), IframeClient_exports)), {
|
|
6164
6247
|
ssr: false
|
|
6165
6248
|
});
|
|
@@ -6172,7 +6255,7 @@ var EmbedNode = (props) => {
|
|
|
6172
6255
|
} else {
|
|
6173
6256
|
src = props.node.embedSrc;
|
|
6174
6257
|
}
|
|
6175
|
-
return /* @__PURE__ */ (0,
|
|
6258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(IframeClient2, { src }) });
|
|
6176
6259
|
};
|
|
6177
6260
|
var EmbedNode_default = EmbedNode;
|
|
6178
6261
|
|
|
@@ -6415,10 +6498,10 @@ var PathUtility = class {
|
|
|
6415
6498
|
var PathUtility_default = new PathUtility();
|
|
6416
6499
|
|
|
6417
6500
|
// src/components/NoDataFound.tsx
|
|
6418
|
-
var
|
|
6501
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
6419
6502
|
var NoDataFound = () => {
|
|
6420
|
-
return /* @__PURE__ */ (0,
|
|
6421
|
-
/* @__PURE__ */ (0,
|
|
6503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
|
|
6504
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "mb-5", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6422
6505
|
"svg",
|
|
6423
6506
|
{
|
|
6424
6507
|
className: "w-10 h-10",
|
|
@@ -6426,7 +6509,7 @@ var NoDataFound = () => {
|
|
|
6426
6509
|
stroke: "currentColor",
|
|
6427
6510
|
viewBox: "0 0 24 24",
|
|
6428
6511
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6429
|
-
children: /* @__PURE__ */ (0,
|
|
6512
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6430
6513
|
"path",
|
|
6431
6514
|
{
|
|
6432
6515
|
strokeLinecap: "round",
|
|
@@ -6437,17 +6520,17 @@ var NoDataFound = () => {
|
|
|
6437
6520
|
)
|
|
6438
6521
|
}
|
|
6439
6522
|
) }) }),
|
|
6440
|
-
/* @__PURE__ */ (0,
|
|
6441
|
-
/* @__PURE__ */ (0,
|
|
6523
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
|
|
6524
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
|
|
6442
6525
|
] });
|
|
6443
6526
|
};
|
|
6444
6527
|
var NoDataFound_default = NoDataFound;
|
|
6445
6528
|
|
|
6446
6529
|
// src/components/NoFilterResultsFound.tsx
|
|
6447
|
-
var
|
|
6530
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
6448
6531
|
var NoFilterResultsFound = () => {
|
|
6449
|
-
return /* @__PURE__ */ (0,
|
|
6450
|
-
/* @__PURE__ */ (0,
|
|
6532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
|
|
6533
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "mb-5", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6451
6534
|
"svg",
|
|
6452
6535
|
{
|
|
6453
6536
|
className: "w-10 h-10",
|
|
@@ -6455,7 +6538,7 @@ var NoFilterResultsFound = () => {
|
|
|
6455
6538
|
stroke: "currentColor",
|
|
6456
6539
|
viewBox: "0 0 24 24",
|
|
6457
6540
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6458
|
-
children: /* @__PURE__ */ (0,
|
|
6541
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6459
6542
|
"path",
|
|
6460
6543
|
{
|
|
6461
6544
|
strokeLinecap: "round",
|
|
@@ -6466,8 +6549,8 @@ var NoFilterResultsFound = () => {
|
|
|
6466
6549
|
)
|
|
6467
6550
|
}
|
|
6468
6551
|
) }) }),
|
|
6469
|
-
/* @__PURE__ */ (0,
|
|
6470
|
-
/* @__PURE__ */ (0,
|
|
6552
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "text-lg font-medium mb-2", children: "No Results Found" }),
|
|
6553
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "max-w-sm mb-0", children: "No data matches the current search query and configured parameters. Try adjusting your search criteria or filters to view available results." })
|
|
6471
6554
|
] });
|
|
6472
6555
|
};
|
|
6473
6556
|
var NoFilterResultsFound_default = NoFilterResultsFound;
|
|
@@ -6475,7 +6558,7 @@ var NoFilterResultsFound_default = NoFilterResultsFound;
|
|
|
6475
6558
|
// src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
|
|
6476
6559
|
init_AssetUtility();
|
|
6477
6560
|
var import_dynamic11 = __toESM(require("next/dynamic"));
|
|
6478
|
-
var
|
|
6561
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
6479
6562
|
var HlsPlayer4 = (0, import_dynamic11.default)(() => Promise.resolve().then(() => (init_HlsPlayer(), HlsPlayer_exports)), { ssr: false });
|
|
6480
6563
|
var deviceToMediaQuery = (device) => {
|
|
6481
6564
|
switch (device) {
|
|
@@ -6631,8 +6714,8 @@ var ImageGalleryNode = (props) => {
|
|
|
6631
6714
|
right: "justify-end"
|
|
6632
6715
|
};
|
|
6633
6716
|
const formatClasses = FormatClass[props.node.format || ""] || "";
|
|
6634
|
-
return /* @__PURE__ */ (0,
|
|
6635
|
-
hlsSources.length > 0 && /* @__PURE__ */ (0,
|
|
6717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
6718
|
+
hlsSources.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6636
6719
|
HlsPlayer4,
|
|
6637
6720
|
{
|
|
6638
6721
|
sources: hlsSources,
|
|
@@ -6647,7 +6730,7 @@ var ImageGalleryNode = (props) => {
|
|
|
6647
6730
|
styles: hlsStyles
|
|
6648
6731
|
}
|
|
6649
6732
|
) }),
|
|
6650
|
-
(staticFallback || staticSources.length > 0) && /* @__PURE__ */ (0,
|
|
6733
|
+
(staticFallback || staticSources.length > 0) && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children: staticFallback ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("picture", { children: [
|
|
6651
6734
|
DEVICE_ORDER.map((deviceKey) => {
|
|
6652
6735
|
const match = staticSources.find(
|
|
6653
6736
|
(img) => img.device === deviceKey
|
|
@@ -6663,7 +6746,7 @@ var ImageGalleryNode = (props) => {
|
|
|
6663
6746
|
if (!srcUrl) {
|
|
6664
6747
|
return null;
|
|
6665
6748
|
}
|
|
6666
|
-
return /* @__PURE__ */ (0,
|
|
6749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6667
6750
|
"source",
|
|
6668
6751
|
{
|
|
6669
6752
|
media: deviceToMediaQuery(match.device),
|
|
@@ -6688,7 +6771,7 @@ var ImageGalleryNode = (props) => {
|
|
|
6688
6771
|
if (img.borderRadius) {
|
|
6689
6772
|
styles.borderRadius = img.borderRadius;
|
|
6690
6773
|
}
|
|
6691
|
-
return /* @__PURE__ */ (0,
|
|
6774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6692
6775
|
"img",
|
|
6693
6776
|
{
|
|
6694
6777
|
loading: "lazy",
|
|
@@ -6703,7 +6786,7 @@ var ImageGalleryNode = (props) => {
|
|
|
6703
6786
|
})()
|
|
6704
6787
|
] }) : (
|
|
6705
6788
|
/* Case 2: Only device-specific images exist */
|
|
6706
|
-
/* @__PURE__ */ (0,
|
|
6789
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children: staticSources.map((img, index) => {
|
|
6707
6790
|
const resolved = resolveImage(img);
|
|
6708
6791
|
const imageUrl = resolved?.imageUrl;
|
|
6709
6792
|
if (!imageUrl) {
|
|
@@ -6730,7 +6813,7 @@ var ImageGalleryNode = (props) => {
|
|
|
6730
6813
|
default:
|
|
6731
6814
|
display = "block";
|
|
6732
6815
|
}
|
|
6733
|
-
return /* @__PURE__ */ (0,
|
|
6816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6734
6817
|
"img",
|
|
6735
6818
|
{
|
|
6736
6819
|
loading: "lazy",
|
|
@@ -6871,7 +6954,7 @@ var shouldRenderContainer = (node, dataItem, session) => {
|
|
|
6871
6954
|
|
|
6872
6955
|
// src/components/pageRenderingEngine/nodes/DocumentNode.tsx
|
|
6873
6956
|
init_AssetUtility();
|
|
6874
|
-
var
|
|
6957
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
6875
6958
|
var getNestedValue5 = (obj, path) => {
|
|
6876
6959
|
if (!obj || !path) return void 0;
|
|
6877
6960
|
return path.split(".").reduce((current, key) => {
|
|
@@ -6902,21 +6985,21 @@ var parseDocuments = (value) => {
|
|
|
6902
6985
|
}
|
|
6903
6986
|
return [];
|
|
6904
6987
|
};
|
|
6905
|
-
var PdfIcon2 = () => /* @__PURE__ */ (0,
|
|
6988
|
+
var PdfIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
6906
6989
|
"svg",
|
|
6907
6990
|
{
|
|
6908
6991
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6909
6992
|
viewBox: "0 0 48 48",
|
|
6910
6993
|
className: "w-10 h-10",
|
|
6911
6994
|
children: [
|
|
6912
|
-
/* @__PURE__ */ (0,
|
|
6995
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6913
6996
|
"path",
|
|
6914
6997
|
{
|
|
6915
6998
|
fill: "#e53935",
|
|
6916
6999
|
d: "M38,42H10c-2.209,0-4-1.791-4-4V10c0-2.209,1.791-4,4-4h28c2.209,0,4,1.791,4,4v28 C42,40.209,40.209,42,38,42z"
|
|
6917
7000
|
}
|
|
6918
7001
|
),
|
|
6919
|
-
/* @__PURE__ */ (0,
|
|
7002
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6920
7003
|
"path",
|
|
6921
7004
|
{
|
|
6922
7005
|
fill: "#fff",
|
|
@@ -6926,55 +7009,55 @@ var PdfIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
6926
7009
|
]
|
|
6927
7010
|
}
|
|
6928
7011
|
);
|
|
6929
|
-
var ExcelIcon2 = () => /* @__PURE__ */ (0,
|
|
7012
|
+
var ExcelIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
6930
7013
|
"svg",
|
|
6931
7014
|
{
|
|
6932
7015
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6933
7016
|
viewBox: "0 0 48 48",
|
|
6934
7017
|
className: "w-10 h-10",
|
|
6935
7018
|
children: [
|
|
6936
|
-
/* @__PURE__ */ (0,
|
|
7019
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6937
7020
|
"path",
|
|
6938
7021
|
{
|
|
6939
7022
|
fill: "#169154",
|
|
6940
7023
|
d: "M29,6H15.744C14.781,6,14,6.781,14,7.744v7.259h15V6z"
|
|
6941
7024
|
}
|
|
6942
7025
|
),
|
|
6943
|
-
/* @__PURE__ */ (0,
|
|
7026
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6944
7027
|
"path",
|
|
6945
7028
|
{
|
|
6946
7029
|
fill: "#18482a",
|
|
6947
7030
|
d: "M14,33.054v7.202C14,41.219,14.781,42,15.743,42H29v-8.946H14z"
|
|
6948
7031
|
}
|
|
6949
7032
|
),
|
|
6950
|
-
/* @__PURE__ */ (0,
|
|
6951
|
-
/* @__PURE__ */ (0,
|
|
6952
|
-
/* @__PURE__ */ (0,
|
|
6953
|
-
/* @__PURE__ */ (0,
|
|
7033
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#0c8045", d: "M14 15.003H29V24.005000000000003H14z" }),
|
|
7034
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#17472a", d: "M14 24.005H29V33.055H14z" }),
|
|
7035
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { children: [
|
|
7036
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6954
7037
|
"path",
|
|
6955
7038
|
{
|
|
6956
7039
|
fill: "#29c27f",
|
|
6957
7040
|
d: "M42.256,6H29v9.003h15V7.744C44,6.781,43.219,6,42.256,6z"
|
|
6958
7041
|
}
|
|
6959
7042
|
),
|
|
6960
|
-
/* @__PURE__ */ (0,
|
|
7043
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6961
7044
|
"path",
|
|
6962
7045
|
{
|
|
6963
7046
|
fill: "#27663f",
|
|
6964
7047
|
d: "M29,33.054V42h13.257C43.219,42,44,41.219,44,40.257v-7.202H29z"
|
|
6965
7048
|
}
|
|
6966
7049
|
),
|
|
6967
|
-
/* @__PURE__ */ (0,
|
|
6968
|
-
/* @__PURE__ */ (0,
|
|
7050
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#19ac65", d: "M29 15.003H44V24.005000000000003H29z" }),
|
|
7051
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#129652", d: "M29 24.005H44V33.055H29z" })
|
|
6969
7052
|
] }),
|
|
6970
|
-
/* @__PURE__ */ (0,
|
|
7053
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6971
7054
|
"path",
|
|
6972
7055
|
{
|
|
6973
7056
|
fill: "#0c7238",
|
|
6974
7057
|
d: "M22.319,34H5.681C4.753,34,4,33.247,4,32.319V15.681C4,14.753,4.753,14,5.681,14h16.638 C23.247,14,24,14.753,24,15.681v16.638C24,33.247,23.247,34,22.319,34z"
|
|
6975
7058
|
}
|
|
6976
7059
|
),
|
|
6977
|
-
/* @__PURE__ */ (0,
|
|
7060
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6978
7061
|
"path",
|
|
6979
7062
|
{
|
|
6980
7063
|
fill: "#fff",
|
|
@@ -6984,7 +7067,7 @@ var ExcelIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
6984
7067
|
]
|
|
6985
7068
|
}
|
|
6986
7069
|
);
|
|
6987
|
-
var WordIcon2 = () => /* @__PURE__ */ (0,
|
|
7070
|
+
var WordIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
6988
7071
|
"svg",
|
|
6989
7072
|
{
|
|
6990
7073
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6992,14 +7075,14 @@ var WordIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
6992
7075
|
className: "w-10 h-10",
|
|
6993
7076
|
baseProfile: "basic",
|
|
6994
7077
|
children: [
|
|
6995
|
-
/* @__PURE__ */ (0,
|
|
7078
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6996
7079
|
"path",
|
|
6997
7080
|
{
|
|
6998
7081
|
fill: "#283593",
|
|
6999
7082
|
d: "M9,33.595l14.911-18.706L41,26v13.306C41,41.346,39.346,43,37.306,43H15.332 C11.835,43,9,40.164,9,36.667C9,36.667,9,33.595,9,33.595z"
|
|
7000
7083
|
}
|
|
7001
7084
|
),
|
|
7002
|
-
/* @__PURE__ */ (0,
|
|
7085
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7003
7086
|
"linearGradient",
|
|
7004
7087
|
{
|
|
7005
7088
|
id: "qh2LT5tehRDFkLLfb-odWa",
|
|
@@ -7010,19 +7093,19 @@ var WordIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7010
7093
|
gradientTransform: "translate(0 -339.89)",
|
|
7011
7094
|
gradientUnits: "userSpaceOnUse",
|
|
7012
7095
|
children: [
|
|
7013
|
-
/* @__PURE__ */ (0,
|
|
7014
|
-
/* @__PURE__ */ (0,
|
|
7096
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0", "stop-color": "#66c0ff" }),
|
|
7097
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: ".26", "stop-color": "#0094f0" })
|
|
7015
7098
|
]
|
|
7016
7099
|
}
|
|
7017
7100
|
),
|
|
7018
|
-
/* @__PURE__ */ (0,
|
|
7101
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7019
7102
|
"path",
|
|
7020
7103
|
{
|
|
7021
7104
|
fill: "url(#qh2LT5tehRDFkLLfb-odWa)",
|
|
7022
7105
|
d: "M9,20.208c0-2.624,2.126-4.75,4.749-4.75h21.857L41,12.778v13.527 C41,28.346,39.346,30,37.306,30H15.332C11.835,30,9,32.836,9,36.333L9,20.208L9,20.208z"
|
|
7023
7106
|
}
|
|
7024
7107
|
),
|
|
7025
|
-
/* @__PURE__ */ (0,
|
|
7108
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7026
7109
|
"path",
|
|
7027
7110
|
{
|
|
7028
7111
|
fill: "#1e88e5",
|
|
@@ -7030,21 +7113,21 @@ var WordIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7030
7113
|
d: "M9,20.208c0-2.624,2.126-4.75,4.749-4.75h21.857L41,12.778v13.527 C41,28.346,39.346,30,37.306,30H15.332C11.835,30,9,32.836,9,36.333L9,20.208L9,20.208z"
|
|
7031
7114
|
}
|
|
7032
7115
|
),
|
|
7033
|
-
/* @__PURE__ */ (0,
|
|
7116
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7034
7117
|
"path",
|
|
7035
7118
|
{
|
|
7036
7119
|
fill: "#00e5ff",
|
|
7037
7120
|
d: "M9,10.333C9,6.836,11.835,4,15.332,4h21.975C39.346,4,41,5.654,41,7.694v5.611 C41,15.346,39.346,17,37.306,17H15.332C11.835,17,9,19.836,9,23.333C9,23.333,9,10.333,9,10.333z"
|
|
7038
7121
|
}
|
|
7039
7122
|
),
|
|
7040
|
-
/* @__PURE__ */ (0,
|
|
7123
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7041
7124
|
"path",
|
|
7042
7125
|
{
|
|
7043
7126
|
fill: "#1565c0",
|
|
7044
7127
|
d: "M7.5,23h10c1.933,0,3.5,1.567,3.5,3.5v10c0,1.933-1.567,3.5-3.5,3.5h-10C5.567,40,4,38.433,4,36.5 v-10C4,24.567,5.567,23,7.5,23z"
|
|
7045
7128
|
}
|
|
7046
7129
|
),
|
|
7047
|
-
/* @__PURE__ */ (0,
|
|
7130
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7048
7131
|
"path",
|
|
7049
7132
|
{
|
|
7050
7133
|
fill: "#fff",
|
|
@@ -7054,42 +7137,42 @@ var WordIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7054
7137
|
]
|
|
7055
7138
|
}
|
|
7056
7139
|
);
|
|
7057
|
-
var StandardIcon2 = () => /* @__PURE__ */ (0,
|
|
7140
|
+
var StandardIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7058
7141
|
"svg",
|
|
7059
7142
|
{
|
|
7060
7143
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7061
7144
|
viewBox: "0 0 48 48",
|
|
7062
7145
|
className: "w-10 h-10",
|
|
7063
7146
|
children: [
|
|
7064
|
-
/* @__PURE__ */ (0,
|
|
7065
|
-
/* @__PURE__ */ (0,
|
|
7147
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
|
|
7148
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" })
|
|
7066
7149
|
]
|
|
7067
7150
|
}
|
|
7068
7151
|
);
|
|
7069
|
-
var PowerPointIcon2 = () => /* @__PURE__ */ (0,
|
|
7152
|
+
var PowerPointIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7070
7153
|
"svg",
|
|
7071
7154
|
{
|
|
7072
7155
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7073
7156
|
viewBox: "0 0 48 48",
|
|
7074
7157
|
className: "w-10 h-10",
|
|
7075
7158
|
children: [
|
|
7076
|
-
/* @__PURE__ */ (0,
|
|
7159
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7077
7160
|
"path",
|
|
7078
7161
|
{
|
|
7079
7162
|
fill: "#dc4c2c",
|
|
7080
7163
|
d: "M8,24c0,9.941,8.059,18,18,18s18-8.059,18-18H26H8z"
|
|
7081
7164
|
}
|
|
7082
7165
|
),
|
|
7083
|
-
/* @__PURE__ */ (0,
|
|
7084
|
-
/* @__PURE__ */ (0,
|
|
7085
|
-
/* @__PURE__ */ (0,
|
|
7166
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#f7a278", d: "M26,6v18h18C44,14.059,35.941,6,26,6z" }),
|
|
7167
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#c06346", d: "M26,6C16.059,6,8,14.059,8,24h18V6z" }),
|
|
7168
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7086
7169
|
"path",
|
|
7087
7170
|
{
|
|
7088
7171
|
fill: "#9b341f",
|
|
7089
7172
|
d: "M22.319,34H5.681C4.753,34,4,33.247,4,32.319V15.681C4,14.753,4.753,14,5.681,14h16.638 C23.247,14,24,14.753,24,15.681v16.638C24,33.247,23.247,34,22.319,34z"
|
|
7090
7173
|
}
|
|
7091
7174
|
),
|
|
7092
|
-
/* @__PURE__ */ (0,
|
|
7175
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7093
7176
|
"path",
|
|
7094
7177
|
{
|
|
7095
7178
|
fill: "#fff",
|
|
@@ -7099,16 +7182,16 @@ var PowerPointIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7099
7182
|
]
|
|
7100
7183
|
}
|
|
7101
7184
|
);
|
|
7102
|
-
var TextIcon2 = () => /* @__PURE__ */ (0,
|
|
7185
|
+
var TextIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7103
7186
|
"svg",
|
|
7104
7187
|
{
|
|
7105
7188
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7106
7189
|
viewBox: "0 0 48 48",
|
|
7107
7190
|
className: "w-10 h-10",
|
|
7108
7191
|
children: [
|
|
7109
|
-
/* @__PURE__ */ (0,
|
|
7110
|
-
/* @__PURE__ */ (0,
|
|
7111
|
-
/* @__PURE__ */ (0,
|
|
7192
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
|
|
7193
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" }),
|
|
7194
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7112
7195
|
"path",
|
|
7113
7196
|
{
|
|
7114
7197
|
fill: "#1976D2",
|
|
@@ -7118,7 +7201,7 @@ var TextIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7118
7201
|
]
|
|
7119
7202
|
}
|
|
7120
7203
|
);
|
|
7121
|
-
var ArchiveIcon2 = () => /* @__PURE__ */ (0,
|
|
7204
|
+
var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7122
7205
|
"svg",
|
|
7123
7206
|
{
|
|
7124
7207
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -7128,14 +7211,14 @@ var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7128
7211
|
version: "1.0",
|
|
7129
7212
|
className: "w-10 h-10",
|
|
7130
7213
|
children: [
|
|
7131
|
-
/* @__PURE__ */ (0,
|
|
7214
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("clipPath", { id: "273d29c8a6", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7132
7215
|
"path",
|
|
7133
7216
|
{
|
|
7134
7217
|
d: "M 8.90625 0 L 65.90625 0 L 65.90625 75 L 8.90625 75 Z M 8.90625 0 ",
|
|
7135
7218
|
"clip-rule": "nonzero"
|
|
7136
7219
|
}
|
|
7137
7220
|
) }) }),
|
|
7138
|
-
/* @__PURE__ */ (0,
|
|
7221
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("g", { "clip-path": "url(#273d29c8a6)", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7139
7222
|
"path",
|
|
7140
7223
|
{
|
|
7141
7224
|
fill: "#ff9100",
|
|
@@ -7144,7 +7227,7 @@ var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7144
7227
|
"fill-rule": "nonzero"
|
|
7145
7228
|
}
|
|
7146
7229
|
) }),
|
|
7147
|
-
/* @__PURE__ */ (0,
|
|
7230
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7148
7231
|
"path",
|
|
7149
7232
|
{
|
|
7150
7233
|
fill: "#fbe9e7",
|
|
@@ -7153,7 +7236,7 @@ var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7153
7236
|
"fill-rule": "nonzero"
|
|
7154
7237
|
}
|
|
7155
7238
|
),
|
|
7156
|
-
/* @__PURE__ */ (0,
|
|
7239
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7157
7240
|
"path",
|
|
7158
7241
|
{
|
|
7159
7242
|
fill: "#ffe0b2",
|
|
@@ -7162,7 +7245,7 @@ var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7162
7245
|
"fill-rule": "nonzero"
|
|
7163
7246
|
}
|
|
7164
7247
|
),
|
|
7165
|
-
/* @__PURE__ */ (0,
|
|
7248
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7166
7249
|
"path",
|
|
7167
7250
|
{
|
|
7168
7251
|
fill: "#ffe0b2",
|
|
@@ -7171,7 +7254,7 @@ var ArchiveIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
|
7171
7254
|
"fill-rule": "nonzero"
|
|
7172
7255
|
}
|
|
7173
7256
|
),
|
|
7174
|
-
/* @__PURE__ */ (0,
|
|
7257
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7175
7258
|
"path",
|
|
7176
7259
|
{
|
|
7177
7260
|
fill: "#ffe0b2",
|
|
@@ -7221,8 +7304,8 @@ var DocumentNode = (props) => {
|
|
|
7221
7304
|
documents = parseDocuments(props.node.documentAsset);
|
|
7222
7305
|
}
|
|
7223
7306
|
if (documents.length === 0) {
|
|
7224
|
-
return /* @__PURE__ */ (0,
|
|
7225
|
-
/* @__PURE__ */ (0,
|
|
7307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_jsx_runtime58.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "py-4 px-2 bg-neutral-weak border rounded text-center flex flex-col gap-2", children: [
|
|
7308
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "mx-auto w-10 h-10 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7226
7309
|
"svg",
|
|
7227
7310
|
{
|
|
7228
7311
|
className: "w-5 h-5",
|
|
@@ -7230,7 +7313,7 @@ var DocumentNode = (props) => {
|
|
|
7230
7313
|
stroke: "currentColor",
|
|
7231
7314
|
viewBox: "0 0 24 24",
|
|
7232
7315
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7233
|
-
children: /* @__PURE__ */ (0,
|
|
7316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7234
7317
|
"path",
|
|
7235
7318
|
{
|
|
7236
7319
|
strokeLinecap: "round",
|
|
@@ -7241,11 +7324,11 @@ var DocumentNode = (props) => {
|
|
|
7241
7324
|
)
|
|
7242
7325
|
}
|
|
7243
7326
|
) }),
|
|
7244
|
-
/* @__PURE__ */ (0,
|
|
7245
|
-
/* @__PURE__ */ (0,
|
|
7327
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "text-sm font-medium", children: "No documents found" }),
|
|
7328
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "text-xs", children: "No records found. Data may be empty or not available at the moment." })
|
|
7246
7329
|
] }) });
|
|
7247
7330
|
}
|
|
7248
|
-
return /* @__PURE__ */ (0,
|
|
7331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "", children: documents.map((doc, index) => {
|
|
7249
7332
|
const documentUrl = AssetUtility_default.resolveUrl(
|
|
7250
7333
|
props.assetBaseUrl,
|
|
7251
7334
|
doc.assetUrl
|
|
@@ -7263,16 +7346,16 @@ var DocumentNode = (props) => {
|
|
|
7263
7346
|
}
|
|
7264
7347
|
}
|
|
7265
7348
|
const { Icon: Icon2, extLabel } = getFileDetails2(documentUrl);
|
|
7266
|
-
return /* @__PURE__ */ (0,
|
|
7349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7267
7350
|
"div",
|
|
7268
7351
|
{
|
|
7269
7352
|
className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
|
|
7270
7353
|
children: [
|
|
7271
|
-
/* @__PURE__ */ (0,
|
|
7272
|
-
/* @__PURE__ */ (0,
|
|
7273
|
-
/* @__PURE__ */ (0,
|
|
7354
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center space-x-4 min-w-0", children: [
|
|
7355
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon2, {}) }),
|
|
7356
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
|
|
7274
7357
|
] }),
|
|
7275
|
-
/* @__PURE__ */ (0,
|
|
7358
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7276
7359
|
"a",
|
|
7277
7360
|
{
|
|
7278
7361
|
href: documentUrl,
|
|
@@ -7280,7 +7363,7 @@ var DocumentNode = (props) => {
|
|
|
7280
7363
|
rel: "noopener noreferrer",
|
|
7281
7364
|
className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
|
|
7282
7365
|
children: [
|
|
7283
|
-
/* @__PURE__ */ (0,
|
|
7366
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
7284
7367
|
"svg",
|
|
7285
7368
|
{
|
|
7286
7369
|
className: "w-4 h-4 mr-2",
|
|
@@ -7288,7 +7371,7 @@ var DocumentNode = (props) => {
|
|
|
7288
7371
|
stroke: "currentColor",
|
|
7289
7372
|
viewBox: "0 0 24 24",
|
|
7290
7373
|
children: [
|
|
7291
|
-
/* @__PURE__ */ (0,
|
|
7374
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7292
7375
|
"path",
|
|
7293
7376
|
{
|
|
7294
7377
|
strokeLinecap: "round",
|
|
@@ -7297,7 +7380,7 @@ var DocumentNode = (props) => {
|
|
|
7297
7380
|
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
7298
7381
|
}
|
|
7299
7382
|
),
|
|
7300
|
-
/* @__PURE__ */ (0,
|
|
7383
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
7301
7384
|
"path",
|
|
7302
7385
|
{
|
|
7303
7386
|
strokeLinecap: "round",
|
|
@@ -7323,13 +7406,13 @@ var DocumentNode_default = DocumentNode;
|
|
|
7323
7406
|
|
|
7324
7407
|
// src/components/pageRenderingEngine/nodes/GoogleMapNode.tsx
|
|
7325
7408
|
var import_dynamic12 = __toESM(require("next/dynamic"));
|
|
7326
|
-
var
|
|
7409
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
7327
7410
|
var IframeClient3 = (0, import_dynamic12.default)(() => Promise.resolve().then(() => (init_IframeClient(), IframeClient_exports)), {
|
|
7328
7411
|
ssr: false
|
|
7329
7412
|
});
|
|
7330
7413
|
var GoogleMapNode = (props) => {
|
|
7331
7414
|
let src = props.node.embedUrl;
|
|
7332
|
-
return /* @__PURE__ */ (0,
|
|
7415
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "google-map-container", children: src && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
7333
7416
|
IframeClient3,
|
|
7334
7417
|
{
|
|
7335
7418
|
src,
|
|
@@ -7341,7 +7424,7 @@ var GoogleMapNode = (props) => {
|
|
|
7341
7424
|
var GoogleMapNode_default = GoogleMapNode;
|
|
7342
7425
|
|
|
7343
7426
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
7344
|
-
var
|
|
7427
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
7345
7428
|
var Pagination2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_Pagination(), Pagination_exports)), { ssr: true });
|
|
7346
7429
|
var DataBindingControls2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_DataBindingControls(), DataBindingControls_exports)), {
|
|
7347
7430
|
ssr: true
|
|
@@ -7528,7 +7611,8 @@ var DivContainer = async (props) => {
|
|
|
7528
7611
|
datafield: DatafieldNode_default,
|
|
7529
7612
|
"svg-icon": SVGIconNode_default,
|
|
7530
7613
|
document: DocumentNode_default,
|
|
7531
|
-
"google-map": GoogleMapNode_default
|
|
7614
|
+
"google-map": GoogleMapNode_default,
|
|
7615
|
+
counter: CounterNode_default
|
|
7532
7616
|
};
|
|
7533
7617
|
const styles = props.node.cssProperties;
|
|
7534
7618
|
const mobileStyles = props.node.mobileCssProperties;
|
|
@@ -7626,7 +7710,7 @@ var DivContainer = async (props) => {
|
|
|
7626
7710
|
}
|
|
7627
7711
|
const SelectedNode = NodeTypes2[node.type];
|
|
7628
7712
|
if (!SelectedNode) return null;
|
|
7629
|
-
return /* @__PURE__ */ (0,
|
|
7713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react42.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7630
7714
|
SelectedNode,
|
|
7631
7715
|
{
|
|
7632
7716
|
node,
|
|
@@ -7718,7 +7802,7 @@ var DivContainer = async (props) => {
|
|
|
7718
7802
|
item,
|
|
7719
7803
|
idx,
|
|
7720
7804
|
props.href ? void 0 : item?.links?.view
|
|
7721
|
-
)?.map((child, i) => /* @__PURE__ */ (0,
|
|
7805
|
+
)?.map((child, i) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react42.default.Fragment, { children: child }, i)) : renderChildren2(props.node.children, props, item, idx)
|
|
7722
7806
|
);
|
|
7723
7807
|
}
|
|
7724
7808
|
return props.node.children.flatMap((node, childIndex) => {
|
|
@@ -7836,17 +7920,17 @@ var DivContainer = async (props) => {
|
|
|
7836
7920
|
dataBindingProperties?.showFacets || dataBindingProperties?.showSortOptions || dataBindingProperties?.showSearchBar
|
|
7837
7921
|
);
|
|
7838
7922
|
const WrapperComponent = Wrapper;
|
|
7839
|
-
const renderedContainer = /* @__PURE__ */ (0,
|
|
7923
|
+
const renderedContainer = /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7840
7924
|
WrapperComponent,
|
|
7841
7925
|
{
|
|
7842
7926
|
id: guid,
|
|
7843
7927
|
style: combinedStyles,
|
|
7844
7928
|
className: classNames || void 0,
|
|
7845
7929
|
...wrapperProps,
|
|
7846
|
-
children: shouldShowNoDataMessage ? hasActiveFilter ? /* @__PURE__ */ (0,
|
|
7930
|
+
children: shouldShowNoDataMessage ? hasActiveFilter ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(NoFilterResultsFound_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(NoDataFound_default, {}) : renderContainerChildren()
|
|
7847
7931
|
}
|
|
7848
7932
|
);
|
|
7849
|
-
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0,
|
|
7933
|
+
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7850
7934
|
Pagination2,
|
|
7851
7935
|
{
|
|
7852
7936
|
path: props.path,
|
|
@@ -7854,15 +7938,15 @@ var DivContainer = async (props) => {
|
|
|
7854
7938
|
dataset: response
|
|
7855
7939
|
}
|
|
7856
7940
|
) : null;
|
|
7857
|
-
return /* @__PURE__ */ (0,
|
|
7858
|
-
/* @__PURE__ */ (0,
|
|
7941
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_react42.default.Fragment, { children: [
|
|
7942
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7859
7943
|
"style",
|
|
7860
7944
|
{
|
|
7861
7945
|
dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS }
|
|
7862
7946
|
}
|
|
7863
7947
|
),
|
|
7864
|
-
showDataBindingControls ? /* @__PURE__ */ (0,
|
|
7865
|
-
/* @__PURE__ */ (0,
|
|
7948
|
+
showDataBindingControls ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_react42.default.Fragment, { children: [
|
|
7949
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7866
7950
|
DataBindingControls2,
|
|
7867
7951
|
{
|
|
7868
7952
|
mode: "toolbar",
|
|
@@ -7875,16 +7959,16 @@ var DivContainer = async (props) => {
|
|
|
7875
7959
|
showSearchBar: dataBindingProperties?.showSearchBar
|
|
7876
7960
|
}
|
|
7877
7961
|
),
|
|
7878
|
-
/* @__PURE__ */ (0,
|
|
7962
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
7879
7963
|
"div",
|
|
7880
7964
|
{
|
|
7881
7965
|
className: dataBindingProperties?.showFacets ? "grid items-start gap-6 lg:grid-cols-[minmax(0,1fr)_18rem]" : void 0,
|
|
7882
7966
|
children: [
|
|
7883
|
-
/* @__PURE__ */ (0,
|
|
7967
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "min-w-0", children: [
|
|
7884
7968
|
renderedContainer,
|
|
7885
7969
|
paginationControl
|
|
7886
7970
|
] }),
|
|
7887
|
-
dataBindingProperties?.showFacets && /* @__PURE__ */ (0,
|
|
7971
|
+
dataBindingProperties?.showFacets && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("aside", { className: "hidden lg:block", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
7888
7972
|
DataBindingControls2,
|
|
7889
7973
|
{
|
|
7890
7974
|
mode: "facets",
|
|
@@ -7897,16 +7981,16 @@ var DivContainer = async (props) => {
|
|
|
7897
7981
|
]
|
|
7898
7982
|
}
|
|
7899
7983
|
)
|
|
7900
|
-
] }) : /* @__PURE__ */ (0,
|
|
7984
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_react42.default.Fragment, { children: [
|
|
7901
7985
|
renderedContainer,
|
|
7902
|
-
paginationControl && /* @__PURE__ */ (0,
|
|
7986
|
+
paginationControl && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { children: paginationControl })
|
|
7903
7987
|
] })
|
|
7904
7988
|
] });
|
|
7905
7989
|
};
|
|
7906
7990
|
var DivContainer_default = DivContainer;
|
|
7907
7991
|
|
|
7908
7992
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
7909
|
-
var
|
|
7993
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
7910
7994
|
var NodeTypes = {
|
|
7911
7995
|
["paragraph"]: ParagraphNode_default,
|
|
7912
7996
|
["heading"]: HeadingNode_default,
|
|
@@ -7922,7 +8006,8 @@ var NodeTypes = {
|
|
|
7922
8006
|
["svg-icon"]: SVGIconNode_default,
|
|
7923
8007
|
["embed"]: EmbedNode_default,
|
|
7924
8008
|
["document"]: DocumentNode_default,
|
|
7925
|
-
["google-map"]: GoogleMapNode_default
|
|
8009
|
+
["google-map"]: GoogleMapNode_default,
|
|
8010
|
+
["counter"]: CounterNode_default
|
|
7926
8011
|
};
|
|
7927
8012
|
var PageBodyRenderer = (props) => {
|
|
7928
8013
|
let pageBodyTree;
|
|
@@ -7944,45 +8029,48 @@ var PageBodyRenderer = (props) => {
|
|
|
7944
8029
|
}
|
|
7945
8030
|
return true;
|
|
7946
8031
|
};
|
|
7947
|
-
return /* @__PURE__ */ (0,
|
|
8032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react43.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
|
|
7948
8033
|
{
|
|
7949
8034
|
}
|
|
7950
8035
|
const SelectedNode = NodeTypes[node.type];
|
|
7951
8036
|
if (!shouldRenderNode(node)) {
|
|
7952
8037
|
return null;
|
|
7953
8038
|
}
|
|
7954
|
-
return /* @__PURE__ */ (0,
|
|
7955
|
-
|
|
7956
|
-
{
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
7966
|
-
|
|
7967
|
-
|
|
7968
|
-
|
|
7969
|
-
|
|
7970
|
-
|
|
7971
|
-
|
|
7972
|
-
{
|
|
7973
|
-
|
|
7974
|
-
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
|
|
8039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react43.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_react43.default.Fragment, { children: [
|
|
8040
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { children: "xncbvcxmn" }),
|
|
8041
|
+
node.type == "layout-container" ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react43.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
8042
|
+
SelectedNode,
|
|
8043
|
+
{
|
|
8044
|
+
node,
|
|
8045
|
+
firstNode: true,
|
|
8046
|
+
routeParameters: props.routeParameters,
|
|
8047
|
+
query: props.query,
|
|
8048
|
+
session: props.session,
|
|
8049
|
+
host: props.host,
|
|
8050
|
+
path: props.path,
|
|
8051
|
+
apiBaseUrl: props.apiBaseUrl,
|
|
8052
|
+
serviceClient: props.serviceClient,
|
|
8053
|
+
assetBaseUrl: props.assetBaseUrl,
|
|
8054
|
+
device: props.device,
|
|
8055
|
+
widgetRenderer: props.widgetRenderer
|
|
8056
|
+
}
|
|
8057
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react43.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
8058
|
+
SelectedNode,
|
|
8059
|
+
{
|
|
8060
|
+
node,
|
|
8061
|
+
routeParameters: props.routeParameters,
|
|
8062
|
+
query: props.query,
|
|
8063
|
+
session: props.session,
|
|
8064
|
+
host: props.host,
|
|
8065
|
+
path: props.path,
|
|
8066
|
+
apiBaseUrl: props.apiBaseUrl,
|
|
8067
|
+
serviceClient: props.serviceClient,
|
|
8068
|
+
assetBaseUrl: props.assetBaseUrl,
|
|
8069
|
+
device: props.device,
|
|
8070
|
+
widgetRenderer: props.widgetRenderer
|
|
8071
|
+
}
|
|
8072
|
+
) })
|
|
8073
|
+
] }) }, index);
|
|
7986
8074
|
}) });
|
|
7987
8075
|
};
|
|
7988
8076
|
var PageBodyRenderer_default = PageBodyRenderer;
|