@semcore/select 16.0.0-prerelease.2 → 16.0.0-prerelease.21
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 +31 -1
- package/lib/cjs/InputSearch.js +8 -4
- package/lib/cjs/InputSearch.js.map +1 -1
- package/lib/cjs/Select.js +4 -2
- package/lib/cjs/Select.js.map +1 -1
- package/lib/es6/InputSearch.js +8 -4
- package/lib/es6/InputSearch.js.map +1 -1
- package/lib/es6/Select.js +4 -2
- package/lib/es6/Select.js.map +1 -1
- package/lib/esm/InputSearch.mjs +106 -83
- package/lib/esm/Select.mjs +297 -228
- package/lib/esm/context.mjs +3 -3
- package/lib/esm/index.mjs +5 -5
- package/lib/esm/style/input-search.shadow.css +20 -0
- package/lib/esm/style/select.shadow.css +94 -0
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
- package/lib/esm/translations/de.json.mjs +8 -6
- package/lib/esm/translations/en.json.mjs +8 -6
- package/lib/esm/translations/es.json.mjs +8 -6
- package/lib/esm/translations/fr.json.mjs +8 -6
- package/lib/esm/translations/it.json.mjs +8 -6
- package/lib/esm/translations/ja.json.mjs +8 -6
- package/lib/esm/translations/ko.json.mjs +8 -6
- package/lib/esm/translations/nl.json.mjs +8 -6
- package/lib/esm/translations/pl.json.mjs +8 -6
- package/lib/esm/translations/pt.json.mjs +8 -6
- package/lib/esm/translations/sv.json.mjs +8 -6
- package/lib/esm/translations/tr.json.mjs +8 -6
- package/lib/esm/translations/vi.json.mjs +8 -6
- package/lib/esm/translations/zh.json.mjs +8 -6
- package/package.json +12 -12
package/lib/es6/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Root","sstyled","lastInteraction","DropdownMenu","Dropdown","AbstractDropdown","enhance","selectedIndexContext","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","localizedMessages","isInputTriggerTag","style","_sstyled","insert","callAllEventHandlers","isAdvanceMode","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","optionValue","index","e","newValue","_this$asProps","asProps","filter","v","handlers","visible","preventDefault","emptyValue","_createClass","key","itemRef","props","node","_get","_getPrototypeOf","prototype","highlightedIndex","isHighlighted","scrollToNode","uncontrolledProps","_this2","_objectSpread","hasInputSearch","Children","Select","displayName","defaultIndex","defaultHighlightedIndex","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","_this3","_this$asProps2","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","children","isMenu","Menu","ariaControls","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","empty","$hiddenRef","active","onClear","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","handlePreventPopperKeyDown","getOptionProps","_props$selected","_this4","_this$asProps3","_this$asProps3$size","size","highlighted","isKeyboard","role","onClick","bindHandlerOptionClick","ref","getOptionCheckboxProps","_this$asProps4","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps5","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Trigger","Popper","warn","itemProps","_ref","createElement","_assignProps","map","option","Option","_extends","id","Checkbox","_assignProps2","Object","values","_props$highlightedInd","_props$selectedIndex","_props$interaction","_props$timeout","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Value","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","hasCheckbox","hasContent","Content","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","Hint","Group","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\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\nclass RootSelect extends AbstractDropdown {\n static displayName = 'Select';\n\n static style = style;\n static enhance = Object.values(enhance).concat([resolveColorEnhance()]);\n\n static defaultProps = (props) => {\n const hasInputSearch =\n props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,\n defaultSelectedIndex: props.selectedIndex ?? defaultIndex,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n interaction: props.interaction ?? 'click',\n inlineActions: false,\n timeout: props.timeout ?? 0,\n };\n };\n\n role = 'listbox';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n if (isHighlighted) {\n this.scrollToNode(node);\n }\n }\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n const hasInputSearch = isAdvanceMode(\n this.asProps.Children,\n [Select.InputSearch.displayName],\n true,\n );\n\n const defaultIndex = hasInputSearch ? null : this.props.defaultHighlightedIndex;\n\n this.handlers.highlightedIndex(defaultIndex);\n\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll('[role=\"option\"]');\n const selected = this.menuRef.current?.querySelector('[aria-selected=\"true\"]');\n\n if (selected && options) {\n this.scrollToNode(selected);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n getI18nText,\n highlightedIndex,\n uid,\n Children,\n children: hasChildren,\n } = this.asProps;\n\n const isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;\n const ariaControls = isMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': isMenu ? 'listbox' : 'dialog',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null && this.itemRefs[highlightedIndex]\n ? `igc-${uid}-option-${highlightedIndex}`\n : undefined,\n empty: isEmptyValue(value),\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 onBlur: () => {\n // if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option\n if (this.asProps.visible) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n this.handlers.highlightedIndex(null);\n }\n },\n onFocus: () => {\n // if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option\n if (this.asProps.visible) {\n const index = this.prevHighlightedIndex;\n this.handlers.highlightedIndex(index);\n }\n },\n };\n }\n\n getListProps() {\n const { multiselect } = this.asProps;\n\n return {\n ...super.getListProps(),\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getOptionProps(props, index) {\n const { value, highlightedIndex, size = 'm' } = this.asProps;\n const highlighted =\n index === highlightedIndex && lastInteraction.isKeyboard() && !props.disabled;\n const selected = props.selected ?? isSelectedOption(value, props.value);\n\n return {\n ...super.getItemProps(props, index),\n highlighted,\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value, index),\n ref: (node) => this.itemRef(props, index, node),\n size,\n };\n }\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\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, index) => (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) {\n this.handlers.visible(false);\n e.preventDefault();\n }\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, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\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 this.itemProps = [];\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...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\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={Dropdown.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n role={'combobox'}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Value || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item}>\n <optionPropsContext.Provider value={props}>\n {hasCheckbox && !hasContent ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n ) : (\n <Children />\n )}\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\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: Dropdown.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\nSelect.selectedIndexContext = selectedIndexContext;\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Root","sstyled","lastInteraction","DropdownMenu","Dropdown","AbstractDropdown","enhance","selectedIndexContext","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","localizedMessages","isInputTriggerTag","style","_sstyled","insert","callAllEventHandlers","isAdvanceMode","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","optionValue","index","e","newValue","_this$asProps","asProps","filter","v","handlers","visible","preventDefault","emptyValue","_createClass","key","itemRef","props","node","_get","_getPrototypeOf","prototype","highlightedIndex","isHighlighted","scrollToNode","uncontrolledProps","_this2","_objectSpread","hasInputSearch","Children","Select","displayName","defaultIndex","defaultHighlightedIndex","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","_this3","_this$asProps2","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","children","isMenu","Menu","ariaControls","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","empty","$hiddenRef","active","onClear","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","handlePreventPopperKeyDown","getOptionProps","_props$selected","_this4","_this$asProps3","_this$asProps3$size","size","highlighted","isKeyboard","role","onClick","bindHandlerOptionClick","ref","getOptionCheckboxProps","_this$asProps4","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps5","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Trigger","Popper","warn","itemProps","_ref","createElement","_assignProps","map","option","Option","_extends","id","Checkbox","_assignProps2","Object","values","_props$highlightedInd","_props$selectedIndex","_props$interaction","_props$timeout","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Value","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","hasCheckbox","hasContent","Content","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","Hint","Group","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\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\nclass RootSelect extends AbstractDropdown {\n static displayName = 'Select';\n\n static style = style;\n static enhance = Object.values(enhance).concat([resolveColorEnhance()]);\n\n static defaultProps = (props) => {\n const hasInputSearch =\n props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,\n defaultSelectedIndex: props.selectedIndex ?? defaultIndex,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n interaction: props.interaction ?? 'click',\n inlineActions: false,\n timeout: props.timeout ?? 0,\n };\n };\n\n role = 'listbox';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n if (isHighlighted) {\n this.scrollToNode(node);\n }\n }\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n const hasInputSearch = isAdvanceMode(\n this.asProps.Children,\n [Select.InputSearch.displayName],\n true,\n );\n\n const defaultIndex = hasInputSearch ? null : this.props.defaultHighlightedIndex;\n\n this.handlers.highlightedIndex(defaultIndex);\n\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll('[role=\"option\"]');\n const selected = this.menuRef.current?.querySelector('[aria-selected=\"true\"]');\n\n if (selected && options) {\n this.scrollToNode(selected);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n getI18nText,\n highlightedIndex,\n uid,\n Children,\n children: hasChildren,\n } = this.asProps;\n\n const isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;\n const ariaControls = isMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': isMenu ? 'listbox' : 'dialog',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null && this.itemRefs[highlightedIndex]\n ? `igc-${uid}-option-${highlightedIndex}`\n : undefined,\n empty: isEmptyValue(value),\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 onBlur: () => {\n // if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option\n if (this.asProps.visible) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n this.handlers.highlightedIndex(null);\n }\n },\n onFocus: () => {\n // if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option\n if (this.asProps.visible) {\n const index = this.prevHighlightedIndex;\n this.handlers.highlightedIndex(index);\n }\n },\n };\n }\n\n getListProps() {\n const { multiselect } = this.asProps;\n\n return {\n ...super.getListProps(),\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getOptionProps(props, index) {\n const { value, highlightedIndex, size = 'm' } = this.asProps;\n const highlighted =\n index === highlightedIndex && lastInteraction.isKeyboard() && !props.disabled;\n const selected = props.selected ?? isSelectedOption(value, props.value);\n\n return {\n ...super.getItemProps(props, index),\n highlighted,\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value, index),\n ref: (node) => this.itemRef(props, index, node),\n size,\n };\n }\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\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, index) => (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) {\n this.handlers.visible(false);\n e.preventDefault();\n }\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, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\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 this.itemProps = [];\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...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\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={Dropdown.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n role={'combobox'}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Value || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item}>\n <optionPropsContext.Provider value={props}>\n {hasCheckbox && !hasContent ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n ) : (\n <Children />\n )}\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\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: Dropdown.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\nSelect.selectedIndexContext = selectedIndexContext;\n\nexport default Select;\n"],"mappings":"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"}
|
package/lib/esm/InputSearch.mjs
CHANGED
|
@@ -1,119 +1,142 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { sstyled
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { ButtonLink
|
|
14
|
-
import { selectContext
|
|
15
|
-
import
|
|
16
|
-
import { localizedMessages
|
|
17
|
-
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
import { sstyled, createComponent, assignProps, Component } from "@semcore/core";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import SearchM from "@semcore/icon/Search/m";
|
|
11
|
+
import CloseM from "@semcore/icon/Close/m";
|
|
12
|
+
import Input from "@semcore/input";
|
|
13
|
+
import { ButtonLink } from "@semcore/button";
|
|
14
|
+
import { selectContext } from "./context.mjs";
|
|
15
|
+
import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
|
|
16
|
+
import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
|
|
17
|
+
/*!__reshadow-styles__:"./style/input-search.shadow.css"*/
|
|
18
|
+
var style = (
|
|
18
19
|
/*__reshadow_css_start__*/
|
|
19
|
-
(
|
|
20
|
+
(sstyled.insert(
|
|
20
21
|
/*__inner_css_start__*/
|
|
21
22
|
".___SInputSearch_l5y2o_gg_._size_m_l5y2o_gg_{height:32px}.___SSearchClear_l5y2o_gg_{padding:0 var(--intergalactic-spacing-2x, 8px)}.___SSearchClear_l5y2o_gg_.__hide_l5y2o_gg_{visibility:hidden}.___SOutline_l5y2o_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;box-sizing:content-box}",
|
|
23
|
+
/*__inner_css_end__*/
|
|
22
24
|
"l5y2o_gg_"
|
|
23
|
-
),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
), /*__reshadow_css_end__*/
|
|
26
|
+
{
|
|
27
|
+
"__SInputSearch": "___SInputSearch_l5y2o_gg_",
|
|
28
|
+
"_size_m": "_size_m_l5y2o_gg_",
|
|
29
|
+
"__SSearchClear": "___SSearchClear_l5y2o_gg_",
|
|
30
|
+
"_hide": "__hide_l5y2o_gg_",
|
|
31
|
+
"__SOutline": "___SOutline_l5y2o_gg_"
|
|
29
32
|
})
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
);
|
|
34
|
+
var InputSearchRoot = /* @__PURE__ */ function(_Component) {
|
|
35
|
+
_inherits(InputSearchRoot2, _Component);
|
|
36
|
+
var _super = _createSuper(InputSearchRoot2);
|
|
37
|
+
function InputSearchRoot2() {
|
|
38
|
+
var _this;
|
|
39
|
+
_classCallCheck(this, InputSearchRoot2);
|
|
40
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
41
|
+
args[_key] = arguments[_key];
|
|
42
|
+
}
|
|
43
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
44
|
+
_defineProperty(_assertThisInitialized(_this), "inputRef", /* @__PURE__ */ React.createRef());
|
|
45
|
+
_defineProperty(_assertThisInitialized(_this), "closeIconRef", /* @__PURE__ */ React.createRef());
|
|
46
|
+
_defineProperty(_assertThisInitialized(_this), "handleClear", function(e) {
|
|
47
|
+
_this.handlers.value("", e);
|
|
48
|
+
setTimeout(function() {
|
|
49
|
+
if (document.activeElement === document.body || document.activeElement === _this.closeIconRef.current) {
|
|
50
|
+
var _this$inputRef$curren;
|
|
51
|
+
(_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.focus();
|
|
43
52
|
}
|
|
44
53
|
}, 0);
|
|
45
|
-
})
|
|
54
|
+
});
|
|
55
|
+
return _this;
|
|
46
56
|
}
|
|
47
|
-
|
|
57
|
+
_createClass(InputSearchRoot2, [{
|
|
48
58
|
key: "uncontrolledProps",
|
|
49
|
-
value: function() {
|
|
59
|
+
value: function uncontrolledProps() {
|
|
50
60
|
return {
|
|
51
61
|
value: null
|
|
52
62
|
};
|
|
53
63
|
}
|
|
54
64
|
}, {
|
|
55
65
|
key: "getValueProps",
|
|
56
|
-
value: function() {
|
|
57
|
-
var
|
|
66
|
+
value: function getValueProps() {
|
|
67
|
+
var _this$asProps = this.asProps, value = _this$asProps.value, onChange = _this$asProps.onChange, getI18nText = _this$asProps.getI18nText, hasChildren = _this$asProps.children;
|
|
58
68
|
return {
|
|
59
|
-
value
|
|
60
|
-
onChange:
|
|
61
|
-
autoFocus:
|
|
69
|
+
value,
|
|
70
|
+
onChange: hasChildren ? onChange : void 0,
|
|
71
|
+
autoFocus: true,
|
|
62
72
|
ref: this.inputRef,
|
|
63
|
-
placeholder:
|
|
64
|
-
"aria-label":
|
|
73
|
+
placeholder: getI18nText("Select.InputSearch.Value:placeholder"),
|
|
74
|
+
"aria-label": getI18nText("Select.InputSearch.Value:aria-label")
|
|
65
75
|
};
|
|
66
76
|
}
|
|
67
77
|
}, {
|
|
68
78
|
key: "getClearProps",
|
|
69
|
-
value: function() {
|
|
70
|
-
var
|
|
79
|
+
value: function getClearProps() {
|
|
80
|
+
var _this$asProps2 = this.asProps, value = _this$asProps2.value, getI18nText = _this$asProps2.getI18nText;
|
|
71
81
|
return {
|
|
72
82
|
ref: this.closeIconRef,
|
|
73
83
|
/* hide through css because the width of the input changes */
|
|
74
|
-
hide: !
|
|
75
|
-
"aria-hidden": !
|
|
76
|
-
"aria-label":
|
|
84
|
+
hide: !value,
|
|
85
|
+
"aria-hidden": !value,
|
|
86
|
+
"aria-label": getI18nText("clearSearch"),
|
|
77
87
|
onClick: this.handleClear
|
|
78
88
|
};
|
|
79
89
|
}
|
|
80
90
|
}, {
|
|
81
91
|
key: "render",
|
|
82
|
-
value: function() {
|
|
83
|
-
var
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
92
|
+
value: function render() {
|
|
93
|
+
var _ref = this.asProps, _ref5;
|
|
94
|
+
var Value = InputSearch.Value;
|
|
95
|
+
var SInputSearch = Input;
|
|
96
|
+
var _this$asProps3 = this.asProps, size = _this$asProps3.size, styles = _this$asProps3.styles, hasChildren = _this$asProps3.children, Children = _this$asProps3.Children;
|
|
97
|
+
return _ref5 = sstyled(styles), /* @__PURE__ */ React.createElement(SInputSearch, _ref5.cn("SInputSearch", {
|
|
98
|
+
"size": size || this.context.size || "m",
|
|
99
|
+
"styles": styles
|
|
100
|
+
}), hasChildren ? /* @__PURE__ */ React.createElement(Children, _ref5.cn("Children", {})) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(InputSearch.SearchIcon, null), /* @__PURE__ */ React.createElement(Value, _ref5.cn("Value", _objectSpread({}, assignProps({}, _ref)))), /* @__PURE__ */ React.createElement(InputSearch.Clear, null)));
|
|
88
101
|
}
|
|
89
|
-
}])
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
102
|
+
}]);
|
|
103
|
+
return InputSearchRoot2;
|
|
104
|
+
}(Component);
|
|
105
|
+
_defineProperty(InputSearchRoot, "displayName", "InputSearch");
|
|
106
|
+
_defineProperty(InputSearchRoot, "style", style);
|
|
107
|
+
_defineProperty(InputSearchRoot, "enhance", [i18nEnhance(localizedMessages)]);
|
|
108
|
+
_defineProperty(InputSearchRoot, "defaultProps", {
|
|
95
109
|
defaultValue: "",
|
|
96
|
-
i18n:
|
|
110
|
+
i18n: localizedMessages,
|
|
97
111
|
locale: "en"
|
|
98
112
|
});
|
|
99
|
-
|
|
100
|
-
var
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
_defineProperty(InputSearchRoot, "contextType", selectContext);
|
|
114
|
+
var SearchIcon = function SearchIcon2(props) {
|
|
115
|
+
var _ref2 = arguments[0], _ref6;
|
|
116
|
+
var SSearchIcon = Input.Addon;
|
|
117
|
+
var styles = props.styles;
|
|
118
|
+
return _ref6 = sstyled(styles), /* @__PURE__ */ React.createElement(SSearchIcon, _ref6.cn("SSearchIcon", _objectSpread({}, assignProps({}, _ref2))), /* @__PURE__ */ React.createElement(SearchM, _ref6.cn("SearchM", {})));
|
|
119
|
+
};
|
|
120
|
+
var SearchValue = function SearchValue2(props) {
|
|
121
|
+
var _ref3 = arguments[0], _ref7;
|
|
122
|
+
var SSearchValue = Input.Value;
|
|
123
|
+
var styles = props.styles;
|
|
124
|
+
return _ref7 = sstyled(styles), /* @__PURE__ */ React.createElement(SSearchValue, _ref7.cn("SSearchValue", _objectSpread({}, assignProps({}, _ref3))));
|
|
125
|
+
};
|
|
126
|
+
var SearchClear = function SearchClear2(props) {
|
|
127
|
+
var _ref4 = arguments[0], _ref8;
|
|
128
|
+
var SSearchClear = ButtonLink;
|
|
129
|
+
var styles = props.styles;
|
|
130
|
+
return _ref8 = sstyled(styles), /* @__PURE__ */ React.createElement(SSearchClear, _ref8.cn("SSearchClear", _objectSpread({}, assignProps({
|
|
131
|
+
"addonLeft": CloseM,
|
|
132
|
+
"use": "secondary"
|
|
133
|
+
}, _ref4))));
|
|
134
|
+
};
|
|
135
|
+
var InputSearch = createComponent(InputSearchRoot, {
|
|
136
|
+
SearchIcon,
|
|
137
|
+
Value: SearchValue,
|
|
138
|
+
Clear: SearchClear
|
|
116
139
|
});
|
|
117
140
|
export {
|
|
118
|
-
|
|
141
|
+
InputSearch as default
|
|
119
142
|
};
|