@linzjs/lui 24.1.2 → 24.3.0

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/lui.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import React__default, { forwardRef as forwardRef$1, useState, useRef, useCallback, useEffect, useContext, Fragment, useLayoutEffect, createContext, useMemo, Component, cloneElement, useId as useId$1, useInsertionEffect as useInsertionEffect$1, Children, isValidElement, createElement, useImperativeHandle, useReducer } from 'react';
2
+ import React__default, { forwardRef as forwardRef$1, useState, useRef, useCallback, useEffect, useContext, createContext, Fragment, useLayoutEffect, useMemo, Component, cloneElement, useId as useId$1, useInsertionEffect as useInsertionEffect$1, Children, isValidElement, createElement, useImperativeHandle, useReducer } from 'react';
3
3
  import { Menu as Menu$2, ControlledMenu, applyStatics, MenuItem, SubMenu, MenuDivider, MenuHeader, useMenuState, FocusableItem } from '@szhsin/react-menu';
4
4
  import lottie from 'lottie-web/build/player/lottie_light';
5
5
  import crypto$1 from 'crypto';
@@ -6989,6 +6989,113 @@ var DateInput = forwardRef$1(function (props, ref) {
6989
6989
  } })));
6990
6990
  });
6991
6991
 
6992
+ // eslint-disable-next-line no-control-regex
6993
+ var LinzInvalidCharMatcher = /([^\u0000-\u017f])/gu;
6994
+ var LinzFreeTextValidator = function (value, invalidCharMatcher, maxReportedChars) {
6995
+ if (invalidCharMatcher === void 0) { invalidCharMatcher = LinzInvalidCharMatcher; }
6996
+ if (maxReportedChars === void 0) { maxReportedChars = 10; }
6997
+ if (!value) {
6998
+ return undefined;
6999
+ }
7000
+ var matchedItems = value.match(invalidCharMatcher);
7001
+ if (matchedItems === null) {
7002
+ return undefined;
7003
+ }
7004
+ var invalidCharacters = Array.from(new Set(matchedItems)).slice(0, maxReportedChars);
7005
+ return "Invalid character".concat(invalidCharacters.length === 1 ? '' : 's', " ").concat(invalidCharacters.join(', '));
7006
+ };
7007
+
7008
+ function CreateLinzFreeTextFilter(removeInvalidChars) {
7009
+ if (removeInvalidChars === void 0) { removeInvalidChars = true; }
7010
+ return function (value) {
7011
+ if (!value) {
7012
+ return '';
7013
+ }
7014
+ var strLength = value.length;
7015
+ if (!strLength) {
7016
+ return '';
7017
+ }
7018
+ return Array.prototype.flatMap
7019
+ .call(value, function (char) {
7020
+ // Supported character range
7021
+ if (char.match(LinzInvalidCharMatcher) === null) {
7022
+ return char;
7023
+ }
7024
+ var charCode = char.charCodeAt(0);
7025
+ // Silent conversion characters
7026
+ // why: https://toitutewhenua.atlassian.net/wiki/spaces/STEP/pages/124322198/Minimum+Text+Validation#Silent-conversion-characters
7027
+ switch (charCode) {
7028
+ case 0x2018:
7029
+ case 0x2019:
7030
+ return "'";
7031
+ case 0x201c:
7032
+ case 0x201d:
7033
+ return '"';
7034
+ case 0x2022:
7035
+ return '*';
7036
+ case 0x2013:
7037
+ case 0x2014:
7038
+ return '-';
7039
+ }
7040
+ return removeInvalidChars ? '' : char;
7041
+ })
7042
+ .join('');
7043
+ };
7044
+ }
7045
+ /**
7046
+ * Default LINZ free text filter function.
7047
+ * Silently converts some invalid characters with supported alternatives.
7048
+ * Removes all other invalid characters.
7049
+ */
7050
+ var LinzFreeTextFilter = CreateLinzFreeTextFilter(true);
7051
+ /**
7052
+ * LINZ free text filter function that leaves invalid characters intact.
7053
+ * Silently converts some invalid characters with supported alternatives.
7054
+ * Leaves all other invalid characters as is.
7055
+ * Should be paired with LinzFreeTextValidator to warn users about invalid characters.
7056
+ */
7057
+ var LinzFreeTextFilterConvertOnly = CreateLinzFreeTextFilter(false);
7058
+
7059
+ var LuiFilterCharactersContext = createContext({
7060
+ filterCharacters: function (input) {
7061
+ // Default implementation: return input as is.
7062
+ return input;
7063
+ },
7064
+ filterInputEvent: function () {
7065
+ // Default implementation: do nothing.
7066
+ return;
7067
+ }
7068
+ });
7069
+ function useFilterCharacters() {
7070
+ return useContext(LuiFilterCharactersContext);
7071
+ }
7072
+ var LuiFilterCharactersProvider = function (_a) {
7073
+ var children = _a.children, filterFunction = _a.filterFunction;
7074
+ var filterCharacters = useCallback(function (input) {
7075
+ if (input === undefined) {
7076
+ return input;
7077
+ }
7078
+ var filter = typeof filterFunction === 'function'
7079
+ ? filterFunction
7080
+ : LinzFreeTextFilter;
7081
+ return filter(input);
7082
+ }, [filterFunction]);
7083
+ var filterInputEvent = useCallback(function (event) {
7084
+ var value = event.target.value;
7085
+ var filteredValue = filterCharacters(value);
7086
+ if (filteredValue !== value) {
7087
+ var caretPosition = event.target.selectionStart;
7088
+ event.target.value = filteredValue;
7089
+ if (caretPosition !== null) {
7090
+ var positionOffset = value.length - filteredValue.length;
7091
+ var newCaretPosition = Math.max(caretPosition - positionOffset, 0);
7092
+ event.target.setSelectionRange(newCaretPosition, newCaretPosition);
7093
+ }
7094
+ }
7095
+ }, [filterFunction]);
7096
+ return (React__default.createElement(LuiFilterCharactersContext.Provider, { value: { filterCharacters: filterCharacters, filterInputEvent: filterInputEvent } }, children));
7097
+ };
7098
+
6992
7099
  function useGenerateOrDefaultId(idFromProps) {
6993
7100
  var id = useState(idFromProps ? idFromProps : v4())[0];
6994
7101
  return id;
@@ -6997,6 +7104,7 @@ var BareInput = forwardRef$1(function (props, ref) { return React__default.creat
6997
7104
  var LuiTextInput = forwardRef$1(function (props, ref) {
6998
7105
  var _a, _b, _c;
6999
7106
  var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
7107
+ var filterInputEvent = useFilterCharacters().filterInputEvent;
7000
7108
  var LuiInput = ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.type) === 'date' ? DateInput : BareInput;
7001
7109
  return (React__default.createElement("div", { className: clsx$1('LuiTextInput', props.error && 'hasError', props.warning && 'hasWarning', props.className) },
7002
7110
  React__default.createElement("label", { className: 'LuiTextInput-label', htmlFor: id },
@@ -7004,7 +7112,15 @@ var LuiTextInput = forwardRef$1(function (props, ref) {
7004
7112
  React__default.createElement("span", { className: 'LuiTextInput-label-text ' +
7005
7113
  clsx$1(props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
7006
7114
  React__default.createElement("span", { className: "LuiTextInput-inputWrapper" },
7007
- React__default.createElement(LuiInput, __assign({ ref: ref, className: clsx$1('LuiTextInput-input', props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '', props.size ? "LuiTextInput-".concat(props.size) : ''), min: ((_c = props.inputProps) === null || _c === void 0 ? void 0 : _c.type) === 'date' ? undefined : '0', value: props.value, onChange: props.onChange }, props.inputProps, { id: id })),
7115
+ React__default.createElement(LuiInput, __assign({ ref: ref, className: clsx$1('LuiTextInput-input', props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '', props.size ? "LuiTextInput-".concat(props.size) : ''), min: ((_c = props.inputProps) === null || _c === void 0 ? void 0 : _c.type) === 'date' ? undefined : '0', value: props.value, onChange: function (event) {
7116
+ var _a;
7117
+ if (((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.type) !== 'date') {
7118
+ filterInputEvent(event);
7119
+ }
7120
+ if (props.onChange) {
7121
+ props.onChange(event);
7122
+ }
7123
+ } }, props.inputProps, { id: id })),
7008
7124
  props.icon),
7009
7125
  props.error && (React__default.createElement("span", { className: "LuiTextInput-error" },
7010
7126
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }),
@@ -7149,13 +7265,22 @@ var LuiSelectInput = function (props) {
7149
7265
  var LuiTextAreaInput = React__default.forwardRef(function (props, ref) {
7150
7266
  var _a, _b;
7151
7267
  var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
7268
+ var filterInputEvent = useFilterCharacters().filterInputEvent;
7152
7269
  var rows = props.rows !== undefined ? props.rows : 5;
7153
7270
  return (React__default.createElement("div", { className: clsx$1('LuiTextAreaInput', ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '', props.warning ? 'hasWarning' : '') },
7154
7271
  React__default.createElement("label", { htmlFor: id },
7155
7272
  props.mandatory && (React__default.createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
7156
7273
  React__default.createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
7157
7274
  React__default.createElement("div", { className: "LuiTextAreaInput-wrapper" },
7158
- React__default.createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, ref: ref, rows: rows }, props.inputProps)))),
7275
+ React__default.createElement("textarea", __assign({ id: id, value: props.value, onChange: function (event) {
7276
+ var _a;
7277
+ if (((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.type) !== 'date') {
7278
+ filterInputEvent(event);
7279
+ }
7280
+ if (props.onChange) {
7281
+ props.onChange(event);
7282
+ }
7283
+ }, ref: ref, rows: rows }, props.inputProps)))),
7159
7284
  props.error && (React__default.createElement("span", { className: "LuiTextAreaInput-error" },
7160
7285
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
7161
7286
  props.error)),
@@ -15734,6 +15859,14 @@ var logo = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idX
15734
15859
 
15735
15860
  var motif = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIxMTMuNHB4IiBoZWlnaHQ9IjEwMi42cHgiIHZpZXdCb3g9IjAgMCAxMTMuNCAxMDIuNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTEzLjQgMTAyLjY7IiB4bWw6c3BhY2U9InByZXNlcnZlIgo+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8xXyk7fQoJLnN0MntmaWxsOnVybCgjU1ZHSURfMl8pO30KCS5zdDN7ZmlsbDp1cmwoI1NWR0lEXzNfKTt9Cgkuc3Q0e2ZpbGw6dXJsKCNTVkdJRF80Xyk7fQoJLnN0NXtmaWxsOnVybCgjU1ZHSURfNV8pO30KCS5zdDZ7b3BhY2l0eTowLjQ7ZmlsbDp1cmwoI1NWR0lEXzZfKTtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO30KPC9zdHlsZT4KCTxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTExMi45LDIxLjZjLTAuNy0xLjQtMi4zLTIuNC0zLjgtMi42bC0xLjctMC4xYzAuMS0wLjEsMC4zLTAuNCwwLjMtMC42YzEuNC0yLjMsMC43LTUuMi0xLjYtNi43CgkJYy0wLjctMC40LTEuNC0wLjYtMi4xLTAuN2gtMC4zaC0wLjFoLTAuMWgtMC4zSDEwM2wtMi40LTAuM2MwLjEtMi42LTEuOC00LjgtNC41LTVoLTFoLTAuMUM4NS45LDUsNzcsNC41LDY4LjEsNC41CgkJYy0yLDAtNS4xLDAtNy4xLDAuMWwtMC4zLTAuNGMtMC40LTAuNy0wLjktMS4zLTEuMy0xLjhjLTAuNi0wLjYtMS4xLTEuMS0xLjgtMS42QzU2LjcsMC4zLDU2LDAsNTUsMGgtMC4xaC0xbDAsMEg1M2wwLDAKCQljLTMuNSwwLjEtNy4xLDAuMy0xMC42LDAuNmgtMC4zYy0zLjMsMC4zLTYuMiwwLjYtOC45LDAuOWMtMS4xLDAuMS0yLjEsMC43LTMsMS40Yy00LjUsNC41LTkuMSwxMS4zLTEzLjYsMjAuM3YwLjEKCQljLTAuMSwwLjEtMC4xLDAuNC0wLjMsMC42Yy0xLjcsMy4zLTMuMyw2LjgtNC44LDEwLjZjMCwwLDAsMCwwLDAuMWwtMC4zLDAuN2MtMS40LDMuNC0yLjgsNy00LjEsMTAuNVY0NmwtMC4xLDAuNGwtMC4xLDAuM3YwLjEKCQljLTEuMywzLjUtMi40LDctMy4zLDEwLjR2MC4xbC0wLjEsMC40djAuMVY1OEMyLjEsNjIuNCwxLDY2LjUsMC4yLDcwLjJsMCwwdjAuMWwwLDB2MC4zbC0wLjEsMC40Yy0wLjYsMi43LDEuMyw1LjEsMy44LDUuNwoJCWMwLjMsMCwwLjYsMC4xLDAuOSwwLjFoMC4xYy0wLjEsMC42LTAuMywxLjMtMC40LDEuOHYwLjFsLTAuMSwwLjljLTAuNCwyLjYsMS4zLDUuMSwzLjgsNS43YzAuMywwLDAuNywwLjEsMSwwLjFoMC4xCgkJYy0wLjEsMC43LTAuMywxLjMtMC40LDEuOHYwLjF2MC4xbDAsMFY4OHYwLjF2MC4zYy0wLjYsMi42LDEuMSw1LjIsMy43LDUuN2MwLjMsMCwwLjYsMC4xLDAuNywwLjFoMC4xYy0wLjEsMC42LTAuMywxLTAuMywxLjYKCQljLTAuNiwyLjcsMS4zLDUuMSwzLjgsNS43YzAuMywwLDAuNiwwLjEsMC45LDAuMWMwLjMsMCwwLjQsMCwwLjcsMGM5LjUtMS4zLDE5LjItMS44LDI4LjgtMS43YzEyLjYsMCwyNS4zLDAuOSwzNy45LDIuNAoJCWMwLjEsMCwwLjQsMCwwLjYsMGMyLjQsMCw0LjQtMS43LDQuOC00LjFjMy40LTIyLjQsMTAuOS01My4xLDIyLTcxLjhDMTEzLjYsMjQuOCwxMTMuNiwyMy4xLDExMi45LDIxLjZ6Ii8+CgoJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDAuMjU3IiB5MT0iOTYzLjkxOTUiIHgyPSIxMDQuNTE5NSIgeTI9IjEwMjguMTkyNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTkyNi4xMTAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzczQzhFMSIvPgoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA3MTk5Ii8+Cgk8L2xpbmVhckdyYWRpZW50PgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xMDguNiwyNC4xYy0yMi4xLTEuOC00My0xLjQtNTcuOSwwLjRDMzcsMzguNywyMi41LDczLjYsMTcuOCw5Ny41YzE1LjctMi40LDQxLjktMi44LDY4LjEsMC40CgkJQzg5LjIsNzUuOSw5Ni45LDQ0LDEwOC42LDI0LjF6Ii8+CgoJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzUuMzI4IiB5MT0iOTU2LjA4NjEiIHgyPSI5OC45MSIgeTI9IjEwMTkuNjY4MiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTkyNi4xMTAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6Izc1Q0JDNyIvPgoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA4NzgyIi8+Cgk8L2xpbmVhckdyYWRpZW50PgoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMDMuMSwxNmMtMjIuMS0xLjgtNDIuOC0xLjQtNTcuOSwwLjRDMzEuMywzMC42LDE4LDY1LjcsMTMuMiw4OS41YzE1LjktMi40LDM5LjQtMy4xLDY1LTAuNwoJCUM4Mi4yLDY0LDkwLjYsMzcsMTAzLjEsMTZ6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEzLDg5LjlsMC4xLTAuOWMxNy40LTIuNiw0MS40LTIuOCw2NC40LTAuN2M0LjgtMjcuNywxMy42LTUzLjMsMjUtNzIuNGwwLjksMC4xYy0xMS4zLDE5LTIwLjMsNDUuMS0yNSw3Mi44CgkJbC0wLjEsMC40SDc4QzU0LjksODcuMSwzMC42LDg3LjQsMTMsODkuOXoiLz4KCgkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8zXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMC4wNzE5IiB5MT0iOTQ5Ljk4MjUiIHgyPSI5MS4wNzg0IiB5Mj0iMTAxMC45Nzg2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMCAtOTI2LjExMDIpIj4KCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojOUREMTlBIi8+CgkJCTxzdG9wICBvZmZzZXQ9IjAuNSIgc3R5bGU9InN0b3AtY29sb3I6IzA2QTI0QSIvPgoJPC9saW5lYXJHcmFkaWVudD4KCQk8cGF0aCBjbGFzcz0ic3QzIiBkPSJNNzEuMiw0OGwyLjMtNi4ybDEwLjgtMTIuM2MwLjQtMC4xLDAuOS0wLjEsMS4zLTAuMWMyLjgtNi40LDYtMTIuNiw5LjUtMTguNmMtMjEuMy0xLjgtNDEuMS0xLjQtNTUuNiwwLjQKCQlDMjYuMiwyNC41LDEzLjIsNTgsOC42LDgwLjZjOC4yLTEuMSwxNi41LTEuOCwyNC43LTJjLTAuNi0wLjMtMC4xLTIuMy0wLjEtMi4zYzAuNi0yLjQsMi4zLTQuMyw0LjUtNi4yYzIuMy0yLDEuMy0zLjMsMy4xLTQKCQljMy44LTEuNyw3LjUtMy44LDEwLjktNi4yYzQuMy0zLjEsNS44LTE0LDYtMTMuM2MwLjEsMC43LDEuNywwLjQsMS43LDEuMWMwLDAuNiwwLjQsMS44LDAuNywyYzAuMywwLDEuNi0zLjMsNC41LTMuMwoJCWMxLjgsMC4xLDMuNSwwLjcsNSwyYzAuMSwwLDEuMy0wLjEsMS4zLTAuMUw3MS4yLDQ4eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NS4yLDMwLjZsLTAuNy0wLjRsMC42LTEuMWMyLjctNi40LDUuOC0xMi41LDkuNC0xOC40aDAuOWMtMy41LDYtNi44LDEyLjItOS42LDE4LjdMODUuMiwzMC42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01Ny43LDkuMmMtMC4zLDAuMSwwLjEsMC4zLDAuNywxYzAuOSwxLDEuNCwyLDEuOCwzLjNjMCwwLjYtMC43LDAuMywwLjEsMS4zYzAuOSwxLDMuNSw1LDMuOCw1LjcKCQlzMC45LDAuNiwwLjksMC4xczAuNCwwLjMsMC42LDAuN2MwLDAuMy0wLjMsMC4xLTAuMywwLjNjMCwwLjEsMC45LDEuMywxLjYsMy4xYzAuOSwyLjEsMS42LDMuMywxLjMsNS4yYy0wLjEsMi0wLjYsNS0yLjEsNS44CgkJYy0xLjYsMC45LTIuOCwxLTIuNywyLjRjMC4xLDEuNCwxLjcsMS42LDIuOCwyLjRzMi44LDAuNCwzLjQsMmMwLjYsMS40LTAuMSw0LjEtMS4xLDUuMnMtMS40LDEuNy0wLjksMi4xYzAuNiwwLjQsMC45LDAuNCwxLjMsMC4zCgkJYzAuNC0wLjEsMC45LDAuMSwwLjksMC43YzAsMC42LDAuMywwLjcsMi0wLjNzMi40LTMuMSwzLjctNC44YzEuMS0xLjYsMi4xLTMuMSwzLTVjMC4xLTAuMywwLjEtMC40LTAuNC0wLjcKCQljLTAuNi0wLjEtMC45LTAuOS0wLjYtMS40YzAsMCwwLTAuMSwwLjEtMC4xYzAuNy0xLjMsMS43LTEuNiwzLTEuOGMwLjYtMC4xLDEuMS0wLjEsMS43LDBjMC40LDAuNCwwLjEsMS4zLDAuNCwxczAuNi0wLjcsMC43LTEKCQljMC0wLjEsMC0wLjEtMC4xLTAuM2MtMC4xLTAuMS0wLjYtMC40LTAuMS0xLjNjMC40LTEuMSwxLjgtMC45LDIuMS0yLjhjMC40LTIsMS42LTMuMywxLTRzLTEuOC0wLjQtMi44LTAuMWMtMSwwLjQtMi4xLDIuNC0zLjUsMgoJCWMtMS4zLTAuNC00LjUtMS40LTUuMS0yLjNjLTAuNy0xLjctMS4xLTMuMy0xLjQtNS4xYy0wLjEtMS4xLTEtMC43LTEuNC0xLjRjLTAuNC0wLjYtMC43LDAuNC0wLjYsMS40YzAuMSwxLjEsMS4xLDIuMSwwLjYsMi42CgkJYy0wLjcsMC40LTEuMS0xLjYtMi4xLTJjLTEtMC40LTEuNC0xLTEuMS0yLjhjMC4xLTItMS43LTIuMy0xLjQtMy4zczAuNi0yLjEtMS43LTMuN2MtMi4zLTEuNi0zLjctMS00LjUtMS43CgkJYy0wLjktMC45LTEuNC0xLjMtMS42LTJjLTAuMS0wLjksMC42LTEtMC42LTAuN0M1OC4xLDkuMiw1OCw5LjEsNTcuNyw5LjJ6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTY0LjQsNTMuNmMwLjQtMC40LDAuNy0xLDEtMS43YzAuMS0wLjQtMS0wLjMtMS0xLjFjMC0wLjksMC42LTEuNywwLjYtMi4xYzAtMC4zLTAuMy0wLjEtMC40LTAuMQoJCXMtMC40LTAuMS0wLjQtMC4zYy0wLjEtMC40LTAuNi0wLjYtMS42LTAuMWMtMSwwLjQtMS44LDEuNC0yLjEsMS40Yy0wLjMsMC0wLjctMS40LTAuNy0yYzAtMC43LTEuNy0wLjQtMS42LTEuMQoJCWMwLTAuMywwLjEtMC42LDAuMy0wLjljMC0wLjEsMC4xLTAuMSwwLTAuM2MtMS4zLTAuMS0yLjMsMS4xLTIuOCwxLjdjLTAuNiwwLjYsMC45LDIuOC0wLjcsNC4xYy0xLjYsMS4zLTIuMSwwLjktMi4zLDEuNgoJCWMtMC40LDMtMiw1LjgtNC41LDcuNWMtNC4zLDMuMy02LjUsNS4yLTguMiw2LjFjLTEuNywwLjctMi4xLDMuMS00LjMsNS4xYy0yLjEsMi0zLjUsNi40LTIuNCw3LjVjMC45LDAuOSwyLjEsMS4xLDMuMywwLjcKCQljMC42LTAuMSwxLjMsMC4xLDEuNywwLjZjMC4zLDAuNCwxLjQtMC4xLDIsMC40YzEsMC42LDIuMSwwLjksMy4zLDAuN2MxLjQtMC4xLDQuMS0xLjMsNi4yLTQuOGMyLjMtMy41LDEuOC02LjUsMi40LTcuOAoJCWMwLjctMS43LDItMy4xLDMuNy0zLjdjMS44LTAuNiwyLjEtMC43LDIuOC0wLjRzMiwwLjYsMS44LTAuN2MtMC4xLTEuMy0xLjctMC43LTEuNy0xLjdzLTAuMy0xLjYsMC45LTIuMWMxLjEtMC40LDEuOC0yLjEsMi42LTMuNAoJCUM2Mi43LDU1LjMsNjMuNSw1NC45LDY0LjQsNTMuNnoiLz4KCgkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNi44NTkyIiB5MT0iOTUyLjAxMzciIHgyPSI2Mi45MjU1IiB5Mj0iOTk4LjA5MDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIC05MjYuMTEwMikiPgoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiM5REQxOUEiLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzA2QTI0QSIvPgoJPC9saW5lYXJHcmFkaWVudD4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNjkuNSw0Mi42Yy0wLjEtMC4zLTAuMy0wLjQtMC40LTAuNmMtMC4xLTAuMS0wLjMtMC4zLTAuNC0wLjNjLTAuNy0wLjQtMS43LTAuNC0yLjYtMWMtMS4xLTAuOS0yLjctMS0yLjgtMi40CgkJYy0wLjEtMS40LDEuMS0xLjcsMi43LTIuNGMxLjYtMC45LDItMy43LDIuMS01LjhjMC4xLTItMC42LTMuMy0xLjMtNS4yYy0wLjctMS44LTEuNi0yLjgtMS42LTMuMXMwLjMsMCwwLjMtMC4zCgkJYy0wLjEtMC40LTAuNi0xLTAuNi0wLjdzLTAuNCwwLjYtMC45LTAuMWMtMC40LTAuNy0zLjEtNC43LTMuOC01LjdjLTAuNy0xLTAuMS0wLjctMC4xLTEuM2MtMC40LTEuMS0xLTIuMy0xLjgtMy4zCgkJYy0wLjEtMC4zLTAuNC0wLjYtMC43LTAuN2wwLDBjLTAuMSwwLTAuMSwwLDAsMGMtMC4xLTAuMS0wLjEtMC4xLTAuMS0wLjNjLTAuNi0xLjMtMS40LTIuNi0yLjMtMy43Yy0wLjEtMC4xLTAuMy0wLjMtMC42LTAuNAoJCUM0Ny4xLDUuNCwzOS4xLDYsMzMuMiw2LjdDMjAuNywxOS40LDguNiw1MC4yLDQuMiw3MS44YzYuNC0wLjksMjAtMiwyOS4yLTIuMWgxLjFoMS4zaDEuNGMwLjktMS4zLDEuNC0yLjQsMi40LTIuOAoJCWMxLjctMC43LDQuMS0yLjgsOC4yLTYuMWMyLjQtMS44LDQuMS00LjUsNC41LTcuNWMwLjEtMC42LDAuNy0wLjMsMi4zLTEuNmMxLjYtMS4zLDAuMS0zLjUsMC43LTQuMWMwLjYtMC42LDEuNi0yLDIuOC0xLjcKCQljMC4xLDAsMCwwLjEsMCwwLjNDNTguMSw0Ni40LDU4LDQ2LjcsNTgsNDdjMCwwLjksMS42LDAuNiwxLjYsMS4xYzAsMC43LDAuNCwyLDAuNywyYzAuMywwLDEuMS0xLDIuMS0xLjRsMC4zLTAuMWwwLDAKCQljMC4xLDAsMC4zLTAuMSwwLjQtMC4xbDAsMGMxLDAsMS44LDAuMywyLjcsMC42YzAuNCwwLjMsMC43LDAuNiwxLDFjMC0wLjQsMC40LTAuOSwxLTEuN0M2OS4yLDQ2LjcsNzAsNDQsNjkuNSw0Mi42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zMyw3OC4zYy04LjEsMC4zLTE2LDAuOS0yNC4xLDJsLTAuMSwwLjljOC4yLTEuMSwxNi41LTEuNywyNC44LTJMMzMuNCw3OUMzMy4yLDc4LjksMzMsNzguNiwzMyw3OC4zeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNy42LDY5LjJoLTEuNGgtMS4zaC0xLjFjLTkuMiwwLjMtMjIuOCwxLjMtMjkuMiwyLjF2MC4xdjAuM2wtMC4xLDAuNmM2LjItMC45LDIwLjEtMiwyOS41LTIuMUgzNWgxLjgKCQljMC4xLTAuMSwwLjMtMC40LDAuNC0wLjZsMCwwTDM3LjYsNjkuMkwzNy42LDY5LjJ6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTM4LjUsODEuN2MtMC45LTAuMy0wLjQsMC40LTAuNCwxYzAsMC42LTAuMywwLjYtMC40LDFjLTAuMSwwLjYtMC40LDEtMC4xLDEuM2MwLjEsMC4zLDAuMywwLjMsMC43LTAuMQoJCWMwLjQtMC40LDAuNC0wLjQsMS0wLjRjMC42LDAsMC45LTAuMSwwLjktMUM0MCw4Mi42LDM5LjMsODEuOSwzOC41LDgxLjd6Ii8+CgoJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjIuODEyMSIgeTE9Ijk0Mi4zMTA0IiB4Mj0iNDcuOTI4NyIgeTI9Ijk4OC41NTQ4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMCAtOTI2LjExMDIpIj4KCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGO3N0b3Atb3BhY2l0eTowLjkiLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRjtzdG9wLW9wYWNpdHk6MC4xIi8+Cgk8L2xpbmVhckdyYWRpZW50PgoJCTxwYXRoIGNsYXNzPSJzdDUiIGQ9Ik0xMyw3MC42aDAuN2MxLTQuMSwyLTguMSwzLjEtMTEuOGMzLTAuMSw2LjQtMC40LDEwLjEtMC42Yy0xLjEsMy43LTIuMSw3LjUtMy4xLDExLjZoMC43CgkJYzEtNC4xLDItNy45LDMuMS0xMS41YzMuMy0wLjEsNi43LTAuMywxMC4xLTAuM2MtMS4xLDMuNS0yLjEsNy40LTMuMSwxMS41aDAuM2gwLjNjMS00LDItNy44LDMuMS0xMS41YzMuNCwwLDYuOCwwLDEwLjEsMAoJCUM0OC4xLDU5LDQ3LjgsNjAsNDcuNSw2MWMwLjEtMC4xLDAuNC0wLjMsMC42LTAuNGwwLjMtMC4zYzAuMS0wLjcsMC40LTEuNCwwLjYtMi4xaDEuNGMwLjEtMC4xLDAuMy0wLjQsMC40LTAuNkg0OQoJCWMxLjEtMy43LDIuMy03LjIsMy40LTEwLjVsMy4xLDAuMWMwLjEtMC4xLDAuMy0wLjQsMC42LTAuNmMtMS4xLDAtMi4zLTAuMS0zLjQtMC4xYzEuNC0zLjcsMi43LTcuMiw0LjEtMTAuNQoJCWMyLjgsMCw1LjUsMC4xLDguMiwwLjNjMC4zLTAuMSwwLjYtMC4zLDAuOS0wLjRjMC4xLDAsMC4xLTAuMSwwLjMtMC4xYy0yLjgtMC4xLTYtMC4zLTguOS0wLjRjMS43LTMuOCwzLjQtNy40LDUtMTAuNQoJCWMxLjYsMCwzLjEsMC4xLDQuNywwLjFsLTAuMS0wLjNsLTAuMS0wLjNjLTEuNCwwLTIuNy0wLjEtNC4zLTAuMWMwLjctMS4xLDEuMy0yLjQsMS44LTMuNGMtMC4xLTAuMS0wLjEtMC4xLTAuMy0wLjNsLTAuMS0wLjMKCQljLTAuNywxLjMtMS40LDIuNi0yLjEsNGMtMy40LDAtNi44LDAtMTAuMSwwYzIuMS00LjMsNC4zLTcuNyw2LjEtMTAuNUg2MHYtMC4xYzAtMC4xLDAtMC4zLTAuMS0wLjRINThjMC4zLTAuNiwwLjctMSwxLTEuNgoJCWMtMC4xLTAuMS0wLjMtMC40LTAuNC0wLjZjLTAuNCwwLjctMC45LDEuMy0xLjQsMi4xYy0zLjQsMC02LjgsMC4xLTkuOSwwLjNjMS44LTMsNC01LjcsNi4yLTguNGgtMC45Yy0yLjMsMi42LTQuMyw1LjQtNi4xLDguMgoJCWMtMy43LDAuMS03LjEsMC4zLTkuOSwwLjZjMS44LTMsNC01LjcsNi4yLTguNEg0MmMtMi4zLDIuNy00LjMsNS40LTYuMSw4LjRjLTQuNSwwLjMtNy44LDAuNi05LjEsMC43Yy0wLjEsMC4xLTAuMywwLjQtMC40LDAuNwoJCWMwLjYsMCw0LTAuMyw5LjEtMC43Yy0xLjgsMi44LTMuOCw2LjItNi4xLDEwLjVjLTQuNSwwLjMtNy44LDAuNi04LjksMC43bC0wLjMsMC43YzAuNywwLDQuMS0wLjMsOC45LTAuN2MtMS42LDMuMS0zLjMsNi41LTUsMTAuNAoJCWMtNC4zLDAuMy03LjUsMC42LTguOCwwLjdMMTUsMzcuNWMxLjEtMC4xLDQuNC0wLjQsOC44LTAuN2MtMS40LDMuMy0yLjgsNi43LTQuMSwxMC41Yy00LjEsMC4zLTcuNCwwLjQtOC40LDAuNkwxMSw0OC40CgkJYzAuNywwLDQtMC4zLDguOC0wLjdjLTEuMSwzLjMtMi4zLDYuOC0zLjQsMTAuNWMtNC40LDAuMy03LjcsMC42LTguNywwLjZjMCwwLjEtMC4xLDAuNC0wLjEsMC42YzAuNywwLDQtMC4zLDguNy0wLjcKCQlDMTUsNjIuNiwxNCw2Ni40LDEzLDcwLjZ6IE0zNy44LDU3LjNjLTMuNSwwLTcsMC4xLTEwLjEsMC4zYzEuMS0zLjcsMi4zLTcuMSwzLjQtMTAuNWMzLjMtMC4xLDYuNy0wLjMsMTAuMS0wLjMKCQlDNDAuMSw1MC4xLDM5LDUzLjYsMzcuOCw1Ny4zeiBNNDUuNiwzNS43Yy0xLjQsMy4zLTIuNyw2LjctNC4xLDEwLjVjLTMuNSwwLTcsMC4xLTEwLjEsMC4zYzEuNC0zLjcsMi43LTcuMiw0LjMtMTAuNQoJCUMzOC43LDM1LjksNDIuMSwzNS45LDQ1LjYsMzUuN3ogTTM1LjksMzUuNWMxLjctMy44LDMuNC03LjQsNS0xMC41YzMuMS0wLjEsNi41LTAuMywxMC4xLTAuM2MtMS42LDMuMS0zLjMsNi41LTUsMTAuNQoJCUM0Mi40LDM1LjIsMzksMzUuMywzNS45LDM1LjV6IE00OC42LDU3LjNjLTMuNCwwLTYuOCwwLTEwLjEsMGMxLjEtMy43LDIuMy03LjIsMy40LTEwLjVjMy40LDAsNi44LDAsMTAuMSwwCgkJQzUwLjksNTAuMSw0OS44LDUzLjYsNDguNiw1Ny4zeiBNNTIuMyw0Ni4yYy0zLjQsMC02LjgsMC0xMC4xLDBjMS40LTMuNywyLjctNy4yLDQuMS0xMC41YzMuNCwwLDYuNywwLDEwLjEsMAoJCUM1NSwzOSw1My43LDQyLjYsNTIuMyw0Ni4yeiBNNjEuNSwyNC43Yy0xLjYsMy4xLTMuMyw2LjUtNSwxMC41Yy0zLjQsMC02LjgsMC0xMC4xLDBjMS43LTMuOCwzLjQtNy40LDUtMTAuNQoJCUM1NC45LDI0LjcsNTguMywyNC43LDYxLjUsMjQuN0w2MS41LDI0Ljd6IE00Ny4yLDE0YzMuMS0wLjEsNi41LTAuMyw5LjktMC4zYy0xLjgsMi44LTMuOCw2LjItNiwxMC41Yy0zLjQsMC02LjgsMC4xLTEwLjEsMC4zCgkJQzQzLjIsMjAuMyw0NS40LDE2LjcsNDcuMiwxNHogTTM2LjQsMTQuNmMyLjgtMC4xLDYuMi0wLjQsOS45LTAuNmMtMS44LDIuOC0zLjgsNi4yLTYuMSwxMC41Yy0zLjcsMC4xLTcuMSwwLjMtMTAuMSwwLjYKCQlDMzIuNiwyMC45LDM0LjYsMTcuMywzNi40LDE0LjZ6IE0zMCwyNS41YzMtMC4xLDYuNC0wLjQsMTAuMS0wLjZjLTEuNiwzLjEtMy4zLDYuNS01LDEwLjVjLTMuNywwLjEtNy4xLDAuMy0xMC4xLDAuNgoJCUMyNi44LDMyLjIsMjguMywyOC43LDMwLDI1LjV6IE0yNC44LDM2LjZjMy0wLjEsNi40LTAuNCwxMC4xLTAuNmMtMS40LDMuMy0yLjcsNi43LTQuMSwxMC41Yy0zLjcsMC4xLTcuMiwwLjMtMTAuMSwwLjYKCQlDMjIsNDMuMywyMy40LDM5LjksMjQuOCwzNi42eiBNMjAuNCw0Ny43YzMtMC4xLDYuNC0wLjQsMTAuMS0wLjZjLTEuMSwzLjMtMi4zLDYuOC0zLjQsMTAuNGMtMy43LDAuMS03LjIsMC4zLTEwLjEsMC42CgkJQzE4LjEsNTQuNSwxOS4zLDUwLjksMjAuNCw0Ny43eiIvPgoKCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjYxLjU3OTkiIHkxPSI5NjguNDMxIiB4Mj0iNjUuMzkwOSIgeTI9Ijk3NS40NjY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMCAtOTI2LjExMDIpIj4KCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGNzk5O3N0b3Atb3BhY2l0eTowLjkiLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRjhBMztzdG9wLW9wYWNpdHk6MC4xIi8+Cgk8L2xpbmVhckdyYWRpZW50PgoJCTxwYXRoIGNsYXNzPSJzdDYiIGQ9Ik02My43LDQ2LjdjMC43LTIuMSwxLjYtNC4zLDIuNC02LjJjLTAuMS0wLjEtMC4zLTAuMy0wLjYtMC4zYy0wLjksMi4xLTEuNyw0LjMtMi40LDYuNAoJCWMtMS42LTAuMS0zLjEtMC4xLTQuOC0wLjNjMCwwLjQsMC40LDAuNiwwLjksMC43YzEuMywwLDIuNiwwLjEsMy43LDAuMWwtMC40LDEuMWgwLjFjMC4xLTAuMSwwLjQtMC4xLDAuNy0wLjFsMC4zLTAuNwoJCWMxLjcsMC4xLDMuMywwLjMsNSwwLjRjMC4xLTAuMSwwLjMtMC40LDAuNC0wLjZDNjcuMSw0Nyw2NS40LDQ2LjgsNjMuNyw0Ni43eiIvPgo8L2c+Cjwvc3ZnPg==';
15736
15861
 
15862
+ function useDeprecatedWarning(componentName) {
15863
+ useEffect(function () {
15864
+ if (window.location.hostname.includes('localhost')) {
15865
+ console.warn("".concat(componentName, " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs."));
15866
+ }
15867
+ }, []);
15868
+ }
15869
+
15737
15870
  /**
15738
15871
  * A hook which allows you to register a handler when the escape key is pressed
15739
15872
  *
@@ -15760,11 +15893,21 @@ var useEscapeFunction = function (onEscape, trigger, elRef) {
15760
15893
  * A hook which allows handling of click event anywhere on the page.
15761
15894
  * Provides a way of handling clicks done inside or outside the element bound to the returned react ref.
15762
15895
  *
15896
+ * @deprecated
15897
+ * This hook is deprecated. It's no longer supported and will be removed in future version.
15898
+ *
15899
+ * For click inside element handling, consider attaching an `onClick` handler directly onto the element.
15900
+ *
15901
+ * For click outside element handling, consider using the `useClickedOutsideElement` hook instead.
15902
+ *
15903
+ * For click anywhere (both inside and outside) handling, consider attaching an `onClick` handler directly onto the document.
15904
+ *
15763
15905
  * @param onClickInsideArg handler for mouse clicks inside the element
15764
15906
  * @param onClickOutsideArg handler for mouse clicks outside the element
15765
15907
  * @return a react ref which can be bound to an html element
15766
15908
  */
15767
15909
  var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
15910
+ useDeprecatedWarning('usePageClickFunction');
15768
15911
  var elementRef = useRef(null);
15769
15912
  var onClickInside = useCallback(onClickInsideArg, [onClickInsideArg]);
15770
15913
  var onClickOutside = useCallback(onClickOutsideArg, [onClickOutsideArg]);
@@ -15829,14 +15972,6 @@ var buildHideClassDict = function (_a) {
15829
15972
  };
15830
15973
  };
15831
15974
 
15832
- function useDeprecatedWarning(componentName) {
15833
- useEffect(function () {
15834
- if (window.location.hostname.includes('localhost')) {
15835
- console.warn("".concat(componentName, " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs."));
15836
- }
15837
- }, []);
15838
- }
15839
-
15840
15975
  /**
15841
15976
  * @deprecated: this is replaced by LuiHeaderV2
15842
15977
  */
@@ -18623,10 +18758,18 @@ var LuiSearchInput = function (props) {
18623
18758
  }, [typedValue]);
18624
18759
  var cancelIcon = typedValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
18625
18760
  onClick: function () {
18626
- var _a;
18761
+ var _a, _b, _c;
18762
+ var canClearInternally = (_a = props.isClearable) !== null && _a !== void 0 ? _a : true;
18763
+ if (!canClearInternally) {
18764
+ // Parent (e.g. unsaved-changes flow) will decide when
18765
+ // input gets cleared. We only signal the intent.
18766
+ (_b = props.onClearCallback) === null || _b === void 0 ? void 0 : _b.call(props);
18767
+ return;
18768
+ }
18769
+ // Default behaviour: clear input + results, and notify parent
18627
18770
  setInputValue('');
18628
- (_a = props.onClearCallback) === null || _a === void 0 ? void 0 : _a.call(props);
18629
18771
  setResults([]);
18772
+ (_c = props.onClearCallback) === null || _c === void 0 ? void 0 : _c.call(props);
18630
18773
  }
18631
18774
  } })) : null;
18632
18775
  var searchIcon = props.externalSearch ? (React__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.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(); } } }));
@@ -41288,5 +41431,5 @@ var DrawerGlobal = forwardRef$1(function (props, ref) {
41288
41431
  return (React__default.createElement(Drawer, __assign({}, props, { ref: ref, isOpen: isOpen, onRequestClose: onRequestClose })));
41289
41432
  });
41290
41433
 
41291
- export { CheckboxItemRenderer, ColorBucket, ColorInput, ColorInputGroup, ColorPalette, Drawer, DrawerGlobal, DrawerGlobalContext, DrawerGlobalProvider, LuiAccordicard, LuiAccordicardStatic, LuiAccordion, LuiAlertModal, LuiAlertModalButtons, LuiAlertModalV2, LuiAppFooterSml, LuiAutoExpandTextAreaInput, LuiBadge, LuiBanner, LuiBannerContent, LuiBannerV2, LuiBearingInput, LuiButton, LuiButtonGroup, LuiCheckboxInput, LuiCloseableHeaderMenuContext, LuiCloseableHeaderMenuContextV2, LuiCloseableHeaderMenuItem, LuiCloseableHeaderMenuItemV2, LuiComboSelect, LuiControlledMenu, LuiCounter, LuiDateInput, LuiDrawerMenu, LuiDrawerMenuDivider, LuiDrawerMenuDividerV2, LuiDrawerMenuOption, LuiDrawerMenuOptionV2, LuiDrawerMenuOptions, LuiDrawerMenuOptionsV2, LuiDrawerMenuSection, LuiDrawerMenuSectionV2, LuiDrawerMenuV2, LuiDropdownMenu, LuiDropdownMenuV2, LuiDropdownMenuV2DropContent, LuiErrorIllustration, LuiErrorPage, LuiErrorPanel, LuiExpandableBanner, LuiFileInputBox, LuiFilterContainer, LuiFilterMenu, LuiFooter, LuiFormSectionHeader, LuiHeader, LuiHeaderMenuItem, LuiHeaderMenuItemV2, LuiHeaderV2, LuiIcon, LuiListBox, LuiLoadingSpinner, LuiMenu, LuiMenuCloseButton, LuiMenuCloseButtonV2, LuiMessagingContextProvider, LuiMiniSpinner, LuiModal, LuiModalV2, LuiMoneyInput, LuiMultiSwitch, LuiMultiSwitchYesNo, LuiPagination, LuiPassiveSearchInput, LuiProgressBar, LuiRadioInput, LuiResizableLayout, LuiSearchBox, LuiSearchInput, LuiSelectDataMenu, LuiSelectInput, LuiSelectMenu, LuiSelectMenuDivider, LuiSelectMenuHeader, LuiSelectMenuItem, LuiSelectMenuItemSwitch, LuiSelectSubMenuItem, LuiShadow, LuiSideMenu, LuiSideMenuItem, LuiSidePanel, LuiSidePanelProvider, LuiSideToolbar, LuiSplitButton, LuiSplitButtonMenuItem, LuiSplitButtonPosition, LuiStaticMessage, LuiStatusSpinner, LuiSwitchButton, LuiTab, LuiTabs, LuiTabsContext, LuiTabsGroup, LuiTabsPanel, LuiTabsPanelSwitch, LuiTextAreaInput, LuiTextInput, LuiToastMessage, LuiTooltip, LuiUpdatesSplashModal, RadioItemRenderer, SplitPanelState, Splitter, ToolbarButton, ToolbarDirection, ToolbarItem, ToolbarItemSeparator, breakpointQuery, breakpoints, defaultColours, isChromatic, useClickedOutsideElement, useDrawerGlobalContext, useEscapeFunction, useLuiCloseableHeaderMenuContextV2, useMediaQuery, usePageClickFunction, useShowLUIMessage, useSplitterRef, useToast };
41434
+ export { CheckboxItemRenderer, ColorBucket, ColorInput, ColorInputGroup, ColorPalette, Drawer, DrawerGlobal, DrawerGlobalContext, DrawerGlobalProvider, LinzFreeTextFilter, LinzFreeTextFilterConvertOnly, LinzFreeTextValidator, LuiAccordicard, LuiAccordicardStatic, LuiAccordion, LuiAlertModal, LuiAlertModalButtons, LuiAlertModalV2, LuiAppFooterSml, LuiAutoExpandTextAreaInput, LuiBadge, LuiBanner, LuiBannerContent, LuiBannerV2, LuiBearingInput, LuiButton, LuiButtonGroup, LuiCheckboxInput, LuiCloseableHeaderMenuContext, LuiCloseableHeaderMenuContextV2, LuiCloseableHeaderMenuItem, LuiCloseableHeaderMenuItemV2, LuiComboSelect, LuiControlledMenu, LuiCounter, LuiDateInput, LuiDrawerMenu, LuiDrawerMenuDivider, LuiDrawerMenuDividerV2, LuiDrawerMenuOption, LuiDrawerMenuOptionV2, LuiDrawerMenuOptions, LuiDrawerMenuOptionsV2, LuiDrawerMenuSection, LuiDrawerMenuSectionV2, LuiDrawerMenuV2, LuiDropdownMenu, LuiDropdownMenuV2, LuiDropdownMenuV2DropContent, LuiErrorIllustration, LuiErrorPage, LuiErrorPanel, LuiExpandableBanner, LuiFileInputBox, LuiFilterCharactersProvider, LuiFilterContainer, LuiFilterMenu, LuiFooter, LuiFormSectionHeader, LuiHeader, LuiHeaderMenuItem, LuiHeaderMenuItemV2, LuiHeaderV2, LuiIcon, LuiListBox, LuiLoadingSpinner, LuiMenu, LuiMenuCloseButton, LuiMenuCloseButtonV2, LuiMessagingContextProvider, LuiMiniSpinner, LuiModal, LuiModalV2, LuiMoneyInput, LuiMultiSwitch, LuiMultiSwitchYesNo, LuiPagination, LuiPassiveSearchInput, LuiProgressBar, LuiRadioInput, LuiResizableLayout, LuiSearchBox, LuiSearchInput, LuiSelectDataMenu, LuiSelectInput, LuiSelectMenu, LuiSelectMenuDivider, LuiSelectMenuHeader, LuiSelectMenuItem, LuiSelectMenuItemSwitch, LuiSelectSubMenuItem, LuiShadow, LuiSideMenu, LuiSideMenuItem, LuiSidePanel, LuiSidePanelProvider, LuiSideToolbar, LuiSplitButton, LuiSplitButtonMenuItem, LuiSplitButtonPosition, LuiStaticMessage, LuiStatusSpinner, LuiSwitchButton, LuiTab, LuiTabs, LuiTabsContext, LuiTabsGroup, LuiTabsPanel, LuiTabsPanelSwitch, LuiTextAreaInput, LuiTextInput, LuiToastMessage, LuiTooltip, LuiUpdatesSplashModal, RadioItemRenderer, SplitPanelState, Splitter, ToolbarButton, ToolbarDirection, ToolbarItem, ToolbarItemSeparator, breakpointQuery, breakpoints, defaultColours, isChromatic, useClickedOutsideElement, useDrawerGlobalContext, useEscapeFunction, useFilterCharacters, useLuiCloseableHeaderMenuContextV2, useMediaQuery, usePageClickFunction, useShowLUIMessage, useSplitterRef, useToast };
41292
41435
  //# sourceMappingURL=lui.esm.js.map