@semcore/select 3.5.5 → 3.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/lib/cjs/InputSearch.js +7 -7
- package/lib/cjs/Select.js +14 -16
- package/lib/cjs/Select.js.map +1 -1
- package/lib/es6/InputSearch.js +7 -7
- package/lib/es6/Select.js +14 -16
- package/lib/es6/Select.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.5.7] - 2023-03-23
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/dropdown-menu` [3.6.19 ~> 3.6.20]).
|
|
10
|
+
|
|
11
|
+
## [3.5.6] - 2023-03-23
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- `aria-controls` and `aria-expanded` html attributes wasn't applied on closed dropdown.
|
|
16
|
+
- `aria-activedescendant` was applied to selected option but not on focused one.
|
|
17
|
+
- Option keys are now based on option value.
|
|
18
|
+
- Removed unexpected tabIndex=-1.
|
|
19
|
+
|
|
5
20
|
## [3.5.5] - 2023-03-22
|
|
6
21
|
|
|
7
22
|
### Changed
|
package/lib/cjs/InputSearch.js
CHANGED
|
@@ -44,16 +44,16 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SInputSearch_18ikg_gg_._size_m_18ikg_gg_{height:32px}.___SClose_18ikg_gg_.__hide_18ikg_gg_{visibility:hidden}.___SOutline_18ikg_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
49
|
+
, "18ikg_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SInputSearch": "
|
|
53
|
-
"_size_m": "
|
|
54
|
-
"__SClose": "
|
|
55
|
-
"_hide": "
|
|
56
|
-
"__SOutline": "
|
|
52
|
+
"__SInputSearch": "___SInputSearch_18ikg_gg_",
|
|
53
|
+
"_size_m": "_size_m_18ikg_gg_",
|
|
54
|
+
"__SClose": "___SClose_18ikg_gg_",
|
|
55
|
+
"_hide": "__hide_18ikg_gg_",
|
|
56
|
+
"__SOutline": "___SOutline_18ikg_gg_"
|
|
57
57
|
});
|
|
58
58
|
var MAP_SIZE_TO_ICON = {
|
|
59
59
|
m: [_m["default"], _m2["default"]],
|
package/lib/cjs/Select.js
CHANGED
|
@@ -70,17 +70,17 @@ var style = (
|
|
|
70
70
|
/*__reshadow_css_start__*/
|
|
71
71
|
_core.sstyled.insert(
|
|
72
72
|
/*__inner_css_start__*/
|
|
73
|
-
".
|
|
73
|
+
".___SOptionCheckbox_178hf_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_178hf_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SOptionCheckbox_178hf_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_178hf_gg_._size_l_178hf_gg_{width:20px;height:20px}.___SOptionCheckbox_178hf_gg_._size_l_178hf_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_178hf_gg_.__checked_178hf_gg_:before{background-color:var(--intergalactic-control-primary-info, #008ff8);border-color:var(--intergalactic-control-primary-info, #008ff8)}.___SOptionCheckbox_178hf_gg_.__theme_178hf_gg_:before{border-color:var(--theme_178hf)}.___SOptionCheckbox_178hf_gg_.__theme_178hf_gg_.__checked_178hf_gg_:before{background-color:var(--theme_178hf);border-color:var(--theme_178hf)}.___SOptionCheckbox_178hf_gg_.__selected_178hf_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7))}@media (hover:hover){.___SOptionCheckbox_178hf_gg_.__selected_178hf_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}"
|
|
74
74
|
/*__inner_css_end__*/
|
|
75
|
-
, "
|
|
75
|
+
, "178hf_gg_")
|
|
76
76
|
/*__reshadow_css_end__*/
|
|
77
77
|
, {
|
|
78
|
-
"__SOptionCheckbox": "
|
|
79
|
-
"_size_l": "
|
|
80
|
-
"_checked": "
|
|
81
|
-
"_theme": "
|
|
82
|
-
"--theme": "--
|
|
83
|
-
"_selected": "
|
|
78
|
+
"__SOptionCheckbox": "___SOptionCheckbox_178hf_gg_",
|
|
79
|
+
"_size_l": "_size_l_178hf_gg_",
|
|
80
|
+
"_checked": "__checked_178hf_gg_",
|
|
81
|
+
"_theme": "__theme_178hf_gg_",
|
|
82
|
+
"--theme": "--theme_178hf",
|
|
83
|
+
"_selected": "__selected_178hf_gg_"
|
|
84
84
|
});
|
|
85
85
|
|
|
86
86
|
function isSelectedOption(value, valueOption) {
|
|
@@ -195,10 +195,11 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
195
195
|
getI18nText = _this$asProps2.getI18nText;
|
|
196
196
|
return {
|
|
197
197
|
id: "igc-".concat(uid, "-trigger"),
|
|
198
|
-
'aria-controls':
|
|
198
|
+
'aria-controls': "igc-".concat(uid, "-list"),
|
|
199
199
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-list") : undefined,
|
|
200
200
|
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
201
201
|
'aria-haspopup': 'listbox',
|
|
202
|
+
'aria-expanded': visible ? 'true' : 'false',
|
|
202
203
|
empty: isEmptyValue(value),
|
|
203
204
|
size: size,
|
|
204
205
|
value: value,
|
|
@@ -321,13 +322,12 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
321
322
|
if (options) {
|
|
322
323
|
var _ref = this.asProps;
|
|
323
324
|
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"], (0, _core.assignProps)({}, _ref), /*#__PURE__*/_react["default"].createElement(Select.Trigger, (0, _extends2["default"])({}, other, {
|
|
324
|
-
tabIndex: -1,
|
|
325
325
|
role: "button"
|
|
326
|
-
})), /*#__PURE__*/_react["default"].createElement(Select.Menu, null, options.map(function (option
|
|
326
|
+
})), /*#__PURE__*/_react["default"].createElement(Select.Menu, null, options.map(function (option) {
|
|
327
327
|
return /*#__PURE__*/_react["default"].createElement(Select.Option, (0, _extends2["default"])({
|
|
328
|
-
key:
|
|
328
|
+
key: option.value,
|
|
329
329
|
id: option.value,
|
|
330
|
-
"aria-selected": value ===
|
|
330
|
+
"aria-selected": value === option.value
|
|
331
331
|
}, option), multiselect && /*#__PURE__*/_react["default"].createElement(Select.Option.Checkbox, null), option.children);
|
|
332
332
|
})));
|
|
333
333
|
}
|
|
@@ -366,7 +366,6 @@ function Trigger(_ref5) {
|
|
|
366
366
|
var _ref3 = arguments[0];
|
|
367
367
|
var Children = _ref5.Children,
|
|
368
368
|
name = _ref5.name,
|
|
369
|
-
uid = _ref5.uid,
|
|
370
369
|
value = _ref5.value,
|
|
371
370
|
$hiddenRef = _ref5.$hiddenRef,
|
|
372
371
|
_ref5$tag = _ref5.tag,
|
|
@@ -377,8 +376,7 @@ function Trigger(_ref5) {
|
|
|
377
376
|
"tag": Tag,
|
|
378
377
|
"placeholder": getI18nText('selectPlaceholder'),
|
|
379
378
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined,
|
|
380
|
-
"role": hasInputTrigger && 'combobox' || undefined
|
|
381
|
-
"aria-activedescendant": hasInputTrigger && value && "igc-".concat(uid, "-option-").concat(value) || undefined
|
|
379
|
+
"role": hasInputTrigger && 'combobox' || undefined
|
|
382
380
|
}, _ref3), (0, _addonTextChildren["default"])(Children, Tag.Text || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", {
|
|
383
381
|
type: "hidden",
|
|
384
382
|
defaultValue: value,
|
package/lib/cjs/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","React","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","filter","v","concat","handlers","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","ref","handleOptionNode","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","Children","advanceMode","findComponent","Select","Trigger","displayName","Popper","logger","warn","DropdownMenu","map","option","i","Component","style","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","ButtonTrigger","hasInputTrigger","addonTextChildren","Text","Addon","Checkbox","useBox","SOptionCheckbox","componentProps","theme","styles","sstyled","cn","resolveColor","checked","className","InputSearchWrapper","InputSearch","createComponent","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Divider","Input","parent","context","selectContext"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColor from '@semcore/utils/lib/color';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) this.handlers.visible(false);\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} tabIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({\n Children,\n name,\n uid,\n value,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","React","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","filter","v","concat","handlers","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","ref","handleOptionNode","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","Children","advanceMode","findComponent","Select","Trigger","displayName","Popper","logger","warn","DropdownMenu","map","option","Component","style","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","ButtonTrigger","hasInputTrigger","addonTextChildren","Text","Addon","Checkbox","useBox","SOptionCheckbox","componentProps","theme","styles","sstyled","cn","resolveColor","checked","className","InputSearchWrapper","InputSearch","createComponent","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Divider","Input","parent","context","selectContext"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColor from '@semcore/utils/lib/color';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-list`,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': visible ? 'true' : 'false',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) this.handlers.visible(false);\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} role=\"button\" />\n <Select.Menu>\n {options.map((option) => {\n return (\n <Select.Option\n key={option.value}\n id={option.value}\n aria-selected={value === option.value}\n {...option}\n >\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({ Children, name, value, $hiddenRef, tag: Tag = ButtonTrigger, getI18nText }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|
package/lib/es6/InputSearch.js
CHANGED
|
@@ -21,16 +21,16 @@ var style = (
|
|
|
21
21
|
/*__reshadow_css_start__*/
|
|
22
22
|
_sstyled.insert(
|
|
23
23
|
/*__inner_css_start__*/
|
|
24
|
-
".
|
|
24
|
+
".___SInputSearch_18ikg_gg_._size_m_18ikg_gg_{height:32px}.___SClose_18ikg_gg_.__hide_18ikg_gg_{visibility:hidden}.___SOutline_18ikg_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0}"
|
|
25
25
|
/*__inner_css_end__*/
|
|
26
|
-
, "
|
|
26
|
+
, "18ikg_gg_")
|
|
27
27
|
/*__reshadow_css_end__*/
|
|
28
28
|
, {
|
|
29
|
-
"__SInputSearch": "
|
|
30
|
-
"_size_m": "
|
|
31
|
-
"__SClose": "
|
|
32
|
-
"_hide": "
|
|
33
|
-
"__SOutline": "
|
|
29
|
+
"__SInputSearch": "___SInputSearch_18ikg_gg_",
|
|
30
|
+
"_size_m": "_size_m_18ikg_gg_",
|
|
31
|
+
"__SClose": "___SClose_18ikg_gg_",
|
|
32
|
+
"_hide": "__hide_18ikg_gg_",
|
|
33
|
+
"__SOutline": "___SOutline_18ikg_gg_"
|
|
34
34
|
});
|
|
35
35
|
var MAP_SIZE_TO_ICON = {
|
|
36
36
|
m: [SearchM, CloseM],
|
package/lib/es6/Select.js
CHANGED
|
@@ -37,17 +37,17 @@ var style = (
|
|
|
37
37
|
/*__reshadow_css_start__*/
|
|
38
38
|
_sstyled.insert(
|
|
39
39
|
/*__inner_css_start__*/
|
|
40
|
-
".
|
|
40
|
+
".___SOptionCheckbox_178hf_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_178hf_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SOptionCheckbox_178hf_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_178hf_gg_._size_l_178hf_gg_{width:20px;height:20px}.___SOptionCheckbox_178hf_gg_._size_l_178hf_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_178hf_gg_.__checked_178hf_gg_:before{background-color:var(--intergalactic-control-primary-info, #008ff8);border-color:var(--intergalactic-control-primary-info, #008ff8)}.___SOptionCheckbox_178hf_gg_.__theme_178hf_gg_:before{border-color:var(--theme_178hf)}.___SOptionCheckbox_178hf_gg_.__theme_178hf_gg_.__checked_178hf_gg_:before{background-color:var(--theme_178hf);border-color:var(--theme_178hf)}.___SOptionCheckbox_178hf_gg_.__selected_178hf_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7))}@media (hover:hover){.___SOptionCheckbox_178hf_gg_.__selected_178hf_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}"
|
|
41
41
|
/*__inner_css_end__*/
|
|
42
|
-
, "
|
|
42
|
+
, "178hf_gg_")
|
|
43
43
|
/*__reshadow_css_end__*/
|
|
44
44
|
, {
|
|
45
|
-
"__SOptionCheckbox": "
|
|
46
|
-
"_size_l": "
|
|
47
|
-
"_checked": "
|
|
48
|
-
"_theme": "
|
|
49
|
-
"--theme": "--
|
|
50
|
-
"_selected": "
|
|
45
|
+
"__SOptionCheckbox": "___SOptionCheckbox_178hf_gg_",
|
|
46
|
+
"_size_l": "_size_l_178hf_gg_",
|
|
47
|
+
"_checked": "__checked_178hf_gg_",
|
|
48
|
+
"_theme": "__theme_178hf_gg_",
|
|
49
|
+
"--theme": "--theme_178hf",
|
|
50
|
+
"_selected": "__selected_178hf_gg_"
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
function isSelectedOption(value, valueOption) {
|
|
@@ -169,10 +169,11 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
169
169
|
getI18nText = _this$asProps2.getI18nText;
|
|
170
170
|
return {
|
|
171
171
|
id: "igc-".concat(uid, "-trigger"),
|
|
172
|
-
'aria-controls':
|
|
172
|
+
'aria-controls': "igc-".concat(uid, "-list"),
|
|
173
173
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-list") : undefined,
|
|
174
174
|
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
175
175
|
'aria-haspopup': 'listbox',
|
|
176
|
+
'aria-expanded': visible ? 'true' : 'false',
|
|
176
177
|
empty: isEmptyValue(value),
|
|
177
178
|
size: size,
|
|
178
179
|
value: value,
|
|
@@ -296,13 +297,12 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
296
297
|
if (options) {
|
|
297
298
|
var _ref = this.asProps;
|
|
298
299
|
return /*#__PURE__*/React.createElement(DropdownMenu, _assignProps({}, _ref), /*#__PURE__*/React.createElement(Select.Trigger, _extends({}, other, {
|
|
299
|
-
tabIndex: -1,
|
|
300
300
|
role: "button"
|
|
301
|
-
})), /*#__PURE__*/React.createElement(Select.Menu, null, options.map(function (option
|
|
301
|
+
})), /*#__PURE__*/React.createElement(Select.Menu, null, options.map(function (option) {
|
|
302
302
|
return /*#__PURE__*/React.createElement(Select.Option, _extends({
|
|
303
|
-
key:
|
|
303
|
+
key: option.value,
|
|
304
304
|
id: option.value,
|
|
305
|
-
"aria-selected": value ===
|
|
305
|
+
"aria-selected": value === option.value
|
|
306
306
|
}, option), multiselect && /*#__PURE__*/React.createElement(Select.Option.Checkbox, null), option.children);
|
|
307
307
|
})));
|
|
308
308
|
}
|
|
@@ -345,7 +345,6 @@ function Trigger(_ref5) {
|
|
|
345
345
|
var _ref3 = arguments[0];
|
|
346
346
|
var Children = _ref5.Children,
|
|
347
347
|
name = _ref5.name,
|
|
348
|
-
uid = _ref5.uid,
|
|
349
348
|
value = _ref5.value,
|
|
350
349
|
$hiddenRef = _ref5.$hiddenRef,
|
|
351
350
|
_ref5$tag = _ref5.tag,
|
|
@@ -356,8 +355,7 @@ function Trigger(_ref5) {
|
|
|
356
355
|
"tag": Tag,
|
|
357
356
|
"placeholder": getI18nText('selectPlaceholder'),
|
|
358
357
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined,
|
|
359
|
-
"role": hasInputTrigger && 'combobox' || undefined
|
|
360
|
-
"aria-activedescendant": hasInputTrigger && value && "igc-".concat(uid, "-option-").concat(value) || undefined
|
|
358
|
+
"role": hasInputTrigger && 'combobox' || undefined
|
|
361
359
|
}, _ref3), addonTextChildren(Children, Tag.Text || ButtonTrigger.Text, Tag.Addon || ButtonTrigger.Addon, true), name && /*#__PURE__*/React.createElement("input", {
|
|
362
360
|
type: "hidden",
|
|
363
361
|
defaultValue: value,
|
package/lib/es6/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColor","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","filter","v","concat","handlers","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","ref","handleOptionNode","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","Children","advanceMode","Select","Trigger","displayName","Popper","warn","map","option","i","style","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","hasInputTrigger","Text","Addon","Checkbox","SOptionCheckbox","componentProps","theme","styles","checked","className","InputSearchWrapper","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Input","parent","context"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColor from '@semcore/utils/lib/color';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) this.handlers.visible(false);\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} tabIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({\n Children,\n name,\n uid,\n value,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColor","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","filter","v","concat","handlers","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","ref","handleOptionNode","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","Children","advanceMode","Select","Trigger","displayName","Popper","warn","map","option","style","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","hasInputTrigger","Text","Addon","Checkbox","SOptionCheckbox","componentProps","theme","styles","checked","className","InputSearchWrapper","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Input","parent","context"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColor from '@semcore/utils/lib/color';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-list`,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': visible ? 'true' : 'false',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) this.handlers.visible(false);\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} role=\"button\" />\n <Select.Menu>\n {options.map((option) => {\n return (\n <Select.Option\n key={option.value}\n id={option.value}\n aria-selected={value === option.value}\n {...option}\n >\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({ Children, name, value, $hiddenRef, tag: Tag = ButtonTrigger, getI18nText }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|