@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260831113446 → 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-JYDYPHSQ.mjs → CommentRendererClient-FU5ZMGBV.mjs} +46 -2
- package/dist/{CommentRendererClient-5OIJYJ5Z.mjs → CommentRendererClient-L6GILW7U.mjs} +46 -2
- 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 +682 -840
- package/dist/index.mjs +7 -11
- package/dist/server.js +210 -362
- 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 });
|
|
@@ -2595,7 +2629,17 @@ var init_CommentNodeRenderer = __esm({
|
|
|
2595
2629
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommentFileNode_default, { node: element, assetBaseUrl });
|
|
2596
2630
|
case "link": {
|
|
2597
2631
|
const url = typeof element.url === "string" ? element.url : "#";
|
|
2598
|
-
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
|
+
);
|
|
2599
2643
|
}
|
|
2600
2644
|
case "mention": {
|
|
2601
2645
|
const label = element.label ?? element.mentionName ?? element.text ?? "";
|
|
@@ -2961,7 +3005,6 @@ var init_InputControlType = __esm({
|
|
|
2961
3005
|
moneyInput: "money",
|
|
2962
3006
|
select: "select",
|
|
2963
3007
|
percentageInput: "percentage",
|
|
2964
|
-
asset: "asset",
|
|
2965
3008
|
assetUpload: "assetUpload",
|
|
2966
3009
|
phoneInput: "phone",
|
|
2967
3010
|
numberInput: "numberInput",
|
|
@@ -2972,11 +3015,9 @@ var init_InputControlType = __esm({
|
|
|
2972
3015
|
colorInput: "colorInput",
|
|
2973
3016
|
selectWithSearchInput: "selectWithSearchInput",
|
|
2974
3017
|
selectWithSearchPanel: "selectWithSearchPanel",
|
|
2975
|
-
booleanSelect: "booleanSelect",
|
|
2976
3018
|
switchInput: "switchInput",
|
|
2977
3019
|
dateInput: "dateInput",
|
|
2978
3020
|
radioInput: "radioInput",
|
|
2979
|
-
switcher: "switcher",
|
|
2980
3021
|
videoInput: "videoInput",
|
|
2981
3022
|
referenceInput: "referenceInput"
|
|
2982
3023
|
};
|
|
@@ -4660,106 +4701,13 @@ var init_SelectWithSearchPanel = __esm({
|
|
|
4660
4701
|
}
|
|
4661
4702
|
});
|
|
4662
4703
|
|
|
4663
|
-
// src/components/controls/edit/BooleanSelect.tsx
|
|
4664
|
-
var import_react51, import_jsx_runtime77, BooleanSelect, BooleanSelect_default;
|
|
4665
|
-
var init_BooleanSelect = __esm({
|
|
4666
|
-
"src/components/controls/edit/BooleanSelect.tsx"() {
|
|
4667
|
-
"use strict";
|
|
4668
|
-
import_react51 = __toESM(require("react"));
|
|
4669
|
-
import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4670
|
-
BooleanSelect = (props) => {
|
|
4671
|
-
const [list, setList] = (0, import_react51.useState)();
|
|
4672
|
-
const textChangeHandler = (event) => {
|
|
4673
|
-
const text = event.target.value;
|
|
4674
|
-
const boolValue = text?.toLowerCase() === "true" || text === "1";
|
|
4675
|
-
if (props.callback !== void 0) {
|
|
4676
|
-
props.callback({
|
|
4677
|
-
name: props.name,
|
|
4678
|
-
value: boolValue,
|
|
4679
|
-
index: props.index,
|
|
4680
|
-
groupKey: props.groupKey
|
|
4681
|
-
});
|
|
4682
|
-
}
|
|
4683
|
-
};
|
|
4684
|
-
(0, import_react51.useEffect)(() => {
|
|
4685
|
-
async function fetchData() {
|
|
4686
|
-
console.log("in select");
|
|
4687
|
-
if (props.dataset) {
|
|
4688
|
-
setList(props.dataset);
|
|
4689
|
-
} else if (props.dataSource && props.dataSource != "" && props.serviceClient) {
|
|
4690
|
-
let dataSource = props.dataSource;
|
|
4691
|
-
let response;
|
|
4692
|
-
if (props.dataSourceDependsOn) {
|
|
4693
|
-
if (props.dependentValue) {
|
|
4694
|
-
dataSource = dataSource.replace(
|
|
4695
|
-
`{${props.dataSourceDependsOn}}`,
|
|
4696
|
-
props.dependentValue
|
|
4697
|
-
);
|
|
4698
|
-
response = await props.serviceClient.get(dataSource);
|
|
4699
|
-
setList(response.result);
|
|
4700
|
-
}
|
|
4701
|
-
} else {
|
|
4702
|
-
response = await props.serviceClient.get(dataSource);
|
|
4703
|
-
setList(response.result);
|
|
4704
|
-
}
|
|
4705
|
-
}
|
|
4706
|
-
}
|
|
4707
|
-
fetchData();
|
|
4708
|
-
}, [
|
|
4709
|
-
props.dataSource,
|
|
4710
|
-
props.dependentValue,
|
|
4711
|
-
props.dataset,
|
|
4712
|
-
props.dataSourceDependsOn
|
|
4713
|
-
]);
|
|
4714
|
-
let value;
|
|
4715
|
-
if (props.value !== void 0 && props.value !== null) {
|
|
4716
|
-
value = props.value;
|
|
4717
|
-
}
|
|
4718
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react51.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("label", { className: "block", children: [
|
|
4719
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "text-sm font-medium ", children: props?.attributes?.label }),
|
|
4720
|
-
" ",
|
|
4721
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "bg-error-weak", children: "*" }),
|
|
4722
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
4723
|
-
"select",
|
|
4724
|
-
{
|
|
4725
|
-
name: props.name,
|
|
4726
|
-
id: props.name,
|
|
4727
|
-
value,
|
|
4728
|
-
onChange: textChangeHandler,
|
|
4729
|
-
required: props?.attributes?.required,
|
|
4730
|
-
placeholder: props?.attributes?.placeholder,
|
|
4731
|
-
disabled: props?.attributes?.readOnly,
|
|
4732
|
-
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 ",
|
|
4733
|
-
children: [
|
|
4734
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("option", { className: "", value: "", children: props.attributes?.placeholder || "Select" }),
|
|
4735
|
-
list && list.map((item, i) => {
|
|
4736
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4737
|
-
"option",
|
|
4738
|
-
{
|
|
4739
|
-
className: "fac-select-option",
|
|
4740
|
-
value: item[props.dataKeyFieldName],
|
|
4741
|
-
children: item[props.dataTextFieldName]
|
|
4742
|
-
},
|
|
4743
|
-
item[props.dataKeyFieldName]
|
|
4744
|
-
);
|
|
4745
|
-
})
|
|
4746
|
-
]
|
|
4747
|
-
}
|
|
4748
|
-
),
|
|
4749
|
-
/* @__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 : "" })
|
|
4750
|
-
] }) });
|
|
4751
|
-
};
|
|
4752
|
-
BooleanSelect_default = BooleanSelect;
|
|
4753
|
-
}
|
|
4754
|
-
});
|
|
4755
|
-
|
|
4756
4704
|
// src/components/controls/edit/EmailInput.tsx
|
|
4757
|
-
var
|
|
4705
|
+
var import_react51, import_jsx_runtime77, EmailInput, EmailInput_default;
|
|
4758
4706
|
var init_EmailInput = __esm({
|
|
4759
4707
|
"src/components/controls/edit/EmailInput.tsx"() {
|
|
4760
4708
|
"use strict";
|
|
4761
|
-
|
|
4762
|
-
|
|
4709
|
+
import_react51 = __toESM(require("react"));
|
|
4710
|
+
import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4763
4711
|
EmailInput = (props) => {
|
|
4764
4712
|
const textChangeHandler = (event) => {
|
|
4765
4713
|
const text = event.target.value;
|
|
@@ -4784,11 +4732,11 @@ var init_EmailInput = __esm({
|
|
|
4784
4732
|
if (props.value !== void 0 && props.value !== null) {
|
|
4785
4733
|
value = props.value;
|
|
4786
4734
|
}
|
|
4787
|
-
return /* @__PURE__ */ (0,
|
|
4788
|
-
/* @__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 }),
|
|
4789
4737
|
" ",
|
|
4790
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0,
|
|
4791
|
-
/* @__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)(
|
|
4792
4740
|
"input",
|
|
4793
4741
|
{
|
|
4794
4742
|
type: "email",
|
|
@@ -4804,7 +4752,7 @@ var init_EmailInput = __esm({
|
|
|
4804
4752
|
className: "peer mt-1 py-1.5 block w-full rounded shadow-sm\n transition-all duration-500 ease-in-out"
|
|
4805
4753
|
}
|
|
4806
4754
|
),
|
|
4807
|
-
/* @__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 : "" })
|
|
4808
4756
|
] }) });
|
|
4809
4757
|
};
|
|
4810
4758
|
EmailInput_default = EmailInput;
|
|
@@ -4812,13 +4760,13 @@ var init_EmailInput = __esm({
|
|
|
4812
4760
|
});
|
|
4813
4761
|
|
|
4814
4762
|
// src/components/controls/edit/TimeInput.tsx
|
|
4815
|
-
var
|
|
4763
|
+
var import_react52, import_jsx_runtime78, TimeInput, TimeInput_default;
|
|
4816
4764
|
var init_TimeInput = __esm({
|
|
4817
4765
|
"src/components/controls/edit/TimeInput.tsx"() {
|
|
4818
4766
|
"use strict";
|
|
4819
4767
|
"use client";
|
|
4820
|
-
|
|
4821
|
-
|
|
4768
|
+
import_react52 = __toESM(require("react"));
|
|
4769
|
+
import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4822
4770
|
TimeInput = (props) => {
|
|
4823
4771
|
const timeChangeHandler = (event) => {
|
|
4824
4772
|
const timeValue = event.target.value;
|
|
@@ -4831,11 +4779,11 @@ var init_TimeInput = __esm({
|
|
|
4831
4779
|
});
|
|
4832
4780
|
}
|
|
4833
4781
|
};
|
|
4834
|
-
return /* @__PURE__ */ (0,
|
|
4835
|
-
/* @__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 }),
|
|
4836
4784
|
" ",
|
|
4837
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ (0,
|
|
4838
|
-
/* @__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)(
|
|
4839
4787
|
"input",
|
|
4840
4788
|
{
|
|
4841
4789
|
type: "time",
|
|
@@ -4848,7 +4796,7 @@ var init_TimeInput = __esm({
|
|
|
4848
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"
|
|
4849
4797
|
}
|
|
4850
4798
|
) }),
|
|
4851
|
-
/* @__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 ?? "" })
|
|
4852
4800
|
] }) });
|
|
4853
4801
|
};
|
|
4854
4802
|
TimeInput_default = TimeInput;
|
|
@@ -4856,18 +4804,18 @@ var init_TimeInput = __esm({
|
|
|
4856
4804
|
});
|
|
4857
4805
|
|
|
4858
4806
|
// src/components/controls/edit/AssetUpload.tsx
|
|
4859
|
-
var
|
|
4807
|
+
var import_react53, import_jsx_runtime79, AssetUpload, AssetUpload_default;
|
|
4860
4808
|
var init_AssetUpload = __esm({
|
|
4861
4809
|
"src/components/controls/edit/AssetUpload.tsx"() {
|
|
4862
4810
|
"use strict";
|
|
4863
4811
|
"use client";
|
|
4864
|
-
|
|
4812
|
+
import_react53 = __toESM(require("react"));
|
|
4865
4813
|
init_ClientButton();
|
|
4866
4814
|
init_StyleTypes();
|
|
4867
4815
|
init_AssetUtility();
|
|
4868
4816
|
init_Hyperlink();
|
|
4869
4817
|
init_Icon();
|
|
4870
|
-
|
|
4818
|
+
import_jsx_runtime79 = require("react/jsx-runtime");
|
|
4871
4819
|
AssetUpload = (props) => {
|
|
4872
4820
|
const isDisabled = props.attributes?.disable ?? false;
|
|
4873
4821
|
let allValues = [];
|
|
@@ -4888,8 +4836,8 @@ var init_AssetUpload = __esm({
|
|
|
4888
4836
|
}
|
|
4889
4837
|
return "image";
|
|
4890
4838
|
};
|
|
4891
|
-
const [assetType, setAssetType] =
|
|
4892
|
-
(0,
|
|
4839
|
+
const [assetType, setAssetType] = import_react53.default.useState(getInitialTab);
|
|
4840
|
+
(0, import_react53.useEffect)(() => {
|
|
4893
4841
|
setAssetType(getInitialTab());
|
|
4894
4842
|
}, [props.value]);
|
|
4895
4843
|
const assetUploadCallback = (newAsset) => {
|
|
@@ -4964,10 +4912,10 @@ var init_AssetUpload = __esm({
|
|
|
4964
4912
|
}
|
|
4965
4913
|
return false;
|
|
4966
4914
|
};
|
|
4967
|
-
return /* @__PURE__ */ (0,
|
|
4968
|
-
/* @__PURE__ */ (0,
|
|
4969
|
-
/* @__PURE__ */ (0,
|
|
4970
|
-
/* @__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)(
|
|
4971
4919
|
ClientButton_default,
|
|
4972
4920
|
{
|
|
4973
4921
|
className: assetType === "image" ? "px-2 py-1 rounded bg-body-200 scale-95" : "text-neutral-700",
|
|
@@ -4977,7 +4925,7 @@ var init_AssetUpload = __esm({
|
|
|
4977
4925
|
children: "Image Upload"
|
|
4978
4926
|
}
|
|
4979
4927
|
),
|
|
4980
|
-
/* @__PURE__ */ (0,
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4981
4929
|
ClientButton_default,
|
|
4982
4930
|
{
|
|
4983
4931
|
className: assetType === "video" ? "bg-body-200 px-2 py-1 rounded-md scale-95" : "text-neutral-700",
|
|
@@ -4988,13 +4936,13 @@ var init_AssetUpload = __esm({
|
|
|
4988
4936
|
}
|
|
4989
4937
|
)
|
|
4990
4938
|
] }),
|
|
4991
|
-
shouldShowDetails() && /* @__PURE__ */ (0,
|
|
4992
|
-
/* @__PURE__ */ (0,
|
|
4993
|
-
/* @__PURE__ */ (0,
|
|
4994
|
-
/* @__PURE__ */ (0,
|
|
4995
|
-
/* @__PURE__ */ (0,
|
|
4996
|
-
/* @__PURE__ */ (0,
|
|
4997
|
-
/* @__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)(
|
|
4998
4946
|
"input",
|
|
4999
4947
|
{
|
|
5000
4948
|
type: "text",
|
|
@@ -5006,18 +4954,18 @@ var init_AssetUpload = __esm({
|
|
|
5006
4954
|
}
|
|
5007
4955
|
)
|
|
5008
4956
|
] }),
|
|
5009
|
-
digitalAsset.intrinsicWidth && digitalAsset.intrinsicHeight && /* @__PURE__ */ (0,
|
|
5010
|
-
/* @__PURE__ */ (0,
|
|
5011
|
-
/* @__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: [
|
|
5012
4960
|
digitalAsset.intrinsicWidth,
|
|
5013
4961
|
"\xD7",
|
|
5014
4962
|
digitalAsset.intrinsicHeight
|
|
5015
4963
|
] })
|
|
5016
4964
|
] }),
|
|
5017
|
-
(digitalAsset.assetUrl || digitalAsset.posterUrl) && /* @__PURE__ */ (0,
|
|
5018
|
-
/* @__PURE__ */ (0,
|
|
5019
|
-
/* @__PURE__ */ (0,
|
|
5020
|
-
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)(
|
|
5021
4969
|
"img",
|
|
5022
4970
|
{
|
|
5023
4971
|
src: AssetUtility_default.resolveUrl(props.serviceClient?.baseUrl, digitalAsset.posterUrl),
|
|
@@ -5025,7 +4973,7 @@ var init_AssetUpload = __esm({
|
|
|
5025
4973
|
className: "w-32 h-auto object-cover rounded border p-1"
|
|
5026
4974
|
}
|
|
5027
4975
|
),
|
|
5028
|
-
getAssetType(digitalAsset) === "image" && digitalAsset.assetUrl && /* @__PURE__ */ (0,
|
|
4976
|
+
getAssetType(digitalAsset) === "image" && digitalAsset.assetUrl && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5029
4977
|
"img",
|
|
5030
4978
|
{
|
|
5031
4979
|
src: AssetUtility_default.resolveUrl(props.serviceClient?.baseUrl, digitalAsset.assetUrl),
|
|
@@ -5035,9 +4983,9 @@ var init_AssetUpload = __esm({
|
|
|
5035
4983
|
)
|
|
5036
4984
|
] })
|
|
5037
4985
|
] }),
|
|
5038
|
-
digitalAsset.assetUrl?.endsWith(".m3u8") && /* @__PURE__ */ (0,
|
|
5039
|
-
/* @__PURE__ */ (0,
|
|
5040
|
-
/* @__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)(
|
|
5041
4989
|
Hyperlink,
|
|
5042
4990
|
{
|
|
5043
4991
|
href: digitalAsset.assetUrl,
|
|
@@ -5048,12 +4996,12 @@ var init_AssetUpload = __esm({
|
|
|
5048
4996
|
)
|
|
5049
4997
|
] })
|
|
5050
4998
|
] }),
|
|
5051
|
-
/* @__PURE__ */ (0,
|
|
4999
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
5052
5000
|
"span",
|
|
5053
5001
|
{
|
|
5054
5002
|
onClick: () => !isDisabled && deleteFile(index),
|
|
5055
5003
|
className: isDisabled ? "cursor-not-allowed opacity-50" : "cursor-pointer",
|
|
5056
|
-
children: /* @__PURE__ */ (0,
|
|
5004
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon_default, { className: "w-4 h-4 text-primary", name: "delete" })
|
|
5057
5005
|
}
|
|
5058
5006
|
)
|
|
5059
5007
|
] }, index)) })
|
|
@@ -5065,12 +5013,12 @@ var init_AssetUpload = __esm({
|
|
|
5065
5013
|
});
|
|
5066
5014
|
|
|
5067
5015
|
// src/components/controls/edit/SwitchInput.tsx
|
|
5068
|
-
var
|
|
5016
|
+
var import_react54, import_jsx_runtime80, SwitchInput, SwitchInput_default;
|
|
5069
5017
|
var init_SwitchInput = __esm({
|
|
5070
5018
|
"src/components/controls/edit/SwitchInput.tsx"() {
|
|
5071
5019
|
"use strict";
|
|
5072
|
-
|
|
5073
|
-
|
|
5020
|
+
import_react54 = __toESM(require("react"));
|
|
5021
|
+
import_jsx_runtime80 = require("react/jsx-runtime");
|
|
5074
5022
|
SwitchInput = (props) => {
|
|
5075
5023
|
const textChangeHandler = (event) => {
|
|
5076
5024
|
let text = event.target.checked;
|
|
@@ -5087,28 +5035,28 @@ var init_SwitchInput = __esm({
|
|
|
5087
5035
|
if (props.value != void 0 && props.value != null && props.value != "" && (props.value == "true" || props.value.toString() == "true")) {
|
|
5088
5036
|
value = true;
|
|
5089
5037
|
}
|
|
5090
|
-
return /* @__PURE__ */ (0,
|
|
5091
|
-
/* @__PURE__ */ (0,
|
|
5092
|
-
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)(
|
|
5093
5041
|
"label",
|
|
5094
5042
|
{
|
|
5095
5043
|
htmlFor: props.name,
|
|
5096
5044
|
className: "inline-block text-sm font-semibold text-slate-800",
|
|
5097
5045
|
children: [
|
|
5098
5046
|
props.attributes.label,
|
|
5099
|
-
props?.attributes?.required && /* @__PURE__ */ (0,
|
|
5047
|
+
props?.attributes?.required && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "bg-error-weak", children: "*" })
|
|
5100
5048
|
]
|
|
5101
5049
|
}
|
|
5102
5050
|
),
|
|
5103
|
-
/* @__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 || "" })
|
|
5104
5052
|
] }),
|
|
5105
|
-
/* @__PURE__ */ (0,
|
|
5053
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
5106
5054
|
"label",
|
|
5107
5055
|
{
|
|
5108
5056
|
htmlFor: props.name,
|
|
5109
5057
|
className: "relative inline-flex shrink-0 cursor-pointer items-center peer-disabled:cursor-not-allowed",
|
|
5110
5058
|
children: [
|
|
5111
|
-
/* @__PURE__ */ (0,
|
|
5059
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5112
5060
|
"input",
|
|
5113
5061
|
{
|
|
5114
5062
|
type: "checkbox",
|
|
@@ -5121,13 +5069,13 @@ var init_SwitchInput = __esm({
|
|
|
5121
5069
|
className: "peer sr-only"
|
|
5122
5070
|
}
|
|
5123
5071
|
),
|
|
5124
|
-
/* @__PURE__ */ (0,
|
|
5072
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5125
5073
|
"div",
|
|
5126
5074
|
{
|
|
5127
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"
|
|
5128
5076
|
}
|
|
5129
5077
|
),
|
|
5130
|
-
/* @__PURE__ */ (0,
|
|
5078
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
5131
5079
|
"div",
|
|
5132
5080
|
{
|
|
5133
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"
|
|
@@ -5225,15 +5173,15 @@ var init_DateTimeUtility = __esm({
|
|
|
5225
5173
|
});
|
|
5226
5174
|
|
|
5227
5175
|
// src/components/controls/edit/DateInput.tsx
|
|
5228
|
-
var
|
|
5176
|
+
var import_react55, import_jsx_runtime81, DateInput, DateInput_default;
|
|
5229
5177
|
var init_DateInput = __esm({
|
|
5230
5178
|
"src/components/controls/edit/DateInput.tsx"() {
|
|
5231
5179
|
"use strict";
|
|
5232
|
-
|
|
5180
|
+
import_react55 = require("react");
|
|
5233
5181
|
init_DateTimeUtility();
|
|
5234
|
-
|
|
5182
|
+
import_jsx_runtime81 = require("react/jsx-runtime");
|
|
5235
5183
|
DateInput = (props) => {
|
|
5236
|
-
const value = (0,
|
|
5184
|
+
const value = (0, import_react55.useMemo)(() => {
|
|
5237
5185
|
if (props.value === void 0 || props.value === null || props.value === "") {
|
|
5238
5186
|
return "";
|
|
5239
5187
|
}
|
|
@@ -5265,11 +5213,11 @@ var init_DateInput = __esm({
|
|
|
5265
5213
|
groupKey: props.groupKey
|
|
5266
5214
|
});
|
|
5267
5215
|
};
|
|
5268
|
-
return /* @__PURE__ */ (0,
|
|
5269
|
-
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 }),
|
|
5270
5218
|
" ",
|
|
5271
|
-
props.attributes?.label && props.attributes.required && /* @__PURE__ */ (0,
|
|
5272
|
-
/* @__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)(
|
|
5273
5221
|
"input",
|
|
5274
5222
|
{
|
|
5275
5223
|
type: "date",
|
|
@@ -5283,7 +5231,7 @@ var init_DateInput = __esm({
|
|
|
5283
5231
|
className: `peer input mt-1 py-1.5 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`
|
|
5284
5232
|
}
|
|
5285
5233
|
),
|
|
5286
|
-
/* @__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 ?? "" })
|
|
5287
5235
|
] });
|
|
5288
5236
|
};
|
|
5289
5237
|
DateInput_default = DateInput;
|
|
@@ -5291,16 +5239,16 @@ var init_DateInput = __esm({
|
|
|
5291
5239
|
});
|
|
5292
5240
|
|
|
5293
5241
|
// src/components/controls/edit/RadioInput.tsx
|
|
5294
|
-
var
|
|
5242
|
+
var import_react56, import_jsx_runtime82, RadioInput, RadioInput_default;
|
|
5295
5243
|
var init_RadioInput = __esm({
|
|
5296
5244
|
"src/components/controls/edit/RadioInput.tsx"() {
|
|
5297
5245
|
"use strict";
|
|
5298
|
-
|
|
5246
|
+
import_react56 = require("react");
|
|
5299
5247
|
init_Icon();
|
|
5300
|
-
|
|
5248
|
+
import_jsx_runtime82 = require("react/jsx-runtime");
|
|
5301
5249
|
RadioInput = (props) => {
|
|
5302
|
-
const [list, setList] = (0,
|
|
5303
|
-
(0,
|
|
5250
|
+
const [list, setList] = (0, import_react56.useState)([]);
|
|
5251
|
+
(0, import_react56.useEffect)(() => {
|
|
5304
5252
|
async function loadData() {
|
|
5305
5253
|
if (props.dataset) {
|
|
5306
5254
|
setList(props.dataset);
|
|
@@ -5342,22 +5290,22 @@ var init_RadioInput = __esm({
|
|
|
5342
5290
|
});
|
|
5343
5291
|
}
|
|
5344
5292
|
};
|
|
5345
|
-
return /* @__PURE__ */ (0,
|
|
5346
|
-
/* @__PURE__ */ (0,
|
|
5347
|
-
/* @__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) => {
|
|
5348
5296
|
const itemValue = item[props.dataKeyFieldName];
|
|
5349
5297
|
const isSelected = String(itemValue) === String(props.value ?? "");
|
|
5350
5298
|
const isRecommended = props.dataRecommendedValue !== void 0 && String(itemValue) === String(props.dataRecommendedValue);
|
|
5351
5299
|
const resultClassName = isSelected ? isRecommended ? "bg-success" : props.dataRecommendedValue ? "bg-alert" : "border-transparent" : "border-transparent";
|
|
5352
5300
|
const iconName = isSelected && props.dataRecommendedValue ? isRecommended ? "checkCircle" : "xCircle" : void 0;
|
|
5353
5301
|
const inputId = `${props.name}-${props.index ?? 0}-id-${index}`;
|
|
5354
|
-
return /* @__PURE__ */ (0,
|
|
5302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
5355
5303
|
"div",
|
|
5356
5304
|
{
|
|
5357
5305
|
className: `font-normal flex items-center justify-between gap-4 cursor-pointer border rounded p-2 ${resultClassName}`,
|
|
5358
5306
|
children: [
|
|
5359
|
-
/* @__PURE__ */ (0,
|
|
5360
|
-
/* @__PURE__ */ (0,
|
|
5307
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex gap-4 items-start", children: [
|
|
5308
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5361
5309
|
"input",
|
|
5362
5310
|
{
|
|
5363
5311
|
type: "radio",
|
|
@@ -5371,125 +5319,30 @@ var init_RadioInput = __esm({
|
|
|
5371
5319
|
required: props.attributes?.required
|
|
5372
5320
|
}
|
|
5373
5321
|
),
|
|
5374
|
-
/* @__PURE__ */ (0,
|
|
5322
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("label", { className: "text-body-950 pr-2", htmlFor: inputId, children: item[props.dataTextFieldName] })
|
|
5375
5323
|
] }),
|
|
5376
|
-
iconName && /* @__PURE__ */ (0,
|
|
5324
|
+
iconName && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon_default, { className: "w-5 h-5 text-success", name: iconName })
|
|
5377
5325
|
]
|
|
5378
5326
|
},
|
|
5379
5327
|
String(itemValue)
|
|
5380
5328
|
);
|
|
5381
5329
|
}) }),
|
|
5382
|
-
/* @__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 ?? "" })
|
|
5383
5331
|
] });
|
|
5384
5332
|
};
|
|
5385
5333
|
RadioInput_default = RadioInput;
|
|
5386
5334
|
}
|
|
5387
5335
|
});
|
|
5388
5336
|
|
|
5389
|
-
// src/components/controls/edit/Switcher.tsx
|
|
5390
|
-
var import_react58, import_jsx_runtime84, Switcher, Switcher_default;
|
|
5391
|
-
var init_Switcher = __esm({
|
|
5392
|
-
"src/components/controls/edit/Switcher.tsx"() {
|
|
5393
|
-
"use strict";
|
|
5394
|
-
import_react58 = require("react");
|
|
5395
|
-
import_jsx_runtime84 = require("react/jsx-runtime");
|
|
5396
|
-
Switcher = (props) => {
|
|
5397
|
-
const [list, setList] = (0, import_react58.useState)([]);
|
|
5398
|
-
(0, import_react58.useEffect)(() => {
|
|
5399
|
-
async function loadData() {
|
|
5400
|
-
if (props.dataset) {
|
|
5401
|
-
setList(props.dataset);
|
|
5402
|
-
return;
|
|
5403
|
-
}
|
|
5404
|
-
if (!props.dataSource || !props.serviceClient) {
|
|
5405
|
-
setList([]);
|
|
5406
|
-
return;
|
|
5407
|
-
}
|
|
5408
|
-
let dataSource = props.dataSource;
|
|
5409
|
-
if (props.dataSourceDependsOn) {
|
|
5410
|
-
if (!props.dependentValue) {
|
|
5411
|
-
setList([]);
|
|
5412
|
-
return;
|
|
5413
|
-
}
|
|
5414
|
-
dataSource = dataSource.replace(
|
|
5415
|
-
`{${props.dataSourceDependsOn}}`,
|
|
5416
|
-
props.dependentValue
|
|
5417
|
-
);
|
|
5418
|
-
}
|
|
5419
|
-
const response = await props.serviceClient.get(dataSource);
|
|
5420
|
-
setList(response.result ?? []);
|
|
5421
|
-
}
|
|
5422
|
-
loadData();
|
|
5423
|
-
}, [
|
|
5424
|
-
props.dataSource,
|
|
5425
|
-
props.dataSourceDependsOn,
|
|
5426
|
-
props.dataset,
|
|
5427
|
-
props.dependentValue,
|
|
5428
|
-
props.serviceClient
|
|
5429
|
-
]);
|
|
5430
|
-
const changeHandler = (event) => {
|
|
5431
|
-
props.callback?.({
|
|
5432
|
-
name: props.name,
|
|
5433
|
-
value: event.target.value,
|
|
5434
|
-
index: props.index,
|
|
5435
|
-
groupKey: props.groupKey
|
|
5436
|
-
});
|
|
5437
|
-
};
|
|
5438
|
-
const value = props.value === void 0 || props.value === null ? "" : String(props.value);
|
|
5439
|
-
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("label", { className: "block mb-1", children: [
|
|
5440
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-sm font-medium", children: props.attributes?.label }),
|
|
5441
|
-
list.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5442
|
-
"input",
|
|
5443
|
-
{
|
|
5444
|
-
type: "text",
|
|
5445
|
-
name: props.name,
|
|
5446
|
-
id: props.name,
|
|
5447
|
-
value,
|
|
5448
|
-
onChange: changeHandler,
|
|
5449
|
-
required: props.attributes?.required,
|
|
5450
|
-
placeholder: props.attributes?.placeholder,
|
|
5451
|
-
disabled: props.attributes?.readOnly,
|
|
5452
|
-
className: `peer input mt-1 py-1.5 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`
|
|
5453
|
-
}
|
|
5454
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
5455
|
-
"select",
|
|
5456
|
-
{
|
|
5457
|
-
name: props.name,
|
|
5458
|
-
id: props.name,
|
|
5459
|
-
value,
|
|
5460
|
-
onChange: changeHandler,
|
|
5461
|
-
required: props.attributes?.required,
|
|
5462
|
-
disabled: props.attributes?.readOnly,
|
|
5463
|
-
className: `peer select my-1 py-1 block w-full rounded shadow-sm ${props.inputClasses ?? ""}`,
|
|
5464
|
-
children: [
|
|
5465
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("option", { value: "", children: props.attributes?.placeholder || "Select" }),
|
|
5466
|
-
list.map((item) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5467
|
-
"option",
|
|
5468
|
-
{
|
|
5469
|
-
value: item[props.dataKeyFieldName],
|
|
5470
|
-
children: item[props.dataTextFieldName]
|
|
5471
|
-
},
|
|
5472
|
-
String(item[props.dataKeyFieldName])
|
|
5473
|
-
))
|
|
5474
|
-
]
|
|
5475
|
-
}
|
|
5476
|
-
),
|
|
5477
|
-
/* @__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 ?? "" })
|
|
5478
|
-
] });
|
|
5479
|
-
};
|
|
5480
|
-
Switcher_default = Switcher;
|
|
5481
|
-
}
|
|
5482
|
-
});
|
|
5483
|
-
|
|
5484
5337
|
// src/components/controls/edit/ReferenceInput.tsx
|
|
5485
|
-
var
|
|
5338
|
+
var import_jsx_runtime83, ReferenceInput, ReferenceInput_default;
|
|
5486
5339
|
var init_ReferenceInput = __esm({
|
|
5487
5340
|
"src/components/controls/edit/ReferenceInput.tsx"() {
|
|
5488
5341
|
"use strict";
|
|
5489
5342
|
init_SelectWithSearchInput();
|
|
5490
|
-
|
|
5343
|
+
import_jsx_runtime83 = require("react/jsx-runtime");
|
|
5491
5344
|
ReferenceInput = (props) => {
|
|
5492
|
-
return /* @__PURE__ */ (0,
|
|
5345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SelectWithSearchInput_default, { ...props });
|
|
5493
5346
|
};
|
|
5494
5347
|
ReferenceInput_default = ReferenceInput;
|
|
5495
5348
|
}
|
|
@@ -5500,12 +5353,12 @@ var InputControlClient_exports = {};
|
|
|
5500
5353
|
__export(InputControlClient_exports, {
|
|
5501
5354
|
default: () => InputControlClient_default
|
|
5502
5355
|
});
|
|
5503
|
-
var
|
|
5356
|
+
var import_react57, import_jsx_runtime84, InputControl, InputControlClient_default;
|
|
5504
5357
|
var init_InputControlClient = __esm({
|
|
5505
5358
|
"src/components/controls/edit/InputControlClient.tsx"() {
|
|
5506
5359
|
"use strict";
|
|
5507
5360
|
"use client";
|
|
5508
|
-
|
|
5361
|
+
import_react57 = __toESM(require("react"));
|
|
5509
5362
|
init_MultilineTextInput();
|
|
5510
5363
|
init_LineTextInput();
|
|
5511
5364
|
init_MoneyInput();
|
|
@@ -5520,17 +5373,15 @@ var init_InputControlClient = __esm({
|
|
|
5520
5373
|
init_ColorInput();
|
|
5521
5374
|
init_SelectWithSearchInput();
|
|
5522
5375
|
init_SelectWithSearchPanel();
|
|
5523
|
-
init_BooleanSelect();
|
|
5524
5376
|
init_EmailInput();
|
|
5525
5377
|
init_TimeInput();
|
|
5526
5378
|
init_AssetUpload();
|
|
5527
5379
|
init_SwitchInput();
|
|
5528
5380
|
init_DateInput();
|
|
5529
5381
|
init_RadioInput();
|
|
5530
|
-
init_Switcher();
|
|
5531
5382
|
init_ReferenceInput();
|
|
5532
|
-
|
|
5533
|
-
InputControl =
|
|
5383
|
+
import_jsx_runtime84 = require("react/jsx-runtime");
|
|
5384
|
+
InputControl = import_react57.default.forwardRef(
|
|
5534
5385
|
(props, ref) => {
|
|
5535
5386
|
const ControlComponents = {
|
|
5536
5387
|
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
@@ -5547,18 +5398,15 @@ var init_InputControlClient = __esm({
|
|
|
5547
5398
|
[InputControlType_default.colorInput]: ColorInput_default,
|
|
5548
5399
|
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
5549
5400
|
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
5550
|
-
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
5551
5401
|
[InputControlType_default.timeInput]: TimeInput_default,
|
|
5552
|
-
[InputControlType_default.asset]: AssetUpload_default,
|
|
5553
5402
|
[InputControlType_default.assetUpload]: AssetUpload_default,
|
|
5554
5403
|
[InputControlType_default.switchInput]: SwitchInput_default,
|
|
5555
5404
|
[InputControlType_default.dateInput]: DateInput_default,
|
|
5556
5405
|
[InputControlType_default.radioInput]: RadioInput_default,
|
|
5557
|
-
[InputControlType_default.switcher]: Switcher_default,
|
|
5558
5406
|
[InputControlType_default.referenceInput]: ReferenceInput_default
|
|
5559
5407
|
};
|
|
5560
5408
|
const SelectedControlComponent = ControlComponents[props.controlType];
|
|
5561
|
-
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 });
|
|
5562
5410
|
}
|
|
5563
5411
|
);
|
|
5564
5412
|
InputControl.displayName = "InputControl";
|
|
@@ -5584,16 +5432,16 @@ var DataBindingControls_exports = {};
|
|
|
5584
5432
|
__export(DataBindingControls_exports, {
|
|
5585
5433
|
default: () => DataBindingControls_default
|
|
5586
5434
|
});
|
|
5587
|
-
var
|
|
5435
|
+
var import_react58, import_navigation, import_jsx_runtime85, humanize, escapeODataString, parseFacetSelections, buildFacetFilter, parseODataSearch, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
|
|
5588
5436
|
var init_DataBindingControls = __esm({
|
|
5589
5437
|
"src/components/pageRenderingEngine/nodes/DataBindingControls.tsx"() {
|
|
5590
5438
|
"use strict";
|
|
5591
5439
|
"use client";
|
|
5592
|
-
|
|
5440
|
+
import_react58 = require("react");
|
|
5593
5441
|
import_navigation = require("next/navigation");
|
|
5594
5442
|
init_InputControl();
|
|
5595
5443
|
init_InputControlType();
|
|
5596
|
-
|
|
5444
|
+
import_jsx_runtime85 = require("react/jsx-runtime");
|
|
5597
5445
|
humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
|
|
5598
5446
|
escapeODataString = (value) => value.replace(/'/g, "''");
|
|
5599
5447
|
parseFacetSelections = (filter) => {
|
|
@@ -5670,12 +5518,12 @@ var init_DataBindingControls = __esm({
|
|
|
5670
5518
|
const selectedFacetValues = parseFacetSelections(currentFilter);
|
|
5671
5519
|
const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
|
|
5672
5520
|
const currentSearch = parseODataSearch(query?.["$search"]);
|
|
5673
|
-
const [searchText, setSearchText] = (0,
|
|
5674
|
-
const lastNavigationUrl = (0,
|
|
5675
|
-
(0,
|
|
5521
|
+
const [searchText, setSearchText] = (0, import_react58.useState)(currentSearch);
|
|
5522
|
+
const lastNavigationUrl = (0, import_react58.useRef)(null);
|
|
5523
|
+
(0, import_react58.useEffect)(() => {
|
|
5676
5524
|
setSearchText(currentSearch);
|
|
5677
5525
|
}, [currentSearch]);
|
|
5678
|
-
const getQueryUrl = (0,
|
|
5526
|
+
const getQueryUrl = (0, import_react58.useCallback)(
|
|
5679
5527
|
(updates) => {
|
|
5680
5528
|
const params = new URLSearchParams(query ?? {});
|
|
5681
5529
|
Object.entries(updates).forEach(([key, value]) => {
|
|
@@ -5705,7 +5553,7 @@ var init_DataBindingControls = __esm({
|
|
|
5705
5553
|
filter: void 0
|
|
5706
5554
|
});
|
|
5707
5555
|
};
|
|
5708
|
-
const navigateWithoutReload = (0,
|
|
5556
|
+
const navigateWithoutReload = (0, import_react58.useCallback)(
|
|
5709
5557
|
(url) => {
|
|
5710
5558
|
if (lastNavigationUrl.current === url) {
|
|
5711
5559
|
return;
|
|
@@ -5721,7 +5569,7 @@ var init_DataBindingControls = __esm({
|
|
|
5721
5569
|
},
|
|
5722
5570
|
[router]
|
|
5723
5571
|
);
|
|
5724
|
-
(0,
|
|
5572
|
+
(0, import_react58.useEffect)(() => {
|
|
5725
5573
|
const trimmedSearchText = searchText.trim();
|
|
5726
5574
|
if (trimmedSearchText === currentSearch.trim()) {
|
|
5727
5575
|
return;
|
|
@@ -5742,8 +5590,8 @@ var init_DataBindingControls = __esm({
|
|
|
5742
5590
|
if (!shouldShowToolbar && !shouldShowFacets) {
|
|
5743
5591
|
return null;
|
|
5744
5592
|
}
|
|
5745
|
-
const renderFacetLinks = (field, values, stacked = false) => /* @__PURE__ */ (0,
|
|
5746
|
-
/* @__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)(
|
|
5747
5595
|
"button",
|
|
5748
5596
|
{
|
|
5749
5597
|
type: "button",
|
|
@@ -5755,7 +5603,7 @@ var init_DataBindingControls = __esm({
|
|
|
5755
5603
|
),
|
|
5756
5604
|
values.map((facet) => {
|
|
5757
5605
|
const isSelected = selectedFacetValues.get(field) === facet.value;
|
|
5758
|
-
return /* @__PURE__ */ (0,
|
|
5606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
5759
5607
|
"button",
|
|
5760
5608
|
{
|
|
5761
5609
|
type: "button",
|
|
@@ -5773,9 +5621,9 @@ var init_DataBindingControls = __esm({
|
|
|
5773
5621
|
);
|
|
5774
5622
|
})
|
|
5775
5623
|
] });
|
|
5776
|
-
return /* @__PURE__ */ (0,
|
|
5777
|
-
shouldShowToolbar && /* @__PURE__ */ (0,
|
|
5778
|
-
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)(
|
|
5779
5627
|
InputControl_default,
|
|
5780
5628
|
{
|
|
5781
5629
|
name: "searchText",
|
|
@@ -5786,9 +5634,9 @@ var init_DataBindingControls = __esm({
|
|
|
5786
5634
|
inputClasses: "!mt-0"
|
|
5787
5635
|
}
|
|
5788
5636
|
) }),
|
|
5789
|
-
hasSortControls && /* @__PURE__ */ (0,
|
|
5790
|
-
/* @__PURE__ */ (0,
|
|
5791
|
-
/* @__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)(
|
|
5792
5640
|
InputControl_default,
|
|
5793
5641
|
{
|
|
5794
5642
|
name: "sortOptions",
|
|
@@ -5809,10 +5657,10 @@ var init_DataBindingControls = __esm({
|
|
|
5809
5657
|
)
|
|
5810
5658
|
] })
|
|
5811
5659
|
] }),
|
|
5812
|
-
shouldShowFacets && facetGroups.length === 1 && /* @__PURE__ */ (0,
|
|
5813
|
-
shouldShowFacets && facetGroups.length > 1 && /* @__PURE__ */ (0,
|
|
5814
|
-
/* @__PURE__ */ (0,
|
|
5815
|
-
/* @__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) })
|
|
5816
5664
|
] }, field)) })
|
|
5817
5665
|
] });
|
|
5818
5666
|
};
|
|
@@ -5825,13 +5673,13 @@ var Slider_exports = {};
|
|
|
5825
5673
|
__export(Slider_exports, {
|
|
5826
5674
|
default: () => Slider_default
|
|
5827
5675
|
});
|
|
5828
|
-
var
|
|
5676
|
+
var import_react59, import_jsx_runtime86, Slider, ArrowButton, ProgressPill, Slider_default;
|
|
5829
5677
|
var init_Slider = __esm({
|
|
5830
5678
|
"src/components/Slider.tsx"() {
|
|
5831
5679
|
"use strict";
|
|
5832
5680
|
"use client";
|
|
5833
|
-
|
|
5834
|
-
|
|
5681
|
+
import_react59 = __toESM(require("react"));
|
|
5682
|
+
import_jsx_runtime86 = require("react/jsx-runtime");
|
|
5835
5683
|
Slider = ({
|
|
5836
5684
|
children,
|
|
5837
5685
|
slidesToShow = 4,
|
|
@@ -5849,13 +5697,13 @@ var init_Slider = __esm({
|
|
|
5849
5697
|
pillStyle = "cumulative",
|
|
5850
5698
|
progressPosition = "bottom"
|
|
5851
5699
|
}) => {
|
|
5852
|
-
const [currentSlide, setCurrentSlide] = (0,
|
|
5853
|
-
const [transition, setTransition] = (0,
|
|
5854
|
-
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)(
|
|
5855
5703
|
typeof slidesToShow === "number" ? slidesToShow : slidesToShow.large
|
|
5856
5704
|
);
|
|
5857
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
5858
|
-
(0,
|
|
5705
|
+
const [isPlaying, setIsPlaying] = (0, import_react59.useState)(autoplay);
|
|
5706
|
+
(0, import_react59.useEffect)(() => {
|
|
5859
5707
|
if (typeof slidesToShow === "number") return;
|
|
5860
5708
|
const handleResize = () => {
|
|
5861
5709
|
if (window.innerWidth >= 1024) {
|
|
@@ -5870,7 +5718,7 @@ var init_Slider = __esm({
|
|
|
5870
5718
|
window.addEventListener("resize", handleResize);
|
|
5871
5719
|
return () => window.removeEventListener("resize", handleResize);
|
|
5872
5720
|
}, [slidesToShow]);
|
|
5873
|
-
(0,
|
|
5721
|
+
(0, import_react59.useEffect)(() => {
|
|
5874
5722
|
if (!autoplay) return;
|
|
5875
5723
|
const timer = setInterval(() => {
|
|
5876
5724
|
if (isPlaying) {
|
|
@@ -5879,7 +5727,7 @@ var init_Slider = __esm({
|
|
|
5879
5727
|
}, autoplay_speed);
|
|
5880
5728
|
return () => clearInterval(timer);
|
|
5881
5729
|
}, [autoplay, autoplay_speed, currentSlide, isPlaying]);
|
|
5882
|
-
const totalSlides =
|
|
5730
|
+
const totalSlides = import_react59.Children.count(children);
|
|
5883
5731
|
const maxSlide = totalSlides - slidesToShowState;
|
|
5884
5732
|
const nextSlide = () => {
|
|
5885
5733
|
if (currentSlide >= maxSlide) {
|
|
@@ -5924,16 +5772,16 @@ var init_Slider = __esm({
|
|
|
5924
5772
|
}
|
|
5925
5773
|
};
|
|
5926
5774
|
const translateX = -currentSlide * (100 / slidesToShowState);
|
|
5927
|
-
const slides =
|
|
5928
|
-
if (!
|
|
5775
|
+
const slides = import_react59.Children.map(children, (child, index) => {
|
|
5776
|
+
if (!import_react59.default.isValidElement(child)) return null;
|
|
5929
5777
|
const childProps = child.props;
|
|
5930
5778
|
const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
|
|
5931
|
-
return /* @__PURE__ */ (0,
|
|
5779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5932
5780
|
"div",
|
|
5933
5781
|
{
|
|
5934
5782
|
className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
|
|
5935
5783
|
style: { width: `calc(${100 / slidesToShowState}%)`, paddingRight: gap },
|
|
5936
|
-
children: (0,
|
|
5784
|
+
children: (0, import_react59.cloneElement)(child, {
|
|
5937
5785
|
className: mergedClassName
|
|
5938
5786
|
})
|
|
5939
5787
|
},
|
|
@@ -5951,14 +5799,14 @@ var init_Slider = __esm({
|
|
|
5951
5799
|
return "bottom-4";
|
|
5952
5800
|
}
|
|
5953
5801
|
};
|
|
5954
|
-
return /* @__PURE__ */ (0,
|
|
5802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
5955
5803
|
"div",
|
|
5956
5804
|
{
|
|
5957
5805
|
className: `relative w-full overflow-hidden ${className}`,
|
|
5958
5806
|
onMouseEnter: handleMouseEnter,
|
|
5959
5807
|
onMouseLeave: handleMouseLeave,
|
|
5960
5808
|
children: [
|
|
5961
|
-
/* @__PURE__ */ (0,
|
|
5809
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5962
5810
|
"div",
|
|
5963
5811
|
{
|
|
5964
5812
|
className: "flex h-full",
|
|
@@ -5969,18 +5817,18 @@ var init_Slider = __esm({
|
|
|
5969
5817
|
children: slides
|
|
5970
5818
|
}
|
|
5971
5819
|
),
|
|
5972
|
-
show_arrows && /* @__PURE__ */ (0,
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5820
|
+
show_arrows && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
|
|
5821
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5974
5822
|
ArrowButton,
|
|
5975
5823
|
{
|
|
5976
5824
|
direction: "left",
|
|
5977
5825
|
onClick: prevSlide,
|
|
5978
5826
|
visible: infinite_scroll || currentSlide > 0,
|
|
5979
5827
|
className: arrowClassName,
|
|
5980
|
-
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" }) })
|
|
5981
5829
|
}
|
|
5982
5830
|
),
|
|
5983
|
-
/* @__PURE__ */ (0,
|
|
5831
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
5984
5832
|
ArrowButton,
|
|
5985
5833
|
{
|
|
5986
5834
|
direction: "right",
|
|
@@ -5988,13 +5836,13 @@ var init_Slider = __esm({
|
|
|
5988
5836
|
visible: infinite_scroll || currentSlide < maxSlide,
|
|
5989
5837
|
className: arrowClassName,
|
|
5990
5838
|
children: [
|
|
5991
|
-
/* @__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" }) }),
|
|
5992
5840
|
" "
|
|
5993
5841
|
]
|
|
5994
5842
|
}
|
|
5995
5843
|
)
|
|
5996
5844
|
] }),
|
|
5997
|
-
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)(
|
|
5998
5846
|
ProgressPill,
|
|
5999
5847
|
{
|
|
6000
5848
|
active: index === currentSlide,
|
|
@@ -6020,7 +5868,7 @@ var init_Slider = __esm({
|
|
|
6020
5868
|
visible,
|
|
6021
5869
|
children,
|
|
6022
5870
|
className = ""
|
|
6023
|
-
}) => /* @__PURE__ */ (0,
|
|
5871
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6024
5872
|
"button",
|
|
6025
5873
|
{
|
|
6026
5874
|
className: `
|
|
@@ -6046,13 +5894,13 @@ var init_Slider = __esm({
|
|
|
6046
5894
|
currentSlide,
|
|
6047
5895
|
totalSlides
|
|
6048
5896
|
}) => {
|
|
6049
|
-
const [progress, setProgress] = (0,
|
|
6050
|
-
(0,
|
|
5897
|
+
const [progress, setProgress] = (0, import_react59.useState)(0);
|
|
5898
|
+
(0, import_react59.useEffect)(() => {
|
|
6051
5899
|
if (active) {
|
|
6052
5900
|
setProgress(0);
|
|
6053
5901
|
}
|
|
6054
5902
|
}, [active, index]);
|
|
6055
|
-
(0,
|
|
5903
|
+
(0, import_react59.useEffect)(() => {
|
|
6056
5904
|
if (!active || !isPlaying) {
|
|
6057
5905
|
if (!active) {
|
|
6058
5906
|
setProgress(0);
|
|
@@ -6107,7 +5955,7 @@ var init_Slider = __esm({
|
|
|
6107
5955
|
const renderProgressBar = () => {
|
|
6108
5956
|
if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
|
|
6109
5957
|
const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
|
|
6110
|
-
return /* @__PURE__ */ (0,
|
|
5958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6111
5959
|
"div",
|
|
6112
5960
|
{
|
|
6113
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`,
|
|
@@ -6119,7 +5967,7 @@ var init_Slider = __esm({
|
|
|
6119
5967
|
};
|
|
6120
5968
|
const renderCumulativeFill = () => {
|
|
6121
5969
|
if (style === "cumulative" && isFilled && !isActive) {
|
|
6122
|
-
return /* @__PURE__ */ (0,
|
|
5970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6123
5971
|
"div",
|
|
6124
5972
|
{
|
|
6125
5973
|
className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
|
|
@@ -6129,7 +5977,7 @@ var init_Slider = __esm({
|
|
|
6129
5977
|
}
|
|
6130
5978
|
return null;
|
|
6131
5979
|
};
|
|
6132
|
-
return /* @__PURE__ */ (0,
|
|
5980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
6133
5981
|
"button",
|
|
6134
5982
|
{
|
|
6135
5983
|
className: `${baseClasses} ${getStyleClasses()}`,
|
|
@@ -6157,7 +6005,7 @@ __export(server_exports, {
|
|
|
6157
6005
|
module.exports = __toCommonJS(server_exports);
|
|
6158
6006
|
|
|
6159
6007
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
6160
|
-
var
|
|
6008
|
+
var import_react61 = __toESM(require("react"));
|
|
6161
6009
|
|
|
6162
6010
|
// src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
|
|
6163
6011
|
var import_react27 = __toESM(require("react"));
|
|
@@ -7399,7 +7247,7 @@ var WidgetNode_default = WidgetNode;
|
|
|
7399
7247
|
|
|
7400
7248
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
7401
7249
|
var import_dynamic13 = __toESM(require("next/dynamic"));
|
|
7402
|
-
var
|
|
7250
|
+
var import_react60 = __toESM(require("react"));
|
|
7403
7251
|
|
|
7404
7252
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
7405
7253
|
var import_dynamic9 = __toESM(require("next/dynamic"));
|
|
@@ -8514,7 +8362,7 @@ var GoogleMapNode = (props) => {
|
|
|
8514
8362
|
var GoogleMapNode_default = GoogleMapNode;
|
|
8515
8363
|
|
|
8516
8364
|
// src/components/pageRenderingEngine/nodes/DivContainer.tsx
|
|
8517
|
-
var
|
|
8365
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
8518
8366
|
var Pagination2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_Pagination(), Pagination_exports)), { ssr: true });
|
|
8519
8367
|
var DataBindingControls2 = (0, import_dynamic13.default)(() => Promise.resolve().then(() => (init_DataBindingControls(), DataBindingControls_exports)), {
|
|
8520
8368
|
ssr: true
|
|
@@ -8773,7 +8621,7 @@ var DivContainer = async (props) => {
|
|
|
8773
8621
|
response = await serviceClient.get(endpoint);
|
|
8774
8622
|
result = response?.result;
|
|
8775
8623
|
if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
|
|
8776
|
-
return /* @__PURE__ */ (0,
|
|
8624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NoDataFound_default, {});
|
|
8777
8625
|
}
|
|
8778
8626
|
if (dataBindingProperties.childCollectionName && props.dataitem) {
|
|
8779
8627
|
childCollectionData = getNestedValue6(
|
|
@@ -8793,7 +8641,7 @@ var DivContainer = async (props) => {
|
|
|
8793
8641
|
}
|
|
8794
8642
|
const SelectedNode = NodeTypes2[node.type];
|
|
8795
8643
|
if (!SelectedNode) return null;
|
|
8796
|
-
return /* @__PURE__ */ (0,
|
|
8644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_react60.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8797
8645
|
SelectedNode,
|
|
8798
8646
|
{
|
|
8799
8647
|
node,
|
|
@@ -8930,7 +8778,7 @@ var DivContainer = async (props) => {
|
|
|
8930
8778
|
dataBindingProperties?.showFacets || dataBindingProperties?.showSortOptions || dataBindingProperties?.showSearchBar
|
|
8931
8779
|
);
|
|
8932
8780
|
const WrapperComponent = Wrapper;
|
|
8933
|
-
const renderedContainer = /* @__PURE__ */ (0,
|
|
8781
|
+
const renderedContainer = /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8934
8782
|
WrapperComponent,
|
|
8935
8783
|
{
|
|
8936
8784
|
id: guid,
|
|
@@ -8944,11 +8792,11 @@ var DivContainer = async (props) => {
|
|
|
8944
8792
|
item,
|
|
8945
8793
|
idx,
|
|
8946
8794
|
props.href ? void 0 : item?.links?.view
|
|
8947
|
-
)?.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)
|
|
8948
8796
|
)
|
|
8949
8797
|
}
|
|
8950
8798
|
);
|
|
8951
|
-
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0,
|
|
8799
|
+
const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8952
8800
|
Pagination2,
|
|
8953
8801
|
{
|
|
8954
8802
|
path: props.path,
|
|
@@ -8956,15 +8804,15 @@ var DivContainer = async (props) => {
|
|
|
8956
8804
|
dataset: response
|
|
8957
8805
|
}
|
|
8958
8806
|
) : null;
|
|
8959
|
-
return /* @__PURE__ */ (0,
|
|
8960
|
-
/* @__PURE__ */ (0,
|
|
8807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
8808
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8961
8809
|
"style",
|
|
8962
8810
|
{
|
|
8963
8811
|
dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS }
|
|
8964
8812
|
}
|
|
8965
8813
|
),
|
|
8966
|
-
showDataBindingControls ? /* @__PURE__ */ (0,
|
|
8967
|
-
/* @__PURE__ */ (0,
|
|
8814
|
+
showDataBindingControls ? /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
8815
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
8968
8816
|
DataBindingControls2,
|
|
8969
8817
|
{
|
|
8970
8818
|
mode: "toolbar",
|
|
@@ -8976,18 +8824,18 @@ var DivContainer = async (props) => {
|
|
|
8976
8824
|
showSearchBar: dataBindingProperties?.showSearchBar
|
|
8977
8825
|
}
|
|
8978
8826
|
),
|
|
8979
|
-
/* @__PURE__ */ (0,
|
|
8827
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
8980
8828
|
"div",
|
|
8981
8829
|
{
|
|
8982
8830
|
className: dataBindingProperties?.showFacets ? "grid items-start gap-6 lg:grid-cols-[minmax(0,1fr)_18rem]" : void 0,
|
|
8983
8831
|
children: [
|
|
8984
|
-
/* @__PURE__ */ (0,
|
|
8832
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "min-w-0", children: [
|
|
8985
8833
|
renderedContainer,
|
|
8986
8834
|
paginationControl
|
|
8987
8835
|
] }),
|
|
8988
|
-
dataBindingProperties?.showFacets && /* @__PURE__ */ (0,
|
|
8989
|
-
/* @__PURE__ */ (0,
|
|
8990
|
-
/* @__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)(
|
|
8991
8839
|
DataBindingControls2,
|
|
8992
8840
|
{
|
|
8993
8841
|
mode: "facets",
|
|
@@ -9001,16 +8849,16 @@ var DivContainer = async (props) => {
|
|
|
9001
8849
|
]
|
|
9002
8850
|
}
|
|
9003
8851
|
)
|
|
9004
|
-
] }) : /* @__PURE__ */ (0,
|
|
8852
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
|
|
9005
8853
|
renderedContainer,
|
|
9006
|
-
paginationControl && /* @__PURE__ */ (0,
|
|
8854
|
+
paginationControl && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { children: paginationControl })
|
|
9007
8855
|
] })
|
|
9008
8856
|
] });
|
|
9009
8857
|
};
|
|
9010
8858
|
var DivContainer_default = DivContainer;
|
|
9011
8859
|
|
|
9012
8860
|
// src/components/pageRenderingEngine/PageBodyRenderer.tsx
|
|
9013
|
-
var
|
|
8861
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
9014
8862
|
var NodeTypes = {
|
|
9015
8863
|
["paragraph"]: ParagraphNode_default,
|
|
9016
8864
|
["heading"]: HeadingNode_default,
|
|
@@ -9048,14 +8896,14 @@ var PageBodyRenderer = (props) => {
|
|
|
9048
8896
|
}
|
|
9049
8897
|
return true;
|
|
9050
8898
|
};
|
|
9051
|
-
return /* @__PURE__ */ (0,
|
|
8899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
|
|
9052
8900
|
{
|
|
9053
8901
|
}
|
|
9054
8902
|
const SelectedNode = NodeTypes[node.type];
|
|
9055
8903
|
if (!shouldRenderNode(node)) {
|
|
9056
8904
|
return null;
|
|
9057
8905
|
}
|
|
9058
|
-
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)(
|
|
9059
8907
|
SelectedNode,
|
|
9060
8908
|
{
|
|
9061
8909
|
node,
|
|
@@ -9071,7 +8919,7 @@ var PageBodyRenderer = (props) => {
|
|
|
9071
8919
|
device: props.device,
|
|
9072
8920
|
widgetRenderer: props.widgetRenderer
|
|
9073
8921
|
}
|
|
9074
|
-
) }) : /* @__PURE__ */ (0,
|
|
8922
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react61.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
9075
8923
|
SelectedNode,
|
|
9076
8924
|
{
|
|
9077
8925
|
node,
|