@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/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
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "comment-node-paragraph", children: renderChildren(element.children, key, assetBaseUrl) ?? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("br", {}) });
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)("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: "comment-node-link", children: renderChildren(element.children, key, assetBaseUrl) });
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 import_react52, import_jsx_runtime78, EmailInput, EmailInput_default;
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
- import_react52 = __toESM(require("react"));
4752
- import_jsx_runtime78 = require("react/jsx-runtime");
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, import_jsx_runtime78.jsx)(import_react52.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("label", { className: "block mb-1", children: [
4778
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-sm font-medium text-slate-700", children: props?.attributes?.label }),
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, import_jsx_runtime78.jsx)("span", { className: "bg-error-weak", children: "*" }),
4781
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
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, import_jsx_runtime78.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 : "" })
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 import_react53, import_jsx_runtime79, TimeInput, TimeInput_default;
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
- import_react53 = __toESM(require("react"));
4811
- import_jsx_runtime79 = require("react/jsx-runtime");
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, import_jsx_runtime79.jsx)(import_react53.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("label", { className: "block mb-1", children: [
4825
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-sm font-medium", children: props?.attributes?.label }),
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, import_jsx_runtime79.jsx)("span", { className: "bg-error-weak", children: "*" }),
4828
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
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, import_jsx_runtime79.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props?.attributes?.errorMessage ?? "" })
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 import_react54, import_jsx_runtime80, AssetUpload, AssetUpload_default;
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
- import_react54 = __toESM(require("react"));
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
- import_jsx_runtime80 = require("react/jsx-runtime");
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] = import_react54.default.useState(getInitialTab);
4882
- (0, import_react54.useEffect)(() => {
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, import_jsx_runtime80.jsxs)(import_react54.default.Fragment, { children: [
4958
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "block mb-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-sm font-medium", children: props?.attributes?.label }) }),
4959
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex gap-6 bg-neutral-100 rounded p-2", children: [
4960
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsxs)("div", { className: "relative mt-4 rounded-md p-4 border-2 border-dotted border-gray-300 bg-gray-50", children: [
4982
- /* @__PURE__ */ (0, import_jsx_runtime80.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" }),
4983
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex flex-col gap-3", children: allValues.map((digitalAsset, index) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex justify-between items-start gap-5", children: [
4984
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "grid grid-cols-2 gap-x-8 gap-y-3 text-sm w-full", children: [
4985
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { children: [
4986
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-gray-500", children: "Title" }),
4987
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsxs)("div", { children: [
5000
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-gray-500", children: "Resolution" }),
5001
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "font-medium text-gray-900 mt-3", children: [
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, import_jsx_runtime80.jsxs)("div", { children: [
5008
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-gray-500", children: "Image / Poster" }),
5009
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-shrink-0 flex flex-col gap-3 mt-1", children: [
5010
- getAssetType(digitalAsset) === "video" && digitalAsset.posterUrl && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsxs)("div", { className: "col-span-2", children: [
5029
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-gray-500", children: "HLS Link" }),
5030
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsx)(
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, import_jsx_runtime80.jsx)(Icon_default, { className: "w-4 h-4 text-primary", name: "delete" })
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 import_react55, import_jsx_runtime81, SwitchInput, SwitchInput_default;
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
- import_react55 = __toESM(require("react"));
5063
- import_jsx_runtime81 = require("react/jsx-runtime");
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, import_jsx_runtime81.jsx)(import_react55.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-start justify-between gap-4 py-3", children: [
5081
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0", children: [
5082
- props?.attributes?.label && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
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, import_jsx_runtime81.jsx)("span", { className: "bg-error-weak", children: "*" })
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, import_jsx_runtime81.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props?.attributes?.errorMessage || "" })
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, import_jsx_runtime81.jsxs)(
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, import_jsx_runtime81.jsx)(
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, import_jsx_runtime81.jsx)(
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, import_jsx_runtime81.jsx)(
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 import_react56, import_jsx_runtime82, DateInput, DateInput_default;
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
- import_react56 = require("react");
5180
+ import_react55 = require("react");
5223
5181
  init_DateTimeUtility();
5224
- import_jsx_runtime82 = require("react/jsx-runtime");
5182
+ import_jsx_runtime81 = require("react/jsx-runtime");
5225
5183
  DateInput = (props) => {
5226
- const value = (0, import_react56.useMemo)(() => {
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, import_jsx_runtime82.jsxs)("label", { className: "block mb-1", children: [
5259
- props.attributes?.label && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium", children: props.attributes.label }),
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, import_jsx_runtime82.jsx)("span", { className: "bg-error-weak", children: "*" }),
5262
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
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, import_jsx_runtime82.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props.attributes?.errorMessage ?? "" })
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 import_react57, import_jsx_runtime83, RadioInput, RadioInput_default;
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
- import_react57 = require("react");
5246
+ import_react56 = require("react");
5289
5247
  init_Icon();
5290
- import_jsx_runtime83 = require("react/jsx-runtime");
5248
+ import_jsx_runtime82 = require("react/jsx-runtime");
5291
5249
  RadioInput = (props) => {
5292
- const [list, setList] = (0, import_react57.useState)([]);
5293
- (0, import_react57.useEffect)(() => {
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, import_jsx_runtime83.jsxs)("div", { className: "block", children: [
5336
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-sm font-medium", children: props.attributes?.label }),
5337
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "flex flex-col gap-3", children: list.map((item, index) => {
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, import_jsx_runtime83.jsxs)(
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, import_jsx_runtime83.jsxs)("div", { className: "flex gap-4 items-start", children: [
5350
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
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, import_jsx_runtime83.jsx)("label", { className: "text-body-950 pr-2", htmlFor: inputId, children: item[props.dataTextFieldName] })
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, import_jsx_runtime83.jsx)(Icon_default, { className: "w-5 h-5 text-success", name: iconName })
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, import_jsx_runtime83.jsx)("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 bg-error-weak text-sm", children: props.attributes?.errorMessage ?? "" })
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 import_jsx_runtime85, ReferenceInput, ReferenceInput_default;
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
- import_jsx_runtime85 = require("react/jsx-runtime");
5343
+ import_jsx_runtime83 = require("react/jsx-runtime");
5481
5344
  ReferenceInput = (props) => {
5482
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(SelectWithSearchInput_default, { ...props });
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 import_react59, import_jsx_runtime86, InputControl, InputControlClient_default;
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
- import_react59 = __toESM(require("react"));
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
- import_jsx_runtime86 = require("react/jsx-runtime");
5523
- InputControl = import_react59.default.forwardRef(
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, import_jsx_runtime86.jsx)(import_react59.default.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SelectedControlComponent, { ...props }) : "Control not found:" + props.controlType });
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 import_react60, import_navigation, import_jsx_runtime87, humanize, escapeODataString, parseFacetSelections, buildFacetFilter, parseODataSearch, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
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
- import_react60 = require("react");
5440
+ import_react58 = require("react");
5583
5441
  import_navigation = require("next/navigation");
5584
5442
  init_InputControl();
5585
5443
  init_InputControlType();
5586
- import_jsx_runtime87 = require("react/jsx-runtime");
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, import_react60.useState)(currentSearch);
5664
- const lastNavigationUrl = (0, import_react60.useRef)(null);
5665
- (0, import_react60.useEffect)(() => {
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, import_react60.useCallback)(
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, import_react60.useCallback)(
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, import_react60.useEffect)(() => {
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, import_jsx_runtime87.jsxs)("div", { className: stacked ? "flex flex-col gap-1" : "flex flex-wrap gap-2", children: [
5736
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
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, import_jsx_runtime87.jsxs)(
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, import_jsx_runtime87.jsxs)("div", { className: mode === "toolbar" ? "mb-6" : "flex flex-col gap-2", children: [
5767
- shouldShowToolbar && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:justify-between", children: [
5768
- showSearchBar && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "w-full max-w-xl", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
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, import_jsx_runtime87.jsxs)("div", { className: "flex items-center gap-2 text-sm", children: [
5780
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "font-medium", children: "Sort by" }),
5781
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
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, import_jsx_runtime87.jsx)("nav", { "aria-label": `${humanize(facetGroups[0][0])} filters`, children: renderFacetLinks(facetGroups[0][0], facetGroups[0][1]) }),
5803
- shouldShowFacets && facetGroups.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "flex flex-col gap-2", children: facetGroups.map(([field, values]) => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("details", { className: "border-b", open: true, children: [
5804
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("summary", { className: "cursor-pointer font-semibold", children: humanize(field) }),
5805
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "p-2", children: renderFacetLinks(field, values, true) })
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 import_react61, import_jsx_runtime88, Slider, ArrowButton, ProgressPill, Slider_default;
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
- import_react61 = __toESM(require("react"));
5824
- import_jsx_runtime88 = require("react/jsx-runtime");
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, import_react61.useState)(0);
5843
- const [transition, setTransition] = (0, import_react61.useState)(true);
5844
- const [slidesToShowState, setSlidesToShowState] = (0, import_react61.useState)(
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, import_react61.useState)(autoplay);
5848
- (0, import_react61.useEffect)(() => {
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, import_react61.useEffect)(() => {
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 = import_react61.Children.count(children);
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 = import_react61.Children.map(children, (child, index) => {
5918
- if (!import_react61.default.isValidElement(child)) return null;
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, import_jsx_runtime88.jsx)(
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, import_react61.cloneElement)(child, {
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, import_jsx_runtime88.jsxs)(
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, import_jsx_runtime88.jsx)(
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, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
5963
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
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, import_jsx_runtime88.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_runtime88.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
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, import_jsx_runtime88.jsxs)(
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, import_jsx_runtime88.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_runtime88.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
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, import_jsx_runtime88.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_runtime88.jsx)(
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, import_jsx_runtime88.jsx)(
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, import_react61.useState)(0);
6040
- (0, import_react61.useEffect)(() => {
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, import_react61.useEffect)(() => {
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, import_jsx_runtime88.jsx)(
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, import_jsx_runtime88.jsx)(
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, import_jsx_runtime88.jsxs)(
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 import_react63 = __toESM(require("react"));
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 import_react62 = __toESM(require("react"));
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 import_jsx_runtime89 = require("react/jsx-runtime");
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, import_jsx_runtime89.jsx)(NoDataFound_default, {});
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, import_jsx_runtime89.jsx)(import_react62.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsx)(import_react62.default.Fragment, { children: child }, i)) : renderChildren2(props.node.children, props, item, idx)
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, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsxs)(import_react62.default.Fragment, { children: [
8950
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsxs)(import_react62.default.Fragment, { children: [
8957
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsxs)(
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, import_jsx_runtime89.jsxs)("div", { className: "min-w-0", children: [
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, import_jsx_runtime89.jsxs)("aside", { className: "border bg-default p-3 lg:sticky lg:top-[90px] lg:self-start", children: [
8979
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("h2", { className: "mb-2 text-lg font-semibold", children: "Filters" }),
8980
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
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, import_jsx_runtime89.jsxs)(import_react62.default.Fragment, { children: [
8852
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_react60.default.Fragment, { children: [
8995
8853
  renderedContainer,
8996
- paginationControl && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { children: paginationControl })
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 import_jsx_runtime90 = require("react/jsx-runtime");
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, import_jsx_runtime90.jsx)(import_react63.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
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, import_jsx_runtime90.jsx)(import_react63.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_react63.default.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_react63.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
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, import_jsx_runtime90.jsx)(import_react63.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
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,