@mirai/ui 2.1.91 → 2.1.93

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/README.md CHANGED
@@ -699,6 +699,7 @@ A custom select input component that receives the following props:
699
699
  - `icon:string` if you want use an `<Icon>` within the component
700
700
  - `multiple:bool` if you want select more than one option
701
701
  - `label:string` label text
702
+ - `maxVisibleOptions:number` maximum number of visible options before the menu becomes scrollable. Default value is `5`
702
703
  - `name:string` - required prop, input name
703
704
  - `showRequired:boolean` indicating whether the "required" indicator should be shown
704
705
  - `showState:boolean` indicating whether to show the state icons for errors, success, and warning
@@ -727,6 +728,7 @@ const Example = (props) => {
727
728
  emptyOption="Select one option..."
728
729
  hint="hint"
729
730
  label="label"
731
+ maxVisibleOptions={6}
730
732
  name="name"
731
733
  options={[
732
734
  { name: 'One', description: 'Number one', value: 1 },
@@ -18,7 +18,7 @@ var _InputList2 = require("./InputList.Header");
18
18
  var style = _interopRequireWildcard(require("./InputList.module.css"));
19
19
  var _InputList3 = require("./InputList.Option");
20
20
  var _excluded = ["labelSelected"],
21
- _excluded2 = ["disabled", "emptyOption", "icon", "l10n", "multiple", "options", "sort", "value", "onChange"],
21
+ _excluded2 = ["disabled", "emptyOption", "icon", "l10n", "maxVisibleOptions", "multiple", "options", "sort", "value", "onChange"],
22
22
  _excluded3 = ["rightElement"],
23
23
  _excluded4 = ["rightElement"],
24
24
  _excluded5 = ["className", "testId"];
@@ -44,6 +44,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
44
44
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
45
45
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
46
46
  var EMPTY = 'EMPTY_VALUE';
47
+ var DEFAULT_MAX_VISIBLE_OPTIONS = 5;
47
48
  var InputList = function InputList(_ref) {
48
49
  var disabled = _ref.disabled,
49
50
  emptyOption = _ref.emptyOption,
@@ -53,6 +54,8 @@ var InputList = function InputList(_ref) {
53
54
  var _ref$l10n$labelSelect = _ref$l10n.labelSelected,
54
55
  labelSelected = _ref$l10n$labelSelect === void 0 ? 'selected' : _ref$l10n$labelSelect,
55
56
  l10n = _objectWithoutProperties(_ref$l10n, _excluded),
57
+ _ref$maxVisibleOption = _ref.maxVisibleOptions,
58
+ maxVisibleOptions = _ref$maxVisibleOption === void 0 ? DEFAULT_MAX_VISIBLE_OPTIONS : _ref$maxVisibleOption,
56
59
  _ref$multiple = _ref.multiple,
57
60
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
58
61
  options = _ref.options,
@@ -82,7 +85,7 @@ var InputList = function InputList(_ref) {
82
85
  width = _useState8[0],
83
86
  setWidth = _useState8[1];
84
87
  var selectableOptions = (0, _helpers2.getSelectableOptions)(options);
85
- var hasSearch = selectableOptions.length > 5 && !isMobile;
88
+ var hasSearch = selectableOptions.length > DEFAULT_MAX_VISIBLE_OPTIONS && !isMobile;
86
89
  (0, _react.useLayoutEffect)(function () {
87
90
  var handleResize = function handleResize() {
88
91
  return ref.current && setWidth(ref.current.offsetWidth);
@@ -94,14 +97,15 @@ var InputList = function InputList(_ref) {
94
97
  };
95
98
  }, []);
96
99
  (0, _react.useLayoutEffect)(function () {
97
- if (!visible || !ref.current || options.length <= 5) return;
100
+ var _menuContainer$childr, _menuContainer$childr2;
101
+ if (!visible || !ref.current || selectableOptions.length <= DEFAULT_MAX_VISIBLE_OPTIONS) return;
98
102
  var menuContainer = ref.current.querySelector('ui-menu-content > *');
99
103
  var optionsContainer = hasSearch ? menuContainer === null || menuContainer === void 0 ? void 0 : menuContainer.querySelector('[data-menu-options]') : menuContainer;
100
104
  if (!optionsContainer) return setMaxHeight(undefined);
101
- var next = Array.from(optionsContainer.children).slice(0, 5).reduce(function (sum, option) {
105
+ var next = Array.from(optionsContainer.children).slice(0, Math.min(maxVisibleOptions, selectableOptions.length)).reduce(function (sum, option) {
102
106
  return sum + option.offsetHeight;
103
107
  }, 0);
104
- setMaxHeight(next);
108
+ setMaxHeight(next + (hasSearch ? (menuContainer === null || menuContainer === void 0 ? void 0 : (_menuContainer$childr = menuContainer.children) === null || _menuContainer$childr === void 0 ? void 0 : (_menuContainer$childr2 = _menuContainer$childr[0]) === null || _menuContainer$childr2 === void 0 ? void 0 : _menuContainer$childr2.offsetHeight) || 0 : 0));
105
109
  // eslint-disable-next-line react-hooks/exhaustive-deps
106
110
  }, [ref, visible]);
107
111
  (0, _react.useEffect)(function () {
@@ -133,7 +137,7 @@ var InputList = function InputList(_ref) {
133
137
  (_optionsContainer$scr = optionsContainer.scrollTo) === null || _optionsContainer$scr === void 0 ? void 0 : _optionsContainer$scr.call(optionsContainer, {
134
138
  top: indexOption * height
135
139
  });
136
- }, [hasSearch, multiple, options, ref, value, visible]);
140
+ }, [hasSearch, maxHeight, multiple, options, ref, value, visible]);
137
141
  var handlePress = function handlePress() {
138
142
  setVisible(function (prevState) {
139
143
  return !prevState;
@@ -303,6 +307,7 @@ InputList.propTypes = {
303
307
  l10n: _propTypes["default"].shape({
304
308
  labelSearch: _propTypes["default"].string
305
309
  }),
310
+ maxVisibleOptions: _propTypes["default"].number,
306
311
  multiple: _propTypes["default"].bool,
307
312
  options: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([
308
313
  // Regular option
@@ -1 +1 @@
1
- {"version":3,"file":"InputList.js","names":["_propTypes","_interopRequireDefault","require","_react","_interopRequireWildcard","_helpers","_hooks","_primitives","_InputSelect","_Menu","_helpers2","_InputList","_InputList2","style","_InputList3","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","f","next","done","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","EMPTY","InputList","_ref","disabled","emptyOption","icon","_ref$l10n","l10n","_ref$l10n$labelSelect","labelSelected","_ref$multiple","multiple","options","_ref$sort","sort","_ref$onChange","onChange","others","_useDevice","useDevice","isMobile","ref","useRef","_useState","useState","_useState2","maxHeight","setMaxHeight","_useState3","_useState4","search","setSearch","_useState5","_useState6","visible","setVisible","_useState7","_useState8","width","setWidth","selectableOptions","getSelectableOptions","hasSearch","useLayoutEffect","handleResize","current","offsetWidth","window","addEventListener","removeEventListener","menuContainer","querySelector","optionsContainer","undefined","children","reduce","sum","option","offsetHeight","useEffect","handleClick","_ref2","target","contains","document","_optionsContainer$scr","flattenedOptions","flattenOptions","indexOption","findIndex","selectedOption","_selectedOption$getBo","getBoundingClientRect","height","scrollTo","top","handlePress","prevState","handleSelect","optionValue","item","concat","handleSelectAll","map","normalizedSearch","toLowerCase","filteredOptions","_ref3","rightElement","group","items","filteredItems","_ref4","JSON","stringify","groupMatches","Boolean","className","testId","rest","selected","v","find","caption","getCaption","createElement","View","tag","styles","container","Menu","header","row","optionSearch","Icon","ICON","SEARCH","optionSearchIcon","Header","onSearch","onSelectAll","required","b","isGroupHeader","localeCompare","Group","description","Option","isGroupItem","title","label","onClose","onPress","menu","withSearch","React","Pressable","InputSelect","inputSelect","exports","propTypes","PropTypes","bool","string","any","shape","labelSearch","arrayOf","oneOfType","isRequired","number","func"],"sources":["../../../src/components/InputList/InputList.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ICON, Icon, Pressable, View } from '../../primitives';\nimport { InputSelect } from '../InputSelect';\nimport { Menu } from '../Menu';\nimport { flattenOptions, getCaption, getSelectableOptions } from './helpers';\nimport { Group } from './InputList.Group';\nimport { Header } from './InputList.Header';\nimport * as style from './InputList.module.css';\nimport { Option } from './InputList.Option';\n\nconst EMPTY = 'EMPTY_VALUE';\n\nconst InputList = ({\n disabled,\n emptyOption,\n icon,\n l10n: { labelSelected = 'selected', ...l10n } = {},\n multiple = false,\n options,\n sort = false,\n value,\n onChange = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const ref = useRef();\n\n const [maxHeight, setMaxHeight] = useState();\n const [search, setSearch] = useState();\n const [visible, setVisible] = useState(false);\n const [width, setWidth] = useState();\n const selectableOptions = getSelectableOptions(options);\n const hasSearch = selectableOptions.length > 5 && !isMobile;\n\n useLayoutEffect(() => {\n const handleResize = () => ref.current && setWidth(ref.current.offsetWidth);\n\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n useLayoutEffect(() => {\n if (!visible || !ref.current || options.length <= 5) return;\n const menuContainer = ref.current.querySelector('ui-menu-content > *');\n const optionsContainer = hasSearch ? menuContainer?.querySelector('[data-menu-options]') : menuContainer;\n if (!optionsContainer) return setMaxHeight(undefined);\n\n const next = Array.from(optionsContainer.children)\n .slice(0, 5)\n .reduce((sum, option) => sum + option.offsetHeight, 0);\n\n setMaxHeight(next);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, visible]);\n\n useEffect(() => {\n setSearch(undefined);\n if (!visible || !ref.current) return;\n\n const handleClick = ({ target }) => !ref.current.contains(target) && setVisible(false);\n\n document.addEventListener('click', handleClick, true);\n\n return () => document.removeEventListener('click', handleClick, true);\n }, [ref, visible]);\n\n useEffect(() => {\n if (multiple || !value || !ref.current || !visible) return;\n\n const menuContainer = ref.current.querySelector('ui-menu-content > *');\n const optionsContainer = hasSearch ? menuContainer?.querySelector('[data-menu-options]') : menuContainer;\n if (!optionsContainer) return;\n\n const flattenedOptions = flattenOptions(options);\n const indexOption = flattenedOptions.findIndex((option) => option.value === value);\n const selectedOption = optionsContainer.children[indexOption];\n if (!selectedOption) return;\n\n const { height } = selectedOption.getBoundingClientRect();\n\n optionsContainer.scrollTo?.({ top: indexOption * height });\n }, [hasSearch, multiple, options, ref, value, visible]);\n\n const handlePress = () => {\n setVisible((prevState) => !prevState);\n };\n\n const handleSelect = (optionValue) => {\n if (!optionValue || optionValue === EMPTY) {\n optionValue === EMPTY && onChange(undefined);\n return setVisible(false);\n }\n\n if (!multiple) {\n onChange(optionValue);\n setVisible(false);\n } else {\n onChange(value.includes(optionValue) ? value.filter((item) => item !== optionValue) : [...value, optionValue]);\n }\n };\n\n const handleSelectAll = () => {\n onChange(value.length === selectableOptions.length ? [] : selectableOptions.map((option) => option.value));\n };\n\n const normalizedSearch = search?.toLowerCase();\n const filteredOptions = !search\n ? options\n : options\n // eslint-disable-next-line no-unused-vars\n .map(({ rightElement, ...option }) => {\n if (option.group && option.items) {\n // eslint-disable-next-line no-unused-vars\n const filteredItems = option.items.filter(({ rightElement, ...item }) =>\n JSON.stringify(item).toLowerCase().includes(normalizedSearch),\n );\n const groupMatches = JSON.stringify({ ...option, items: undefined })\n .toLowerCase()\n .includes(normalizedSearch);\n\n if (filteredItems.length > 0 || groupMatches) {\n return {\n ...option,\n rightElement,\n items: filteredItems.length > 0 ? filteredItems : option.items,\n };\n }\n return undefined;\n } else {\n return JSON.stringify(option).toLowerCase().includes(normalizedSearch)\n ? { ...option, rightElement }\n : undefined;\n }\n })\n .filter(Boolean);\n\n const { className, testId, ...rest } = others;\n const selected = value\n ? multiple\n ? value.map((v) => selectableOptions.find((option) => option.value === v))\n : selectableOptions.find((option) => option.value === value)\n : undefined;\n const caption = getCaption({ emptyOption, multiple, labelSelected, selected });\n\n return (\n <View ref={ref} tag=\"input-list\" className={styles(style.container, className)} testId={testId}>\n <Menu\n disabled={disabled}\n header={\n hasSearch ? (\n <View row className={style.optionSearch} style={{ width }}>\n <Icon value={ICON.SEARCH} className={style.optionSearchIcon} />\n <Header\n {...{ l10n, multiple, options: selectableOptions, search, value, visible }}\n onSearch={setSearch}\n onSelectAll={handleSelectAll}\n />\n </View>\n ) : undefined\n }\n options={[\n emptyOption && !multiple && !others.required && selected ? { name: emptyOption, value: EMPTY } : undefined,\n ...flattenOptions(filteredOptions).sort((a, b) => {\n if (!sort) return 0;\n if (a.isGroupHeader || b.isGroupHeader) return 0;\n return (a.name || '').localeCompare(b.name || '');\n }),\n ]\n .filter(Boolean)\n .map((option) => {\n if (option.isGroupHeader) {\n return {\n children: <Group {...{ ...option, selected: value === option.value }} />,\n value: option.value,\n };\n } else {\n const { description, icon, name, rightElement, value } = option;\n return {\n children: (\n <Option\n {...{\n description,\n disabled,\n icon,\n multiple,\n name,\n rightElement,\n selected,\n value,\n isGroupItem: option.isGroupItem,\n }}\n />\n ),\n value,\n };\n }\n })}\n selected={value}\n title={others.label}\n top={others.top}\n visible={visible}\n onClose={() => setVisible(false)}\n onPress={handleSelect}\n className={styles(style.menu, multiple && style.multiple, hasSearch && style.withSearch)}\n style={{ maxHeight, width }}\n testId={`${testId}-menu`}\n >\n {React.createElement(\n !disabled || (disabled && multiple) ? Pressable : View,\n {\n ...(!disabled || (disabled && multiple)\n ? {\n onPress: handlePress,\n testId: `${testId}-pressable`,\n }\n : undefined),\n style: { width },\n },\n <InputSelect\n {...rest}\n disabled={disabled}\n icon={selected?.icon || icon}\n options={[caption]}\n value={caption}\n className={style.inputSelect}\n />,\n )}\n </Menu>\n </View>\n );\n};\n\nInputList.propTypes = {\n disabled: PropTypes.bool,\n emptyOption: PropTypes.string,\n icon: PropTypes.any,\n l10n: PropTypes.shape({\n labelSearch: PropTypes.string,\n }),\n multiple: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.oneOfType([\n // Regular option\n PropTypes.shape({\n description: PropTypes.string,\n icon: PropTypes.any,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n // Group option\n PropTypes.shape({\n description: PropTypes.string,\n group: PropTypes.string.isRequired,\n icon: PropTypes.any,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n description: PropTypes.string,\n icon: PropTypes.any,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n ).isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n ]),\n ),\n sort: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n onChange: PropTypes.func,\n};\n\nexport { InputList };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InputList.js","names":["_propTypes","_interopRequireDefault","require","_react","_interopRequireWildcard","_helpers","_hooks","_primitives","_InputSelect","_Menu","_helpers2","_InputList","_InputList2","style","_InputList3","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","f","next","done","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","EMPTY","DEFAULT_MAX_VISIBLE_OPTIONS","InputList","_ref","disabled","emptyOption","icon","_ref$l10n","l10n","_ref$l10n$labelSelect","labelSelected","_ref$maxVisibleOption","maxVisibleOptions","_ref$multiple","multiple","options","_ref$sort","sort","_ref$onChange","onChange","others","_useDevice","useDevice","isMobile","ref","useRef","_useState","useState","_useState2","maxHeight","setMaxHeight","_useState3","_useState4","search","setSearch","_useState5","_useState6","visible","setVisible","_useState7","_useState8","width","setWidth","selectableOptions","getSelectableOptions","hasSearch","useLayoutEffect","handleResize","current","offsetWidth","window","addEventListener","removeEventListener","_menuContainer$childr","_menuContainer$childr2","menuContainer","querySelector","optionsContainer","undefined","children","Math","min","reduce","sum","option","offsetHeight","useEffect","handleClick","_ref2","target","contains","document","_optionsContainer$scr","flattenedOptions","flattenOptions","indexOption","findIndex","selectedOption","_selectedOption$getBo","getBoundingClientRect","height","scrollTo","top","handlePress","prevState","handleSelect","optionValue","item","concat","handleSelectAll","map","normalizedSearch","toLowerCase","filteredOptions","_ref3","rightElement","group","items","filteredItems","_ref4","JSON","stringify","groupMatches","Boolean","className","testId","rest","selected","v","find","caption","getCaption","createElement","View","tag","styles","container","Menu","header","row","optionSearch","Icon","ICON","SEARCH","optionSearchIcon","Header","onSearch","onSelectAll","required","b","isGroupHeader","localeCompare","Group","description","Option","isGroupItem","title","label","onClose","onPress","menu","withSearch","React","Pressable","InputSelect","inputSelect","exports","propTypes","PropTypes","bool","string","any","shape","labelSearch","number","arrayOf","oneOfType","isRequired","func"],"sources":["../../../src/components/InputList/InputList.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ICON, Icon, Pressable, View } from '../../primitives';\nimport { InputSelect } from '../InputSelect';\nimport { Menu } from '../Menu';\nimport { flattenOptions, getCaption, getSelectableOptions } from './helpers';\nimport { Group } from './InputList.Group';\nimport { Header } from './InputList.Header';\nimport * as style from './InputList.module.css';\nimport { Option } from './InputList.Option';\n\nconst EMPTY = 'EMPTY_VALUE';\nconst DEFAULT_MAX_VISIBLE_OPTIONS = 5;\n\nconst InputList = ({\n disabled,\n emptyOption,\n icon,\n l10n: { labelSelected = 'selected', ...l10n } = {},\n maxVisibleOptions = DEFAULT_MAX_VISIBLE_OPTIONS,\n multiple = false,\n options,\n sort = false,\n value,\n onChange = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const ref = useRef();\n\n const [maxHeight, setMaxHeight] = useState();\n const [search, setSearch] = useState();\n const [visible, setVisible] = useState(false);\n const [width, setWidth] = useState();\n const selectableOptions = getSelectableOptions(options);\n const hasSearch = selectableOptions.length > DEFAULT_MAX_VISIBLE_OPTIONS && !isMobile;\n\n useLayoutEffect(() => {\n const handleResize = () => ref.current && setWidth(ref.current.offsetWidth);\n\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n useLayoutEffect(() => {\n if (!visible || !ref.current || selectableOptions.length <= DEFAULT_MAX_VISIBLE_OPTIONS) return;\n const menuContainer = ref.current.querySelector('ui-menu-content > *');\n const optionsContainer = hasSearch ? menuContainer?.querySelector('[data-menu-options]') : menuContainer;\n if (!optionsContainer) return setMaxHeight(undefined);\n\n const next = Array.from(optionsContainer.children)\n .slice(0, Math.min(maxVisibleOptions, selectableOptions.length))\n .reduce((sum, option) => sum + option.offsetHeight, 0);\n\n setMaxHeight(next + (hasSearch ? menuContainer?.children?.[0]?.offsetHeight || 0 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, visible]);\n\n useEffect(() => {\n setSearch(undefined);\n if (!visible || !ref.current) return;\n\n const handleClick = ({ target }) => !ref.current.contains(target) && setVisible(false);\n\n document.addEventListener('click', handleClick, true);\n\n return () => document.removeEventListener('click', handleClick, true);\n }, [ref, visible]);\n\n useEffect(() => {\n if (multiple || !value || !ref.current || !visible) return;\n\n const menuContainer = ref.current.querySelector('ui-menu-content > *');\n const optionsContainer = hasSearch ? menuContainer?.querySelector('[data-menu-options]') : menuContainer;\n if (!optionsContainer) return;\n\n const flattenedOptions = flattenOptions(options);\n const indexOption = flattenedOptions.findIndex((option) => option.value === value);\n const selectedOption = optionsContainer.children[indexOption];\n if (!selectedOption) return;\n\n const { height } = selectedOption.getBoundingClientRect();\n\n optionsContainer.scrollTo?.({ top: indexOption * height });\n }, [hasSearch, maxHeight, multiple, options, ref, value, visible]);\n\n const handlePress = () => {\n setVisible((prevState) => !prevState);\n };\n\n const handleSelect = (optionValue) => {\n if (!optionValue || optionValue === EMPTY) {\n optionValue === EMPTY && onChange(undefined);\n return setVisible(false);\n }\n\n if (!multiple) {\n onChange(optionValue);\n setVisible(false);\n } else {\n onChange(value.includes(optionValue) ? value.filter((item) => item !== optionValue) : [...value, optionValue]);\n }\n };\n\n const handleSelectAll = () => {\n onChange(value.length === selectableOptions.length ? [] : selectableOptions.map((option) => option.value));\n };\n\n const normalizedSearch = search?.toLowerCase();\n const filteredOptions = !search\n ? options\n : options\n // eslint-disable-next-line no-unused-vars\n .map(({ rightElement, ...option }) => {\n if (option.group && option.items) {\n // eslint-disable-next-line no-unused-vars\n const filteredItems = option.items.filter(({ rightElement, ...item }) =>\n JSON.stringify(item).toLowerCase().includes(normalizedSearch),\n );\n const groupMatches = JSON.stringify({ ...option, items: undefined })\n .toLowerCase()\n .includes(normalizedSearch);\n\n if (filteredItems.length > 0 || groupMatches) {\n return {\n ...option,\n rightElement,\n items: filteredItems.length > 0 ? filteredItems : option.items,\n };\n }\n return undefined;\n } else {\n return JSON.stringify(option).toLowerCase().includes(normalizedSearch)\n ? { ...option, rightElement }\n : undefined;\n }\n })\n .filter(Boolean);\n\n const { className, testId, ...rest } = others;\n const selected = value\n ? multiple\n ? value.map((v) => selectableOptions.find((option) => option.value === v))\n : selectableOptions.find((option) => option.value === value)\n : undefined;\n const caption = getCaption({ emptyOption, multiple, labelSelected, selected });\n\n return (\n <View ref={ref} tag=\"input-list\" className={styles(style.container, className)} testId={testId}>\n <Menu\n disabled={disabled}\n header={\n hasSearch ? (\n <View row className={style.optionSearch} style={{ width }}>\n <Icon value={ICON.SEARCH} className={style.optionSearchIcon} />\n <Header\n {...{ l10n, multiple, options: selectableOptions, search, value, visible }}\n onSearch={setSearch}\n onSelectAll={handleSelectAll}\n />\n </View>\n ) : undefined\n }\n options={[\n emptyOption && !multiple && !others.required && selected ? { name: emptyOption, value: EMPTY } : undefined,\n ...flattenOptions(filteredOptions).sort((a, b) => {\n if (!sort) return 0;\n if (a.isGroupHeader || b.isGroupHeader) return 0;\n return (a.name || '').localeCompare(b.name || '');\n }),\n ]\n .filter(Boolean)\n .map((option) => {\n if (option.isGroupHeader) {\n return {\n children: <Group {...{ ...option, selected: value === option.value }} />,\n value: option.value,\n };\n } else {\n const { description, icon, name, rightElement, value } = option;\n return {\n children: (\n <Option\n {...{\n description,\n disabled,\n icon,\n multiple,\n name,\n rightElement,\n selected,\n value,\n isGroupItem: option.isGroupItem,\n }}\n />\n ),\n value,\n };\n }\n })}\n selected={value}\n title={others.label}\n top={others.top}\n visible={visible}\n onClose={() => setVisible(false)}\n onPress={handleSelect}\n className={styles(style.menu, multiple && style.multiple, hasSearch && style.withSearch)}\n style={{ maxHeight, width }}\n testId={`${testId}-menu`}\n >\n {React.createElement(\n !disabled || (disabled && multiple) ? Pressable : View,\n {\n ...(!disabled || (disabled && multiple)\n ? {\n onPress: handlePress,\n testId: `${testId}-pressable`,\n }\n : undefined),\n style: { width },\n },\n <InputSelect\n {...rest}\n disabled={disabled}\n icon={selected?.icon || icon}\n options={[caption]}\n value={caption}\n className={style.inputSelect}\n />,\n )}\n </Menu>\n </View>\n );\n};\n\nInputList.propTypes = {\n disabled: PropTypes.bool,\n emptyOption: PropTypes.string,\n icon: PropTypes.any,\n l10n: PropTypes.shape({\n labelSearch: PropTypes.string,\n }),\n maxVisibleOptions: PropTypes.number,\n multiple: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.oneOfType([\n // Regular option\n PropTypes.shape({\n description: PropTypes.string,\n icon: PropTypes.any,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n // Group option\n PropTypes.shape({\n description: PropTypes.string,\n group: PropTypes.string.isRequired,\n icon: PropTypes.any,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n description: PropTypes.string,\n icon: PropTypes.any,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n ).isRequired,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n }),\n ]),\n ),\n sort: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n onChange: PropTypes.func,\n};\n\nexport { InputList };\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAT,uBAAA,CAAAF,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAA4C,IAAAa,SAAA;EAAAC,UAAA;EAAAC,UAAA;EAAAC,UAAA;EAAAC,UAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,sBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,cAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAA5B,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,gBAAAA,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,SAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,eAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAAzB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAe,IAAA,CAAA1B,CAAA,OAAAW,MAAA,CAAAgB,qBAAA,QAAAC,CAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAA3B,CAAA,GAAAE,CAAA,KAAA0B,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAA3B,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAA4B,UAAA,OAAA3B,CAAA,CAAA4B,IAAA,CAAAP,KAAA,CAAArB,CAAA,EAAAyB,CAAA,YAAAzB,CAAA;AAAA,SAAA6B,cAAAhC,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAoB,SAAA,CAAAC,MAAA,EAAArB,CAAA,UAAAC,CAAA,WAAAmB,SAAA,CAAApB,CAAA,IAAAoB,SAAA,CAAApB,CAAA,QAAAA,CAAA,OAAAuB,OAAA,CAAAd,MAAA,CAAAR,CAAA,OAAA8B,OAAA,WAAA/B,CAAA,IAAAgC,eAAA,CAAAlC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAApC,CAAA,EAAAW,MAAA,CAAAwB,yBAAA,CAAAhC,CAAA,KAAAsB,OAAA,CAAAd,MAAA,CAAAR,CAAA,GAAA8B,OAAA,WAAA/B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAkC,gBAAAlC,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmC,cAAA,CAAAnC,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAoC,KAAA,EAAAnC,CAAA,EAAA2B,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAxC,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAqC,eAAAlC,CAAA,QAAAc,CAAA,GAAAwB,YAAA,CAAAtC,CAAA,gCAAAE,OAAA,CAAAY,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAwB,aAAAtC,CAAA,EAAAD,CAAA,oBAAAG,OAAA,CAAAF,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuC,MAAA,CAAAC,WAAA,kBAAA3C,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,gCAAAG,OAAA,CAAAY,CAAA,UAAAA,CAAA,YAAA2B,SAAA,yEAAA1C,CAAA,GAAA2C,MAAA,GAAAC,MAAA,EAAA3C,CAAA;AAAA,SAAA4C,mBAAA7C,CAAA,WAAA8C,kBAAA,CAAA9C,CAAA,KAAA+C,gBAAA,CAAA/C,CAAA,KAAAgD,2BAAA,CAAAhD,CAAA,KAAAiD,kBAAA;AAAA,SAAAA,mBAAA,cAAAP,SAAA;AAAA,SAAAK,iBAAA/C,CAAA,8BAAAwC,MAAA,YAAAxC,CAAA,CAAAwC,MAAA,CAAAU,QAAA,aAAAlD,CAAA,uBAAAmD,KAAA,CAAAC,IAAA,CAAApD,CAAA;AAAA,SAAA8C,mBAAA9C,CAAA,QAAAmD,KAAA,CAAAE,OAAA,CAAArD,CAAA,UAAAsD,iBAAA,CAAAtD,CAAA;AAAA,SAAAuD,eAAAvD,CAAA,EAAAF,CAAA,WAAA0D,eAAA,CAAAxD,CAAA,KAAAyD,qBAAA,CAAAzD,CAAA,EAAAF,CAAA,KAAAkD,2BAAA,CAAAhD,CAAA,EAAAF,CAAA,KAAA4D,gBAAA;AAAA,SAAAA,iBAAA,cAAAhB,SAAA;AAAA,SAAAM,4BAAAhD,CAAA,EAAAQ,CAAA,QAAAR,CAAA,2BAAAA,CAAA,SAAAsD,iBAAA,CAAAtD,CAAA,EAAAQ,CAAA,OAAAP,CAAA,MAAA0D,QAAA,CAAA7C,IAAA,CAAAd,CAAA,EAAA4D,KAAA,6BAAA3D,CAAA,IAAAD,CAAA,CAAA6D,WAAA,KAAA5D,CAAA,GAAAD,CAAA,CAAA6D,WAAA,CAAAC,IAAA,aAAA7D,CAAA,cAAAA,CAAA,GAAAkD,KAAA,CAAAC,IAAA,CAAApD,CAAA,oBAAAC,CAAA,+CAAA8D,IAAA,CAAA9D,CAAA,IAAAqD,iBAAA,CAAAtD,CAAA,EAAAQ,CAAA;AAAA,SAAA8C,kBAAAtD,CAAA,EAAAQ,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAR,CAAA,CAAAqB,MAAA,MAAAb,CAAA,GAAAR,CAAA,CAAAqB,MAAA,YAAAvB,CAAA,MAAAQ,CAAA,GAAA6C,KAAA,CAAA3C,CAAA,GAAAV,CAAA,GAAAU,CAAA,EAAAV,CAAA,MAAAQ,CAAA,CAAAR,CAAA,IAAAE,CAAA,CAAAF,CAAA,YAAAQ,CAAA;AAAA,SAAAmD,sBAAAzD,CAAA,EAAAgE,CAAA,QAAA/D,CAAA,WAAAD,CAAA,gCAAAwC,MAAA,IAAAxC,CAAA,CAAAwC,MAAA,CAAAU,QAAA,KAAAlD,CAAA,4BAAAC,CAAA,QAAAH,CAAA,EAAAQ,CAAA,EAAAS,CAAA,EAAAH,CAAA,EAAAJ,CAAA,OAAAyD,CAAA,OAAAvC,CAAA,iBAAAX,CAAA,IAAAd,CAAA,GAAAA,CAAA,CAAAa,IAAA,CAAAd,CAAA,GAAAkE,IAAA,QAAAF,CAAA,QAAAvD,MAAA,CAAAR,CAAA,MAAAA,CAAA,UAAAgE,CAAA,uBAAAA,CAAA,IAAAnE,CAAA,GAAAiB,CAAA,CAAAD,IAAA,CAAAb,CAAA,GAAAkE,IAAA,MAAA3D,CAAA,CAAAqB,IAAA,CAAA/B,CAAA,CAAAsC,KAAA,GAAA5B,CAAA,CAAAa,MAAA,KAAA2C,CAAA,GAAAC,CAAA,sBAAAjE,CAAA,IAAA0B,CAAA,OAAApB,CAAA,GAAAN,CAAA,yBAAAiE,CAAA,YAAAhE,CAAA,eAAAW,CAAA,GAAAX,CAAA,cAAAQ,MAAA,CAAAG,CAAA,MAAAA,CAAA,2BAAAc,CAAA,QAAApB,CAAA,aAAAE,CAAA;AAAA,SAAAgD,gBAAAxD,CAAA,QAAAmD,KAAA,CAAAE,OAAA,CAAArD,CAAA,UAAAA,CAAA;AAAA,SAAAoE,yBAAAtE,CAAA,EAAAG,CAAA,gBAAAH,CAAA,iBAAA4B,CAAA,EAAA1B,CAAA,EAAAe,CAAA,GAAAsD,6BAAA,CAAAvE,CAAA,EAAAG,CAAA,OAAAQ,MAAA,CAAAgB,qBAAA,QAAA6C,CAAA,GAAA7D,MAAA,CAAAgB,qBAAA,CAAA3B,CAAA,QAAAE,CAAA,MAAAA,CAAA,GAAAsE,CAAA,CAAAjD,MAAA,EAAArB,CAAA,MAAA0B,CAAA,GAAA4C,CAAA,CAAAtE,CAAA,GAAAC,CAAA,CAAAsE,QAAA,CAAA7C,CAAA,QAAA8C,oBAAA,CAAA1D,IAAA,CAAAhB,CAAA,EAAA4B,CAAA,MAAAX,CAAA,CAAAW,CAAA,IAAA5B,CAAA,CAAA4B,CAAA,eAAAX,CAAA;AAAA,SAAAsD,8BAAArE,CAAA,EAAAF,CAAA,gBAAAE,CAAA,iBAAAC,CAAA,gBAAAK,CAAA,IAAAN,CAAA,WAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAM,CAAA,SAAAR,CAAA,CAAAyE,QAAA,CAAAjE,CAAA,aAAAL,CAAA,CAAAK,CAAA,IAAAN,CAAA,CAAAM,CAAA,cAAAL,CAAA;AAE5C,IAAMwE,KAAK,GAAG,aAAa;AAC3B,IAAMC,2BAA2B,GAAG,CAAC;AAErC,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAYT;EAAA,IAXJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAAC,SAAA,GAAAJ,IAAA,CACJK,IAAI;EAAAD,SAAA,GAAAA,SAAA,cAA4C,CAAC,CAAC,GAAAA,SAAA;EAAA,IAAAE,qBAAA,GAAAF,SAAA,CAA1CG,aAAa;IAAbA,aAAa,GAAAD,qBAAA,cAAG,UAAU,GAAAA,qBAAA;IAAKD,IAAI,GAAAb,wBAAA,CAAAY,SAAA,EAAAxF,SAAA;IAAA4F,qBAAA,GAAAR,IAAA,CAC3CS,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAGV,2BAA2B,GAAAU,qBAAA;IAAAE,aAAA,GAAAV,IAAA,CAC/CW,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,OAAO,GAAAZ,IAAA,CAAPY,OAAO;IAAAC,SAAA,GAAAb,IAAA,CACPc,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;IACZrD,KAAK,GAAAwC,IAAA,CAALxC,KAAK;IAAAuD,aAAA,GAAAf,IAAA,CACLgB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,aAAA;IAChBE,MAAM,GAAAzB,wBAAA,CAAAQ,IAAA,EAAAnF,UAAA;EAET,IAAAqG,UAAA,GAAqB,IAAAC,gBAAS,EAAC,CAAC;IAAxBC,QAAQ,GAAAF,UAAA,CAARE,QAAQ;EAChB,IAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,CAAC;EAEpB,IAAAC,SAAA,GAAkC,IAAAC,eAAQ,EAAC,CAAC;IAAAC,UAAA,GAAA9C,cAAA,CAAA4C,SAAA;IAArCG,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B,IAAAG,UAAA,GAA4B,IAAAJ,eAAQ,EAAC,CAAC;IAAAK,UAAA,GAAAlD,cAAA,CAAAiD,UAAA;IAA/BE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GAA8B,IAAAR,eAAQ,EAAC,KAAK,CAAC;IAAAS,UAAA,GAAAtD,cAAA,CAAAqD,UAAA;IAAtCE,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAAG,UAAA,GAA0B,IAAAZ,eAAQ,EAAC,CAAC;IAAAa,UAAA,GAAA1D,cAAA,CAAAyD,UAAA;IAA7BE,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAMG,iBAAiB,GAAG,IAAAC,8BAAoB,EAAC7B,OAAO,CAAC;EACvD,IAAM8B,SAAS,GAAGF,iBAAiB,CAAC/F,MAAM,GAAGqD,2BAA2B,IAAI,CAACsB,QAAQ;EAErF,IAAAuB,sBAAe,EAAC,YAAM;IACpB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA;MAAA,OAASvB,GAAG,CAACwB,OAAO,IAAIN,QAAQ,CAAClB,GAAG,CAACwB,OAAO,CAACC,WAAW,CAAC;IAAA;IAE3EF,YAAY,CAAC,CAAC;IACdG,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEJ,YAAY,CAAC;IAE/C,OAAO;MAAA,OAAMG,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEL,YAAY,CAAC;IAAA;EACjE,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,sBAAe,EAAC,YAAM;IAAA,IAAAO,qBAAA,EAAAC,sBAAA;IACpB,IAAI,CAACjB,OAAO,IAAI,CAACb,GAAG,CAACwB,OAAO,IAAIL,iBAAiB,CAAC/F,MAAM,IAAIqD,2BAA2B,EAAE;IACzF,IAAMsD,aAAa,GAAG/B,GAAG,CAACwB,OAAO,CAACQ,aAAa,CAAC,qBAAqB,CAAC;IACtE,IAAMC,gBAAgB,GAAGZ,SAAS,GAAGU,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,aAAa,CAAC,qBAAqB,CAAC,GAAGD,aAAa;IACxG,IAAI,CAACE,gBAAgB,EAAE,OAAO3B,YAAY,CAAC4B,SAAS,CAAC;IAErD,IAAMjE,IAAI,GAAGf,KAAK,CAACC,IAAI,CAAC8E,gBAAgB,CAACE,QAAQ,CAAC,CAC/CxE,KAAK,CAAC,CAAC,EAAEyE,IAAI,CAACC,GAAG,CAACjD,iBAAiB,EAAE+B,iBAAiB,CAAC/F,MAAM,CAAC,CAAC,CAC/DkH,MAAM,CAAC,UAACC,GAAG,EAAEC,MAAM;MAAA,OAAKD,GAAG,GAAGC,MAAM,CAACC,YAAY;IAAA,GAAE,CAAC,CAAC;IAExDnC,YAAY,CAACrC,IAAI,IAAIoD,SAAS,GAAG,CAAAU,aAAa,aAAbA,aAAa,wBAAAF,qBAAA,GAAbE,aAAa,CAAEI,QAAQ,cAAAN,qBAAA,wBAAAC,sBAAA,GAAvBD,qBAAA,CAA0B,CAAC,CAAC,cAAAC,sBAAA,uBAA5BA,sBAAA,CAA8BW,YAAY,KAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF;EACF,CAAC,EAAE,CAACzC,GAAG,EAAEa,OAAO,CAAC,CAAC;EAElB,IAAA6B,gBAAS,EAAC,YAAM;IACdhC,SAAS,CAACwB,SAAS,CAAC;IACpB,IAAI,CAACrB,OAAO,IAAI,CAACb,GAAG,CAACwB,OAAO,EAAE;IAE9B,IAAMmB,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA;MAAA,IAAMC,MAAM,GAAAD,KAAA,CAANC,MAAM;MAAA,OAAO,CAAC7C,GAAG,CAACwB,OAAO,CAACsB,QAAQ,CAACD,MAAM,CAAC,IAAI/B,UAAU,CAAC,KAAK,CAAC;IAAA;IAEtFiC,QAAQ,CAACpB,gBAAgB,CAAC,OAAO,EAAEgB,WAAW,EAAE,IAAI,CAAC;IAErD,OAAO;MAAA,OAAMI,QAAQ,CAACnB,mBAAmB,CAAC,OAAO,EAAEe,WAAW,EAAE,IAAI,CAAC;IAAA;EACvE,CAAC,EAAE,CAAC3C,GAAG,EAAEa,OAAO,CAAC,CAAC;EAElB,IAAA6B,gBAAS,EAAC,YAAM;IAAA,IAAAM,qBAAA;IACd,IAAI1D,QAAQ,IAAI,CAACnD,KAAK,IAAI,CAAC6D,GAAG,CAACwB,OAAO,IAAI,CAACX,OAAO,EAAE;IAEpD,IAAMkB,aAAa,GAAG/B,GAAG,CAACwB,OAAO,CAACQ,aAAa,CAAC,qBAAqB,CAAC;IACtE,IAAMC,gBAAgB,GAAGZ,SAAS,GAAGU,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,aAAa,CAAC,qBAAqB,CAAC,GAAGD,aAAa;IACxG,IAAI,CAACE,gBAAgB,EAAE;IAEvB,IAAMgB,gBAAgB,GAAG,IAAAC,wBAAc,EAAC3D,OAAO,CAAC;IAChD,IAAM4D,WAAW,GAAGF,gBAAgB,CAACG,SAAS,CAAC,UAACZ,MAAM;MAAA,OAAKA,MAAM,CAACrG,KAAK,KAAKA,KAAK;IAAA,EAAC;IAClF,IAAMkH,cAAc,GAAGpB,gBAAgB,CAACE,QAAQ,CAACgB,WAAW,CAAC;IAC7D,IAAI,CAACE,cAAc,EAAE;IAErB,IAAAC,qBAAA,GAAmBD,cAAc,CAACE,qBAAqB,CAAC,CAAC;MAAjDC,MAAM,GAAAF,qBAAA,CAANE,MAAM;IAEd,CAAAR,qBAAA,GAAAf,gBAAgB,CAACwB,QAAQ,cAAAT,qBAAA,uBAAzBA,qBAAA,CAAAnI,IAAA,CAAAoH,gBAAgB,EAAY;MAAEyB,GAAG,EAAEP,WAAW,GAAGK;IAAO,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACnC,SAAS,EAAEhB,SAAS,EAAEf,QAAQ,EAAEC,OAAO,EAAES,GAAG,EAAE7D,KAAK,EAAE0E,OAAO,CAAC,CAAC;EAElE,IAAM8C,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB7C,UAAU,CAAC,UAAC8C,SAAS;MAAA,OAAK,CAACA,SAAS;IAAA,EAAC;EACvC,CAAC;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,WAAW,EAAK;IACpC,IAAI,CAACA,WAAW,IAAIA,WAAW,KAAKtF,KAAK,EAAE;MACzCsF,WAAW,KAAKtF,KAAK,IAAImB,QAAQ,CAACuC,SAAS,CAAC;MAC5C,OAAOpB,UAAU,CAAC,KAAK,CAAC;IAC1B;IAEA,IAAI,CAACxB,QAAQ,EAAE;MACbK,QAAQ,CAACmE,WAAW,CAAC;MACrBhD,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,MAAM;MACLnB,QAAQ,CAACxD,KAAK,CAACmC,QAAQ,CAACwF,WAAW,CAAC,GAAG3H,KAAK,CAACT,MAAM,CAAC,UAACqI,IAAI;QAAA,OAAKA,IAAI,KAAKD,WAAW;MAAA,EAAC,MAAAE,MAAA,CAAApH,kBAAA,CAAOT,KAAK,IAAE2H,WAAW,EAAC,CAAC;IAChH;EACF,CAAC;EAED,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;IAC5BtE,QAAQ,CAACxD,KAAK,CAACf,MAAM,KAAK+F,iBAAiB,CAAC/F,MAAM,GAAG,EAAE,GAAG+F,iBAAiB,CAAC+C,GAAG,CAAC,UAAC1B,MAAM;MAAA,OAAKA,MAAM,CAACrG,KAAK;IAAA,EAAC,CAAC;EAC5G,CAAC;EAED,IAAMgI,gBAAgB,GAAG1D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE2D,WAAW,CAAC,CAAC;EAC9C,IAAMC,eAAe,GAAG,CAAC5D,MAAM,GAC3BlB,OAAO,GACPA;EACE;EAAA,CACC2E,GAAG,CAAC,UAAAI,KAAA,EAAiC;IAAA,IAA9BC,YAAY,GAAAD,KAAA,CAAZC,YAAY;MAAK/B,MAAM,GAAArE,wBAAA,CAAAmG,KAAA,EAAA7K,UAAA;IAC7B,IAAI+I,MAAM,CAACgC,KAAK,IAAIhC,MAAM,CAACiC,KAAK,EAAE;MAChC;MACA,IAAMC,aAAa,GAAGlC,MAAM,CAACiC,KAAK,CAAC/I,MAAM,CAAC,UAAAiJ,KAAA;QAAA,IAAGJ,YAAY,GAAAI,KAAA,CAAZJ,YAAY;UAAKR,IAAI,GAAA5F,wBAAA,CAAAwG,KAAA,EAAAjL,UAAA;QAAA,OAChEkL,IAAI,CAACC,SAAS,CAACd,IAAI,CAAC,CAACK,WAAW,CAAC,CAAC,CAAC9F,QAAQ,CAAC6F,gBAAgB,CAAC;MAAA,CAC/D,CAAC;MACD,IAAMW,YAAY,GAAGF,IAAI,CAACC,SAAS,CAAAhJ,aAAA,CAAAA,aAAA,KAAM2G,MAAM;QAAEiC,KAAK,EAAEvC;MAAS,EAAE,CAAC,CACjEkC,WAAW,CAAC,CAAC,CACb9F,QAAQ,CAAC6F,gBAAgB,CAAC;MAE7B,IAAIO,aAAa,CAACtJ,MAAM,GAAG,CAAC,IAAI0J,YAAY,EAAE;QAC5C,OAAAjJ,aAAA,CAAAA,aAAA,KACK2G,MAAM;UACT+B,YAAY,EAAZA,YAAY;UACZE,KAAK,EAAEC,aAAa,CAACtJ,MAAM,GAAG,CAAC,GAAGsJ,aAAa,GAAGlC,MAAM,CAACiC;QAAK;MAElE;MACA,OAAOvC,SAAS;IAClB,CAAC,MAAM;MACL,OAAO0C,IAAI,CAACC,SAAS,CAACrC,MAAM,CAAC,CAAC4B,WAAW,CAAC,CAAC,CAAC9F,QAAQ,CAAC6F,gBAAgB,CAAC,GAAAtI,aAAA,CAAAA,aAAA,KAC7D2G,MAAM;QAAE+B,YAAY,EAAZA;MAAY,KACzBrC,SAAS;IACf;EACF,CAAC,CAAC,CACDxG,MAAM,CAACqJ,OAAO,CAAC;EAEtB,IAAQC,SAAS,GAAsBpF,MAAM,CAArCoF,SAAS;IAAEC,MAAM,GAAcrF,MAAM,CAA1BqF,MAAM;IAAKC,IAAI,GAAA/G,wBAAA,CAAKyB,MAAM,EAAAjG,UAAA;EAC7C,IAAMwL,QAAQ,GAAGhJ,KAAK,GAClBmD,QAAQ,GACNnD,KAAK,CAAC+H,GAAG,CAAC,UAACkB,CAAC;IAAA,OAAKjE,iBAAiB,CAACkE,IAAI,CAAC,UAAC7C,MAAM;MAAA,OAAKA,MAAM,CAACrG,KAAK,KAAKiJ,CAAC;IAAA,EAAC;EAAA,EAAC,GACxEjE,iBAAiB,CAACkE,IAAI,CAAC,UAAC7C,MAAM;IAAA,OAAKA,MAAM,CAACrG,KAAK,KAAKA,KAAK;EAAA,EAAC,GAC5D+F,SAAS;EACb,IAAMoD,OAAO,GAAG,IAAAC,oBAAU,EAAC;IAAE1G,WAAW,EAAXA,WAAW;IAAES,QAAQ,EAARA,QAAQ;IAAEJ,aAAa,EAAbA,aAAa;IAAEiG,QAAQ,EAARA;EAAS,CAAC,CAAC;EAE9E,oBACExM,MAAA,YAAA6M,aAAA,CAACzM,WAAA,CAAA0M,IAAI;IAACzF,GAAG,EAAEA,GAAI;IAAC0F,GAAG,EAAC,YAAY;IAACV,SAAS,EAAE,IAAAW,eAAM,EAACtM,KAAK,CAACuM,SAAS,EAAEZ,SAAS,CAAE;IAACC,MAAM,EAAEA;EAAO,gBAC7FtM,MAAA,YAAA6M,aAAA,CAACvM,KAAA,CAAA4M,IAAI;IACHjH,QAAQ,EAAEA,QAAS;IACnBkH,MAAM,EACJzE,SAAS,gBACP1I,MAAA,YAAA6M,aAAA,CAACzM,WAAA,CAAA0M,IAAI;MAACM,GAAG;MAACf,SAAS,EAAE3L,KAAK,CAAC2M,YAAa;MAAC3M,KAAK,EAAE;QAAE4H,KAAK,EAALA;MAAM;IAAE,gBACxDtI,MAAA,YAAA6M,aAAA,CAACzM,WAAA,CAAAkN,IAAI;MAAC9J,KAAK,EAAE+J,gBAAI,CAACC,MAAO;MAACnB,SAAS,EAAE3L,KAAK,CAAC+M;IAAiB,CAAE,CAAC,eAC/DzN,MAAA,YAAA6M,aAAA,CAACpM,WAAA,CAAAiN,MAAM;MACCrH,IAAI,EAAJA,IAAI;MAAEM,QAAQ,EAARA,QAAQ;MAAEC,OAAO,EAAE4B,iBAAiB;MAAEV,MAAM,EAANA,MAAM;MAAEtE,KAAK,EAALA,KAAK;MAAE0E,OAAO,EAAPA,OAAO;MACxEyF,QAAQ,EAAE5F,SAAU;MACpB6F,WAAW,EAAEtC;IAAgB,CAC9B,CACG,CAAC,GACL/B,SACL;IACD3C,OAAO,EAAE,CACPV,WAAW,IAAI,CAACS,QAAQ,IAAI,CAACM,MAAM,CAAC4G,QAAQ,IAAIrB,QAAQ,GAAG;MAAEtH,IAAI,EAAEgB,WAAW;MAAE1C,KAAK,EAAEqC;IAAM,CAAC,GAAG0D,SAAS,EAAA8B,MAAA,CAAApH,kBAAA,CACvG,IAAAsG,wBAAc,EAACmB,eAAe,CAAC,CAAC5E,IAAI,CAAC,UAAClF,CAAC,EAAEkM,CAAC,EAAK;MAChD,IAAI,CAAChH,IAAI,EAAE,OAAO,CAAC;MACnB,IAAIlF,CAAC,CAACmM,aAAa,IAAID,CAAC,CAACC,aAAa,EAAE,OAAO,CAAC;MAChD,OAAO,CAACnM,CAAC,CAACsD,IAAI,IAAI,EAAE,EAAE8I,aAAa,CAACF,CAAC,CAAC5I,IAAI,IAAI,EAAE,CAAC;IACnD,CAAC,CAAC,GAEDnC,MAAM,CAACqJ,OAAO,CAAC,CACfb,GAAG,CAAC,UAAC1B,MAAM,EAAK;MACf,IAAIA,MAAM,CAACkE,aAAa,EAAE;QACxB,OAAO;UACLvE,QAAQ,eAAExJ,MAAA,YAAA6M,aAAA,CAACrM,UAAA,CAAAyN,KAAK,EAAA/K,aAAA,CAAAA,aAAA,KAAU2G,MAAM;YAAE2C,QAAQ,EAAEhJ,KAAK,KAAKqG,MAAM,CAACrG;UAAK,EAAK,CAAC;UACxEA,KAAK,EAAEqG,MAAM,CAACrG;QAChB,CAAC;MACH,CAAC,MAAM;QACL,IAAQ0K,WAAW,GAAsCrE,MAAM,CAAvDqE,WAAW;UAAE/H,KAAI,GAAgC0D,MAAM,CAA1C1D,IAAI;UAAEjB,IAAI,GAA0B2E,MAAM,CAApC3E,IAAI;UAAE0G,YAAY,GAAY/B,MAAM,CAA9B+B,YAAY;UAAEpI,MAAK,GAAKqG,MAAM,CAAhBrG,KAAK;QACpD,OAAO;UACLgG,QAAQ,eACNxJ,MAAA,YAAA6M,aAAA,CAAClM,WAAA,CAAAwN,MAAM;YAEHD,WAAW,EAAXA,WAAW;YACXjI,QAAQ,EAARA,QAAQ;YACRE,IAAI,EAAJA,KAAI;YACJQ,QAAQ,EAARA,QAAQ;YACRzB,IAAI,EAAJA,IAAI;YACJ0G,YAAY,EAAZA,YAAY;YACZY,QAAQ,EAARA,QAAQ;YACRhJ,KAAK,EAALA,MAAK;YACL4K,WAAW,EAAEvE,MAAM,CAACuE;UAAW,CAElC,CACF;UACD5K,KAAK,EAALA;QACF,CAAC;MACH;IACF,CAAC,CAAE;IACLgJ,QAAQ,EAAEhJ,KAAM;IAChB6K,KAAK,EAAEpH,MAAM,CAACqH,KAAM;IACpBvD,GAAG,EAAE9D,MAAM,CAAC8D,GAAI;IAChB7C,OAAO,EAAEA,OAAQ;IACjBqG,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMpG,UAAU,CAAC,KAAK,CAAC;IAAA,CAAC;IACjCqG,OAAO,EAAEtD,YAAa;IACtBmB,SAAS,EAAE,IAAAW,eAAM,EAACtM,KAAK,CAAC+N,IAAI,EAAE9H,QAAQ,IAAIjG,KAAK,CAACiG,QAAQ,EAAE+B,SAAS,IAAIhI,KAAK,CAACgO,UAAU,CAAE;IACzFhO,KAAK,EAAE;MAAEgH,SAAS,EAATA,SAAS;MAAEY,KAAK,EAALA;IAAM,CAAE;IAC5BgE,MAAM,KAAAjB,MAAA,CAAKiB,MAAM;EAAQ,gBAExBqC,iBAAK,CAAC9B,aAAa,CAClB,CAAC5G,QAAQ,IAAKA,QAAQ,IAAIU,QAAS,GAAGiI,qBAAS,GAAG9B,gBAAI,EAAA5J,aAAA,CAAAA,aAAA,KAEhD,CAAC+C,QAAQ,IAAKA,QAAQ,IAAIU,QAAS,GACnC;IACE6H,OAAO,EAAExD,WAAW;IACpBsB,MAAM,KAAAjB,MAAA,CAAKiB,MAAM;EACnB,CAAC,GACD/C,SAAS;IACb7I,KAAK,EAAE;MAAE4H,KAAK,EAALA;IAAM;EAAC,iBAElBtI,MAAA,YAAA6M,aAAA,CAACxM,YAAA,CAAAwO,WAAW,EAAAxM,QAAA,KACNkK,IAAI;IACRtG,QAAQ,EAAEA,QAAS;IACnBE,IAAI,EAAE,CAAAqG,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAErG,IAAI,KAAIA,IAAK;IAC7BS,OAAO,EAAE,CAAC+F,OAAO,CAAE;IACnBnJ,KAAK,EAAEmJ,OAAQ;IACfN,SAAS,EAAE3L,KAAK,CAACoO;EAAY,EAC9B,CACH,CACI,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAhJ,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACiJ,SAAS,GAAG;EACpB/I,QAAQ,EAAEgJ,qBAAS,CAACC,IAAI;EACxBhJ,WAAW,EAAE+I,qBAAS,CAACE,MAAM;EAC7BhJ,IAAI,EAAE8I,qBAAS,CAACG,GAAG;EACnB/I,IAAI,EAAE4I,qBAAS,CAACI,KAAK,CAAC;IACpBC,WAAW,EAAEL,qBAAS,CAACE;EACzB,CAAC,CAAC;EACF1I,iBAAiB,EAAEwI,qBAAS,CAACM,MAAM;EACnC5I,QAAQ,EAAEsI,qBAAS,CAACC,IAAI;EACxBtI,OAAO,EAAEqI,qBAAS,CAACO,OAAO,CACxBP,qBAAS,CAACQ,SAAS,CAAC;EAClB;EACAR,qBAAS,CAACI,KAAK,CAAC;IACdnB,WAAW,EAAEe,qBAAS,CAACE,MAAM;IAC7BhJ,IAAI,EAAE8I,qBAAS,CAACG,GAAG;IACnBlK,IAAI,EAAE+J,qBAAS,CAACE,MAAM,CAACO,UAAU;IACjClM,KAAK,EAAEyL,qBAAS,CAACQ,SAAS,CAAC,CAACR,qBAAS,CAACM,MAAM,EAAEN,qBAAS,CAACE,MAAM,CAAC,CAAC,CAACO;EACnE,CAAC,CAAC;EACF;EACAT,qBAAS,CAACI,KAAK,CAAC;IACdnB,WAAW,EAAEe,qBAAS,CAACE,MAAM;IAC7BtD,KAAK,EAAEoD,qBAAS,CAACE,MAAM,CAACO,UAAU;IAClCvJ,IAAI,EAAE8I,qBAAS,CAACG,GAAG;IACnBtD,KAAK,EAAEmD,qBAAS,CAACO,OAAO,CACtBP,qBAAS,CAACI,KAAK,CAAC;MACdnB,WAAW,EAAEe,qBAAS,CAACE,MAAM;MAC7BhJ,IAAI,EAAE8I,qBAAS,CAACG,GAAG;MACnBlK,IAAI,EAAE+J,qBAAS,CAACE,MAAM,CAACO,UAAU;MACjClM,KAAK,EAAEyL,qBAAS,CAACQ,SAAS,CAAC,CAACR,qBAAS,CAACM,MAAM,EAAEN,qBAAS,CAACE,MAAM,CAAC,CAAC,CAACO;IACnE,CAAC,CACH,CAAC,CAACA,UAAU;IACZlM,KAAK,EAAEyL,qBAAS,CAACQ,SAAS,CAAC,CAACR,qBAAS,CAACM,MAAM,EAAEN,qBAAS,CAACE,MAAM,CAAC,CAAC,CAACO;EACnE,CAAC,CAAC,CACH,CACH,CAAC;EACD5I,IAAI,EAAEmI,qBAAS,CAACC,IAAI;EACpB1L,KAAK,EAAEyL,qBAAS,CAACQ,SAAS,CAAC,CAACR,qBAAS,CAACG,GAAG,EAAEH,qBAAS,CAACO,OAAO,CAACP,qBAAS,CAACG,GAAG,CAAC,CAAC,CAAC;EAC7EpI,QAAQ,EAAEiI,qBAAS,CAACU;AACtB,CAAC","ignoreList":[]}
@@ -235,6 +235,7 @@ Story.args = {
235
235
  error: false,
236
236
  hint: undefined,
237
237
  icon: undefined,
238
+ maxVisibleOptions: 5,
238
239
  sort: false,
239
240
  label: 'label',
240
241
  name: 'name',
@@ -1 +1 @@
1
- {"version":3,"file":"InputList.stories.js","names":["_react","_interopRequireWildcard","require","_primitives","_InputList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","f","next","done","_default","title","exports","iconsKeys","ICON","Story","props","_useState","useState","options","_useState2","setValue","_useState3","_useState4","valueMultiple","setValueMultiple","handleChange","_console","_len","others","_key","console","log","concat","handleChangeMultiple","_console2","_len2","_key2","handleEnter","_console3","_len3","_key3","handleLeave","_console4","_len4","_key4","optionsWithGroups","icon","description","rightElement","type","group","items","createElement","Text","tiny","info","markdown","success","warning","accent","inputListProps","onEnter","onLeave","View","bold","headline","style","marginBottom","InputList","onChange","marginTop","multiple","storyName","args","caption","undefined","disabled","disabledOptions","emptyOption","error","hint","sort","label","required","showRequired","showState","map","_","index","testId","argTypes","control","defaultValue"],"sources":["../../../src/components/InputList/InputList.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { ICON, Text, View } from '../../primitives';\nimport { InputList } from './InputList';\n\nexport default { title: 'Components' };\n\nconst iconsKeys = Object.keys(ICON);\n\nexport const Story = (props) => {\n const [value, setValue] = useState(props.options[1].value);\n const [valueMultiple, setValueMultiple] = useState([props.options[1].value, props.options[2].value]);\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputList>::onChange', next, ...others);\n };\n\n const handleChangeMultiple = (next, ...others) => {\n setValueMultiple(next);\n console.log('<InputList>::onChangeMultiple', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputList>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputList>::onLeave', ...others);\n\n const optionsWithGroups = [\n ...props.options,\n {\n icon: ICON[iconsKeys[0]],\n name: 'Independent Hotel A',\n value: 100,\n description: 'Luxury boutique hotel',\n rightElement: { type: 'counter', value: 12 },\n },\n {\n group: 'Marriott Chain',\n icon: ICON[iconsKeys[1]],\n value: 'marriott-chain',\n description: '3 hotels available',\n rightElement: { type: 'counter', value: 3 },\n items: [\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Downtown',\n value: 101,\n description: 'In the city center',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny info markdown={false}>\n Popular\n </Text>\n ),\n },\n },\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Airport',\n value: 102,\n description: 'Near the airport',\n rightElement: { type: 'counter', value: 5 },\n },\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Beach Resort',\n value: 103,\n description: 'Oceanfront resort',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny success markdown={false}>\n Promo\n </Text>\n ),\n },\n },\n ],\n },\n {\n icon: ICON[iconsKeys[2]],\n name: 'Independent Hotel B',\n value: 104,\n description: 'Family-friendly hotel',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny warning markdown={false}>\n New\n </Text>\n ),\n },\n },\n {\n group: 'Hilton Chain',\n icon: ICON[iconsKeys[3]],\n value: 'hilton-chain',\n description: '2 hotels available',\n rightElement: { type: 'counter', value: 2 },\n items: [\n {\n icon: ICON[iconsKeys[3]],\n name: 'Hilton Grand Plaza',\n value: 105,\n description: '5-star luxury hotel',\n rightElement: { type: 'counter', value: 9 },\n },\n {\n icon: ICON[iconsKeys[3]],\n name: 'Hilton Garden Inn',\n value: 106,\n description: 'Business hotel',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny accent markdown={false}>\n Upgrade\n </Text>\n ),\n },\n },\n ],\n },\n {\n icon: ICON[iconsKeys[4]],\n name: 'Independent Hotel C',\n value: 107,\n description: 'Budget-friendly hotel',\n rightElement: { type: 'counter', value: 1 },\n },\n ];\n\n const inputListProps = {\n ...props,\n // icon: ICON[props.icon],\n onEnter: handleEnter,\n onLeave: handleLeave,\n };\n\n return (\n <View>\n <Text bold headline style={{ marginBottom: 8 }}>\n Simple\n </Text>\n <InputList {...inputListProps} value={value} onChange={handleChange} />\n\n <Text style={{ marginBottom: 8 }}>\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make\n a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing\n Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions\n of Lorem Ipsum.\n </Text>\n\n <Text style={{ marginBottom: 8 }}>\n Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin\n literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney\n College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and\n going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum\n comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by\n Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance.\n The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.\n </Text>\n\n <Text bold headline style={{ marginTop: 16, marginBottom: 8 }}>\n Multiple\n </Text>\n <InputList {...inputListProps} multiple value={valueMultiple} onChange={handleChangeMultiple} />\n\n <Text bold headline style={{ marginTop: 32, marginBottom: 8 }}>\n With Groups - Simple\n </Text>\n <InputList {...inputListProps} options={optionsWithGroups} value={value} onChange={handleChange} />\n </View>\n );\n};\n\nStory.storyName = 'InputList';\n\nStory.args = {\n caption: undefined,\n disabled: false,\n disabledOptions: [false, false, true],\n emptyOption: 'Select one option...',\n error: false,\n hint: undefined,\n icon: undefined,\n sort: false,\n label: 'label',\n name: 'name',\n required: false,\n showRequired: false,\n showState: true,\n success: false,\n warning: false,\n options: Array.from({ length: 16 }).map((_, index) => ({\n icon: ICON[iconsKeys[index]],\n name: `Lorem ipsum dolor sit amet ${index + 1}`,\n value: index + 1,\n description: `Sed do eiusmod ${index + 1} tempor incididunt ut labore et dolore magna aliqua.`,\n rightElement:\n index % 3 === 0\n ? { type: 'counter', value: index + 3 }\n : index % 3 === 1\n ? {\n type: 'node',\n value: (\n <Text tiny info markdown={false}>\n Nuevo\n </Text>\n ),\n }\n : undefined,\n })),\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...iconsKeys],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAwC,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,sBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,cAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,SAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,eAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAAzB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAe,IAAA,CAAA1B,CAAA,OAAAW,MAAA,CAAAgB,qBAAA,QAAAC,CAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAA3B,CAAA,GAAAE,CAAA,KAAA0B,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAA3B,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAA4B,UAAA,OAAA3B,CAAA,CAAA4B,IAAA,CAAAP,KAAA,CAAArB,CAAA,EAAAyB,CAAA,YAAAzB,CAAA;AAAA,SAAA6B,cAAAhC,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAoB,SAAA,CAAAC,MAAA,EAAArB,CAAA,UAAAC,CAAA,WAAAmB,SAAA,CAAApB,CAAA,IAAAoB,SAAA,CAAApB,CAAA,QAAAA,CAAA,OAAAuB,OAAA,CAAAd,MAAA,CAAAR,CAAA,OAAA8B,OAAA,WAAA/B,CAAA,IAAAgC,eAAA,CAAAlC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAApC,CAAA,EAAAW,MAAA,CAAAwB,yBAAA,CAAAhC,CAAA,KAAAsB,OAAA,CAAAd,MAAA,CAAAR,CAAA,GAAA8B,OAAA,WAAA/B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAkC,gBAAAlC,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmC,cAAA,CAAAnC,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAoC,KAAA,EAAAnC,CAAA,EAAA2B,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAxC,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAqC,eAAAlC,CAAA,QAAAc,CAAA,GAAAwB,YAAA,CAAAtC,CAAA,gCAAAE,OAAA,CAAAY,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAwB,aAAAtC,CAAA,EAAAD,CAAA,oBAAAG,OAAA,CAAAF,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuC,MAAA,CAAAC,WAAA,kBAAA3C,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,gCAAAG,OAAA,CAAAY,CAAA,UAAAA,CAAA,YAAA2B,SAAA,yEAAA1C,CAAA,GAAA2C,MAAA,GAAAC,MAAA,EAAA3C,CAAA;AAAA,SAAA4C,mBAAA7C,CAAA,WAAA8C,kBAAA,CAAA9C,CAAA,KAAA+C,gBAAA,CAAA/C,CAAA,KAAAgD,2BAAA,CAAAhD,CAAA,KAAAiD,kBAAA;AAAA,SAAAA,mBAAA,cAAAP,SAAA;AAAA,SAAAK,iBAAA/C,CAAA,8BAAAwC,MAAA,YAAAxC,CAAA,CAAAwC,MAAA,CAAAU,QAAA,aAAAlD,CAAA,uBAAAmD,KAAA,CAAAC,IAAA,CAAApD,CAAA;AAAA,SAAA8C,mBAAA9C,CAAA,QAAAmD,KAAA,CAAAE,OAAA,CAAArD,CAAA,UAAAsD,iBAAA,CAAAtD,CAAA;AAAA,SAAAuD,eAAAvD,CAAA,EAAAF,CAAA,WAAA0D,eAAA,CAAAxD,CAAA,KAAAyD,qBAAA,CAAAzD,CAAA,EAAAF,CAAA,KAAAkD,2BAAA,CAAAhD,CAAA,EAAAF,CAAA,KAAA4D,gBAAA;AAAA,SAAAA,iBAAA,cAAAhB,SAAA;AAAA,SAAAM,4BAAAhD,CAAA,EAAAQ,CAAA,QAAAR,CAAA,2BAAAA,CAAA,SAAAsD,iBAAA,CAAAtD,CAAA,EAAAQ,CAAA,OAAAP,CAAA,MAAA0D,QAAA,CAAA7C,IAAA,CAAAd,CAAA,EAAA4D,KAAA,6BAAA3D,CAAA,IAAAD,CAAA,CAAA6D,WAAA,KAAA5D,CAAA,GAAAD,CAAA,CAAA6D,WAAA,CAAAC,IAAA,aAAA7D,CAAA,cAAAA,CAAA,GAAAkD,KAAA,CAAAC,IAAA,CAAApD,CAAA,oBAAAC,CAAA,+CAAA8D,IAAA,CAAA9D,CAAA,IAAAqD,iBAAA,CAAAtD,CAAA,EAAAQ,CAAA;AAAA,SAAA8C,kBAAAtD,CAAA,EAAAQ,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAR,CAAA,CAAAqB,MAAA,MAAAb,CAAA,GAAAR,CAAA,CAAAqB,MAAA,YAAAvB,CAAA,MAAAQ,CAAA,GAAA6C,KAAA,CAAA3C,CAAA,GAAAV,CAAA,GAAAU,CAAA,EAAAV,CAAA,MAAAQ,CAAA,CAAAR,CAAA,IAAAE,CAAA,CAAAF,CAAA,YAAAQ,CAAA;AAAA,SAAAmD,sBAAAzD,CAAA,EAAAgE,CAAA,QAAA/D,CAAA,WAAAD,CAAA,gCAAAwC,MAAA,IAAAxC,CAAA,CAAAwC,MAAA,CAAAU,QAAA,KAAAlD,CAAA,4BAAAC,CAAA,QAAAH,CAAA,EAAAQ,CAAA,EAAAS,CAAA,EAAAH,CAAA,EAAAJ,CAAA,OAAAyD,CAAA,OAAAvC,CAAA,iBAAAX,CAAA,IAAAd,CAAA,GAAAA,CAAA,CAAAa,IAAA,CAAAd,CAAA,GAAAkE,IAAA,QAAAF,CAAA,QAAAvD,MAAA,CAAAR,CAAA,MAAAA,CAAA,UAAAgE,CAAA,uBAAAA,CAAA,IAAAnE,CAAA,GAAAiB,CAAA,CAAAD,IAAA,CAAAb,CAAA,GAAAkE,IAAA,MAAA3D,CAAA,CAAAqB,IAAA,CAAA/B,CAAA,CAAAsC,KAAA,GAAA5B,CAAA,CAAAa,MAAA,KAAA2C,CAAA,GAAAC,CAAA,sBAAAjE,CAAA,IAAA0B,CAAA,OAAApB,CAAA,GAAAN,CAAA,yBAAAiE,CAAA,YAAAhE,CAAA,eAAAW,CAAA,GAAAX,CAAA,cAAAQ,MAAA,CAAAG,CAAA,MAAAA,CAAA,2BAAAc,CAAA,QAAApB,CAAA,aAAAE,CAAA;AAAA,SAAAgD,gBAAAxD,CAAA,QAAAmD,KAAA,CAAAE,OAAA,CAAArD,CAAA,UAAAA,CAAA;AAAA,IAAAoE,QAAA,GAEzB;EAAEC,KAAK,EAAE;AAAa,CAAC;AAAAC,OAAA,cAAAF,QAAA;AAEtC,IAAMG,SAAS,GAAG9D,MAAM,CAACe,IAAI,CAACgD,gBAAI,CAAC;AAE5B,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAIC,KAAK,EAAK;EAC9B,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAACF,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC,CAACzC,KAAK,CAAC;IAAA0C,UAAA,GAAAvB,cAAA,CAAAoB,SAAA;IAAnDvC,KAAK,GAAA0C,UAAA;IAAEC,QAAQ,GAAAD,UAAA;EACtB,IAAAE,UAAA,GAA0C,IAAAJ,eAAQ,EAAC,CAACF,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC,CAACzC,KAAK,EAAEsC,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC,CAACzC,KAAK,CAAC,CAAC;IAAA6C,UAAA,GAAA1B,cAAA,CAAAyB,UAAA;IAA7FE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EAEtC,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAIlB,IAAI,EAAgB;IAAA,IAAAmB,QAAA;IACxCN,QAAQ,CAACb,IAAI,CAAC;IAAC,SAAAoB,IAAA,GAAAlE,SAAA,CAAAC,MAAA,EADckE,MAAM,OAAApC,KAAA,CAAAmC,IAAA,OAAAA,IAAA,WAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAND,MAAM,CAAAC,IAAA,QAAApE,SAAA,CAAAoE,IAAA;IAAA;IAEnC,CAAAH,QAAA,GAAAI,OAAO,EAACC,GAAG,CAAApE,KAAA,CAAA+D,QAAA,GAAC,uBAAuB,EAAEnB,IAAI,EAAAyB,MAAA,CAAKJ,MAAM,EAAC;EACvD,CAAC;EAED,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI1B,IAAI,EAAgB;IAAA,IAAA2B,SAAA;IAChDV,gBAAgB,CAACjB,IAAI,CAAC;IAAC,SAAA4B,KAAA,GAAA1E,SAAA,CAAAC,MAAA,EADckE,MAAM,OAAApC,KAAA,CAAA2C,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAANR,MAAM,CAAAQ,KAAA,QAAA3E,SAAA,CAAA2E,KAAA;IAAA;IAE3C,CAAAF,SAAA,GAAAJ,OAAO,EAACC,GAAG,CAAApE,KAAA,CAAAuE,SAAA,GAAC,+BAA+B,EAAE3B,IAAI,EAAAyB,MAAA,CAAKJ,MAAM,EAAC;EAC/D,CAAC;EAED,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAA;IAAA,IAAAC,SAAA;IAAA,SAAAC,KAAA,GAAA9E,SAAA,CAAAC,MAAA,EAAOkE,MAAM,OAAApC,KAAA,CAAA+C,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAANZ,MAAM,CAAAY,KAAA,IAAA/E,SAAA,CAAA+E,KAAA;IAAA;IAAA,OAAK,CAAAF,SAAA,GAAAR,OAAO,EAACC,GAAG,CAAApE,KAAA,CAAA2E,SAAA,GAAC,sBAAsB,EAAAN,MAAA,CAAKJ,MAAM,EAAC;EAAA;EAEjF,IAAMa,WAAW,GAAG,SAAdA,WAAWA,CAAA;IAAA,IAAAC,SAAA;IAAA,SAAAC,KAAA,GAAAlF,SAAA,CAAAC,MAAA,EAAOkE,MAAM,OAAApC,KAAA,CAAAmD,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAANhB,MAAM,CAAAgB,KAAA,IAAAnF,SAAA,CAAAmF,KAAA;IAAA;IAAA,OAAK,CAAAF,SAAA,GAAAZ,OAAO,EAACC,GAAG,CAAApE,KAAA,CAAA+E,SAAA,GAAC,sBAAsB,EAAAV,MAAA,CAAKJ,MAAM,EAAC;EAAA;EAEjF,IAAMiB,iBAAiB,MAAAb,MAAA,CAAA9C,kBAAA,CAClB6B,KAAK,CAACG,OAAO,IAChB;IACE4B,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACxBT,IAAI,EAAE,qBAAqB;IAC3B1B,KAAK,EAAE,GAAG;IACVsE,WAAW,EAAE,uBAAuB;IACpCC,YAAY,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAExE,KAAK,EAAE;IAAG;EAC7C,CAAC,EACD;IACEyE,KAAK,EAAE,gBAAgB;IACvBJ,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACxBnC,KAAK,EAAE,gBAAgB;IACvBsE,WAAW,EAAE,oBAAoB;IACjCC,YAAY,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAExE,KAAK,EAAE;IAAE,CAAC;IAC3C0E,KAAK,EAAE,CACL;MACEL,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;MACxBT,IAAI,EAAE,mBAAmB;MACzB1B,KAAK,EAAE,GAAG;MACVsE,WAAW,EAAE,oBAAoB;MACjCC,YAAY,EAAE;QACZC,IAAI,EAAE,MAAM;QACZxE,KAAK,eACH5C,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;UAACC,IAAI;UAACC,IAAI;UAACC,QAAQ,EAAE;QAAM,GAAC,SAE3B;MAEV;IACF,CAAC,EACD;MACEV,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;MACxBT,IAAI,EAAE,kBAAkB;MACxB1B,KAAK,EAAE,GAAG;MACVsE,WAAW,EAAE,kBAAkB;MAC/BC,YAAY,EAAE;QAAEC,IAAI,EAAE,SAAS;QAAExE,KAAK,EAAE;MAAE;IAC5C,CAAC,EACD;MACEqE,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;MACxBT,IAAI,EAAE,uBAAuB;MAC7B1B,KAAK,EAAE,GAAG;MACVsE,WAAW,EAAE,mBAAmB;MAChCC,YAAY,EAAE;QACZC,IAAI,EAAE,MAAM;QACZxE,KAAK,eACH5C,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;UAACC,IAAI;UAACG,OAAO;UAACD,QAAQ,EAAE;QAAM,GAAC,OAE9B;MAEV;IACF,CAAC;EAEL,CAAC,EACD;IACEV,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACxBT,IAAI,EAAE,qBAAqB;IAC3B1B,KAAK,EAAE,GAAG;IACVsE,WAAW,EAAE,uBAAuB;IACpCC,YAAY,EAAE;MACZC,IAAI,EAAE,MAAM;MACZxE,KAAK,eACH5C,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;QAACC,IAAI;QAACI,OAAO;QAACF,QAAQ,EAAE;MAAM,GAAC,KAE9B;IAEV;EACF,CAAC,EACD;IACEN,KAAK,EAAE,cAAc;IACrBJ,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACxBnC,KAAK,EAAE,cAAc;IACrBsE,WAAW,EAAE,oBAAoB;IACjCC,YAAY,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAExE,KAAK,EAAE;IAAE,CAAC;IAC3C0E,KAAK,EAAE,CACL;MACEL,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;MACxBT,IAAI,EAAE,oBAAoB;MAC1B1B,KAAK,EAAE,GAAG;MACVsE,WAAW,EAAE,qBAAqB;MAClCC,YAAY,EAAE;QAAEC,IAAI,EAAE,SAAS;QAAExE,KAAK,EAAE;MAAE;IAC5C,CAAC,EACD;MACEqE,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;MACxBT,IAAI,EAAE,mBAAmB;MACzB1B,KAAK,EAAE,GAAG;MACVsE,WAAW,EAAE,gBAAgB;MAC7BC,YAAY,EAAE;QACZC,IAAI,EAAE,MAAM;QACZxE,KAAK,eACH5C,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;UAACC,IAAI;UAACK,MAAM;UAACH,QAAQ,EAAE;QAAM,GAAC,SAE7B;MAEV;IACF,CAAC;EAEL,CAAC,EACD;IACEV,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACxBT,IAAI,EAAE,qBAAqB;IAC3B1B,KAAK,EAAE,GAAG;IACVsE,WAAW,EAAE,uBAAuB;IACpCC,YAAY,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAExE,KAAK,EAAE;IAAE;EAC5C,CAAC,EACF;EAED,IAAMmF,cAAc,GAAAzF,aAAA,CAAAA,aAAA,KACf4C,KAAK;IACR;IACA8C,OAAO,EAAExB,WAAW;IACpByB,OAAO,EAAErB;EAAW,EACrB;EAED,oBACE5G,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAA+H,IAAI,qBACHlI,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;IAACW,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE;MAAEC,YAAY,EAAE;IAAE;EAAE,GAAC,QAE1C,CAAC,eACPtI,MAAA,YAAAuH,aAAA,CAACnH,UAAA,CAAAmI,SAAS,EAAA9G,QAAA,KAAKsG,cAAc;IAAEnF,KAAK,EAAEA,KAAM;IAAC4F,QAAQ,EAAE5C;EAAa,EAAE,CAAC,eAEvE5F,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;IAACa,KAAK,EAAE;MAAEC,YAAY,EAAE;IAAE;EAAE,GAAC,gkBAO5B,CAAC,eAEPtI,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;IAACa,KAAK,EAAE;MAAEC,YAAY,EAAE;IAAE;EAAE,GAAC,iwBAQ5B,CAAC,eAEPtI,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;IAACW,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE;MAAEI,SAAS,EAAE,EAAE;MAAEH,YAAY,EAAE;IAAE;EAAE,GAAC,UAEzD,CAAC,eACPtI,MAAA,YAAAuH,aAAA,CAACnH,UAAA,CAAAmI,SAAS,EAAA9G,QAAA,KAAKsG,cAAc;IAAEW,QAAQ;IAAC9F,KAAK,EAAE8C,aAAc;IAAC8C,QAAQ,EAAEpC;EAAqB,EAAE,CAAC,eAEhGpG,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;IAACW,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE;MAAEI,SAAS,EAAE,EAAE;MAAEH,YAAY,EAAE;IAAE;EAAE,GAAC,sBAEzD,CAAC,eACPtI,MAAA,YAAAuH,aAAA,CAACnH,UAAA,CAAAmI,SAAS,EAAA9G,QAAA,KAAKsG,cAAc;IAAE1C,OAAO,EAAE2B,iBAAkB;IAACpE,KAAK,EAAEA,KAAM;IAAC4F,QAAQ,EAAE5C;EAAa,EAAE,CAC9F,CAAC;AAEX,CAAC;AAACd,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC0D,SAAS,GAAG,WAAW;AAE7B1D,KAAK,CAAC2D,IAAI,GAAG;EACXC,OAAO,EAAEC,SAAS;EAClBC,QAAQ,EAAE,KAAK;EACfC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;EACrCC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAEL,SAAS;EACf7B,IAAI,EAAE6B,SAAS;EACfM,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE,OAAO;EACd/E,IAAI,EAAE,MAAM;EACZgF,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE,IAAI;EACf5B,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,KAAK;EACdxC,OAAO,EAAE1B,KAAK,CAACC,IAAI,CAAC;IAAE/B,MAAM,EAAE;EAAG,CAAC,CAAC,CAAC4H,GAAG,CAAC,UAACC,CAAC,EAAEC,KAAK;IAAA,OAAM;MACrD1C,IAAI,EAAEjC,gBAAI,CAACD,SAAS,CAAC4E,KAAK,CAAC,CAAC;MAC5BrF,IAAI,gCAAA6B,MAAA,CAAgCwD,KAAK,GAAG,CAAC,CAAE;MAC/C/G,KAAK,EAAE+G,KAAK,GAAG,CAAC;MAChBzC,WAAW,oBAAAf,MAAA,CAAoBwD,KAAK,GAAG,CAAC,yDAAsD;MAC9FxC,YAAY,EACVwC,KAAK,GAAG,CAAC,KAAK,CAAC,GACX;QAAEvC,IAAI,EAAE,SAAS;QAAExE,KAAK,EAAE+G,KAAK,GAAG;MAAE,CAAC,GACrCA,KAAK,GAAG,CAAC,KAAK,CAAC,GACf;QACEvC,IAAI,EAAE,MAAM;QACZxE,KAAK,eACH5C,MAAA,YAAAuH,aAAA,CAACpH,WAAA,CAAAqH,IAAI;UAACC,IAAI;UAACC,IAAI;UAACC,QAAQ,EAAE;QAAM,GAAC,OAE3B;MAEV,CAAC,GACDmB;IACR,CAAC;EAAA,CAAC,CAAC;EACH;EACAc,MAAM,EAAE,YAAY;EACpBvB,KAAK,EAAE,CAAC;AACV,CAAC;AAEDpD,KAAK,CAAC4E,QAAQ,GAAG;EACf5C,IAAI,EAAE;IACJ5B,OAAO,GAAGyD,SAAS,EAAA3C,MAAA,CAAKpB,SAAS,CAAC;IAClC+E,OAAO,EAAE;MAAE1C,IAAI,EAAE;IAAS,CAAC;IAC3B2C,YAAY,EAAEjB;EAChB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"InputList.stories.js","names":["_react","_interopRequireWildcard","require","_primitives","_InputList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","f","next","done","_default","title","exports","iconsKeys","ICON","Story","props","_useState","useState","options","_useState2","setValue","_useState3","_useState4","valueMultiple","setValueMultiple","handleChange","_console","_len","others","_key","console","log","concat","handleChangeMultiple","_console2","_len2","_key2","handleEnter","_console3","_len3","_key3","handleLeave","_console4","_len4","_key4","optionsWithGroups","icon","description","rightElement","type","group","items","createElement","Text","tiny","info","markdown","success","warning","accent","inputListProps","onEnter","onLeave","View","bold","headline","style","marginBottom","InputList","onChange","marginTop","multiple","storyName","args","caption","undefined","disabled","disabledOptions","emptyOption","error","hint","maxVisibleOptions","sort","label","required","showRequired","showState","map","_","index","testId","argTypes","control","defaultValue"],"sources":["../../../src/components/InputList/InputList.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { ICON, Text, View } from '../../primitives';\nimport { InputList } from './InputList';\n\nexport default { title: 'Components' };\n\nconst iconsKeys = Object.keys(ICON);\n\nexport const Story = (props) => {\n const [value, setValue] = useState(props.options[1].value);\n const [valueMultiple, setValueMultiple] = useState([props.options[1].value, props.options[2].value]);\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputList>::onChange', next, ...others);\n };\n\n const handleChangeMultiple = (next, ...others) => {\n setValueMultiple(next);\n console.log('<InputList>::onChangeMultiple', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputList>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputList>::onLeave', ...others);\n\n const optionsWithGroups = [\n ...props.options,\n {\n icon: ICON[iconsKeys[0]],\n name: 'Independent Hotel A',\n value: 100,\n description: 'Luxury boutique hotel',\n rightElement: { type: 'counter', value: 12 },\n },\n {\n group: 'Marriott Chain',\n icon: ICON[iconsKeys[1]],\n value: 'marriott-chain',\n description: '3 hotels available',\n rightElement: { type: 'counter', value: 3 },\n items: [\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Downtown',\n value: 101,\n description: 'In the city center',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny info markdown={false}>\n Popular\n </Text>\n ),\n },\n },\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Airport',\n value: 102,\n description: 'Near the airport',\n rightElement: { type: 'counter', value: 5 },\n },\n {\n icon: ICON[iconsKeys[1]],\n name: 'Marriott Beach Resort',\n value: 103,\n description: 'Oceanfront resort',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny success markdown={false}>\n Promo\n </Text>\n ),\n },\n },\n ],\n },\n {\n icon: ICON[iconsKeys[2]],\n name: 'Independent Hotel B',\n value: 104,\n description: 'Family-friendly hotel',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny warning markdown={false}>\n New\n </Text>\n ),\n },\n },\n {\n group: 'Hilton Chain',\n icon: ICON[iconsKeys[3]],\n value: 'hilton-chain',\n description: '2 hotels available',\n rightElement: { type: 'counter', value: 2 },\n items: [\n {\n icon: ICON[iconsKeys[3]],\n name: 'Hilton Grand Plaza',\n value: 105,\n description: '5-star luxury hotel',\n rightElement: { type: 'counter', value: 9 },\n },\n {\n icon: ICON[iconsKeys[3]],\n name: 'Hilton Garden Inn',\n value: 106,\n description: 'Business hotel',\n rightElement: {\n type: 'node',\n value: (\n <Text tiny accent markdown={false}>\n Upgrade\n </Text>\n ),\n },\n },\n ],\n },\n {\n icon: ICON[iconsKeys[4]],\n name: 'Independent Hotel C',\n value: 107,\n description: 'Budget-friendly hotel',\n rightElement: { type: 'counter', value: 1 },\n },\n ];\n\n const inputListProps = {\n ...props,\n // icon: ICON[props.icon],\n onEnter: handleEnter,\n onLeave: handleLeave,\n };\n\n return (\n <View>\n <Text bold headline style={{ marginBottom: 8 }}>\n Simple\n </Text>\n <InputList {...inputListProps} value={value} onChange={handleChange} />\n\n <Text style={{ marginBottom: 8 }}>\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make\n a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing\n Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions\n of Lorem Ipsum.\n </Text>\n\n <Text style={{ marginBottom: 8 }}>\n Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin\n literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney\n College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and\n going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum\n comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by\n Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance.\n The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.\n </Text>\n\n <Text bold headline style={{ marginTop: 16, marginBottom: 8 }}>\n Multiple\n </Text>\n <InputList {...inputListProps} multiple value={valueMultiple} onChange={handleChangeMultiple} />\n\n <Text bold headline style={{ marginTop: 32, marginBottom: 8 }}>\n With Groups - Simple\n </Text>\n <InputList {...inputListProps} options={optionsWithGroups} value={value} onChange={handleChange} />\n </View>\n );\n};\n\nStory.storyName = 'InputList';\n\nStory.args = {\n caption: undefined,\n disabled: false,\n disabledOptions: [false, false, true],\n emptyOption: 'Select one option...',\n error: false,\n hint: undefined,\n icon: undefined,\n maxVisibleOptions: 5,\n sort: false,\n label: 'label',\n name: 'name',\n required: false,\n showRequired: false,\n showState: true,\n success: false,\n warning: false,\n options: Array.from({ length: 16 }).map((_, index) => ({\n icon: ICON[iconsKeys[index]],\n name: `Lorem ipsum dolor sit amet ${index + 1}`,\n value: index + 1,\n description: `Sed do eiusmod ${index + 1} tempor incididunt ut labore et dolore magna aliqua.`,\n rightElement:\n index % 3 === 0\n ? { type: 'counter', value: index + 3 }\n : index % 3 === 1\n ? {\n type: 'node',\n value: (\n <Text tiny info markdown={false}>\n Nuevo\n </Text>\n ),\n }\n : undefined,\n })),\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...iconsKeys],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _Button = require("../Button");
13
+ var _InputDate = require("../InputDate");
13
14
  var _InputOption = require("../InputOption");
14
15
  var _InputText = require("../InputText");
15
16
  var _Menu = require("../Menu");
@@ -43,6 +44,10 @@ var DEFAULT_FORM = {
43
44
  value: undefined,
44
45
  values: []
45
46
  };
47
+ var DEFAULT_ERRORS = {
48
+ max: undefined,
49
+ min: undefined
50
+ };
46
51
  var ColumnFilter = function ColumnFilter(_ref) {
47
52
  var field = _ref.field,
48
53
  last = _ref.last,
@@ -52,10 +57,14 @@ var ColumnFilter = function ColumnFilter(_ref) {
52
57
  actionCancel = _ref$l10n$actionCance === void 0 ? '$Cancel' : _ref$l10n$actionCance,
53
58
  _ref$l10n$actionSubmi = _ref$l10n.actionSubmit,
54
59
  actionSubmit = _ref$l10n$actionSubmi === void 0 ? '$Submit' : _ref$l10n$actionSubmi,
60
+ _ref$l10n$labelFrom = _ref$l10n.labelFrom,
61
+ labelFrom = _ref$l10n$labelFrom === void 0 ? 'From' : _ref$l10n$labelFrom,
55
62
  _ref$l10n$labelMax = _ref$l10n.labelMax,
56
63
  labelMax = _ref$l10n$labelMax === void 0 ? '$max' : _ref$l10n$labelMax,
57
64
  _ref$l10n$labelMin = _ref$l10n.labelMin,
58
65
  labelMin = _ref$l10n$labelMin === void 0 ? '$min' : _ref$l10n$labelMin,
66
+ _ref$l10n$labelTo = _ref$l10n.labelTo,
67
+ labelTo = _ref$l10n$labelTo === void 0 ? 'To' : _ref$l10n$labelTo,
59
68
  _ref$schema = _ref.schema,
60
69
  schema = _ref$schema === void 0 ? {} : _ref$schema,
61
70
  _ref$visible = _ref.visible,
@@ -69,11 +78,16 @@ var ColumnFilter = function ColumnFilter(_ref) {
69
78
  _useState2 = _slicedToArray(_useState, 2),
70
79
  form = _useState2[0],
71
80
  setForm = _useState2[1];
72
- var _useState3 = (0, _react.useState)(propVisible),
81
+ var _useState3 = (0, _react.useState)(_objectSpread({}, DEFAULT_ERRORS)),
73
82
  _useState4 = _slicedToArray(_useState3, 2),
74
- visible = _useState4[0],
75
- setVisible = _useState4[1];
83
+ errors = _useState4[0],
84
+ setErrors = _useState4[1];
85
+ var _useState5 = (0, _react.useState)(propVisible),
86
+ _useState6 = _slicedToArray(_useState5, 2),
87
+ visible = _useState6[0],
88
+ setVisible = _useState6[1];
76
89
  var _ref2 = schema[field] || {},
90
+ format = _ref2.format,
77
91
  label = _ref2.label,
78
92
  _ref2$options = _ref2.options,
79
93
  options = _ref2$options === void 0 ? {} : _ref2$options,
@@ -86,8 +100,27 @@ var ColumnFilter = function ColumnFilter(_ref) {
86
100
  setForm(_objectSpread(_objectSpread({}, DEFAULT_FORM), {}, {
87
101
  value: type === 'boolean' ? 'false' : undefined
88
102
  }));
103
+ setErrors(_objectSpread({}, DEFAULT_ERRORS));
89
104
  // eslint-disable-next-line react-hooks/exhaustive-deps
90
105
  }, [visible]);
106
+ var handleDateChange = function handleDateChange(key) {
107
+ return function (value) {
108
+ var nextForm = _objectSpread(_objectSpread({}, form), {}, _defineProperty({}, key, value));
109
+ setForm(nextForm);
110
+ setErrors({
111
+ min: (0, _helpers.getInputDateErrors)({
112
+ format: format,
113
+ max: nextForm.max,
114
+ value: nextForm.min
115
+ }),
116
+ max: (0, _helpers.getInputDateErrors)({
117
+ format: format,
118
+ min: nextForm.min,
119
+ value: nextForm.max
120
+ })
121
+ });
122
+ };
123
+ };
91
124
  var handlePress = function handlePress(event) {
92
125
  event.preventDefault();
93
126
  setVisible(!visible);
@@ -103,12 +136,14 @@ var ColumnFilter = function ColumnFilter(_ref) {
103
136
  var handleSubmit = function handleSubmit() {
104
137
  var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
105
138
  event.preventDefault();
139
+ if (type === 'date' && Object.values(errors).some(Boolean)) return;
106
140
  setVisible(false);
107
141
  onSubmit(_objectSpread({
108
142
  field: field,
109
143
  type: type
110
144
  }, form), event);
111
145
  };
146
+ var disableSubmit = type !== 'boolean' && !form.value && !form.min && !form.max && !Object.keys(form.values || {}).length || type === 'date' && Object.values(errors).some(Boolean);
112
147
  var testId = others.testId;
113
148
  return /*#__PURE__*/_react["default"].createElement(_Menu.Menu, _extends({}, others, {
114
149
  options: [{
@@ -144,6 +179,30 @@ var ColumnFilter = function ColumnFilter(_ref) {
144
179
  },
145
180
  onKeyDown: handleKeyDown,
146
181
  className: _TableModule["default"].input
182
+ })) : type === 'date' ? /*#__PURE__*/_react["default"].createElement(_primitives.View, {
183
+ row: true,
184
+ className: _TableModule["default"].items
185
+ }, /*#__PURE__*/_react["default"].createElement(_InputDate.InputDate, {
186
+ error: !!errors.min,
187
+ format: format,
188
+ label: labelFrom,
189
+ max: form.max || undefined,
190
+ name: "min",
191
+ value: form.min,
192
+ onChange: handleDateChange('min'),
193
+ className: _TableModule["default"].input,
194
+ testId: testId ? "".concat(testId, "-min") : undefined
195
+ }), /*#__PURE__*/_react["default"].createElement(_InputDate.InputDate, {
196
+ error: !!errors.max,
197
+ format: format,
198
+ label: labelTo,
199
+ min: form.min || undefined,
200
+ name: "max",
201
+ value: form.max,
202
+ onChange: handleDateChange('max'),
203
+ onKeyDown: handleKeyDown,
204
+ className: _TableModule["default"].input,
205
+ testId: testId ? "".concat(testId, "-max") : undefined
147
206
  })) : type === 'boolean' ? /*#__PURE__*/_react["default"].createElement(_primitives.View, null, [false, true].map(function (value) {
148
207
  return /*#__PURE__*/_react["default"].createElement(_InputOption.InputOption, {
149
208
  checked: value && form.value === 'true' || !value && form.value === 'false' || false,
@@ -200,7 +259,7 @@ var ColumnFilter = function ColumnFilter(_ref) {
200
259
  wide: true,
201
260
  onPress: handleCancel
202
261
  }, actionCancel), /*#__PURE__*/_react["default"].createElement(_Button.Button, {
203
- disabled: type !== 'boolean' && !form.value && !form.min && !form.max && !Object.keys(form.values || {}).length,
262
+ disabled: disableSubmit,
204
263
  wide: true,
205
264
  onPress: handleSubmit,
206
265
  testId: testId ? "".concat(testId, "-submit") : undefined