@consta/uikit 5.30.0 → 5.32.0
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/ColorPicker/index.d.ts +1 -0
- package/ColorPicker/index.js +1 -0
- package/FileCanary/index.d.ts +1 -0
- package/FileCanary/index.js +1 -0
- package/__internal__/src/components/Attachment/Attachment.css +1 -1
- package/__internal__/src/components/Attachment/types.d.ts +1 -1
- package/__internal__/src/components/Attachment/types.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/Attachment.css +1 -1
- package/__internal__/src/components/AttachmentDeprecated/AttachmentDeprecated.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.d.ts +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.js.map +1 -1
- package/__internal__/src/components/AutoComplete/AutoComplete.js +1 -1
- package/__internal__/src/components/AutoComplete/AutoComplete.js.map +1 -1
- package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -0
- package/__internal__/src/components/AutoComplete/types.d.ts +1 -0
- package/__internal__/src/components/AutoComplete/types.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -0
- package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -0
- package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
- package/__internal__/src/components/Avatar/Avatar.d.ts +2 -2
- package/__internal__/src/components/Avatar/Avatar.js.map +1 -1
- package/__internal__/src/components/AvatarGroup/types.d.ts +2 -2
- package/__internal__/src/components/AvatarGroup/types.js.map +1 -1
- package/__internal__/src/components/Badge/Badge.css +2 -2
- package/__internal__/src/components/Badge/maps.js.map +1 -1
- package/__internal__/src/components/Badge/types.d.ts +4 -4
- package/__internal__/src/components/Badge/types.js.map +1 -1
- package/__internal__/src/components/Banner/Banner.d.ts +4 -4
- package/__internal__/src/components/Banner/Banner.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/types.d.ts +3 -3
- package/__internal__/src/components/BookmarkTabs/types.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/types.d.ts +2 -2
- package/__internal__/src/components/Breadcrumbs/types.js.map +1 -1
- package/__internal__/src/components/Button/Button.d.ts +4 -4
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/Card/Card.d.ts +3 -3
- package/__internal__/src/components/Card/Card.js.map +1 -1
- package/__internal__/src/components/Checkbox/Checkbox.css +2 -2
- package/__internal__/src/components/Checkbox/Checkbox.d.ts +3 -3
- package/__internal__/src/components/Checkbox/Checkbox.js.map +1 -1
- package/__internal__/src/components/CheckboxDeprecated/Checkbox.css +2 -2
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.d.ts +3 -3
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/types.d.ts +4 -4
- package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.css +2 -2
- package/__internal__/src/components/Chips/types.d.ts +2 -2
- package/__internal__/src/components/Chips/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/types.d.ts +4 -4
- package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
- package/__internal__/src/components/Collapse/types.d.ts +7 -7
- package/__internal__/src/components/Collapse/types.js.map +1 -1
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.css +7 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.d.ts +3 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.css +3 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.d.ts +5 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.d.ts +15 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.d.ts +8 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js.map +1 -0
- package/__internal__/src/components/ColorPicker/index.d.ts +10 -0
- package/__internal__/src/components/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/index.d.ts +14 -0
- package/__internal__/src/components/ColorPicker/models/index.js +2 -0
- package/__internal__/src/components/ColorPicker/models/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/types.d.ts +33 -0
- package/__internal__/src/components/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/compare.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/convert.d.ts +32 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/format.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/round.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js.map +1 -0
- package/__internal__/src/components/Combobox/Combobox.js +1 -1
- package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
- package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
- package/__internal__/src/components/Combobox/helpers.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
- package/__internal__/src/components/ContextMenu/types.d.ts +6 -3
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +2 -0
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/types.d.ts +7 -6
- package/__internal__/src/components/DatePicker/types.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeGrid/DateTimeGrid.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/types.d.ts +4 -3
- package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.css +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.d.ts +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +4 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +5 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.d.ts +1 -0
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js.map +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js.map +1 -1
- package/__internal__/src/components/FileCanary/FileCanary.d.ts +1 -0
- package/__internal__/src/components/FileCanary/FileCanary.js +2 -0
- package/__internal__/src/components/FileCanary/FileCanary.js.map +1 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.css +1 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.d.ts +4 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js +2 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js.map +1 -0
- package/__internal__/src/components/FileCanary/config.d.ts +2 -0
- package/__internal__/src/components/FileCanary/config.js +2 -0
- package/__internal__/src/components/FileCanary/config.js.map +1 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.d.ts +2 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.js +2 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.js.map +1 -0
- package/__internal__/src/components/FileCanary/index.d.ts +4 -0
- package/__internal__/src/components/FileCanary/index.js +2 -0
- package/__internal__/src/components/FileCanary/index.js.map +1 -0
- package/__internal__/src/components/FileCanary/types.d.ts +25 -0
- package/__internal__/src/components/FileCanary/types.js +2 -0
- package/__internal__/src/components/FileCanary/types.js.map +1 -0
- package/__internal__/src/components/FlatSelect/FlatSelect.css +8 -8
- package/__internal__/src/components/FlatSelect/FlatSelect.js +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelect.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.d.ts +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.d.ts +1 -0
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js.map +1 -1
- package/__internal__/src/components/FlatSelect/types.d.ts +1 -0
- package/__internal__/src/components/FlatSelect/types.js.map +1 -1
- package/__internal__/src/components/Grid/types.d.ts +4 -4
- package/__internal__/src/components/Grid/types.js.map +1 -1
- package/__internal__/src/components/GridDeprecated/Grid.css +1 -1
- package/__internal__/src/components/GridDeprecated/GridDeprecated.d.ts +4 -4
- package/__internal__/src/components/GridDeprecated/GridDeprecated.js.map +1 -1
- package/__internal__/src/components/Informer/Informer.d.ts +3 -3
- package/__internal__/src/components/Informer/Informer.js.map +1 -1
- package/__internal__/src/components/Layout/Layout.d.ts +3 -3
- package/__internal__/src/components/Layout/Layout.js.map +1 -1
- package/__internal__/src/components/Layout/useFixed.d.ts +2 -2
- package/__internal__/src/components/Layout/useFixed.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.css +1 -1
- package/__internal__/src/components/ListCanary/types.d.ts +4 -4
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/LoaderDeprecated/Loader.css +2 -2
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.d.ts +1 -1
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.js.map +1 -1
- package/__internal__/src/components/Modal/ModalLayout/ModalLayout.css +4 -4
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.d.ts +2 -2
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.js.map +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +3 -3
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +4 -4
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.js.map +1 -1
- package/__internal__/src/components/Popover/Popover.d.ts +2 -2
- package/__internal__/src/components/Popover/Popover.js.map +1 -1
- package/__internal__/src/components/ProgressLine/ProgressLine.css +1 -1
- package/__internal__/src/components/ProgressLine/types.d.ts +1 -1
- package/__internal__/src/components/ProgressLine/types.js.map +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.d.ts +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css +8 -8
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +5 -5
- package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
- package/__internal__/src/components/Radio/Radio.css +1 -1
- package/__internal__/src/components/Radio/Radio.d.ts +3 -3
- package/__internal__/src/components/Radio/Radio.js.map +1 -1
- package/__internal__/src/components/RadioGroup/types.d.ts +4 -4
- package/__internal__/src/components/RadioGroup/types.js.map +1 -1
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Responses/Responses.js.map +1 -1
- package/__internal__/src/components/Select/Select.js +1 -1
- package/__internal__/src/components/Select/Select.js.map +1 -1
- package/__internal__/src/components/Select/helpers.d.ts +3 -1
- package/__internal__/src/components/Select/helpers.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.css +2 -2
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js.map +1 -1
- package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/types.d.ts +1 -0
- package/__internal__/src/components/SelectCanary/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponents/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponents/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponentsDeprecated/types.js.map +1 -1
- package/__internal__/src/components/Sidebar/types.d.ts +2 -2
- package/__internal__/src/components/Sidebar/types.js.map +1 -1
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.d.ts +2 -2
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.js.map +1 -1
- package/__internal__/src/components/Skeleton/Skeleton.css +1 -1
- package/__internal__/src/components/Slider/helper.d.ts +2 -2
- package/__internal__/src/components/Slider/helper.js.map +1 -1
- package/__internal__/src/components/SnackBar/types.d.ts +4 -4
- package/__internal__/src/components/SnackBar/types.js.map +1 -1
- package/__internal__/src/components/Spoiler/types.d.ts +2 -2
- package/__internal__/src/components/Spoiler/types.js.map +1 -1
- package/__internal__/src/components/Steps/StepsStep/StepsStep.css +1 -1
- package/__internal__/src/components/Steps/types.d.ts +1 -1
- package/__internal__/src/components/Steps/types.js.map +1 -1
- package/__internal__/src/components/Switch/Switch.css +1 -1
- package/__internal__/src/components/Switch/types.d.ts +3 -3
- package/__internal__/src/components/Switch/types.js.map +1 -1
- package/__internal__/src/components/SwitchGroup/types.d.ts +1 -1
- package/__internal__/src/components/SwitchGroup/types.js.map +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.css +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.d.ts +2 -2
- package/__internal__/src/components/Table/Cell/TableCell.js.map +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.d.ts +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
- package/__internal__/src/components/Table/Table.d.ts +3 -3
- package/__internal__/src/components/Table/Table.js.map +1 -1
- package/__internal__/src/components/Table/__mock__/data.mock.d.ts +10 -10
- package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
- package/__internal__/src/components/Table/helpers.d.ts +1 -1
- package/__internal__/src/components/Table/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +4 -4
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/Tag/Tag.d.ts +1 -1
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +3 -3
- package/__internal__/src/components/TagBase/TagBase.js.map +1 -1
- package/__internal__/src/components/Text/Text.d.ts +13 -13
- package/__internal__/src/components/Text/Text.js.map +1 -1
- package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.css +1 -1
- package/__internal__/src/components/TextDeprecated/TextDeprecated.d.ts +13 -13
- package/__internal__/src/components/TextDeprecated/TextDeprecated.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +4 -4
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +2 -2
- package/__internal__/src/components/TextFieldCanary/useTextField.js.map +1 -1
- package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff +0 -0
- package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff2 +0 -0
- package/__internal__/src/components/Theme/_font/Theme_font_gpnDefault.css +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/types.d.ts +1 -1
- package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
- package/__internal__/src/components/Timer/Timer.d.ts +1 -1
- package/__internal__/src/components/Timer/Timer.js.map +1 -1
- package/__internal__/src/components/Tooltip/types.d.ts +2 -2
- package/__internal__/src/components/Tooltip/types.js.map +1 -1
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +2 -2
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.js.map +1 -1
- package/__internal__/src/components/User/User.css +1 -1
- package/__internal__/src/components/User/User.d.ts +4 -4
- package/__internal__/src/components/User/User.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.css +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
- package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.d.ts +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.js.map +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js.map +1 -1
- package/__internal__/src/hooks/useStyleProps/types.js.map +1 -1
- package/__internal__/src/mixs/MixCard/MixCard.d.ts +2 -2
- package/__internal__/src/mixs/MixCard/MixCard.js.map +1 -1
- package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +5 -5
- package/__internal__/src/mixs/MixFlex/MixFlex.js.map +1 -1
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.d.ts +2 -2
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.js.map +1 -1
- package/__internal__/src/mixs/MixVisuallyHidden/MixVisuallyHidden.css +1 -1
- package/__internal__/src/utils/array.js.map +1 -1
- package/__internal__/src/utils/date/index.js +1 -1
- package/__internal__/src/utils/date/index.js.map +1 -1
- package/package.json +3 -3
package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectSingle.test.js","names":["act","fireEvent","render","screen","React","createIconMock","cnFieldControlLayout","cnListBox","cnListItem","cnListLoader","SelectSingle","cnSelectControlLayout","cnSelectCreateButton","cnSelectInput","testId","animationDuration","renderComponent","props","getRender","getByTestId","getOutside","getInput","querySelector","inputClick","click","animateDelay","jest","advanceTimersByTime","getDropdown","queryByRole","outsideClick","mouseDown","getValueText","getItems","querySelectorAll","getItem","index","getClearButton","getLoader","getCreateButton","onCreateClick","getSelectInputValue","items","id","label","groupId","itemsWithDisabled","disabled","groups","describe","it","expect","onChange","fn","not","toThrow","placeholder","getByPlaceholderText","toBeInTheDocument","value","getByText","ref","current","toBeTruthy","inputRef","className","toHaveClass","toHaveAttribute","useFakeTimers","map","item","textContent","toEqual","onChangeMock","toHaveBeenCalled","toHaveBeenCalledTimes","toHaveBeenCalledWith","e","any","Object","handlerFocus","onFocus","focus","handlerBlur","onBlur","blur","handlerDropdownOpen","onDropdownOpen","input","keyDown","key","toHaveFocus","onInputChangeMock","onInput","change","target","inputValue","inputDefaultValue","clearButton","handleChange","group","dropdownForm","form","split","view","status","isLoading","onCreate","labelForCreate","iconClear","renderItem","renderValue"],"sources":["../../../../../../../src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.tsx"],"sourcesContent":["import { act, fireEvent, render, screen } from '@testing-library/react';\nimport React from 'react';\n\nimport { createIconMock } from '##/../__mocks__/IconMock';\nimport { cnFieldControlLayout } from '##/components/FieldComponents/FieldControlLayout';\nimport { cnListBox, cnListItem, cnListLoader } from '##/components/ListCanary';\n\nimport {\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderItem,\n SelectPropRenderValue,\n SelectProps,\n SelectSingle,\n} from '../..';\nimport { cnSelectControlLayout } from '../../SelectControlLayout';\nimport { cnSelectCreateButton } from '../../SelectCreateButton';\nimport { cnSelectInput } from '../../SelectInput';\n\nconst testId = 'SelectSingleCanary';\nconst animationDuration = 200;\n\nconst renderComponent = (\n props: SelectProps<SelectItemDefault, SelectGroupDefault, false>,\n) => {\n return render(\n <>\n <div data-testid=\"outside\" />\n <SelectSingle data-testid={testId} {...props} />\n </>,\n );\n};\n\nconst getRender = () => screen.getByTestId(testId);\nconst getOutside = () => screen.getByTestId('outside') as HTMLDivElement;\nconst getInput = () => getRender().querySelector(`input`) as HTMLInputElement;\nconst inputClick = () => fireEvent.click(getInput());\nconst animateDelay = () => {\n act(() => {\n jest.advanceTimersByTime(animationDuration);\n });\n};\nconst getDropdown = () => screen.queryByRole('listbox') as HTMLDivElement;\nconst outsideClick = () => fireEvent.mouseDown(getOutside());\nconst getValueText = () =>\n getRender().querySelector(`.${cnSelectInput('ValueText')}`) as HTMLDivElement;\nconst getItems = () =>\n getDropdown().querySelectorAll(\n `.${cnListItem()}`,\n ) as unknown as HTMLDivElement[];\n\nconst getItem = (index: number = 0) => getItems()[index] as HTMLDivElement;\nconst getClearButton = () =>\n getRender().querySelector(\n `.${cnSelectControlLayout('ClearButton')}`,\n ) as HTMLButtonElement;\nconst getLoader = () =>\n getDropdown().querySelector(`.${cnListLoader()}`) as HTMLDivElement;\nconst getCreateButton = () =>\n getDropdown().querySelector(`.${cnSelectCreateButton()}`) as HTMLDivElement;\nconst onCreateClick = () => fireEvent.click(getCreateButton());\nconst getSelectInputValue = () =>\n getRender().querySelector(`.${cnSelectInput('Value')}`) as HTMLDivElement;\n\nconst items: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1 },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2 },\n];\n\nconst itemsWithDisabled: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1, disabled: true },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2, disabled: true },\n];\n\nconst groups: SelectGroupDefault[] = [\n { id: 1, label: 'Group 1' },\n { id: 2, label: 'Group 2' },\n];\n\ndescribe('SelectSingle', () => {\n // const getItemLabel = (item: { id: number; label: string }) => item.label;\n // const getItemKey = (item: { id: number; label: string }) => item.id;\n\n it('рендерится без ошибок', () => {\n expect(() => renderComponent({ items, onChange: jest.fn() })).not.toThrow();\n });\n\n it('отображает плейсхолдер, если значение не выбрано', () => {\n renderComponent({\n items,\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByPlaceholderText('Выберите элемент')).toBeInTheDocument();\n });\n\n it('отображает выбранное значение', () => {\n renderComponent({\n items,\n value: items[1],\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByText('Item 2')).toBeInTheDocument();\n });\n\n it('проверка ref', () => {\n const ref = { current: null };\n renderComponent({ items, ref, onChange: jest.fn() });\n expect(ref.current).toBeTruthy();\n });\n\n it('проверка inputRef', () => {\n const inputRef = { current: null };\n renderComponent({ items, inputRef, onChange: jest.fn() });\n expect(inputRef.current).toBeTruthy();\n });\n\n it('Присваивается дополнительный className', () => {\n const className = 'custom-class';\n renderComponent({ items, className, onChange: jest.fn() });\n expect(getRender()).toHaveClass(className);\n });\n\n it('Присваиваются дополнительные атрибуты', () => {\n renderComponent({\n items,\n 'onChange': jest.fn(),\n 'aria-placeholder': 'test-autocomplete',\n });\n expect(getRender()).toHaveAttribute(\n 'aria-placeholder',\n 'test-autocomplete',\n );\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('закрывается по клику вне компонента', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n outsideClick();\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('Отображаются элементы', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n items.map((item) =>\n expect(screen.getByText(item.label)).toBeInTheDocument(),\n );\n });\n\n it('не открывается по клику при disabled', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn(), disabled: true });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('value верно рендерится', () => {\n const value = items[2];\n\n renderComponent({\n items,\n value,\n onChange: jest.fn(),\n });\n expect(getValueText().textContent).toEqual(value.label);\n });\n\n it('проверка onChange', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n inputClick();\n animateDelay();\n fireEvent.click(getItem(0));\n expect(onChangeMock).toHaveBeenCalled();\n expect(onChangeMock).toHaveBeenCalledTimes(1);\n expect(onChangeMock).toHaveBeenCalledWith(items[0], {\n e: expect.any(Object),\n });\n });\n\n describe('проверка onFocus', () => {\n it('проверка onFocus', () => {\n const handlerFocus = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onFocus: handlerFocus });\n\n expect(handlerFocus).toHaveBeenCalledTimes(0);\n\n getInput().focus();\n\n expect(handlerFocus).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('проверка onBlur', () => {\n it('проверка onBlur', () => {\n const handlerBlur = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onBlur: handlerBlur });\n getInput().focus();\n expect(handlerBlur).toHaveBeenCalledTimes(0);\n getInput().blur();\n expect(handlerBlur).toHaveBeenCalledTimes(1);\n });\n });\n\n it('проверка onDropdownOpen', () => {\n const handlerDropdownOpen = jest.fn();\n renderComponent({\n items,\n onChange: jest.fn(),\n onDropdownOpen: handlerDropdownOpen,\n });\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(2);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(3);\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(4);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(5);\n });\n\n it('поддерживает управление с клавиатуры', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'ArrowUp' });\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n fireEvent.keyDown(input, { key: 'Enter' });\n\n // переход по клавишам работает\n expect(onChangeMock).toHaveBeenCalledWith(items[1], {\n e: expect.any(Object),\n });\n\n fireEvent.keyDown(input, { key: 'Escape' });\n animateDelay();\n // закрытие по esc\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n animateDelay();\n // открытие по enter\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n animateDelay();\n // закрытие по tab\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n\n // снятие фокуса по tab\n expect(input).not.toHaveFocus();\n });\n\n it('disable - управление с клавиатуры не работает', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock, disabled: true });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('при вводе текста в input срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).toHaveBeenCalledTimes(1);\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('disabled - при вводе текста в input не срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n disabled: true,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).not.toHaveBeenCalled();\n });\n\n it('отображается inputValue', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('отображается inputDefaultValue', () => {\n const inputDefaultValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n inputDefaultValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputDefaultValue);\n });\n\n it('disabled - при удалении текста по Backspace он не удаляется', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n disabled: true,\n input: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('clearButton отображается при выбранном значении', () => {\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n\n expect(clearButton).toBeInTheDocument();\n });\n\n it('очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('disabled - не очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('группы отображаются', () => {\n renderComponent({\n items,\n groups,\n value: items[0],\n onChange: jest.fn(),\n });\n\n inputClick();\n animateDelay();\n groups.map((group) =>\n expect(screen.getByText(group.label)).toBeInTheDocument(),\n );\n });\n\n describe('проверка dropdownForm', () => {\n (['default', 'brick', 'round'] as const).map((dropdownForm) => {\n it(`dropdownForm = ${dropdownForm}`, () => {\n jest.useFakeTimers();\n\n act(() => {\n renderComponent({ items, dropdownForm, onChange: jest.fn() });\n });\n inputClick();\n animateDelay();\n expect(getDropdown()).toHaveClass(\n cnListBox({ form: dropdownForm }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка form', () => {\n (\n [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clear',\n ] as const\n ).map((form) => {\n it(`form = ${form}`, () => {\n renderComponent({ items, form, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ form }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка view', () => {\n (['default', 'clear'] as const).map((view) => {\n it(`view = ${view}`, () => {\n renderComponent({ items, view, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ view }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка status', () => {\n (['alert', 'success', 'warning'] as const).map((status) => {\n it(`status = ${status}`, () => {\n renderComponent({ items, status, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ status }).split(' ')[1],\n );\n });\n });\n });\n\n it('элементы disabled отображаются с соответствущем классом', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n itemsWithDisabled.map((item, index) => {\n if (item.disabled) {\n expect(getItem(index)).toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n } else {\n expect(getItem(index)).not.toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n }\n });\n });\n\n describe('по элементам disabled не отрабатывает onChange', () => {\n itemsWithDisabled.map((item, index) => {\n it(`item ${index} disabled = ${item.disabled}`, () => {\n jest.useFakeTimers();\n const handleChange = jest.fn();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: handleChange });\n });\n\n inputClick();\n\n animateDelay();\n fireEvent.click(getItem(index));\n if (item.disabled) {\n expect(handleChange).not.toHaveBeenCalled();\n } else {\n expect(handleChange).toHaveBeenCalled();\n }\n });\n });\n });\n\n describe('проверка isLoading', () => {\n it('isLoading = true', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading: true, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).toBeInTheDocument();\n });\n [false, undefined].map((isLoading) => {\n it(`isLoading = ${isLoading}`, () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).not.toBeInTheDocument();\n });\n });\n });\n\n it('проверка onCreate', () => {\n jest.useFakeTimers();\n const onCreate = jest.fn();\n const inputValue = 'test';\n act(() => {\n renderComponent({ items, onCreate, inputValue, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n\n onCreateClick();\n\n expect(onCreate).toHaveBeenCalled();\n expect(onCreate).toHaveBeenCalledWith(inputValue, {\n e: expect.any(Object),\n });\n });\n\n it('проверка labelForCreate', () => {\n jest.useFakeTimers();\n const labelForCreate = 'Создать';\n act(() => {\n renderComponent({\n items,\n labelForCreate,\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n });\n\n it('проверка iconClear', () => {\n jest.useFakeTimers();\n const iconClear = createIconMock('iconClear');\n act(() => {\n renderComponent({\n items,\n iconClear,\n clearButton: true,\n inputValue: 'test',\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getClearButton().textContent).toEqual('iconClear');\n });\n\n // тестирование renderItem\n it('проверка renderItem', () => {\n jest.useFakeTimers();\n const renderItem: SelectPropRenderItem<SelectItemDefault> = ({ item }) => (\n <div className=\"test\">{item.label}</div>\n );\n act(() => {\n renderComponent({\n items,\n renderItem,\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown().querySelectorAll('.test')[0]).toBeInTheDocument();\n expect(getDropdown().querySelectorAll('.test')[0].textContent).toEqual(\n items[0].label,\n );\n });\n\n it('проверка renderValue', () => {\n jest.useFakeTimers();\n const renderValue: SelectPropRenderValue<SelectItemDefault, false> = ({\n value,\n }) => <div className=\"test\">{value.label}</div>;\n act(() => {\n renderComponent({\n items,\n renderValue,\n value: items[0],\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getSelectInputValue().querySelector('.test')).toBeInTheDocument();\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectSingle.test.js","names":["act","fireEvent","render","screen","within","React","createIconMock","cnFieldControlLayout","cnListBox","cnListItem","cnListLoader","SelectSingle","cnSelectControlLayout","cnSelectCreateButton","cnSelectInput","testId","animationDuration","renderComponent","props","getRender","getByTestId","getOutside","getInput","querySelector","inputClick","click","animateDelay","jest","advanceTimersByTime","getDropdown","queryByRole","outsideClick","mouseDown","getValueText","getItems","querySelectorAll","getItem","index","getClearButton","getLoader","getCreateButton","onCreateClick","getSelectInputValue","items","id","label","groupId","itemsWithDisabled","disabled","groups","describe","it","expect","onChange","fn","not","toThrow","placeholder","getByPlaceholderText","toBeInTheDocument","value","getByText","ref","current","toBeTruthy","inputRef","className","toHaveClass","toHaveAttribute","useFakeTimers","map","item","textContent","toEqual","onChangeMock","toHaveBeenCalled","toHaveBeenCalledTimes","toHaveBeenCalledWith","e","any","Object","handlerFocus","onFocus","focus","handlerBlur","onBlur","blur","handlerDropdownOpen","onDropdownOpen","input","keyDown","key","toHaveFocus","onInputChangeMock","onInput","change","target","inputValue","inputDefaultValue","clearButton","handleChange","group","dropdownForm","form","split","view","status","isLoading","onCreate","labelForCreate","iconClear","renderItem","renderValue","container","document","createElement","setAttribute","body","appendChild","dropdownContainer","toBeNull","getByRole"],"sources":["../../../../../../../src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.tsx"],"sourcesContent":["import { act, fireEvent, render, screen, within } from '@testing-library/react';\nimport React from 'react';\n\nimport { createIconMock } from '##/../__mocks__/IconMock';\nimport { cnFieldControlLayout } from '##/components/FieldComponents/FieldControlLayout';\nimport { cnListBox, cnListItem, cnListLoader } from '##/components/ListCanary';\n\nimport {\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderItem,\n SelectPropRenderValue,\n SelectProps,\n SelectSingle,\n} from '../..';\nimport { cnSelectControlLayout } from '../../SelectControlLayout';\nimport { cnSelectCreateButton } from '../../SelectCreateButton';\nimport { cnSelectInput } from '../../SelectInput';\n\nconst testId = 'SelectSingleCanary';\nconst animationDuration = 200;\n\nconst renderComponent = (\n props: SelectProps<SelectItemDefault, SelectGroupDefault, false>,\n) => {\n return render(\n <>\n <div data-testid=\"outside\" />\n <SelectSingle data-testid={testId} {...props} />\n </>,\n );\n};\n\nconst getRender = () => screen.getByTestId(testId);\nconst getOutside = () => screen.getByTestId('outside') as HTMLDivElement;\nconst getInput = () => getRender().querySelector(`input`) as HTMLInputElement;\nconst inputClick = () => fireEvent.click(getInput());\nconst animateDelay = () => {\n act(() => {\n jest.advanceTimersByTime(animationDuration);\n });\n};\nconst getDropdown = () => screen.queryByRole('listbox') as HTMLDivElement;\nconst outsideClick = () => fireEvent.mouseDown(getOutside());\nconst getValueText = () =>\n getRender().querySelector(`.${cnSelectInput('ValueText')}`) as HTMLDivElement;\nconst getItems = () =>\n getDropdown().querySelectorAll(\n `.${cnListItem()}`,\n ) as unknown as HTMLDivElement[];\n\nconst getItem = (index: number = 0) => getItems()[index] as HTMLDivElement;\nconst getClearButton = () =>\n getRender().querySelector(\n `.${cnSelectControlLayout('ClearButton')}`,\n ) as HTMLButtonElement;\nconst getLoader = () =>\n getDropdown().querySelector(`.${cnListLoader()}`) as HTMLDivElement;\nconst getCreateButton = () =>\n getDropdown().querySelector(`.${cnSelectCreateButton()}`) as HTMLDivElement;\nconst onCreateClick = () => fireEvent.click(getCreateButton());\nconst getSelectInputValue = () =>\n getRender().querySelector(`.${cnSelectInput('Value')}`) as HTMLDivElement;\n\nconst items: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1 },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2 },\n];\n\nconst itemsWithDisabled: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1, disabled: true },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2, disabled: true },\n];\n\nconst groups: SelectGroupDefault[] = [\n { id: 1, label: 'Group 1' },\n { id: 2, label: 'Group 2' },\n];\n\ndescribe('SelectSingle', () => {\n // const getItemLabel = (item: { id: number; label: string }) => item.label;\n // const getItemKey = (item: { id: number; label: string }) => item.id;\n\n it('рендерится без ошибок', () => {\n expect(() => renderComponent({ items, onChange: jest.fn() })).not.toThrow();\n });\n\n it('отображает плейсхолдер, если значение не выбрано', () => {\n renderComponent({\n items,\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByPlaceholderText('Выберите элемент')).toBeInTheDocument();\n });\n\n it('отображает выбранное значение', () => {\n renderComponent({\n items,\n value: items[1],\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByText('Item 2')).toBeInTheDocument();\n });\n\n it('проверка ref', () => {\n const ref = { current: null };\n renderComponent({ items, ref, onChange: jest.fn() });\n expect(ref.current).toBeTruthy();\n });\n\n it('проверка inputRef', () => {\n const inputRef = { current: null };\n renderComponent({ items, inputRef, onChange: jest.fn() });\n expect(inputRef.current).toBeTruthy();\n });\n\n it('Присваивается дополнительный className', () => {\n const className = 'custom-class';\n renderComponent({ items, className, onChange: jest.fn() });\n expect(getRender()).toHaveClass(className);\n });\n\n it('Присваиваются дополнительные атрибуты', () => {\n renderComponent({\n items,\n 'onChange': jest.fn(),\n 'aria-placeholder': 'test-autocomplete',\n });\n expect(getRender()).toHaveAttribute(\n 'aria-placeholder',\n 'test-autocomplete',\n );\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('закрывается по клику вне компонента', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n outsideClick();\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('Отображаются элементы', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n items.map((item) =>\n expect(screen.getByText(item.label)).toBeInTheDocument(),\n );\n });\n\n it('не открывается по клику при disabled', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn(), disabled: true });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('value верно рендерится', () => {\n const value = items[2];\n\n renderComponent({\n items,\n value,\n onChange: jest.fn(),\n });\n expect(getValueText().textContent).toEqual(value.label);\n });\n\n it('проверка onChange', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n inputClick();\n animateDelay();\n fireEvent.click(getItem(0));\n expect(onChangeMock).toHaveBeenCalled();\n expect(onChangeMock).toHaveBeenCalledTimes(1);\n expect(onChangeMock).toHaveBeenCalledWith(items[0], {\n e: expect.any(Object),\n });\n });\n\n describe('проверка onFocus', () => {\n it('проверка onFocus', () => {\n const handlerFocus = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onFocus: handlerFocus });\n\n expect(handlerFocus).toHaveBeenCalledTimes(0);\n\n getInput().focus();\n\n expect(handlerFocus).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('проверка onBlur', () => {\n it('проверка onBlur', () => {\n const handlerBlur = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onBlur: handlerBlur });\n getInput().focus();\n expect(handlerBlur).toHaveBeenCalledTimes(0);\n getInput().blur();\n expect(handlerBlur).toHaveBeenCalledTimes(1);\n });\n });\n\n it('проверка onDropdownOpen', () => {\n const handlerDropdownOpen = jest.fn();\n renderComponent({\n items,\n onChange: jest.fn(),\n onDropdownOpen: handlerDropdownOpen,\n });\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(2);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(3);\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(4);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(5);\n });\n\n it('поддерживает управление с клавиатуры', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'ArrowUp' });\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n fireEvent.keyDown(input, { key: 'Enter' });\n\n // переход по клавишам работает\n expect(onChangeMock).toHaveBeenCalledWith(items[1], {\n e: expect.any(Object),\n });\n\n fireEvent.keyDown(input, { key: 'Escape' });\n animateDelay();\n // закрытие по esc\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n animateDelay();\n // открытие по enter\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n animateDelay();\n // закрытие по tab\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n\n // снятие фокуса по tab\n expect(input).not.toHaveFocus();\n });\n\n it('disable - управление с клавиатуры не работает', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock, disabled: true });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('при вводе текста в input срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).toHaveBeenCalledTimes(1);\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('disabled - при вводе текста в input не срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n disabled: true,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).not.toHaveBeenCalled();\n });\n\n it('отображается inputValue', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('отображается inputDefaultValue', () => {\n const inputDefaultValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n inputDefaultValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputDefaultValue);\n });\n\n it('disabled - при удалении текста по Backspace он не удаляется', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n disabled: true,\n input: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('clearButton отображается при выбранном значении', () => {\n renderComponent({\n items,\n value: items[0],\n onChange: jest.fn(),\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n\n expect(clearButton).toBeInTheDocument();\n });\n\n it('очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('disabled - не очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: items[0],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('группы отображаются', () => {\n renderComponent({\n items,\n groups,\n value: items[0],\n onChange: jest.fn(),\n });\n\n inputClick();\n animateDelay();\n groups.map((group) =>\n expect(screen.getByText(group.label)).toBeInTheDocument(),\n );\n });\n\n describe('проверка dropdownForm', () => {\n (['default', 'brick', 'round'] as const).map((dropdownForm) => {\n it(`dropdownForm = ${dropdownForm}`, () => {\n jest.useFakeTimers();\n\n act(() => {\n renderComponent({ items, dropdownForm, onChange: jest.fn() });\n });\n inputClick();\n animateDelay();\n expect(getDropdown()).toHaveClass(\n cnListBox({ form: dropdownForm }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка form', () => {\n (\n [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clear',\n ] as const\n ).map((form) => {\n it(`form = ${form}`, () => {\n renderComponent({ items, form, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ form }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка view', () => {\n (['default', 'clear'] as const).map((view) => {\n it(`view = ${view}`, () => {\n renderComponent({ items, view, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ view }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка status', () => {\n (['alert', 'success', 'warning'] as const).map((status) => {\n it(`status = ${status}`, () => {\n renderComponent({ items, status, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ status }).split(' ')[1],\n );\n });\n });\n });\n\n it('элементы disabled отображаются с соответствущем классом', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n itemsWithDisabled.map((item, index) => {\n if (item.disabled) {\n expect(getItem(index)).toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n } else {\n expect(getItem(index)).not.toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n }\n });\n });\n\n describe('по элементам disabled не отрабатывает onChange', () => {\n itemsWithDisabled.map((item, index) => {\n it(`item ${index} disabled = ${item.disabled}`, () => {\n jest.useFakeTimers();\n const handleChange = jest.fn();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: handleChange });\n });\n\n inputClick();\n\n animateDelay();\n fireEvent.click(getItem(index));\n if (item.disabled) {\n expect(handleChange).not.toHaveBeenCalled();\n } else {\n expect(handleChange).toHaveBeenCalled();\n }\n });\n });\n });\n\n describe('проверка isLoading', () => {\n it('isLoading = true', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading: true, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).toBeInTheDocument();\n });\n [false, undefined].map((isLoading) => {\n it(`isLoading = ${isLoading}`, () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).not.toBeInTheDocument();\n });\n });\n });\n\n it('проверка onCreate', () => {\n jest.useFakeTimers();\n const onCreate = jest.fn();\n const inputValue = 'test';\n act(() => {\n renderComponent({ items, onCreate, inputValue, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n\n onCreateClick();\n\n expect(onCreate).toHaveBeenCalled();\n expect(onCreate).toHaveBeenCalledWith(inputValue, {\n e: expect.any(Object),\n });\n });\n\n it('проверка labelForCreate', () => {\n jest.useFakeTimers();\n const labelForCreate = 'Создать';\n act(() => {\n renderComponent({\n items,\n labelForCreate,\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n });\n\n it('проверка iconClear', () => {\n jest.useFakeTimers();\n const iconClear = createIconMock('iconClear');\n act(() => {\n renderComponent({\n items,\n iconClear,\n clearButton: true,\n inputValue: 'test',\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getClearButton().textContent).toEqual('iconClear');\n });\n\n // тестирование renderItem\n it('проверка renderItem', () => {\n jest.useFakeTimers();\n const renderItem: SelectPropRenderItem<SelectItemDefault> = ({ item }) => (\n <div className=\"test\">{item.label}</div>\n );\n act(() => {\n renderComponent({\n items,\n renderItem,\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown().querySelectorAll('.test')[0]).toBeInTheDocument();\n expect(getDropdown().querySelectorAll('.test')[0].textContent).toEqual(\n items[0].label,\n );\n });\n\n it('проверка renderValue', () => {\n jest.useFakeTimers();\n const renderValue: SelectPropRenderValue<SelectItemDefault, false> = ({\n value,\n }) => <div className=\"test\">{value.label}</div>;\n act(() => {\n renderComponent({\n items,\n renderValue,\n value: items[0],\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getSelectInputValue().querySelector('.test')).toBeInTheDocument();\n });\n\n describe('проверка dropdownContainer', () => {\n it('рендерит dropdown по умолчанию в document.body', () => {\n jest.useFakeTimers();\n\n const container = document.createElement('div');\n container.setAttribute('data-testid', 'container');\n document.body.appendChild(container);\n\n act(() => {\n renderComponent({\n items,\n onChange: jest.fn(),\n dropdownContainer: undefined,\n });\n });\n\n inputClick();\n animateDelay();\n\n expect(screen.queryByRole('listbox')).not.toBeNull();\n\n expect(within(container).queryByRole('listbox')).not.toBeInTheDocument();\n });\n\n it('рендерит dropdown внутри переданного контейнера', () => {\n jest.useFakeTimers();\n\n const container = document.createElement('div');\n container.setAttribute('data-testid', 'container');\n document.body.appendChild(container);\n\n act(() => {\n renderComponent({\n items,\n onChange: jest.fn(),\n dropdownContainer: container,\n });\n });\n\n inputClick();\n animateDelay();\n\n expect(within(container).getByRole('listbox')).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export declare function withDefaultGetters<ITEM = SelectItemDefault, GROUP = Sel
|
|
|
23
23
|
isLoading?: boolean;
|
|
24
24
|
dropdownClassName?: string;
|
|
25
25
|
dropdownRef?: React.Ref<HTMLDivElement>;
|
|
26
|
+
dropdownContainer?: Element;
|
|
26
27
|
renderItem?: import("./types").SelectPropRenderItem<ITEM> | undefined;
|
|
27
28
|
renderValue?: import("./types").SelectPropRenderValue<ITEM, MULTIPLE> | undefined;
|
|
28
29
|
onFocus?: React.FocusEventHandler<HTMLInputElement>;
|
|
@@ -54,7 +55,7 @@ export declare function withDefaultGetters<ITEM = SelectItemDefault, GROUP = Sel
|
|
|
54
55
|
iconClear?: import("@consta/icons/Icon").IconComponent;
|
|
55
56
|
selectAll?: (MULTIPLE extends true ? boolean : never) | undefined;
|
|
56
57
|
selectAllLabel?: string;
|
|
57
|
-
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "onFocus" | "onBlur" | "onChange" | "onInput" | "size" | "view" | "form" | "status" | "input" | "disabled" | "value" | "multiple" | "placeholder" | "inputRef" | "items" | "dropdownForm" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "onScrollToBottom" | "labelForCreate" | "inputValue" | "selectAll" | "onDropdownOpen" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "virtualScroll" | "dropdownViewportRef" | "inputDefaultValue" | "clearButton" | "iconClear" | "onCreate" | "
|
|
58
|
+
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "onFocus" | "onBlur" | "onChange" | "onInput" | "size" | "view" | "form" | "status" | "input" | "disabled" | "value" | "multiple" | "placeholder" | "inputRef" | "items" | "dropdownForm" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "onScrollToBottom" | "labelForCreate" | "inputValue" | "selectAll" | "onDropdownOpen" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "virtualScroll" | "dropdownViewportRef" | "dropdownContainer" | "inputDefaultValue" | "clearButton" | "iconClear" | "onCreate" | "aria-Label" | "selectAllLabel"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
58
59
|
label: SelectItemDefault["label"];
|
|
59
60
|
} ? {} : {
|
|
60
61
|
getItemLabel: SelectPropGetItemLabel<ITEM>;
|
|
@@ -66,6 +66,7 @@ export type SelectPropsInit<ITEM = SelectItemDefault, GROUP = SelectGroupDefault
|
|
|
66
66
|
'isLoading'?: boolean;
|
|
67
67
|
'dropdownClassName'?: string;
|
|
68
68
|
'dropdownRef'?: React.Ref<HTMLDivElement>;
|
|
69
|
+
'dropdownContainer'?: Element;
|
|
69
70
|
'renderItem'?: SelectPropRenderItem<ITEM>;
|
|
70
71
|
'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;
|
|
71
72
|
'onFocus'?: React.FocusEventHandler<HTMLInputElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/SelectCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\nexport type SelectItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type SelectGroupDefault = {\n label: string;\n id: string | number;\n};\n\nexport type SelectPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type SelectPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SelectPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type SelectPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type SelectPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type SelectPropGetGroupLabel<GROUP> = (group: GROUP) => string;\n\nexport type SelectPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\nexport type SelectPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type SelectPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type SelectPropRenderValue<ITEM, MULTIPLE> = MULTIPLE extends true\n ? (props: {\n value: ITEM[];\n getRemove: (\n item: ITEM,\n ) => (e: React.SyntheticEvent<Element, Event>) => void;\n }) => React.ReactNode | null\n : (props: { value: ITEM }) => React.ReactNode | null;\n\nexport type SelectPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectAllItem = {\n groupKey: string | number;\n __optionSelectAll: true;\n};\n\nexport type Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\n\nexport type CountedGroup<ITEM, GROUP> = Omit<Group<ITEM, GROUP>, 'items'> & {\n items: Array<SelectAllItem | ITEM>;\n};\n\nexport type SelectPropsInit<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n 'items': ITEM[];\n 'onChange': SelectPropOnChange<ITEM, MULTIPLE>;\n 'disabled'?: boolean;\n 'form'?: FieldPropForm;\n 'dropdownForm'?: 'default' | 'brick' | 'round';\n 'size'?: FieldPropSize;\n 'view'?: FieldPropView;\n 'placeholder'?: string;\n 'aria-Label'?: string;\n 'status'?: FieldPropStatus;\n 'isLoading'?: boolean;\n 'dropdownClassName'?: string;\n 'dropdownRef'?: React.Ref<HTMLDivElement>;\n 'renderItem'?: SelectPropRenderItem<ITEM>;\n 'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;\n 'onFocus'?: React.FocusEventHandler<HTMLInputElement>;\n 'onBlur'?: React.FocusEventHandler<HTMLInputElement>;\n 'onCreate'?: SelectPropOnCreate;\n 'inputRef'?: React.Ref<HTMLInputElement>;\n 'input'?: boolean;\n 'inputValue'?: string;\n 'inputDefaultValue'?: string;\n 'onInput'?: (value: string) => void;\n 'labelForCreate'?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n 'labelForEmptyItems'?: string;\n 'multiple'?: MULTIPLE;\n 'value'?: SelectPropValue<ITEM, MULTIPLE>;\n 'groups'?: GROUP[];\n 'getItemLabel'?: SelectPropGetItemLabel<ITEM>;\n 'getItemKey'?: SelectPropGetItemKey<ITEM>;\n 'getItemGroupKey'?: SelectPropGetItemGroupKey<ITEM>;\n 'getItemDisabled'?: SelectPropGetItemDisabled<ITEM>;\n 'getGroupLabel'?: SelectPropGetGroupLabel<GROUP>;\n 'getGroupKey'?: SelectPropGetGroupKey<GROUP>;\n 'virtualScroll'?: boolean;\n 'onScrollToBottom'?: (length: number) => void;\n 'onDropdownOpen'?: (isOpen: boolean) => void;\n 'dropdownOpen'?: boolean;\n 'dropdownViewportRef'?: React.RefObject<HTMLElement>;\n 'ignoreOutsideClicksRefs'?: ReadonlyArray<React.RefObject<HTMLElement>>;\n 'clearButton'?: boolean;\n 'iconClear'?: IconComponent;\n 'selectAll'?: MULTIPLE extends true ? boolean : never;\n 'selectAllLabel'?: string;\n },\n HTMLDivElement\n>;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = SelectPropsInit<ITEM, GROUP, MULTIPLE> &\n (ITEM extends { label: SelectItemDefault['label'] }\n ? {}\n : { getItemLabel: SelectPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: SelectItemDefault['id'] }\n ? {}\n : { getItemKey: SelectPropGetItemKey<ITEM> }) &\n (GROUP extends { label: SelectGroupDefault['label'] }\n ? {}\n : { getGroupLabel: SelectPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: SelectGroupDefault['id'] }\n ? {}\n : { getGroupKey: SelectPropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: SelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactNode | null;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/SelectCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\nexport type SelectItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type SelectGroupDefault = {\n label: string;\n id: string | number;\n};\n\nexport type SelectPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type SelectPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SelectPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type SelectPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type SelectPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type SelectPropGetGroupLabel<GROUP> = (group: GROUP) => string;\n\nexport type SelectPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\nexport type SelectPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type SelectPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type SelectPropRenderValue<ITEM, MULTIPLE> = MULTIPLE extends true\n ? (props: {\n value: ITEM[];\n getRemove: (\n item: ITEM,\n ) => (e: React.SyntheticEvent<Element, Event>) => void;\n }) => React.ReactNode | null\n : (props: { value: ITEM }) => React.ReactNode | null;\n\nexport type SelectPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectAllItem = {\n groupKey: string | number;\n __optionSelectAll: true;\n};\n\nexport type Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\n\nexport type CountedGroup<ITEM, GROUP> = Omit<Group<ITEM, GROUP>, 'items'> & {\n items: Array<SelectAllItem | ITEM>;\n};\n\nexport type SelectPropsInit<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n 'items': ITEM[];\n 'onChange': SelectPropOnChange<ITEM, MULTIPLE>;\n 'disabled'?: boolean;\n 'form'?: FieldPropForm;\n 'dropdownForm'?: 'default' | 'brick' | 'round';\n 'size'?: FieldPropSize;\n 'view'?: FieldPropView;\n 'placeholder'?: string;\n 'aria-Label'?: string;\n 'status'?: FieldPropStatus;\n 'isLoading'?: boolean;\n 'dropdownClassName'?: string;\n 'dropdownRef'?: React.Ref<HTMLDivElement>;\n 'dropdownContainer'?: Element;\n 'renderItem'?: SelectPropRenderItem<ITEM>;\n 'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;\n 'onFocus'?: React.FocusEventHandler<HTMLInputElement>;\n 'onBlur'?: React.FocusEventHandler<HTMLInputElement>;\n 'onCreate'?: SelectPropOnCreate;\n 'inputRef'?: React.Ref<HTMLInputElement>;\n 'input'?: boolean;\n 'inputValue'?: string;\n 'inputDefaultValue'?: string;\n 'onInput'?: (value: string) => void;\n 'labelForCreate'?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n 'labelForEmptyItems'?: string;\n 'multiple'?: MULTIPLE;\n 'value'?: SelectPropValue<ITEM, MULTIPLE>;\n 'groups'?: GROUP[];\n 'getItemLabel'?: SelectPropGetItemLabel<ITEM>;\n 'getItemKey'?: SelectPropGetItemKey<ITEM>;\n 'getItemGroupKey'?: SelectPropGetItemGroupKey<ITEM>;\n 'getItemDisabled'?: SelectPropGetItemDisabled<ITEM>;\n 'getGroupLabel'?: SelectPropGetGroupLabel<GROUP>;\n 'getGroupKey'?: SelectPropGetGroupKey<GROUP>;\n 'virtualScroll'?: boolean;\n 'onScrollToBottom'?: (length: number) => void;\n 'onDropdownOpen'?: (isOpen: boolean) => void;\n 'dropdownOpen'?: boolean;\n 'dropdownViewportRef'?: React.RefObject<HTMLElement>;\n 'ignoreOutsideClicksRefs'?: ReadonlyArray<React.RefObject<HTMLElement>>;\n 'clearButton'?: boolean;\n 'iconClear'?: IconComponent;\n 'selectAll'?: MULTIPLE extends true ? boolean : never;\n 'selectAllLabel'?: string;\n },\n HTMLDivElement\n>;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = SelectPropsInit<ITEM, GROUP, MULTIPLE> &\n (ITEM extends { label: SelectItemDefault['label'] }\n ? {}\n : { getItemLabel: SelectPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: SelectItemDefault['id'] }\n ? {}\n : { getItemKey: SelectPropGetItemKey<ITEM> }) &\n (GROUP extends { label: SelectGroupDefault['label'] }\n ? {}\n : { getGroupLabel: SelectPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: SelectGroupDefault['id'] }\n ? {}\n : { getGroupKey: SelectPropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: SelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactNode | null;\n"],"mappings":""}
|
|
@@ -6,7 +6,7 @@ import { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttribu
|
|
|
6
6
|
import { PropSize, RenderItemProps } from '../types';
|
|
7
7
|
import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../useSelect';
|
|
8
8
|
export declare const selectDropdownForm: readonly ["default", "brick", "round"];
|
|
9
|
-
export type SelectDropdownPropForm = typeof selectDropdownForm[number];
|
|
9
|
+
export type SelectDropdownPropForm = (typeof selectDropdownForm)[number];
|
|
10
10
|
export declare const defaultSelectDropdownPropForm: "default";
|
|
11
11
|
type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
|
|
12
12
|
size: PropSize;
|
|
@@ -36,6 +36,7 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
|
|
|
36
36
|
virtualScroll?: boolean;
|
|
37
37
|
onScrollToBottom?: (length: number) => void;
|
|
38
38
|
viewportRef?: React.RefObject<HTMLElement>;
|
|
39
|
+
container?: Element;
|
|
39
40
|
}>;
|
|
40
41
|
type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactNode | null;
|
|
41
42
|
export declare const SelectDropdown: SelectDropdownComponent;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","viewportRef"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useEffect,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,ListLoader,mapVerticalSpace}from"../../ListCanary";import{Popover}from"../../Popover";import{useDebounce}from"../../../hooks/useDebounce";import{useFlag}from"../../../hooks/useFlag";import{forkRef,useForkRef}from"../../../hooks/useForkRef";import{useVirtualScroll}from"../../../hooks/useVirtualScroll";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectItemAll";import{SelectLoader}from"../SelectLoader/SelectLoader";import{isNotOptionForCreate,isOptionForCreate,isOptionForSelectAll}from"../useSelect";export var selectDropdownForm=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownForm[0];var cnSelectDropdown=cn("SelectDropdown"),getLengthElements=function(a){for(var b,c=1>=a.length?0:a.length,d=0;d<a.length;d++)b=a[d],isNotOptionForCreate(b)&&b.items.length&&(c+=b.items.length);return c},isVisible=function(a,b){return b>=a[0]&&b<a[1]};export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=void 0===j||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=a.itemsRefs,v=a.virtualScroll,w=a.onScrollToBottom,x=a.viewportRef,y=_objectWithoutProperties(a,_excluded),
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","viewportRef","container"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useEffect,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,ListLoader,mapVerticalSpace}from"../../ListCanary";import{Popover}from"../../Popover";import{useDebounce}from"../../../hooks/useDebounce";import{useFlag}from"../../../hooks/useFlag";import{forkRef,useForkRef}from"../../../hooks/useForkRef";import{useVirtualScroll}from"../../../hooks/useVirtualScroll";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectItemAll";import{SelectLoader}from"../SelectLoader/SelectLoader";import{isNotOptionForCreate,isOptionForCreate,isOptionForSelectAll}from"../useSelect";export var selectDropdownForm=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownForm[0];var cnSelectDropdown=cn("SelectDropdown"),getLengthElements=function(a){for(var b,c=1>=a.length?0:a.length,d=0;d<a.length;d++)b=a[d],isNotOptionForCreate(b)&&b.items.length&&(c+=b.items.length);return c},isVisible=function(a,b){return b>=a[0]&&b<a[1]};export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=void 0===j||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=a.itemsRefs,v=a.virtualScroll,w=a.onScrollToBottom,x=a.viewportRef,y=a.container,z=_objectWithoutProperties(a,_excluded),A="round"===l?"increased":"normal",B=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),C="none"===o?void 0:o,D=useMemo(function(){return getLengthElements(q)},[q]),E=useVirtualScroll({length:D,isActive:v&&m,onScrollToBottom:w}),F=E.spaceTop,G=E.slice,H=E.listRefs,I=E.scrollElementRef,J=0===G[0]&&v?[0,50]:G,K=useRef(null),L=useForkRef([I,e]),M=useFlag(),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useDebounce(P.off,100);return useEffect(function(){var a,b=function(){P.on(),Q()};return null===(a=I.current)||void 0===a?void 0:a.addEventListener("scroll",b),function(){var a;null===(a=I.current)||void 0===a?void 0:a.removeEventListener("scroll",b)}},[I.current]),React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:K,timeout:animateTimeout},function(a){var e=fabricIndex(),j=fabricIndex();return React.createElement(Popover,Object.assign({},z,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:C,ref:K,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0,viewportRef:x,container:y}),React.createElement("div",{className:cnSelectDropdown("ScrollContainer",[cnMixSpace({pV:mapVerticalSpace[c]}),cnMixScrollBar()]),ref:L},r&&!B&&React.createElement(SelectLoader,null),React.createElement("div",{className:cnSelectDropdown("List",{scrolled:O}),style:{marginTop:F}},q.map(function(a,b){if(isOptionForCreate(a)){var h=e();return React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:A,ref:u[h]},d({index:h,item:a,keyPrefix:b})))}var g=1<q.length?j():0;return React.createElement(Fragment,{key:a.key},a.group&&s&&isVisible(J,g)&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:A,ref:H[g],key:"group-".concat(a.key)}),a.items.map(function(b,f){if(isOptionForSelectAll(b)){var g=j(),h=e();if(isVisible(J,g))return React.createElement(SelectItemAll,Object.assign({ref:forkRef([H[g],u[h]]),indent:A,size:c},d({index:h,item:b,keyPrefix:f}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount}))}else{var i=j(),k=e();if(isVisible(J,i))return React.createElement(Fragment,{key:"".concat(a.key,"-").concat(f)},p(_objectSpread({ref:forkRef([H[i],u[k]]),item:b},d({index:k,item:b,keyPrefix:f}))))}}))}),r&&B&&React.createElement(ListLoader,{size:c,innerOffset:A})),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:A},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:A},i)))})};
|
|
2
2
|
//# sourceMappingURL=SelectDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useEffect","useMemo","useRef","Transition","cnListBox","ListItem","ListLoader","mapVerticalSpace","Popover","useDebounce","useFlag","forkRef","useForkRef","useVirtualScroll","animateTimeout","cnMixPopoverAnimate","cnMixScrollBar","cnMixSpace","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","getLengthElements","elements","element","length","index","items","isVisible","slice","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","viewportRef","otherProps","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","listRefs","scrollElementRef","popoverRef","scrolled","setScrolled","setScrolledOffDebounce","off","fn","on","current","addEventListener","removeEventListener","animate","getIndex","getVirtualIndex","border","shadow","pV","marginTop","map","groupIndex","label","item","keyPrefix","virtualIndex","key","i","checkedCount","totalCount","ref"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n ListLoader,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { fabricIndex } from '##/utils/fabricIndex';\nimport { SelectAllItem } from '##/utils/getGroups';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectItemAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../useSelect';\n\nexport const selectDropdownForm = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownForm[number];\nexport const defaultSelectDropdownPropForm = selectDropdownForm[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n}>;\n\ntype SelectDropdownComponent = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nconst getLengthElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let length = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n length += element.items.length;\n }\n }\n\n return length;\n};\n\nconst isVisible = (slice: [number, number], index: number) => {\n return index >= slice[0] && index < slice[1];\n};\n\nexport const SelectDropdown: SelectDropdownComponent = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n viewportRef,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLengthElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScrolled] = useFlag();\n const setScrolledOffDebounce = useDebounce(setScrolled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScrolled.on();\n setScrolledOffDebounce();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n viewportRef={viewportRef}\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group, groupIndex) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: groupIndex,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group-${group.key}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: i,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: i,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useEffect","useMemo","useRef","Transition","cnListBox","ListItem","ListLoader","mapVerticalSpace","Popover","useDebounce","useFlag","forkRef","useForkRef","useVirtualScroll","animateTimeout","cnMixPopoverAnimate","cnMixScrollBar","cnMixSpace","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","getLengthElements","elements","element","length","index","items","isVisible","slice","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","viewportRef","container","otherProps","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","listRefs","scrollElementRef","popoverRef","scrolled","setScrolled","setScrolledOffDebounce","off","fn","on","current","addEventListener","removeEventListener","animate","getIndex","getVirtualIndex","border","shadow","pV","marginTop","map","groupIndex","label","item","keyPrefix","virtualIndex","key","i","checkedCount","totalCount","ref"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n ListLoader,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { fabricIndex } from '##/utils/fabricIndex';\nimport { SelectAllItem } from '##/utils/getGroups';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectItemAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../useSelect';\n\nexport const selectDropdownForm = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = (typeof selectDropdownForm)[number];\nexport const defaultSelectDropdownPropForm = selectDropdownForm[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n}>;\n\ntype SelectDropdownComponent = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nconst getLengthElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let length = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n length += element.items.length;\n }\n }\n\n return length;\n};\n\nconst isVisible = (slice: [number, number], index: number) => {\n return index >= slice[0] && index < slice[1];\n};\n\nexport const SelectDropdown: SelectDropdownComponent = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n viewportRef,\n container,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLengthElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScrolled] = useFlag();\n const setScrolledOffDebounce = useDebounce(setScrolled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScrolled.on();\n setScrolledOffDebounce();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n viewportRef={viewportRef}\n container={container}\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group, groupIndex) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: groupIndex,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group-${group.key}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: i,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: i,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.TagBase.SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.SelectValueTag.TagBase_size_l,.TagBase.SelectValueTag.TagBase_size_m,.TagBase.SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.SelectValueTag .TagBase-Label{
|
|
1
|
+
.TagBase.SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.SelectValueTag.TagBase_size_l,.TagBase.SelectValueTag.TagBase_size_m,.TagBase.SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.SelectValueTag .TagBase-Label{overflow-wrap:break-word}.TagBase.SelectValueTag_disabled{background-color:var(--color-control-bg-disable);pointer-events:none}.TagBase.SelectValueTag_disabled>*{color:var(--color-control-typo-disable)}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
export declare const propSize: readonly ["m", "xs", "s", "l"];
|
|
3
|
-
export type PropSize = typeof propSize[number];
|
|
3
|
+
export type PropSize = (typeof propSize)[number];
|
|
4
4
|
export declare const defaultPropSize: "m";
|
|
5
5
|
export declare const propForm: readonly ["default", "defaultClear", "defaultBrick", "brick", "brickDefault", "brickClear", "brickRound", "round", "roundClear", "roundBrick", "clearRound", "clearDefault", "clearBrick", "clearClear"];
|
|
6
|
-
export type PropForm = typeof propForm[number];
|
|
6
|
+
export type PropForm = (typeof propForm)[number];
|
|
7
7
|
export declare const defaultPropForm: "default";
|
|
8
8
|
export declare const propView: readonly ["default", "clear"];
|
|
9
|
-
export type PropView = typeof propView[number];
|
|
9
|
+
export type PropView = (typeof propView)[number];
|
|
10
10
|
export declare const defaultPropView: "default";
|
|
11
11
|
export declare const propStatus: readonly ["alert", "warning", "success"];
|
|
12
|
-
export type PropStatus = typeof propStatus[number];
|
|
12
|
+
export type PropStatus = (typeof propStatus)[number];
|
|
13
13
|
export type CommonSelectProps<ITEM> = {
|
|
14
14
|
options: ITEM[];
|
|
15
15
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["propSize","defaultPropSize","propForm","defaultPropForm","propView","defaultPropView","propStatus"],"sources":["../../../../../src/components/SelectComponents/types.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nexport const propSize = ['m', 'xs', 's', 'l'] as const;\nexport type PropSize = typeof propSize[number];\nexport const defaultPropSize = propSize[0];\n\nexport const propForm = [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clearClear',\n] as const;\nexport type PropForm = typeof propForm[number];\nexport const defaultPropForm = propForm[0];\n\nexport const propView = ['default', 'clear'] as const;\nexport type PropView = typeof propView[number];\nexport const defaultPropView = propView[0];\n\nexport const propStatus = ['alert', 'warning', 'success'] as const;\nexport type PropStatus = typeof propStatus[number];\n\nexport type CommonSelectProps<ITEM> = {\n options: ITEM[];\n id: string;\n placeholder?: string;\n ariaLabel?: string;\n getOptionLabel(arg: ITEM): string;\n getOptionKey?(arg: ITEM): string | number;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n children?: never;\n dropdownClassName?: string;\n dropdownRef?: RefObject<HTMLDivElement>;\n name?: string;\n};\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n"],"mappings":"AAEA,MAAO,IAAMA,SAAQ,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CACtB,SADsB,CAEtB,cAFsB,CAGtB,cAHsB,CAItB,OAJsB,CAKtB,cALsB,CAMtB,YANsB,CAOtB,YAPsB,CAQtB,OARsB,CAStB,YATsB,CAUtB,YAVsB,CAWtB,YAXsB,CAYtB,cAZsB,CAatB,YAbsB,CActB,YAdsB,CAAjB,CAiBP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,WAAU,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAnB"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["propSize","defaultPropSize","propForm","defaultPropForm","propView","defaultPropView","propStatus"],"sources":["../../../../../src/components/SelectComponents/types.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nexport const propSize = ['m', 'xs', 's', 'l'] as const;\nexport type PropSize = (typeof propSize)[number];\nexport const defaultPropSize = propSize[0];\n\nexport const propForm = [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clearClear',\n] as const;\nexport type PropForm = (typeof propForm)[number];\nexport const defaultPropForm = propForm[0];\n\nexport const propView = ['default', 'clear'] as const;\nexport type PropView = (typeof propView)[number];\nexport const defaultPropView = propView[0];\n\nexport const propStatus = ['alert', 'warning', 'success'] as const;\nexport type PropStatus = (typeof propStatus)[number];\n\nexport type CommonSelectProps<ITEM> = {\n options: ITEM[];\n id: string;\n placeholder?: string;\n ariaLabel?: string;\n getOptionLabel(arg: ITEM): string;\n getOptionKey?(arg: ITEM): string | number;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n children?: never;\n dropdownClassName?: string;\n dropdownRef?: RefObject<HTMLDivElement>;\n name?: string;\n};\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n"],"mappings":"AAEA,MAAO,IAAMA,SAAQ,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CACtB,SADsB,CAEtB,cAFsB,CAGtB,cAHsB,CAItB,OAJsB,CAKtB,cALsB,CAMtB,YANsB,CAOtB,YAPsB,CAQtB,OARsB,CAStB,YATsB,CAUtB,YAVsB,CAWtB,YAXsB,CAYtB,cAZsB,CAatB,YAbsB,CActB,YAdsB,CAAjB,CAiBP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,WAAU,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useDebounce}from"../../../hooks/useDebounce";import{useKeys}from"../../../hooks/useKeysDeprecated";import{useMutableRef}from"../../../hooks/useMutableRef";import{usePrevious}from"../../../hooks/usePrevious";import{useRefs}from"../../../hooks/useRefs";import{getCountedGroups,getGroups}from"../../../utils/getGroups";import{scrollToIndex,useHoistedState}from"./helpers";var isMultipleParams=function(a){return a.multiple},isNotMultipleParams=function(a){return!a.multiple},actions={setOpen:"setOpen",setSearch:"setSearch",highlightIndex:"highlightIndex"},initialState={searchValue:"",resolvedSearchValue:"",isOpen:!1,highlightedIndex:0,scrollToHighlighted:!1};export var isOptionForCreate=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isNotOptionForCreate=function(a){return a&&!Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isOptionForSelectAll=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionSelectAll")};export function useSelect(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.multiple,h=void 0!==g&&g,i=a.getItemLabel,j=a.getItemKey,k=a.searchFunction,l=a.getItemGroupKey,m=a.groups,n=a.selectAll,o=void 0!==n&&n,p=a.getGroupKey,q=a.sortGroups,r=a.getItemDisabled,s=a.onFocus,t=a.onBlur,u=a.searchValue,v=a.onDropdownOpen,w=a.onSearchValueChange,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=useRef(null),A=useState(!1),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useMemo(function(){return a.value&&(Array.isArray(a.value)?a.value:[a.value])||[]},[a.value]),F=useHoistedState(initialState),G=_slicedToArray(F,2),H=G[0],I=H.searchValue,J=H.isOpen,K=H.highlightedIndex,L=H.resolvedSearchValue,M=H.scrollToHighlighted,N=G[1],O=useMutableRef(w),P=function(a,b){return-1!==i(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},Q=useMemo(function(){if(L&&""!==L){var c=b.filter(function(a){return k?k(a,L):P(a,L)});return[c,a.onCreate&&!c.length?{label:I,__optionForCreate:!0}:void 0]}return[b,void 0]},[b,L,a.onCreate]),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useMemo(function(){var b=getCountedGroups(getGroups(S,null!==m&&void 0!==m&&m.length?l:void 0,m,p,q),isMultipleParams(a)?a.value:[],o,j,r);return T?[T].concat(_toConsumableArray(b)):b},[E,o,S,m,l,r,p,q,T]),V=S.length+(T?1:0)+(o?U.length:0),W=useRefs(V,[J]),X=useMemo(function(){var b=!1;return 0<I.length&&(b=0===U.filter(function(a){return isOptionForCreate(a)||0<a.items.length||a.group}).length&&!a.onCreate),b},[U]),Y=0!==b.length,Z=useMemo(function(){return!isNotMultipleParams(a)&&!!o&&b.filter(function(a){return E.find(function(b){return j(b)===j(a)})}).length===b.length},[o,h,E,b]),$=function(){var a=0;if(0<E.length){var b,c=_createForOfIteratorHelper(U);try{for(c.s();!(b=c.n()).done;){var f=b.value;if(isOptionForCreate(f)){a++;continue}var d,e=_createForOfIteratorHelper(f.items);try{for(e.s();!(d=e.n()).done;){var g=d.value;if(isOptionForSelectAll(g))return a;if(j(g)===j(E[0]))return a;a++}}catch(a){e.e(a)}finally{e.f()}}}catch(a){c.e(a)}finally{c.f()}}return 0},aa=useCallback(function(a){N(function(b){return _objectSpread(_objectSpread({},b),{},{isOpen:a})},actions.setOpen)},[N]),ba=useDebounce(function(a){N(function(b){return b.resolvedSearchValue===a?b:_objectSpread(_objectSpread({},b),{},{resolvedSearchValue:a})},actions.setSearch)},300),ca=useCallback(function(a){N(function(b){return b.searchValue===a?b:_objectSpread(_objectSpread({},b),{},{searchValue:a||""})},actions.setSearch),ba(a||"")},[N,ba]),da=usePrevious(J),ea=useCallback(function(a,b){N(function(c){var d=Math.min(Math.max(0,"function"==typeof a?a(c.highlightedIndex):a),V-1);return c.highlightedIndex===d?c:_objectSpread(_objectSpread({},c),{},{highlightedIndex:d,scrollToHighlighted:b})},actions.highlightIndex)},[S,N,T]);useLayoutEffect(function(){if(null!==E&&!da&&J){var a=$();0<S.length&&scrollToIndex(a,c,W,function(){return ea(0,!1)})}});var fa=function(b,c){if(b.stopPropagation(),isMultipleParams(a)){var d,e=null===(d=a.value)||void 0===d?void 0:d.filter(function(a){return j(a)!==j(c)}),f=null!==e&&void 0!==e&&e.length?e:null;a.onChange(f,{e:b})}},ga=function(b,c){if(!(r&&r(c))){if(isMultipleParams(a)){var d=E.some(function(a){return j(a)===j(c)})?E.filter(function(a){return j(a)!==j(c)}):[].concat(_toConsumableArray(E),[c]),e=null!==d&&void 0!==d&&d.length?d:null;a.onChange(e,{e:b})}isNotMultipleParams(a)&&(a.onChange(c,{e:b}),aa(!1),ca(""))}},ha=function(b){var c=b.e,d=b.items;if(isMultipleParams(a)){var e=r?d.filter(function(a){return!r(a)}):d,f=[],g=[];if(E.forEach(function(a){e.find(function(b){return j(a)===j(b)})?f.push(a):g.push(a)}),f.length===e.length)a.onChange(g,{e:c});else{var h=[].concat(g,_toConsumableArray(e));a.onChange(h,{e:c})}}},ia=function(b,c){a.onCreate&&a.onCreate(c,{e:b,label:c}),aa(!1),ca("")},ja=function(b){if(isMultipleParams(a)){var c=null===E||void 0===E?void 0:E.filter(function(a){return null===r||void 0===r?void 0:r(a)}),d=c&&0<c.length?c:null;a.onChange(d,{e:b})}isNotMultipleParams(a)&&a.onChange(null,{e:b}),ca("")},ka=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a-1},!0)},la=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a+1},!0)},ma=useKeys({ArrowUp:ka,ArrowDown:la,PageUp:ka,PageDown:la,Home:ka,End:la,Enter:function Enter(a,b){if(J){(I||S[K])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(U);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(isOptionForCreate(e))return c++,[void 0,e];if(e.items.length+c>a)return[e,e.items[a-c]];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}return[void 0,void 0]},d=c(K),e=_slicedToArray(d,2),f=e[0],g=e[1];if(isOptionForCreate(g))return void ia(b,g.label);if(isOptionForSelectAll(g)){var h;return void ha({e:b,items:null!==(h=null===f||void 0===f?void 0:f.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==h?h:[]})}g&&ga(b,g)}else aa(!0)},Escape:function Escape(){aa(!1)},Tab:function Tab(a,b){J&&(b.preventDefault(),aa(!1))},Backspace:function Backspace(a,b){I||(h?fa(b,E[E.length-1]):ja(b))}});useClickOutside({isActive:!0,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(y||[])),handler:function handler(){D(!1),aa(!1)}}),useEffect(function(){f&&aa(!1)},[f]),useEffect(function(){var a=$();ea(a,!0)},[ea]),useEffect(function(){0<S.length&&M&&scrollToIndex(K,c,W,function(){return ea(0,!1)})},[K]);return useEffect(function(){ca(u)},[u]),useEffect(function(){var a;null===(a=c.current)||void 0===a?void 0:a.scrollTo({top:0})},[L]),useEffect(function(){null===v||void 0===v?void 0:v(J)},[J]),useEffect(function(){var a;null===(a=O.current)||void 0===a?void 0:a.call(O,I)},[I]),useEffect(function(){aa(x||!1)},[x]),{isOpen:J,isFocused:C,highlightedIndex:K,visibleItems:U,highlightIndex:ea,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=a.keyPrefix;if(isOptionForCreate(c))return{onClick:function onClick(a){ia(a,c.label)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForCreate")};if(isOptionForSelectAll(c)){var f=function(){var a,b=_createForOfIteratorHelper(U);try{for(b.s();!(a=b.n()).done;){var e=a.value;if(isOptionForCreate(e))break;if(e.key===c.groupKey){var d;return null!==(d=null===e||void 0===e?void 0:e.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==d?d:[]}}}catch(a){b.e(a)}finally{b.f()}return[]};return{onClick:function onClick(a){ha({e:a,items:f()})},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForSelectAll")}}var e=j(c);return{onClick:function onClick(a){ga(a,c)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!!E.find(function(a){return j(a)===e}),hovered:b===K,key:"".concat(d).concat(e)}},handleInputFocus:function handleInputFocus(a){f||(!C&&D(!0),"function"==typeof s&&s(a))},handleInputBlur:function handleInputBlur(a){if(J){var b;return void(null===(b=z.current)||void 0===b?void 0:b.focus())}C&&D(!1),"function"==typeof t&&t(a)},handleToggleDropdown:function handleToggleDropdown(){if(J)aa(!1),D(!1);else{var a;aa(!0),D(!0),null===(a=z.current)||void 0===a?void 0:a.focus()}},handleInputClick:function handleInputClick(){if(f||aa(!J),h){var a;null===(a=z.current)||void 0===a?void 0:a.focus()}},inputRef:z,getKeyProps:ma,handleInputChange:function handleInputChange(a){f||!h&&0<E.length||(ca(a.target.value),aa(!0))},searchValue:I,clearValue:ja,getHandleRemoveValue:function getHandleRemoveValue(a){return function(b){return fa(b,a)}},notFound:X,hasItems:Y,allItemsSelected:Z,optionsRefs:W}}
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useDebounce}from"../../../hooks/useDebounce";import{useKeys}from"../../../hooks/useKeysDeprecated";import{useMutableRef}from"../../../hooks/useMutableRef";import{usePrevious}from"../../../hooks/usePrevious";import{useRefs}from"../../../hooks/useRefs";import{getCountedGroups,getGroups}from"../../../utils/getGroups";import{scrollToIndex,useHoistedState}from"./helpers";var isMultipleParams=function(a){return a.multiple},isNotMultipleParams=function(a){return!a.multiple},actions={setOpen:"setOpen",setSearch:"setSearch",highlightIndex:"highlightIndex"},initialState={searchValue:"",resolvedSearchValue:"",isOpen:!1,highlightedIndex:0,scrollToHighlighted:!1};export var isOptionForCreate=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isNotOptionForCreate=function(a){return a&&!Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isOptionForSelectAll=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionSelectAll")};export function useSelect(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.multiple,h=void 0!==g&&g,i=a.getItemLabel,j=a.getItemKey,k=a.searchFunction,l=a.getItemGroupKey,m=a.groups,n=a.selectAll,o=void 0!==n&&n,p=a.getGroupKey,q=a.sortGroups,r=a.getItemDisabled,s=a.onFocus,t=a.onBlur,u=a.searchValue,v=a.onDropdownOpen,w=a.onSearchValueChange,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=useRef(null),A=useState(!1),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useMemo(function(){return a.value&&(Array.isArray(a.value)?a.value:[a.value])||[]},[a.value]),F=useHoistedState(initialState),G=_slicedToArray(F,2),H=G[0],I=H.searchValue,J=H.isOpen,K=H.highlightedIndex,L=H.resolvedSearchValue,M=H.scrollToHighlighted,N=G[1],O=useMutableRef(w),P=function(a,b){return-1!==i(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},Q=useMemo(function(){if(L&&""!==L){var c=b.filter(function(a){return k?k(a,L):P(a,L)});return[c,a.onCreate&&!c.length?{label:I,__optionForCreate:!0}:void 0]}return[b,void 0]},[b,L,a.onCreate]),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useMemo(function(){var b=getCountedGroups(getGroups(S,null!==m&&void 0!==m&&m.length?l:void 0,m,p,q),isMultipleParams(a)?a.value:[],o,j,r);return T?[T].concat(_toConsumableArray(b)):b},[E,o,S,m,l,r,p,q,T]),V=S.length+(T?1:0)+(o?U.length:0),W=useRefs(V,[J]),X=useMemo(function(){var b=!1;return 0<I.length&&(b=0===U.filter(function(a){return isOptionForCreate(a)||0<a.items.length||a.group}).length&&!a.onCreate),b},[U]),Y=0!==b.length,Z=useMemo(function(){return!isNotMultipleParams(a)&&!!o&&b.filter(function(a){return E.find(function(b){return j(b)===j(a)})}).length===b.length},[o,h,E,b]),$=function(){var a=0;if(0<E.length){var b,c=_createForOfIteratorHelper(U);try{for(c.s();!(b=c.n()).done;){var f=b.value;if(isOptionForCreate(f)){a++;continue}var d,e=_createForOfIteratorHelper(f.items);try{for(e.s();!(d=e.n()).done;){var g=d.value;if(isOptionForSelectAll(g))return a;if(j(g)===j(E[0]))return a;a++}}catch(a){e.e(a)}finally{e.f()}}}catch(a){c.e(a)}finally{c.f()}}return 0},aa=useCallback(function(a){N(function(b){return _objectSpread(_objectSpread({},b),{},{isOpen:a})},actions.setOpen)},[N]),ba=useDebounce(function(a){N(function(b){return b.resolvedSearchValue===a?b:_objectSpread(_objectSpread({},b),{},{resolvedSearchValue:a})},actions.setSearch)},300),ca=useCallback(function(a){var b=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],c=a||"";if(N(function(a){return a.searchValue===c?a:_objectSpread(_objectSpread({},a),{},{searchValue:c})},actions.setSearch),ba(c),b){var d;null===(d=O.current)||void 0===d?void 0:d.call(O,c)}},[N,ba]),da=usePrevious(J),ea=useCallback(function(a,b){N(function(c){var d=Math.min(Math.max(0,"function"==typeof a?a(c.highlightedIndex):a),V-1);return c.highlightedIndex===d?c:_objectSpread(_objectSpread({},c),{},{highlightedIndex:d,scrollToHighlighted:b})},actions.highlightIndex)},[S,N,T]);useLayoutEffect(function(){if(null!==E&&!da&&J){var a=$();0<S.length&&scrollToIndex(a,c,W,function(){return ea(0,!1)})}});var fa=function(b,c){if(b.stopPropagation(),isMultipleParams(a)){var d,e=null===(d=a.value)||void 0===d?void 0:d.filter(function(a){return j(a)!==j(c)}),f=null!==e&&void 0!==e&&e.length?e:null;a.onChange(f,{e:b})}},ga=function(b,c){if(!(r&&r(c))){if(isMultipleParams(a)){var d=E.some(function(a){return j(a)===j(c)})?E.filter(function(a){return j(a)!==j(c)}):[].concat(_toConsumableArray(E),[c]),e=null!==d&&void 0!==d&&d.length?d:null;a.onChange(e,{e:b})}isNotMultipleParams(a)&&(a.onChange(c,{e:b}),aa(!1),ca(""))}},ha=function(b){var c=b.e,d=b.items;if(isMultipleParams(a)){var e=r?d.filter(function(a){return!r(a)}):d,f=[],g=[];if(E.forEach(function(a){e.find(function(b){return j(a)===j(b)})?f.push(a):g.push(a)}),f.length===e.length)a.onChange(g,{e:c});else{var h=[].concat(g,_toConsumableArray(e));a.onChange(h,{e:c})}}},ia=function(b,c){a.onCreate&&a.onCreate(c,{e:b,label:c}),aa(!1),ca("")},ja=function(b){if(isMultipleParams(a)){var c=null===E||void 0===E?void 0:E.filter(function(a){return null===r||void 0===r?void 0:r(a)}),d=c&&0<c.length?c:null;a.onChange(d,{e:b})}isNotMultipleParams(a)&&a.onChange(null,{e:b}),ca("")},ka=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a-1},!0)},la=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a+1},!0)},ma=useKeys({ArrowUp:ka,ArrowDown:la,PageUp:ka,PageDown:la,Home:ka,End:la,Enter:function Enter(a,b){if(J){(I||S[K])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(U);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(isOptionForCreate(e))return c++,[void 0,e];if(e.items.length+c>a)return[e,e.items[a-c]];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}return[void 0,void 0]},d=c(K),e=_slicedToArray(d,2),f=e[0],g=e[1];if(isOptionForCreate(g))return void ia(b,g.label);if(isOptionForSelectAll(g)){var h;return void ha({e:b,items:null!==(h=null===f||void 0===f?void 0:f.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==h?h:[]})}g&&ga(b,g)}else aa(!0)},Escape:function Escape(){aa(!1)},Tab:function Tab(a,b){J&&(b.preventDefault(),aa(!1))},Backspace:function Backspace(a,b){I||(h?fa(b,E[E.length-1]):ja(b))}});useClickOutside({isActive:!0,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(y||[])),handler:function handler(){D(!1),aa(!1)}}),useEffect(function(){f&&aa(!1)},[f]),useEffect(function(){var a=$();ea(a,!0)},[ea]),useEffect(function(){0<S.length&&M&&scrollToIndex(K,c,W,function(){return ea(0,!1)})},[K]);return useEffect(function(){ca(u,!1)},[u]),useEffect(function(){var a;null===(a=c.current)||void 0===a?void 0:a.scrollTo({top:0})},[L]),useEffect(function(){null===v||void 0===v?void 0:v(J)},[J]),useEffect(function(){aa(x||!1)},[x]),{isOpen:J,isFocused:C,highlightedIndex:K,visibleItems:U,highlightIndex:ea,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=a.keyPrefix;if(isOptionForCreate(c))return{onClick:function onClick(a){ia(a,c.label)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForCreate")};if(isOptionForSelectAll(c)){var f=function(){var a,b=_createForOfIteratorHelper(U);try{for(b.s();!(a=b.n()).done;){var e=a.value;if(isOptionForCreate(e))break;if(e.key===c.groupKey){var d;return null!==(d=null===e||void 0===e?void 0:e.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==d?d:[]}}}catch(a){b.e(a)}finally{b.f()}return[]};return{onClick:function onClick(a){ha({e:a,items:f()})},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForSelectAll")}}var e=j(c);return{onClick:function onClick(a){ga(a,c)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!!E.find(function(a){return j(a)===e}),hovered:b===K,key:"".concat(d).concat(e)}},handleInputFocus:function handleInputFocus(a){f||(!C&&D(!0),"function"==typeof s&&s(a))},handleInputBlur:function handleInputBlur(a){if(J){var b;return void(null===(b=z.current)||void 0===b?void 0:b.focus())}C&&D(!1),"function"==typeof t&&t(a)},handleToggleDropdown:function handleToggleDropdown(){if(J)aa(!1),D(!1);else{var a;aa(!0),D(!0),null===(a=z.current)||void 0===a?void 0:a.focus()}},handleInputClick:function handleInputClick(){if(f||aa(!J),h){var a;null===(a=z.current)||void 0===a?void 0:a.focus()}},inputRef:z,getKeyProps:ma,handleInputChange:function handleInputChange(a){f||!h&&0<E.length||(ca(a.target.value),aa(!0))},searchValue:I,clearValue:ja,getHandleRemoveValue:function getHandleRemoveValue(a){return function(b){return fa(b,a)}},notFound:X,hasItems:Y,allItemsSelected:Z,optionsRefs:W}}
|
|
2
2
|
//# sourceMappingURL=useSelect.js.map
|