@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260917093746 → 0.8.1-dev.20260918101819

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.
@@ -13,7 +13,7 @@ import { useRouter } from "next/navigation";
13
13
 
14
14
  // src/components/controls/edit/InputControl.tsx
15
15
  import dynamic from "next/dynamic";
16
- var InputControl = dynamic(() => import("./InputControlClient-2MSQ6AFW.mjs"), {
16
+ var InputControl = dynamic(() => import("./InputControlClient-IZXNAD2P.mjs"), {
17
17
  ssr: false
18
18
  });
19
19
  var InputControl_default = InputControl;
@@ -3,7 +3,7 @@
3
3
  "use client";
4
4
  import {
5
5
  InputControl_default
6
- } from "./chunk-H72AVQXX.mjs";
6
+ } from "./chunk-XMAYRT62.mjs";
7
7
  import {
8
8
  Button_default
9
9
  } from "./chunk-LSKD5U3S.mjs";
@@ -732,14 +732,14 @@ var SelectWithSearchInput = (props) => {
732
732
  useEffect3(() => {
733
733
  if (props.value && list.length && props.dataKeyFieldName && props.dataTextFieldName) {
734
734
  const selected = list.find(
735
- (x) => x[props.dataKeyFieldName] == props.value
735
+ (x) => String(x[props.dataKeyFieldName]) === String(props.value)
736
736
  );
737
737
  if (selected) {
738
738
  setSearchTerm(selected[props.dataTextFieldName]);
739
739
  setSelectedItem(selected);
740
740
  }
741
741
  }
742
- }, [props.value, list]);
742
+ }, [props.value, list, props.dataKeyFieldName, props.dataTextFieldName]);
743
743
  const filteredItems = list.filter((item) => {
744
744
  const text = item[props.dataTextFieldName] ?? "";
745
745
  return text.toString().toLowerCase().includes(searchTerm.toLowerCase());
@@ -800,15 +800,21 @@ var SelectWithSearchInput = (props) => {
800
800
  type: "text",
801
801
  value: searchTerm,
802
802
  onChange: (e) => {
803
- setSearchTerm(e.target.value);
804
- setIsOpen(true);
805
- setHighlightedIndex(-1);
803
+ if (!isReadOnly) {
804
+ setSearchTerm(e.target.value);
805
+ setIsOpen(true);
806
+ setHighlightedIndex(-1);
807
+ }
808
+ },
809
+ onFocus: () => {
810
+ if (!isReadOnly) {
811
+ setIsOpen(true);
812
+ }
806
813
  },
807
- onFocus: () => setIsOpen(true),
808
814
  onKeyDown: handleKeyDown,
809
815
  placeholder: props.attributes?.placeholder ?? "Search...",
810
816
  readOnly: isReadOnly,
811
- disabled: props.disable || props.attributes?.disable,
817
+ disabled: isReadOnly,
812
818
  className: `peer mt-2 py-1.5 select block w-full text-black rounded border-gray-300 shadow-sm
813
819
  focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
814
820
  disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
@@ -18,7 +18,7 @@ import {
18
18
  SelectWithSearchInput_default,
19
19
  Select_default,
20
20
  TimeInput_default
21
- } from "./chunk-BF4G3ZGG.mjs";
21
+ } from "./chunk-A5UTFK4O.mjs";
22
22
  import {
23
23
  Hyperlink,
24
24
  Icon_default
@@ -716,14 +716,14 @@ var SelectWithSearchInput = (props) => {
716
716
  useEffect3(() => {
717
717
  if (props.value && list.length && props.dataKeyFieldName && props.dataTextFieldName) {
718
718
  const selected = list.find(
719
- (x) => x[props.dataKeyFieldName] == props.value
719
+ (x) => String(x[props.dataKeyFieldName]) === String(props.value)
720
720
  );
721
721
  if (selected) {
722
722
  setSearchTerm(selected[props.dataTextFieldName]);
723
723
  setSelectedItem(selected);
724
724
  }
725
725
  }
726
- }, [props.value, list]);
726
+ }, [props.value, list, props.dataKeyFieldName, props.dataTextFieldName]);
727
727
  const filteredItems = list.filter((item) => {
728
728
  const text = item[props.dataTextFieldName] ?? "";
729
729
  return text.toString().toLowerCase().includes(searchTerm.toLowerCase());
@@ -784,15 +784,21 @@ var SelectWithSearchInput = (props) => {
784
784
  type: "text",
785
785
  value: searchTerm,
786
786
  onChange: (e) => {
787
- setSearchTerm(e.target.value);
788
- setIsOpen(true);
789
- setHighlightedIndex(-1);
787
+ if (!isReadOnly) {
788
+ setSearchTerm(e.target.value);
789
+ setIsOpen(true);
790
+ setHighlightedIndex(-1);
791
+ }
792
+ },
793
+ onFocus: () => {
794
+ if (!isReadOnly) {
795
+ setIsOpen(true);
796
+ }
790
797
  },
791
- onFocus: () => setIsOpen(true),
792
798
  onKeyDown: handleKeyDown,
793
799
  placeholder: props.attributes?.placeholder ?? "Search...",
794
800
  readOnly: isReadOnly,
795
- disabled: props.disable || props.attributes?.disable,
801
+ disabled: isReadOnly,
796
802
  className: `peer mt-2 py-1.5 select block w-full text-black rounded border-gray-300 shadow-sm
797
803
  focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
798
804
  disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
@@ -3,7 +3,7 @@
3
3
 
4
4
  // src/components/controls/edit/InputControl.tsx
5
5
  import dynamic from "next/dynamic";
6
- var InputControl = dynamic(() => import("./InputControlClient-LD7GLFTL.mjs"), {
6
+ var InputControl = dynamic(() => import("./InputControlClient-SROI2BE2.mjs"), {
7
7
  ssr: false
8
8
  });
9
9
  var InputControl_default = InputControl;
package/dist/index.js CHANGED
@@ -2975,14 +2975,14 @@ var init_SelectWithSearchInput = __esm({
2975
2975
  (0, import_react34.useEffect)(() => {
2976
2976
  if (props.value && list.length && props.dataKeyFieldName && props.dataTextFieldName) {
2977
2977
  const selected = list.find(
2978
- (x) => x[props.dataKeyFieldName] == props.value
2978
+ (x) => String(x[props.dataKeyFieldName]) === String(props.value)
2979
2979
  );
2980
2980
  if (selected) {
2981
2981
  setSearchTerm(selected[props.dataTextFieldName]);
2982
2982
  setSelectedItem(selected);
2983
2983
  }
2984
2984
  }
2985
- }, [props.value, list]);
2985
+ }, [props.value, list, props.dataKeyFieldName, props.dataTextFieldName]);
2986
2986
  const filteredItems = list.filter((item) => {
2987
2987
  const text = item[props.dataTextFieldName] ?? "";
2988
2988
  return text.toString().toLowerCase().includes(searchTerm.toLowerCase());
@@ -3043,15 +3043,21 @@ var init_SelectWithSearchInput = __esm({
3043
3043
  type: "text",
3044
3044
  value: searchTerm,
3045
3045
  onChange: (e) => {
3046
- setSearchTerm(e.target.value);
3047
- setIsOpen(true);
3048
- setHighlightedIndex(-1);
3046
+ if (!isReadOnly) {
3047
+ setSearchTerm(e.target.value);
3048
+ setIsOpen(true);
3049
+ setHighlightedIndex(-1);
3050
+ }
3051
+ },
3052
+ onFocus: () => {
3053
+ if (!isReadOnly) {
3054
+ setIsOpen(true);
3055
+ }
3049
3056
  },
3050
- onFocus: () => setIsOpen(true),
3051
3057
  onKeyDown: handleKeyDown,
3052
3058
  placeholder: props.attributes?.placeholder ?? "Search...",
3053
3059
  readOnly: isReadOnly,
3054
- disabled: props.disable || props.attributes?.disable,
3060
+ disabled: isReadOnly,
3055
3061
  className: `peer mt-2 py-1.5 select block w-full text-black rounded border-gray-300 shadow-sm
3056
3062
  focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
3057
3063
  disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
@@ -8548,9 +8554,9 @@ var DocumentNode = (props) => {
8548
8554
  {
8549
8555
  className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
8550
8556
  children: [
8551
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center space-x-4", children: [
8552
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon2, {}) }),
8553
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex items-baseline space-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("h4", { className: "text-base font-semibold", children: documentTitle }) })
8557
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center space-x-4 min-w-0", children: [
8558
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon2, {}) }),
8559
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
8554
8560
  ] }),
8555
8561
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8556
8562
  "a",
@@ -8558,7 +8564,7 @@ var DocumentNode = (props) => {
8558
8564
  href: documentUrl,
8559
8565
  target: "_blank",
8560
8566
  rel: "noopener noreferrer",
8561
- className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",
8567
+ className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
8562
8568
  children: [
8563
8569
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8564
8570
  "svg",
package/dist/index.mjs CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-SNDGEYWZ.mjs";
9
9
  import {
10
10
  InputControl_default
11
- } from "./chunk-H72AVQXX.mjs";
11
+ } from "./chunk-XMAYRT62.mjs";
12
12
  import "./chunk-JDX47MFV.mjs";
13
13
  import {
14
14
  CheckboxInput_default,
@@ -27,7 +27,7 @@ import {
27
27
  SelectWithSearchInput_default,
28
28
  Select_default,
29
29
  TimeInput_default
30
- } from "./chunk-BF4G3ZGG.mjs";
30
+ } from "./chunk-A5UTFK4O.mjs";
31
31
  import {
32
32
  Hyperlink,
33
33
  Icon_default
@@ -2317,9 +2317,9 @@ var DocumentNode = (props) => {
2317
2317
  {
2318
2318
  className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
2319
2319
  children: [
2320
- /* @__PURE__ */ jsxs13("div", { className: "flex items-center space-x-4", children: [
2321
- /* @__PURE__ */ jsx34("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft", children: /* @__PURE__ */ jsx34(Icon, {}) }),
2322
- /* @__PURE__ */ jsx34("div", { className: "flex items-baseline space-x-2", children: /* @__PURE__ */ jsx34("h4", { className: "text-base font-semibold", children: documentTitle }) })
2320
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center space-x-4 min-w-0", children: [
2321
+ /* @__PURE__ */ jsx34("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ jsx34(Icon, {}) }),
2322
+ /* @__PURE__ */ jsx34("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ jsx34("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
2323
2323
  ] }),
2324
2324
  /* @__PURE__ */ jsxs13(
2325
2325
  "a",
@@ -2327,7 +2327,7 @@ var DocumentNode = (props) => {
2327
2327
  href: documentUrl,
2328
2328
  target: "_blank",
2329
2329
  rel: "noopener noreferrer",
2330
- className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",
2330
+ className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
2331
2331
  children: [
2332
2332
  /* @__PURE__ */ jsxs13(
2333
2333
  "svg",
@@ -2392,7 +2392,7 @@ var GoogleMapNode_default = GoogleMapNode;
2392
2392
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
2393
2393
  import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
2394
2394
  var Pagination = dynamic13(() => import("./Pagination-BDWRNSFB.mjs"), { ssr: true });
2395
- var DataBindingControls = dynamic13(() => import("./DataBindingControls-5HQK4HQH.mjs"), {
2395
+ var DataBindingControls = dynamic13(() => import("./DataBindingControls-AJKE3EWG.mjs"), {
2396
2396
  ssr: true
2397
2397
  });
2398
2398
  var Slider = dynamic13(() => import("./Slider-IVPJBPE5.mjs"), {
package/dist/server.js CHANGED
@@ -4454,14 +4454,14 @@ var init_SelectWithSearchInput = __esm({
4454
4454
  (0, import_react50.useEffect)(() => {
4455
4455
  if (props.value && list.length && props.dataKeyFieldName && props.dataTextFieldName) {
4456
4456
  const selected = list.find(
4457
- (x) => x[props.dataKeyFieldName] == props.value
4457
+ (x) => String(x[props.dataKeyFieldName]) === String(props.value)
4458
4458
  );
4459
4459
  if (selected) {
4460
4460
  setSearchTerm(selected[props.dataTextFieldName]);
4461
4461
  setSelectedItem(selected);
4462
4462
  }
4463
4463
  }
4464
- }, [props.value, list]);
4464
+ }, [props.value, list, props.dataKeyFieldName, props.dataTextFieldName]);
4465
4465
  const filteredItems = list.filter((item) => {
4466
4466
  const text = item[props.dataTextFieldName] ?? "";
4467
4467
  return text.toString().toLowerCase().includes(searchTerm.toLowerCase());
@@ -4522,15 +4522,21 @@ var init_SelectWithSearchInput = __esm({
4522
4522
  type: "text",
4523
4523
  value: searchTerm,
4524
4524
  onChange: (e) => {
4525
- setSearchTerm(e.target.value);
4526
- setIsOpen(true);
4527
- setHighlightedIndex(-1);
4525
+ if (!isReadOnly) {
4526
+ setSearchTerm(e.target.value);
4527
+ setIsOpen(true);
4528
+ setHighlightedIndex(-1);
4529
+ }
4530
+ },
4531
+ onFocus: () => {
4532
+ if (!isReadOnly) {
4533
+ setIsOpen(true);
4534
+ }
4528
4535
  },
4529
- onFocus: () => setIsOpen(true),
4530
4536
  onKeyDown: handleKeyDown,
4531
4537
  placeholder: props.attributes?.placeholder ?? "Search...",
4532
4538
  readOnly: isReadOnly,
4533
- disabled: props.disable || props.attributes?.disable,
4539
+ disabled: isReadOnly,
4534
4540
  className: `peer mt-2 py-1.5 select block w-full text-black rounded border-gray-300 shadow-sm
4535
4541
  focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
4536
4542
  disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
@@ -8517,9 +8523,9 @@ var DocumentNode = (props) => {
8517
8523
  {
8518
8524
  className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
8519
8525
  children: [
8520
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center space-x-4", children: [
8521
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon2, {}) }),
8522
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-baseline space-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h4", { className: "text-base font-semibold", children: documentTitle }) })
8526
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center space-x-4 min-w-0", children: [
8527
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon2, {}) }),
8528
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
8523
8529
  ] }),
8524
8530
  /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
8525
8531
  "a",
@@ -8527,7 +8533,7 @@ var DocumentNode = (props) => {
8527
8533
  href: documentUrl,
8528
8534
  target: "_blank",
8529
8535
  rel: "noopener noreferrer",
8530
- className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",
8536
+ className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
8531
8537
  children: [
8532
8538
  /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
8533
8539
  "svg",
package/dist/server.mjs CHANGED
@@ -2285,9 +2285,9 @@ var DocumentNode = (props) => {
2285
2285
  {
2286
2286
  className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
2287
2287
  children: [
2288
- /* @__PURE__ */ jsxs13("div", { className: "flex items-center space-x-4", children: [
2289
- /* @__PURE__ */ jsx34("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft", children: /* @__PURE__ */ jsx34(Icon, {}) }),
2290
- /* @__PURE__ */ jsx34("div", { className: "flex items-baseline space-x-2", children: /* @__PURE__ */ jsx34("h4", { className: "text-base font-semibold", children: documentTitle }) })
2288
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center space-x-4 min-w-0", children: [
2289
+ /* @__PURE__ */ jsx34("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ jsx34(Icon, {}) }),
2290
+ /* @__PURE__ */ jsx34("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ jsx34("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
2291
2291
  ] }),
2292
2292
  /* @__PURE__ */ jsxs13(
2293
2293
  "a",
@@ -2295,7 +2295,7 @@ var DocumentNode = (props) => {
2295
2295
  href: documentUrl,
2296
2296
  target: "_blank",
2297
2297
  rel: "noopener noreferrer",
2298
- className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",
2298
+ className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
2299
2299
  children: [
2300
2300
  /* @__PURE__ */ jsxs13(
2301
2301
  "svg",
@@ -2360,7 +2360,7 @@ var GoogleMapNode_default = GoogleMapNode;
2360
2360
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
2361
2361
  import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
2362
2362
  var Pagination = dynamic13(() => import("./Pagination-OSLUL7SF.mjs"), { ssr: true });
2363
- var DataBindingControls = dynamic13(() => import("./DataBindingControls-GRHOY57C.mjs"), {
2363
+ var DataBindingControls = dynamic13(() => import("./DataBindingControls-54BNRIUZ.mjs"), {
2364
2364
  ssr: true
2365
2365
  });
2366
2366
  var Slider = dynamic13(() => import("./Slider-QIGKP6AE.mjs"), {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clyrex-digital/clyrex-controls-dev",
3
- "version": "0.8.1-dev.20260917093746",
3
+ "version": "0.8.1-dev.20260918101819",
4
4
  "description": "Reusable React components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",