@linzjs/lui 23.14.2 → 23.14.4
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 +14 -0
- package/dist/components/LuiSearchInput/LuiSearchInput.d.ts +1 -0
- package/dist/hooks/useClickedOutsideElement.d.ts +1 -1
- package/dist/index.js +14 -13
- package/dist/index.js.map +1 -1
- package/dist/lui.css +70 -50
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +14 -13
- package/dist/lui.esm.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [23.14.4](https://github.com/linz/lui/compare/v23.14.3...v23.14.4) (2025-10-27)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **SearchInput:** CS8444 - show filter when no result ([#1264](https://github.com/linz/lui/issues/1264)) ([0edcaad](https://github.com/linz/lui/commit/0edcaad78c8a6bc316306e12a66440bfb40593d9))
|
|
7
|
+
|
|
8
|
+
## [23.14.3](https://github.com/linz/lui/compare/v23.14.2...v23.14.3) (2025-10-22)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **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))
|
|
14
|
+
|
|
1
15
|
## [23.14.2](https://github.com/linz/lui/compare/v23.14.1...v23.14.2) (2025-10-16)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -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;
|
|
@@ -11,4 +11,4 @@ import { MutableRefObject, RefObject } from 'react';
|
|
|
11
11
|
return <button ref={refElement}>Click Me!</button>;
|
|
12
12
|
```
|
|
13
13
|
*/
|
|
14
|
-
export declare function useClickedOutsideElement(refElement: RefObject<HTMLElement> | MutableRefObject<HTMLElement>, handleClickOutside: CallableFunction): void;
|
|
14
|
+
export declare function useClickedOutsideElement(refElement: RefObject<HTMLElement | null> | MutableRefObject<HTMLElement | null>, handleClickOutside: CallableFunction): void;
|
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
|
|
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
|
-
|
|
18002
|
-
|
|
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 === '') {
|
|
@@ -18024,7 +18018,14 @@ var LuiSearchInput = function (props) {
|
|
|
18024
18018
|
}
|
|
18025
18019
|
var filterRef = React.useRef(null);
|
|
18026
18020
|
function determineFilterElement() {
|
|
18027
|
-
|
|
18021
|
+
var showingResults = results.length > 0;
|
|
18022
|
+
var showingNoResults = enoughChars(typedValue) &&
|
|
18023
|
+
results.length === 0 &&
|
|
18024
|
+
!isLoading &&
|
|
18025
|
+
props.hideNoOptionsMessage !== true;
|
|
18026
|
+
if (props.filterElement &&
|
|
18027
|
+
haveFocus &&
|
|
18028
|
+
(showingResults || showingNoResults)) {
|
|
18028
18029
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
18029
18030
|
React__default["default"].createElement("hr", { className: "LuiSearchInput-resultSeparator" }),
|
|
18030
18031
|
React__default["default"].createElement("div", { ref: filterRef, tabIndex: -1, "data-testid": "filter", className: "LuiSearchInput-filter" }, props.filterElement)));
|
|
@@ -33905,7 +33906,7 @@ var LuiCounter = React__default["default"].forwardRef(function (props, ref) {
|
|
|
33905
33906
|
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
33907
|
});
|
|
33907
33908
|
|
|
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
|
|
33909
|
+
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
33910
|
styleInject(css_248z$b);
|
|
33910
33911
|
|
|
33911
33912
|
/**
|