@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260824072352 → 0.8.1-dev.20260824095913

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.
@@ -18,6 +18,14 @@ var InputControl_default = InputControl;
18
18
  import { jsx, jsxs } from "react/jsx-runtime";
19
19
  var humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
20
20
  var escapeODataString = (value) => value.replace(/'/g, "''");
21
+ var parseODataSearch = (value) => {
22
+ if (!value) return "";
23
+ const trimmedValue = value.trim();
24
+ if (trimmedValue.startsWith("'") && trimmedValue.endsWith("'")) {
25
+ return trimmedValue.slice(1, -1).replace(/''/g, "'");
26
+ }
27
+ return trimmedValue;
28
+ };
21
29
  var normalizeSortOption = (option) => {
22
30
  const direction = option.direction.trim();
23
31
  return {
@@ -64,7 +72,7 @@ var DataBindingControls = ({
64
72
  const normalizedSortOptions = resolvedSortOptions.map(normalizeSortOption).filter((option) => option.value);
65
73
  const currentFilter = query?.["$filter"] ?? query?.filter ?? "";
66
74
  const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
67
- const currentSearch = query?.searchTerm ?? query?.searchText ?? "";
75
+ const currentSearch = parseODataSearch(query?.["$Search"]);
68
76
  const [searchText, setSearchText] = useState(currentSearch);
69
77
  const lastNavigationUrl = useRef(null);
70
78
  useEffect(() => {
@@ -82,7 +90,7 @@ var DataBindingControls = ({
82
90
  });
83
91
  params.delete("$skip");
84
92
  params.delete("skip");
85
- const queryString = params.toString();
93
+ const queryString = Array.from(params.entries()).map(([key, value]) => `${key}=${value}`).join("&");
86
94
  return queryString ? `${path}?${queryString}` : path;
87
95
  },
88
96
  [path, query]
@@ -115,8 +123,7 @@ var DataBindingControls = ({
115
123
  const timeout = window.setTimeout(() => {
116
124
  navigateWithoutReload(
117
125
  getQueryUrl({
118
- searchTerm: trimmedSearchText || void 0,
119
- searchText: void 0
126
+ "$Search": trimmedSearchText ? `'${escapeODataString(trimmedSearchText)}'` : void 0
120
127
  })
121
128
  );
122
129
  }, 500);
@@ -14,6 +14,14 @@ import { useRouter } from "next/navigation";
14
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
15
  var humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
16
16
  var escapeODataString = (value) => value.replace(/'/g, "''");
17
+ var parseODataSearch = (value) => {
18
+ if (!value) return "";
19
+ const trimmedValue = value.trim();
20
+ if (trimmedValue.startsWith("'") && trimmedValue.endsWith("'")) {
21
+ return trimmedValue.slice(1, -1).replace(/''/g, "'");
22
+ }
23
+ return trimmedValue;
24
+ };
17
25
  var normalizeSortOption = (option) => {
18
26
  const direction = option.direction.trim();
19
27
  return {
@@ -60,7 +68,7 @@ var DataBindingControls = ({
60
68
  const normalizedSortOptions = resolvedSortOptions.map(normalizeSortOption).filter((option) => option.value);
61
69
  const currentFilter = query?.["$filter"] ?? query?.filter ?? "";
62
70
  const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
63
- const currentSearch = query?.searchTerm ?? query?.searchText ?? "";
71
+ const currentSearch = parseODataSearch(query?.["$Search"]);
64
72
  const [searchText, setSearchText] = useState(currentSearch);
65
73
  const lastNavigationUrl = useRef(null);
66
74
  useEffect(() => {
@@ -78,7 +86,7 @@ var DataBindingControls = ({
78
86
  });
79
87
  params.delete("$skip");
80
88
  params.delete("skip");
81
- const queryString = params.toString();
89
+ const queryString = Array.from(params.entries()).map(([key, value]) => `${key}=${value}`).join("&");
82
90
  return queryString ? `${path}?${queryString}` : path;
83
91
  },
84
92
  [path, query]
@@ -111,8 +119,7 @@ var DataBindingControls = ({
111
119
  const timeout = window.setTimeout(() => {
112
120
  navigateWithoutReload(
113
121
  getQueryUrl({
114
- searchTerm: trimmedSearchText || void 0,
115
- searchText: void 0
122
+ "$Search": trimmedSearchText ? `'${escapeODataString(trimmedSearchText)}'` : void 0
116
123
  })
117
124
  );
118
125
  }, 500);
@@ -3,7 +3,7 @@
3
3
  "use client";
4
4
  import {
5
5
  OdataBuilder
6
- } from "./chunk-4P4HO663.mjs";
6
+ } from "./chunk-TKJDEJSU.mjs";
7
7
  import {
8
8
  Hyperlink,
9
9
  Icon_default
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-6PW2RLUJ.mjs";
5
5
  import {
6
6
  OdataBuilder
7
- } from "./chunk-Q46GMD3P.mjs";
7
+ } from "./chunk-4OH67SPF.mjs";
8
8
  import {
9
9
  Hyperlink
10
10
  } from "./chunk-2R26M6CK.mjs";
@@ -38,6 +38,9 @@ var OdataBuilder = class {
38
38
  if (key == "searchCols") {
39
39
  this.searchCols = odata[key];
40
40
  }
41
+ if (key == "$Search") {
42
+ this.search = odata[key];
43
+ }
41
44
  if (key == "filter") {
42
45
  this.apiFilter = odata[key];
43
46
  }
@@ -70,6 +73,9 @@ var OdataBuilder = class {
70
73
  if (obj?.["searchCols"] && obj["searchCols"].trim() !== "") {
71
74
  queryString += `&searchCols=${encodeURIComponent(obj["searchCols"])}`;
72
75
  }
76
+ if (obj?.["$Search"] && obj["$Search"].trim() !== "") {
77
+ queryString += `&$Search=${obj["$Search"]}`;
78
+ }
73
79
  if (obj?.["filter"] && obj["filter"].trim() !== "") {
74
80
  queryString += `&filter=${encodeURIComponent(obj["filter"])}`;
75
81
  }
@@ -124,8 +130,8 @@ var OdataBuilder = class {
124
130
  return pageNumber;
125
131
  }
126
132
  appendApiQueryParameters(url) {
127
- if (this.searchTerm) {
128
- url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
133
+ if (this.search) {
134
+ url += `&$Search=${this.search}`;
129
135
  }
130
136
  if (this.apiFilter) {
131
137
  url += `&filter=${encodeURIComponent(this.apiFilter)}`;
@@ -211,6 +217,12 @@ var OdataBuilder = class {
211
217
  if (this.orderBy !== null && this.orderBy !== "") {
212
218
  url = url + `&$orderby=${encodeURIComponent(this.orderBy)}`;
213
219
  }
220
+ if (this.searchTerm) {
221
+ url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
222
+ }
223
+ if (this.searchCols) {
224
+ url += `&searchCols=${encodeURIComponent(this.searchCols)}`;
225
+ }
214
226
  return this.appendApiQueryParameters(url);
215
227
  }
216
228
  getOrderBy() {
@@ -40,6 +40,9 @@ var OdataBuilder = class {
40
40
  if (key == "searchCols") {
41
41
  this.searchCols = odata[key];
42
42
  }
43
+ if (key == "$Search") {
44
+ this.search = odata[key];
45
+ }
43
46
  if (key == "filter") {
44
47
  this.apiFilter = odata[key];
45
48
  }
@@ -72,6 +75,9 @@ var OdataBuilder = class {
72
75
  if (obj?.["searchCols"] && obj["searchCols"].trim() !== "") {
73
76
  queryString += `&searchCols=${encodeURIComponent(obj["searchCols"])}`;
74
77
  }
78
+ if (obj?.["$Search"] && obj["$Search"].trim() !== "") {
79
+ queryString += `&$Search=${obj["$Search"]}`;
80
+ }
75
81
  if (obj?.["filter"] && obj["filter"].trim() !== "") {
76
82
  queryString += `&filter=${encodeURIComponent(obj["filter"])}`;
77
83
  }
@@ -126,8 +132,8 @@ var OdataBuilder = class {
126
132
  return pageNumber;
127
133
  }
128
134
  appendApiQueryParameters(url) {
129
- if (this.searchTerm) {
130
- url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
135
+ if (this.search) {
136
+ url += `&$Search=${this.search}`;
131
137
  }
132
138
  if (this.apiFilter) {
133
139
  url += `&filter=${encodeURIComponent(this.apiFilter)}`;
@@ -213,6 +219,12 @@ var OdataBuilder = class {
213
219
  if (this.orderBy !== null && this.orderBy !== "") {
214
220
  url = url + `&$orderby=${encodeURIComponent(this.orderBy)}`;
215
221
  }
222
+ if (this.searchTerm) {
223
+ url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
224
+ }
225
+ if (this.searchCols) {
226
+ url += `&searchCols=${encodeURIComponent(this.searchCols)}`;
227
+ }
216
228
  return this.appendApiQueryParameters(url);
217
229
  }
218
230
  getOrderBy() {
package/dist/index.js CHANGED
@@ -4123,6 +4123,9 @@ var init_OdataBuilder = __esm({
4123
4123
  if (key == "searchCols") {
4124
4124
  this.searchCols = odata[key];
4125
4125
  }
4126
+ if (key == "$Search") {
4127
+ this.search = odata[key];
4128
+ }
4126
4129
  if (key == "filter") {
4127
4130
  this.apiFilter = odata[key];
4128
4131
  }
@@ -4155,6 +4158,9 @@ var init_OdataBuilder = __esm({
4155
4158
  if (obj?.["searchCols"] && obj["searchCols"].trim() !== "") {
4156
4159
  queryString += `&searchCols=${encodeURIComponent(obj["searchCols"])}`;
4157
4160
  }
4161
+ if (obj?.["$Search"] && obj["$Search"].trim() !== "") {
4162
+ queryString += `&$Search=${obj["$Search"]}`;
4163
+ }
4158
4164
  if (obj?.["filter"] && obj["filter"].trim() !== "") {
4159
4165
  queryString += `&filter=${encodeURIComponent(obj["filter"])}`;
4160
4166
  }
@@ -4209,8 +4215,8 @@ var init_OdataBuilder = __esm({
4209
4215
  return pageNumber;
4210
4216
  }
4211
4217
  appendApiQueryParameters(url) {
4212
- if (this.searchTerm) {
4213
- url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
4218
+ if (this.search) {
4219
+ url += `&$Search=${this.search}`;
4214
4220
  }
4215
4221
  if (this.apiFilter) {
4216
4222
  url += `&filter=${encodeURIComponent(this.apiFilter)}`;
@@ -4296,6 +4302,12 @@ var init_OdataBuilder = __esm({
4296
4302
  if (this.orderBy !== null && this.orderBy !== "") {
4297
4303
  url = url + `&$orderby=${encodeURIComponent(this.orderBy)}`;
4298
4304
  }
4305
+ if (this.searchTerm) {
4306
+ url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
4307
+ }
4308
+ if (this.searchCols) {
4309
+ url += `&searchCols=${encodeURIComponent(this.searchCols)}`;
4310
+ }
4299
4311
  return this.appendApiQueryParameters(url);
4300
4312
  }
4301
4313
  getOrderBy() {
@@ -4494,7 +4506,7 @@ var DataBindingControls_exports = {};
4494
4506
  __export(DataBindingControls_exports, {
4495
4507
  default: () => DataBindingControls_default
4496
4508
  });
4497
- var import_react55, import_navigation, import_jsx_runtime77, humanize, escapeODataString, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
4509
+ var import_react55, import_navigation, import_jsx_runtime77, humanize, escapeODataString, parseODataSearch, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
4498
4510
  var init_DataBindingControls = __esm({
4499
4511
  "src/components/pageRenderingEngine/nodes/DataBindingControls.tsx"() {
4500
4512
  "use strict";
@@ -4506,6 +4518,14 @@ var init_DataBindingControls = __esm({
4506
4518
  import_jsx_runtime77 = require("react/jsx-runtime");
4507
4519
  humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
4508
4520
  escapeODataString = (value) => value.replace(/'/g, "''");
4521
+ parseODataSearch = (value) => {
4522
+ if (!value) return "";
4523
+ const trimmedValue = value.trim();
4524
+ if (trimmedValue.startsWith("'") && trimmedValue.endsWith("'")) {
4525
+ return trimmedValue.slice(1, -1).replace(/''/g, "'");
4526
+ }
4527
+ return trimmedValue;
4528
+ };
4509
4529
  normalizeSortOption = (option) => {
4510
4530
  const direction = option.direction.trim();
4511
4531
  return {
@@ -4552,7 +4572,7 @@ var init_DataBindingControls = __esm({
4552
4572
  const normalizedSortOptions = resolvedSortOptions.map(normalizeSortOption).filter((option) => option.value);
4553
4573
  const currentFilter = query?.["$filter"] ?? query?.filter ?? "";
4554
4574
  const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
4555
- const currentSearch = query?.searchTerm ?? query?.searchText ?? "";
4575
+ const currentSearch = parseODataSearch(query?.["$Search"]);
4556
4576
  const [searchText, setSearchText] = (0, import_react55.useState)(currentSearch);
4557
4577
  const lastNavigationUrl = (0, import_react55.useRef)(null);
4558
4578
  (0, import_react55.useEffect)(() => {
@@ -4570,7 +4590,7 @@ var init_DataBindingControls = __esm({
4570
4590
  });
4571
4591
  params.delete("$skip");
4572
4592
  params.delete("skip");
4573
- const queryString = params.toString();
4593
+ const queryString = Array.from(params.entries()).map(([key, value]) => `${key}=${value}`).join("&");
4574
4594
  return queryString ? `${path}?${queryString}` : path;
4575
4595
  },
4576
4596
  [path, query]
@@ -4603,8 +4623,7 @@ var init_DataBindingControls = __esm({
4603
4623
  const timeout = window.setTimeout(() => {
4604
4624
  navigateWithoutReload(
4605
4625
  getQueryUrl({
4606
- searchTerm: trimmedSearchText || void 0,
4607
- searchText: void 0
4626
+ "$Search": trimmedSearchText ? `'${escapeODataString(trimmedSearchText)}'` : void 0
4608
4627
  })
4609
4628
  );
4610
4629
  }, 500);
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  OdataBuilder
5
- } from "./chunk-4P4HO663.mjs";
5
+ } from "./chunk-TKJDEJSU.mjs";
6
6
  import {
7
7
  InputControl_default
8
8
  } from "./chunk-GKI42H4B.mjs";
@@ -2295,8 +2295,8 @@ var GoogleMapNode_default = GoogleMapNode;
2295
2295
 
2296
2296
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
2297
2297
  import { jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
2298
- var Pagination = dynamic11(() => import("./Pagination-GL6B4MNO.mjs"), { ssr: true });
2299
- var DataBindingControls = dynamic11(() => import("./DataBindingControls-QZ7ES2AS.mjs"), {
2298
+ var Pagination = dynamic11(() => import("./Pagination-2KVND6JU.mjs"), { ssr: true });
2299
+ var DataBindingControls = dynamic11(() => import("./DataBindingControls-GHWIJ5N7.mjs"), {
2300
2300
  ssr: true
2301
2301
  });
2302
2302
  var Slider = dynamic11(() => import("./Slider-554BKC7N.mjs"), {
package/dist/server.js CHANGED
@@ -1945,6 +1945,9 @@ var init_OdataBuilder = __esm({
1945
1945
  if (key == "searchCols") {
1946
1946
  this.searchCols = odata[key];
1947
1947
  }
1948
+ if (key == "$Search") {
1949
+ this.search = odata[key];
1950
+ }
1948
1951
  if (key == "filter") {
1949
1952
  this.apiFilter = odata[key];
1950
1953
  }
@@ -1977,6 +1980,9 @@ var init_OdataBuilder = __esm({
1977
1980
  if (obj?.["searchCols"] && obj["searchCols"].trim() !== "") {
1978
1981
  queryString += `&searchCols=${encodeURIComponent(obj["searchCols"])}`;
1979
1982
  }
1983
+ if (obj?.["$Search"] && obj["$Search"].trim() !== "") {
1984
+ queryString += `&$Search=${obj["$Search"]}`;
1985
+ }
1980
1986
  if (obj?.["filter"] && obj["filter"].trim() !== "") {
1981
1987
  queryString += `&filter=${encodeURIComponent(obj["filter"])}`;
1982
1988
  }
@@ -2031,8 +2037,8 @@ var init_OdataBuilder = __esm({
2031
2037
  return pageNumber;
2032
2038
  }
2033
2039
  appendApiQueryParameters(url) {
2034
- if (this.searchTerm) {
2035
- url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
2040
+ if (this.search) {
2041
+ url += `&$Search=${this.search}`;
2036
2042
  }
2037
2043
  if (this.apiFilter) {
2038
2044
  url += `&filter=${encodeURIComponent(this.apiFilter)}`;
@@ -2118,6 +2124,12 @@ var init_OdataBuilder = __esm({
2118
2124
  if (this.orderBy !== null && this.orderBy !== "") {
2119
2125
  url = url + `&$orderby=${encodeURIComponent(this.orderBy)}`;
2120
2126
  }
2127
+ if (this.searchTerm) {
2128
+ url += `&searchTerm=${encodeURIComponent(this.searchTerm)}`;
2129
+ }
2130
+ if (this.searchCols) {
2131
+ url += `&searchCols=${encodeURIComponent(this.searchCols)}`;
2132
+ }
2121
2133
  return this.appendApiQueryParameters(url);
2122
2134
  }
2123
2135
  getOrderBy() {
@@ -4492,7 +4504,7 @@ var DataBindingControls_exports = {};
4492
4504
  __export(DataBindingControls_exports, {
4493
4505
  default: () => DataBindingControls_default
4494
4506
  });
4495
- var import_react55, import_navigation, import_jsx_runtime77, humanize, escapeODataString, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
4507
+ var import_react55, import_navigation, import_jsx_runtime77, humanize, escapeODataString, parseODataSearch, normalizeSortOption, DUMMY_FACETS, DUMMY_SORT_OPTIONS, DataBindingControls, DataBindingControls_default;
4496
4508
  var init_DataBindingControls = __esm({
4497
4509
  "src/components/pageRenderingEngine/nodes/DataBindingControls.tsx"() {
4498
4510
  "use strict";
@@ -4504,6 +4516,14 @@ var init_DataBindingControls = __esm({
4504
4516
  import_jsx_runtime77 = require("react/jsx-runtime");
4505
4517
  humanize = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim();
4506
4518
  escapeODataString = (value) => value.replace(/'/g, "''");
4519
+ parseODataSearch = (value) => {
4520
+ if (!value) return "";
4521
+ const trimmedValue = value.trim();
4522
+ if (trimmedValue.startsWith("'") && trimmedValue.endsWith("'")) {
4523
+ return trimmedValue.slice(1, -1).replace(/''/g, "'");
4524
+ }
4525
+ return trimmedValue;
4526
+ };
4507
4527
  normalizeSortOption = (option) => {
4508
4528
  const direction = option.direction.trim();
4509
4529
  return {
@@ -4550,7 +4570,7 @@ var init_DataBindingControls = __esm({
4550
4570
  const normalizedSortOptions = resolvedSortOptions.map(normalizeSortOption).filter((option) => option.value);
4551
4571
  const currentFilter = query?.["$filter"] ?? query?.filter ?? "";
4552
4572
  const currentSort = query?.["$orderby"] ?? query?.orderBy ?? "";
4553
- const currentSearch = query?.searchTerm ?? query?.searchText ?? "";
4573
+ const currentSearch = parseODataSearch(query?.["$Search"]);
4554
4574
  const [searchText, setSearchText] = (0, import_react55.useState)(currentSearch);
4555
4575
  const lastNavigationUrl = (0, import_react55.useRef)(null);
4556
4576
  (0, import_react55.useEffect)(() => {
@@ -4568,7 +4588,7 @@ var init_DataBindingControls = __esm({
4568
4588
  });
4569
4589
  params.delete("$skip");
4570
4590
  params.delete("skip");
4571
- const queryString = params.toString();
4591
+ const queryString = Array.from(params.entries()).map(([key, value]) => `${key}=${value}`).join("&");
4572
4592
  return queryString ? `${path}?${queryString}` : path;
4573
4593
  },
4574
4594
  [path, query]
@@ -4601,8 +4621,7 @@ var init_DataBindingControls = __esm({
4601
4621
  const timeout = window.setTimeout(() => {
4602
4622
  navigateWithoutReload(
4603
4623
  getQueryUrl({
4604
- searchTerm: trimmedSearchText || void 0,
4605
- searchText: void 0
4624
+ "$Search": trimmedSearchText ? `'${escapeODataString(trimmedSearchText)}'` : void 0
4606
4625
  })
4607
4626
  );
4608
4627
  }, 500);
package/dist/server.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OdataBuilder
3
- } from "./chunk-Q46GMD3P.mjs";
3
+ } from "./chunk-4OH67SPF.mjs";
4
4
  import {
5
5
  AssetUtility_default
6
6
  } from "./chunk-TQ6BXQ3A.mjs";
@@ -2263,8 +2263,8 @@ var GoogleMapNode_default = GoogleMapNode;
2263
2263
 
2264
2264
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
2265
2265
  import { jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
2266
- var Pagination = dynamic11(() => import("./Pagination-ZQO3EUKB.mjs"), { ssr: true });
2267
- var DataBindingControls = dynamic11(() => import("./DataBindingControls-XCAIDMDC.mjs"), {
2266
+ var Pagination = dynamic11(() => import("./Pagination-PDU7V3HY.mjs"), { ssr: true });
2267
+ var DataBindingControls = dynamic11(() => import("./DataBindingControls-AT7I4FSN.mjs"), {
2268
2268
  ssr: true
2269
2269
  });
2270
2270
  var Slider = dynamic11(() => import("./Slider-PEIVH6A5.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.20260824072352",
3
+ "version": "0.8.1-dev.20260824095913",
4
4
  "description": "Reusable React components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",