@alfalab/core-components-select 19.1.5 → 19.1.6-alfasans

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.
Files changed (142) hide show
  1. package/components/arrow/index.css +4 -4
  2. package/components/arrow/index.module.css.js +1 -1
  3. package/components/base-checkmark/index.css +12 -12
  4. package/components/base-checkmark/index.module.css.js +1 -1
  5. package/components/base-option/index.css +19 -17
  6. package/components/base-option/index.module.css.js +1 -1
  7. package/components/base-select/Component.js +4 -0
  8. package/components/base-select/Component.js.map +1 -1
  9. package/components/base-select/index.css +11 -11
  10. package/components/base-select/index.module.css.js +1 -1
  11. package/components/base-select/mobile.css +11 -11
  12. package/components/base-select/mobile.module.css.js +1 -1
  13. package/components/checkmark/index.css +11 -11
  14. package/components/checkmark/index.module.css.js +1 -1
  15. package/components/checkmark-mobile/index.css +6 -6
  16. package/components/checkmark-mobile/index.module.css.js +1 -1
  17. package/components/clear-button/index.css +4 -4
  18. package/components/clear-button/index.module.css.js +1 -1
  19. package/components/field/index.css +22 -18
  20. package/components/field/index.module.css.js +1 -1
  21. package/components/footer/index.css +4 -4
  22. package/components/footer/index.module.css.js +1 -1
  23. package/components/optgroup/index.css +8 -7
  24. package/components/optgroup/index.module.css.js +1 -1
  25. package/components/option/desktop/index.css +24 -22
  26. package/components/option/desktop/index.module.css.js +1 -1
  27. package/components/option/mobile/index.css +21 -19
  28. package/components/option/mobile/index.module.css.js +1 -1
  29. package/components/options-list/index.css +13 -13
  30. package/components/options-list/index.module.css.js +1 -1
  31. package/components/search/index.css +1 -1
  32. package/components/search/index.module.css.js +1 -1
  33. package/components/virtual-options-list/index.css +13 -13
  34. package/components/virtual-options-list/index.module.css.js +1 -1
  35. package/cssm/components/base-option/index.module.css +5 -3
  36. package/cssm/components/base-select/Component.js +4 -0
  37. package/cssm/components/base-select/Component.js.map +1 -1
  38. package/cssm/components/field/index.module.css +9 -5
  39. package/cssm/components/optgroup/index.module.css +4 -3
  40. package/cssm/components/option/desktop/index.module.css +5 -3
  41. package/cssm/components/option/mobile/index.module.css +5 -3
  42. package/esm/components/arrow/index.css +4 -4
  43. package/esm/components/arrow/index.module.css.js +1 -1
  44. package/esm/components/base-checkmark/index.css +12 -12
  45. package/esm/components/base-checkmark/index.module.css.js +1 -1
  46. package/esm/components/base-option/index.css +19 -17
  47. package/esm/components/base-option/index.module.css.js +1 -1
  48. package/esm/components/base-select/Component.js +4 -0
  49. package/esm/components/base-select/Component.js.map +1 -1
  50. package/esm/components/base-select/index.css +11 -11
  51. package/esm/components/base-select/index.module.css.js +1 -1
  52. package/esm/components/base-select/mobile.css +11 -11
  53. package/esm/components/base-select/mobile.module.css.js +1 -1
  54. package/esm/components/checkmark/index.css +11 -11
  55. package/esm/components/checkmark/index.module.css.js +1 -1
  56. package/esm/components/checkmark-mobile/index.css +6 -6
  57. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  58. package/esm/components/clear-button/index.css +4 -4
  59. package/esm/components/clear-button/index.module.css.js +1 -1
  60. package/esm/components/field/index.css +22 -18
  61. package/esm/components/field/index.module.css.js +1 -1
  62. package/esm/components/footer/index.css +4 -4
  63. package/esm/components/footer/index.module.css.js +1 -1
  64. package/esm/components/optgroup/index.css +8 -7
  65. package/esm/components/optgroup/index.module.css.js +1 -1
  66. package/esm/components/option/desktop/index.css +24 -22
  67. package/esm/components/option/desktop/index.module.css.js +1 -1
  68. package/esm/components/option/mobile/index.css +21 -19
  69. package/esm/components/option/mobile/index.module.css.js +1 -1
  70. package/esm/components/options-list/index.css +13 -13
  71. package/esm/components/options-list/index.module.css.js +1 -1
  72. package/esm/components/search/index.css +1 -1
  73. package/esm/components/search/index.module.css.js +1 -1
  74. package/esm/components/virtual-options-list/index.css +13 -13
  75. package/esm/components/virtual-options-list/index.module.css.js +1 -1
  76. package/esm/mobile/modal.mobile.css +1 -1
  77. package/esm/mobile/modal.mobile.module.css.js +1 -1
  78. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  79. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  80. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  81. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  82. package/esm/presets/useSelectWithLoading/index.css +1 -1
  83. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  84. package/mobile/modal.mobile.css +1 -1
  85. package/mobile/modal.mobile.module.css.js +1 -1
  86. package/modern/components/arrow/index.css +4 -4
  87. package/modern/components/arrow/index.module.css.js +1 -1
  88. package/modern/components/base-checkmark/index.css +12 -12
  89. package/modern/components/base-checkmark/index.module.css.js +1 -1
  90. package/modern/components/base-option/index.css +19 -17
  91. package/modern/components/base-option/index.module.css.js +1 -1
  92. package/modern/components/base-select/Component.js +4 -0
  93. package/modern/components/base-select/Component.js.map +1 -1
  94. package/modern/components/base-select/index.css +11 -11
  95. package/modern/components/base-select/index.module.css.js +1 -1
  96. package/modern/components/base-select/mobile.css +11 -11
  97. package/modern/components/base-select/mobile.module.css.js +1 -1
  98. package/modern/components/checkmark/index.css +11 -11
  99. package/modern/components/checkmark/index.module.css.js +1 -1
  100. package/modern/components/checkmark-mobile/index.css +6 -6
  101. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  102. package/modern/components/clear-button/index.css +4 -4
  103. package/modern/components/clear-button/index.module.css.js +1 -1
  104. package/modern/components/field/index.css +22 -18
  105. package/modern/components/field/index.module.css.js +1 -1
  106. package/modern/components/footer/index.css +4 -4
  107. package/modern/components/footer/index.module.css.js +1 -1
  108. package/modern/components/optgroup/index.css +8 -7
  109. package/modern/components/optgroup/index.module.css.js +1 -1
  110. package/modern/components/option/desktop/index.css +24 -22
  111. package/modern/components/option/desktop/index.module.css.js +1 -1
  112. package/modern/components/option/mobile/index.css +21 -19
  113. package/modern/components/option/mobile/index.module.css.js +1 -1
  114. package/modern/components/options-list/index.css +13 -13
  115. package/modern/components/options-list/index.module.css.js +1 -1
  116. package/modern/components/search/index.css +1 -1
  117. package/modern/components/search/index.module.css.js +1 -1
  118. package/modern/components/virtual-options-list/index.css +13 -13
  119. package/modern/components/virtual-options-list/index.module.css.js +1 -1
  120. package/modern/mobile/modal.mobile.css +1 -1
  121. package/modern/mobile/modal.mobile.module.css.js +1 -1
  122. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  123. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  124. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  125. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  126. package/modern/presets/useSelectWithLoading/index.css +1 -1
  127. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  128. package/moderncssm/components/base-option/index.module.css +2 -1
  129. package/moderncssm/components/base-select/Component.js +4 -0
  130. package/moderncssm/components/base-select/Component.js.map +1 -1
  131. package/moderncssm/components/field/index.module.css +6 -3
  132. package/moderncssm/components/optgroup/index.module.css +1 -1
  133. package/moderncssm/components/option/desktop/index.module.css +2 -1
  134. package/moderncssm/components/option/mobile/index.module.css +2 -1
  135. package/package.json +18 -15
  136. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  137. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  138. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  139. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  140. package/presets/useSelectWithLoading/index.css +1 -1
  141. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  142. package/src/components/base-select/Component.tsx +7 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/base-select/Component.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, {\n type AriaAttributes,\n type FocusEvent,\n forwardRef,\n type KeyboardEvent,\n type MouseEvent,\n type RefAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { ResizeObserver as ResizeObserverPolyfill } from '@juggle/resize-observer';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\nimport {\n useCombobox,\n useMultipleSelection,\n type UseMultipleSelectionProps,\n type UseMultipleSelectionState,\n} from 'downshift';\n\nimport { fnUtils, getDataTestId, isClient } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport {\n type AnyObject,\n type OptionShape,\n type OptionsListProps,\n type SearchProps,\n} from '../../typings';\nimport {\n defaultAccessor,\n defaultFilterFn,\n defaultGroupAccessor,\n isGroup,\n processOptions,\n} from '../../utils';\nimport { NativeSelect } from '../native-select';\n\nimport { type ComponentProps } from './types/component-types';\n\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nconst itemToString = (option: OptionShape | null) => (option ? option.key : '');\n\nconst isItemDisabled = (option: OptionShape | null) => Boolean(option?.disabled);\n\nexport const BaseSelect = forwardRef<unknown, ComponentProps>(\n // TODO: 😭\n // eslint-disable-next-line complexity\n (props, ref) => {\n const {\n dataTestId,\n className,\n fieldClassName,\n optionGroupClassName,\n optionsListClassName,\n optionClassName,\n popperClassName,\n options,\n autocomplete = false,\n multiple = false,\n allowUnselect = false,\n disabled = false,\n closeOnSelect = !multiple,\n circularNavigation = false,\n nativeSelect = false,\n defaultOpen = false,\n open: openProp,\n popoverPosition = 'bottom-start',\n preventFlip = true,\n optionsListWidth = 'content',\n name,\n id,\n selected,\n size = 48,\n optionsSize = size,\n error,\n hint,\n block,\n label,\n labelView,\n placeholder,\n fieldProps = {},\n optionsListProps = {},\n optionProps = {},\n groupOptionProps = {},\n searchProps = {},\n showSearch = false,\n valueRenderer,\n onChange,\n onOpen,\n onFocus,\n onBlur,\n onScroll,\n onClear,\n clear,\n Arrow,\n Field = () => null,\n OptionsList = () => null,\n Optgroup = () => null,\n Option = () => null,\n Search = () => null,\n updatePopover,\n zIndexPopover,\n showEmptyOptionsList = false,\n visibleOptions,\n view,\n isBottomSheet = true,\n footer,\n swipeable,\n modalProps,\n popoverProps,\n modalFooterProps,\n modalHeaderProps,\n bottomSheetProps,\n Popover,\n ModalMobile,\n BottomSheet,\n limitDynamicOptionGroupSize,\n environment = isClient() ? window : undefined,\n } = props;\n const shouldSearchBlurRef = useRef(true);\n const rootRef = useRef<HTMLDivElement>(null);\n const fieldRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const initiatorRef = useRef<OptionShape | null>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const scrollableContainerRef = useRef<HTMLDivElement>(null);\n const onOpenRef = useRef(onOpen);\n\n const [searchState, setSearchState] = React.useState('');\n\n const [search, setSearch] =\n typeof searchProps?.value === 'string'\n ? [searchProps.value, searchProps.onChange]\n : [searchState, setSearchState];\n\n const accessor = searchProps.accessor || defaultAccessor;\n const filterFn = searchProps.filterFn || defaultFilterFn;\n const filterGroup = searchProps.filterGroup ?? false;\n const groupAccessor = searchProps.groupAccessor ?? defaultGroupAccessor;\n\n const { filteredOptions, flatOptions, selectedOptions } = useMemo(\n () =>\n processOptions(\n options,\n selected,\n (option) => {\n if (isGroup(option)) {\n const groupAccessorValue = groupAccessor(option);\n\n return (\n typeof groupAccessorValue === 'string' &&\n filterFn(groupAccessorValue, search)\n );\n }\n\n return filterFn(accessor(option), search);\n },\n filterGroup,\n ),\n [options, selected, filterFn, accessor, search, filterGroup, groupAccessor],\n );\n\n const scrollIntoView = (node: HTMLElement) => {\n if (!node || view === 'mobile') return;\n\n requestAnimationFrame(() => {\n const actions = compute(node, {\n boundary: listRef.current,\n block: 'nearest',\n scrollMode: 'if-needed',\n });\n\n actions.forEach((action) => {\n const { el, top } = action;\n\n el.scrollTop = top;\n });\n });\n };\n\n const useMultipleSelectionProps: UseMultipleSelectionProps<OptionShape> = {\n itemToString,\n onSelectedItemsChange: (changes) => {\n if (onChange) {\n const { selectedItems = [] } = changes;\n\n onChange({\n selectedMultiple: selectedItems,\n selected: selectedItems.length ? selectedItems[0] : null,\n initiator: initiatorRef.current,\n name,\n });\n\n initiatorRef.current = null;\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n if (\n type === useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace &&\n (!allowUnselect ||\n environment?.document.activeElement?.isSameNode(searchRef.current))\n ) {\n return state;\n }\n\n return changes as UseMultipleSelectionState<OptionShape>;\n },\n };\n\n if (selected !== undefined) {\n useMultipleSelectionProps.selectedItems = selectedOptions;\n }\n\n onOpenRef.current = onOpen;\n\n const {\n selectedItems,\n addSelectedItem,\n setSelectedItems,\n removeSelectedItem,\n getDropdownProps,\n } = useMultipleSelection(useMultipleSelectionProps);\n\n const {\n isOpen: open,\n getMenuProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n highlightedIndex,\n toggleMenu,\n openMenu,\n closeMenu,\n setHighlightedIndex,\n } = useCombobox<OptionShape>({\n id,\n isOpen: openProp,\n items: flatOptions,\n itemToString,\n isItemDisabled,\n defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,\n scrollIntoView,\n environment,\n onSelectedItemChange: (changes) => {\n const selectedItem = changes.selectedItem || initiatorRef.current;\n\n if (selectedItem && !selectedItem.disabled) {\n const alreadySelected = selectedItems.includes(selectedItem);\n const allowRemove = allowUnselect || (multiple && selectedItems.length > 1);\n\n if (alreadySelected && allowRemove) {\n removeSelectedItem(selectedItem);\n }\n\n if (!alreadySelected) {\n if (multiple) {\n addSelectedItem(selectedItem);\n } else {\n setSelectedItems([selectedItem]);\n }\n }\n }\n },\n onIsOpenChange: (changes) => {\n if (onOpenRef.current) {\n /**\n * Вызываем обработчик асинхронно.\n *\n * Иначе при клике вне открытого селекта сначала сработает onOpen, который закроет селект,\n * А затем сработает onClick кнопки открытия\\закрытия с open=false и в итоге селект откроется снова.\n */\n setTimeout(() => {\n onOpenRef.current?.({\n open: changes.isOpen,\n name,\n });\n }, 0);\n }\n\n if (showSearch) {\n if (changes.isOpen && view === 'desktop') {\n setTimeout(() => {\n searchRef.current?.focus();\n }, 0);\n } else {\n setSearch?.('');\n }\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownArrowDown:\n if (\n !circularNavigation &&\n state.highlightedIndex === flatOptions.length - 1\n ) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownArrowUp:\n if (!circularNavigation && state.highlightedIndex === 0) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n const { selectedItem } = changes;\n\n initiatorRef.current = selectedItem || null;\n\n return {\n ...changes,\n selectedItem: state.selectedItem === selectedItem ? null : selectedItem,\n isOpen: !closeOnSelect || (view === 'mobile' && multiple),\n // при closeOnSelect === false - сохраняем подсвеченный индекс\n highlightedIndex:\n state.isOpen && !closeOnSelect\n ? state.highlightedIndex\n : changes.highlightedIndex,\n };\n }\n default:\n return changes;\n }\n },\n });\n\n useEffect(() => {\n /*\n * При изменении openProp, состояние внутри downshift в useEnhancedReducer не меняется, поэтому меняем его таким способом\n * Скорее всего это исправят в будущих версиях downshift\n */\n if (openProp !== undefined) {\n if (openProp) {\n openMenu();\n } else {\n closeMenu();\n }\n }\n }, [openProp, openMenu, closeMenu]);\n\n const inputProps = getInputProps(getDropdownProps({ ref: mergeRefs([ref, fieldRef]) }));\n const { ref: menuRef, ...menuProps } = getMenuProps(\n { ref: listRef },\n { suppressRefError: true },\n );\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (showSearch) searchRef.current?.focus();\n\n if (isBottomSheet) {\n bottomSheetProps?.transitionProps?.onEntered?.(node, isAppearing);\n } else {\n modalProps?.transitionProps?.onEntered?.(node, isAppearing);\n }\n };\n\n const handleFieldFocus = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (onFocus) onFocus(event);\n\n if (autocomplete && !open) {\n openMenu();\n }\n };\n\n const handleFieldBlur = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (view === 'desktop') {\n const isNextFocusInsideField = fieldRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n const isNextFocusInsideList = listRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n if (!isNextFocusInsideField && !isNextFocusInsideList) {\n if (onBlur) onBlur(event);\n\n inputProps.onBlur?.(event);\n }\n }\n\n if (view === 'mobile' && !open && onBlur) onBlur(event);\n };\n\n const handleFieldKeyDown = (event: KeyboardEvent<HTMLDivElement | HTMLInputElement>) => {\n inputProps.onKeyDown?.(event);\n\n // https://caniuse.com/?search=KeyboardEvent.key\n const isKeyUnsupported = event.key === 'Unidentified';\n\n if (\n autocomplete &&\n !open &&\n (isKeyUnsupported || event.key.length === 1 || event.key === 'Backspace')\n ) {\n // Для автокомплита - открываем меню при начале ввода\n openMenu();\n }\n\n if (\n [' ', 'Enter'].includes(event.key) &&\n !autocomplete &&\n !nativeSelect &&\n (event.target as HTMLElement).tagName !== 'INPUT' &&\n (event.target as HTMLElement).tagName !== 'BUTTON' &&\n (event.target as HTMLElement).tagName !== 'TEXTAREA'\n ) {\n // Открываем\\закрываем меню по нажатию enter или пробела\n event.preventDefault();\n if (!open || highlightedIndex === -1) toggleMenu();\n }\n };\n\n const handleFieldClick = (event: MouseEvent) => {\n if (!autocomplete || (event.target as HTMLElement).tagName !== 'INPUT') {\n toggleMenu();\n } else {\n openMenu();\n }\n };\n\n const handleNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n setSelectedItems(\n // eslint-disable-next-line\n [...(event.target.options as any)].reduce(\n (acc, option, index) =>\n option.selected ? acc.concat(flatOptions[index]) : acc,\n [],\n ),\n );\n },\n [flatOptions, setSelectedItems],\n );\n\n const getOptionProps = (option: OptionShape, index: number) => ({\n ...(optionProps as object),\n mobile: view === 'mobile',\n className: cn(optionClassName, {\n [mobileStyles.option]: view === 'mobile',\n }),\n innerProps: getItemProps({\n index,\n item: option,\n onMouseDown: (event: MouseEvent) => event.preventDefault(),\n onClick: () => {\n if (view === 'mobile' || !showSearch || multiple) return;\n shouldSearchBlurRef.current = false;\n searchRef.current?.blur();\n shouldSearchBlurRef.current = true;\n fieldRef.current?.focus();\n },\n }),\n multiple,\n index,\n option,\n size: optionsSize,\n disabled: option.disabled,\n highlighted: index === highlightedIndex,\n selected: selectedItems.some(({ key }) => key === option.key),\n dataTestId: getDataTestId(dataTestId, 'option'),\n });\n\n useEffect(() => {\n if (defaultOpen) openMenu();\n }, [defaultOpen, openMenu]);\n\n useEffect(() => {\n if (openProp) {\n openMenu();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const calcOptionsListWidth = useCallback(() => {\n if (view === 'desktop' && listRef.current) {\n const widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';\n\n const optionsListMinWidth = rootRef.current\n ? rootRef.current.getBoundingClientRect().width\n : 0;\n\n listRef.current.removeAttribute('style');\n listRef.current.style[widthAttr] = `${optionsListMinWidth}px`;\n }\n }, [view, optionsListWidth]);\n\n useEffect(() => {\n if (view === 'desktop') {\n const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n const observer = new ResizeObserver(calcOptionsListWidth);\n\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }\n\n return fnUtils.noop;\n }, [view, calcOptionsListWidth, open, optionsListWidth]);\n\n useLayoutEffect_SAFE_FOR_SSR(calcOptionsListWidth, [\n open,\n optionsListWidth,\n filteredOptions,\n selectedItems,\n ]);\n\n const renderValue = () =>\n selectedItems.map((option) => (\n <input type='hidden' name={name} value={option.key} key={option.key} />\n ));\n\n const renderNativeSelect = () => {\n const value = multiple\n ? selectedItems.map((option) => option.key)\n : selectedItems[0]?.key;\n\n return (\n <NativeSelect\n {...(menuProps as AnyObject)}\n className={styles.nativeSelect}\n disabled={disabled}\n multiple={multiple}\n name={name}\n value={value}\n onChange={handleNativeSelectChange}\n options={filteredOptions}\n />\n );\n };\n\n const handleFieldClear = (event: MouseEvent<HTMLButtonElement>) => {\n setSelectedItems([]);\n onClear?.(event);\n };\n\n const renderSearch = () => {\n if (!showSearch) return null;\n\n const handleClear: SearchProps['onClear'] = (event) => {\n setSearch?.('');\n searchProps?.componentProps?.onClear?.(event);\n };\n\n const handleChange: SearchProps['onChange'] = (event, payload) => {\n setSearch?.(payload.value);\n searchProps?.componentProps?.onChange?.(event, payload);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!shouldSearchBlurRef.current) return;\n searchProps.componentProps?.onBlur?.(event);\n handleFieldBlur(event);\n };\n\n return (\n <Search\n {...searchProps?.componentProps}\n onBlur={handleBlur}\n value={search}\n onChange={handleChange}\n dataTestId={getDataTestId(dataTestId, 'search')}\n onClear={handleClear}\n className={cn(\n searchProps?.componentProps?.className,\n {\n [styles.search]: view === 'desktop',\n [mobileStyles.search]: view === 'mobile',\n },\n styles[`size-${size}`],\n )}\n ref={mergeRefs([searchRef, searchProps?.componentProps?.ref || null])}\n client={view}\n />\n );\n };\n\n const { header, emptyPlaceholder } = optionsListProps as OptionsListProps;\n\n const renderOptionsListHeader = () => {\n if (header || (view === 'desktop' && showSearch)) {\n return (\n <React.Fragment>\n {header}\n {view === 'desktop' && renderSearch()}\n </React.Fragment>\n );\n }\n\n return null;\n };\n\n const renderEmptyPlaceholder = () => {\n if (emptyPlaceholder) {\n return emptyPlaceholder;\n }\n\n if (showSearch) {\n return <div className={styles.emptySearchPlaceholder}>Ничего не нашлось</div>;\n }\n\n return undefined;\n };\n\n const renderOptionsList = () => {\n if (flatOptions.length === 0 && !showEmptyOptionsList && !showSearch) return null;\n\n const listProps = optionsListProps as OptionsListProps & RefAttributes<HTMLDivElement>;\n\n return (\n <div\n {...menuProps}\n ref={view === 'desktop' ? menuRef : undefined}\n className={cn(\n optionsListClassName,\n view === 'mobile' && mobileStyles.optionsListWrapper,\n view === 'desktop' && styles.optionsListWrapper,\n )}\n >\n <OptionsList\n {...listProps}\n ref={view === 'desktop' ? listProps.ref : scrollableContainerRef}\n setHighlightedIndex={view === 'desktop' ? setHighlightedIndex : undefined}\n className={cn(\n { [mobileStyles.optionsList]: view === 'mobile' },\n listProps.className,\n )}\n scrollbarClassName={cn(\n { [mobileStyles.scrollbar]: view === 'mobile' },\n listProps.scrollbarClassName,\n )}\n optionsListWidth={optionsListWidth}\n flatOptions={flatOptions}\n highlightedIndex={highlightedIndex}\n open={open}\n size={size}\n options={filteredOptions}\n Optgroup={Optgroup}\n Option={Option}\n selectedItems={selectedItems}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n groupOptionProps={groupOptionProps}\n getOptionProps={getOptionProps}\n visibleOptions={view === 'desktop' ? visibleOptions : 0}\n dataTestId={getDataTestId(dataTestId, 'options-list')}\n header={renderOptionsListHeader()}\n optionGroupClassName={cn(optionGroupClassName, {\n [mobileStyles.optionGroup]: view === 'mobile',\n })}\n emptyPlaceholder={renderEmptyPlaceholder()}\n onScroll={onScroll}\n search={search}\n multiple={multiple}\n limitDynamicOptionGroupSize={limitDynamicOptionGroupSize}\n client={view}\n />\n {view === 'desktop' && <div className={styles.optionsListBorder} />}\n </div>\n );\n };\n\n const renderInPopover = () => {\n if (!nativeSelect && Popover) {\n return (\n <Popover\n {...popoverProps}\n open={open}\n withTransition={false}\n anchorElement={fieldRef.current as HTMLElement}\n position={popoverPosition}\n preventFlip={preventFlip}\n popperClassName={cn(styles.popoverInner, popperClassName)}\n update={updatePopover}\n zIndex={zIndexPopover}\n >\n {renderOptionsList()}\n </Popover>\n );\n }\n\n return null;\n };\n\n const renderInBottomSheet = () => {\n if (!nativeSelect && BottomSheet) {\n const bottomAddons = bottomSheetProps?.bottomAddons;\n\n return (\n <BottomSheet\n dataTestId={getDataTestId(dataTestId, 'bottom-sheet')}\n open={open}\n className={mobileStyles.sheet}\n contentClassName={mobileStyles.sheetContent}\n containerClassName={mobileStyles.sheetContainer}\n title={label || placeholder}\n actionButton={footer ?? (multiple ? null : undefined)}\n stickyHeader={true}\n hasCloser={true}\n swipeable={swipeable}\n initialHeight={showSearch ? 'full' : 'default'}\n {...bottomSheetProps}\n sheetContainerRef={menuRef}\n scrollableContainerRef={scrollableContainerRef}\n onClose={() => {\n closeMenu();\n bottomSheetProps?.onClose?.();\n }}\n transitionProps={{\n ...bottomSheetProps?.transitionProps,\n onEntered: handleEntered,\n }}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n containerProps={{\n ...bottomSheetProps?.containerProps,\n onScroll,\n }}\n >\n {renderOptionsList()}\n </BottomSheet>\n );\n }\n\n return null;\n };\n\n const renderInModalMobile = () => {\n if (!nativeSelect && ModalMobile) {\n const bottomAddons = modalHeaderProps?.bottomAddons;\n\n return (\n <ModalMobile\n dataTestId={getDataTestId(dataTestId, 'modal')}\n open={open}\n hasCloser={true}\n {...modalProps}\n componentRef={menuRef}\n onClose={(...args) => {\n closeMenu();\n modalProps?.onClose?.(...args);\n }}\n contentClassName={cn(\n mobileStyles.sheetContent,\n modalProps?.contentClassName,\n )}\n ref={mergeRefs([\n scrollableContainerRef,\n modalProps?.ref as React.Ref<HTMLDivElement>,\n ])}\n wrapperProps={{\n ...modalProps?.wrapperProps,\n onScroll,\n }}\n transitionProps={{\n ...modalProps?.transitionProps,\n onEntered: handleEntered,\n }}\n >\n <ModalMobile.Header\n hasCloser={true}\n sticky={true}\n {...modalHeaderProps}\n title={undefined}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n >\n {modalHeaderProps?.title || label || placeholder}\n </ModalMobile.Header>\n\n <ModalMobile.Content flex={true} className={mobileStyles.modalContent}>\n {renderOptionsList()}\n </ModalMobile.Content>\n\n {modalFooterProps?.children && <ModalMobile.Footer {...modalFooterProps} />}\n </ModalMobile>\n );\n }\n\n return null;\n };\n\n return (\n <div\n {...(disabled && { 'aria-disabled': true })}\n aria-expanded={inputProps['aria-expanded']}\n aria-haspopup='listbox'\n role={inputProps.role}\n className={cn(styles.component, { [styles.block]: block }, className)}\n ref={rootRef}\n onKeyDown={disabled ? undefined : handleFieldKeyDown}\n tabIndex={-1}\n data-test-id={getDataTestId(dataTestId)}\n >\n {nativeSelect && renderNativeSelect()}\n\n <Field\n selectedMultiple={selectedItems}\n selected={selectedItems[0]}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n multiple={multiple}\n open={open}\n disabled={disabled}\n size={size}\n placeholder={placeholder}\n label={label && <span {...getLabelProps()}>{label}</span>}\n labelView={labelView}\n Arrow={Arrow && <Arrow open={open} size={size} disabled={disabled} />}\n error={error}\n hint={hint}\n valueRenderer={valueRenderer}\n className={fieldClassName}\n clear={clear}\n onClear={handleFieldClear}\n innerProps={{\n onBlur: handleFieldBlur,\n onFocus: disabled ? undefined : handleFieldFocus,\n onClick: disabled ? undefined : handleFieldClick,\n tabIndex: disabled ? undefined : nativeSelect ? -1 : 0,\n ref: inputProps.ref,\n id: inputProps.id,\n 'aria-label': (optionProps as AriaAttributes)['aria-label'],\n 'aria-labelledby': inputProps['aria-labelledby'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-autocomplete': autocomplete\n ? inputProps['aria-autocomplete']\n : undefined,\n }}\n dataTestId={getDataTestId(dataTestId, 'field')}\n {...(fieldProps as AnyObject)}\n />\n\n {name && !nativeSelect && renderValue()}\n\n {view === 'desktop' && renderInPopover()}\n {view === 'mobile' &&\n (isBottomSheet ? renderInBottomSheet() : renderInModalMobile())}\n </div>\n );\n },\n);\n"],"names":["ResizeObserver","ResizeObserverPolyfill"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-select/Component.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, {\n type AriaAttributes,\n type FocusEvent,\n forwardRef,\n type KeyboardEvent,\n type MouseEvent,\n type RefAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { ResizeObserver as ResizeObserverPolyfill } from '@juggle/resize-observer';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\nimport {\n useCombobox,\n useMultipleSelection,\n type UseMultipleSelectionProps,\n type UseMultipleSelectionState,\n} from 'downshift';\n\nimport { fnUtils, getDataTestId, isClient } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport {\n type AnyObject,\n type OptionShape,\n type OptionsListProps,\n type SearchProps,\n} from '../../typings';\nimport {\n defaultAccessor,\n defaultFilterFn,\n defaultGroupAccessor,\n isGroup,\n processOptions,\n} from '../../utils';\nimport { NativeSelect } from '../native-select';\n\nimport { type ComponentProps } from './types/component-types';\n\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nconst itemToString = (option: OptionShape | null) => (option ? option.key : '');\n\nconst isItemDisabled = (option: OptionShape | null) => Boolean(option?.disabled);\n\nexport const BaseSelect = forwardRef<unknown, ComponentProps>(\n // TODO: 😭\n // eslint-disable-next-line complexity\n (props, ref) => {\n const {\n dataTestId,\n className,\n fieldClassName,\n optionGroupClassName,\n optionsListClassName,\n optionClassName,\n popperClassName,\n options,\n autocomplete = false,\n multiple = false,\n allowUnselect = false,\n disabled = false,\n closeOnSelect = !multiple,\n circularNavigation = false,\n nativeSelect = false,\n defaultOpen = false,\n open: openProp,\n popoverPosition = 'bottom-start',\n preventFlip = true,\n optionsListWidth = 'content',\n name,\n id,\n selected,\n size = 48,\n optionsSize = size,\n error,\n hint,\n block,\n label,\n labelView,\n placeholder,\n fieldProps = {},\n optionsListProps = {},\n optionProps = {},\n groupOptionProps = {},\n searchProps = {},\n showSearch = false,\n valueRenderer,\n onChange,\n onOpen,\n onFocus,\n onBlur,\n onScroll,\n onClear,\n clear,\n Arrow,\n Field = () => null,\n OptionsList = () => null,\n Optgroup = () => null,\n Option = () => null,\n Search = () => null,\n updatePopover,\n zIndexPopover,\n showEmptyOptionsList = false,\n visibleOptions,\n view,\n isBottomSheet = true,\n footer,\n swipeable,\n modalProps,\n popoverProps,\n modalFooterProps,\n modalHeaderProps,\n bottomSheetProps,\n Popover,\n ModalMobile,\n BottomSheet,\n limitDynamicOptionGroupSize,\n environment = isClient() ? window : undefined,\n } = props;\n const shouldSearchBlurRef = useRef(true);\n const rootRef = useRef<HTMLDivElement>(null);\n const fieldRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const initiatorRef = useRef<OptionShape | null>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const scrollableContainerRef = useRef<HTMLDivElement>(null);\n const onOpenRef = useRef(onOpen);\n\n const [searchState, setSearchState] = React.useState('');\n\n const [search, setSearch] =\n typeof searchProps?.value === 'string'\n ? [searchProps.value, searchProps.onChange]\n : [searchState, setSearchState];\n\n const accessor = searchProps.accessor || defaultAccessor;\n const filterFn = searchProps.filterFn || defaultFilterFn;\n const filterGroup = searchProps.filterGroup ?? false;\n const groupAccessor = searchProps.groupAccessor ?? defaultGroupAccessor;\n\n const { filteredOptions, flatOptions, selectedOptions } = useMemo(\n () =>\n processOptions(\n options,\n selected,\n (option) => {\n if (isGroup(option)) {\n const groupAccessorValue = groupAccessor(option);\n\n return (\n typeof groupAccessorValue === 'string' &&\n filterFn(groupAccessorValue, search)\n );\n }\n\n return filterFn(accessor(option), search);\n },\n filterGroup,\n ),\n [options, selected, filterFn, accessor, search, filterGroup, groupAccessor],\n );\n\n const scrollIntoView = (node: HTMLElement) => {\n if (!node || view === 'mobile') return;\n\n requestAnimationFrame(() => {\n const actions = compute(node, {\n boundary: listRef.current,\n block: 'nearest',\n scrollMode: 'if-needed',\n });\n\n actions.forEach((action) => {\n const { el, top } = action;\n\n el.scrollTop = top;\n });\n });\n };\n\n const useMultipleSelectionProps: UseMultipleSelectionProps<OptionShape> = {\n itemToString,\n onSelectedItemsChange: (changes) => {\n if (onChange) {\n const { selectedItems = [] } = changes;\n\n onChange({\n selectedMultiple: selectedItems,\n selected: selectedItems.length ? selectedItems[0] : null,\n initiator: initiatorRef.current,\n name,\n });\n\n initiatorRef.current = null;\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n if (\n type === useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace &&\n (!allowUnselect ||\n environment?.document.activeElement?.isSameNode(searchRef.current))\n ) {\n return state;\n }\n\n return changes as UseMultipleSelectionState<OptionShape>;\n },\n };\n\n if (selected !== undefined) {\n useMultipleSelectionProps.selectedItems = selectedOptions;\n }\n\n onOpenRef.current = onOpen;\n\n const {\n selectedItems,\n addSelectedItem,\n setSelectedItems,\n removeSelectedItem,\n getDropdownProps,\n } = useMultipleSelection(useMultipleSelectionProps);\n\n const {\n isOpen: open,\n getMenuProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n highlightedIndex,\n toggleMenu,\n openMenu,\n closeMenu,\n setHighlightedIndex,\n } = useCombobox<OptionShape>({\n id,\n isOpen: openProp,\n items: flatOptions,\n itemToString,\n isItemDisabled,\n defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,\n scrollIntoView,\n environment,\n onSelectedItemChange: (changes) => {\n const selectedItem = changes.selectedItem || initiatorRef.current;\n\n if (selectedItem && !selectedItem.disabled) {\n const alreadySelected = selectedItems.includes(selectedItem);\n const allowRemove = allowUnselect || (multiple && selectedItems.length > 1);\n\n if (alreadySelected && allowRemove) {\n removeSelectedItem(selectedItem);\n }\n\n if (!alreadySelected) {\n if (multiple) {\n addSelectedItem(selectedItem);\n } else {\n setSelectedItems([selectedItem]);\n }\n }\n }\n },\n onIsOpenChange: (changes) => {\n if (onOpenRef.current) {\n /**\n * Вызываем обработчик асинхронно.\n *\n * Иначе при клике вне открытого селекта сначала сработает onOpen, который закроет селект,\n * А затем сработает onClick кнопки открытия\\закрытия с open=false и в итоге селект откроется снова.\n */\n setTimeout(() => {\n onOpenRef.current?.({\n open: changes.isOpen,\n name,\n });\n }, 0);\n }\n\n if (showSearch) {\n if (changes.isOpen && view === 'desktop') {\n setTimeout(() => {\n searchRef.current?.focus();\n }, 0);\n } else {\n setSearch?.('');\n }\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownArrowDown:\n if (\n !circularNavigation &&\n state.highlightedIndex === flatOptions.length - 1\n ) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownArrowUp:\n if (!circularNavigation && state.highlightedIndex === 0) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n const { selectedItem } = changes;\n\n if (\n type === useCombobox.stateChangeTypes.InputKeyDownEnter &&\n state.highlightedIndex === -1\n ) {\n return state;\n }\n\n initiatorRef.current = selectedItem || null;\n\n return {\n ...changes,\n selectedItem: state.selectedItem === selectedItem ? null : selectedItem,\n isOpen: !closeOnSelect || (view === 'mobile' && multiple),\n // при closeOnSelect === false - сохраняем подсвеченный индекс\n highlightedIndex:\n state.isOpen && !closeOnSelect\n ? state.highlightedIndex\n : changes.highlightedIndex,\n };\n }\n default:\n return changes;\n }\n },\n });\n\n useEffect(() => {\n /*\n * При изменении openProp, состояние внутри downshift в useEnhancedReducer не меняется, поэтому меняем его таким способом\n * Скорее всего это исправят в будущих версиях downshift\n */\n if (openProp !== undefined) {\n if (openProp) {\n openMenu();\n } else {\n closeMenu();\n }\n }\n }, [openProp, openMenu, closeMenu]);\n\n const inputProps = getInputProps(getDropdownProps({ ref: mergeRefs([ref, fieldRef]) }));\n const { ref: menuRef, ...menuProps } = getMenuProps(\n { ref: listRef },\n { suppressRefError: true },\n );\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (showSearch) searchRef.current?.focus();\n\n if (isBottomSheet) {\n bottomSheetProps?.transitionProps?.onEntered?.(node, isAppearing);\n } else {\n modalProps?.transitionProps?.onEntered?.(node, isAppearing);\n }\n };\n\n const handleFieldFocus = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (onFocus) onFocus(event);\n\n if (autocomplete && !open) {\n openMenu();\n }\n };\n\n const handleFieldBlur = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (view === 'desktop') {\n const isNextFocusInsideField = fieldRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n const isNextFocusInsideList = listRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n if (!isNextFocusInsideField && !isNextFocusInsideList) {\n if (onBlur) onBlur(event);\n\n inputProps.onBlur?.(event);\n }\n }\n\n if (view === 'mobile' && !open && onBlur) onBlur(event);\n };\n\n const handleFieldKeyDown = (event: KeyboardEvent<HTMLDivElement | HTMLInputElement>) => {\n inputProps.onKeyDown?.(event);\n\n // https://caniuse.com/?search=KeyboardEvent.key\n const isKeyUnsupported = event.key === 'Unidentified';\n\n if (\n autocomplete &&\n !open &&\n (isKeyUnsupported || event.key.length === 1 || event.key === 'Backspace')\n ) {\n // Для автокомплита - открываем меню при начале ввода\n openMenu();\n }\n\n if (\n [' ', 'Enter'].includes(event.key) &&\n !autocomplete &&\n !nativeSelect &&\n (event.target as HTMLElement).tagName !== 'INPUT' &&\n (event.target as HTMLElement).tagName !== 'BUTTON' &&\n (event.target as HTMLElement).tagName !== 'TEXTAREA'\n ) {\n // Открываем\\закрываем меню по нажатию enter или пробела\n event.preventDefault();\n if (!open || highlightedIndex === -1) toggleMenu();\n }\n };\n\n const handleFieldClick = (event: MouseEvent) => {\n if (!autocomplete || (event.target as HTMLElement).tagName !== 'INPUT') {\n toggleMenu();\n } else {\n openMenu();\n }\n };\n\n const handleNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n setSelectedItems(\n // eslint-disable-next-line\n [...(event.target.options as any)].reduce(\n (acc, option, index) =>\n option.selected ? acc.concat(flatOptions[index]) : acc,\n [],\n ),\n );\n },\n [flatOptions, setSelectedItems],\n );\n\n const getOptionProps = (option: OptionShape, index: number) => ({\n ...(optionProps as object),\n mobile: view === 'mobile',\n className: cn(optionClassName, {\n [mobileStyles.option]: view === 'mobile',\n }),\n innerProps: getItemProps({\n index,\n item: option,\n onMouseDown: (event: MouseEvent) => event.preventDefault(),\n onClick: () => {\n if (view === 'mobile' || !showSearch || multiple) return;\n shouldSearchBlurRef.current = false;\n searchRef.current?.blur();\n shouldSearchBlurRef.current = true;\n fieldRef.current?.focus();\n },\n }),\n multiple,\n index,\n option,\n size: optionsSize,\n disabled: option.disabled,\n highlighted: index === highlightedIndex,\n selected: selectedItems.some(({ key }) => key === option.key),\n dataTestId: getDataTestId(dataTestId, 'option'),\n });\n\n useEffect(() => {\n if (defaultOpen) openMenu();\n }, [defaultOpen, openMenu]);\n\n useEffect(() => {\n if (openProp) {\n openMenu();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const calcOptionsListWidth = useCallback(() => {\n if (view === 'desktop' && listRef.current) {\n const widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';\n\n const optionsListMinWidth = rootRef.current\n ? rootRef.current.getBoundingClientRect().width\n : 0;\n\n listRef.current.removeAttribute('style');\n listRef.current.style[widthAttr] = `${optionsListMinWidth}px`;\n }\n }, [view, optionsListWidth]);\n\n useEffect(() => {\n if (view === 'desktop') {\n const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n const observer = new ResizeObserver(calcOptionsListWidth);\n\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }\n\n return fnUtils.noop;\n }, [view, calcOptionsListWidth, open, optionsListWidth]);\n\n useLayoutEffect_SAFE_FOR_SSR(calcOptionsListWidth, [\n open,\n optionsListWidth,\n filteredOptions,\n selectedItems,\n ]);\n\n const renderValue = () =>\n selectedItems.map((option) => (\n <input type='hidden' name={name} value={option.key} key={option.key} />\n ));\n\n const renderNativeSelect = () => {\n const value = multiple\n ? selectedItems.map((option) => option.key)\n : selectedItems[0]?.key;\n\n return (\n <NativeSelect\n {...(menuProps as AnyObject)}\n className={styles.nativeSelect}\n disabled={disabled}\n multiple={multiple}\n name={name}\n value={value}\n onChange={handleNativeSelectChange}\n options={filteredOptions}\n />\n );\n };\n\n const handleFieldClear = (event: MouseEvent<HTMLButtonElement>) => {\n setSelectedItems([]);\n onClear?.(event);\n };\n\n const renderSearch = () => {\n if (!showSearch) return null;\n\n const handleClear: SearchProps['onClear'] = (event) => {\n setSearch?.('');\n searchProps?.componentProps?.onClear?.(event);\n };\n\n const handleChange: SearchProps['onChange'] = (event, payload) => {\n setSearch?.(payload.value);\n searchProps?.componentProps?.onChange?.(event, payload);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!shouldSearchBlurRef.current) return;\n searchProps.componentProps?.onBlur?.(event);\n handleFieldBlur(event);\n };\n\n return (\n <Search\n {...searchProps?.componentProps}\n onBlur={handleBlur}\n value={search}\n onChange={handleChange}\n dataTestId={getDataTestId(dataTestId, 'search')}\n onClear={handleClear}\n className={cn(\n searchProps?.componentProps?.className,\n {\n [styles.search]: view === 'desktop',\n [mobileStyles.search]: view === 'mobile',\n },\n styles[`size-${size}`],\n )}\n ref={mergeRefs([searchRef, searchProps?.componentProps?.ref || null])}\n client={view}\n />\n );\n };\n\n const { header, emptyPlaceholder } = optionsListProps as OptionsListProps;\n\n const renderOptionsListHeader = () => {\n if (header || (view === 'desktop' && showSearch)) {\n return (\n <React.Fragment>\n {header}\n {view === 'desktop' && renderSearch()}\n </React.Fragment>\n );\n }\n\n return null;\n };\n\n const renderEmptyPlaceholder = () => {\n if (emptyPlaceholder) {\n return emptyPlaceholder;\n }\n\n if (showSearch) {\n return <div className={styles.emptySearchPlaceholder}>Ничего не нашлось</div>;\n }\n\n return undefined;\n };\n\n const renderOptionsList = () => {\n if (flatOptions.length === 0 && !showEmptyOptionsList && !showSearch) return null;\n\n const listProps = optionsListProps as OptionsListProps & RefAttributes<HTMLDivElement>;\n\n return (\n <div\n {...menuProps}\n ref={view === 'desktop' ? menuRef : undefined}\n className={cn(\n optionsListClassName,\n view === 'mobile' && mobileStyles.optionsListWrapper,\n view === 'desktop' && styles.optionsListWrapper,\n )}\n >\n <OptionsList\n {...listProps}\n ref={view === 'desktop' ? listProps.ref : scrollableContainerRef}\n setHighlightedIndex={view === 'desktop' ? setHighlightedIndex : undefined}\n className={cn(\n { [mobileStyles.optionsList]: view === 'mobile' },\n listProps.className,\n )}\n scrollbarClassName={cn(\n { [mobileStyles.scrollbar]: view === 'mobile' },\n listProps.scrollbarClassName,\n )}\n optionsListWidth={optionsListWidth}\n flatOptions={flatOptions}\n highlightedIndex={highlightedIndex}\n open={open}\n size={size}\n options={filteredOptions}\n Optgroup={Optgroup}\n Option={Option}\n selectedItems={selectedItems}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n groupOptionProps={groupOptionProps}\n getOptionProps={getOptionProps}\n visibleOptions={view === 'desktop' ? visibleOptions : 0}\n dataTestId={getDataTestId(dataTestId, 'options-list')}\n header={renderOptionsListHeader()}\n optionGroupClassName={cn(optionGroupClassName, {\n [mobileStyles.optionGroup]: view === 'mobile',\n })}\n emptyPlaceholder={renderEmptyPlaceholder()}\n onScroll={onScroll}\n search={search}\n multiple={multiple}\n limitDynamicOptionGroupSize={limitDynamicOptionGroupSize}\n client={view}\n />\n {view === 'desktop' && <div className={styles.optionsListBorder} />}\n </div>\n );\n };\n\n const renderInPopover = () => {\n if (!nativeSelect && Popover) {\n return (\n <Popover\n {...popoverProps}\n open={open}\n withTransition={false}\n anchorElement={fieldRef.current as HTMLElement}\n position={popoverPosition}\n preventFlip={preventFlip}\n popperClassName={cn(styles.popoverInner, popperClassName)}\n update={updatePopover}\n zIndex={zIndexPopover}\n >\n {renderOptionsList()}\n </Popover>\n );\n }\n\n return null;\n };\n\n const renderInBottomSheet = () => {\n if (!nativeSelect && BottomSheet) {\n const bottomAddons = bottomSheetProps?.bottomAddons;\n\n return (\n <BottomSheet\n dataTestId={getDataTestId(dataTestId, 'bottom-sheet')}\n open={open}\n className={mobileStyles.sheet}\n contentClassName={mobileStyles.sheetContent}\n containerClassName={mobileStyles.sheetContainer}\n title={label || placeholder}\n actionButton={footer ?? (multiple ? null : undefined)}\n stickyHeader={true}\n hasCloser={true}\n swipeable={swipeable}\n initialHeight={showSearch ? 'full' : 'default'}\n {...bottomSheetProps}\n sheetContainerRef={menuRef}\n scrollableContainerRef={scrollableContainerRef}\n onClose={() => {\n closeMenu();\n bottomSheetProps?.onClose?.();\n }}\n transitionProps={{\n ...bottomSheetProps?.transitionProps,\n onEntered: handleEntered,\n }}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n containerProps={{\n ...bottomSheetProps?.containerProps,\n onScroll,\n }}\n >\n {renderOptionsList()}\n </BottomSheet>\n );\n }\n\n return null;\n };\n\n const renderInModalMobile = () => {\n if (!nativeSelect && ModalMobile) {\n const bottomAddons = modalHeaderProps?.bottomAddons;\n\n return (\n <ModalMobile\n dataTestId={getDataTestId(dataTestId, 'modal')}\n open={open}\n hasCloser={true}\n {...modalProps}\n componentRef={menuRef}\n onClose={(...args) => {\n closeMenu();\n modalProps?.onClose?.(...args);\n }}\n contentClassName={cn(\n mobileStyles.sheetContent,\n modalProps?.contentClassName,\n )}\n ref={mergeRefs([\n scrollableContainerRef,\n modalProps?.ref as React.Ref<HTMLDivElement>,\n ])}\n wrapperProps={{\n ...modalProps?.wrapperProps,\n onScroll,\n }}\n transitionProps={{\n ...modalProps?.transitionProps,\n onEntered: handleEntered,\n }}\n >\n <ModalMobile.Header\n hasCloser={true}\n sticky={true}\n {...modalHeaderProps}\n title={undefined}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n >\n {modalHeaderProps?.title || label || placeholder}\n </ModalMobile.Header>\n\n <ModalMobile.Content flex={true} className={mobileStyles.modalContent}>\n {renderOptionsList()}\n </ModalMobile.Content>\n\n {modalFooterProps?.children && <ModalMobile.Footer {...modalFooterProps} />}\n </ModalMobile>\n );\n }\n\n return null;\n };\n\n return (\n <div\n {...(disabled && { 'aria-disabled': true })}\n aria-expanded={inputProps['aria-expanded']}\n aria-haspopup='listbox'\n role={inputProps.role}\n className={cn(styles.component, { [styles.block]: block }, className)}\n ref={rootRef}\n onKeyDown={disabled ? undefined : handleFieldKeyDown}\n tabIndex={-1}\n data-test-id={getDataTestId(dataTestId)}\n >\n {nativeSelect && renderNativeSelect()}\n\n <Field\n selectedMultiple={selectedItems}\n selected={selectedItems[0]}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n multiple={multiple}\n open={open}\n disabled={disabled}\n size={size}\n placeholder={placeholder}\n label={label && <span {...getLabelProps()}>{label}</span>}\n labelView={labelView}\n Arrow={Arrow && <Arrow open={open} size={size} disabled={disabled} />}\n error={error}\n hint={hint}\n valueRenderer={valueRenderer}\n className={fieldClassName}\n clear={clear}\n onClear={handleFieldClear}\n innerProps={{\n onBlur: handleFieldBlur,\n onFocus: disabled ? undefined : handleFieldFocus,\n onClick: disabled ? undefined : handleFieldClick,\n tabIndex: disabled ? undefined : nativeSelect ? -1 : 0,\n ref: inputProps.ref,\n id: inputProps.id,\n 'aria-label': (optionProps as AriaAttributes)['aria-label'],\n 'aria-labelledby': inputProps['aria-labelledby'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-autocomplete': autocomplete\n ? inputProps['aria-autocomplete']\n : undefined,\n }}\n dataTestId={getDataTestId(dataTestId, 'field')}\n {...(fieldProps as AnyObject)}\n />\n\n {name && !nativeSelect && renderValue()}\n\n {view === 'desktop' && renderInPopover()}\n {view === 'mobile' &&\n (isBottomSheet ? renderInBottomSheet() : renderInModalMobile())}\n </div>\n );\n },\n);\n"],"names":["ResizeObserver","ResizeObserverPolyfill"],"mappings":"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"}
@@ -30,25 +30,25 @@
30
30
  --select-options-list-bottom-padding: var(--gap-0);
31
31
  --select-option-background: var(--color-light-modal-bg-primary);
32
32
  }
33
- .select__component_1es5w {
33
+ .select__component_11985 {
34
34
  width: -moz-max-content;
35
35
  width: max-content;
36
36
  position: relative;
37
37
  outline: 0;
38
38
  max-width: 100%;
39
39
  }
40
- .select__popoverInner_1es5w {
40
+ .select__popoverInner_11985 {
41
41
  padding-top: var(--select-options-list-offset);
42
42
  padding-bottom: var(--select-options-list-offset);
43
43
  background: transparent;
44
44
  border-radius: var(--border-radius-0);
45
45
  position: relative;
46
46
  }
47
- .select__popoverInner_1es5w.select__popoverInner_1es5w {
47
+ .select__popoverInner_11985.select__popoverInner_11985 {
48
48
  box-shadow: none;
49
49
  border: none;
50
50
  }
51
- .select__optionsListWrapper_1es5w {
51
+ .select__optionsListWrapper_11985 {
52
52
  position: relative;
53
53
  padding-top: var(--select-options-list-top-padding);
54
54
  padding-bottom: var(--select-options-list-bottom-padding);
@@ -58,7 +58,7 @@
58
58
  overflow: hidden;
59
59
  will-change: transform;
60
60
  }
61
- .select__optionsListBorder_1es5w {
61
+ .select__optionsListBorder_11985 {
62
62
  position: absolute;
63
63
  top: var(--gap-0);
64
64
  right: var(--gap-0);
@@ -68,7 +68,7 @@
68
68
  border-radius: inherit;
69
69
  pointer-events: none;
70
70
  }
71
- .select__nativeSelect_1es5w {
71
+ .select__nativeSelect_11985 {
72
72
  opacity: 0;
73
73
  overflow: hidden;
74
74
  position: absolute;
@@ -82,19 +82,19 @@
82
82
  cursor: pointer;
83
83
  z-index: 1;
84
84
  }
85
- .select__block_1es5w {
85
+ .select__block_11985 {
86
86
  width: 100%;
87
87
  }
88
- .select__emptySearchPlaceholder_1es5w {
88
+ .select__emptySearchPlaceholder_11985 {
89
89
  text-align: center;
90
90
  }
91
- .select__search_1es5w {
91
+ .select__search_11985 {
92
92
  margin: var(--gap-12) var(--gap-12) var(--gap-0);
93
93
  }
94
- .select__search_1es5w.select__size-72_1es5w {
94
+ .select__search_11985.select__size-72_11985 {
95
95
  margin-left: var(--gap-16);
96
96
  margin-right: var(--gap-16);
97
97
  }
98
- .select__search_1es5w:last-child {
98
+ .select__search_11985:last-child {
99
99
  margin-bottom: var(--gap-12);
100
100
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"select__component_1es5w","popoverInner":"select__popoverInner_1es5w","optionsListWrapper":"select__optionsListWrapper_1es5w","optionsListBorder":"select__optionsListBorder_1es5w","nativeSelect":"select__nativeSelect_1es5w","block":"select__block_1es5w","emptySearchPlaceholder":"select__emptySearchPlaceholder_1es5w","search":"select__search_1es5w","size-72":"select__size-72_1es5w"};
3
+ const styles = {"component":"select__component_11985","popoverInner":"select__popoverInner_11985","optionsListWrapper":"select__optionsListWrapper_11985","optionsListBorder":"select__optionsListBorder_11985","nativeSelect":"select__nativeSelect_11985","block":"select__block_11985","emptySearchPlaceholder":"select__emptySearchPlaceholder_11985","search":"select__search_11985","size-72":"select__size-72_11985"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -9,40 +9,40 @@
9
9
  --gap-16: var(--gap-m);
10
10
  --gap-20: var(--gap-l);
11
11
  }
12
- .select__sheet_8mhx9 {
12
+ .select__sheet_zrbwh {
13
13
  overflow: hidden;
14
14
  }
15
- .select__sheetContent_8mhx9.select__sheetContent_8mhx9 {
15
+ .select__sheetContent_zrbwh.select__sheetContent_zrbwh {
16
16
  padding: var(--gap-0);
17
17
  }
18
- .select__sheetContent_8mhx9.select__sheetContent_8mhx9 .select__modalContent_8mhx9 {
18
+ .select__sheetContent_zrbwh.select__sheetContent_zrbwh .select__modalContent_zrbwh {
19
19
  padding: var(--gap-0);
20
20
  display: flex;
21
21
  flex-direction: column;
22
22
  }
23
- .select__sheetContainer_8mhx9 {
23
+ .select__sheetContainer_zrbwh {
24
24
  padding: var(--gap-0);
25
25
  }
26
- .select__optionsListWrapper_8mhx9 {
26
+ .select__optionsListWrapper_zrbwh {
27
27
  flex: 1;
28
28
  }
29
- .select__optionsList_8mhx9.select__optionsList_8mhx9 {
29
+ .select__optionsList_zrbwh.select__optionsList_zrbwh {
30
30
  height: 100%;
31
31
  display: flex;
32
32
  flex-direction: column;
33
33
  }
34
- .select__scrollbar_8mhx9 {
34
+ .select__scrollbar_zrbwh {
35
35
  flex: 1;
36
36
  }
37
- .select__search_8mhx9 {
37
+ .select__search_zrbwh {
38
38
  padding: var(--gap-8);
39
39
  }
40
- .select__option_8mhx9.select__option_8mhx9 {
40
+ .select__option_zrbwh.select__option_zrbwh {
41
41
  padding: var(--gap-4) var(--gap-20) var(--gap-4);
42
42
  }
43
- .select__option_8mhx9.select__option_8mhx9:before {
43
+ .select__option_zrbwh.select__option_zrbwh:before {
44
44
  display: none;
45
45
  }
46
- .select__optionGroup_8mhx9.select__optionGroup_8mhx9 {
46
+ .select__optionGroup_zrbwh.select__optionGroup_zrbwh {
47
47
  padding: var(--gap-16) var(--gap-16) var(--gap-8);
48
48
  }
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const mobileStyles = {"sheet":"select__sheet_8mhx9","sheetContent":"select__sheetContent_8mhx9","modalContent":"select__modalContent_8mhx9","sheetContainer":"select__sheetContainer_8mhx9","optionsListWrapper":"select__optionsListWrapper_8mhx9","optionsList":"select__optionsList_8mhx9","scrollbar":"select__scrollbar_8mhx9","search":"select__search_8mhx9","option":"select__option_8mhx9","optionGroup":"select__optionGroup_8mhx9"};
3
+ const mobileStyles = {"sheet":"select__sheet_zrbwh","sheetContent":"select__sheetContent_zrbwh","modalContent":"select__modalContent_zrbwh","sheetContainer":"select__sheetContainer_zrbwh","optionsListWrapper":"select__optionsListWrapper_zrbwh","optionsList":"select__optionsList_zrbwh","scrollbar":"select__scrollbar_zrbwh","search":"select__search_zrbwh","option":"select__option_zrbwh","optionGroup":"select__optionGroup_zrbwh"};
4
4
 
5
5
  export { mobileStyles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -13,16 +13,16 @@
13
13
  --select-checkmark-after-display-single: flex;
14
14
  --select-checkmark-unselected-opacity: 0;
15
15
  }
16
- .select__checkmark_vepln {
16
+ .select__checkmark_11tow {
17
17
  flex-shrink: 0;
18
18
  }
19
- .select__checkmark_vepln.select__before_vepln {
19
+ .select__checkmark_11tow.select__before_11tow {
20
20
  display: var(--select-checkmark-before-display);
21
21
  }
22
- .select__checkmark_vepln.select__after_vepln {
22
+ .select__checkmark_11tow.select__after_11tow {
23
23
  display: var(--select-checkmark-after-display);
24
24
  }
25
- .select__single_vepln {
25
+ .select__single_11tow {
26
26
  display: flex;
27
27
  align-items: center;
28
28
  justify-content: center;
@@ -30,26 +30,26 @@
30
30
  width: var(--select-checkmark-size);
31
31
  height: var(--select-checkmark-size);
32
32
  }
33
- .select__single_vepln.select__selected_vepln {
33
+ .select__single_11tow.select__selected_11tow {
34
34
  opacity: 1;
35
35
  }
36
- .select__multiple_vepln.select__before_vepln {
36
+ .select__multiple_11tow.select__before_11tow {
37
37
  margin-right: var(--gap-12);
38
38
  display: var(--select-checkmark-before-display-multiple);
39
39
  }
40
- .select__multiple_vepln.select__after_vepln {
40
+ .select__multiple_11tow.select__after_11tow {
41
41
  margin-left: var(--gap-12);
42
42
  }
43
- .select__after_vepln.select__after_vepln {
43
+ .select__after_11tow.select__after_11tow {
44
44
  display: var(--select-checkmark-after-display);
45
45
  }
46
- .select__after_vepln.select__after_vepln.select__single_vepln {
46
+ .select__after_11tow.select__after_11tow.select__single_11tow {
47
47
  display: var(--select-checkmark-after-display-single);
48
48
  }
49
- .select__colorIcon_vepln {
49
+ .select__colorIcon_11tow {
50
50
  color: var(--color-light-status-positive);
51
51
  }
52
- .select__displayIcon_vepln {
52
+ .select__displayIcon_11tow {
53
53
  display: block;
54
54
  width: 100%;
55
55
  height: 100%;
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_vepln","before":"select__before_vepln","after":"select__after_vepln","single":"select__single_vepln","selected":"select__selected_vepln","multiple":"select__multiple_vepln","colorIcon":"select__colorIcon_vepln","displayIcon":"select__displayIcon_vepln"};
3
+ const styles = {"checkmark":"select__checkmark_11tow","before":"select__before_11tow","after":"select__after_11tow","single":"select__single_11tow","selected":"select__selected_11tow","multiple":"select__multiple_11tow","colorIcon":"select__colorIcon_11tow","displayIcon":"select__displayIcon_11tow"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -6,7 +6,7 @@
6
6
  --select-mobile-checkmark-display-icon: block;
7
7
  --select-mobile-checkmark-display-badge: none;
8
8
  }
9
- .select__checkmark_13qww {
9
+ .select__checkmark_nood8 {
10
10
  flex-shrink: 0;
11
11
  display: flex;
12
12
  align-items: center;
@@ -15,18 +15,18 @@
15
15
  height: 24px;
16
16
  opacity: 0;
17
17
  }
18
- .select__checkmark_13qww.select__selected_13qww {
18
+ .select__checkmark_nood8.select__selected_nood8 {
19
19
  opacity: 1;
20
20
  }
21
- .select__checkmark_13qww.select__before_13qww {
21
+ .select__checkmark_nood8.select__before_nood8 {
22
22
  margin-right: var(--gap-8);
23
23
  }
24
- .select__checkmark_13qww.select__after_13qww {
24
+ .select__checkmark_nood8.select__after_nood8 {
25
25
  margin-left: var(--gap-8);
26
26
  }
27
- .select__displayIcon_13qww {
27
+ .select__displayIcon_nood8 {
28
28
  display: var(--select-mobile-checkmark-display-icon);
29
29
  }
30
- .select__displayBadge_13qww {
30
+ .select__displayBadge_nood8 {
31
31
  display: var(--select-mobile-checkmark-display-badge);
32
32
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_13qww","selected":"select__selected_13qww","before":"select__before_13qww","after":"select__after_13qww","displayIcon":"select__displayIcon_13qww","displayBadge":"select__displayBadge_13qww"};
3
+ const styles = {"checkmark":"select__checkmark_nood8","selected":"select__selected_nood8","before":"select__before_nood8","after":"select__after_nood8","displayIcon":"select__displayIcon_nood8","displayBadge":"select__displayBadge_nood8"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -6,16 +6,16 @@
6
6
  :root {
7
7
  --input-error-icon-display: none;
8
8
  }
9
- .select__clearIcon_8mbd5 {
9
+ .select__clearIcon_rlxis {
10
10
  display: block;
11
11
  color: var(--color-light-neutral-translucent-500);
12
12
  }
13
- .select__clearIcon_8mbd5:hover {
13
+ .select__clearIcon_rlxis:hover {
14
14
  color: var(--color-light-neutral-translucent-500-hover);
15
15
  }
16
- .select__clearIcon_8mbd5:active {
16
+ .select__clearIcon_rlxis:active {
17
17
  color: var(--color-light-neutral-translucent-500-press);
18
18
  }
19
- .select__clearButton_8mbd5 + [data-addon='error-icon'] {
19
+ .select__clearButton_rlxis + [data-addon='error-icon'] {
20
20
  display: var(--input-error-icon-display);
21
21
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"clearIcon":"select__clearIcon_8mbd5","clearButton":"select__clearButton_8mbd5"};
3
+ const styles = {"clearIcon":"select__clearIcon_rlxis","clearButton":"select__clearButton_rlxis"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map