@mirai/ui 2.1.88 → 2.1.89

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
@@ -693,6 +693,7 @@ A custom select input component that receives the following props:
693
693
 
694
694
  - `caption:string` a support text (Ex. currency symbol)
695
695
  - `disabled:boolean` applying 'disabled' attribute
696
+ - `emptyOption:string` label used to clear current selection in single mode (shown only when a value is selected and input is not required)
696
697
  - `error:boolean` indicating whether there is an error in the input
697
698
  - `hint:string` text with additional info to be displayed below the input
698
699
  - `icon:string` if you want use an `<Icon>` within the component
@@ -723,6 +724,7 @@ const Example = (props) => {
723
724
 
724
725
  return (
725
726
  <InputList
727
+ emptyOption="Select one option..."
726
728
  hint="hint"
727
729
  label="label"
728
730
  name="name"
@@ -995,6 +997,7 @@ const MyComponent = (props) => {
995
997
  This component helps you to create a menu over a determinate component receiving the following props:
996
998
 
997
999
  - `children:node` The element which we will use as reference for display the menu.
1000
+ - `header:node` Optional static content rendered above options (outside the scrollable options area).
998
1001
  - `options:arrayOf(Option:shape)`
999
1002
  - `selected:string|number` if you want highlight one of the options
1000
1003
  - `Template:node` if you don't want use the default option scaffold.
@@ -1018,6 +1021,7 @@ const MyComponent = () => {
1018
1021
  const [visible, setVisible] = useState(false);
1019
1022
 
1020
1023
  <Menu
1024
+ header={<View>Search...</View>}
1021
1025
  options={[
1022
1026
  { icon: 'EyeOpen', label: 'Show results', value: 1 },
1023
1027
  { icon: 'Add', label: 'Add item', disabled: true, value: 2 },
@@ -43,6 +43,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
43
43
  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
+ var EMPTY = 'EMPTY_VALUE';
46
47
  var InputList = function InputList(_ref) {
47
48
  var disabled = _ref.disabled,
48
49
  emptyOption = _ref.emptyOption,
@@ -80,6 +81,8 @@ var InputList = function InputList(_ref) {
80
81
  _useState8 = _slicedToArray(_useState7, 2),
81
82
  width = _useState8[0],
82
83
  setWidth = _useState8[1];
84
+ var selectableOptions = (0, _helpers2.getSelectableOptions)(options);
85
+ var hasSearch = selectableOptions.length > 5 && !isMobile;
83
86
  (0, _react.useLayoutEffect)(function () {
84
87
  var handleResize = function handleResize() {
85
88
  return ref.current && setWidth(ref.current.offsetWidth);
@@ -92,9 +95,10 @@ var InputList = function InputList(_ref) {
92
95
  }, []);
93
96
  (0, _react.useLayoutEffect)(function () {
94
97
  if (!visible || !ref.current || options.length <= 5) return;
95
- var optionsContainer = ref.current.querySelector('ui-menu-content > *');
98
+ var menuContainer = ref.current.querySelector('ui-menu-content > *');
99
+ var optionsContainer = hasSearch ? menuContainer === null || menuContainer === void 0 ? void 0 : menuContainer.querySelector('[data-menu-options]') : menuContainer;
96
100
  if (!optionsContainer) return setMaxHeight(undefined);
97
- var next = Array.from(optionsContainer.children).slice(1, 6).reduce(function (sum, option) {
101
+ var next = Array.from(optionsContainer.children).slice(0, 5).reduce(function (sum, option) {
98
102
  return sum + option.offsetHeight;
99
103
  }, 0);
100
104
  setMaxHeight(next);
@@ -113,26 +117,33 @@ var InputList = function InputList(_ref) {
113
117
  };
114
118
  }, [ref, visible]);
115
119
  (0, _react.useEffect)(function () {
120
+ var _optionsContainer$scr;
116
121
  if (multiple || !value || !ref.current || !visible) return;
117
- var optionsContainer = ref.current.querySelector('ui-menu-content > *');
122
+ var menuContainer = ref.current.querySelector('ui-menu-content > *');
123
+ var optionsContainer = hasSearch ? menuContainer === null || menuContainer === void 0 ? void 0 : menuContainer.querySelector('[data-menu-options]') : menuContainer;
118
124
  if (!optionsContainer) return;
119
125
  var flattenedOptions = (0, _helpers2.flattenOptions)(options);
120
126
  var indexOption = flattenedOptions.findIndex(function (option) {
121
127
  return option.value === value;
122
128
  });
123
- var _optionsContainer$chi = optionsContainer.children[indexOption].getBoundingClientRect(),
124
- height = _optionsContainer$chi.height;
125
- optionsContainer.scrollTo({
129
+ var selectedOption = optionsContainer.children[indexOption];
130
+ if (!selectedOption) return;
131
+ var _selectedOption$getBo = selectedOption.getBoundingClientRect(),
132
+ height = _selectedOption$getBo.height;
133
+ (_optionsContainer$scr = optionsContainer.scrollTo) === null || _optionsContainer$scr === void 0 ? void 0 : _optionsContainer$scr.call(optionsContainer, {
126
134
  top: indexOption * height
127
135
  });
128
- }, [multiple, options, ref, value, visible]);
136
+ }, [hasSearch, multiple, options, ref, value, visible]);
129
137
  var handlePress = function handlePress() {
130
138
  setVisible(function (prevState) {
131
139
  return !prevState;
132
140
  });
133
141
  };
134
142
  var handleSelect = function handleSelect(optionValue) {
135
- if (!optionValue) return setVisible(false);
143
+ if (!optionValue || optionValue === EMPTY) {
144
+ optionValue === EMPTY && onChange(undefined);
145
+ return setVisible(false);
146
+ }
136
147
  if (!multiple) {
137
148
  onChange(optionValue);
138
149
  setVisible(false);
@@ -143,7 +154,6 @@ var InputList = function InputList(_ref) {
143
154
  }
144
155
  };
145
156
  var handleSelectAll = function handleSelectAll() {
146
- var selectableOptions = (0, _helpers2.getSelectableOptions)(options);
147
157
  onChange(value.length === selectableOptions.length ? [] : selectableOptions.map(function (option) {
148
158
  return option.value;
149
159
  }));
@@ -180,8 +190,6 @@ var InputList = function InputList(_ref) {
180
190
  var className = others.className,
181
191
  testId = others.testId,
182
192
  rest = _objectWithoutProperties(others, _excluded5);
183
- var selectableOptions = (0, _helpers2.getSelectableOptions)(options);
184
- var hasSearch = selectableOptions.length > 5 && !isMobile;
185
193
  var selected = value ? multiple ? value.map(function (v) {
186
194
  return selectableOptions.find(function (option) {
187
195
  return option.value === v;
@@ -202,28 +210,33 @@ var InputList = function InputList(_ref) {
202
210
  testId: testId
203
211
  }, /*#__PURE__*/_react["default"].createElement(_Menu.Menu, {
204
212
  disabled: disabled,
205
- options: [hasSearch ? {
206
- icon: _primitives.ICON.SEARCH,
207
- children: /*#__PURE__*/_react["default"].createElement(_InputList2.Header, {
208
- l10n: l10n,
209
- multiple: multiple,
210
- options: selectableOptions,
211
- search: search,
212
- value: value,
213
- visible: visible,
214
- onSearch: setSearch,
215
- onSelectAll: handleSelectAll
216
- }),
217
- divider: true,
213
+ header: hasSearch ? /*#__PURE__*/_react["default"].createElement(_primitives.View, {
214
+ row: true,
218
215
  className: style.optionSearch,
219
216
  style: {
220
217
  width: width
221
218
  }
219
+ }, /*#__PURE__*/_react["default"].createElement(_primitives.Icon, {
220
+ value: _primitives.ICON.SEARCH,
221
+ className: style.optionSearchIcon
222
+ }), /*#__PURE__*/_react["default"].createElement(_InputList2.Header, {
223
+ l10n: l10n,
224
+ multiple: multiple,
225
+ options: selectableOptions,
226
+ search: search,
227
+ value: value,
228
+ visible: visible,
229
+ onSearch: setSearch,
230
+ onSelectAll: handleSelectAll
231
+ })) : undefined,
232
+ options: [emptyOption && !multiple && !others.required && selected ? {
233
+ name: emptyOption,
234
+ value: EMPTY
222
235
  } : undefined].concat(_toConsumableArray((0, _helpers2.flattenOptions)(filteredOptions).sort(function (a, b) {
223
236
  if (!sort) return 0;
224
237
  if (a.isGroupHeader || b.isGroupHeader) return 0;
225
238
  return (a.name || '').localeCompare(b.name || '');
226
- }).map(function (option) {
239
+ }))).filter(Boolean).map(function (option) {
227
240
  if (option.isGroupHeader) {
228
241
  return {
229
242
  children: /*#__PURE__*/_react["default"].createElement(_InputList.Group, _objectSpread(_objectSpread({}, option), {}, {
@@ -252,7 +265,7 @@ var InputList = function InputList(_ref) {
252
265
  value: _value
253
266
  };
254
267
  }
255
- }))),
268
+ }),
256
269
  selected: value,
257
270
  title: others.label,
258
271
  top: others.top,
@@ -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","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","useLayoutEffect","handleResize","current","offsetWidth","window","addEventListener","removeEventListener","optionsContainer","querySelector","undefined","children","reduce","sum","option","offsetHeight","useEffect","handleClick","_ref2","target","contains","document","flattenedOptions","flattenOptions","indexOption","findIndex","_optionsContainer$chi","getBoundingClientRect","height","scrollTo","top","handlePress","prevState","handleSelect","optionValue","item","concat","handleSelectAll","selectableOptions","getSelectableOptions","map","normalizedSearch","toLowerCase","filteredOptions","_ref3","rightElement","group","items","filteredItems","_ref4","JSON","stringify","groupMatches","Boolean","className","testId","rest","hasSearch","selected","v","find","caption","getCaption","createElement","View","tag","styles","container","Menu","ICON","SEARCH","Header","onSearch","onSelectAll","divider","optionSearch","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, 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 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\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 optionsContainer = ref.current.querySelector('ui-menu-content > *');\n if (!optionsContainer) return setMaxHeight(undefined);\n\n const next = Array.from(optionsContainer.children)\n .slice(1, 6)\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 optionsContainer = ref.current.querySelector('ui-menu-content > *');\n if (!optionsContainer) return;\n\n const flattenedOptions = flattenOptions(options);\n const indexOption = flattenedOptions.findIndex((option) => option.value === value);\n const { height } = optionsContainer.children[indexOption].getBoundingClientRect();\n\n optionsContainer.scrollTo({ top: indexOption * height });\n }, [multiple, options, ref, value, visible]);\n\n const handlePress = () => {\n setVisible((prevState) => !prevState);\n };\n\n const handleSelect = (optionValue) => {\n if (!optionValue) return setVisible(false);\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 const selectableOptions = getSelectableOptions(options);\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 selectableOptions = getSelectableOptions(options);\n const hasSearch = selectableOptions.length > 5 && !isMobile;\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 options={[\n hasSearch\n ? {\n icon: ICON.SEARCH,\n children: (\n <Header\n {...{ l10n, multiple, options: selectableOptions, search, value, visible }}\n onSearch={setSearch}\n onSelectAll={handleSelectAll}\n />\n ),\n divider: true,\n className: style.optionSearch,\n style: { width },\n }\n : undefined,\n ...flattenOptions(filteredOptions)\n .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 .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 ]}\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","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":[]}
@@ -2,6 +2,7 @@
2
2
  flex: 1;
3
3
  margin-bottom: var(--mirai-ui-input-text-margin-bottom);
4
4
  position: relative;
5
+ width: 100%;
5
6
  }
6
7
 
7
8
  .menu {
@@ -11,7 +12,9 @@
11
12
  }
12
13
 
13
14
  .menu.withSearch {
14
- padding-top: calc(var(--mirai-ui-input-min-height) + var(--mirai-ui-border-width));
15
+ display: flex;
16
+ flex-direction: column;
17
+ overflow-y: hidden;
15
18
  }
16
19
 
17
20
  .menu .option {
@@ -47,14 +50,22 @@
47
50
  }
48
51
 
49
52
  .optionSearch {
53
+ align-items: center;
50
54
  background-color: var(--mirai-ui-base);
51
55
  border-top-left-radius: var(--mirai-ui-button-radius);
52
56
  border-top-right-radius: var(--mirai-ui-button-radius);
57
+ border-bottom: var(--mirai-ui-border-width) solid var(--mirai-ui-content-border);
58
+ display: flex;
59
+ flex-shrink: 0;
60
+ gap: var(--mirai-ui-space-M);
53
61
  height: calc(var(--mirai-ui-input-min-height) + var(--mirai-ui-border-width));
54
- left: 0;
55
- position: absolute;
56
- top: 0;
57
- z-index: var(--mirai-ui-layer-M);
62
+ padding: 0 var(--mirai-ui-space-M);
63
+ position: relative;
64
+ }
65
+
66
+ .optionSearchIcon {
67
+ color: var(--mirai-ui-content);
68
+ flex-shrink: 0;
58
69
  }
59
70
 
60
71
  .optionSearch .input {
@@ -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: { type: 'node', value: <Text tiny info markdown={false}>Popular</Text> },\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: { type: 'node', value: <Text tiny warning markdown={false}>New</Text> },\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 \n {...inputListProps}\n options={optionsWithGroups}\n value={value} \n onChange={handleChange} \n />\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 ? { type: 'node', value: <Text tiny info markdown={false}>Nuevo</Text> }\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":[]}
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":"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","ignoreList":[]}
@@ -12,13 +12,14 @@ var _primitives = require("../../primitives");
12
12
  var _Modal = require("../Modal");
13
13
  var _MenuModule = _interopRequireDefault(require("./Menu.module.css"));
14
14
  var _Menu = require("./Menu.Option");
15
- var _excluded = ["children", "options", "selected", "Template", "title", "visible", "onPress"];
15
+ var _excluded = ["children", "header", "options", "selected", "Template", "title", "visible", "onPress"];
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
17
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
18
18
  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; }
19
19
  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; }
20
20
  var Menu = function Menu(_ref) {
21
21
  var children = _ref.children,
22
+ header = _ref.header,
22
23
  _ref$options = _ref.options,
23
24
  options = _ref$options === void 0 ? [] : _ref$options,
24
25
  selected = _ref.selected,
@@ -31,6 +32,7 @@ var Menu = function Menu(_ref) {
31
32
  others = _objectWithoutProperties(_ref, _excluded);
32
33
  var _useDevice = (0, _hooks.useDevice)(),
33
34
  isMobile = _useDevice.isMobile;
35
+ var hasHeader = Boolean(header);
34
36
  var testId = others.testId;
35
37
  var renderOptions = function renderOptions() {
36
38
  return options.filter(function (option) {
@@ -56,8 +58,11 @@ var Menu = function Menu(_ref) {
56
58
  }, others, {
57
59
  tag: "menu",
58
60
  visible: visible,
59
- className: (0, _helpers.styles)(_MenuModule["default"].menu, visible && _MenuModule["default"].visible, others.className)
60
- }), children, /*#__PURE__*/_react["default"].createElement(_primitives.LayerContent, null, renderOptions())) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children, /*#__PURE__*/_react["default"].createElement(_Modal.Modal, {
61
+ className: (0, _helpers.styles)(_MenuModule["default"].menu, visible && _MenuModule["default"].visible, hasHeader && _MenuModule["default"].withHeader, others.className)
62
+ }), children, /*#__PURE__*/_react["default"].createElement(_primitives.LayerContent, null, header, hasHeader ? /*#__PURE__*/_react["default"].createElement("div", {
63
+ className: _MenuModule["default"].options,
64
+ "data-menu-options": true
65
+ }, renderOptions()) : renderOptions())) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children, /*#__PURE__*/_react["default"].createElement(_Modal.Modal, {
61
66
  title: title,
62
67
  visible: visible,
63
68
  onClose: function onClose(event) {
@@ -68,7 +73,7 @@ var Menu = function Menu(_ref) {
68
73
  },
69
74
  className: (0, _helpers.styles)(_MenuModule["default"].menu, others.className),
70
75
  testId: testId ? "".concat(testId, "-modal") : undefined
71
- }, /*#__PURE__*/_react["default"].createElement(_primitives.ScrollView, {
76
+ }, header, /*#__PURE__*/_react["default"].createElement(_primitives.ScrollView, {
72
77
  scrollIndicator: true,
73
78
  className: _MenuModule["default"].scrollview
74
79
  }, renderOptions())));
@@ -77,6 +82,7 @@ exports.Menu = Menu;
77
82
  Menu.displayName = 'Component:Menu';
78
83
  Menu.propTypes = {
79
84
  children: _propTypes["default"].node,
85
+ header: _propTypes["default"].node,
80
86
  options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
81
87
  children: _propTypes["default"].node,
82
88
  disabled: _propTypes["default"].bool,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["_propTypes","_interopRequireDefault","require","_react","_helpers","_hooks","_primitives","_Modal","_MenuModule","_Menu","_excluded","e","__esModule","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_objectWithoutProperties","o","i","_objectWithoutPropertiesLoose","getOwnPropertySymbols","s","includes","propertyIsEnumerable","Menu","_ref","children","_ref$options","options","selected","_ref$Template","Template","Option","title","visible","_ref$onPress","onPress","others","_useDevice","useDevice","isMobile","testId","renderOptions","filter","option","map","undefined","index","createElement","key","Array","isArray","some","item","value","disabled","event","concat","Layer","forceRender","tag","className","styles","style","menu","LayerContent","Fragment","Modal","onClose","onOverflow","ScrollView","scrollIndicator","scrollview","exports","displayName","propTypes","PropTypes","node","arrayOf","shape","bool","divider","icon","func","label","string","oneOfType","number","any"],"sources":["../../../src/components/Menu/Menu.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Layer, LayerContent, ScrollView } from '../../primitives';\nimport { Modal } from '../Modal';\nimport style from './Menu.module.css';\nimport { Option } from './Menu.Option';\n\nconst Menu = ({\n children,\n options = [],\n selected,\n Template = Option,\n title,\n visible,\n onPress = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const { testId } = others;\n\n const renderOptions = () =>\n options\n .filter((option) => !!option)\n .map((option = {}, index) => (\n <Template\n key={index}\n {...option}\n selected={\n selected\n ? Array.isArray(selected)\n ? selected.some((item) => item === option.value)\n : selected === option.value\n : undefined\n }\n onPress={others.disabled ? undefined : (event) => onPress(option.value, event)}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ));\n\n return !isMobile ? (\n <Layer\n forceRender={false}\n {...others}\n tag=\"menu\"\n visible={visible}\n className={styles(style.menu, visible && style.visible, others.className)}\n >\n {children}\n <LayerContent>{renderOptions()}</LayerContent>\n </Layer>\n ) : (\n <>\n {children}\n <Modal\n title={title}\n visible={visible}\n onClose={(event) => onPress(undefined, event)}\n onOverflow={(event) => onPress(undefined, event)}\n className={styles(style.menu, others.className)}\n testId={testId ? `${testId}-modal` : undefined}\n >\n <ScrollView scrollIndicator className={style.scrollview}>\n {renderOptions()}\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nMenu.displayName = 'Component:Menu';\n\nMenu.propTypes = {\n children: PropTypes.node,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n children: PropTypes.node,\n disabled: PropTypes.bool,\n divider: PropTypes.bool,\n icon: PropTypes.func,\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }),\n ),\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.number),\n ]),\n Template: PropTypes.any,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Menu.js","names":["_propTypes","_interopRequireDefault","require","_react","_helpers","_hooks","_primitives","_Modal","_MenuModule","_Menu","_excluded","e","__esModule","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_objectWithoutProperties","o","i","_objectWithoutPropertiesLoose","getOwnPropertySymbols","s","includes","propertyIsEnumerable","Menu","_ref","children","header","_ref$options","options","selected","_ref$Template","Template","Option","title","visible","_ref$onPress","onPress","others","_useDevice","useDevice","isMobile","hasHeader","Boolean","testId","renderOptions","filter","option","map","undefined","index","createElement","key","Array","isArray","some","item","value","disabled","event","concat","Layer","forceRender","tag","className","styles","style","menu","withHeader","LayerContent","Fragment","Modal","onClose","onOverflow","ScrollView","scrollIndicator","scrollview","exports","displayName","propTypes","PropTypes","node","arrayOf","shape","bool","divider","icon","func","label","string","oneOfType","number","any"],"sources":["../../../src/components/Menu/Menu.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Layer, LayerContent, ScrollView } from '../../primitives';\nimport { Modal } from '../Modal';\nimport style from './Menu.module.css';\nimport { Option } from './Menu.Option';\n\nconst Menu = ({\n children,\n header,\n options = [],\n selected,\n Template = Option,\n title,\n visible,\n onPress = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const hasHeader = Boolean(header);\n\n const { testId } = others;\n\n const renderOptions = () =>\n options\n .filter((option) => !!option)\n .map((option = {}, index) => (\n <Template\n key={index}\n {...option}\n selected={\n selected\n ? Array.isArray(selected)\n ? selected.some((item) => item === option.value)\n : selected === option.value\n : undefined\n }\n onPress={others.disabled ? undefined : (event) => onPress(option.value, event)}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ));\n\n return !isMobile ? (\n <Layer\n forceRender={false}\n {...others}\n tag=\"menu\"\n visible={visible}\n className={styles(style.menu, visible && style.visible, hasHeader && style.withHeader, others.className)}\n >\n {children}\n <LayerContent>\n {header}\n {hasHeader ? (\n <div className={style.options} data-menu-options>\n {renderOptions()}\n </div>\n ) : (\n renderOptions()\n )}\n </LayerContent>\n </Layer>\n ) : (\n <>\n {children}\n <Modal\n title={title}\n visible={visible}\n onClose={(event) => onPress(undefined, event)}\n onOverflow={(event) => onPress(undefined, event)}\n className={styles(style.menu, others.className)}\n testId={testId ? `${testId}-modal` : undefined}\n >\n {header}\n <ScrollView scrollIndicator className={style.scrollview}>\n {renderOptions()}\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nMenu.displayName = 'Component:Menu';\n\nMenu.propTypes = {\n children: PropTypes.node,\n header: PropTypes.node,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n children: PropTypes.node,\n disabled: PropTypes.bool,\n divider: PropTypes.bool,\n icon: PropTypes.func,\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }),\n ),\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.number),\n ]),\n Template: PropTypes.any,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,12 @@
6
6
  overflow: hidden;
7
7
  }
8
8
 
9
+ .menu.withHeader {
10
+ display: flex;
11
+ flex-direction: column;
12
+ overflow: hidden;
13
+ }
14
+
9
15
  .menu .option {
10
16
  align-items: center;
11
17
  box-sizing: border-box;
@@ -32,6 +38,15 @@
32
38
  gap: var(--mirai-ui-space-M);
33
39
  }
34
40
 
41
+ .menu .options {
42
+ min-height: 0;
43
+ }
44
+
45
+ .menu.withHeader .options {
46
+ flex: 1 1 auto;
47
+ overflow-y: auto;
48
+ }
49
+
35
50
  .menu .divider {
36
51
  box-shadow: inset 0 calc(var(--mirai-ui-border-width) * -1) var(--mirai-ui-menu-option-color-disabled);
37
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "2.1.88",
3
+ "version": "2.1.89",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",