@linzjs/lui 23.14.2 → 23.14.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [23.14.3](https://github.com/linz/lui/compare/v23.14.2...v23.14.3) (2025-10-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **SearchInput:** Cs8444 add option to exclude leading and trailing whitespace from minchar check ([#1262](https://github.com/linz/lui/issues/1262)) ([9242296](https://github.com/linz/lui/commit/92422969ae7401a683d1fbd73d1b4c7548b0f515))
7
+
1
8
  ## [23.14.2](https://github.com/linz/lui/compare/v23.14.1...v23.14.2) (2025-10-16)
2
9
 
3
10
 
@@ -25,5 +25,6 @@ export interface ISearchInputProps<SearchResult extends ISearchResult = ISearchR
25
25
  hideNoOptionsMessage?: boolean;
26
26
  hideSearchIcon?: boolean;
27
27
  filterElement?: ReactElement;
28
+ trimBeforeMinCharCheck?: boolean;
28
29
  }
29
30
  export declare const LuiSearchInput: <SearchResult extends ISearchResult = ISearchResult>(props: React.PropsWithChildren<ISearchInputProps<SearchResult>>) => JSX.Element;
package/dist/index.js CHANGED
@@ -17857,9 +17857,7 @@ var LuiSearchInput = function (props) {
17857
17857
  }, [props.focusUpdate]);
17858
17858
  React.useEffect(function () {
17859
17859
  // if the way of getOptions changes, then the current results (options) are no longer applicable
17860
- if (haveFocus &&
17861
- typedValue &&
17862
- typedValue.length >= props.minCharactersForSearch) {
17860
+ if (haveFocus && typedValue && enoughChars(typedValue)) {
17863
17861
  retrieveResults(typedValue);
17864
17862
  }
17865
17863
  else {
@@ -17920,7 +17918,7 @@ var LuiSearchInput = function (props) {
17920
17918
  return __generator(this, function (_b) {
17921
17919
  switch (_b.label) {
17922
17920
  case 0:
17923
- if (!(input !== '' && input.length >= props.minCharactersForSearch)) return [3 /*break*/, 6];
17921
+ if (!(input !== '' && enoughChars(input))) return [3 /*break*/, 6];
17924
17922
  setIsLoading(true);
17925
17923
  _b.label = 1;
17926
17924
  case 1:
@@ -17945,9 +17943,7 @@ var LuiSearchInput = function (props) {
17945
17943
  return [7 /*endfinally*/];
17946
17944
  case 5: return [3 /*break*/, 7];
17947
17945
  case 6:
17948
- if (input !== '' &&
17949
- input.length < props.minCharactersForSearch &&
17950
- results.length > 0) {
17946
+ if (input !== '' && enoughChars(input) && results.length > 0) {
17951
17947
  setResults([]);
17952
17948
  }
17953
17949
  else if (input === '' && results.length > 0) {
@@ -17998,10 +17994,8 @@ var LuiSearchInput = function (props) {
17998
17994
  var searchIcon = props.externalSearch ? (React__default["default"].createElement(LuiIcon, { className: "LuiSearchInput-startIconPosition ".concat(typedValue ? 'LuiSearchInput-startIconPosition-enabled' : ''), name: "ic_create", size: "md", alt: "edit", spanProps: { onClick: function () { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } } })) : (React__default["default"].createElement(LuiIcon, { className: 'LuiSearchInput-startIconPosition', name: "ic_search", size: "md", alt: "search", spanProps: { onClick: function () { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } } }));
17999
17995
  var typeMore = 'You need to type a few more characters';
18000
17996
  function enoughChars(input) {
18001
- if (typeof props.minCharactersForSearch === 'number')
18002
- return input.length >= props.minCharactersForSearch;
18003
- else
18004
- return false;
17997
+ return ((props.trimBeforeMinCharCheck ? input.trim().length : input.length) >=
17998
+ props.minCharactersForSearch);
18005
17999
  }
18006
18000
  function noOptionsMessage(inputValue) {
18007
18001
  if (inputValue === '') {
@@ -33905,7 +33899,7 @@ var LuiCounter = React__default["default"].forwardRef(function (props, ref) {
33905
33899
  return (React__default["default"].createElement(React__default["default"].Fragment, null, !(selectedNum === 0 && !countZero) && (React__default["default"].createElement("span", __assign({ ref: ref, className: determineCounterClassname(), "data-testid": "lui-counter-number-".concat(shape), title: title !== null && title !== void 0 ? title : "".concat(selectedNum, " of ").concat(totalNum, " rows selected") }, rest), selectedNum.toLocaleString()))));
33906
33900
  });
33907
33901
 
33908
- var css_248z$b = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.lui-pagination-override-mobile .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-mobile .lui-pagination-mobile {\n display: flex;\n}\n\n.lui-pagination-override-desktop .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-desktop .lui-pagination-desktop {\n display: flex;\n}\n\n.lui-pagination-controller {\n container-type: inline-size;\n}\n@container (min-width: 500px) {\n .lui-pagination-controller .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-desktop {\n display: flex;\n }\n}\n@container (max-width: 499px) {\n .lui-pagination-controller .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-mobile {\n display: flex;\n }\n}\n\n.lui-pagination {\n display: flex;\n user-select: none;\n justify-content: center;\n}\n.lui-pagination-page-counter {\n display: flex;\n align-items: center;\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.lui-pagination .lui-button {\n color: #2a292c;\n height: 40px;\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon path {\n fill: #2a292c;\n}\n.lui-pagination .lui-button-selected {\n background-color: #007198;\n color: #ffffff;\n}\n.lui-pagination-ellipsis {\n pointer-events: none;\n}\n.lui-pagination-navigate-disabled {\n pointer-events: none;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon path {\n fill: #989189 !important;\n}\n\n.pan-left {\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\n transform: perspective(1000px) rotateY(20deg) translateX(-10px);\n opacity: 0.5;\n}\n\n.pan-right {\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\n transform: perspective(1000px) rotateY(-20deg) translateX(10px);\n opacity: 0.5;\n}";
33902
+ var css_248z$b = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.lui-pagination-override-mobile .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-mobile .lui-pagination-mobile {\n display: flex;\n}\n\n.lui-pagination-override-desktop .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-desktop .lui-pagination-desktop {\n display: flex;\n}\n\n.lui-pagination-controller {\n container-type: inline-size;\n}\n@container (min-width: 500px) {\n .lui-pagination-controller .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-desktop {\n display: flex;\n }\n}\n@container (max-width: 499px) {\n .lui-pagination-controller .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-mobile {\n display: flex;\n }\n}\n\n.lui-pagination {\n display: flex;\n user-select: none;\n justify-content: center;\n}\n.lui-pagination-page-counter {\n display: flex;\n align-items: center;\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.lui-pagination .lui-button {\n color: #2a292c;\n height: 40px;\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon path {\n fill: #2a292c;\n}\n.lui-pagination .lui-button-selected {\n background-color: #007198;\n color: #ffffff;\n}\n.lui-pagination-ellipsis {\n pointer-events: none;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon path {\n fill: #989189 !important;\n}\n.lui-pagination-navigate-disabled {\n pointer-events: none;\n}\n\n.pan-left {\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\n transform: perspective(1000px) rotateY(20deg) translateX(-10px);\n opacity: 0.5;\n}\n\n.pan-right {\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\n transform: perspective(1000px) rotateY(-20deg) translateX(10px);\n opacity: 0.5;\n}";
33909
33903
  styleInject(css_248z$b);
33910
33904
 
33911
33905
  /**