@semcore/select 17.0.0-prerelease.29 → 17.0.0-prerelease.31
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 +1 -1
- package/lib/cjs/Select.js +4 -7
- package/lib/cjs/Select.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/es6/Select.js +4 -7
- package/lib/es6/Select.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/esm/Select.mjs +4 -7
- package/lib/types/index.d.ts +11 -5
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
package/lib/cjs/Select.js
CHANGED
|
@@ -277,7 +277,6 @@ class RootSelect extends _dropdown.AbstractDropdown {
|
|
|
277
277
|
const defaultIndex = hasInputSearch ? null : 0;
|
|
278
278
|
return {
|
|
279
279
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
280
|
-
size: 'm',
|
|
281
280
|
defaultValue: getEmptyValue(props.multiselect),
|
|
282
281
|
defaultVisible: false,
|
|
283
282
|
defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,
|
|
@@ -411,15 +410,13 @@ function OptionText(providedProps) {
|
|
|
411
410
|
selected: optionProps?.selected,
|
|
412
411
|
disabled: optionProps?.disabled,
|
|
413
412
|
size: optionProps?.size,
|
|
414
|
-
hintProps: optionProps?.hintProps ?? {},
|
|
415
413
|
...(providedProps || {})
|
|
416
414
|
}), [providedProps, optionProps]);
|
|
417
|
-
if (optionProps.itemRef) {
|
|
418
|
-
props.hintProps.triggerRef = optionProps.itemRef;
|
|
419
|
-
}
|
|
420
|
-
props.hintProps.visible = selectedIndex === optionProps.index;
|
|
421
415
|
return _ref9 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react.default.createElement(_typography.Text, _ref9.cn("Text", {
|
|
422
|
-
...props
|
|
416
|
+
...props,
|
|
417
|
+
"hint:triggerRef": optionProps.itemRef,
|
|
418
|
+
"hint:visible": selectedIndex === optionProps.index,
|
|
419
|
+
"hint:placement": 'right'
|
|
423
420
|
}));
|
|
424
421
|
}
|
|
425
422
|
const InputSearchWrapper = function () {
|
package/lib/cjs/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_core","require","_baseComponents","_baseTrigger","_addonTextChildren","_interopRequireDefault","_assignProps7","_resolveColorEnhance","_findComponent","_interopRequireWildcard","_logger","_divider","_dropdown","_dropdownMenu","_typography","_classnames","_react","_context","_InputSearch","_intergalacticDynamicLocales","style","sstyled","insert","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","ListBoxContextProvider","children","default","createElement","hideScrollBarsFromScreenReadersContext","Provider","RootSelect","AbstractDropdown","constructor","args","_defineProperty2","optionValue","index","e","newValue","asProps","filter","v","concat","handlers","highlightedIndex","visible","preventDefault","emptyValue","itemRef","props","node","isHighlighted","scrollToNode","uncontrolledProps","hasInputSearch","isAdvanceMode","Children","Select","InputSearch","displayName","defaultIndex","lastInteraction","isMouse","defaultHighlightedIndex","setTimeout","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","isMenu","Menu","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","onKeyDown","handlePreventPopperKeyDown","getOptionProps","size","highlighted","isKeyboard","getItemProps","bindHandlerOptionClick","getOptionCheckboxProps","resolveColor","getDividerProps","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_value","forcedAdvancedMode","other","advancedMode","findComponent","Trigger","Popper","logger","warn","itemProps","_ref","DropdownMenu","assignProps","map","option","Option","_extends2","key","id","Checkbox","Object","values","enhance","resolveColorEnhance","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","localizedMessages","locale","interaction","inlineActions","timeout","styles","$hiddenRef","tag","Tag","ButtonTrigger","_ref3","arguments[0]","_ref7","hasInputTrigger","isInputTriggerTag","SSelectTrigger","Dropdown","cn","addonTextChildren","Text","Value","Addon","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","role","List","optionPropsContext","React","createContext","_ref5","_ref8","SSelectOption","Item","useRef","hasCheckbox","hasContent","Content","optionPropsContextValue","providedProps","optionProps","useContext","useMemo","SOptionCheckbox","componentProps","useBox","theme","indeterminate","className","tabIndex","OptionText","_ref9","selectedIndexContext","hintProps","triggerRef","InputSearchWrapper","_ref6","createComponent","Hint","Group","Divider","_______childrenComponents","Input","parent","context","selectContext","wrapSelect","wrapper","exports","_default"],"sources":["../../src/Select.jsx"],"sourcesContent":["import { hideScrollBarsFromScreenReadersContext, useBox, isInputTriggerTag } from '@semcore/base-components';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport Divider from '@semcore/divider';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { Text } from '@semcore/typography';\nimport cn from 'classnames';\nimport React from 'react';\n\nimport { selectContext } from './context';\nimport InputSearch from './InputSearch';\nimport style from './style/select.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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 ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\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, [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ], 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 [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ],\n true,\n );\n\n const defaultIndex = hasInputSearch || lastInteraction.isMouse()\n ? null\n : 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.highlightedIndex(index);\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: _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 || 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\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <Select.Popper {...popperProps} role={null}>\n <Root render={Select.List} />\n </Select.Popper>\n </ListBoxContextProvider>\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children, highlighted } = props;\n const itemRef = React.useRef(null);\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n const optionPropsContextValue = {\n ...props,\n itemRef,\n highlighted,\n };\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item} ref={itemRef}>\n <optionPropsContext.Provider value={optionPropsContextValue}>\n {hasCheckbox && !hasContent\n ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n )\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\nfunction OptionText(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const selectedIndex = React.useContext(selectedIndexContext);\n const props = React.useMemo(\n () => ({\n key: optionProps?.id,\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n hintProps: optionProps?.hintProps ?? {},\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n\n if (optionProps.itemRef) {\n props.hintProps.triggerRef = optionProps.itemRef;\n }\n\n props.hintProps.visible = selectedIndex === optionProps.index;\n\n return sstyled(props.styles)(\n <Text\n {...props}\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: Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Text: OptionText,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_core","require","_baseComponents","_baseTrigger","_addonTextChildren","_interopRequireDefault","_assignProps7","_resolveColorEnhance","_findComponent","_interopRequireWildcard","_logger","_divider","_dropdown","_dropdownMenu","_typography","_classnames","_react","_context","_InputSearch","_intergalacticDynamicLocales","style","sstyled","insert","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","ListBoxContextProvider","children","default","createElement","hideScrollBarsFromScreenReadersContext","Provider","RootSelect","AbstractDropdown","constructor","args","_defineProperty2","optionValue","index","e","newValue","asProps","filter","v","concat","handlers","highlightedIndex","visible","preventDefault","emptyValue","itemRef","props","node","isHighlighted","scrollToNode","uncontrolledProps","hasInputSearch","isAdvanceMode","Children","Select","InputSearch","displayName","defaultIndex","lastInteraction","isMouse","defaultHighlightedIndex","setTimeout","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","isMenu","Menu","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","onKeyDown","handlePreventPopperKeyDown","getOptionProps","size","highlighted","isKeyboard","getItemProps","bindHandlerOptionClick","getOptionCheckboxProps","resolveColor","getDividerProps","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_value","forcedAdvancedMode","other","advancedMode","findComponent","Trigger","Popper","logger","warn","itemProps","_ref","DropdownMenu","assignProps","map","option","Option","_extends2","key","id","Checkbox","Object","values","enhance","resolveColorEnhance","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","localizedMessages","locale","interaction","inlineActions","timeout","styles","$hiddenRef","tag","Tag","ButtonTrigger","_ref3","arguments[0]","_ref7","hasInputTrigger","isInputTriggerTag","SSelectTrigger","Dropdown","cn","addonTextChildren","Text","Value","Addon","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","role","List","optionPropsContext","React","createContext","_ref5","_ref8","SSelectOption","Item","useRef","hasCheckbox","hasContent","Content","optionPropsContextValue","providedProps","optionProps","useContext","useMemo","SOptionCheckbox","componentProps","useBox","theme","indeterminate","className","tabIndex","OptionText","_ref9","selectedIndexContext","InputSearchWrapper","_ref6","createComponent","Hint","Group","Divider","_______childrenComponents","Input","parent","context","selectContext","wrapSelect","wrapper","exports","_default"],"sources":["../../src/Select.jsx"],"sourcesContent":["import { hideScrollBarsFromScreenReadersContext, useBox, isInputTriggerTag } from '@semcore/base-components';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport Divider from '@semcore/divider';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { Text } from '@semcore/typography';\nimport cn from 'classnames';\nimport React from 'react';\n\nimport { selectContext } from './context';\nimport InputSearch from './InputSearch';\nimport style from './style/select.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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 ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\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, [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\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 [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ],\n true,\n );\n\n const defaultIndex = hasInputSearch || lastInteraction.isMouse()\n ? null\n : 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.highlightedIndex(index);\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: _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 || 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\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <Select.Popper {...popperProps} role={null}>\n <Root render={Select.List} />\n </Select.Popper>\n </ListBoxContextProvider>\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children, highlighted } = props;\n const itemRef = React.useRef(null);\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n const optionPropsContextValue = {\n ...props,\n itemRef,\n highlighted,\n };\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item} ref={itemRef}>\n <optionPropsContext.Provider value={optionPropsContextValue}>\n {hasCheckbox && !hasContent\n ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n )\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\nfunction OptionText(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const selectedIndex = React.useContext(selectedIndexContext);\n const props = React.useMemo(\n () => ({\n key: optionProps?.id,\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n\n return sstyled(props.styles)(\n <Text\n {...props}\n hint:triggerRef={optionProps.itemRef}\n hint:visible={selectedIndex === optionProps.index}\n hint:placement='right'\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: Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Text: OptionText,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\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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","ignoreList":[]}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, Flex } from '@semcore/base-components';\nimport type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type Divider from '@semcore/divider';\nimport type Dropdown from '@semcore/dropdown';\nimport type {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport type DropdownMenu from '@semcore/dropdown-menu';\nimport type { InputValueProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { Text } from '@semcore/typography';\nimport type React from 'react';\n\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\nexport type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &\n BaseTriggerProps & {\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n };\n\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /** Value of the option */\n value: string | number;\n};\n\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n /** Controls the selected state */\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n typeof Dropdown.Trigger,\n DropdownMenuTriggerProps & ButtonTriggerProps,\n {},\n [handlers: SelectHandlers]\n > & {\n Addon: typeof ButtonTrigger.Addon;\n Text: typeof ButtonTrigger.Text;\n };\n Popper: typeof DropdownMenu.Popper;\n List: typeof DropdownMenu.List;\n Menu: typeof DropdownMenu.Menu;\n Group: typeof Dropdown.Group;\n Option: Intergalactic.Component<\n 'option',\n SelectOptionProps,\n SelectContext,\n [handlers: SelectHandlers]\n > & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;\n Content: typeof Flex;\n Text: typeof Text;\n Hint: typeof Flex;\n };\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\ndeclare const wrapSelect: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticSelectComponent<PropsExtending>;\n\nexport { InputSearch, wrapSelect };\nexport default Select;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, Flex } from '@semcore/base-components';\nimport type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps, LinkTriggerProps } from '@semcore/base-trigger';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type Divider from '@semcore/divider';\nimport type Dropdown from '@semcore/dropdown';\nimport type {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport type DropdownMenu from '@semcore/dropdown-menu';\nimport type { InputValueProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { Text } from '@semcore/typography';\nimport type React from 'react';\n\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\nexport type SelectProps<T extends SelectValue = SelectValue> = Intergalactic.InternalTypings.EfficientOmit<DropdownMenuProps, 'size'> &\n Intergalactic.InternalTypings.EfficientOmit<BaseTriggerProps, 'size'> & {\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n } & ({\n tag?: never;\n /**\n * Default type for size from BaseTriggerProps if there is no customization via `tag`.\n */\n size?: BaseTriggerProps['size'];\n } | {});\n\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /** Value of the option */\n value: string | number;\n};\n\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n /** Controls the selected state */\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n typeof Dropdown.Trigger,\n DropdownMenuTriggerProps & (ButtonTriggerProps | LinkTriggerProps),\n {},\n [handlers: SelectHandlers]\n > & {\n Addon: typeof ButtonTrigger.Addon;\n Text: typeof ButtonTrigger.Text;\n };\n Popper: typeof DropdownMenu.Popper;\n List: typeof DropdownMenu.List;\n Menu: typeof DropdownMenu.Menu;\n Group: typeof Dropdown.Group;\n Option: Intergalactic.Component<\n 'option',\n SelectOptionProps,\n SelectContext,\n [handlers: SelectHandlers]\n > & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;\n Content: typeof Flex;\n Text: typeof Text;\n Hint: typeof Flex;\n };\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\ndeclare const wrapSelect: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticSelectComponent<PropsExtending>;\n\nexport { InputSearch, wrapSelect };\nexport default Select;\n"],"mappings":"","ignoreList":[]}
|
package/lib/es6/Select.js
CHANGED
|
@@ -276,7 +276,6 @@ _defineProperty(RootSelect, "defaultProps", props => {
|
|
|
276
276
|
const defaultIndex = hasInputSearch ? null : 0;
|
|
277
277
|
return {
|
|
278
278
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
279
|
-
size: 'm',
|
|
280
279
|
defaultValue: getEmptyValue(props.multiselect),
|
|
281
280
|
defaultVisible: false,
|
|
282
281
|
defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,
|
|
@@ -410,15 +409,13 @@ function OptionText(providedProps) {
|
|
|
410
409
|
selected: optionProps?.selected,
|
|
411
410
|
disabled: optionProps?.disabled,
|
|
412
411
|
size: optionProps?.size,
|
|
413
|
-
hintProps: optionProps?.hintProps ?? {},
|
|
414
412
|
...(providedProps || {})
|
|
415
413
|
}), [providedProps, optionProps]);
|
|
416
|
-
if (optionProps.itemRef) {
|
|
417
|
-
props.hintProps.triggerRef = optionProps.itemRef;
|
|
418
|
-
}
|
|
419
|
-
props.hintProps.visible = selectedIndex === optionProps.index;
|
|
420
414
|
return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(Text, _ref9.cn("Text", {
|
|
421
|
-
...props
|
|
415
|
+
...props,
|
|
416
|
+
"hint:triggerRef": optionProps.itemRef,
|
|
417
|
+
"hint:visible": selectedIndex === optionProps.index,
|
|
418
|
+
"hint:placement": 'right'
|
|
422
419
|
}));
|
|
423
420
|
}
|
|
424
421
|
const InputSearchWrapper = function () {
|
package/lib/es6/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["hideScrollBarsFromScreenReadersContext","useBox","isInputTriggerTag","ButtonTrigger","createComponent","Root","sstyled","lastInteraction","addonTextChildren","callAllEventHandlers","resolveColorEnhance","findComponent","isAdvanceMode","logger","Divider","Dropdown","AbstractDropdown","enhance","selectedIndexContext","DropdownMenu","Text","cn","React","selectContext","InputSearch","style","_sstyled","insert","localizedMessages","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","ListBoxContextProvider","children","createElement","Provider","RootSelect","constructor","args","_defineProperty","optionValue","index","e","newValue","asProps","filter","v","concat","handlers","highlightedIndex","visible","preventDefault","emptyValue","itemRef","props","node","isHighlighted","scrollToNode","uncontrolledProps","hasInputSearch","Children","Select","displayName","defaultIndex","isMouse","defaultHighlightedIndex","setTimeout","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","isMenu","Menu","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","onKeyDown","handlePreventPopperKeyDown","getOptionProps","size","highlighted","isKeyboard","getItemProps","bindHandlerOptionClick","getOptionCheckboxProps","resolveColor","getDividerProps","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_value","forcedAdvancedMode","other","advancedMode","Trigger","Popper","warn","itemProps","_ref","_assignProps","map","option","Option","_extends","key","id","Checkbox","_assignProps2","Object","values","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","styles","$hiddenRef","tag","Tag","_ref3","arguments[0]","_ref7","hasInputTrigger","SSelectTrigger","_assignProps3","Value","Addon","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","role","List","_assignProps4","optionPropsContext","createContext","_ref5","_ref8","SSelectOption","Item","useRef","hasCheckbox","hasContent","Content","optionPropsContextValue","_assignProps5","providedProps","optionProps","useContext","useMemo","SOptionCheckbox","componentProps","theme","indeterminate","className","tabIndex","OptionText","_ref9","hintProps","triggerRef","InputSearchWrapper","_ref6","_assignProps6","Hint","Group","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import { hideScrollBarsFromScreenReadersContext, useBox, isInputTriggerTag } from '@semcore/base-components';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport Divider from '@semcore/divider';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { Text } from '@semcore/typography';\nimport cn from 'classnames';\nimport React from 'react';\n\nimport { selectContext } from './context';\nimport InputSearch from './InputSearch';\nimport style from './style/select.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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 ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\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, [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ], 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 [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ],\n true,\n );\n\n const defaultIndex = hasInputSearch || lastInteraction.isMouse()\n ? null\n : 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.highlightedIndex(index);\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: _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 || 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\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <Select.Popper {...popperProps} role={null}>\n <Root render={Select.List} />\n </Select.Popper>\n </ListBoxContextProvider>\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children, highlighted } = props;\n const itemRef = React.useRef(null);\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n const optionPropsContextValue = {\n ...props,\n itemRef,\n highlighted,\n };\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item} ref={itemRef}>\n <optionPropsContext.Provider value={optionPropsContextValue}>\n {hasCheckbox && !hasContent\n ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n )\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\nfunction OptionText(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const selectedIndex = React.useContext(selectedIndexContext);\n const props = React.useMemo(\n () => ({\n key: optionProps?.id,\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n hintProps: optionProps?.hintProps ?? {},\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n\n if (optionProps.itemRef) {\n props.hintProps.triggerRef = optionProps.itemRef;\n }\n\n props.hintProps.visible = selectedIndex === optionProps.index;\n\n return sstyled(props.styles)(\n <Text\n {...props}\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: Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Text: OptionText,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["hideScrollBarsFromScreenReadersContext","useBox","isInputTriggerTag","ButtonTrigger","createComponent","Root","sstyled","lastInteraction","addonTextChildren","callAllEventHandlers","resolveColorEnhance","findComponent","isAdvanceMode","logger","Divider","Dropdown","AbstractDropdown","enhance","selectedIndexContext","DropdownMenu","Text","cn","React","selectContext","InputSearch","style","_sstyled","insert","localizedMessages","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","ListBoxContextProvider","children","createElement","Provider","RootSelect","constructor","args","_defineProperty","optionValue","index","e","newValue","asProps","filter","v","concat","handlers","highlightedIndex","visible","preventDefault","emptyValue","itemRef","props","node","isHighlighted","scrollToNode","uncontrolledProps","hasInputSearch","Children","Select","displayName","defaultIndex","isMouse","defaultHighlightedIndex","setTimeout","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","isMenu","Menu","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","onKeyDown","handlePreventPopperKeyDown","getOptionProps","size","highlighted","isKeyboard","getItemProps","bindHandlerOptionClick","getOptionCheckboxProps","resolveColor","getDividerProps","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_value","forcedAdvancedMode","other","advancedMode","Trigger","Popper","warn","itemProps","_ref","_assignProps","map","option","Option","_extends","key","id","Checkbox","_assignProps2","Object","values","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","styles","$hiddenRef","tag","Tag","_ref3","arguments[0]","_ref7","hasInputTrigger","SSelectTrigger","_assignProps3","Value","Addon","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","role","List","_assignProps4","optionPropsContext","createContext","_ref5","_ref8","SSelectOption","Item","useRef","hasCheckbox","hasContent","Content","optionPropsContextValue","_assignProps5","providedProps","optionProps","useContext","useMemo","SOptionCheckbox","componentProps","theme","indeterminate","className","tabIndex","OptionText","_ref9","InputSearchWrapper","_ref6","_assignProps6","Hint","Group","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import { hideScrollBarsFromScreenReadersContext, useBox, isInputTriggerTag } from '@semcore/base-components';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, lastInteraction } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport Divider from '@semcore/divider';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { Text } from '@semcore/typography';\nimport cn from 'classnames';\nimport React from 'react';\n\nimport { selectContext } from './context';\nimport InputSearch from './InputSearch';\nimport style from './style/select.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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 ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\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, [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\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 [\n Select.InputSearch.displayName,\n InputSearch.displayName,\n ],\n true,\n );\n\n const defaultIndex = hasInputSearch || lastInteraction.isMouse()\n ? null\n : 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.highlightedIndex(index);\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: _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 || 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\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <Select.Popper {...popperProps} role={null}>\n <Root render={Select.List} />\n </Select.Popper>\n </ListBoxContextProvider>\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children, highlighted } = props;\n const itemRef = React.useRef(null);\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n const optionPropsContextValue = {\n ...props,\n itemRef,\n highlighted,\n };\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item} ref={itemRef}>\n <optionPropsContext.Provider value={optionPropsContextValue}>\n {hasCheckbox && !hasContent\n ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n )\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\nfunction OptionText(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const selectedIndex = React.useContext(selectedIndexContext);\n const props = React.useMemo(\n () => ({\n key: optionProps?.id,\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n\n return sstyled(props.styles)(\n <Text\n {...props}\n hint:triggerRef={optionProps.itemRef}\n hint:visible={selectedIndex === optionProps.index}\n hint:placement='right'\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: Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Text: OptionText,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\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":";;;;;;;;;AAAA,SAASA,sCAAsC,EAAEC,MAAM,EAAEC,iBAAiB,QAAQ,0BAA0B;AAC5G,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,eAAe,EAAEC,IAAI,EAAEC,OAAO,EAAEC,eAAe,QAAQ,eAAe;AAC/E,OAAOC,iBAAiB,MAAM,2CAA2C;AACzE,SAASC,oBAAoB,QAAQ,qCAAqC;AAC1E,OAAOC,mBAAmB,MAAM,sDAAsD;AACtF,OAAOC,aAAa,IAAIC,aAAa,QAAQ,uCAAuC;AACpF,OAAOC,MAAM,MAAM,gCAAgC;AACnD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,QAAQ,IAAIC,gBAAgB,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,mBAAmB;AAC7F,OAAOC,YAAY,MAAM,wBAAwB;AACjD,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,aAAa,QAAQ,WAAW;AACzC,OAAOC,WAAW,MAAM,eAAe;AAAC;AAAA,MAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAExC,SAASC,iBAAiB,QAAQ,gDAAgD;AAElF,SAASC,gBAAgBA,CAACC,KAAK,EAAEC,WAAW,EAAE;EAC5C,OAAOC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACI,QAAQ,CAACH,WAAW,CAAC,GAAGA,WAAW,KAAKD,KAAK;AACnF;AAEA,SAASK,YAAYA,CAACL,KAAK,EAAE;EAC3B,OAAOE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACM,MAAM,KAAK,CAAC,GAAGN,KAAK,KAAK,IAAI;AACnE;AAEA,SAASO,aAAaA,CAACC,WAAW,EAAE;EAClC,OAAOA,WAAW,GAAG,EAAE,GAAG,IAAI;AAChC;AAEA,MAAMC,sBAAsB,GAAGA,CAAC;EAAEC;AAAS,CAAC,kBAC1ClB,KAAA,CAAAmB,aAAA,CAACzC,sCAAsC,CAAC0C,QAAQ;EAACZ,KAAK,EAAE;AAAK,GAC1DU,QAC8C,CAClD;AAED,MAAMG,UAAU,SAAS3B,gBAAgB,CAAC;EAAA4B,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eA6BjC,SAAS;IAAAA,eAAA,iCAmMS,CAACC,WAAW,EAAEC,KAAK,KAAMC,CAAC,IAAK;MACtD,IAAIC,QAAQ,GAAGH,WAAW;MAC1B,MAAM;QAAEjB,KAAK;QAAEQ;MAAY,CAAC,GAAG,IAAI,CAACa,OAAO;MAC3C,IAAInB,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;QACxB,IAAIA,KAAK,CAACI,QAAQ,CAACa,WAAW,CAAC,EAAE;UAC/BG,QAAQ,GAAGpB,KAAK,CAACsB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKN,WAAW,CAAC;QACnD,CAAC,MAAM;UACLG,QAAQ,GAAGpB,KAAK,CAACwB,MAAM,CAACP,WAAW,CAAC;QACtC;MACF;MACA,IAAI,CAACQ,QAAQ,CAACC,gBAAgB,CAACR,KAAK,CAAC;MACrC,IAAI,CAACO,QAAQ,CAACzB,KAAK,CAACoB,QAAQ,EAAED,CAAC,CAAC;MAChC,IAAI,CAACX,WAAW,EAAE;QAChB,IAAI,CAACiB,QAAQ,CAACE,OAAO,CAAC,KAAK,CAAC;QAC5BR,CAAC,CAACS,cAAc,CAAC,CAAC;MACpB;IACF,CAAC;IAAAZ,eAAA,uBAEeG,CAAC,IAAK;MACpB,MAAM;QAAEnB;MAAM,CAAC,GAAG,IAAI,CAACqB,OAAO;MAC9B,MAAMQ,UAAU,GAAGtB,aAAa,CAACL,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,CAAC;MACtD,IAAI,CAACyB,QAAQ,CAACzB,KAAK,CAAC6B,UAAU,EAAEV,CAAC,CAAC;MAClC,IAAI,CAACM,QAAQ,CAACE,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;EAAA;EAxNDG,OAAOA,CAACC,KAAK,EAAEb,KAAK,EAAEc,IAAI,EAAE;IAC1B,KAAK,CAACF,OAAO,CAACC,KAAK,EAAEb,KAAK,EAAEc,IAAI,CAAC;IAEjC,MAAM;MAAEN;IAAiB,CAAC,GAAG,IAAI,CAACL,OAAO;IACzC,MAAMY,aAAa,GAAGf,KAAK,KAAKQ,gBAAgB;IAEhD,IAAIO,aAAa,EAAE;MACjB,IAAI,CAACC,YAAY,CAACF,IAAI,CAAC;IACzB;EACF;EAEAG,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACL,GAAG,KAAK,CAACA,iBAAiB,CAAC,CAAC;MAC5BR,OAAO,EAAE,CACP,IAAI,EACHA,OAAO,IAAK;QACX,IAAIA,OAAO,KAAK,IAAI,EAAE;UACpB,MAAMS,cAAc,GAAGtD,aAAa,CAClC,IAAI,CAACuC,OAAO,CAACgB,QAAQ,EACrB,CACEC,MAAM,CAAC5C,WAAW,CAAC6C,WAAW,EAC9B7C,WAAW,CAAC6C,WAAW,CACxB,EACD,IACF,CAAC;UAED,MAAMC,YAAY,GAAGJ,cAAc,IAAI3D,eAAe,CAACgE,OAAO,CAAC,CAAC,GAC5D,IAAI,GACJ,IAAI,CAACV,KAAK,CAACW,uBAAuB;UAEtC,IAAI,CAACjB,QAAQ,CAACC,gBAAgB,CAACc,YAAY,CAAC;UAE5CG,UAAU,CAAC,MAAM;YACf,MAAMC,OAAO,GAAG,IAAI,CAACC,OAAO,CAACC,OAAO,EAAEC,gBAAgB,CAAC,iBAAiB,CAAC;YACzE,MAAMC,QAAQ,GAAG,IAAI,CAACH,OAAO,CAACC,OAAO,EAAEG,aAAa,CAAC,wBAAwB,CAAC;YAE9E,IAAID,QAAQ,IAAIJ,OAAO,EAAE;cACvB,IAAI,CAACV,YAAY,CAACc,QAAQ,CAAC;cAE3B,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,OAAO,CAACtC,MAAM,EAAE4C,CAAC,EAAE,EAAE;gBACvC,IAAIN,OAAO,CAACM,CAAC,CAAC,KAAKF,QAAQ,EAAE;kBAC3B,IAAI,CAACvB,QAAQ,CAACC,gBAAgB,CAACwB,CAAC,CAAC;kBACjC;gBACF;cACF;YACF;YACA;YACA;UACF,CAAC,EAAE,EAAE,CAAC;QACR;MACF,CAAC,CACF;MACDlD,KAAK,EAAE;IACT,CAAC;EACH;EAEAmD,eAAeA,CAAA,EAAG;IAChB,MAAM;MACJC,QAAQ;MACRzB,OAAO;MACP0B,KAAK;MACLC,WAAW;MACXtD,KAAK;MACL4C,OAAO;MACPW,UAAU;MACVC,IAAI;MACJhD,WAAW;MACXiD,WAAW;MACX/B,gBAAgB;MAChBgC,GAAG;MACHrB,QAAQ;MACR3B,QAAQ,EAAEiD;IACZ,CAAC,GAAG,IAAI,CAACtC,OAAO;IAEhB,MAAMuC,MAAM,GAAG9E,aAAa,CAACuD,QAAQ,EAAE,CAACC,MAAM,CAACuB,IAAI,CAACtB,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAACoB,WAAW;IACvF,MAAMG,YAAY,GAAGF,MAAM,GAAG,OAAOF,GAAG,OAAO,GAAG,OAAOA,GAAG,SAAS;IAErE,OAAO;MACL,GAAG,KAAK,CAACP,eAAe,CAAC,CAAC;MAC1B,WAAW,EAAExE,oBAAoB,CAC/B,IAAI,CAACoF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACC,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,EACjC,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CACnC,CAAC;MACD,eAAe,EAAErC,OAAO,GAAGmC,YAAY,GAAGK,SAAS;MACnD,eAAe,EAAEP,MAAM,GAAG,SAAS,GAAG,QAAQ;MAC9C,eAAe,EAAER,QAAQ,GAAG,MAAM,GAAG,OAAO;MAC5C,uBAAuB,EACrBzB,OAAO,IAAID,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC0C,QAAQ,CAAC1C,gBAAgB,CAAC,GACnE,OAAOgC,GAAG,WAAWhC,gBAAgB,EAAE,GACvCyC,SAAS;MACf,OAAO,EAAE9D,YAAY,CAACL,KAAK,CAAC;MAC5BA,KAAK;MACLwD,IAAI;MACJ,YAAY,EAAED,UAAU;MACxB/C,WAAW;MACX6C,KAAK;MACLC,WAAW;MACXF,QAAQ;MACR,QAAQ,EAAEzB,OAAO;MACjB,SAAS,EAAE,IAAI,CAAC0C,YAAY;MAC5B,UAAU,EAAE,IAAI,CAACC,qBAAqB,CAACtE,KAAK,EAAE4C,OAAO,CAAC;MACtDa,WAAW;MAEX,QAAQ,EAAEc,CAAA,KAAM;QACd;QACA,IAAI,IAAI,CAAClD,OAAO,CAACM,OAAO,EAAE;UACxB,IAAI,CAAC6C,oBAAoB,GAAG,IAAI,CAACnD,OAAO,CAACK,gBAAgB;UACzD,IAAI,CAACD,QAAQ,CAACC,gBAAgB,CAAC,IAAI,CAAC;QACtC;MACF,CAAC;MACD,SAAS,EAAE+C,CAAA,KAAM;QACf;QACA,IAAI,IAAI,CAACpD,OAAO,CAACM,OAAO,EAAE;UACxB,MAAMT,KAAK,GAAG,IAAI,CAACsD,oBAAoB;UACvC,IAAI,CAAC/C,QAAQ,CAACC,gBAAgB,CAACR,KAAK,CAAC;QACvC;MACF;IACF,CAAC;EACH;EAEAwD,YAAYA,CAAA,EAAG;IACb,MAAM;MAAElE;IAAY,CAAC,GAAG,IAAI,CAACa,OAAO;IAEpC,OAAO;MACL,GAAG,KAAK,CAACqD,YAAY,CAAC,CAAC;MACvB,sBAAsB,EAAElE,WAAW,GAAG,MAAM,GAAG2D;IACjD,CAAC;EACH;EAEAQ,cAAcA,CAAA,EAAG;IACf,OAAO;MACL,GAAG,KAAK,CAACA,cAAc,CAAC,CAAC;MACzBC,SAAS,EAAEjG,oBAAoB,CAC7B,IAAI,CAACoF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACa,0BAA0B,CAACb,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CACnC;IACF,CAAC;EACH;EAEAc,cAAcA,CAAC/C,KAAK,EAAEb,KAAK,EAAE;IAC3B,MAAM;MAAElB,KAAK;MAAE0B,gBAAgB;MAAEqD,IAAI,GAAG;IAAI,CAAC,GAAG,IAAI,CAAC1D,OAAO;IAC5D,MAAM2D,WAAW,GACf9D,KAAK,KAAKQ,gBAAgB,IAAIjD,eAAe,CAACwG,UAAU,CAAC,CAAC,IAAI,CAAClD,KAAK,CAACqB,QAAQ;IAC/E,MAAMJ,QAAQ,GAAGjB,KAAK,CAACiB,QAAQ,IAAIjD,gBAAgB,CAACC,KAAK,EAAE+B,KAAK,CAAC/B,KAAK,CAAC;IAEvE,OAAO;MACL,GAAG,KAAK,CAACkF,YAAY,CAACnD,KAAK,EAAEb,KAAK,CAAC;MACnC8D,WAAW;MACXhC,QAAQ;MACR,eAAe,EAAEA,QAAQ,GAAG,MAAM,GAAG,OAAO;MAC5C,eAAe,EAAEjB,KAAK,CAACqB,QAAQ,GAAG,MAAM,GAAG,OAAO;MAClD,MAAM,EAAE,QAAQ;MAChB,SAAS,EAAE,IAAI,CAAC+B,sBAAsB,CAACpD,KAAK,CAAC/B,KAAK,EAAEkB,KAAK,CAAC;MAC1D,KAAK,EAAGc,IAAI,IAAK,IAAI,CAACF,OAAO,CAACC,KAAK,EAAEb,KAAK,EAAEc,IAAI,CAAC;MACjD+C;IACF,CAAC;EACH;EAEAK,sBAAsBA,CAAA,EAAG;IACvB,MAAM;MAAEL,IAAI;MAAEM;IAAa,CAAC,GAAG,IAAI,CAAChE,OAAO;IAE3C,OAAO;MACL0D,IAAI;MACJM;IACF,CAAC;EACH;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO;MAAE,IAAI,EAAE,CAAC;MAAE,eAAe,EAAE;IAAO,CAAC;EAC7C;EAEAhB,qBAAqBA,CAACtE,KAAK,EAAE4C,OAAO,EAAE;IACpC,IAAIA,OAAO,EAAE;MACX,OAAO,EAAE,CAACpB,MAAM,CAACxB,KAAK,CAAC,CAACuF,MAAM,CAAC,CAACC,GAAG,EAAExF,KAAK,KAAK;QAC7C,MAAMyF,cAAc,GAAG7C,OAAO,CAAC8C,IAAI,CAAEC,CAAC,IAAK5F,gBAAgB,CAACC,KAAK,EAAE2F,CAAC,CAAC3F,KAAK,CAAC,CAAC;QAC5E,IAAI,CAACyF,cAAc,EAAE,OAAOD,GAAG;QAC/B,IAAIA,GAAG,CAAClF,MAAM,EAAEkF,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;QAC9BJ,GAAG,CAACI,IAAI,CAACH,cAAc,CAACI,KAAK,IAAIJ,cAAc,CAACzF,KAAK,CAAC;QACtD,OAAOwF,GAAG;MACZ,CAAC,EAAE,EAAE,CAAC;IACR;IACA,OAAOtF,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GACvBA,KAAK,CAACuF,MAAM,CAAC,CAACC,GAAG,EAAExF,KAAK,KAAK;MAC3B,IAAIwF,GAAG,CAAClF,MAAM,EAAEkF,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;MAC9BJ,GAAG,CAACI,IAAI,CAAC5F,KAAK,CAAC;MACf,OAAOwF,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC,GACNxF,KAAK;EACX;EA2BA8F,MAAMA,CAAA,EAAG;IAAA,IAAAC,KAAA,QAAA1E,OAAA;IACP,MAAM;MAAEgB,QAAQ;MAAEO,OAAO;MAAEpC,WAAW;MAAER,KAAK,EAAEgG,MAAM;MAAEtC,GAAG;MAAEuC,kBAAkB;MAAE,GAAGC;IAAM,CAAC,GACxF,IAAI,CAAC7E,OAAO;IACd,MAAM8E,YAAY,GAChBF,kBAAkB,IAClBpH,aAAa,CAACwD,QAAQ,EAAE,CAACC,MAAM,CAAC8D,OAAO,CAAC7D,WAAW,EAAED,MAAM,CAAC+D,MAAM,CAAC9D,WAAW,CAAC,CAAC;IAElFxD,MAAM,CAACuH,IAAI,CACT1D,OAAO,IAAIuD,YAAY,EACvB,6FAA6F,EAC7FD,KAAK,CAAC,cAAc,CAAC,IAAI5D,MAAM,CAACC,WAClC,CAAC;IAED,IAAI,CAACgE,SAAS,GAAG,EAAE;IAEnB,IAAI3D,OAAO,EAAE;MAAA,IAAA4D,IAAA,QAAAnF,OAAA;MACX,oBACE7B,KAAA,CAAAmB,aAAA,CAActB,YAAY,EAAAoH,YAAA,KAAAD,IAAA,gBACxBhH,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAAC8D,OAAO,EAAKF,KAAQ,CAAC,eAC7B1G,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAACuB,IAAI,QACTjB,OAAO,CAAC8D,GAAG,CAAC,CAACC,MAAM,EAAEzF,KAAK,KAAK;QAC9B,oBACE1B,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAACsE,MAAM,EAAAC,QAAA;UAACC,GAAG,EAAEH,MAAM,CAAC3G,KAAM;UAAC+G,EAAE,EAAE,OAAOrD,GAAG,WAAWxC,KAAK;QAAG,GAAKyF,MAAM,GAC3EnG,WAAW,iBAAIhB,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAACsE,MAAM,CAACI,QAAQ,MAAE,CAAC,EACzCL,MAAM,CAACjG,QACK,CAAC;MAEpB,CAAC,CACU,CACT,CAAC;IAEX;IAEA,oBACElB,KAAA,CAAAmB,aAAA,CAActB,YAAY,EAAA4H,aAAA,KAAAlB,KAAA,gBACxBvG,KAAA,CAAAmB,aAAA,CAAC0B,QAAQ,MAAE,CACP,CAAC;EAEX;AACF;AAACrB,eAAA,CAhSKH,UAAU,iBACO,QAAQ;AAAAG,eAAA,CADzBH,UAAU,WAGClB,KAAK;AAAAqB,eAAA,CAHhBH,UAAU,aAIGqG,MAAM,CAACC,MAAM,CAAChI,OAAO,CAAC,CAACqC,MAAM,CAAC,CAAC5C,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAAAoC,eAAA,CAJnEH,UAAU,kBAMSkB,KAAK,IAAK;EAC/B,MAAMK,cAAc,GAClBL,KAAK,CAACrB,QAAQ,IAAI5B,aAAa,CAACiD,KAAK,CAACrB,QAAQ,EAAE,CAC9C4B,MAAM,CAAC5C,WAAW,CAAC6C,WAAW,EAC9B7C,WAAW,CAAC6C,WAAW,CACxB,EAAE,IAAI,CAAC;EACV,MAAMC,YAAY,GAAGJ,cAAc,GAAG,IAAI,GAAG,CAAC;EAE9C,OAAO;IACLkB,WAAW,EAAEvB,KAAK,CAACvB,WAAW,GAAG,gBAAgB,GAAG,eAAe;IACnE4G,YAAY,EAAE7G,aAAa,CAACwB,KAAK,CAACvB,WAAW,CAAC;IAC9C6G,cAAc,EAAE,KAAK;IACrB3E,uBAAuB,EAAEX,KAAK,CAACL,gBAAgB,IAAIc,YAAY;IAC/D8E,oBAAoB,EAAEvF,KAAK,CAACwF,aAAa,IAAI/E,YAAY;IACzDgF,gBAAgB,EAAE,IAAI;IACtBC,IAAI,EAAE3H,iBAAiB;IACvB4H,MAAM,EAAE,IAAI;IACZC,WAAW,EAAE5F,KAAK,CAAC4F,WAAW,IAAI,OAAO;IACzCC,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE9F,KAAK,CAAC8F,OAAO,IAAI;EAC5B,CAAC;AACH,CAAC;AAuQH,SAASzB,OAAOA,CAAC;EACf/D,QAAQ;EACRmB,IAAI;EACJxD,KAAK;EACL8H,MAAM;EACNC,UAAU;EACVC,GAAG,EAAEC,GAAG,GAAG5J,aAAa;EACxBoF;AACF,CAAC,EAAE;EAAA,IAAAyE,KAAA,GAAAC,YAAA;IAAAC,KAAA;EACD,MAAMC,eAAe,GAAGjK,iBAAiB,CAAC6J,GAAG,CAAC;EAC9C,MAAMK,cAAc,GAIRrJ,QAAQ,CAACmH,OAAO;EAF5B,OAAAgC,KAAA,GAAO5J,OAAO,CAACsJ,MAAM,CAAC,eACpBtI,KAAA,CAAAmB,aAAA,CAAC2H,cAAc,EAAAF,KAAA,CAAA7I,EAAA;IAAA,GAAAgJ,aAAA;MAAA,OAERN,GAAG;MAAA,eACKxE,WAAW,CAAC,mBAAmB,CAAC;MAAA,QACxC,UAAU;MAAA,qBACK4E,eAAe,IAAI,MAAM,IAAKlE;IAAS,GAAA+D,KAAA;EAAA,IAE1DxJ,iBAAiB,CAChB2D,QAAQ,EACR4F,GAAG,CAAC3I,IAAI,IAAI2I,GAAG,CAACO,KAAK,IAAInK,aAAa,CAACiB,IAAI,EAC3C2I,GAAG,CAACQ,KAAK,IAAIpK,aAAa,CAACoK,KAAK,EAChC,IACF,CAAC,EACAjF,IAAI,iBAAIhE,KAAA,CAAAmB,aAAA,UAAAyH,KAAA,CAAA7I,EAAA;IAAA,QAAY,QAAQ;IAAA,gBAAeS,KAAK;IAAA,QAAQwD,IAAI;IAAA,OAAOuE;EAAU,EAAG,CACnE,CAAC;AAErB;AAEA,SAASlE,IAAIA,CAAC9B,KAAK,EAAE;EAAA,IAAA2G,KAAA,GAAAP,YAAA;EACnB,MAAM;IACJxG,OAAO;IACPgH,aAAa;IACbC,qBAAqB;IACrBC,mBAAmB;IACnBlB,WAAW;IACXmB,SAAS;IACTC;EACF,CAAC,GAAGhH,KAAK;EACT,MAAMiH,WAAW,GAAG;IAClBrH,OAAO;IACPgH,aAAa;IACbC,qBAAqB;IACrBC,mBAAmB;IACnBlB,WAAW;IACXmB,SAAS;IACTC;EACF,CAAC;EACD,oBACEvJ,KAAA,CAAAmB,aAAA,CAACF,sBAAsB,qBACrBjB,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAAC+D,MAAM,EAAAQ,QAAA,KAAKmC,WAAW;IAAEC,IAAI,EAAE;EAAK,iBACzCzJ,KAAA,CAAAmB,aAAA,CAAc2B,MAAM,CAAC4G,IAAI,EAAAC,aAAA,KAAAT,KAAA,CAAG,CACf,CACO,CAAC;AAE7B;AAEA,MAAMU,kBAAkB,gBAAG5J,KAAK,CAAC6J,aAAa,CAAC,CAAC,CAAC,CAAC;AAClD,SAASzC,MAAMA,CAAC7E,KAAK,EAAE;EAAA,IAAAuH,KAAA,GAAAnB,YAAA;IAAAoB,KAAA;EACrB,MAAMC,aAAa,GAcMvK,QAAQ,CAACwK,IAAI;EAbtC,MAAM;IAAE3B,MAAM;IAAEzF,QAAQ;IAAE2C;EAAY,CAAC,GAAGjD,KAAK;EAC/C,MAAMD,OAAO,GAAGtC,KAAK,CAACkK,MAAM,CAAC,IAAI,CAAC;EAElC,MAAMC,WAAW,GAAG7K,aAAa,CAACuD,QAAQ,EAAE,CAACC,MAAM,CAACsE,MAAM,CAACI,QAAQ,CAACzE,WAAW,CAAC,CAAC;EACjF,MAAMqH,UAAU,GAAG9K,aAAa,CAACuD,QAAQ,EAAE,CAACC,MAAM,CAACsE,MAAM,CAACiD,OAAO,CAACtH,WAAW,CAAC,CAAC;EAE/E,MAAMuH,uBAAuB,GAAG;IAC9B,GAAG/H,KAAK;IACRD,OAAO;IACPkD;EACF,CAAC;EAED,OAAAuE,KAAA,GAAO/K,OAAO,CAACsJ,MAAM,CAAC,eACpBtI,KAAA,CAAAmB,aAAA,CAAC6I,aAAa,EAAAD,KAAA,CAAAhK,EAAA;IAAA,GAAAwK,aAAA;MAAA,OAA6BjI;IAAO,GAAAwH,KAAA;EAAA,iBAChD9J,KAAA,CAAAmB,aAAA,CAACyI,kBAAkB,CAACxI,QAAQ;IAACZ,KAAK,EAAE8J;EAAwB,GACzDH,WAAW,IAAI,CAACC,UAAU,gBAErBpK,KAAA,CAAAmB,aAAA,CAAC2B,MAAM,CAACsE,MAAM,CAACiD,OAAO,qBACpBrK,KAAA,CAAAmB,aAAA,CAAC0B,QAAQ,EAAAkH,KAAA,CAAAhK,EAAA,gBAAE,CACU,CAAC,gBAGxBC,KAAA,CAAAmB,aAAA,CAAC0B,QAAQ,EAAAkH,KAAA,CAAAhK,EAAA,gBAAE,CAEU,CAChB,CAAC;AAEpB;AAEA,SAASyH,QAAQA,CAACgD,aAAa,EAAE;EAC/B,MAAMC,WAAW,GAAGzK,KAAK,CAAC0K,UAAU,CAACd,kBAAkB,CAAC;EACxD,MAAMrH,KAAK,GAAGvC,KAAK,CAAC2K,OAAO,CACzB,OAAO;IACLnH,QAAQ,EAAEiH,WAAW,EAAEjH,QAAQ;IAC/BI,QAAQ,EAAE6G,WAAW,EAAE7G,QAAQ;IAC/B2B,IAAI,EAAEkF,WAAW,EAAElF,IAAI;IACvB,IAAIiF,aAAa,IAAI,CAAC,CAAC;EACzB,CAAC,CAAC,EACF,CAACA,aAAa,EAAEC,WAAW,CAC7B,CAAC;EACD,MAAM,CAACG,eAAe,EAAEC,cAAc,CAAC,GAAGlM,MAAM,CAAC4D,KAAK,EAAEA,KAAK,CAACwB,UAAU,CAAC;EACzE,MAAM;IAAEwB,IAAI;IAAEuF,KAAK;IAAEtH,QAAQ;IAAEqC,YAAY;IAAEkF;EAAc,CAAC,GAAGxI,KAAK;EACpE,MAAM+F,MAAM,GAAGtJ,OAAO,CAACuD,KAAK,CAAC+F,MAAM,CAAC;EAEpC,MAAM;IAAE0C,SAAS;IAAE7K;EAAM,CAAC,GAAGmI,MAAM,CAACvI,EAAE,CAAC,iBAAiB,EAAE;IACxDwF,IAAI;IACJ,WAAW,EAAEM,YAAY,CAACiF,KAAK,CAAC;IAChCC,aAAa;IACbvH;EACF,CAAC,CAAC;EAEF,oBACExD,KAAA,CAAAmB,aAAA,CAACyJ,eAAe,EAAAvD,QAAA,KACVwD,cAAc;IAClBG,SAAS,EAAEjL,EAAE,CAACiL,SAAS,EAAEH,cAAc,CAACG,SAAS,CAAC,IAAIrG,SAAU;IAChExE,KAAK,EAAE;MAAE,GAAGA,KAAK;MAAE,GAAG0K,cAAc,CAAC1K;IAAM,CAAE;IAC7C8K,QAAQ,EAAE,CAAC;EAAE,EACd,CAAC;AAEN;AAEA,SAASC,UAAUA,CAACV,aAAa,EAAE;EAAA,IAAAW,KAAA;EACjC,MAAMV,WAAW,GAAGzK,KAAK,CAAC0K,UAAU,CAACd,kBAAkB,CAAC;EACxD,MAAM7B,aAAa,GAAG/H,KAAK,CAAC0K,UAAU,CAAC9K,oBAAoB,CAAC;EAC5D,MAAM2C,KAAK,GAAGvC,KAAK,CAAC2K,OAAO,CACzB,OAAO;IACLrD,GAAG,EAAEmD,WAAW,EAAElD,EAAE;IACpB/D,QAAQ,EAAEiH,WAAW,EAAEjH,QAAQ;IAC/BI,QAAQ,EAAE6G,WAAW,EAAE7G,QAAQ;IAC/B2B,IAAI,EAAEkF,WAAW,EAAElF,IAAI;IACvB,IAAIiF,aAAa,IAAI,CAAC,CAAC;EACzB,CAAC,CAAC,EACF,CAACA,aAAa,EAAEC,WAAW,CAC7B,CAAC;EAED,OAAAU,KAAA,GAAOnM,OAAO,CAACuD,KAAK,CAAC+F,MAAM,CAAC,eAC1BtI,KAAA,CAAAmB,aAAA,CAACrB,IAAI,EAAAqL,KAAA,CAAApL,EAAA;IAAA,GACCwC,KAAK;IAAA,mBACQkI,WAAW,CAACnI,OAAO;IAAA,gBACtByF,aAAa,KAAK0C,WAAW,CAAC/I,KAAK;IAAA,kBAClC;EAAO,EACvB,CAAC;AAEN;AAEA,MAAM0J,kBAAkB,GAAG,SAAAA,CAAA,EAAY;EAAA,IAAAC,KAAA,GAAA1C,YAAA;EACrC,oBAAO3I,KAAA,CAAAmB,aAAA,CAAcjB,WAAW,EAAAoL,aAAA,KAAAD,KAAA,CAAG,CAAC;AACtC,CAAC;AAED,MAAMvI,MAAM,GAAGhE,eAAe,CAC5BuC,UAAU,EACV;EACEuF,OAAO,EAAE,CACPA,OAAO,EACP;IACEqC,KAAK,EAAEpK,aAAa,CAACoK,KAAK;IAC1BnJ,IAAI,EAAEjB,aAAa,CAACiB;EACtB,CAAC,CACF;EACD+G,MAAM,EAAEpH,QAAQ,CAACoH,MAAM;EACvB6C,IAAI,EAAE7J,YAAY,CAAC6J,IAAI;EACvBrF,IAAI,EAAEA,IAAI;EACV+C,MAAM,EAAE,CACNA,MAAM,EACN;IACE6B,KAAK,EAAEpJ,YAAY,CAACoK,IAAI,CAAChB,KAAK;IAC9BoB,OAAO,EAAExK,YAAY,CAACoK,IAAI,CAACI,OAAO;IAClCvK,IAAI,EAAEoL,UAAU;IAChBK,IAAI,EAAE1L,YAAY,CAACoK,IAAI,CAACsB,IAAI;IAC5B/D;EACF,CAAC,CACF;EACDgE,KAAK,EAAE/L,QAAQ,CAAC+L,KAAK;EACrBhM,OAAO;EACPU,WAAW,EAAE,CAACkL,kBAAkB,EAAElL,WAAW,CAACuL,yBAAyB,CAAC;EACxEC,KAAK,EAAE,CAACN,kBAAkB,EAAElL,WAAW,CAACuL,yBAAyB;AACnE,CAAC,EACD;EAAEE,MAAM,EAAE9L,YAAY;EAAE+L,OAAO,EAAE3L;AAAc,CACjD,CAAC;AAED,OAAO,MAAM4L,UAAU,GAAIC,OAAO,IAAKA,OAAO;AAC9ChJ,MAAM,CAAClD,oBAAoB,GAAGA,oBAAoB;AAElD,eAAekD,MAAM","ignoreList":[]}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, Flex } from '@semcore/base-components';\nimport type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type Divider from '@semcore/divider';\nimport type Dropdown from '@semcore/dropdown';\nimport type {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport type DropdownMenu from '@semcore/dropdown-menu';\nimport type { InputValueProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { Text } from '@semcore/typography';\nimport type React from 'react';\n\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\nexport type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &\n BaseTriggerProps & {\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n };\n\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /** Value of the option */\n value: string | number;\n};\n\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n /** Controls the selected state */\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n typeof Dropdown.Trigger,\n DropdownMenuTriggerProps & ButtonTriggerProps,\n {},\n [handlers: SelectHandlers]\n > & {\n Addon: typeof ButtonTrigger.Addon;\n Text: typeof ButtonTrigger.Text;\n };\n Popper: typeof DropdownMenu.Popper;\n List: typeof DropdownMenu.List;\n Menu: typeof DropdownMenu.Menu;\n Group: typeof Dropdown.Group;\n Option: Intergalactic.Component<\n 'option',\n SelectOptionProps,\n SelectContext,\n [handlers: SelectHandlers]\n > & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;\n Content: typeof Flex;\n Text: typeof Text;\n Hint: typeof Flex;\n };\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\ndeclare const wrapSelect: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticSelectComponent<PropsExtending>;\n\nexport { InputSearch, wrapSelect };\nexport default Select;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, Flex } from '@semcore/base-components';\nimport type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps, LinkTriggerProps } from '@semcore/base-trigger';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type Divider from '@semcore/divider';\nimport type Dropdown from '@semcore/dropdown';\nimport type {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport type DropdownMenu from '@semcore/dropdown-menu';\nimport type { InputValueProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { Text } from '@semcore/typography';\nimport type React from 'react';\n\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\nexport type SelectProps<T extends SelectValue = SelectValue> = Intergalactic.InternalTypings.EfficientOmit<DropdownMenuProps, 'size'> &\n Intergalactic.InternalTypings.EfficientOmit<BaseTriggerProps, 'size'> & {\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n } & ({\n tag?: never;\n /**\n * Default type for size from BaseTriggerProps if there is no customization via `tag`.\n */\n size?: BaseTriggerProps['size'];\n } | {});\n\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /** Value of the option */\n value: string | number;\n};\n\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n /** Controls the selected state */\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n typeof Dropdown.Trigger,\n DropdownMenuTriggerProps & (ButtonTriggerProps | LinkTriggerProps),\n {},\n [handlers: SelectHandlers]\n > & {\n Addon: typeof ButtonTrigger.Addon;\n Text: typeof ButtonTrigger.Text;\n };\n Popper: typeof DropdownMenu.Popper;\n List: typeof DropdownMenu.List;\n Menu: typeof DropdownMenu.Menu;\n Group: typeof Dropdown.Group;\n Option: Intergalactic.Component<\n 'option',\n SelectOptionProps,\n SelectContext,\n [handlers: SelectHandlers]\n > & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;\n Content: typeof Flex;\n Text: typeof Text;\n Hint: typeof Flex;\n };\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\ndeclare const wrapSelect: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticSelectComponent<PropsExtending>;\n\nexport { InputSearch, wrapSelect };\nexport default Select;\n"],"mappings":"","ignoreList":[]}
|
package/lib/esm/Select.mjs
CHANGED
|
@@ -273,7 +273,6 @@ _defineProperty(RootSelect, "defaultProps", (props) => {
|
|
|
273
273
|
const defaultIndex = hasInputSearch ? null : 0;
|
|
274
274
|
return {
|
|
275
275
|
placeholder: props.multiselect ? "Select options" : "Select option",
|
|
276
|
-
size: "m",
|
|
277
276
|
defaultValue: getEmptyValue(props.multiselect),
|
|
278
277
|
defaultVisible: false,
|
|
279
278
|
defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,
|
|
@@ -405,15 +404,13 @@ function OptionText(providedProps) {
|
|
|
405
404
|
selected: optionProps == null ? void 0 : optionProps.selected,
|
|
406
405
|
disabled: optionProps == null ? void 0 : optionProps.disabled,
|
|
407
406
|
size: optionProps == null ? void 0 : optionProps.size,
|
|
408
|
-
hintProps: (optionProps == null ? void 0 : optionProps.hintProps) ?? {},
|
|
409
407
|
...providedProps || {}
|
|
410
408
|
}), [providedProps, optionProps]);
|
|
411
|
-
if (optionProps.itemRef) {
|
|
412
|
-
props.hintProps.triggerRef = optionProps.itemRef;
|
|
413
|
-
}
|
|
414
|
-
props.hintProps.visible = selectedIndex === optionProps.index;
|
|
415
409
|
return _ref9 = sstyled(props.styles), /* @__PURE__ */ React.createElement(Text, _ref9.cn("Text", {
|
|
416
|
-
...props
|
|
410
|
+
...props,
|
|
411
|
+
"hint:triggerRef": optionProps.itemRef,
|
|
412
|
+
"hint:visible": selectedIndex === optionProps.index,
|
|
413
|
+
"hint:placement": "right"
|
|
417
414
|
}));
|
|
418
415
|
}
|
|
419
416
|
const InputSearchWrapper = function() {
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BoxProps, Flex } from '@semcore/base-components';
|
|
2
|
-
import type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';
|
|
2
|
+
import type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps, LinkTriggerProps } from '@semcore/base-trigger';
|
|
3
3
|
import type { PropGetterFn, Intergalactic } from '@semcore/core';
|
|
4
4
|
import type Divider from '@semcore/divider';
|
|
5
5
|
import type Dropdown from '@semcore/dropdown';
|
|
@@ -27,8 +27,8 @@ export type SelectOption = {
|
|
|
27
27
|
label?: React.ReactNode;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
export type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &
|
|
31
|
-
BaseTriggerProps & {
|
|
30
|
+
export type SelectProps<T extends SelectValue = SelectValue> = Intergalactic.InternalTypings.EfficientOmit<DropdownMenuProps, 'size'> &
|
|
31
|
+
Intergalactic.InternalTypings.EfficientOmit<BaseTriggerProps, 'size'> & {
|
|
32
32
|
/**
|
|
33
33
|
* Options array
|
|
34
34
|
*/
|
|
@@ -73,7 +73,13 @@ export type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps
|
|
|
73
73
|
* @default true
|
|
74
74
|
*/
|
|
75
75
|
scrollToSelected?: boolean;
|
|
76
|
-
}
|
|
76
|
+
} & ({
|
|
77
|
+
tag?: never;
|
|
78
|
+
/**
|
|
79
|
+
* Default type for size from BaseTriggerProps if there is no customization via `tag`.
|
|
80
|
+
*/
|
|
81
|
+
size?: BaseTriggerProps['size'];
|
|
82
|
+
} | {});
|
|
77
83
|
|
|
78
84
|
export type SelectOptionProps = DropdownMenuItemProps & {
|
|
79
85
|
/**
|
|
@@ -127,7 +133,7 @@ Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;
|
|
|
127
133
|
declare const Select: IntergalacticSelectComponent & {
|
|
128
134
|
Trigger: Intergalactic.Component<
|
|
129
135
|
typeof Dropdown.Trigger,
|
|
130
|
-
DropdownMenuTriggerProps & ButtonTriggerProps,
|
|
136
|
+
DropdownMenuTriggerProps & (ButtonTriggerProps | LinkTriggerProps),
|
|
131
137
|
{},
|
|
132
138
|
[handlers: SelectHandlers]
|
|
133
139
|
> & {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/select",
|
|
3
3
|
"description": "Semrush Select Component",
|
|
4
|
-
"version": "17.0.0-prerelease.
|
|
4
|
+
"version": "17.0.0-prerelease.31",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"types": "./lib/types/index.d.ts"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@semcore/base-trigger": "^17.0.0-prerelease.
|
|
17
|
-
"@semcore/button": "^17.0.0-prerelease.
|
|
18
|
-
"@semcore/checkbox": "^17.0.0-prerelease.
|
|
19
|
-
"@semcore/divider": "^17.0.0-prerelease.
|
|
20
|
-
"@semcore/dropdown": "^17.0.0-prerelease.
|
|
21
|
-
"@semcore/dropdown-menu": "^17.0.0-prerelease.
|
|
22
|
-
"@semcore/input": "^17.0.0-prerelease.
|
|
23
|
-
"@semcore/typography": "^17.0.0-prerelease.
|
|
16
|
+
"@semcore/base-trigger": "^17.0.0-prerelease.31",
|
|
17
|
+
"@semcore/button": "^17.0.0-prerelease.31",
|
|
18
|
+
"@semcore/checkbox": "^17.0.0-prerelease.31",
|
|
19
|
+
"@semcore/divider": "^17.0.0-prerelease.31",
|
|
20
|
+
"@semcore/dropdown": "^17.0.0-prerelease.31",
|
|
21
|
+
"@semcore/dropdown-menu": "^17.0.0-prerelease.31",
|
|
22
|
+
"@semcore/input": "^17.0.0-prerelease.31",
|
|
23
|
+
"@semcore/typography": "^17.0.0-prerelease.31",
|
|
24
24
|
"classnames": "2.2.6"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/classnames": "2.2.6",
|
|
37
|
-
"@semcore/
|
|
38
|
-
"@semcore/
|
|
39
|
-
"@semcore/
|
|
40
|
-
"@semcore/
|
|
37
|
+
"@semcore/core": "17.0.0-prerelease.31",
|
|
38
|
+
"@semcore/base-components": "17.0.0-prerelease.31",
|
|
39
|
+
"@semcore/icon": "16.7.2-prerelease.31",
|
|
40
|
+
"@semcore/testing-utils": "1.0.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|