@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260831063450 → 0.8.1-dev.20260901043813
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/{CommentRendererClient-IAXFBEMF.mjs → CommentRendererClient-FU5ZMGBV.mjs} +58 -4
- package/dist/{CommentRendererClient-XPZN5L64.mjs → CommentRendererClient-L6GILW7U.mjs} +58 -4
- package/dist/{DataBindingControls-Y4JXUDZV.mjs → DataBindingControls-ANAEGFPF.mjs} +2 -2
- package/dist/{DataBindingControls-JLAO3NJL.mjs → DataBindingControls-GA2UILYQ.mjs} +2 -2
- package/dist/{InputControlClient-XC24HYZX.mjs → InputControlClient-HDT3N6ZI.mjs} +80 -262
- package/dist/{InputControlClient-POQDFVL3.mjs → InputControlClient-ZM6VEU6Q.mjs} +2 -7
- package/dist/{Pagination-T7Z2NXKO.mjs → Pagination-JGUQJ2DH.mjs} +2 -2
- package/dist/{Pagination-QBPYDD66.mjs → Pagination-LNJ27L7U.mjs} +2 -2
- package/dist/{chunk-5TQWVOWH.mjs → chunk-2VS554XP.mjs} +1 -1
- package/dist/{chunk-GGG5MJLN.mjs → chunk-37F2HMKK.mjs} +1 -1
- package/dist/{chunk-E4VOFO5Q.mjs → chunk-DTWPZPSX.mjs} +0 -3
- package/dist/{chunk-4R7F7LBL.mjs → chunk-IEY342PD.mjs} +0 -3
- package/dist/{chunk-XTG4JW2O.mjs → chunk-PE3NKJNR.mjs} +34 -215
- package/dist/{chunk-X5ERUUQV.mjs → chunk-RG3CISAA.mjs} +1 -1
- package/dist/index.d.mts +1 -8
- package/dist/index.d.ts +1 -8
- package/dist/index.js +694 -842
- package/dist/index.mjs +7 -11
- package/dist/server.js +222 -364
- package/dist/server.mjs +5 -5
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -2509,7 +2509,7 @@ var init_CommentFileNode = __esm({
|
|
|
2509
2509
|
});
|
|
2510
2510
|
|
|
2511
2511
|
// src/components/controls/view/CommentNodeRenderer.tsx
|
|
2512
|
-
var import_react24, import_jsx_runtime36, TextLeafNode, renderChildren, headingLevelFromTag, CommentNodeRenderer, CommentNodeRenderer_default;
|
|
2512
|
+
var import_react24, import_jsx_runtime36, LINK_STYLE, URL_PATTERN, linkifyText, TextLeafNode, renderChildren, headingLevelFromTag, CommentNodeRenderer, CommentNodeRenderer_default;
|
|
2513
2513
|
var init_CommentNodeRenderer = __esm({
|
|
2514
2514
|
"src/components/controls/view/CommentNodeRenderer.tsx"() {
|
|
2515
2515
|
"use strict";
|
|
@@ -2518,8 +2518,42 @@ var init_CommentNodeRenderer = __esm({
|
|
|
2518
2518
|
init_CommentImageNode();
|
|
2519
2519
|
init_CommentFileNode();
|
|
2520
2520
|
import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2521
|
+
LINK_STYLE = { textDecoration: "underline", wordBreak: "break-word" };
|
|
2522
|
+
URL_PATTERN = /(https?:\/\/[^\s<>"']+|www\.[^\s<>"']+)/gi;
|
|
2523
|
+
linkifyText = (text, keyPrefix) => {
|
|
2524
|
+
const parts = text.split(URL_PATTERN);
|
|
2525
|
+
if (parts.length === 1) {
|
|
2526
|
+
return text;
|
|
2527
|
+
}
|
|
2528
|
+
return parts.map((part, index) => {
|
|
2529
|
+
if (!part) {
|
|
2530
|
+
return null;
|
|
2531
|
+
}
|
|
2532
|
+
const isUrl = index % 2 === 1;
|
|
2533
|
+
if (!isUrl) {
|
|
2534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react24.default.Fragment, { children: part }, `${keyPrefix}-${index}`);
|
|
2535
|
+
}
|
|
2536
|
+
const trimmed = part.replace(/[.,;:!?)\]]+$/, "");
|
|
2537
|
+
const trailing = part.slice(trimmed.length);
|
|
2538
|
+
const href = trimmed.startsWith("www.") ? `https://${trimmed}` : trimmed;
|
|
2539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_react24.default.Fragment, { children: [
|
|
2540
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2541
|
+
"a",
|
|
2542
|
+
{
|
|
2543
|
+
href,
|
|
2544
|
+
target: "_blank",
|
|
2545
|
+
rel: "noopener noreferrer nofollow ugc",
|
|
2546
|
+
className: "comment-node-link bg-info-weak",
|
|
2547
|
+
style: LINK_STYLE,
|
|
2548
|
+
children: trimmed
|
|
2549
|
+
}
|
|
2550
|
+
),
|
|
2551
|
+
trailing
|
|
2552
|
+
] }, `${keyPrefix}-${index}`);
|
|
2553
|
+
});
|
|
2554
|
+
};
|
|
2521
2555
|
TextLeafNode = ({ node }) => {
|
|
2522
|
-
let content = node.text;
|
|
2556
|
+
let content = node.code ? node.text : linkifyText(node.text ?? "", node.id ?? "comment-text");
|
|
2523
2557
|
if (node.code) content = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("code", { className: "comment-node-code", children: content });
|
|
2524
2558
|
if (node.bold) content = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("strong", { children: content });
|
|
2525
2559
|
if (node.italic) content = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("em", { children: content });
|
|
@@ -2558,8 +2592,18 @@ var init_CommentNodeRenderer = __esm({
|
|
|
2558
2592
|
const element = asElementNode(node);
|
|
2559
2593
|
const key = element.id ?? element.type;
|
|
2560
2594
|
switch (element.type) {
|
|
2561
|
-
case "paragraph":
|
|
2562
|
-
|
|
2595
|
+
case "paragraph": {
|
|
2596
|
+
const paragraphChildren = element.children ?? [];
|
|
2597
|
+
const isEmptyParagraph = paragraphChildren.length === 0 || paragraphChildren.every((child) => isTextNode(child) && (child.text ?? "").length === 0);
|
|
2598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2599
|
+
"p",
|
|
2600
|
+
{
|
|
2601
|
+
className: "comment-node-paragraph",
|
|
2602
|
+
style: { margin: 0, whiteSpace: "pre-wrap", wordBreak: "break-word" },
|
|
2603
|
+
children: isEmptyParagraph ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("br", {}) : renderChildren(element.children, key, assetBaseUrl)
|
|
2604
|
+
}
|
|
2605
|
+
);
|
|
2606
|
+
}
|
|
2563
2607
|
case "heading": {
|
|
2564
2608
|
const level = headingLevelFromTag(element.tag ?? element.level);
|
|
2565
2609
|
const HeadingTag = `h${level}`;
|
|
@@ -2585,7 +2629,17 @@ var init_CommentNodeRenderer = __esm({
|
|
|
2585
2629
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommentFileNode_default, { node: element, assetBaseUrl });
|
|
2586
2630
|
case "link": {
|
|
2587
2631
|
const url = typeof element.url === "string" ? element.url : "#";
|
|
2588
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2633
|
+
"a",
|
|
2634
|
+
{
|
|
2635
|
+
href: url,
|
|
2636
|
+
target: "_blank",
|
|
2637
|
+
rel: "noopener noreferrer",
|
|
2638
|
+
className: "comment-node-link bg-info-weak",
|
|
2639
|
+
style: LINK_STYLE,
|
|
2640
|
+
children: renderChildren(element.children, key, assetBaseUrl)
|
|
2641
|
+
}
|
|
2642
|
+
);
|
|
2589
2643
|
}
|
|
2590
2644
|
case "mention": {
|
|
2591
2645
|
const label = element.label ?? element.mentionName ?? element.text ?? "";
|
|
@@ -2951,7 +3005,6 @@ var init_InputControlType = __esm({
|
|
|
2951
3005
|
moneyInput: "money",
|
|
2952
3006
|
select: "select",
|
|
2953
3007
|
percentageInput: "percentage",
|
|
2954
|
-
asset: "asset",
|
|
2955
3008
|
assetUpload: "assetUpload",
|
|
2956
3009
|
phoneInput: "phone",
|
|
2957
3010
|
numberInput: "numberInput",
|
|
@@ -2962,11 +3015,9 @@ var init_InputControlType = __esm({
|
|
|
2962
3015
|
colorInput: "colorInput",
|
|
2963
3016
|
selectWithSearchInput: "selectWithSearchInput",
|
|
2964
3017
|
selectWithSearchPanel: "selectWithSearchPanel",
|
|
2965
|
-
booleanSelect: "booleanSelect",
|
|
2966
3018
|
switchInput: "switchInput",
|
|
2967
3019
|
dateInput: "dateInput",
|
|
2968
3020
|
radioInput: "radioInput",
|
|
2969
|
-
switcher: "switcher",
|
|
2970
3021
|
videoInput: "videoInput",
|
|
2971
3022
|
referenceInput: "referenceInput"
|
|
2972
3023
|
};
|
|
@@ -4650,106 +4701,13 @@ var init_SelectWithSearchPanel = __esm({
|
|
|
4650
4701
|
}
|
|
4651
4702
|
});
|
|
4652
4703
|
|
|
4653
|
-
// src/components/controls/edit/BooleanSelect.tsx
|
|
4654
|
-
var import_react51, import_jsx_runtime77, BooleanSelect, BooleanSelect_default;
|
|
4655
|
-
var init_BooleanSelect = __esm({
|
|
4656
|
-
"src/components/controls/edit/BooleanSelect.tsx"() {
|
|
4657
|
-
"use strict";
|
|
4658
|
-
import_react51 = __toESM(require("react"));
|
|
4659
|
-
import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4660
|
-
BooleanSelect = (props) => {
|
|
4661
|
-
const [list, setList] = (0, import_react51.useState)();
|
|
4662
|
-
const textChangeHandler = (event) => {
|
|
4663
|
-
const text = event.target.value;
|
|
4664
|
-
const boolValue = text?.toLowerCase() === "true" || text === "1";
|
|
4665
|
-
if (props.callback !== void 0) {
|
|
4666
|
-
props.callback({
|
|
4667
|
-
name: props.name,
|
|
4668
|
-
value: boolValue,
|
|
4669
|
-
index: props.index,
|
|
4670
|
-
groupKey: props.groupKey
|
|
4671
|
-
});
|
|
4672
|
-
}
|
|
4673
|
-
};
|
|
4674
|
-
(0, import_react51.useEffect)(() => {
|
|
4675
|
-
async function fetchData() {
|
|
4676
|
-
console.log("in select");
|
|
4677
|
-
if (props.dataset) {
|
|
4678
|
-
setList(props.dataset);
|
|
4679
|
-
} else if (props.dataSource && props.dataSource != "" && props.serviceClient) {
|
|
4680
|
-
let dataSource = props.dataSource;
|
|
4681
|
-
let response;
|
|
4682
|
-
if (props.dataSourceDependsOn) {
|
|
4683
|
-
if (props.dependentValue) {
|
|
4684
|
-
dataSource = dataSource.replace(
|
|
4685
|
-
`{${props.dataSourceDependsOn}}`,
|
|
4686
|
-
props.dependentValue
|
|
4687
|
-
);
|
|
4688
|
-
response = await props.serviceClient.get(dataSource);
|
|
4689
|
-
setList(response.result);
|
|
4690
|
-
}
|
|
4691
|
-
} else {
|
|
4692
|
-
response = await props.serviceClient.get(dataSource);
|
|
4693
|
-
setList(response.result);
|
|
4694
|
-
}
|
|
4695
|
-
}
|
|
4696
|
-
}
|
|
4697
|
-
fetchData();
|
|
4698
|
-
}, [
|
|
4699
|
-
props.dataSource,
|
|
4700
|
-
props.dependentValue,
|
|
4701
|
-
props.dataset,
|
|
4702
|
-
props.dataSourceDependsOn
|
|
4703
|
-
]);
|
|
4704
|
-
let value;
|
|
4705
|
-
if (props.value !== void 0 && props.value !== null) {
|
|
4706
|
-
value = props.value;
|
|
4707
|
-
}
|
|
4708
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react51.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("label", { className: "block", children: [
|
|
4709
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "text-sm font-medium ", children: props?.attributes?.label }),
|
|
4710
|
-
" ",
|
|
4711
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "bg-error-weak", children: "*" }),
|
|
4712
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
4713
|
-
"select",
|
|
4714
|
-
{
|
|
4715
|
-
name: props.name,
|
|
4716
|
-
id: props.name,
|
|
4717
|
-
value,
|
|
4718
|
-
onChange: textChangeHandler,
|
|
4719
|
-
required: props?.attributes?.required,
|
|
4720
|
-
placeholder: props?.attributes?.placeholder,
|
|
4721
|
-
disabled: props?.attributes?.readOnly,
|
|
4722
|
-
className: "peer mt-1 py-1.5 block w-full text-black rounded shadow-sm\n disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none\n ",
|
|
4723
|
-
children: [
|
|
4724
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("option", { className: "", value: "", children: props.attributes?.placeholder || "Select" }),
|
|
4725
|
-
list && list.map((item, i) => {
|
|
4726
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4727
|
-
"option",
|
|
4728
|
-
{
|
|
4729
|
-
className: "fac-select-option",
|
|
4730
|
-
value: item[props.dataKeyFieldName],
|
|
4731
|
-
children: item[props.dataTextFieldName]
|
|
4732
|
-
},
|
|
4733
|
-
item[props.dataKeyFieldName]
|
|
4734
|
-
);
|
|
4735
|
-
})
|
|
4736
|
-
]
|
|
4737
|
-
}
|
|
4738
|
-
),
|
|
4739
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
|
|
4740
|
-
] }) });
|
|
4741
|
-
};
|
|
4742
|
-
BooleanSelect_default = BooleanSelect;
|
|
4743
|
-
}
|
|
4744
|
-
});
|
|
4745
|
-
|
|
4746
4704
|
// src/components/controls/edit/EmailInput.tsx
|
|
4747
|
-
var
|
|
4705
|
+
var import_react51, import_jsx_runtime77, EmailInput, EmailInput_default;
|
|
4748
4706
|
var init_EmailInput = __esm({
|
|
4749
4707
|
"src/components/controls/edit/EmailInput.tsx"() {
|
|
4750
4708
|
"use strict";
|
|
4751
|
-
|
|
4752
|
-
|
|
4709
|
+
import_react51 = __toESM(require("react"));
|
|
4710
|
+
import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4753
4711
|
EmailInput = (props) => {
|
|
4754
4712
|
const textChangeHandler = (event) => {
|
|
4755
4713
|
const text = event.target.value;
|
|
@@ -4774,11 +4732,11 @@ var init_EmailInput = __esm({
|
|
|
4774
4732
|
if (props.value !== void 0 && props.value !== null) {
|
|
4775
4733
|
value = props.value;
|
|
4776
4734
|
}
|
|
4777
|
-
return /* @__PURE__ */ (0,
|
|
4778
|
-
/* @__PURE__ */ (0,
|
|
4735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react51.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("label", { className: "block mb-1", children: [
|
|
4736
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "text-sm font-medium text-slate-700", children: props?.attributes?.label }),
|
|
4779
4737
|
" ",
|
|
4780
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0,
|
|
4781
|
-
/* @__PURE__ */ (0,
|
|
4738
|
+
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "bg-error-weak", children: "*" }),
|
|
4739
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4782
4740
|
"input",
|
|
4783
4741
|
{
|
|
4784
4742
|
type: "email",
|
|
@@ -4794,7 +4752,7 @@ var init_EmailInput = __esm({
|
|
|
4794
4752
|
className: "peer mt-1 py-1.5 block w-full rounded shadow-sm\n transition-all duration-500 ease-in-out"
|
|
4795
4753
|
}
|
|
4796
4754
|
),
|
|
4797
|
-
/* @__PURE__ */ (0,
|
|
4755
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 mb-0 bg-error-weak text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
|
|
4798
4756
|
] }) });
|
|
4799
4757
|
};
|
|
4800
4758
|
EmailInput_default = EmailInput;
|
|
@@ -4802,13 +4760,13 @@ var init_EmailInput = __esm({
|
|
|
4802
4760
|
});
|
|
4803
4761
|
|
|
4804
4762
|
// src/components/controls/edit/TimeInput.tsx
|
|
4805
|
-
var
|
|
4763
|
+
var import_react52, import_jsx_runtime78, TimeInput, TimeInput_default;
|
|
4806
4764
|
var init_TimeInput = __esm({
|
|
4807
4765
|
"src/components/controls/edit/TimeInput.tsx"() {
|
|
4808
4766
|
"use strict";
|
|
4809
4767
|
"use client";
|
|
4810
|
-
|
|
4811
|
-
|
|
4768
|
+
import_react52 = __toESM(require("react"));
|
|
4769
|
+
import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4812
4770
|
TimeInput = (props) => {
|
|
4813
4771
|
const timeChangeHandler = (event) => {
|
|
4814
4772
|
const timeValue = event.target.value;
|
|
@@ -4821,11 +4779,11 @@ var init_TimeInput = __esm({
|
|
|
4821
4779
|
});
|
|
4822
4780
|
}
|
|
4823
4781
|
};
|
|
4824
|
-
return /* @__PURE__ */ (0,
|
|
4825
|
-
/* @__PURE__ */ (0,
|
|
4782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react52.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("label", { className: "block mb-1", children: [
|
|
4783
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-sm font-medium", children: props?.attributes?.label }),
|
|
4826
4784
|
" ",
|
|
4827
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0,
|
|
4828
|
-
/* @__PURE__ */ (0,
|
|
4785
|
+
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "bg-error-weak", children: "*" }),
|
|
4786
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4829
4787
|
"input",
|
|
4830
4788
|
{
|
|
4831
4789
|
type: "time",
|
|
@@ -4838,7 +4796,7 @@ var init_TimeInput = __esm({
|
|
|
4838
4796
|
className: "peer mt-1 py-1.5 block w-full rounded shadow-sm\n disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none"
|
|
4839
4797
|
}
|
|
4840
4798
|
) }),
|
|
4841
|
-
/* @__PURE__ */ (0,
|
|
4799
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props?.attributes?.errorMessage ?? "" })
|
|
4842
4800
|
] }) });
|
|
4843
4801
|
};
|
|
4844
4802
|
TimeInput_default = TimeInput;
|
|
@@ -4846,18 +4804,18 @@ var init_TimeInput = __esm({
|
|
|
4846
4804
|
});
|
|
4847
4805
|
|
|
4848
4806
|
// src/components/controls/edit/AssetUpload.tsx
|
|
4849
|
-
var
|
|
4807
|
+
var import_react53, import_jsx_runtime79, AssetUpload, AssetUpload_default;
|
|
4850
4808
|
var init_AssetUpload = __esm({
|
|
4851
4809
|
"src/components/controls/edit/AssetUpload.tsx"() {
|
|
4852
4810
|
"use strict";
|
|
4853
4811
|
"use client";
|
|
4854
|
-
|
|
4812
|
+
import_react53 = __toESM(require("react"));
|
|
4855
4813
|
init_ClientButton();
|
|
4856
4814
|
init_StyleTypes();
|
|
4857
4815
|
init_AssetUtility();
|
|
4858
4816
|
init_Hyperlink();
|
|
4859
4817
|
init_Icon();
|
|
4860
|
-
|
|
4818
|
+
import_jsx_runtime79 = require("react/jsx-runtime");
|
|
4861
4819
|
AssetUpload = (props) => {
|
|
4862
4820
|
const isDisabled = props.attributes?.disable ?? false;
|
|
4863
4821
|
let allValues = [];
|
|
@@ -4878,8 +4836,8 @@ var init_AssetUpload = __esm({
|
|
|
4878
4836
|
}
|
|
4879
4837
|
return "image";
|
|
4880
4838
|
};
|
|
4881
|
-
const [assetType, setAssetType] =
|
|
4882
|
-
(0,
|
|
4839
|
+
const [assetType, setAssetType] = import_react53.default.useState(getInitialTab);
|
|
4840
|
+
(0, import_react53.useEffect)(() => {
|
|
4883
4841
|
setAssetType(getInitialTab());
|
|
4884
4842
|
}, [props.value]);
|
|
4885
4843
|
const assetUploadCallback = (newAsset) => {
|
|
@@ -4954,10 +4912,10 @@ var init_AssetUpload = __esm({
|
|
|
4954
4912
|
}
|
|
4955
4913
|
return false;
|
|
4956
4914
|
};
|
|
4957
|
-
return /* @__PURE__ */ (0,
|
|
4958
|
-
/* @__PURE__ */ (0,
|
|
4959
|
-
/* @__PURE__ */ (0,
|
|
4960
|
-
/* @__PURE__ */ (0,
|
|
4915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_react53.default.Fragment, { children: [
|
|
4916
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "block mb-1", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-sm font-medium", children: props?.attributes?.label }) }),
|
|
4917
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex gap-6 bg-neutral-100 rounded p-2", children: [
|
|
4918
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4961
4919
|
ClientButton_default,
|
|
4962
4920
|
{
|
|
4963
4921
|
className: assetType === "image" ? "px-2 py-1 rounded bg-body-200 scale-95" : "text-neutral-700",
|
|
@@ -4967,7 +4925,7 @@ var init_AssetUpload = __esm({
|
|
|
4967
4925
|
children: "Image Upload"
|
|
4968
4926
|
}
|
|
4969
4927
|
),
|
|
4970
|
-
/* @__PURE__ */ (0,
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4971
4929
|
ClientButton_default,
|
|
4972
4930
|
{
|
|
4973
4931
|
className: assetType === "video" ? "bg-body-200 px-2 py-1 rounded-md scale-95" : "text-neutral-700",
|
|
@@ -4978,13 +4936,13 @@ var init_AssetUpload = __esm({
|
|
|
4978
4936
|
}
|
|
4979
4937
|
)
|
|
4980
4938
|
] }),
|
|
4981
|
-
shouldShowDetails() && /* @__PURE__ */ (0,
|
|
4982
|
-
/* @__PURE__ */ (0,
|
|
4983
|
-
/* @__PURE__ */ (0,
|
|
4984
|
-
/* @__PURE__ */ (0,
|
|
4985
|
-
/* @__PURE__ */ (0,
|
|
4986
|
-
/* @__PURE__ */ (0,
|
|
4987
|
-
/* @__PURE__ */ (0,
|
|
4939
|
+
shouldShowDetails() && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative mt-4 rounded-md p-4 border-2 border-dotted border-gray-300 bg-gray-50", children: [
|
|
4940
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "absolute -top-2.5 left-3 bg-primary-600 text-white text-xs px-2 py-0.5 rounded-full", children: getAssetType(allValues[0]) === "video" ? "Video" : "Image" }),
|
|
4941
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex flex-col gap-3", children: allValues.map((digitalAsset, index) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex justify-between items-start gap-5", children: [
|
|
4942
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "grid grid-cols-2 gap-x-8 gap-y-3 text-sm w-full", children: [
|
|
4943
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { children: [
|
|
4944
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-gray-500", children: "Title" }),
|
|
4945
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4988
4946
|
"input",
|
|
4989
4947
|
{
|
|
4990
4948
|
type: "text",
|
|
@@ -4996,18 +4954,18 @@ var init_AssetUpload = __esm({
|
|
|
4996
4954
|
}
|
|
4997
4955
|
)
|
|
4998
4956
|
] }),
|
|
4999
|
-
digitalAsset.intrinsicWidth && digitalAsset.intrinsicHeight && /* @__PURE__ */ (0,
|
|
5000
|
-
/* @__PURE__ */ (0,
|
|
5001
|
-
/* @__PURE__ */ (0,
|
|
4957
|
+
digitalAsset.intrinsicWidth && digitalAsset.intrinsicHeight && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { children: [
|
|
4958
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-gray-500", children: "Resolution" }),
|
|
4959
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "font-medium text-gray-900 mt-3", children: [
|
|
5002
4960
|
digitalAsset.intrinsicWidth,
|
|
5003
4961
|
"\xD7",
|
|
5004
4962
|
digitalAsset.intrinsicHeight
|
|
5005
4963
|
] })
|
|
5006
4964
|
] }),
|
|
5007
|
-
(digitalAsset.assetUrl || digitalAsset.posterUrl) && /* @__PURE__ */ (0,
|
|
5008
|
-
/* @__PURE__ */ (0,
|
|
5009
|
-
/* @__PURE__ */ (0,
|
|
5010
|
-
getAssetType(digitalAsset) === "video" && digitalAsset.posterUrl && /* @__PURE__ */ (0,
|
|
4965
|
+
(digitalAsset.assetUrl || digitalAsset.posterUrl) && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { children: [
|
|
4966
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-gray-500", children: "Image / Poster" }),
|
|
4967
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex-shrink-0 flex flex-col gap-3 mt-1", children: [
|
|
4968
|
+
getAssetType(digitalAsset) === "video" && digitalAsset.posterUrl && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5011
4969
|
"img",
|
|
5012
4970
|
{
|
|
5013
4971
|
src: AssetUtility_default.resolveUrl(props.serviceClient?.baseUrl, digitalAsset.posterUrl),
|
|
@@ -5015,7 +4973,7 @@ var init_AssetUpload = __esm({
|
|
|
5015
4973
|
className: "w-32 h-auto object-cover rounded border p-1"
|
|
5016
4974
|
}
|
|
5017
4975
|
),
|
|
5018
|
-
getAssetType(digitalAsset) === "image" && digitalAsset.assetUrl && /* @__PURE__ */ (0,
|
|
4976
|
+
getAssetType(digitalAsset) === "image" && digitalAsset.assetUrl && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5019
4977
|
"img",
|
|
5020
4978
|
{
|
|
5021
4979
|
src: AssetUtility_default.resolveUrl(props.serviceClient?.baseUrl, digitalAsset.assetUrl),
|
|
@@ -5025,9 +4983,9 @@ var init_AssetUpload = __esm({
|
|
|
5025
4983
|
)
|
|
5026
4984
|
] })
|
|
5027
4985
|
] }),
|
|
5028
|
-
digitalAsset.assetUrl?.endsWith(".m3u8") && /* @__PURE__ */ (0,
|
|
5029
|
-
/* @__PURE__ */ (0,
|
|
5030
|
-
/* @__PURE__ */ (0,
|
|
4986
|
+
digitalAsset.assetUrl?.endsWith(".m3u8") && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "col-span-2", children: [
|
|
4987
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-gray-500", children: "HLS Link" }),
|
|
4988
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5031
4989
|
Hyperlink,
|
|
5032
4990
|
{
|
|
5033
4991
|
href: digitalAsset.assetUrl,
|
|
@@ -5038,12 +4996,12 @@ var init_AssetUpload = __esm({
|
|
|
5038
4996
|
)
|
|
5039
4997
|
] })
|
|
5040
4998
|
] }),
|
|
5041
|
-
/* @__PURE__ */ (0,
|
|
4999
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5042
5000
|
"span",
|
|
5043
5001
|
{
|
|
5044
5002
|
onClick: () => !isDisabled && deleteFile(index),
|
|
5045
5003
|
className: isDisabled ? "cursor-not-allowed opacity-50" : "cursor-pointer",
|
|
5046
|
-
children: /* @__PURE__ */ (0,
|
|
5004
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon_default, { className: "w-4 h-4 text-primary", name: "delete" })
|
|
5047
5005
|
}
|
|
5048
5006
|
)
|
|
5049
5007
|
] }, index)) })
|
|
@@ -5055,12 +5013,12 @@ var init_AssetUpload = __esm({
|
|
|
5055
5013
|
});
|
|
5056
5014
|
|
|
5057
5015
|
// src/components/controls/edit/SwitchInput.tsx
|
|
5058
|
-
var
|
|
5016
|
+
var import_react54, import_jsx_runtime80, SwitchInput, SwitchInput_default;
|
|
5059
5017
|
var init_SwitchInput = __esm({
|
|
5060
5018
|
"src/components/controls/edit/SwitchInput.tsx"() {
|
|
5061
5019
|
"use strict";
|
|
5062
|
-
|
|
5063
|
-
|
|
5020
|
+
import_react54 = __toESM(require("react"));
|
|
5021
|
+
import_jsx_runtime80 = require("react/jsx-runtime");
|
|
5064
5022
|
SwitchInput = (props) => {
|
|
5065
5023
|
const textChangeHandler = (event) => {
|
|
5066
5024
|
let text = event.target.checked;
|
|
@@ -5077,28 +5035,28 @@ var init_SwitchInput = __esm({
|
|
|
5077
5035
|
if (props.value != void 0 && props.value != null && props.value != "" && (props.value == "true" || props.value.toString() == "true")) {
|
|
5078
5036
|
value = true;
|
|
5079
5037
|
}
|
|
5080
|
-
return /* @__PURE__ */ (0,
|
|
5081
|
-
/* @__PURE__ */ (0,
|
|
5082
|
-
props?.attributes?.label && /* @__PURE__ */ (0,
|
|
5038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_react54.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-start justify-between gap-4 py-3", children: [
|
|
5039
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0", children: [
|
|
5040
|
+
props?.attributes?.label && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
5083
5041
|
"label",
|
|
5084
5042
|
{
|
|
5085
5043
|
htmlFor: props.name,
|
|
5086
5044
|
className: "inline-block text-sm font-semibold text-slate-800",
|
|
5087
5045
|
children: [
|
|
5088
5046
|
props.attributes.label,
|
|
5089
|
-
props?.attributes?.required && /* @__PURE__ */ (0,
|
|
5047
|
+
props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "bg-error-weak", children: "*" })
|
|
5090
5048
|
]
|
|
5091
5049
|
}
|
|
5092
5050
|
),
|
|
5093
|
-
/* @__PURE__ */ (0,
|
|
5051
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props?.attributes?.errorMessage || "" })
|
|
5094
5052
|
] }),
|
|
5095
|
-
/* @__PURE__ */ (0,
|
|
5053
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
5096
5054
|
"label",
|
|
5097
5055
|
{
|
|
5098
5056
|
htmlFor: props.name,
|
|
5099
5057
|
className: "relative inline-flex shrink-0 cursor-pointer items-center peer-disabled:cursor-not-allowed",
|
|
5100
5058
|
children: [
|
|
5101
|
-
/* @__PURE__ */ (0,
|
|
5059
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5102
5060
|
"input",
|
|
5103
5061
|
{
|
|
5104
5062
|
type: "checkbox",
|
|
@@ -5111,13 +5069,13 @@ var init_SwitchInput = __esm({
|
|
|
5111
5069
|
className: "peer sr-only"
|
|
5112
5070
|
}
|
|
5113
5071
|
),
|
|
5114
|
-
/* @__PURE__ */ (0,
|
|
5072
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5115
5073
|
"div",
|
|
5116
5074
|
{
|
|
5117
5075
|
className: "h-6 w-11 rounded-full bg-slate-200 shadow-inner\n transition-colors duration-200 ease-in-out\n peer-checked:bg-blue-600\n peer-focus-visible:ring-2 peer-focus-visible:ring-blue-300 peer-focus-visible:ring-offset-2\n peer-disabled:bg-slate-100"
|
|
5118
5076
|
}
|
|
5119
5077
|
),
|
|
5120
|
-
/* @__PURE__ */ (0,
|
|
5078
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5121
5079
|
"div",
|
|
5122
5080
|
{
|
|
5123
5081
|
className: "absolute left-0.5 top-0.5 h-5 w-5 rounded-full bg-default shadow\n transition-transform duration-200 ease-in-out\n peer-checked:translate-x-5\n peer-disabled:bg-slate-50"
|
|
@@ -5215,15 +5173,15 @@ var init_DateTimeUtility = __esm({
|
|
|
5215
5173
|
});
|
|
5216
5174
|
|
|
5217
5175
|
// src/components/controls/edit/DateInput.tsx
|
|
5218
|
-
var
|
|
5176
|
+
var import_react55, import_jsx_runtime81, DateInput, DateInput_default;
|
|
5219
5177
|
var init_DateInput = __esm({
|
|
5220
5178
|
"src/components/controls/edit/DateInput.tsx"() {
|
|
5221
5179
|
"use strict";
|
|
5222
|
-
|
|
5180
|
+
import_react55 = require("react");
|
|
5223
5181
|
init_DateTimeUtility();
|
|
5224
|
-
|
|
5182
|
+
import_jsx_runtime81 = require("react/jsx-runtime");
|
|
5225
5183
|
DateInput = (props) => {
|
|
5226
|
-
const value = (0,
|
|
5184
|
+
const value = (0, import_react55.useMemo)(() => {
|
|
5227
5185
|
if (props.value === void 0 || props.value === null || props.value === "") {
|
|
5228
5186
|
return "";
|
|
5229
5187
|
}
|
|
@@ -5255,11 +5213,11 @@ var init_DateInput = __esm({
|
|
|
5255
5213
|
groupKey: props.groupKey
|
|
5256
5214
|
});
|
|
5257
5215
|
};
|
|
5258
|
-
return /* @__PURE__ */ (0,
|
|
5259
|
-
props.attributes?.label && /* @__PURE__ */ (0,
|
|
5216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("label", { className: "block mb-1", children: [
|
|
5217
|
+
props.attributes?.label && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-sm font-medium", children: props.attributes.label }),
|
|
5260
5218
|
" ",
|
|
5261
|
-
props.attributes?.label && props.attributes.required && /* @__PURE__ */ (0,
|
|
5262
|
-
/* @__PURE__ */ (0,
|
|
5219
|
+
props.attributes?.label && props.attributes.required && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "bg-error-weak", children: "*" }),
|
|
5220
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
5263
5221
|
"input",
|
|
5264
5222
|
{
|
|
5265
5223
|
type: "date",
|
|
@@ -5273,7 +5231,7 @@ var init_DateInput = __esm({
|
|
|
5273
5231
|
className: `peer input mt-1 py-1.5 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`
|
|
5274
5232
|
}
|
|
5275
5233
|
),
|
|
5276
|
-
/* @__PURE__ */ (0,
|
|
5234
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props.attributes?.errorMessage ?? "" })
|
|
5277
5235
|
] });
|
|
5278
5236
|
};
|
|
5279
5237
|
DateInput_default = DateInput;
|
|
@@ -5281,16 +5239,16 @@ var init_DateInput = __esm({
|
|
|
5281
5239
|
});
|
|
5282
5240
|
|
|
5283
5241
|
// src/components/controls/edit/RadioInput.tsx
|
|
5284
|
-
var
|
|
5242
|
+
var import_react56, import_jsx_runtime82, RadioInput, RadioInput_default;
|
|
5285
5243
|
var init_RadioInput = __esm({
|
|
5286
5244
|
"src/components/controls/edit/RadioInput.tsx"() {
|
|
5287
5245
|
"use strict";
|
|
5288
|
-
|
|
5246
|
+
import_react56 = require("react");
|
|
5289
5247
|
init_Icon();
|
|
5290
|
-
|
|
5248
|
+
import_jsx_runtime82 = require("react/jsx-runtime");
|
|
5291
5249
|
RadioInput = (props) => {
|
|
5292
|
-
const [list, setList] = (0,
|
|
5293
|
-
(0,
|
|
5250
|
+
const [list, setList] = (0, import_react56.useState)([]);
|
|
5251
|
+
(0, import_react56.useEffect)(() => {
|
|
5294
5252
|
async function loadData() {
|
|
5295
5253
|
if (props.dataset) {
|
|
5296
5254
|
setList(props.dataset);
|
|
@@ -5332,22 +5290,22 @@ var init_RadioInput = __esm({
|
|
|
5332
5290
|
});
|
|
5333
5291
|
}
|
|
5334
5292
|
};
|
|
5335
|
-
return /* @__PURE__ */ (0,
|
|
5336
|
-
/* @__PURE__ */ (0,
|
|
5337
|
-
/* @__PURE__ */ (0,
|
|
5293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "block", children: [
|
|
5294
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium", children: props.attributes?.label }),
|
|
5295
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex flex-col gap-3", children: list.map((item, index) => {
|
|
5338
5296
|
const itemValue = item[props.dataKeyFieldName];
|
|
5339
5297
|
const isSelected = String(itemValue) === String(props.value ?? "");
|
|
5340
5298
|
const isRecommended = props.dataRecommendedValue !== void 0 && String(itemValue) === String(props.dataRecommendedValue);
|
|
5341
5299
|
const resultClassName = isSelected ? isRecommended ? "bg-success" : props.dataRecommendedValue ? "bg-alert" : "border-transparent" : "border-transparent";
|
|
5342
5300
|
const iconName = isSelected && props.dataRecommendedValue ? isRecommended ? "checkCircle" : "xCircle" : void 0;
|
|
5343
5301
|
const inputId = `${props.name}-${props.index ?? 0}-id-${index}`;
|
|
5344
|
-
return /* @__PURE__ */ (0,
|
|
5302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
5345
5303
|
"div",
|
|
5346
5304
|
{
|
|
5347
5305
|
className: `font-normal flex items-center justify-between gap-4 cursor-pointer border rounded p-2 ${resultClassName}`,
|
|
5348
5306
|
children: [
|
|
5349
|
-
/* @__PURE__ */ (0,
|
|
5350
|
-
/* @__PURE__ */ (0,
|
|
5307
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex gap-4 items-start", children: [
|
|
5308
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5351
5309
|
"input",
|
|
5352
5310
|
{
|
|
5353
5311
|
type: "radio",
|
|
@@ -5361,125 +5319,30 @@ var init_RadioInput = __esm({
|
|
|
5361
5319
|
required: props.attributes?.required
|
|
5362
5320
|
}
|
|
5363
5321
|
),
|
|
5364
|
-
/* @__PURE__ */ (0,
|
|
5322
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("label", { className: "text-body-950 pr-2", htmlFor: inputId, children: item[props.dataTextFieldName] })
|
|
5365
5323
|
] }),
|
|
5366
|
-
iconName && /* @__PURE__ */ (0,
|
|
5324
|
+
iconName && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon_default, { className: "w-5 h-5 text-success", name: iconName })
|
|
5367
5325
|
]
|
|
5368
5326
|
},
|
|
5369
5327
|
String(itemValue)
|
|
5370
5328
|
);
|
|
5371
5329
|
}) }),
|
|
5372
|
-
/* @__PURE__ */ (0,
|
|
5330
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props.attributes?.errorMessage ?? "" })
|
|
5373
5331
|
] });
|
|
5374
5332
|
};
|
|
5375
5333
|
RadioInput_default = RadioInput;
|
|
5376
5334
|
}
|
|
5377
5335
|
});
|
|
5378
5336
|
|
|
5379
|
-
// src/components/controls/edit/Switcher.tsx
|
|
5380
|
-
var import_react58, import_jsx_runtime84, Switcher, Switcher_default;
|
|
5381
|
-
var init_Switcher = __esm({
|
|
5382
|
-
"src/components/controls/edit/Switcher.tsx"() {
|
|
5383
|
-
"use strict";
|
|
5384
|
-
import_react58 = require("react");
|
|
5385
|
-
import_jsx_runtime84 = require("react/jsx-runtime");
|
|
5386
|
-
Switcher = (props) => {
|
|
5387
|
-
const [list, setList] = (0, import_react58.useState)([]);
|
|
5388
|
-
(0, import_react58.useEffect)(() => {
|
|
5389
|
-
async function loadData() {
|
|
5390
|
-
if (props.dataset) {
|
|
5391
|
-
setList(props.dataset);
|
|
5392
|
-
return;
|
|
5393
|
-
}
|
|
5394
|
-
if (!props.dataSource || !props.serviceClient) {
|
|
5395
|
-
setList([]);
|
|
5396
|
-
return;
|
|
5397
|
-
}
|
|
5398
|
-
let dataSource = props.dataSource;
|
|
5399
|
-
if (props.dataSourceDependsOn) {
|
|
5400
|
-
if (!props.dependentValue) {
|
|
5401
|
-
setList([]);
|
|
5402
|
-
return;
|
|
5403
|
-
}
|
|
5404
|
-
dataSource = dataSource.replace(
|
|
5405
|
-
`{${props.dataSourceDependsOn}}`,
|
|
5406
|
-
props.dependentValue
|
|
5407
|
-
);
|
|
5408
|
-
}
|
|
5409
|
-
const response = await props.serviceClient.get(dataSource);
|
|
5410
|
-
setList(response.result ?? []);
|
|
5411
|
-
}
|
|
5412
|
-
loadData();
|
|
5413
|
-
}, [
|
|
5414
|
-
props.dataSource,
|
|
5415
|
-
props.dataSourceDependsOn,
|
|
5416
|
-
props.dataset,
|
|
5417
|
-
props.dependentValue,
|
|
5418
|
-
props.serviceClient
|
|
5419
|
-
]);
|
|
5420
|
-
const changeHandler = (event) => {
|
|
5421
|
-
props.callback?.({
|
|
5422
|
-
name: props.name,
|
|
5423
|
-
value: event.target.value,
|
|
5424
|
-
index: props.index,
|
|
5425
|
-
groupKey: props.groupKey
|
|
5426
|
-
});
|
|
5427
|
-
};
|
|
5428
|
-
const value = props.value === void 0 || props.value === null ? "" : String(props.value);
|
|
5429
|
-
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("label", { className: "block mb-1", children: [
|
|
5430
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-sm font-medium", children: props.attributes?.label }),
|
|
5431
|
-
list.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5432
|
-
"input",
|
|
5433
|
-
{
|
|
5434
|
-
type: "text",
|
|
5435
|
-
name: props.name,
|
|
5436
|
-
id: props.name,
|
|
5437
|
-
value,
|
|
5438
|
-
onChange: changeHandler,
|
|
5439
|
-
required: props.attributes?.required,
|
|
5440
|
-
placeholder: props.attributes?.placeholder,
|
|
5441
|
-
disabled: props.attributes?.readOnly,
|
|
5442
|
-
className: `peer input mt-1 py-1.5 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`
|
|
5443
|
-
}
|
|
5444
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
5445
|
-
"select",
|
|
5446
|
-
{
|
|
5447
|
-
name: props.name,
|
|
5448
|
-
id: props.name,
|
|
5449
|
-
value,
|
|
5450
|
-
onChange: changeHandler,
|
|
5451
|
-
required: props.attributes?.required,
|
|
5452
|
-
disabled: props.attributes?.readOnly,
|
|
5453
|
-
className: `peer select my-1 py-1 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`,
|
|
5454
|
-
children: [
|
|
5455
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("option", { value: "", children: props.attributes?.placeholder || "Select" }),
|
|
5456
|
-
list.map((item) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5457
|
-
"option",
|
|
5458
|
-
{
|
|
5459
|
-
value: item[props.dataKeyFieldName],
|
|
5460
|
-
children: item[props.dataTextFieldName]
|
|
5461
|
-
},
|
|
5462
|
-
String(item[props.dataKeyFieldName])
|
|
5463
|
-
))
|
|
5464
|
-
]
|
|
5465
|
-
}
|
|
5466
|
-
),
|
|
5467
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props.attributes?.errorMessage ?? "" })
|
|
5468
|
-
] });
|
|
5469
|
-
};
|
|
5470
|
-
Switcher_default = Switcher;
|
|
5471
|
-
}
|
|
5472
|
-
});
|
|
5473
|
-
|
|
5474
5337
|
// src/components/controls/edit/ReferenceInput.tsx
|
|
5475
|
-
var
|
|
5338
|
+
var import_jsx_runtime83, ReferenceInput, ReferenceInput_default;
|
|
5476
5339
|
var init_ReferenceInput = __esm({
|
|
5477
5340
|
"src/components/controls/edit/ReferenceInput.tsx"() {
|
|
5478
5341
|
"use strict";
|
|
5479
5342
|
init_SelectWithSearchInput();
|
|
5480
|
-
|
|
5343
|
+
import_jsx_runtime83 = require("react/jsx-runtime");
|
|
5481
5344
|
ReferenceInput = (props) => {
|
|
5482
|
-
return /* @__PURE__ */ (0,
|
|
5345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SelectWithSearchInput_default, { ...props });
|
|
5483
5346
|
};
|
|
5484
5347
|
ReferenceInput_default = ReferenceInput;
|
|
5485
5348
|
}
|
|
@@ -5490,12 +5353,12 @@ var InputControlClient_exports = {};
|
|
|
5490
5353
|
__export(InputControlClient_exports, {
|
|
5491
5354
|
default: () => InputControlClient_default
|
|
5492
5355
|
});
|
|
5493
|
-
var
|
|
5356
|
+
var import_react57, import_jsx_runtime84, InputControl, InputControlClient_default;
|
|
5494
5357
|
var init_InputControlClient = __esm({
|
|
5495
5358
|
"src/components/controls/edit/InputControlClient.tsx"() {
|
|
5496
5359
|
"use strict";
|
|
5497
5360
|
"use client";
|
|
5498
|
-
|
|
5361
|
+
import_react57 = __toESM(require("react"));
|
|
5499
5362
|
init_MultilineTextInput();
|
|
5500
5363
|
init_LineTextInput();
|
|
5501
5364
|
init_MoneyInput();
|
|
@@ -5510,17 +5373,15 @@ var init_InputControlClient = __esm({
|
|
|
5510
5373
|
init_ColorInput();
|
|
5511
5374
|
init_SelectWithSearchInput();
|
|
5512
5375
|
init_SelectWithSearchPanel();
|
|
5513
|
-
init_BooleanSelect();
|
|
5514
5376
|
init_EmailInput();
|
|
5515
5377
|
init_TimeInput();
|
|
5516
5378
|
init_AssetUpload();
|
|
5517
5379
|
init_SwitchInput();
|
|
5518
5380
|
init_DateInput();
|
|
5519
5381
|
init_RadioInput();
|
|
5520
|
-
init_Switcher();
|
|
5521
5382
|
init_ReferenceInput();
|
|
5522
|
-
|
|
5523
|
-
InputControl =
|
|
5383
|
+
import_jsx_runtime84 = require("react/jsx-runtime");
|
|
5384
|
+
InputControl = import_react57.default.forwardRef(
|
|
5524
5385
|
(props, ref) => {
|
|
5525
5386
|
const ControlComponents = {
|
|
5526
5387
|
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
@@ -5537,18 +5398,15 @@ var init_InputControlClient = __esm({
|
|
|
5537
5398
|
[InputControlType_default.colorInput]: ColorInput_default,
|
|
5538
5399
|
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
5539
5400
|
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
5540
|
-
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
5541
5401
|
[InputControlType_default.timeInput]: TimeInput_default,
|
|
5542
|
-
[InputControlType_default.asset]: AssetUpload_default,
|
|
5543
5402
|
[InputControlType_default.assetUpload]: AssetUpload_default,
|
|
5544
5403
|
[InputControlType_default.switchInput]: SwitchInput_default,
|
|
5545
5404
|
[InputControlType_default.dateInput]: DateInput_default,
|
|
5546
5405
|
[InputControlType_default.radioInput]: RadioInput_default,
|
|
5547
|
-
[InputControlType_default.switcher]: Switcher_default,
|
|
5548
5406
|
[InputControlType_default.referenceInput]: ReferenceInput_default
|
|
5549
5407
|
};
|
|
5550
5408
|
const SelectedControlComponent = ControlComponents[props.controlType];
|
|
5551
|
-
return /* @__PURE__ */ (0,
|
|
5409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_react57.default.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(SelectedControlComponent, { ...props }) : "Control not found:" + props.controlType });
|
|
5552
5410
|
}
|
|
5553
5411
|
);
|
|
5554
5412
|
InputControl.displayName = "InputControl";
|
|
@@ -5574,16 +5432,16 @@ var DataBindingControls_exports = {};
|
|
|
5574
5432
|
__export(DataBindingControls_exports, {
|
|
5575
5433
|
default: () => DataBindingControls_default
|
|
5576
5434
|
});
|
|
5577
|
-
var
|
|
5435
|
+
var import_react58, import_navigation, import_jsx_runtime85, humanize, escapeODataString, parseFacetSelections, buildFacetFilter, parseODataSearch, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
|
|
5578
5436
|
var init_DataBindingControls = __esm({
|
|
5579
5437
|
"src/components/pageRenderingEngine/nodes/DataBindingControls.tsx"() {
|
|
5580
5438
|
"use strict";
|
|
5581
5439
|
"use client";
|
|
5582
|
-
|
|
5440
|
+
import_react58 = require("react");
|
|
5583
5441
|
import_navigation = require("next/navigation");
|
|
5584
5442
|
init_InputControl();
|
|
5585
5443
|
init_InputControlType();
|
|
5586
|
-
|
|
5444
|
+
import_jsx_runtime85 = require("react/jsx-runtime");
|
|
5587
5445
|
humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
|
|
5588
5446
|
escapeODataString = (value) => value.replace(/'/g, "''");
|
|
5589
5447
|
parseFacetSelections = (filter) => {
|
|
@@ -5660,12 +5518,12 @@ var init_DataBindingControls = __esm({
|
|
|
5660
5518
|
const selectedFacetValues = parseFacetSelections(currentFilter);
|
|
5661
5519
|
const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
|
|
5662
5520
|
const currentSearch = parseODataSearch(query?.["$search"]);
|
|
5663
|
-
const [searchText, setSearchText] = (0,
|
|
5664
|
-
const lastNavigationUrl = (0,
|
|
5665
|
-
(0,
|
|
5521
|
+
const [searchText, setSearchText] = (0, import_react58.useState)(currentSearch);
|
|
5522
|
+
const lastNavigationUrl = (0, import_react58.useRef)(null);
|
|
5523
|
+
(0, import_react58.useEffect)(() => {
|
|
5666
5524
|
setSearchText(currentSearch);
|
|
5667
5525
|
}, [currentSearch]);
|
|
5668
|
-
const getQueryUrl = (0,
|
|
5526
|
+
const getQueryUrl = (0, import_react58.useCallback)(
|
|
5669
5527
|
(updates) => {
|
|
5670
5528
|
const params = new URLSearchParams(query ?? {});
|
|
5671
5529
|
Object.entries(updates).forEach(([key, value]) => {
|
|
@@ -5695,7 +5553,7 @@ var init_DataBindingControls = __esm({
|
|
|
5695
5553
|
filter: void 0
|
|
5696
5554
|
});
|
|
5697
5555
|
};
|
|
5698
|
-
const navigateWithoutReload = (0,
|
|
5556
|
+
const navigateWithoutReload = (0, import_react58.useCallback)(
|
|
5699
5557
|
(url) => {
|
|
5700
5558
|
if (lastNavigationUrl.current === url) {
|
|
5701
5559
|
return;
|
|
@@ -5711,7 +5569,7 @@ var init_DataBindingControls = __esm({
|
|
|
5711
5569
|
},
|
|
5712
5570
|
[router]
|
|
5713
5571
|
);
|
|
5714
|
-
(0,
|
|
5572
|
+
(0, import_react58.useEffect)(() => {
|
|
5715
5573
|
const trimmedSearchText = searchText.trim();
|
|
5716
5574
|
if (trimmedSearchText === currentSearch.trim()) {
|
|
5717
5575
|
return;
|
|
@@ -5732,8 +5590,8 @@ var init_DataBindingControls = __esm({
|
|
|
5732
5590
|
if (!shouldShowToolbar && !shouldShowFacets) {
|
|
5733
5591
|
return null;
|
|
5734
5592
|
}
|
|
5735
|
-
const renderFacetLinks = (field, values, stacked = false) => /* @__PURE__ */ (0,
|
|
5736
|
-
/* @__PURE__ */ (0,
|
|
5593
|
+
const renderFacetLinks = (field, values, stacked = false) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: stacked ? "flex flex-col gap-1" : "flex flex-wrap gap-2", children: [
|
|
5594
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
5737
5595
|
"button",
|
|
5738
5596
|
{
|
|
5739
5597
|
type: "button",
|
|
@@ -5745,7 +5603,7 @@ var init_DataBindingControls = __esm({
|
|
|
5745
5603
|
),
|
|
5746
5604
|
values.map((facet) => {
|
|
5747
5605
|
const isSelected = selectedFacetValues.get(field) === facet.value;
|
|
5748
|
-
return /* @__PURE__ */ (0,
|
|
5606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
5749
5607
|
"button",
|
|
5750
5608
|
{
|
|
5751
5609
|
type: "button",
|
|
@@ -5763,9 +5621,9 @@ var init_DataBindingControls = __esm({
|
|
|
5763
5621
|
);
|
|
5764
5622
|
})
|
|
5765
5623
|
] });
|
|
5766
|
-
return /* @__PURE__ */ (0,
|
|
5767
|
-
shouldShowToolbar && /* @__PURE__ */ (0,
|
|
5768
|
-
showSearchBar && /* @__PURE__ */ (0,
|
|
5624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: mode === "toolbar" ? "mb-6" : "flex flex-col gap-2", children: [
|
|
5625
|
+
shouldShowToolbar && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:justify-between", children: [
|
|
5626
|
+
showSearchBar && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "w-full max-w-xl", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
5769
5627
|
InputControl_default,
|
|
5770
5628
|
{
|
|
5771
5629
|
name: "searchText",
|
|
@@ -5776,9 +5634,9 @@ var init_DataBindingControls = __esm({
|
|
|
5776
5634
|
inputClasses: "!mt-0"
|
|
5777
5635
|
}
|
|
5778
5636
|
) }),
|
|
5779
|
-
hasSortControls && /* @__PURE__ */ (0,
|
|
5780
|
-
/* @__PURE__ */ (0,
|
|
5781
|
-
/* @__PURE__ */ (0,
|
|
5637
|
+
hasSortControls && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
5638
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "font-medium", children: "Sort by" }),
|
|
5639
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
5782
5640
|
InputControl_default,
|
|
5783
5641
|
{
|
|
5784
5642
|
name: "sortOptions",
|
|
@@ -5799,10 +5657,10 @@ var init_DataBindingControls = __esm({
|
|
|
5799
5657
|
)
|
|
5800
5658
|
] })
|
|
5801
5659
|
] }),
|
|
5802
|
-
shouldShowFacets && facetGroups.length === 1 && /* @__PURE__ */ (0,
|
|
5803
|
-
shouldShowFacets && facetGroups.length > 1 && /* @__PURE__ */ (0,
|
|
5804
|
-
/* @__PURE__ */ (0,
|
|
5805
|
-
/* @__PURE__ */ (0,
|
|
5660
|
+
shouldShowFacets && facetGroups.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("nav", { "aria-label": `${humanize(facetGroups[0][0])} filters`, children: renderFacetLinks(facetGroups[0][0], facetGroups[0][1]) }),
|
|
5661
|
+
shouldShowFacets && facetGroups.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "flex flex-col gap-2", children: facetGroups.map(([field, values]) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("details", { className: "border-b", open: true, children: [
|
|
5662
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("summary", { className: "cursor-pointer font-semibold", children: humanize(field) }),
|
|
5663
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "p-2", children: renderFacetLinks(field, values, true) })
|
|
5806
5664
|
] }, field)) })
|
|
5807
5665
|
] });
|
|
5808
5666
|
};
|
|
@@ -5815,13 +5673,13 @@ var Slider_exports = {};
|
|
|
5815
5673
|
__export(Slider_exports, {
|
|
5816
5674
|
default: () => Slider_default
|
|
5817
5675
|
});
|
|
5818
|
-
var
|
|
5676
|
+
var import_react59, import_jsx_runtime86, Slider, ArrowButton, ProgressPill, Slider_default;
|
|
5819
5677
|
var init_Slider = __esm({
|
|
5820
5678
|
"src/components/Slider.tsx"() {
|
|
5821
5679
|
"use strict";
|
|
5822
5680
|
"use client";
|
|
5823
|
-
|
|
5824
|
-
|
|
5681
|
+
import_react59 = __toESM(require("react"));
|
|
5682
|
+
import_jsx_runtime86 = require("react/jsx-runtime");
|
|
5825
5683
|
Slider = ({
|
|
5826
5684
|
children,
|
|
5827
5685
|
slidesToShow = 4,
|
|
@@ -5839,13 +5697,13 @@ var init_Slider = __esm({
|
|
|
5839
5697
|
pillStyle = "cumulative",
|
|
5840
5698
|
progressPosition = "bottom"
|
|
5841
5699
|
}) => {
|
|
5842
|
-
const [currentSlide, setCurrentSlide] = (0,
|
|
5843
|
-
const [transition, setTransition] = (0,
|
|
5844
|
-
const [slidesToShowState, setSlidesToShowState] = (0,
|
|
5700
|
+
const [currentSlide, setCurrentSlide] = (0, import_react59.useState)(0);
|
|
5701
|
+
const [transition, setTransition] = (0, import_react59.useState)(true);
|
|
5702
|
+
const [slidesToShowState, setSlidesToShowState] = (0, import_react59.useState)(
|
|
5845
5703
|
typeof slidesToShow === "number" ? slidesToShow : slidesToShow.large
|
|
5846
5704
|
);
|
|
5847
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
5848
|
-
(0,
|
|
5705
|
+
const [isPlaying, setIsPlaying] = (0, import_react59.useState)(autoplay);
|
|
5706
|
+
(0, import_react59.useEffect)(() => {
|
|
5849
5707
|
if (typeof slidesToShow === "number") return;
|
|
5850
5708
|
const handleResize = () => {
|
|
5851
5709
|
if (window.innerWidth >= 1024) {
|
|
@@ -5860,7 +5718,7 @@ var init_Slider = __esm({
|
|
|
5860
5718
|
window.addEventListener("resize", handleResize);
|
|
5861
5719
|
return () => window.removeEventListener("resize", handleResize);
|
|
5862
5720
|
}, [slidesToShow]);
|
|
5863
|
-
(0,
|
|
5721
|
+
(0, import_react59.useEffect)(() => {
|
|
5864
5722
|
if (!autoplay) return;
|
|
5865
5723
|
const timer = setInterval(() => {
|
|
5866
5724
|
if (isPlaying) {
|
|
@@ -5869,7 +5727,7 @@ var init_Slider = __esm({
|
|
|
5869
5727
|
}, autoplay_speed);
|
|
5870
5728
|
return () => clearInterval(timer);
|
|
5871
5729
|
}, [autoplay, autoplay_speed, currentSlide, isPlaying]);
|
|
5872
|
-
const totalSlides =
|
|
5730
|
+
const totalSlides = import_react59.Children.count(children);
|
|
5873
5731
|
const maxSlide = totalSlides - slidesToShowState;
|
|
5874
5732
|
const nextSlide = () => {
|
|
5875
5733
|
if (currentSlide >= maxSlide) {
|
|
@@ -5914,16 +5772,16 @@ var init_Slider = __esm({
|
|
|
5914
5772
|
}
|
|
5915
5773
|
};
|
|
5916
5774
|
const translateX = -currentSlide * (100 / slidesToShowState);
|
|
5917
|
-
const slides =
|
|
5918
|
-
if (!
|
|
5775
|
+
const slides = import_react59.Children.map(children, (child, index) => {
|
|
5776
|
+
if (!import_react59.default.isValidElement(child)) return null;
|
|
5919
5777
|
const childProps = child.props;
|
|
5920
5778
|
const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
|
|
5921
|
-
return /* @__PURE__ */ (0,
|
|
5779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5922
5780
|
"div",
|
|
5923
5781
|
{
|
|
5924
5782
|
className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
|
|
5925
5783
|
style: { width: `calc(${100 / slidesToShowState}%)`, paddingRight: gap },
|
|
5926
|
-
children: (0,
|
|
5784
|
+
children: (0, import_react59.cloneElement)(child, {
|
|
5927
5785
|
className: mergedClassName
|
|
5928
5786
|
})
|
|
5929
5787
|
},
|
|
@@ -5941,14 +5799,14 @@ var init_Slider = __esm({
|
|
|
5941
5799
|
return "bottom-4";
|
|
5942
5800
|
}
|
|
5943
5801
|
};
|
|
5944
|
-
return /* @__PURE__ */ (0,
|
|
5802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
5945
5803
|
"div",
|
|
5946
5804
|
{
|
|
5947
5805
|
className: `relative w-full overflow-hidden ${className}`,
|
|
5948
5806
|
onMouseEnter: handleMouseEnter,
|
|
5949
5807
|
onMouseLeave: handleMouseLeave,
|
|
5950
5808
|
children: [
|
|
5951
|
-
/* @__PURE__ */ (0,
|
|
5809
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5952
5810
|
"div",
|
|
5953
5811
|
{
|
|
5954
5812
|
className: "flex h-full",
|
|
@@ -5959,18 +5817,18 @@ var init_Slider = __esm({
|
|
|
5959
5817
|
children: slides
|
|
5960
5818
|
}
|
|
5961
5819
|
),
|
|
5962
|
-
show_arrows && /* @__PURE__ */ (0,
|
|
5963
|
-
/* @__PURE__ */ (0,
|
|
5820
|
+
show_arrows && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
|
|
5821
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5964
5822
|
ArrowButton,
|
|
5965
5823
|
{
|
|
5966
5824
|
direction: "left",
|
|
5967
5825
|
onClick: prevSlide,
|
|
5968
5826
|
visible: infinite_scroll || currentSlide > 0,
|
|
5969
5827
|
className: arrowClassName,
|
|
5970
|
-
children: /* @__PURE__ */ (0,
|
|
5828
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime86.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_runtime86.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
|
|
5971
5829
|
}
|
|
5972
5830
|
),
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5831
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
5974
5832
|
ArrowButton,
|
|
5975
5833
|
{
|
|
5976
5834
|
direction: "right",
|
|
@@ -5978,13 +5836,13 @@ var init_Slider = __esm({
|
|
|
5978
5836
|
visible: infinite_scroll || currentSlide < maxSlide,
|
|
5979
5837
|
className: arrowClassName,
|
|
5980
5838
|
children: [
|
|
5981
|
-
/* @__PURE__ */ (0,
|
|
5839
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.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_runtime86.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
|
|
5982
5840
|
" "
|
|
5983
5841
|
]
|
|
5984
5842
|
}
|
|
5985
5843
|
)
|
|
5986
5844
|
] }),
|
|
5987
|
-
show_dots && /* @__PURE__ */ (0,
|
|
5845
|
+
show_dots && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: `absolute left-1/2 -translate-x-1/2 flex justify-center space-x-1.5 ${getProgressPositionClass()}`, children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5988
5846
|
ProgressPill,
|
|
5989
5847
|
{
|
|
5990
5848
|
active: index === currentSlide,
|
|
@@ -6010,7 +5868,7 @@ var init_Slider = __esm({
|
|
|
6010
5868
|
visible,
|
|
6011
5869
|
children,
|
|
6012
5870
|
className = ""
|
|
6013
|
-
}) => /* @__PURE__ */ (0,
|
|
5871
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6014
5872
|
"button",
|
|
6015
5873
|
{
|
|
6016
5874
|
className: `
|
|
@@ -6036,13 +5894,13 @@ var init_Slider = __esm({
|
|
|
6036
5894
|
currentSlide,
|
|
6037
5895
|
totalSlides
|
|
6038
5896
|
}) => {
|
|
6039
|
-
const [progress, setProgress] = (0,
|
|
6040
|
-
(0,
|
|
5897
|
+
const [progress, setProgress] = (0, import_react59.useState)(0);
|
|
5898
|
+
(0, import_react59.useEffect)(() => {
|
|
6041
5899
|
if (active) {
|
|
6042
5900
|
setProgress(0);
|
|
6043
5901
|
}
|
|
6044
5902
|
}, [active, index]);
|
|
6045
|
-
(0,
|
|
5903
|
+
(0, import_react59.useEffect)(() => {
|
|
6046
5904
|
if (!active || !isPlaying) {
|
|
6047
5905
|
if (!active) {
|
|
6048
5906
|
setProgress(0);
|
|
@@ -6097,7 +5955,7 @@ var init_Slider = __esm({
|
|
|
6097
5955
|
const renderProgressBar = () => {
|
|
6098
5956
|
if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
|
|
6099
5957
|
const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
|
|
6100
|
-
return /* @__PURE__ */ (0,
|
|
5958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6101
5959
|
"div",
|
|
6102
5960
|
{
|
|
6103
5961
|
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`,
|
|
@@ -6109,7 +5967,7 @@ var init_Slider = __esm({
|
|
|
6109
5967
|
};
|
|
6110
5968
|
const renderCumulativeFill = () => {
|
|
6111
5969
|
if (style === "cumulative" && isFilled && !isActive) {
|
|
6112
|
-
return /* @__PURE__ */ (0,
|
|
5970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6113
5971
|
"div",
|
|
6114
5972
|
{
|
|
6115
5973
|
className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
|
|
@@ -6119,7 +5977,7 @@ var init_Slider = __esm({
|
|
|
6119
5977
|
}
|
|
6120
5978
|
return null;
|
|
6121
5979
|
};
|
|
6122
|
-
return /* @__PURE__ */ (0,
|
|
5980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
6123
5981
|
"button",
|
|
6124
5982
|
{
|
|
6125
5983
|
className: `${baseClasses} ${getStyleClasses()}`,
|
|
@@ -6147,7 +6005,7 @@ __export(server_exports, {
|
|
|
6147
6005
|
module.exports = __toCommonJS(server_exports);
|
|
6148
6006
|
|
|
6149
6007
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
6150
|
-
var
|
|
6008
|
+
var import_react61 = __toESM(require("react"));
|
|
6151
6009
|
|
|
6152
6010
|
// src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
|
|
6153
6011
|
var import_react27 = __toESM(require("react"));
|
|
@@ -7389,7 +7247,7 @@ var WidgetNode_default = WidgetNode;
|
|
|
7389
7247
|
|
|
7390
7248
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
7391
7249
|
var import_dynamic13 = __toESM(require("next/dynamic"));
|
|
7392
|
-
var
|
|
7250
|
+
var import_react60 = __toESM(require("react"));
|
|
7393
7251
|
|
|
7394
7252
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
7395
7253
|
var import_dynamic9 = __toESM(require("next/dynamic"));
|
|
@@ -8504,7 +8362,7 @@ var GoogleMapNode = (props) => {
|
|
|
8504
8362
|
var GoogleMapNode_default = GoogleMapNode;
|
|
8505
8363
|
|
|
8506
8364
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
8507
|
-
var
|
|
8365
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
8508
8366
|
var Pagination2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_Pagination(), Pagination_exports)), { ssr: true });
|
|
8509
8367
|
var DataBindingControls2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_DataBindingControls(), DataBindingControls_exports)), {
|
|
8510
8368
|
ssr: true
|
|
@@ -8763,7 +8621,7 @@ var DivContainer = async (props) => {
|
|
|
8763
8621
|
response = await serviceClient.get(endpoint);
|
|
8764
8622
|
result = response?.result;
|
|
8765
8623
|
if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
|
|
8766
|
-
return /* @__PURE__ */ (0,
|
|
8624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NoDataFound_default, {});
|
|
8767
8625
|
}
|
|
8768
8626
|
if (dataBindingProperties.childCollectionName && props.dataitem) {
|
|
8769
8627
|
childCollectionData = getNestedValue6(
|
|
@@ -8783,7 +8641,7 @@ var DivContainer = async (props) => {
|
|
|
8783
8641
|
}
|
|
8784
8642
|
const SelectedNode = NodeTypes2[node.type];
|
|
8785
8643
|
if (!SelectedNode) return null;
|
|
8786
|
-
return /* @__PURE__ */ (0,
|
|
8644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_react60.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8787
8645
|
SelectedNode,
|
|
8788
8646
|
{
|
|
8789
8647
|
node,
|
|
@@ -8920,7 +8778,7 @@ var DivContainer = async (props) => {
|
|
|
8920
8778
|
dataBindingProperties?.showFacets || dataBindingProperties?.showSortOptions || dataBindingProperties?.showSearchBar
|
|
8921
8779
|
);
|
|
8922
8780
|
const WrapperComponent = Wrapper;
|
|
8923
|
-
const renderedContainer = /* @__PURE__ */ (0,
|
|
8781
|
+
const renderedContainer = /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8924
8782
|
WrapperComponent,
|
|
8925
8783
|
{
|
|
8926
8784
|
id: guid,
|
|
@@ -8934,11 +8792,11 @@ var DivContainer = async (props) => {
|
|
|
8934
8792
|
item,
|
|
8935
8793
|
idx,
|
|
8936
8794
|
props.href ? void 0 : item?.links?.view
|
|
8937
|
-
)?.map((child, i) => /* @__PURE__ */ (0,
|
|
8795
|
+
)?.map((child, i) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_react60.default.Fragment, { children: child }, i)) : renderChildren2(props.node.children, props, item, idx)
|
|
8938
8796
|
)
|
|
8939
8797
|
}
|
|
8940
8798
|
);
|
|
8941
|
-
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0,
|
|
8799
|
+
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8942
8800
|
Pagination2,
|
|
8943
8801
|
{
|
|
8944
8802
|
path: props.path,
|
|
@@ -8946,15 +8804,15 @@ var DivContainer = async (props) => {
|
|
|
8946
8804
|
dataset: response
|
|
8947
8805
|
}
|
|
8948
8806
|
) : null;
|
|
8949
|
-
return /* @__PURE__ */ (0,
|
|
8950
|
-
/* @__PURE__ */ (0,
|
|
8807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
8808
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8951
8809
|
"style",
|
|
8952
8810
|
{
|
|
8953
8811
|
dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS }
|
|
8954
8812
|
}
|
|
8955
8813
|
),
|
|
8956
|
-
showDataBindingControls ? /* @__PURE__ */ (0,
|
|
8957
|
-
/* @__PURE__ */ (0,
|
|
8814
|
+
showDataBindingControls ? /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
8815
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8958
8816
|
DataBindingControls2,
|
|
8959
8817
|
{
|
|
8960
8818
|
mode: "toolbar",
|
|
@@ -8966,18 +8824,18 @@ var DivContainer = async (props) => {
|
|
|
8966
8824
|
showSearchBar: dataBindingProperties?.showSearchBar
|
|
8967
8825
|
}
|
|
8968
8826
|
),
|
|
8969
|
-
/* @__PURE__ */ (0,
|
|
8827
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
8970
8828
|
"div",
|
|
8971
8829
|
{
|
|
8972
8830
|
className: dataBindingProperties?.showFacets ? "grid items-start gap-6 lg:grid-cols-[minmax(0,1fr)_18rem]" : void 0,
|
|
8973
8831
|
children: [
|
|
8974
|
-
/* @__PURE__ */ (0,
|
|
8832
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "min-w-0", children: [
|
|
8975
8833
|
renderedContainer,
|
|
8976
8834
|
paginationControl
|
|
8977
8835
|
] }),
|
|
8978
|
-
dataBindingProperties?.showFacets && /* @__PURE__ */ (0,
|
|
8979
|
-
/* @__PURE__ */ (0,
|
|
8980
|
-
/* @__PURE__ */ (0,
|
|
8836
|
+
dataBindingProperties?.showFacets && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("aside", { className: "border bg-default p-3 lg:sticky lg:top-[90px] lg:self-start", children: [
|
|
8837
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("h2", { className: "mb-2 text-lg font-semibold", children: "Filters" }),
|
|
8838
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8981
8839
|
DataBindingControls2,
|
|
8982
8840
|
{
|
|
8983
8841
|
mode: "facets",
|
|
@@ -8991,16 +8849,16 @@ var DivContainer = async (props) => {
|
|
|
8991
8849
|
]
|
|
8992
8850
|
}
|
|
8993
8851
|
)
|
|
8994
|
-
] }) : /* @__PURE__ */ (0,
|
|
8852
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
8995
8853
|
renderedContainer,
|
|
8996
|
-
paginationControl && /* @__PURE__ */ (0,
|
|
8854
|
+
paginationControl && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { children: paginationControl })
|
|
8997
8855
|
] })
|
|
8998
8856
|
] });
|
|
8999
8857
|
};
|
|
9000
8858
|
var DivContainer_default = DivContainer;
|
|
9001
8859
|
|
|
9002
8860
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
9003
|
-
var
|
|
8861
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
9004
8862
|
var NodeTypes = {
|
|
9005
8863
|
["paragraph"]: ParagraphNode_default,
|
|
9006
8864
|
["heading"]: HeadingNode_default,
|
|
@@ -9038,14 +8896,14 @@ var PageBodyRenderer = (props) => {
|
|
|
9038
8896
|
}
|
|
9039
8897
|
return true;
|
|
9040
8898
|
};
|
|
9041
|
-
return /* @__PURE__ */ (0,
|
|
8899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
|
|
9042
8900
|
{
|
|
9043
8901
|
}
|
|
9044
8902
|
const SelectedNode = NodeTypes[node.type];
|
|
9045
8903
|
if (!shouldRenderNode(node)) {
|
|
9046
8904
|
return null;
|
|
9047
8905
|
}
|
|
9048
|
-
return /* @__PURE__ */ (0,
|
|
8906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
9049
8907
|
SelectedNode,
|
|
9050
8908
|
{
|
|
9051
8909
|
node,
|
|
@@ -9061,7 +8919,7 @@ var PageBodyRenderer = (props) => {
|
|
|
9061
8919
|
device: props.device,
|
|
9062
8920
|
widgetRenderer: props.widgetRenderer
|
|
9063
8921
|
}
|
|
9064
|
-
) }) : /* @__PURE__ */ (0,
|
|
8922
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
9065
8923
|
SelectedNode,
|
|
9066
8924
|
{
|
|
9067
8925
|
node,
|