@consta/uikit 5.31.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/__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/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/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/types.d.ts +3 -3
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
- 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/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 +6 -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/types.d.ts +1 -1
- package/__internal__/src/components/FileCanary/types.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelect.css +8 -8
- 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/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/SelectCanary/SelectDropdown/SelectDropdown.d.ts +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/SelectPopover/SelectPopover.d.ts +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
- package/__internal__/src/components/SelectCanary/helpers.d.ts +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +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/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/UserSelectItem/UserSelectItem.css +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 +2 -2
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelect.js","names":["useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","useClickOutside","useDebounce","useKeys","useMutableRef","usePrevious","useRefs","getCountedGroups","getGroups","scrollToIndex","useHoistedState","isMultipleParams","params","multiple","isNotMultipleParams","actions","setOpen","setSearch","highlightIndex","initialState","searchValue","resolvedSearchValue","isOpen","highlightedIndex","scrollToHighlighted","isOptionForCreate","Object","prototype","hasOwnProperty","call","isNotOptionForCreate","isOptionForSelectAll","useSelect","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","selectAll","getGroupKey","sortGroups","getItemDisabled","onFocus","onBlur","searchValueProp","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","inputRef","isFocused","setIsFocused","value","Array","isArray","setState","onSearchValueChangeRef","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","onCreate","length","label","__optionForCreate","optionForCreate","visibleItems","resultGroups","maxHighlightIndex","optionsRefs","notFound","flag","group","hasItems","allItemsSelected","el","find","getSelectedOptionIndex","index","newIsOpen","old","setResolvedSearch","prevIsOpen","indexForHighlight","newIndex","Math","min","max","currentHighlightIndex","removeValue","e","valueItem","stopPropagation","newValue","val","onChange","some","onChangeAll","parametrs","nonDisabledItems","currentGroupValues","withoutGroupValues","forEach","push","clearValue","results","ArrowUp","_","preventDefault","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getData","counter","Escape","Tab","Backspace","isActive","ignoreClicksInsideRefs","handler","current","scrollTo","top","getOptionProps","keyPrefix","onClick","onMouseEnter","active","hovered","key","getItems","groupKey","handleInputFocus","handleInputBlur","focus","handleToggleDropdown","handleInputClick","handleInputChange","target","getHandleRemoveValue"],"sources":["../../../../../../src/components/SelectComponents/useSelect/useSelect.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDeprecated';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { usePrevious } from '##/hooks/usePrevious';\nimport { useRefs } from '##/hooks/useRefs';\nimport {\n CountedGroup,\n getCountedGroups,\n getGroups,\n SelectAllItem,\n} from '##/utils/getGroups';\n\nimport { scrollToIndex, useHoistedState } from './helpers';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\ntype SortGroups<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\ntype OnChangeProp<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\n\ntype ValueProp<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type OptionForCreate = {\n label: string;\n __optionForCreate: boolean;\n};\n\nexport type SelectProps<ITEM, GROUP, MULTIPLE extends boolean> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n sortGroups?: SortGroups<ITEM, GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n selectAll?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n getItemDisabled?: (item: ITEM) => boolean | undefined;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onCreate?: (\n label: string,\n props: { e: React.SyntheticEvent; label: string },\n ) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n multiple: boolean;\n searchValue?: string;\n onChange: OnChangeProp<ITEM, MULTIPLE>;\n value: ValueProp<ITEM, MULTIPLE>;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n onSearchValueChange?: (value: string) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\nexport type OptionProps<ITEM> = {\n index: number;\n item: ITEM | OptionForCreate | SelectAllItem;\n keyPrefix: string | number;\n};\n\nexport type GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nconst isMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, true> => {\n return params.multiple;\n};\n\nconst isNotMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nconst actions = {\n setOpen: 'setOpen',\n setSearch: 'setSearch',\n highlightIndex: 'highlightIndex',\n};\n\nconst initialState = {\n searchValue: '',\n resolvedSearchValue: '',\n isOpen: false,\n highlightedIndex: 0,\n scrollToHighlighted: false,\n};\n\nexport const isOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP> | ITEM,\n): params is OptionForCreate => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isNotOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP>,\n): params is Group<ITEM, GROUP> => {\n return (\n params && !Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isOptionForSelectAll = <ITEM>(\n params: SelectAllItem | ITEM,\n): params is SelectAllItem => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionSelectAll')\n );\n};\n\nexport function useSelect<ITEM, GROUP, MULTIPLE extends boolean>(\n params: SelectProps<ITEM, GROUP, MULTIPLE>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n multiple = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n selectAll = false,\n getGroupKey,\n sortGroups,\n getItemDisabled,\n onFocus,\n onBlur,\n searchValue: searchValueProp,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isFocused, setIsFocused] = useState(false);\n\n const value = useMemo(\n () =>\n (params.value &&\n (Array.isArray(params.value) ? params.value : [params.value])) ||\n [],\n [params.value],\n );\n\n const [\n {\n searchValue,\n isOpen,\n highlightedIndex,\n resolvedSearchValue,\n scrollToHighlighted,\n },\n setState,\n ] = useHoistedState(initialState);\n\n const onSearchValueChangeRef = useMutableRef(onSearchValueChange);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) =>\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1;\n\n const [filteredOptions, optionForCreate] = useMemo(() => {\n if (resolvedSearchValue && resolvedSearchValue !== '') {\n const filteredOptions = items.filter((item) =>\n searchFunction\n ? searchFunction(item, resolvedSearchValue)\n : searchFunctionDefault(item, resolvedSearchValue),\n );\n\n const optionForCreate: OptionForCreate = {\n label: searchValue,\n __optionForCreate: true,\n };\n\n return [\n filteredOptions,\n params.onCreate && !filteredOptions.length\n ? optionForCreate\n : undefined,\n ] as const;\n }\n return [items, undefined] as const;\n }, [items, resolvedSearchValue, params.onCreate]);\n\n const visibleItems = useMemo(() => {\n const resultGroups = getCountedGroups(\n getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n sortGroups,\n ),\n isMultipleParams(params) ? params.value : [],\n selectAll,\n getItemKey,\n getItemDisabled,\n );\n\n return optionForCreate ? [optionForCreate, ...resultGroups] : resultGroups;\n }, [\n value,\n selectAll,\n filteredOptions,\n groups,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n sortGroups,\n optionForCreate,\n ]);\n\n const maxHighlightIndex =\n // количество опций\n filteredOptions.length +\n // кнопка для создания\n (optionForCreate ? 1 : 0) +\n // кнопки выбрать все\n (selectAll ? visibleItems.length : 0);\n\n const optionsRefs = useRefs<HTMLDivElement>(maxHighlightIndex, [isOpen]);\n\n const notFound = useMemo(() => {\n let flag = false;\n if (searchValue.length > 0) {\n flag =\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) || group.items.length > 0 || group.group,\n ).length === 0 && !params.onCreate;\n }\n return flag;\n }, [visibleItems]);\n\n const hasItems = items.length !== 0;\n\n const allItemsSelected = useMemo(() => {\n if (isNotMultipleParams(params)) {\n return false;\n }\n if (selectAll) {\n return (\n items.filter((el) =>\n value.find((item) => getItemKey(item) === getItemKey(el)),\n ).length === items.length\n );\n }\n\n return false;\n }, [selectAll, multiple, value, items]);\n\n const getSelectedOptionIndex = (): number => {\n let index = 0;\n if (value.length > 0) {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n index++;\n // eslint-disable-next-line no-continue\n continue;\n }\n for (const item of group.items) {\n if (isOptionForSelectAll(item)) {\n return index;\n }\n if (getItemKey(item) === getItemKey(value[0])) {\n return index;\n }\n index++;\n }\n }\n }\n\n return 0;\n };\n\n // Actions\n\n const setOpen = useCallback(\n (newIsOpen: boolean) => {\n setState(\n (old) => ({\n ...old,\n isOpen: newIsOpen,\n }),\n actions.setOpen,\n );\n },\n [setState],\n );\n\n const setResolvedSearch = useDebounce((value: string) => {\n setState((old) => {\n if (old.resolvedSearchValue === value) {\n return old;\n }\n return {\n ...old,\n resolvedSearchValue: value,\n };\n }, actions.setSearch);\n }, 300);\n\n const setSearch = useCallback(\n (value: string | undefined) => {\n setState((old) => {\n if (old.searchValue === value) {\n return old;\n }\n return {\n ...old,\n searchValue: value || '',\n };\n }, actions.setSearch);\n setResolvedSearch(value || '');\n },\n [setState, setResolvedSearch],\n );\n\n const prevIsOpen = usePrevious(isOpen);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight, scrollToHighlighted: boolean) => {\n setState((old) => {\n const newIndex = Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(old.highlightedIndex)\n : indexForHighlight,\n ),\n maxHighlightIndex - 1,\n );\n\n if (old.highlightedIndex === newIndex) {\n return old;\n }\n\n return {\n ...old,\n highlightedIndex: newIndex,\n scrollToHighlighted,\n };\n }, actions.highlightIndex);\n },\n [filteredOptions, setState, optionForCreate],\n );\n\n useLayoutEffect(() => {\n if (value !== null && !prevIsOpen && isOpen) {\n const currentHighlightIndex = getSelectedOptionIndex();\n if (filteredOptions.length > 0) {\n scrollToIndex(currentHighlightIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }\n });\n\n const removeValue = (e: React.SyntheticEvent, valueItem: ITEM) => {\n e.stopPropagation();\n if (isMultipleParams(params)) {\n const newValue = params.value?.filter(\n (item) => getItemKey(item) !== getItemKey(valueItem),\n );\n const val = newValue?.length ? newValue : null;\n params.onChange(val, {\n e,\n });\n }\n };\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (getItemDisabled && getItemDisabled(item)) {\n return;\n }\n if (isMultipleParams(params)) {\n const newValue = value.some(\n (value) => getItemKey(value) === getItemKey(item),\n )\n ? value.filter((value) => getItemKey(value) !== getItemKey(item))\n : [...value, item];\n const val = newValue?.length ? newValue : null;\n params.onChange(val, { e });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(item, { e });\n setOpen(false);\n setSearch('');\n }\n };\n\n const onChangeAll = (parametrs: {\n e: React.SyntheticEvent;\n items: ITEM[];\n }) => {\n const { e, items } = parametrs;\n if (isMultipleParams(params)) {\n const nonDisabledItems = getItemDisabled\n ? items.filter((item) => !getItemDisabled(item))\n : items;\n\n const currentGroupValues: ITEM[] = [];\n const withoutGroupValues: ITEM[] = [];\n value.forEach((el) => {\n if (\n nonDisabledItems.find((item) => getItemKey(el) === getItemKey(item))\n ) {\n currentGroupValues.push(el);\n } else {\n withoutGroupValues.push(el);\n }\n });\n if (currentGroupValues.length === nonDisabledItems.length) {\n params.onChange(withoutGroupValues, { e });\n } else {\n const val = [...withoutGroupValues, ...nonDisabledItems];\n params.onChange(val, {\n e,\n });\n }\n }\n };\n\n const onCreate = (e: React.SyntheticEvent, label: string) => {\n params.onCreate && params.onCreate(label, { e, label });\n setOpen(false);\n setSearch('');\n };\n\n // Handlers\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled && !(!multiple && value.length > 0)) {\n setSearch(e.target.value);\n setOpen(true);\n }\n };\n\n const handleInputClick = (): void => {\n !disabled && setOpen(!isOpen);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n };\n\n const clearValue = (e: React.SyntheticEvent) => {\n if (isMultipleParams(params)) {\n const results = value?.filter((item) => getItemDisabled?.(item));\n const val = results && results.length > 0 ? results : null;\n params.onChange(val, {\n e,\n });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(null, { e });\n }\n setSearch('');\n };\n\n const getHandleRemoveValue = (item: ITEM) => (e: React.SyntheticEvent) =>\n removeValue(e, item);\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old - 1, true);\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old + 1, true);\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getData = (\n index: number,\n ): [\n CountedGroup<ITEM, GROUP> | undefined,\n SelectAllItem | OptionForCreate | ITEM | undefined,\n ] => {\n let counter = 0;\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n counter++;\n return [undefined, group];\n }\n if (group.items.length + counter > index) {\n return [group, group.items[index - counter]];\n }\n counter += group.items.length;\n }\n return [undefined, undefined];\n };\n\n const [group, item] = getData(highlightedIndex);\n\n if (isOptionForCreate(item)) {\n onCreate(e, item.label);\n return;\n }\n\n if (isOptionForSelectAll(item)) {\n onChangeAll({\n e,\n items:\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? [],\n });\n return;\n }\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setOpen(true);\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setOpen(false);\n };\n\n const Tab: KeyHandler = (_, e): void => {\n if (isOpen) {\n e.preventDefault();\n setOpen(false);\n }\n };\n\n const Backspace: KeyHandler = (_, e): void => {\n if (searchValue) {\n return;\n }\n if (multiple) {\n removeValue(e, value[value.length - 1]);\n } else {\n clearValue(e);\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n Backspace,\n });\n\n const getOptionProps = ({\n index,\n item,\n keyPrefix,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n if (isOptionForCreate(item)) {\n return {\n onClick: (e: React.SyntheticEvent) => {\n onCreate(e, item.label);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForCreate`,\n };\n }\n if (isOptionForSelectAll(item)) {\n const getItems = (): ITEM[] => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n break;\n }\n if (group.key === item.groupKey) {\n return (\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? []\n );\n }\n }\n return [];\n };\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChangeAll({ e, items: getItems() });\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForSelectAll`,\n };\n }\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: Boolean(value.find((item) => getItemKey(item) === key)),\n hovered: index === highlightedIndex,\n key: `${keyPrefix}${key}`,\n };\n };\n\n useClickOutside({\n isActive: true,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: () => {\n setIsFocused(false);\n setOpen(false);\n },\n });\n\n useEffect(() => {\n if (disabled) {\n setOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n const currentHighlightIndex = getSelectedOptionIndex();\n highlightIndex(currentHighlightIndex, true);\n }, [highlightIndex]);\n\n useEffect(() => {\n if (filteredOptions.length > 0 && scrollToHighlighted) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }, [highlightedIndex]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n if (!isFocused) {\n setIsFocused(true);\n }\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (isFocused) {\n setIsFocused(false);\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n const handleToggleDropdown = (): void => {\n if (isOpen) {\n setOpen(false);\n setIsFocused(false);\n } else {\n setOpen(true);\n setIsFocused(true);\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n setSearch(searchValueProp);\n }, [searchValueProp]);\n\n useEffect(() => {\n dropdownRef.current?.scrollTo({ top: 0 });\n }, [resolvedSearchValue]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n onSearchValueChangeRef.current?.(searchValue);\n }, [searchValue]);\n\n useEffect(() => {\n setOpen(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen,\n isFocused,\n highlightedIndex,\n visibleItems,\n highlightIndex,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n handleInputClick,\n inputRef,\n getKeyProps,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n allItemsSelected,\n optionsRefs,\n };\n}\n"],"mappings":"4pEAAA,OACEA,WADF,CAEEC,SAFF,CAGEC,eAHF,CAIEC,OAJF,CAKEC,MALF,CAMEC,QANF,KAOO,OAPP,CASA,OAASC,eAAT,sCACA,OAASC,WAAT,kCACA,OAAqBC,OAArB,wCACA,OAASC,aAAT,oCACA,OAASC,WAAT,kCACA,OAASC,OAAT,8BACA,OAEEC,gBAFF,CAGEC,SAHF,gCAOA,OAASC,aAAT,CAAwBC,eAAxB,iB,GA6EMC,iBAAgB,CAAG,SACvBC,CADuB,CAEsB,CAC7C,MAAOA,EAAM,CAACC,QACf,C,CAEKC,mBAAmB,CAAG,SAC1BF,CAD0B,CAEoB,CAC9C,MAAO,CAACA,CAAM,CAACC,QAChB,C,CAEKE,OAAO,CAAG,CACdC,OAAO,CAAE,SADK,CAEdC,SAAS,CAAE,WAFG,CAGdC,cAAc,CAAE,gBAHF,C,CAMVC,YAAY,CAAG,CACnBC,WAAW,CAAE,EADM,CAEnBC,mBAAmB,CAAE,EAFF,CAGnBC,MAAM,GAHa,CAInBC,gBAAgB,CAAE,CAJC,CAKnBC,mBAAmB,GALA,C,CAQrB,MAAO,IAAMC,kBAAiB,CAAG,SAC/Bb,CAD+B,CAED,CAC9B,MACEA,EAAM,EAAIc,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCjB,CAArC,CAA6C,mBAA7C,CAEb,CANM,CAQP,MAAO,IAAMkB,qBAAoB,CAAG,SAClClB,CADkC,CAED,CACjC,MACEA,EAAM,EAAI,CAACc,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCjB,CAArC,CAA6C,mBAA7C,CAEd,CANM,CAQP,MAAO,IAAMmB,qBAAoB,CAAG,SAClCnB,CADkC,CAEN,CAC5B,MACEA,EAAM,EAAIc,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCjB,CAArC,CAA6C,mBAA7C,CAEb,CANM,CAQP,MAAO,SAASoB,UAAT,CACLpB,CADK,CAEL,IAEEqB,EAFF,CAuBIrB,CAvBJ,CAEEqB,KAFF,CAGEC,CAHF,CAuBItB,CAvBJ,CAGEsB,WAHF,CAIEC,CAJF,CAuBIvB,CAvBJ,CAIEuB,UAJF,GAuBIvB,CAvBJ,CAKEwB,QALF,CAKEA,CALF,iBAuBIxB,CAvBJ,CAMEC,QANF,CAMEA,CANF,eAOEwB,CAPF,CAuBIzB,CAvBJ,CAOEyB,YAPF,CAQEC,CARF,CAuBI1B,CAvBJ,CAQE0B,UARF,CASEC,CATF,CAuBI3B,CAvBJ,CASE2B,cATF,CAUEC,CAVF,CAuBI5B,CAvBJ,CAUE4B,eAVF,CAWEC,CAXF,CAuBI7B,CAvBJ,CAWE6B,MAXF,GAuBI7B,CAvBJ,CAYE8B,SAZF,CAYEA,CAZF,eAaEC,CAbF,CAuBI/B,CAvBJ,CAaE+B,WAbF,CAcEC,CAdF,CAuBIhC,CAvBJ,CAcEgC,UAdF,CAeEC,CAfF,CAuBIjC,CAvBJ,CAeEiC,eAfF,CAgBEC,CAhBF,CAuBIlC,CAvBJ,CAgBEkC,OAhBF,CAiBEC,CAjBF,CAuBInC,CAvBJ,CAiBEmC,MAjBF,CAkBeC,CAlBf,CAuBIpC,CAvBJ,CAkBEQ,WAlBF,CAmBE6B,CAnBF,CAuBIrC,CAvBJ,CAmBEqC,cAnBF,CAoBEC,CApBF,CAuBItC,CAvBJ,CAoBEsC,mBApBF,CAqBEC,CArBF,CAuBIvC,CAvBJ,CAqBEuC,YArBF,CAsBEC,CAtBF,CAuBIxC,CAvBJ,CAsBEwC,uBAtBF,CAyBMC,CAAQ,CAAGtD,MAAM,CAAmB,IAAnB,CAzBvB,GA2BkCC,QAAQ,IA3B1C,uBA2BOsD,CA3BP,MA2BkBC,CA3BlB,MA6BMC,CAAK,CAAG1D,OAAO,CACnB,iBACGc,EAAM,CAAC4C,KAAP,GACEC,KAAK,CAACC,OAAN,CAAc9C,CAAM,CAAC4C,KAArB,EAA8B5C,CAAM,CAAC4C,KAArC,CAA6C,CAAC5C,CAAM,CAAC4C,KAAR,CAD/C,CAAD,EAEA,EAHF,CADmB,CAKnB,CAAC5C,CAAM,CAAC4C,KAAR,CALmB,CA7BrB,GA8CI9C,eAAe,CAACS,YAAD,CA9CnB,8BAuCIC,CAvCJ,GAuCIA,WAvCJ,CAwCIE,CAxCJ,GAwCIA,MAxCJ,CAyCIC,CAzCJ,GAyCIA,gBAzCJ,CA0CIF,CA1CJ,GA0CIA,mBA1CJ,CA2CIG,CA3CJ,GA2CIA,mBA3CJ,CA6CEmC,CA7CF,MAgDMC,CAAsB,CAAGxD,aAAa,CAAC8C,CAAD,CAhD5C,CAkDMW,CAAqB,CAAG,SAACC,CAAD,CAAa1C,CAAb,QAGoB,CAAC,CAFjD,GAAAiB,CAAY,CAACyB,CAAD,CAAZ,CACGC,iBADH,GAEGC,OAFH,CAEW5C,CAAW,CAAC2C,iBAAZ,EAFX,CAD4B,CAlD9B,GAuD2CjE,OAAO,CAAC,UAAM,CACvD,GAAIuB,CAAmB,EAA4B,EAAxB,GAAAA,CAA3B,CAAuD,IAC/C4C,EAAe,CAAGhC,CAAK,CAACiC,MAAN,CAAa,SAACJ,CAAD,QACnCvB,EAAc,CACVA,CAAc,CAACuB,CAAD,CAAOzC,CAAP,CADJ,CAEVwC,CAAqB,CAACC,CAAD,CAAOzC,CAAP,CAHU,CAAb,CAD6B,CAYrD,MAAO,CACL4C,CADK,CAELrD,CAAM,CAACuD,QAAP,EAAmB,CAACF,CAAe,CAACG,MAApC,CAPuC,CACvCC,KAAK,CAAEjD,CADgC,CAEvCkD,iBAAiB,GAFsB,CAOvC,OAFK,CAMR,CACD,MAAO,CAACrC,CAAD,QACR,CArBiD,CAqB/C,CAACA,CAAD,CAAQZ,CAAR,CAA6BT,CAAM,CAACuD,QAApC,CArB+C,CAvDlD,uBAuDOF,CAvDP,MAuDwBM,CAvDxB,MA8EMC,CAAY,CAAG1E,OAAO,CAAC,UAAM,CACjC,GAAM2E,EAAY,CAAGlE,gBAAgB,CACnCC,SAAS,CACPyD,CADO,CAEP,OAAAxB,CAAM,WAANA,CAAA,EAAAA,CAAM,CAAE2B,MAAR,CAAiB5B,CAAjB,OAFO,CAGPC,CAHO,CAIPE,CAJO,CAKPC,CALO,CAD0B,CAQnCjC,gBAAgB,CAACC,CAAD,CAAhB,CAA2BA,CAAM,CAAC4C,KAAlC,CAA0C,EARP,CASnCd,CATmC,CAUnCJ,CAVmC,CAWnCO,CAXmC,CAArC,CAcA,MAAO0B,EAAe,EAAIA,CAAJ,4BAAwBE,CAAxB,GAAwCA,CAC/D,CAhB2B,CAgBzB,CACDjB,CADC,CAEDd,CAFC,CAGDuB,CAHC,CAIDxB,CAJC,CAKDD,CALC,CAMDK,CANC,CAODF,CAPC,CAQDC,CARC,CASD2B,CATC,CAhByB,CA9E5B,CA0GMG,CAAiB,CAErBT,CAAe,CAACG,MAAhB,EAECG,CAAe,CAAG,CAAH,CAAO,CAFvB,GAIC7B,CAAS,CAAG8B,CAAY,CAACJ,MAAhB,CAAyB,CAJnC,CA5GF,CAkHMO,CAAW,CAAGrE,OAAO,CAAiBoE,CAAjB,CAAoC,CAACpD,CAAD,CAApC,CAlH3B,CAoHMsD,CAAQ,CAAG9E,OAAO,CAAC,UAAM,CAC7B,GAAI+E,EAAI,GAAR,CAQA,MAPyB,EAArB,CAAAzD,CAAW,CAACgD,MAOhB,GANES,CAAI,CAIW,CAHb,GAAAL,CAAY,CAACN,MAAb,CACE,SAACY,CAAD,QACErD,kBAAiB,CAACqD,CAAD,CAAjB,EAAiD,CAArB,CAAAA,CAAK,CAAC7C,KAAN,CAAYmC,MAAxC,EAAsDU,CAAK,CAACA,KAD9D,CADF,EAGEV,MAHF,EAGkB,CAACxD,CAAM,CAACuD,QAE9B,EAAOU,CACR,CAVuB,CAUrB,CAACL,CAAD,CAVqB,CApHxB,CAgIMO,CAAQ,CAAoB,CAAjB,GAAA9C,CAAK,CAACmC,MAhIvB,CAkIMY,CAAgB,CAAGlF,OAAO,CAAC,UAAM,QACjCgB,mBAAmB,CAACF,CAAD,CADc,IAIjC8B,CAJiC,EAMjCT,CAAK,CAACiC,MAAN,CAAa,SAACe,CAAD,QACXzB,EAAK,CAAC0B,IAAN,CAAW,SAACpB,CAAD,QAAUxB,EAAU,CAACwB,CAAD,CAAV,GAAqBxB,CAAU,CAAC2C,CAAD,CAAzC,CAAX,CADW,CAAb,EAEEb,MAFF,GAEanC,CAAK,CAACmC,MAKxB,CAb+B,CAa7B,CAAC1B,CAAD,CAAY7B,CAAZ,CAAsB2C,CAAtB,CAA6BvB,CAA7B,CAb6B,CAlIhC,CAiJMkD,CAAsB,CAAG,UAAc,CAC3C,GAAIC,EAAK,CAAG,CAAZ,CACA,GAAmB,CAAf,CAAA5B,CAAK,CAACY,MAAV,CAAsB,oCACAI,CADA,MACpB,2BAAkC,IAAvBM,EAAuB,SAChC,GAAIrD,iBAAiB,CAACqD,CAAD,CAArB,CAA8B,CAC5BM,CAAK,EADuB,CAG5B,QACD,CAL+B,mCAMbN,CAAK,CAAC7C,KANO,MAMhC,2BAAgC,IAArB6B,EAAqB,SAC9B,GAAI/B,oBAAoB,CAAC+B,CAAD,CAAxB,CACE,MAAOsB,EAAP,CAEF,GAAI9C,CAAU,CAACwB,CAAD,CAAV,GAAqBxB,CAAU,CAACkB,CAAK,CAAC,CAAD,CAAN,CAAnC,CACE,MAAO4B,EAAP,CAEFA,CAAK,EACN,CAd+B,+BAejC,CAhBmB,+BAiBrB,CAED,MAAO,EACR,CAvKD,CA2KMpE,EAAO,CAAGrB,WAAW,CACzB,SAAC0F,CAAD,CAAwB,CACtB1B,CAAQ,CACN,SAAC2B,CAAD,wCACKA,CADL,MAEEhE,MAAM,CAAE+D,CAFV,GADM,CAKNtE,OAAO,CAACC,OALF,CAOT,CATwB,CAUzB,CAAC2C,CAAD,CAVyB,CA3K3B,CAwLM4B,EAAiB,CAAGrF,WAAW,CAAC,SAACsD,CAAD,CAAmB,CACvDG,CAAQ,CAAC,SAAC2B,CAAD,CAAS,OACZA,EAAG,CAACjE,mBAAJ,GAA4BmC,CADhB,CAEP8B,CAFO,gCAKXA,CALW,MAMdjE,mBAAmB,CAAEmC,CANP,EAQjB,CARO,CAQLzC,OAAO,CAACE,SARH,CAST,CAVoC,CAUlC,GAVkC,CAxLrC,CAoMMA,EAAS,CAAGtB,WAAW,CAC3B,SAAC6D,CAAD,CAA+B,CAC7BG,CAAQ,CAAC,SAAC2B,CAAD,CAAS,OACZA,EAAG,CAAClE,WAAJ,GAAoBoC,CADR,CAEP8B,CAFO,gCAKXA,CALW,MAMdlE,WAAW,CAAEoC,CAAK,EAAI,EANR,EAQjB,CARO,CAQLzC,OAAO,CAACE,SARH,CADqB,CAU7BsE,EAAiB,CAAC/B,CAAK,EAAI,EAAV,CAClB,CAZ0B,CAa3B,CAACG,CAAD,CAAW4B,EAAX,CAb2B,CApM7B,CAoNMC,EAAU,CAAGnF,WAAW,CAACiB,CAAD,CApN9B,CAsNMJ,EAAc,CAAGvB,WAAW,CAChC,SAAC8F,CAAD,CAAuCjE,CAAvC,CAAwE,CACtEmC,CAAQ,CAAC,SAAC2B,CAAD,CAAS,CAChB,GAAMI,EAAQ,CAAGC,IAAI,CAACC,GAAL,CACfD,IAAI,CAACE,GAAL,CACE,CADF,CAE+B,UAA7B,QAAOJ,EAAP,CACIA,CAAiB,CAACH,CAAG,CAAC/D,gBAAL,CADrB,CAEIkE,CAJN,CADe,CAOff,CAAiB,CAAG,CAPL,CAAjB,CADgB,MAWZY,EAAG,CAAC/D,gBAAJ,GAAyBmE,CAXb,CAYPJ,CAZO,gCAgBXA,CAhBW,MAiBd/D,gBAAgB,CAAEmE,CAjBJ,CAkBdlE,mBAAmB,CAAnBA,CAlBc,EAoBjB,CApBO,CAoBLT,OAAO,CAACG,cApBH,CAqBT,CAvB+B,CAwBhC,CAAC+C,CAAD,CAAkBN,CAAlB,CAA4BY,CAA5B,CAxBgC,CAtNlC,CAiPA1E,eAAe,CAAC,UAAM,CACpB,GAAc,IAAV,GAAA2D,CAAK,EAAa,CAACgC,EAAnB,EAAiClE,CAArC,CAA6C,CAC3C,GAAMwE,EAAqB,CAAGX,CAAsB,EAApD,CAC6B,CAAzB,CAAAlB,CAAe,CAACG,MAFuB,EAGzC3D,aAAa,CAACqF,CAAD,CAAwB5D,CAAxB,CAAqCyC,CAArC,CAAkD,iBAC7DzD,GAAc,CAAC,CAAD,IAD+C,CAAlD,CAIhB,CACF,CATc,CAjPf,IA4PM6E,GAAW,CAAG,SAACC,CAAD,CAA0BC,CAA1B,CAA8C,CAEhE,GADAD,CAAC,CAACE,eAAF,EACA,CAAIvF,gBAAgB,CAACC,CAAD,CAApB,CAA8B,OACtBuF,CAAQ,WAAGvF,CAAM,CAAC4C,KAAV,qBAAG,EAAcU,MAAd,CACf,SAACJ,CAAD,QAAUxB,EAAU,CAACwB,CAAD,CAAV,GAAqBxB,CAAU,CAAC2D,CAAD,CAAzC,CADe,CADW,CAItBG,CAAG,CAAG,OAAAD,CAAQ,WAARA,CAAA,EAAAA,CAAQ,CAAE/B,MAAV,CAAmB+B,CAAnB,CAA8B,IAJd,CAK5BvF,CAAM,CAACyF,QAAP,CAAgBD,CAAhB,CAAqB,CACnBJ,CAAC,CAADA,CADmB,CAArB,CAGD,CACF,CAvQD,CAyQMK,EAAQ,CAAG,SAACL,CAAD,CAA0BlC,CAA1B,CAAyC,CACxD,KAAIjB,CAAe,EAAIA,CAAe,CAACiB,CAAD,CAAtC,GAGA,GAAInD,gBAAgB,CAACC,CAAD,CAApB,CAA8B,IACtBuF,EAAQ,CAAG3C,CAAK,CAAC8C,IAAN,CACf,SAAC9C,CAAD,QAAWlB,EAAU,CAACkB,CAAD,CAAV,GAAsBlB,CAAU,CAACwB,CAAD,CAA3C,CADe,EAGbN,CAAK,CAACU,MAAN,CAAa,SAACV,CAAD,QAAWlB,EAAU,CAACkB,CAAD,CAAV,GAAsBlB,CAAU,CAACwB,CAAD,CAA3C,CAAb,CAHa,8BAITN,CAJS,GAIFM,CAJE,EADW,CAMtBsC,CAAG,CAAG,OAAAD,CAAQ,WAARA,CAAA,EAAAA,CAAQ,CAAE/B,MAAV,CAAmB+B,CAAnB,CAA8B,IANd,CAO5BvF,CAAM,CAACyF,QAAP,CAAgBD,CAAhB,CAAqB,CAAEJ,CAAC,CAADA,CAAF,CAArB,CACD,CACGlF,mBAAmB,CAACF,CAAD,CAZvB,GAaEA,CAAM,CAACyF,QAAP,CAAgBvC,CAAhB,CAAsB,CAAEkC,CAAC,CAADA,CAAF,CAAtB,CAbF,CAcEhF,EAAO,IAdT,CAeEC,EAAS,CAAC,EAAD,CAfX,EAiBD,CA3RD,CA6RMsF,EAAW,CAAG,SAACC,CAAD,CAGd,CACJ,GAAQR,EAAR,CAAqBQ,CAArB,CAAQR,CAAR,CAAW/D,CAAX,CAAqBuE,CAArB,CAAWvE,KAAX,CACA,GAAItB,gBAAgB,CAACC,CAAD,CAApB,CAA8B,IACtB6F,EAAgB,CAAG5D,CAAe,CACpCZ,CAAK,CAACiC,MAAN,CAAa,SAACJ,CAAD,QAAU,CAACjB,CAAe,CAACiB,CAAD,CAA1B,CAAb,CADoC,CAEpC7B,CAHwB,CAKtByE,CAA0B,CAAG,EALP,CAMtBC,CAA0B,CAAG,EANP,CAgB5B,GATAnD,CAAK,CAACoD,OAAN,CAAc,SAAC3B,CAAD,CAAQ,CAElBwB,CAAgB,CAACvB,IAAjB,CAAsB,SAACpB,CAAD,QAAUxB,EAAU,CAAC2C,CAAD,CAAV,GAAmB3C,CAAU,CAACwB,CAAD,CAAvC,CAAtB,CAFkB,CAIlB4C,CAAkB,CAACG,IAAnB,CAAwB5B,CAAxB,CAJkB,CAMlB0B,CAAkB,CAACE,IAAnB,CAAwB5B,CAAxB,CAEH,CARD,CASA,CAAIyB,CAAkB,CAACtC,MAAnB,GAA8BqC,CAAgB,CAACrC,MAAnD,CACExD,CAAM,CAACyF,QAAP,CAAgBM,CAAhB,CAAoC,CAAEX,CAAC,CAADA,CAAF,CAApC,CADF,KAEO,CACL,GAAMI,EAAG,WAAOO,CAAP,oBAA8BF,CAA9B,EAAT,CACA7F,CAAM,CAACyF,QAAP,CAAgBD,CAAhB,CAAqB,CACnBJ,CAAC,CAADA,CADmB,CAArB,CAGD,CACF,CACF,CA3TD,CA6TM7B,EAAQ,CAAG,SAAC6B,CAAD,CAA0B3B,CAA1B,CAA4C,CAC3DzD,CAAM,CAACuD,QAAP,EAAmBvD,CAAM,CAACuD,QAAP,CAAgBE,CAAhB,CAAuB,CAAE2B,CAAC,CAADA,CAAF,CAAK3B,KAAK,CAALA,CAAL,CAAvB,CADwC,CAE3DrD,EAAO,IAFoD,CAG3DC,EAAS,CAAC,EAAD,CACV,CAjUD,CAoVM6F,EAAU,CAAG,SAACd,CAAD,CAA6B,CAC9C,GAAIrF,gBAAgB,CAACC,CAAD,CAApB,CAA8B,IACtBmG,EAAO,QAAGvD,CAAH,WAAGA,CAAH,QAAGA,CAAK,CAAEU,MAAP,CAAc,SAACJ,CAAD,gBAAUjB,CAAV,WAAUA,CAAV,QAAUA,CAAe,CAAGiB,CAAH,CAAzB,CAAd,CADY,CAEtBsC,CAAG,CAAGW,CAAO,EAAqB,CAAjB,CAAAA,CAAO,CAAC3C,MAAnB,CAAgC2C,CAAhC,CAA0C,IAF1B,CAG5BnG,CAAM,CAACyF,QAAP,CAAgBD,CAAhB,CAAqB,CACnBJ,CAAC,CAADA,CADmB,CAArB,CAGD,CACGlF,mBAAmB,CAACF,CAAD,CARuB,EAS5CA,CAAM,CAACyF,QAAP,CAAgB,IAAhB,CAAsB,CAAEL,CAAC,CAADA,CAAF,CAAtB,CAT4C,CAW9C/E,EAAS,CAAC,EAAD,CACV,CAhWD,CAuWM+F,EAAmB,CAAG,SAACC,CAAD,CAAIjB,CAAJ,CAAgB,CAC1CA,CAAC,CAACkB,cAAF,EAD0C,CAEzC9E,CAAD,EAAapB,EAAO,IAFsB,CAG1CE,EAAc,CAAC,SAACoE,CAAD,QAASA,EAAG,CAAG,CAAf,CAAD,IACf,CA3WD,CA6WM6B,EAAqB,CAAG,SAACF,CAAD,CAAIjB,CAAJ,CAAgB,CAC5CA,CAAC,CAACkB,cAAF,EAD4C,CAE3C9E,CAAD,EAAapB,EAAO,IAFwB,CAG5CE,EAAc,CAAC,SAACoE,CAAD,QAASA,EAAG,CAAG,CAAf,CAAD,IACf,CAjXD,CA6bM8B,EAAW,CAAGjH,OAAO,CAAC,CAC1B6G,OAAO,CAAPA,EAD0B,CAE1BG,SAAS,CAATA,EAF0B,CAG1BE,MAAM,CAAEL,EAHkB,CAI1BM,QAAQ,CAAEH,EAJgB,CAK1BI,IAAI,CAAEP,EALoB,CAM1BQ,GAAG,CAAEL,EANqB,CAO1BM,KAAK,CAjFmB,QAApBA,MAAoB,CAACR,CAAD,CAAIjB,CAAJ,CAAgB,CACxC,GAAI1E,CAAJ,CAAY,EACNF,CAAW,EAAI6C,CAAe,CAAC1C,CAAD,CADxB,GAERyE,CAAC,CAACkB,cAAF,EAFQ,IAKJQ,EAAO,CAAG,SACdtC,CADc,CAKX,OACCuC,CAAO,CAAG,CADX,8BAEiBnD,CAFjB,MAEH,2BAAkC,IAAvBM,EAAuB,SAChC,GAAIrD,iBAAiB,CAACqD,CAAD,CAArB,CAEE,MADA6C,EAAO,EACP,CAAO,QAAY7C,CAAZ,CAAP,CAEF,GAAIA,CAAK,CAAC7C,KAAN,CAAYmC,MAAZ,CAAqBuD,CAArB,CAA+BvC,CAAnC,CACE,MAAO,CAACN,CAAD,CAAQA,CAAK,CAAC7C,KAAN,CAAYmD,CAAK,CAAGuC,CAApB,CAAR,CAAP,CAEFA,CAAO,EAAI7C,CAAK,CAAC7C,KAAN,CAAYmC,MACxB,CAXE,+BAYH,MAAO,eACR,CAvBS,GAyBYsD,CAAO,CAACnG,CAAD,CAzBnB,uBAyBHuD,CAzBG,MAyBIhB,CAzBJ,MA2BV,GAAIrC,iBAAiB,CAACqC,CAAD,CAArB,CAEE,WADAK,GAAQ,CAAC6B,CAAD,CAAIlC,CAAI,CAACO,KAAT,CACR,CAGF,GAAItC,oBAAoB,CAAC+B,CAAD,CAAxB,CAAgC,OAQ9B,WAPAyC,GAAW,CAAC,CACVP,CAAC,CAADA,CADU,CAEV/D,KAAK,kBACF6C,CADE,WACFA,CADE,QACFA,CAAK,CAAE7C,KAAP,CAAaiC,MAAb,CACC,SAACe,CAAD,QAAQ,CAAClD,oBAAoB,CAACkD,CAAD,CAA7B,CADD,CADE,gBAGa,EALR,CAAD,CAQZ,CAEGnB,CA3CM,EA4CRuC,EAAQ,CAACL,CAAD,CAAIlC,CAAJ,CAEX,CA9CD,IA+CE9C,GAAO,IAEV,CAwB2B,CAQ1B4G,MAAM,CA9BmB,QAArBA,OAAqB,EAAY,CACrC5G,EAAO,IACR,CAoB2B,CAS1B6G,GAAG,CA3BmB,QAAlBA,IAAkB,CAACZ,CAAD,CAAIjB,CAAJ,CAAgB,CAClC1E,CADkC,GAEpC0E,CAAC,CAACkB,cAAF,EAFoC,CAGpClG,EAAO,IAH6B,CAKvC,CAa2B,CAU1B8G,SAAS,CArBmB,QAAxBA,UAAwB,CAACb,CAAD,CAAIjB,CAAJ,CAAgB,CACxC5E,CADwC,GAIxCP,CAJwC,CAK1CkF,EAAW,CAACC,CAAD,CAAIxC,CAAK,CAACA,CAAK,CAACY,MAAN,CAAe,CAAhB,CAAT,CAL+B,CAO1C0C,EAAU,CAACd,CAAD,CAPgC,CAS7C,CAE2B,CAAD,CA7b3B,CAsgBA/F,eAAe,CAAC,CACd8H,QAAQ,GADM,CAEdC,sBAAsB,EACpB9F,CADoB,CAEpBC,CAFoB,4BAGhBiB,CAAuB,EAAI,EAHX,EAFR,CAOd6E,OAAO,CAAE,kBAAM,CACb1E,CAAY,IADC,CAEbvC,EAAO,IACR,CAVa,CAAD,CAtgBf,CAmhBApB,SAAS,CAAC,UAAM,CACVwC,CADU,EAEZpB,EAAO,IAEV,CAJQ,CAIN,CAACoB,CAAD,CAJM,CAnhBT,CAyhBAxC,SAAS,CAAC,UAAM,CACd,GAAMkG,EAAqB,CAAGX,CAAsB,EAApD,CACAjE,EAAc,CAAC4E,CAAD,IACf,CAHQ,CAGN,CAAC5E,EAAD,CAHM,CAzhBT,CA8hBAtB,SAAS,CAAC,UAAM,CACe,CAAzB,CAAAqE,CAAe,CAACG,MAAhB,EAA8B5C,CADpB,EAEZf,aAAa,CAACc,CAAD,CAAmBW,CAAnB,CAAgCyC,CAAhC,CAA6C,iBACxDzD,GAAc,CAAC,CAAD,IAD0C,CAA7C,CAIhB,CANQ,CAMN,CAACK,CAAD,CANM,CA9hBT,CA+lBA,MApBA3B,UAAS,CAAC,UAAM,CACdqB,EAAS,CAAC+B,CAAD,CACV,CAFQ,CAEN,CAACA,CAAD,CAFM,CAoBT,CAhBApD,SAAS,CAAC,UAAM,iBACdsC,CAAW,CAACgG,OADE,qBACd,EAAqBC,QAArB,CAA8B,CAAEC,GAAG,CAAE,CAAP,CAA9B,CACD,CAFQ,CAEN,CAAC/G,CAAD,CAFM,CAgBT,CAZAzB,SAAS,CAAC,UAAM,QACdqD,CADc,WACdA,CADc,QACdA,CAAc,CAAG3B,CAAH,CACf,CAFQ,CAEN,CAACA,CAAD,CAFM,CAYT,CARA1B,SAAS,CAAC,UAAM,iBACdgE,CAAsB,CAACsE,OADT,qBACd,OAAAtE,CAAsB,CAAWxC,CAAX,CACvB,CAFQ,CAEN,CAACA,CAAD,CAFM,CAQT,CAJAxB,SAAS,CAAC,UAAM,CACdoB,EAAO,CAACmC,CAAY,IAAb,CACR,CAFQ,CAEN,CAACA,CAAD,CAFM,CAIT,CAAO,CACL7B,MAAM,CAANA,CADK,CAELgC,SAAS,CAATA,CAFK,CAGL/B,gBAAgB,CAAhBA,CAHK,CAILiD,YAAY,CAAZA,CAJK,CAKLtD,cAAc,CAAdA,EALK,CAMLmH,cAAc,CA3JO,QAAjBA,eAAiB,GAIwB,IAH7CjD,EAG6C,GAH7CA,KAG6C,CAF7CtB,CAE6C,GAF7CA,IAE6C,CAD7CwE,CAC6C,GAD7CA,SAC6C,CAC7C,GAAI7G,iBAAiB,CAACqC,CAAD,CAArB,CACE,MAAO,CACLyE,OAAO,CAAE,iBAACvC,CAAD,CAA6B,CACpC7B,EAAQ,CAAC6B,CAAD,CAAIlC,CAAI,CAACO,KAAT,CACT,CAHI,CAILmE,YAAY,CAAE,uBAAM,CAClBtH,EAAc,CAACkE,CAAD,IACf,CANI,CAOLqD,MAAM,GAPD,CAQLC,OAAO,CAAEtD,CAAK,GAAK7D,CARd,CASLoH,GAAG,WAAKL,CAAL,qBATE,CAAP,CAYF,GAAIvG,oBAAoB,CAAC+B,CAAD,CAAxB,CAAgC,CAC9B,GAAM8E,EAAQ,CAAG,UAAc,oCACTpE,CADS,MAC7B,2BAAkC,IAAvBM,EAAuB,SAChC,GAAIrD,iBAAiB,CAACqD,CAAD,CAArB,CACE,MAEF,GAAIA,CAAK,CAAC6D,GAAN,GAAc7E,CAAI,CAAC+E,QAAvB,CAAiC,OAC/B,wBACG/D,CADH,WACGA,CADH,QACGA,CAAK,CAAE7C,KAAP,CAAaiC,MAAb,CACC,SAACe,CAAD,QAAQ,CAAClD,oBAAoB,CAACkD,CAAD,CAA7B,CADD,CADH,gBAGkB,EAEnB,CACF,CAZ4B,+BAa7B,MAAO,EACR,CAdD,CAeA,MAAO,CACLsD,OAAO,CAAE,iBAACvC,CAAD,CAA6B,CACpCO,EAAW,CAAC,CAAEP,CAAC,CAADA,CAAF,CAAK/D,KAAK,CAAE2G,CAAQ,EAApB,CAAD,CACZ,CAHI,CAILJ,YAAY,CAAE,uBAAM,CAClBtH,EAAc,CAACkE,CAAD,IACf,CANI,CAOLqD,MAAM,GAPD,CAQLC,OAAO,CAAEtD,CAAK,GAAK7D,CARd,CASLoH,GAAG,WAAKL,CAAL,wBATE,CAWR,CACD,GAAMK,EAAG,CAAGrG,CAAU,CAACwB,CAAD,CAAtB,CACA,MAAO,CACLyE,OAAO,CAAE,iBAACvC,CAAD,CAA6B,CACpCK,EAAQ,CAACL,CAAD,CAAIlC,CAAJ,CACT,CAHI,CAIL0E,YAAY,CAAE,uBAAM,CAClBtH,EAAc,CAACkE,CAAD,IACf,CANI,CAOLqD,MAAM,GAAUjF,CAAK,CAAC0B,IAAN,CAAW,SAACpB,CAAD,QAAUxB,EAAU,CAACwB,CAAD,CAAV,GAAqB6E,CAA/B,CAAX,CAPX,CAQLD,OAAO,CAAEtD,CAAK,GAAK7D,CARd,CASLoH,GAAG,WAAKL,CAAL,SAAiBK,CAAjB,CATE,CAWR,CA2FM,CAOLG,gBAAgB,CAhEO,QAAnBA,iBAAmB,CAAC9C,CAAD,CAAiD,CACnE5D,CADmE,GAElE,CAACkB,CAFiE,EAGpEC,CAAY,IAHwD,CAK/C,UAAnB,QAAOT,EAL2D,EAMpEA,CAAO,CAACkD,CAAD,CAN6D,CASzE,CAgDM,CAQL+C,eAAe,CAtDO,QAAlBA,gBAAkB,CAAC/C,CAAD,CAAiD,CACvE,GAAI1E,CAAJ,CAAY,OAEV,sBADA+B,CAAQ,CAAC6E,OACT,qBADA,EAAkBc,KAAlB,EACA,CACD,CAEG1F,CANmE,EAOrEC,CAAY,IAPyD,CAUjD,UAAlB,QAAOR,EAV4D,EAWrEA,CAAM,CAACiD,CAAD,CAET,CAiCM,CASLiD,oBAAoB,CAxCO,QAAvBA,qBAAuB,EAAY,CACvC,GAAI3H,CAAJ,CACEN,EAAO,IADT,CAEEuC,CAAY,IAFd,KAGO,OACLvC,EAAO,IADF,CAELuC,CAAY,IAFP,WAGLF,CAAQ,CAAC6E,OAHJ,qBAGL,EAAkBc,KAAlB,EACD,CACF,CAsBM,CAULE,gBAAgB,CA7RO,QAAnBA,iBAAmB,EAAY,CAGnC,GAFC9G,CAAD,EAAapB,EAAO,CAAC,CAACM,CAAF,CAEpB,CAAIT,CAAJ,CAAc,iBACZwC,CAAQ,CAAC6E,OADG,qBACZ,EAAkBc,KAAlB,EACD,CACF,CA6QM,CAWL3F,QAAQ,CAARA,CAXK,CAYL+D,WAAW,CAAXA,EAZK,CAaL+B,iBAAiB,CAvSO,QAApBA,kBAAoB,CAACnD,CAAD,CAAkD,CACrE5D,CAAD,EAAe,CAACvB,CAAD,EAA4B,CAAf,CAAA2C,CAAK,CAACY,MADoC,GAExEnD,EAAS,CAAC+E,CAAC,CAACoD,MAAF,CAAS5F,KAAV,CAF+D,CAGxExC,EAAO,IAHiE,CAK3E,CAqRM,CAcLI,WAAW,CAAXA,CAdK,CAeL0F,UAAU,CAAVA,EAfK,CAgBLuC,oBAAoB,CA7QO,QAAvBA,qBAAuB,CAACvF,CAAD,QAAgB,UAACkC,CAAD,QAC3CD,GAAW,CAACC,CAAD,CAAIlC,CAAJ,CADgC,CAAhB,CA6PtB,CAiBLc,QAAQ,CAARA,CAjBK,CAkBLG,QAAQ,CAARA,CAlBK,CAmBLC,gBAAgB,CAAhBA,CAnBK,CAoBLL,WAAW,CAAXA,CApBK,CAsBR"}
|
|
1
|
+
{"version":3,"file":"useSelect.js","names":["useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","useClickOutside","useDebounce","useKeys","useMutableRef","usePrevious","useRefs","getCountedGroups","getGroups","scrollToIndex","useHoistedState","isMultipleParams","params","multiple","isNotMultipleParams","actions","setOpen","setSearch","highlightIndex","initialState","searchValue","resolvedSearchValue","isOpen","highlightedIndex","scrollToHighlighted","isOptionForCreate","Object","prototype","hasOwnProperty","call","isNotOptionForCreate","isOptionForSelectAll","useSelect","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","selectAll","getGroupKey","sortGroups","getItemDisabled","onFocus","onBlur","searchValueProp","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","inputRef","isFocused","setIsFocused","value","Array","isArray","setState","onSearchValueChangeRef","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","onCreate","length","label","__optionForCreate","optionForCreate","visibleItems","resultGroups","maxHighlightIndex","optionsRefs","notFound","flag","group","hasItems","allItemsSelected","el","find","getSelectedOptionIndex","index","newIsOpen","old","setResolvedSearch","shouldNotify","normalizedValue","current","prevIsOpen","indexForHighlight","newIndex","Math","min","max","currentHighlightIndex","removeValue","e","valueItem","stopPropagation","newValue","val","onChange","some","onChangeAll","parametrs","nonDisabledItems","currentGroupValues","withoutGroupValues","forEach","push","clearValue","results","ArrowUp","_","preventDefault","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getData","counter","Escape","Tab","Backspace","isActive","ignoreClicksInsideRefs","handler","scrollTo","top","getOptionProps","keyPrefix","onClick","onMouseEnter","active","hovered","key","getItems","groupKey","handleInputFocus","handleInputBlur","focus","handleToggleDropdown","handleInputClick","handleInputChange","target","getHandleRemoveValue"],"sources":["../../../../../../src/components/SelectComponents/useSelect/useSelect.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDeprecated';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { usePrevious } from '##/hooks/usePrevious';\nimport { useRefs } from '##/hooks/useRefs';\nimport {\n CountedGroup,\n getCountedGroups,\n getGroups,\n SelectAllItem,\n} from '##/utils/getGroups';\n\nimport { scrollToIndex, useHoistedState } from './helpers';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\ntype SortGroups<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\ntype OnChangeProp<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\n\ntype ValueProp<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type OptionForCreate = {\n label: string;\n __optionForCreate: boolean;\n};\n\nexport type SelectProps<ITEM, GROUP, MULTIPLE extends boolean> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n sortGroups?: SortGroups<ITEM, GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n selectAll?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n getItemDisabled?: (item: ITEM) => boolean | undefined;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onCreate?: (\n label: string,\n props: { e: React.SyntheticEvent; label: string },\n ) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n multiple: boolean;\n searchValue?: string;\n onChange: OnChangeProp<ITEM, MULTIPLE>;\n value: ValueProp<ITEM, MULTIPLE>;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n onSearchValueChange?: (value: string) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\nexport type OptionProps<ITEM> = {\n index: number;\n item: ITEM | OptionForCreate | SelectAllItem;\n keyPrefix: string | number;\n};\n\nexport type GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nconst isMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, true> => {\n return params.multiple;\n};\n\nconst isNotMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nconst actions = {\n setOpen: 'setOpen',\n setSearch: 'setSearch',\n highlightIndex: 'highlightIndex',\n};\n\nconst initialState = {\n searchValue: '',\n resolvedSearchValue: '',\n isOpen: false,\n highlightedIndex: 0,\n scrollToHighlighted: false,\n};\n\nexport const isOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP> | ITEM,\n): params is OptionForCreate => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isNotOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP>,\n): params is Group<ITEM, GROUP> => {\n return (\n params && !Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isOptionForSelectAll = <ITEM>(\n params: SelectAllItem | ITEM,\n): params is SelectAllItem => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionSelectAll')\n );\n};\n\nexport function useSelect<ITEM, GROUP, MULTIPLE extends boolean>(\n params: SelectProps<ITEM, GROUP, MULTIPLE>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n multiple = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n selectAll = false,\n getGroupKey,\n sortGroups,\n getItemDisabled,\n onFocus,\n onBlur,\n searchValue: searchValueProp,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isFocused, setIsFocused] = useState(false);\n\n const value = useMemo(\n () =>\n (params.value &&\n (Array.isArray(params.value) ? params.value : [params.value])) ||\n [],\n [params.value],\n );\n\n const [\n {\n searchValue,\n isOpen,\n highlightedIndex,\n resolvedSearchValue,\n scrollToHighlighted,\n },\n setState,\n ] = useHoistedState(initialState);\n\n const onSearchValueChangeRef = useMutableRef(onSearchValueChange);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) =>\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1;\n\n const [filteredOptions, optionForCreate] = useMemo(() => {\n if (resolvedSearchValue && resolvedSearchValue !== '') {\n const filteredOptions = items.filter((item) =>\n searchFunction\n ? searchFunction(item, resolvedSearchValue)\n : searchFunctionDefault(item, resolvedSearchValue),\n );\n\n const optionForCreate: OptionForCreate = {\n label: searchValue,\n __optionForCreate: true,\n };\n\n return [\n filteredOptions,\n params.onCreate && !filteredOptions.length\n ? optionForCreate\n : undefined,\n ] as const;\n }\n return [items, undefined] as const;\n }, [items, resolvedSearchValue, params.onCreate]);\n\n const visibleItems = useMemo(() => {\n const resultGroups = getCountedGroups(\n getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n sortGroups,\n ),\n isMultipleParams(params) ? params.value : [],\n selectAll,\n getItemKey,\n getItemDisabled,\n );\n\n return optionForCreate ? [optionForCreate, ...resultGroups] : resultGroups;\n }, [\n value,\n selectAll,\n filteredOptions,\n groups,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n sortGroups,\n optionForCreate,\n ]);\n\n const maxHighlightIndex =\n // количество опций\n filteredOptions.length +\n // кнопка для создания\n (optionForCreate ? 1 : 0) +\n // кнопки выбрать все\n (selectAll ? visibleItems.length : 0);\n\n const optionsRefs = useRefs<HTMLDivElement>(maxHighlightIndex, [isOpen]);\n\n const notFound = useMemo(() => {\n let flag = false;\n if (searchValue.length > 0) {\n flag =\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) || group.items.length > 0 || group.group,\n ).length === 0 && !params.onCreate;\n }\n return flag;\n }, [visibleItems]);\n\n const hasItems = items.length !== 0;\n\n const allItemsSelected = useMemo(() => {\n if (isNotMultipleParams(params)) {\n return false;\n }\n if (selectAll) {\n return (\n items.filter((el) =>\n value.find((item) => getItemKey(item) === getItemKey(el)),\n ).length === items.length\n );\n }\n\n return false;\n }, [selectAll, multiple, value, items]);\n\n const getSelectedOptionIndex = (): number => {\n let index = 0;\n if (value.length > 0) {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n index++;\n // eslint-disable-next-line no-continue\n continue;\n }\n for (const item of group.items) {\n if (isOptionForSelectAll(item)) {\n return index;\n }\n if (getItemKey(item) === getItemKey(value[0])) {\n return index;\n }\n index++;\n }\n }\n }\n\n return 0;\n };\n\n // Actions\n\n const setOpen = useCallback(\n (newIsOpen: boolean) => {\n setState(\n (old) => ({\n ...old,\n isOpen: newIsOpen,\n }),\n actions.setOpen,\n );\n },\n [setState],\n );\n\n const setResolvedSearch = useDebounce((value: string) => {\n setState((old) => {\n if (old.resolvedSearchValue === value) {\n return old;\n }\n return {\n ...old,\n resolvedSearchValue: value,\n };\n }, actions.setSearch);\n }, 300);\n\n const setSearch = useCallback(\n (value: string | undefined, shouldNotify = true) => {\n const normalizedValue = value || '';\n setState((old) => {\n if (old.searchValue === normalizedValue) {\n return old;\n }\n return {\n ...old,\n searchValue: normalizedValue,\n };\n }, actions.setSearch);\n setResolvedSearch(normalizedValue);\n if (shouldNotify) {\n onSearchValueChangeRef.current?.(normalizedValue);\n }\n },\n [setState, setResolvedSearch],\n );\n\n const prevIsOpen = usePrevious(isOpen);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight, scrollToHighlighted: boolean) => {\n setState((old) => {\n const newIndex = Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(old.highlightedIndex)\n : indexForHighlight,\n ),\n maxHighlightIndex - 1,\n );\n\n if (old.highlightedIndex === newIndex) {\n return old;\n }\n\n return {\n ...old,\n highlightedIndex: newIndex,\n scrollToHighlighted,\n };\n }, actions.highlightIndex);\n },\n [filteredOptions, setState, optionForCreate],\n );\n\n useLayoutEffect(() => {\n if (value !== null && !prevIsOpen && isOpen) {\n const currentHighlightIndex = getSelectedOptionIndex();\n if (filteredOptions.length > 0) {\n scrollToIndex(currentHighlightIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }\n });\n\n const removeValue = (e: React.SyntheticEvent, valueItem: ITEM) => {\n e.stopPropagation();\n if (isMultipleParams(params)) {\n const newValue = params.value?.filter(\n (item) => getItemKey(item) !== getItemKey(valueItem),\n );\n const val = newValue?.length ? newValue : null;\n params.onChange(val, {\n e,\n });\n }\n };\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (getItemDisabled && getItemDisabled(item)) {\n return;\n }\n if (isMultipleParams(params)) {\n const newValue = value.some(\n (value) => getItemKey(value) === getItemKey(item),\n )\n ? value.filter((value) => getItemKey(value) !== getItemKey(item))\n : [...value, item];\n const val = newValue?.length ? newValue : null;\n params.onChange(val, { e });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(item, { e });\n setOpen(false);\n setSearch('');\n }\n };\n\n const onChangeAll = (parametrs: {\n e: React.SyntheticEvent;\n items: ITEM[];\n }) => {\n const { e, items } = parametrs;\n if (isMultipleParams(params)) {\n const nonDisabledItems = getItemDisabled\n ? items.filter((item) => !getItemDisabled(item))\n : items;\n\n const currentGroupValues: ITEM[] = [];\n const withoutGroupValues: ITEM[] = [];\n value.forEach((el) => {\n if (\n nonDisabledItems.find((item) => getItemKey(el) === getItemKey(item))\n ) {\n currentGroupValues.push(el);\n } else {\n withoutGroupValues.push(el);\n }\n });\n if (currentGroupValues.length === nonDisabledItems.length) {\n params.onChange(withoutGroupValues, { e });\n } else {\n const val = [...withoutGroupValues, ...nonDisabledItems];\n params.onChange(val, {\n e,\n });\n }\n }\n };\n\n const onCreate = (e: React.SyntheticEvent, label: string) => {\n params.onCreate && params.onCreate(label, { e, label });\n setOpen(false);\n setSearch('');\n };\n\n // Handlers\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled && !(!multiple && value.length > 0)) {\n setSearch(e.target.value);\n setOpen(true);\n }\n };\n\n const handleInputClick = (): void => {\n !disabled && setOpen(!isOpen);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n };\n\n const clearValue = (e: React.SyntheticEvent) => {\n if (isMultipleParams(params)) {\n const results = value?.filter((item) => getItemDisabled?.(item));\n const val = results && results.length > 0 ? results : null;\n params.onChange(val, {\n e,\n });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(null, { e });\n }\n setSearch('');\n };\n\n const getHandleRemoveValue = (item: ITEM) => (e: React.SyntheticEvent) =>\n removeValue(e, item);\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old - 1, true);\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old + 1, true);\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getData = (\n index: number,\n ): [\n CountedGroup<ITEM, GROUP> | undefined,\n SelectAllItem | OptionForCreate | ITEM | undefined,\n ] => {\n let counter = 0;\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n counter++;\n return [undefined, group];\n }\n if (group.items.length + counter > index) {\n return [group, group.items[index - counter]];\n }\n counter += group.items.length;\n }\n return [undefined, undefined];\n };\n\n const [group, item] = getData(highlightedIndex);\n\n if (isOptionForCreate(item)) {\n onCreate(e, item.label);\n return;\n }\n\n if (isOptionForSelectAll(item)) {\n onChangeAll({\n e,\n items:\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? [],\n });\n return;\n }\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setOpen(true);\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setOpen(false);\n };\n\n const Tab: KeyHandler = (_, e): void => {\n if (isOpen) {\n e.preventDefault();\n setOpen(false);\n }\n };\n\n const Backspace: KeyHandler = (_, e): void => {\n if (searchValue) {\n return;\n }\n if (multiple) {\n removeValue(e, value[value.length - 1]);\n } else {\n clearValue(e);\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n Backspace,\n });\n\n const getOptionProps = ({\n index,\n item,\n keyPrefix,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n if (isOptionForCreate(item)) {\n return {\n onClick: (e: React.SyntheticEvent) => {\n onCreate(e, item.label);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForCreate`,\n };\n }\n if (isOptionForSelectAll(item)) {\n const getItems = (): ITEM[] => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n break;\n }\n if (group.key === item.groupKey) {\n return (\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? []\n );\n }\n }\n return [];\n };\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChangeAll({ e, items: getItems() });\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForSelectAll`,\n };\n }\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: Boolean(value.find((item) => getItemKey(item) === key)),\n hovered: index === highlightedIndex,\n key: `${keyPrefix}${key}`,\n };\n };\n\n useClickOutside({\n isActive: true,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: () => {\n setIsFocused(false);\n setOpen(false);\n },\n });\n\n useEffect(() => {\n if (disabled) {\n setOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n const currentHighlightIndex = getSelectedOptionIndex();\n highlightIndex(currentHighlightIndex, true);\n }, [highlightIndex]);\n\n useEffect(() => {\n if (filteredOptions.length > 0 && scrollToHighlighted) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }, [highlightedIndex]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n if (!isFocused) {\n setIsFocused(true);\n }\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (isFocused) {\n setIsFocused(false);\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n const handleToggleDropdown = (): void => {\n if (isOpen) {\n setOpen(false);\n setIsFocused(false);\n } else {\n setOpen(true);\n setIsFocused(true);\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n setSearch(searchValueProp, false);\n }, [searchValueProp]);\n\n useEffect(() => {\n dropdownRef.current?.scrollTo({ top: 0 });\n }, [resolvedSearchValue]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n setOpen(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen,\n isFocused,\n highlightedIndex,\n visibleItems,\n highlightIndex,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n handleInputClick,\n inputRef,\n getKeyProps,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n allItemsSelected,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
|
package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttribu
|
|
|
6
6
|
import { PopoverPropOffset } from '../../Popover/Popover';
|
|
7
7
|
import { PropSize, RenderItemProps } from '../types';
|
|
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;
|
package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpace","cnMixScrollBar","cnMixSpace","isOptionForCreate","isOptionForSelectAll","animateTimeout","cnMixPopoverAnimate","cnDeprecated","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i","checkedCount","totalCount"],"sources":["../../../../../../src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { SelectAllItem } from '##/utils/getGroups';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnDeprecated } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover, PopoverPropOffset } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\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}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nconst cnSelectDropdown = cnDeprecated('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\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 ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\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 return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\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 >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n return (\n <SelectItemAll\n indent={indent}\n size={size}\n {...getOptionProps({ index: getIndex(), item })}\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 return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\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","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpace","cnMixScrollBar","cnMixSpace","isOptionForCreate","isOptionForSelectAll","animateTimeout","cnMixPopoverAnimate","cnDeprecated","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i","checkedCount","totalCount"],"sources":["../../../../../../src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { SelectAllItem } from '##/utils/getGroups';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnDeprecated } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover, PopoverPropOffset } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\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}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nconst cnSelectDropdown = cnDeprecated('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\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 ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\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 return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\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 >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n return (\n <SelectItemAll\n indent={indent}\n size={size}\n {...getOptionProps({ index: getIndex(), item })}\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 return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\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":"y+BAAA,6BAEA,MAAOA,MAAP,EAAgBC,QAAhB,CAA0BC,OAA1B,CAAmCC,MAAnC,KAAiD,OAAjD,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,SADF,CAEEC,QAFF,CAGEC,gBAHF,wBAKA,OAASC,cAAT,kCACA,OAASC,UAAT,8BAGA,OAEEC,iBAFF,CAGEC,oBAHF,0CAOA,OACEC,cADF,CAEEC,mBAFF,yDAIA,OAASC,YAAT,0BACA,OAASC,WAAT,kCAEA,OAASC,OAAT,6BACA,OAASC,kBAAT,gDACA,OAASC,gBAAT,4CACA,OAASC,aAAT,wCACA,OAASC,YAAT,oCAGA,MAAO,IAAMC,mBAAkB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAA3B,CAEP,MAAO,IAAMC,8BAA6B,CAAGD,kBAAkB,CAAC,CAAD,CAAxD,CAmCP,GAAME,iBAAgB,CAAGT,YAAY,CAAC,gBAAD,CAArC,CAEA,MAAO,IAAMU,eAA8B,CAAG,SAACC,CAAD,CAAW,IAErDC,EAFqD,CAoBnDD,CApBmD,CAErDC,UAFqD,CAGrDC,CAHqD,CAoBnDF,CApBmD,CAGrDE,IAHqD,CAIrDC,CAJqD,CAoBnDH,CApBmD,CAIrDG,cAJqD,CAKrDC,CALqD,CAoBnDJ,CApBmD,CAKrDI,WALqD,CAMrDC,CANqD,CAoBnDL,CApBmD,CAMrDK,cANqD,CAOrDC,CAPqD,CAoBnDN,CApBmD,CAOrDM,SAPqD,CAQrDC,CARqD,CAoBnDP,CApBmD,CAQrDO,gBARqD,CASrDC,CATqD,CAoBnDR,CApBmD,CASrDQ,kBATqD,GAoBnDR,CApBmD,CAUrDS,QAVqD,CAUrDA,CAVqD,kBAWrDC,CAXqD,CAoBnDV,CApBmD,CAWrDU,IAXqD,CAYrDC,CAZqD,CAoBnDX,CApBmD,CAYrDW,MAZqD,GAoBnDX,CApBmD,CAarDY,MAbqD,CAa7CC,CAb6C,YAahC,MAbgC,GAcrDC,CAdqD,CAoBnDd,CApBmD,CAcrDc,UAdqD,CAerDC,CAfqD,CAoBnDf,CApBmD,CAerDe,YAfqD,CAgBrDC,CAhBqD,CAoBnDhB,CApBmD,CAgBrDgB,SAhBqD,CAiBrDC,CAjBqD,CAoBnDjB,CApBmD,CAiBrDiB,aAjBqD,CAkBrDC,CAlBqD,CAoBnDlB,CApBmD,CAkBrDkB,QAlBqD,CAmBlDC,CAnBkD,0BAoBnDnB,CApBmD,YAsBjDoB,CAAM,CAAY,OAAT,GAAAV,CAAI,CAAe,WAAf,CAA6B,QAtBO,CAwBjDW,CAAU,CAAG3C,MAAM,CAAiB,IAAjB,CAxB8B,CA0BjD4C,CAAY,CAAG7C,OAAO,CAAC,UAAM,CACjC,MAKa,EAJX,CAAAsC,CAAY,CAACQ,MAAb,CACE,SAACC,CAAD,QACEvC,kBAAiB,CAACuC,CAAD,CAAjB,EACCC,KAAK,CAACC,OAAN,CAAcF,CAAK,CAACG,KAApB,GAAmD,CAArB,CAAAH,CAAK,CAACG,KAAN,CAAYC,MAF7C,CADF,EAIEA,MAEL,CAR2B,CAQzB,CAACb,CAAD,CARyB,CA1B2B,CAoCjDH,CAAM,CAAkB,MAAf,GAAAC,CAAU,QAA0BA,CApCI,CAsCvD,MACE,qBAAC,UAAD,EACE,GAAIF,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEU,CAHX,CAIE,OAAO,CAAElC,cAJX,EAMG,SAAC0C,CAAD,CAAa,CACZ,GAAMC,EAAQ,CAAGxC,WAAW,EAA5B,CACA,MACE,qBAAC,OAAD,kBACM6B,CADN,EAEE,SAAS,CAAElB,CAFb,CAGE,SAAS,CAAC,eAHZ,CAIE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CAJtB,CAUE,MAAM,CAAEW,CAVV,CAWE,GAAG,CAAES,CAXP,CAYE,IAAI,CAAC,SAZP,CAaE,SAAS,CAAEvB,gBAAgB,CAAC,IAAD,CAAO,CAChClB,SAAS,CAAC,CAAEsB,IAAI,CAAJA,CAAF,CAAQQ,IAAI,CAAJA,CAAR,CAAcqB,MAAM,GAApB,CAA4BC,MAAM,GAAlC,CAAD,CADuB,CAEhC5C,mBAAmB,CAAC,CAAEyC,OAAO,CAAPA,CAAF,CAAD,CAFa,CAGhCvB,CAHgC,CAAP,CAb7B,CAkBE,gBAAgB,GAlBlB,GAoBE,2BACE,SAAS,CAAER,gBAAgB,CAAC,MAAD,CAAS,CAClCd,UAAU,CAAC,CACTiD,EAAE,CAAEnD,gBAAgB,CAACoB,CAAD,CADX,CAAD,CADwB,CAIlCnB,cAAc,EAJoB,CAAT,CAD7B,CAOE,GAAG,CAAEqB,CAPP,EASGY,CAAS,EACR,oBAAC,YAAD,EAAc,IAAI,CAAEM,CAAY,CAAG,MAAH,CAAY,OAA5C,EAVJ,CAYGP,CAAY,CAACmB,GAAb,CAAiB,SAACV,CAAD,CAAW,OACvBvC,kBAAiB,CAACuC,CAAD,CADM,CAGvB,oBAAC,kBAAD,gBACE,IAAI,CAAEtB,CADR,CAEE,cAAc,CAAEG,CAFlB,CAGE,UAAU,CAAEmB,CAAK,CAACW,KAHpB,CAIE,MAAM,CAAEf,CAJV,EAKMjB,CAAc,CAAC,CAAEiC,KAAK,CAAEN,CAAQ,EAAjB,CAAqBO,IAAI,CAAEb,CAA3B,CAAD,CALpB,EAHuB,CAazB,oBAAC,QAAD,EAAU,GAAG,CAAEA,CAAK,CAACc,GAArB,EACGd,CAAK,CAACA,KAAN,EAAeP,CAAf,EACC,oBAAC,gBAAD,EACE,KAAK,CAAEA,CAAa,CAACO,CAAK,CAACA,KAAP,CADtB,CAEE,IAAI,CAAEtB,CAFR,CAGE,MAAM,CAAEkB,CAHV,EAFJ,CAQGI,CAAK,CAACG,KAAN,CAAYO,GAAZ,CAAgB,SAACG,CAAD,CAAOE,CAAP,CAAa,OACxBrD,qBAAoB,CAACmD,CAAD,CADI,CAGxB,oBAAC,aAAD,gBACE,MAAM,CAAEjB,CADV,CAEE,IAAI,CAAElB,CAFR,EAGMC,CAAc,CAAC,CAAEiC,KAAK,CAAEN,CAAQ,EAAjB,CAAqBO,IAAI,CAAJA,CAArB,CAAD,CAHpB,EAIE,YAAY,IACVA,CAAI,CAACG,YAAL,EAAqBH,CAAI,CAACI,UADhB,GAENJ,CAAI,CAACG,YAAL,GAAsBH,CAAI,CAACI,UANnC,CASE,OAAO,CAAEJ,CAAI,CAACG,YAAL,GAAsBH,CAAI,CAACI,UATtC,CAUE,UAAU,CAAEJ,CAAI,CAACG,YAVnB,CAWE,KAAK,CAAEH,CAAI,CAACI,UAXd,GAHwB,CAmB1B,oBAAC,QAAD,EAAU,GAAG,WAAKjB,CAAK,CAACc,GAAX,aAAkBC,CAAlB,CAAb,EACGzB,CAAU,gBACTuB,IAAI,CAAJA,CADS,EAENlC,CAAc,CAAC,CAAEiC,KAAK,CAAEN,CAAQ,EAAjB,CAAqBO,IAAI,CAAJA,CAArB,CAAD,CAFR,EADb,CAOH,CA1BA,CARH,CAqCH,CAlDA,CAZH,CA+DG,CAACrB,CAAD,EAAcP,CAAd,EAA0BS,CAA1B,EAAsCX,CAAtC,EACC,oBAAC,QAAD,EACE,IAAI,CAAEL,CADR,CAEE,KAAK,CAAEK,CAFT,CAGE,WAAW,CAAEa,CAHf,EAKGb,CALH,CAhEJ,CAwEG,CAACS,CAAD,EAAc,CAACP,CAAf,EAA2BD,CAA3B,EACC,oBAAC,QAAD,EACE,IAAI,CAAEN,CADR,CAEE,KAAK,CAAEM,CAFT,CAGE,WAAW,CAAEY,CAHf,EAKGZ,CALH,CAzEJ,CApBF,CAwGH,CAjHH,CAoHH,CA3JM"}
|
package/__internal__/src/components/SelectComponentsDeprecated/SelectValueTag/SelectValueTag.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.TagBase.deprecated--SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.deprecated--SelectValueTag.TagBase_size_l,.TagBase.deprecated--SelectValueTag.TagBase_size_m,.TagBase.deprecated--SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.deprecated--SelectValueTag .TagBase-Label{
|
|
1
|
+
.TagBase.deprecated--SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.deprecated--SelectValueTag.TagBase_size_l,.TagBase.deprecated--SelectValueTag.TagBase_size_m,.TagBase.deprecated--SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.deprecated--SelectValueTag .TagBase-Label{overflow-wrap:break-word}.TagBase.deprecated--SelectValueTag_disabled{background-color:var(--color-control-bg-disable);pointer-events:none}.TagBase.deprecated--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/SelectComponentsDeprecated/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.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\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/SelectComponentsDeprecated/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.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\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,9 +1,9 @@
|
|
|
1
1
|
import { AsTagAttribute } from '../../utils/types/AsTags';
|
|
2
2
|
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
3
3
|
declare const sidebarPropPosition: readonly ["right", "bottom", "left", "top"];
|
|
4
|
-
export type SidebarPropPosition = typeof sidebarPropPosition[number];
|
|
4
|
+
export type SidebarPropPosition = (typeof sidebarPropPosition)[number];
|
|
5
5
|
export declare const sidebarPropSize: readonly ["s", "m", "l", "full", "none", "1/2", "1/3", "1/4", "2/3", "3/4"];
|
|
6
|
-
export type SidebarPropSize = typeof sidebarPropSize[number];
|
|
6
|
+
export type SidebarPropSize = (typeof sidebarPropSize)[number];
|
|
7
7
|
export type SidebarProps = PropsWithHTMLAttributesAndRef<{
|
|
8
8
|
isOpen?: boolean;
|
|
9
9
|
onClose?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["sidebarPropPosition","sidebarPropSize"],"sources":["../../../../../src/components/Sidebar/types.ts"],"sourcesContent":["import { AsTagAttribute } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nconst sidebarPropPosition = ['right', 'bottom', 'left', 'top'] as const;\nexport type SidebarPropPosition = typeof sidebarPropPosition[number];\n\nexport const sidebarPropSize = [\n 's',\n 'm',\n 'l',\n 'full',\n 'none',\n '1/2',\n '1/3',\n '1/4',\n '2/3',\n '3/4',\n] as const;\n\nexport type SidebarPropSize = typeof sidebarPropSize[number];\n\nexport type SidebarProps = PropsWithHTMLAttributesAndRef<\n {\n isOpen?: boolean;\n onClose?: () => void;\n onOpen?: () => void;\n hasOverlay?: boolean;\n onClickOutside?: (event: MouseEvent) => void;\n onEsc?: (event: KeyboardEvent) => void;\n position?: SidebarPropPosition;\n size?: SidebarPropSize;\n rootClassName?: string;\n children?: React.ReactNode;\n container?: HTMLDivElement | React.RefObject<HTMLDivElement>;\n afterClose?: () => void;\n ignoreOutsideClicksRefs?: React.RefObject<HTMLElement>[];\n border?: boolean;\n scrollContainerRef?: React.RefObject<HTMLDivElement>;\n },\n HTMLDivElement\n>;\n\n/**\n * @deprecated\n */\nexport type SidebarContentProps = {\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * @deprecated\n */\nexport type SidebarActionsProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport interface SidebarComponent\n extends React.ForwardRefExoticComponent<SidebarProps
|
|
1
|
+
{"version":3,"file":"types.js","names":["sidebarPropPosition","sidebarPropSize"],"sources":["../../../../../src/components/Sidebar/types.ts"],"sourcesContent":["import { AsTagAttribute } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nconst sidebarPropPosition = ['right', 'bottom', 'left', 'top'] as const;\nexport type SidebarPropPosition = (typeof sidebarPropPosition)[number];\n\nexport const sidebarPropSize = [\n 's',\n 'm',\n 'l',\n 'full',\n 'none',\n '1/2',\n '1/3',\n '1/4',\n '2/3',\n '3/4',\n] as const;\n\nexport type SidebarPropSize = (typeof sidebarPropSize)[number];\n\nexport type SidebarProps = PropsWithHTMLAttributesAndRef<\n {\n isOpen?: boolean;\n onClose?: () => void;\n onOpen?: () => void;\n hasOverlay?: boolean;\n onClickOutside?: (event: MouseEvent) => void;\n onEsc?: (event: KeyboardEvent) => void;\n position?: SidebarPropPosition;\n size?: SidebarPropSize;\n rootClassName?: string;\n children?: React.ReactNode;\n container?: HTMLDivElement | React.RefObject<HTMLDivElement>;\n afterClose?: () => void;\n ignoreOutsideClicksRefs?: React.RefObject<HTMLElement>[];\n border?: boolean;\n scrollContainerRef?: React.RefObject<HTMLDivElement>;\n },\n HTMLDivElement\n>;\n\n/**\n * @deprecated\n */\nexport type SidebarContentProps = {\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * @deprecated\n */\nexport type SidebarActionsProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport interface SidebarComponent\n extends React.ForwardRefExoticComponent<SidebarProps>, AsTagAttribute<'div'> {\n /**\n * @deprecated\n */\n Content: React.FC<SidebarContentProps>;\n /**\n * @deprecated\n */\n Actions: React.FC<SidebarActionsProps>;\n}\n"],"mappings":"AAGA,GAAMA,oBAAmB,CAAG,CAAC,OAAD,CAAU,QAAV,CAAoB,MAApB,CAA4B,KAA5B,CAA5B,CAGA,MAAO,IAAMC,gBAAe,CAAG,CAC7B,GAD6B,CAE7B,GAF6B,CAG7B,GAH6B,CAI7B,MAJ6B,CAK7B,MAL6B,CAM7B,KAN6B,CAO7B,KAP6B,CAQ7B,KAR6B,CAS7B,KAT6B,CAU7B,KAV6B,CAAxB"}
|
|
@@ -3,9 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import { AsTagAttribute } from '../../utils/types/AsTags';
|
|
4
4
|
import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';
|
|
5
5
|
declare const sidebarPropPosition: readonly ["right", "bottom", "left", "top"];
|
|
6
|
-
type SidebarPropPosition = typeof sidebarPropPosition[number];
|
|
6
|
+
type SidebarPropPosition = (typeof sidebarPropPosition)[number];
|
|
7
7
|
export declare const sidebarPropSize: readonly ["s", "m", "l", "full", "1/2", "1/3", "1/4", "2/3", "3/4"];
|
|
8
|
-
export type SidebarPropSize = typeof sidebarPropSize[number];
|
|
8
|
+
export type SidebarPropSize = (typeof sidebarPropSize)[number];
|
|
9
9
|
export type SidebarProps = PropsWithHTMLAttributes<{
|
|
10
10
|
isOpen?: boolean;
|
|
11
11
|
onClose?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarDeprecated.js","names":["React","useEffect","useRef","Transition","PortalWithTheme","PortalWithThemeConsumer","useTheme","useGlobalKeys","cnMixScrollBar","cn","sidebarPropPosition","sidebarPropPositionDefault","sidebarPropSize","sidebarPropSizeDefault","cnSidebar","SidebarContent","className","children","rest","SidebarActions","Sidebar","props","isOpen","onClose","onOpen","hasOverlay","onClickOutside","onEsc","position","size","container","window","document","body","style","rootClassName","afterClose","otherProps","ref","portalRef","theme","Escape","e","animate","zIndex","Content","Actions"],"sources":["../../../../../src/components/SidebarDeprecated/SidebarDeprecated.tsx"],"sourcesContent":["import './SidebarDeprecated.css';\n\nimport React, { useEffect, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n PortalWithTheme,\n PortalWithThemeConsumer,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { useGlobalKeys } from '##/hooks/useGlobalKeys';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cn } from '##/utils/bem';\nimport { AsTagAttribute } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nconst sidebarPropPosition = ['right', 'bottom', 'left', 'top'] as const;\ntype SidebarPropPosition = typeof sidebarPropPosition[number];\nconst sidebarPropPositionDefault: SidebarPropPosition = sidebarPropPosition[0];\n\nexport const sidebarPropSize = [\n 's',\n 'm',\n 'l',\n 'full',\n '1/2',\n '1/3',\n '1/4',\n '2/3',\n '3/4',\n] as const;\n\nexport type SidebarPropSize = typeof sidebarPropSize[number];\nconst sidebarPropSizeDefault: SidebarPropSize = sidebarPropSize[1];\n\nexport type SidebarProps = PropsWithHTMLAttributes<\n {\n isOpen?: boolean;\n onClose?: () => void;\n onOpen?: () => void;\n hasOverlay?: boolean;\n onClickOutside?: (event: MouseEvent) => void;\n onEsc?: (event: KeyboardEvent) => void;\n position?: SidebarPropPosition;\n size?: SidebarPropSize;\n rootClassName?: string;\n children?: React.ReactNode;\n container?: HTMLDivElement | undefined;\n afterClose?: () => void;\n },\n HTMLDivElement\n>;\n\ntype SidebarContentProps = {\n className?: string;\n children: React.ReactNode;\n};\n\ntype SidebarActionsProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport const cnSidebar = cn('Sidebar');\n\nconst SidebarContent: React.FC<SidebarContentProps> = ({\n className,\n children,\n ...rest\n}) => (\n <div\n className={cnSidebar('Content', [className, cnMixScrollBar()])}\n {...rest}\n >\n {children}\n </div>\n);\n\nconst SidebarActions: React.FC<SidebarActionsProps> = ({\n className,\n children,\n ...rest\n}) => (\n <div className={cnSidebar('Actions', [className])} {...rest}>\n {children}\n </div>\n);\n\ninterface SidebarComponent\n extends React.FC<SidebarProps
|
|
1
|
+
{"version":3,"file":"SidebarDeprecated.js","names":["React","useEffect","useRef","Transition","PortalWithTheme","PortalWithThemeConsumer","useTheme","useGlobalKeys","cnMixScrollBar","cn","sidebarPropPosition","sidebarPropPositionDefault","sidebarPropSize","sidebarPropSizeDefault","cnSidebar","SidebarContent","className","children","rest","SidebarActions","Sidebar","props","isOpen","onClose","onOpen","hasOverlay","onClickOutside","onEsc","position","size","container","window","document","body","style","rootClassName","afterClose","otherProps","ref","portalRef","theme","Escape","e","animate","zIndex","Content","Actions"],"sources":["../../../../../src/components/SidebarDeprecated/SidebarDeprecated.tsx"],"sourcesContent":["import './SidebarDeprecated.css';\n\nimport React, { useEffect, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n PortalWithTheme,\n PortalWithThemeConsumer,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { useGlobalKeys } from '##/hooks/useGlobalKeys';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cn } from '##/utils/bem';\nimport { AsTagAttribute } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nconst sidebarPropPosition = ['right', 'bottom', 'left', 'top'] as const;\ntype SidebarPropPosition = (typeof sidebarPropPosition)[number];\nconst sidebarPropPositionDefault: SidebarPropPosition = sidebarPropPosition[0];\n\nexport const sidebarPropSize = [\n 's',\n 'm',\n 'l',\n 'full',\n '1/2',\n '1/3',\n '1/4',\n '2/3',\n '3/4',\n] as const;\n\nexport type SidebarPropSize = (typeof sidebarPropSize)[number];\nconst sidebarPropSizeDefault: SidebarPropSize = sidebarPropSize[1];\n\nexport type SidebarProps = PropsWithHTMLAttributes<\n {\n isOpen?: boolean;\n onClose?: () => void;\n onOpen?: () => void;\n hasOverlay?: boolean;\n onClickOutside?: (event: MouseEvent) => void;\n onEsc?: (event: KeyboardEvent) => void;\n position?: SidebarPropPosition;\n size?: SidebarPropSize;\n rootClassName?: string;\n children?: React.ReactNode;\n container?: HTMLDivElement | undefined;\n afterClose?: () => void;\n },\n HTMLDivElement\n>;\n\ntype SidebarContentProps = {\n className?: string;\n children: React.ReactNode;\n};\n\ntype SidebarActionsProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport const cnSidebar = cn('Sidebar');\n\nconst SidebarContent: React.FC<SidebarContentProps> = ({\n className,\n children,\n ...rest\n}) => (\n <div\n className={cnSidebar('Content', [className, cnMixScrollBar()])}\n {...rest}\n >\n {children}\n </div>\n);\n\nconst SidebarActions: React.FC<SidebarActionsProps> = ({\n className,\n children,\n ...rest\n}) => (\n <div className={cnSidebar('Actions', [className])} {...rest}>\n {children}\n </div>\n);\n\ninterface SidebarComponent\n extends React.FC<SidebarProps>, AsTagAttribute<'div'> {\n Content: typeof SidebarContent;\n Actions: typeof SidebarActions;\n}\n\nexport const Sidebar: SidebarComponent = (props) => {\n const {\n isOpen,\n onClose,\n onOpen,\n hasOverlay = true,\n onClickOutside,\n onEsc,\n position = sidebarPropPositionDefault,\n size = sidebarPropSizeDefault,\n className,\n children,\n container = window.document.body,\n style,\n rootClassName,\n afterClose,\n ...otherProps\n } = props;\n\n const ref = useRef<HTMLDivElement | null>(null);\n\n const portalRef = useRef<HTMLDivElement>(null);\n\n const { theme } = useTheme();\n\n useEffect(() => {\n if (isOpen) {\n onOpen?.();\n } else {\n onClose?.();\n }\n }, [isOpen]);\n\n useGlobalKeys({\n Escape: (e) => isOpen && onEsc && onEsc(e),\n });\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={240}\n nodeRef={portalRef}\n onExiting={afterClose}\n >\n {(animate) => (\n <PortalWithTheme\n preset={theme}\n ref={portalRef}\n container={container}\n className={cnSidebar({ position, hasOverlay }, [rootClassName])}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex }\n : undefined\n }\n >\n {hasOverlay && (\n <div\n className={cnSidebar('Overlay', { animate })}\n aria-label=\"Overlay\"\n />\n )}\n <div\n {...otherProps}\n style={{\n ...style,\n zIndex: undefined,\n }}\n className={cnSidebar('Window', { size, position, animate }, [\n className,\n ])}\n ref={ref}\n >\n <PortalWithThemeConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref]}\n >\n {children}\n </PortalWithThemeConsumer>\n </div>\n </PortalWithTheme>\n )}\n </Transition>\n );\n};\n\nSidebar.Content = SidebarContent;\nSidebar.Actions = SidebarActions;\n"],"mappings":"8+BAAA,gCAEA,MAAOA,MAAP,EAAgBC,SAAhB,CAA2BC,MAA3B,KAAyC,OAAzC,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,eADF,CAEEC,uBAFF,0BAIA,OAASC,QAAT,sBACA,OAASC,aAAT,iCACA,OAASC,cAAT,+BACA,OAASC,EAAT,uB,GAIMC,oBAAmB,CAAG,CAAC,OAAD,CAAU,QAAV,CAAoB,MAApB,CAA4B,KAA5B,C,CAEtBC,0BAA+C,CAAGD,mBAAmB,CAAC,CAAD,C,CAE3E,MAAO,IAAME,gBAAe,CAAG,CAC7B,GAD6B,CAE7B,GAF6B,CAG7B,GAH6B,CAI7B,MAJ6B,CAK7B,KAL6B,CAM7B,KAN6B,CAO7B,KAP6B,CAQ7B,KAR6B,CAS7B,KAT6B,CAAxB,CAaP,GAAMC,uBAAuC,CAAGD,eAAe,CAAC,CAAD,CAA/D,CA8BA,MAAO,IAAME,UAAS,CAAGL,EAAE,CAAC,SAAD,CAApB,C,GAEDM,eAA6C,CAAG,eACpDC,EADoD,GACpDA,SADoD,CAEpDC,CAFoD,GAEpDA,QAFoD,CAGjDC,CAHiD,6CAKpD,0CACE,SAAS,CAAEJ,SAAS,CAAC,SAAD,CAAY,CAACE,CAAD,CAAYR,cAAc,EAA1B,CAAZ,CADtB,EAEMU,CAFN,EAIGD,CAJH,CALoD,C,CAahDE,cAA6C,CAAG,eACpDH,EADoD,GACpDA,SADoD,CAEpDC,CAFoD,GAEpDA,QAFoD,CAGjDC,CAHiD,8CAKpD,0CAAK,SAAS,CAAEJ,SAAS,CAAC,SAAD,CAAY,CAACE,CAAD,CAAZ,CAAzB,EAAuDE,CAAvD,EACGD,CADH,CALoD,C,CAgBtD,MAAO,IAAMG,QAAyB,CAAG,SAACC,CAAD,CAAW,IAEhDC,EAFgD,CAiB9CD,CAjB8C,CAEhDC,MAFgD,CAGhDC,CAHgD,CAiB9CF,CAjB8C,CAGhDE,OAHgD,CAIhDC,CAJgD,CAiB9CH,CAjB8C,CAIhDG,MAJgD,GAiB9CH,CAjB8C,CAKhDI,UALgD,CAKhDA,CALgD,eAMhDC,CANgD,CAiB9CL,CAjB8C,CAMhDK,cANgD,CAOhDC,CAPgD,CAiB9CN,CAjB8C,CAOhDM,KAPgD,GAiB9CN,CAjB8C,CAQhDO,QARgD,CAQhDA,CARgD,YAQrCjB,0BARqC,KAiB9CU,CAjB8C,CAShDQ,IATgD,CAShDA,CATgD,YASzChB,sBATyC,GAUhDG,CAVgD,CAiB9CK,CAjB8C,CAUhDL,SAVgD,CAWhDC,CAXgD,CAiB9CI,CAjB8C,CAWhDJ,QAXgD,GAiB9CI,CAjB8C,CAYhDS,SAZgD,CAYhDA,CAZgD,YAYpCC,MAAM,CAACC,QAAP,CAAgBC,IAZoB,GAahDC,CAbgD,CAiB9Cb,CAjB8C,CAahDa,KAbgD,CAchDC,CAdgD,CAiB9Cd,CAjB8C,CAchDc,aAdgD,CAehDC,CAfgD,CAiB9Cf,CAjB8C,CAehDe,UAfgD,CAgB7CC,CAhB6C,0BAiB9ChB,CAjB8C,aAmB5CiB,CAAG,CAAGpC,MAAM,CAAwB,IAAxB,CAnBgC,CAqB5CqC,CAAS,CAAGrC,MAAM,CAAiB,IAAjB,CArB0B,GAuBhCI,QAAQ,EAvBwB,CAuB1CkC,CAvB0C,GAuB1CA,KAvB0C,CAqClD,MAZAvC,UAAS,CAAC,UAAM,CACVqB,CADU,QAEZE,CAFY,WAEZA,CAFY,QAEZA,CAAM,EAFM,QAIZD,CAJY,WAIZA,CAJY,QAIZA,CAAO,EAEV,CANQ,CAMN,CAACD,CAAD,CANM,CAYT,CAJAf,aAAa,CAAC,CACZkC,MAAM,CAAE,gBAACC,CAAD,QAAOpB,EAAM,EAAIK,CAAV,EAAmBA,CAAK,CAACe,CAAD,CAA/B,CADI,CAAD,CAIb,CACE,oBAAC,UAAD,EACE,GAAIpB,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAE,GAHX,CAIE,OAAO,CAAEiB,CAJX,CAKE,SAAS,CAAEH,CALb,EAOG,SAACO,CAAD,QACC,qBAAC,eAAD,EACE,MAAM,CAAEH,CADV,CAEE,GAAG,CAAED,CAFP,CAGE,SAAS,CAAET,CAHb,CAIE,SAAS,CAAEhB,SAAS,CAAC,CAAEc,QAAQ,CAARA,CAAF,CAAYH,UAAU,CAAVA,CAAZ,CAAD,CAA2B,CAACU,CAAD,CAA3B,CAJtB,CAKE,KAAK,CACsB,QAAzB,gBAAOD,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEU,MAAd,EACI,CAAEA,MAAM,CAAEV,CAAK,CAACU,MAAhB,CADJ,OANJ,EAWGnB,CAAU,EACT,2BACE,SAAS,CAAEX,SAAS,CAAC,SAAD,CAAY,CAAE6B,OAAO,CAAPA,CAAF,CAAZ,CADtB,CAEE,aAAW,SAFb,EAZJ,CAiBE,2CACMN,CADN,EAEE,KAAK,gCACAH,CADA,MAEHU,MAAM,OAFH,EAFP,CAME,SAAS,CAAE9B,SAAS,CAAC,QAAD,CAAW,CAAEe,IAAI,CAAJA,CAAF,CAAQD,QAAQ,CAARA,CAAR,CAAkBe,OAAO,CAAPA,CAAlB,CAAX,CAAwC,CAC1D3B,CAD0D,CAAxC,CANtB,CASE,GAAG,CAAEsB,CATP,GAWE,oBAAC,uBAAD,EACE,cAAc,CAAEZ,CADlB,CAEE,sBAAsB,CAAE,CAACY,CAAD,CAF1B,EAIGrB,CAJH,CAXF,CAjBF,CADD,CAPH,CA+CH,CArFM,CAuFPG,OAAO,CAACyB,OAAR,CAAkB9B,c,CAClBK,OAAO,CAAC0B,OAAR,CAAkB3B,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.Skeleton{--loader-width:100px;animation:Skeleton-Animation 1.5s linear infinite;background-attachment:fixed;background-color:var(--color-bg-system);background-image:linear-gradient(to right,transparent 0,var(--color-bg-stripe) calc(var(--loader-width)*.2),var(--color-bg-ghost) calc(var(--loader-width)*.6),transparent var(--loader-width));background-repeat:no-repeat;box-sizing:border-box}@media (
|
|
1
|
+
.Skeleton{--loader-width:100px;animation:Skeleton-Animation 1.5s linear infinite;background-attachment:fixed;background-color:var(--color-bg-system);background-image:linear-gradient(to right,transparent 0,var(--color-bg-stripe) calc(var(--loader-width)*.2),var(--color-bg-ghost) calc(var(--loader-width)*.6),transparent var(--loader-width));background-repeat:no-repeat;box-sizing:border-box}@media (width >= 720px){.Skeleton{animation-duration:2s}}@media (width >= 1280px){.Skeleton{animation-duration:2.5s}}@keyframes Skeleton-Animation{0%{background-position:calc(var(--loader-width)*-1) 0}75%,to{background-position:100vw 0}}
|
|
@@ -4,11 +4,11 @@ import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttribut
|
|
|
4
4
|
import { Direction } from '../Popover';
|
|
5
5
|
import { ActiveButton } from './useSlider/helper';
|
|
6
6
|
export declare const sliderPropStatus: readonly ["alert", "warning", "success"];
|
|
7
|
-
export type SliderPropStatus = typeof sliderPropStatus[number];
|
|
7
|
+
export type SliderPropStatus = (typeof sliderPropStatus)[number];
|
|
8
8
|
export declare const sliderPropStatusDefault: "alert";
|
|
9
9
|
export type SliderPropView = 'default' | 'division';
|
|
10
10
|
export declare const sliderPropSize: readonly ["s", "xs", "m", "l"];
|
|
11
|
-
export type SliderPropSize = typeof sliderPropSize[number];
|
|
11
|
+
export type SliderPropSize = (typeof sliderPropSize)[number];
|
|
12
12
|
export declare const sliderPropSizeDefault: SliderPropSize;
|
|
13
13
|
export type SliderValue<RANGE> = RANGE extends true ? [number, number] : number;
|
|
14
14
|
export type SliderPropOnChange<RANGE> = (value: SliderValue<RANGE>, prop: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","names":["sliderPropStatus","sliderPropStatusDefault","sliderPropSize","sliderPropSizeDefault","isRangeParams","params","range","isNotRangeParams","defaultTooltipFormatter","value","toString","getValueForInput","props","field","getOnChangeForInput","e","onChange","newValue","getIcon","side","getMaxForStartField","max","getMinForEndField","min","getValidStep","step","Array","isArray","Math","abs"],"sources":["../../../../../src/components/Slider/helper.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction } from '../Popover';\nimport { ActiveButton } from './useSlider/helper';\n\nexport const sliderPropStatus = ['alert', 'warning', 'success'] as const;\nexport type SliderPropStatus = typeof sliderPropStatus[number];\nexport const sliderPropStatusDefault = sliderPropStatus[0];\n\nexport type SliderPropView = 'default' | 'division';\n\nexport const sliderPropSize = ['s', 'xs', 'm', 'l'] as const;\nexport type SliderPropSize = typeof sliderPropSize[number];\nexport const sliderPropSizeDefault: SliderPropSize = sliderPropSize[0];\n\nexport type SliderValue<RANGE> = RANGE extends true ? [number, number] : number;\n\nexport type SliderPropOnChange<RANGE> = (\n value: SliderValue<RANGE>,\n prop: {\n e?:\n | Event\n | React.TouchEvent\n | React.MouseEvent\n | React.KeyboardEvent\n | React.ChangeEvent;\n },\n) => void;\n\ntype SliderPropTooltipFormatter = (value: number | undefined) => string;\n\ntype Side = IconComponent | 'input';\n\ntype Props<RANGE extends boolean = false> = {\n className?: string;\n step?: number | number[];\n view?: SliderPropView;\n disabled?: boolean;\n range?: RANGE;\n withTooltip?: boolean;\n value: SliderValue<RANGE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n status?: SliderPropStatus;\n min?: number;\n size?: SliderPropSize;\n max?: number;\n onChange?: SliderPropOnChange<RANGE>;\n onAfterChange?: SliderPropOnChange<RANGE>;\n leftSide?: Side;\n tooltipFormatter?: SliderPropTooltipFormatter;\n rightSide?: Side;\n tooltipDirection?: Direction;\n tooltipPossibleDirections?: Direction[];\n};\n\nexport type Line = {\n width: number;\n active: boolean;\n size?: number[];\n};\n\nexport type SliderLineProps = {\n view?: SliderPropView;\n lines: Line[];\n disabled?: boolean;\n hovered?: boolean;\n onHover?: (hovered: boolean) => void;\n};\n\nexport type SliderPointProps = PropsWithHTMLAttributes<\n {\n value?: number;\n disabled?: boolean;\n focused?: boolean;\n hovered?: boolean;\n withTooltip?: boolean;\n handlePress?: (typeButton: ActiveButton) => void;\n buttonLabel?: ActiveButton;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n popoverPosition?: TrackPosition;\n tooltipFormatter?: SliderPropTooltipFormatter;\n onFocus?: (\n e: React.FocusEvent<HTMLButtonElement> | React.MouseEvent,\n button: ActiveButton,\n ) => void;\n onKeyPress?: (e: React.KeyboardEvent, typeButton?: ActiveButton) => void;\n onHover?: (hovered: boolean) => void;\n position: number;\n active?: boolean;\n tooltipZIndex?: number;\n tooltipDirection?: Direction;\n tooltipPossibleDirections?: Direction[];\n },\n HTMLButtonElement\n>;\n\nexport type SliderProps<RANGE extends boolean> = PropsWithHTMLAttributes<\n Props<RANGE>,\n HTMLDivElement\n>;\n\nexport type SliderComponent = <RANGE extends boolean = false>(\n props: SliderProps<RANGE>,\n) => React.ReactNode | null;\n\nexport const isRangeParams = (\n params: Props<boolean>,\n): params is Props<true> => {\n return !!params.range;\n};\n\nexport const isNotRangeParams = (\n params: Props<boolean>,\n): params is Props<false> => {\n return !params.range;\n};\n\nexport const defaultTooltipFormatter: SliderPropTooltipFormatter = (value) =>\n value?.toString() || '';\n\nexport type TrackPosition = {\n x: number;\n y: number;\n} | null;\n\nexport const getValueForInput = (\n props: SliderProps<boolean>,\n field: 0 | 1,\n): number => {\n if (isRangeParams(props)) {\n return props.value[field];\n }\n return props.value as number;\n};\n\ntype GetOnChangeForInputReturned = (props: {\n e?: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n value: number;\n}) => void;\n\nexport const getOnChangeForInput =\n (props: SliderProps<boolean>, field: 0 | 1): GetOnChangeForInputReturned =>\n ({ e, value }) => {\n if (!props.onChange) {\n return;\n }\n if (isNotRangeParams(props)) {\n props.onChange(value, { e });\n }\n if (isRangeParams(props)) {\n const newValue: SliderValue<true> = field\n ? [props.value[0], value]\n : [value, props.value[1]];\n props.onChange(newValue, {\n e,\n });\n }\n };\n\nexport const getIcon = (side?: Side) => {\n if (side !== 'input') {\n return side;\n }\n};\n\nexport const getMaxForStartField = (props: SliderProps<boolean>) => {\n if (isNotRangeParams(props)) {\n return props.max;\n }\n if (isRangeParams(props)) {\n return props.value[1];\n }\n};\n\nexport const getMinForEndField = (props: SliderProps<boolean>) => {\n if (isNotRangeParams(props)) {\n return props.min;\n }\n if (isRangeParams(props)) {\n return props.value[0];\n }\n};\n\nexport const getValidStep = (\n min: number,\n max: number,\n step?: number | number[],\n) => {\n if (step) {\n if (Array.isArray(step)) {\n return step;\n }\n if (step <= 0) {\n return 1;\n }\n return step;\n }\n return Math.abs((max - min) / 100);\n};\n"],"mappings":"AAOA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAIP,MAAO,IAAME,eAAc,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAvB,CAEP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CA8FP,MAAO,IAAME,cAAa,CAAG,SAC3BC,CAD2B,CAED,CAC1B,MAAO,CAAC,CAACA,CAAM,CAACC,KACjB,CAJM,CAMP,MAAO,IAAMC,iBAAgB,CAAG,SAC9BF,CAD8B,CAEH,CAC3B,MAAO,CAACA,CAAM,CAACC,KAChB,CAJM,CAMP,MAAO,IAAME,wBAAmD,CAAG,SAACC,CAAD,QACjE,QAAAA,CAAK,WAALA,CAAA,QAAAA,CAAK,CAAEC,QAAP,KAAqB,EAD4C,CAA5D,CAQP,MAAO,IAAMC,iBAAgB,CAAG,SAC9BC,CAD8B,CAE9BC,CAF8B,CAGnB,OACPT,cAAa,CAACQ,CAAD,CADN,CAEFA,CAAK,CAACH,KAAN,CAAYI,CAAZ,CAFE,CAIJD,CAAK,CAACH,KACd,CARM,CAeP,MAAO,IAAMK,oBAAmB,CAC9B,SAACF,CAAD,CAA8BC,CAA9B,QACA,YAAkB,IAAfE,EAAe,GAAfA,CAAe,CAAZN,CAAY,GAAZA,KAAY,CAChB,GAAKG,CAAK,CAACI,QAAX,GAGIT,gBAAgB,CAACK,CAAD,CAHpB,EAIEA,CAAK,CAACI,QAAN,CAAeP,CAAf,CAAsB,CAAEM,CAAC,CAADA,CAAF,CAAtB,CAJF,CAMIX,aAAa,CAACQ,CAAD,CANjB,EAM0B,CACxB,GAAMK,EAA2B,CAAGJ,CAAK,CACrC,CAACD,CAAK,CAACH,KAAN,CAAY,CAAZ,CAAD,CAAiBA,CAAjB,CADqC,CAErC,CAACA,CAAD,CAAQG,CAAK,CAACH,KAAN,CAAY,CAAZ,CAAR,CAFJ,CAGAG,CAAK,CAACI,QAAN,CAAeC,CAAf,CAAyB,CACvBF,CAAC,CAADA,CADuB,CAAzB,CAGD,CACF,CAhBD,CADK,CAmBP,MAAO,IAAMG,QAAO,CAAG,SAACC,CAAD,CAAiB,CACtC,GAAa,OAAT,GAAAA,CAAJ,CACE,MAAOA,EAEV,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SAACR,CAAD,CAAiC,OAC9DL,iBAAgB,CAACK,CAAD,CAD8C,CAEzDA,CAAK,CAACS,GAFmD,CAI9DjB,aAAa,CAACQ,CAAD,CAJiD,CAKzDA,CAAK,CAACH,KAAN,CAAY,CAAZ,CALyD,OAOnE,CAPM,CASP,MAAO,IAAMa,kBAAiB,CAAG,SAACV,CAAD,CAAiC,OAC5DL,iBAAgB,CAACK,CAAD,CAD4C,CAEvDA,CAAK,CAACW,GAFiD,CAI5DnB,aAAa,CAACQ,CAAD,CAJ+C,CAKvDA,CAAK,CAACH,KAAN,CAAY,CAAZ,CALuD,OAOjE,CAPM,CASP,MAAO,IAAMe,aAAY,CAAG,SAC1BD,CAD0B,CAE1BF,CAF0B,CAG1BI,CAH0B,CAIvB,OACCA,EADD,CAEGC,KAAK,CAACC,OAAN,CAAcF,CAAd,CAFH,CAGQA,CAHR,CAKW,CAAR,EAAAA,CALH,CAMQ,CANR,CAQMA,CARN,CAUIG,IAAI,CAACC,GAAL,CAAS,CAACR,CAAG,CAAGE,CAAP,EAAc,GAAvB,CACR,CAfM"}
|
|
1
|
+
{"version":3,"file":"helper.js","names":["sliderPropStatus","sliderPropStatusDefault","sliderPropSize","sliderPropSizeDefault","isRangeParams","params","range","isNotRangeParams","defaultTooltipFormatter","value","toString","getValueForInput","props","field","getOnChangeForInput","e","onChange","newValue","getIcon","side","getMaxForStartField","max","getMinForEndField","min","getValidStep","step","Array","isArray","Math","abs"],"sources":["../../../../../src/components/Slider/helper.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction } from '../Popover';\nimport { ActiveButton } from './useSlider/helper';\n\nexport const sliderPropStatus = ['alert', 'warning', 'success'] as const;\nexport type SliderPropStatus = (typeof sliderPropStatus)[number];\nexport const sliderPropStatusDefault = sliderPropStatus[0];\n\nexport type SliderPropView = 'default' | 'division';\n\nexport const sliderPropSize = ['s', 'xs', 'm', 'l'] as const;\nexport type SliderPropSize = (typeof sliderPropSize)[number];\nexport const sliderPropSizeDefault: SliderPropSize = sliderPropSize[0];\n\nexport type SliderValue<RANGE> = RANGE extends true ? [number, number] : number;\n\nexport type SliderPropOnChange<RANGE> = (\n value: SliderValue<RANGE>,\n prop: {\n e?:\n | Event\n | React.TouchEvent\n | React.MouseEvent\n | React.KeyboardEvent\n | React.ChangeEvent;\n },\n) => void;\n\ntype SliderPropTooltipFormatter = (value: number | undefined) => string;\n\ntype Side = IconComponent | 'input';\n\ntype Props<RANGE extends boolean = false> = {\n className?: string;\n step?: number | number[];\n view?: SliderPropView;\n disabled?: boolean;\n range?: RANGE;\n withTooltip?: boolean;\n value: SliderValue<RANGE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n status?: SliderPropStatus;\n min?: number;\n size?: SliderPropSize;\n max?: number;\n onChange?: SliderPropOnChange<RANGE>;\n onAfterChange?: SliderPropOnChange<RANGE>;\n leftSide?: Side;\n tooltipFormatter?: SliderPropTooltipFormatter;\n rightSide?: Side;\n tooltipDirection?: Direction;\n tooltipPossibleDirections?: Direction[];\n};\n\nexport type Line = {\n width: number;\n active: boolean;\n size?: number[];\n};\n\nexport type SliderLineProps = {\n view?: SliderPropView;\n lines: Line[];\n disabled?: boolean;\n hovered?: boolean;\n onHover?: (hovered: boolean) => void;\n};\n\nexport type SliderPointProps = PropsWithHTMLAttributes<\n {\n value?: number;\n disabled?: boolean;\n focused?: boolean;\n hovered?: boolean;\n withTooltip?: boolean;\n handlePress?: (typeButton: ActiveButton) => void;\n buttonLabel?: ActiveButton;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n popoverPosition?: TrackPosition;\n tooltipFormatter?: SliderPropTooltipFormatter;\n onFocus?: (\n e: React.FocusEvent<HTMLButtonElement> | React.MouseEvent,\n button: ActiveButton,\n ) => void;\n onKeyPress?: (e: React.KeyboardEvent, typeButton?: ActiveButton) => void;\n onHover?: (hovered: boolean) => void;\n position: number;\n active?: boolean;\n tooltipZIndex?: number;\n tooltipDirection?: Direction;\n tooltipPossibleDirections?: Direction[];\n },\n HTMLButtonElement\n>;\n\nexport type SliderProps<RANGE extends boolean> = PropsWithHTMLAttributes<\n Props<RANGE>,\n HTMLDivElement\n>;\n\nexport type SliderComponent = <RANGE extends boolean = false>(\n props: SliderProps<RANGE>,\n) => React.ReactNode | null;\n\nexport const isRangeParams = (\n params: Props<boolean>,\n): params is Props<true> => {\n return !!params.range;\n};\n\nexport const isNotRangeParams = (\n params: Props<boolean>,\n): params is Props<false> => {\n return !params.range;\n};\n\nexport const defaultTooltipFormatter: SliderPropTooltipFormatter = (value) =>\n value?.toString() || '';\n\nexport type TrackPosition = {\n x: number;\n y: number;\n} | null;\n\nexport const getValueForInput = (\n props: SliderProps<boolean>,\n field: 0 | 1,\n): number => {\n if (isRangeParams(props)) {\n return props.value[field];\n }\n return props.value as number;\n};\n\ntype GetOnChangeForInputReturned = (props: {\n e?: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n value: number;\n}) => void;\n\nexport const getOnChangeForInput =\n (props: SliderProps<boolean>, field: 0 | 1): GetOnChangeForInputReturned =>\n ({ e, value }) => {\n if (!props.onChange) {\n return;\n }\n if (isNotRangeParams(props)) {\n props.onChange(value, { e });\n }\n if (isRangeParams(props)) {\n const newValue: SliderValue<true> = field\n ? [props.value[0], value]\n : [value, props.value[1]];\n props.onChange(newValue, {\n e,\n });\n }\n };\n\nexport const getIcon = (side?: Side) => {\n if (side !== 'input') {\n return side;\n }\n};\n\nexport const getMaxForStartField = (props: SliderProps<boolean>) => {\n if (isNotRangeParams(props)) {\n return props.max;\n }\n if (isRangeParams(props)) {\n return props.value[1];\n }\n};\n\nexport const getMinForEndField = (props: SliderProps<boolean>) => {\n if (isNotRangeParams(props)) {\n return props.min;\n }\n if (isRangeParams(props)) {\n return props.value[0];\n }\n};\n\nexport const getValidStep = (\n min: number,\n max: number,\n step?: number | number[],\n) => {\n if (step) {\n if (Array.isArray(step)) {\n return step;\n }\n if (step <= 0) {\n return 1;\n }\n return step;\n }\n return Math.abs((max - min) / 100);\n};\n"],"mappings":"AAOA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAIP,MAAO,IAAME,eAAc,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAvB,CAEP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CA8FP,MAAO,IAAME,cAAa,CAAG,SAC3BC,CAD2B,CAED,CAC1B,MAAO,CAAC,CAACA,CAAM,CAACC,KACjB,CAJM,CAMP,MAAO,IAAMC,iBAAgB,CAAG,SAC9BF,CAD8B,CAEH,CAC3B,MAAO,CAACA,CAAM,CAACC,KAChB,CAJM,CAMP,MAAO,IAAME,wBAAmD,CAAG,SAACC,CAAD,QACjE,QAAAA,CAAK,WAALA,CAAA,QAAAA,CAAK,CAAEC,QAAP,KAAqB,EAD4C,CAA5D,CAQP,MAAO,IAAMC,iBAAgB,CAAG,SAC9BC,CAD8B,CAE9BC,CAF8B,CAGnB,OACPT,cAAa,CAACQ,CAAD,CADN,CAEFA,CAAK,CAACH,KAAN,CAAYI,CAAZ,CAFE,CAIJD,CAAK,CAACH,KACd,CARM,CAeP,MAAO,IAAMK,oBAAmB,CAC9B,SAACF,CAAD,CAA8BC,CAA9B,QACA,YAAkB,IAAfE,EAAe,GAAfA,CAAe,CAAZN,CAAY,GAAZA,KAAY,CAChB,GAAKG,CAAK,CAACI,QAAX,GAGIT,gBAAgB,CAACK,CAAD,CAHpB,EAIEA,CAAK,CAACI,QAAN,CAAeP,CAAf,CAAsB,CAAEM,CAAC,CAADA,CAAF,CAAtB,CAJF,CAMIX,aAAa,CAACQ,CAAD,CANjB,EAM0B,CACxB,GAAMK,EAA2B,CAAGJ,CAAK,CACrC,CAACD,CAAK,CAACH,KAAN,CAAY,CAAZ,CAAD,CAAiBA,CAAjB,CADqC,CAErC,CAACA,CAAD,CAAQG,CAAK,CAACH,KAAN,CAAY,CAAZ,CAAR,CAFJ,CAGAG,CAAK,CAACI,QAAN,CAAeC,CAAf,CAAyB,CACvBF,CAAC,CAADA,CADuB,CAAzB,CAGD,CACF,CAhBD,CADK,CAmBP,MAAO,IAAMG,QAAO,CAAG,SAACC,CAAD,CAAiB,CACtC,GAAa,OAAT,GAAAA,CAAJ,CACE,MAAOA,EAEV,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SAACR,CAAD,CAAiC,OAC9DL,iBAAgB,CAACK,CAAD,CAD8C,CAEzDA,CAAK,CAACS,GAFmD,CAI9DjB,aAAa,CAACQ,CAAD,CAJiD,CAKzDA,CAAK,CAACH,KAAN,CAAY,CAAZ,CALyD,OAOnE,CAPM,CASP,MAAO,IAAMa,kBAAiB,CAAG,SAACV,CAAD,CAAiC,OAC5DL,iBAAgB,CAACK,CAAD,CAD4C,CAEvDA,CAAK,CAACW,GAFiD,CAI5DnB,aAAa,CAACQ,CAAD,CAJ+C,CAKvDA,CAAK,CAACH,KAAN,CAAY,CAAZ,CALuD,OAOjE,CAPM,CASP,MAAO,IAAMe,aAAY,CAAG,SAC1BD,CAD0B,CAE1BF,CAF0B,CAG1BI,CAH0B,CAIvB,OACCA,EADD,CAEGC,KAAK,CAACC,OAAN,CAAcF,CAAd,CAFH,CAGQA,CAHR,CAKW,CAAR,EAAAA,CALH,CAMQ,CANR,CAQMA,CARN,CAUIG,IAAI,CAACC,GAAL,CAAS,CAACR,CAAG,CAAGE,CAAP,EAAc,GAAvB,CACR,CAfM"}
|
|
@@ -33,10 +33,10 @@ export type SnackBarItemProps = PropsWithHTMLAttributesAndRef<Omit<SnackBarItemD
|
|
|
33
33
|
progress?: number | boolean;
|
|
34
34
|
}, HTMLDivElement>;
|
|
35
35
|
export declare const snackBarItemStatus: readonly ["normal", "system", "success", "warning", "alert"];
|
|
36
|
-
export type SnackBarItemStatus = typeof snackBarItemStatus[number];
|
|
36
|
+
export type SnackBarItemStatus = (typeof snackBarItemStatus)[number];
|
|
37
37
|
export declare const snackBarItemStatusDefault: SnackBarItemStatus;
|
|
38
38
|
export declare const snackBarItemShowProgressProp: readonly ["timer", "line"];
|
|
39
|
-
export type SnackBarItemShowProgressProp = typeof snackBarItemShowProgressProp[number];
|
|
39
|
+
export type SnackBarItemShowProgressProp = (typeof snackBarItemShowProgressProp)[number];
|
|
40
40
|
export type SnackBarPropGetItemKey<ITEM> = (item: ITEM) => string | number;
|
|
41
41
|
export type SnackBarPropGetItemMessage<ITEM> = (item: ITEM) => React.ReactNode | undefined;
|
|
42
42
|
export type SnackBarPropGetItemStatus<ITEM> = (item: ITEM) => SnackBarItemStatus | undefined;
|
|
@@ -60,10 +60,10 @@ export type Mappers<ITEM> = {
|
|
|
60
60
|
getItemProgress?: SnackBarPropGetItemProgress<ITEM>;
|
|
61
61
|
};
|
|
62
62
|
export declare const snackBarPropForm: readonly ["default", "round", "brick"];
|
|
63
|
-
export type SnackBarPropForm = typeof snackBarPropForm[number];
|
|
63
|
+
export type SnackBarPropForm = (typeof snackBarPropForm)[number];
|
|
64
64
|
export declare const snackBarPropFormDefault: "default";
|
|
65
65
|
export declare const snackBarPropProgressView: readonly ["spinText", "spin", "text"];
|
|
66
|
-
export type SnackBarPropProgressView = typeof snackBarPropProgressView[number];
|
|
66
|
+
export type SnackBarPropProgressView = (typeof snackBarPropProgressView)[number];
|
|
67
67
|
export declare const snackBarPropProgressViewDefault: "spinText";
|
|
68
68
|
export type SnackBarProps<ITEM = SnackBarItemDefault> = PropsWithHTMLAttributesAndRef<{
|
|
69
69
|
items: ITEM[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["snackBarItemStatus","snackBarItemStatusDefault","snackBarItemShowProgressProp","snackBarPropForm","snackBarPropFormDefault","snackBarPropProgressView","snackBarPropProgressViewDefault"],"sources":["../../../../../src/components/SnackBar/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type SnackBarItemDefault = {\n key: string | number;\n message?: React.ReactNode;\n status?: SnackBarItemStatus;\n autoClose?: boolean | number;\n showProgress?: SnackBarItemShowProgressProp;\n icon?: IconComponent;\n actions?: SnackBarPropItemAction[];\n onClose?: (item: SnackBarItemDefault) => void;\n onAutoClose?: (item: SnackBarItemDefault) => void;\n progress?: boolean | number;\n};\n\n/**\n * @deprecated since version 3.16.0 use SnackBarItemDefault\n */\nexport type Item = SnackBarItemDefault;\n\nexport type SnackBarPropItemAction = {\n label: string | number;\n onClick: React.EventHandler<React.MouseEvent>;\n};\n\nexport type SnackBarActionButtonProps = {\n actions: SnackBarPropItemAction[];\n className?: string;\n form?: SnackBarPropForm;\n};\n\nexport type SnackBarItemProps = PropsWithHTMLAttributesAndRef<\n Omit<SnackBarItemDefault, 'onClose' | 'onAutoClose'> & {\n onClose?: () => void;\n form?: SnackBarPropForm;\n onAutoClose?: () => void;\n progressView?: SnackBarPropProgressView;\n progress?: number | boolean;\n },\n HTMLDivElement\n>;\n\nexport const snackBarItemStatus = [\n 'normal',\n 'system',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type SnackBarItemStatus = typeof snackBarItemStatus[number];\nexport const snackBarItemStatusDefault: SnackBarItemStatus =\n snackBarItemStatus[0];\n\nexport const snackBarItemShowProgressProp = ['timer', 'line'] as const;\nexport type SnackBarItemShowProgressProp =\n typeof snackBarItemShowProgressProp[number];\n\nexport type SnackBarPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SnackBarPropGetItemMessage<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type SnackBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => SnackBarItemStatus | undefined;\nexport type SnackBarPropGetItemAutoClose<ITEM> = (\n item: ITEM,\n) => boolean | number | undefined;\nexport type SnackBarPropGetItemShowProgress<ITEM> = (\n item: ITEM,\n) => SnackBarItemShowProgressProp | undefined;\nexport type SnackBarPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type SnackBarPropGetItemActions<ITEM> = (\n item: ITEM,\n) => SnackBarPropItemAction[] | undefined;\nexport type SnackBarPropGetItemOnClose<ITEM> = (\n item: ITEM,\n) => ((item: ITEM) => void) | undefined;\nexport type SnackBarPropGetItemOnAutoClose<ITEM> = (\n item: ITEM,\n) => ((item: ITEM) => void) | undefined;\nexport type SnackBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => number | boolean | undefined;\n\nexport type Mappers<ITEM> = {\n getItemKey?: SnackBarPropGetItemKey<ITEM>;\n getItemMessage?: SnackBarPropGetItemMessage<ITEM>;\n getItemStatus?: SnackBarPropGetItemStatus<ITEM>;\n getItemAutoClose?: SnackBarPropGetItemAutoClose<ITEM>;\n getItemShowProgress?: SnackBarPropGetItemShowProgress<ITEM>;\n getItemIcon?: SnackBarPropGetItemIcon<ITEM>;\n getItemActions?: SnackBarPropGetItemActions<ITEM>;\n getItemOnClose?: SnackBarPropGetItemOnClose<ITEM>;\n getItemOnAutoClose?: SnackBarPropGetItemOnAutoClose<ITEM>;\n getItemProgress?: SnackBarPropGetItemProgress<ITEM>;\n};\n\nexport const snackBarPropForm = ['default', 'round', 'brick'] as const;\nexport type SnackBarPropForm = typeof snackBarPropForm[number];\nexport const snackBarPropFormDefault = snackBarPropForm[0];\n\nexport const snackBarPropProgressView = ['spinText', 'spin', 'text'] as const;\nexport type SnackBarPropProgressView
|
|
1
|
+
{"version":3,"file":"types.js","names":["snackBarItemStatus","snackBarItemStatusDefault","snackBarItemShowProgressProp","snackBarPropForm","snackBarPropFormDefault","snackBarPropProgressView","snackBarPropProgressViewDefault"],"sources":["../../../../../src/components/SnackBar/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type SnackBarItemDefault = {\n key: string | number;\n message?: React.ReactNode;\n status?: SnackBarItemStatus;\n autoClose?: boolean | number;\n showProgress?: SnackBarItemShowProgressProp;\n icon?: IconComponent;\n actions?: SnackBarPropItemAction[];\n onClose?: (item: SnackBarItemDefault) => void;\n onAutoClose?: (item: SnackBarItemDefault) => void;\n progress?: boolean | number;\n};\n\n/**\n * @deprecated since version 3.16.0 use SnackBarItemDefault\n */\nexport type Item = SnackBarItemDefault;\n\nexport type SnackBarPropItemAction = {\n label: string | number;\n onClick: React.EventHandler<React.MouseEvent>;\n};\n\nexport type SnackBarActionButtonProps = {\n actions: SnackBarPropItemAction[];\n className?: string;\n form?: SnackBarPropForm;\n};\n\nexport type SnackBarItemProps = PropsWithHTMLAttributesAndRef<\n Omit<SnackBarItemDefault, 'onClose' | 'onAutoClose'> & {\n onClose?: () => void;\n form?: SnackBarPropForm;\n onAutoClose?: () => void;\n progressView?: SnackBarPropProgressView;\n progress?: number | boolean;\n },\n HTMLDivElement\n>;\n\nexport const snackBarItemStatus = [\n 'normal',\n 'system',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type SnackBarItemStatus = (typeof snackBarItemStatus)[number];\nexport const snackBarItemStatusDefault: SnackBarItemStatus =\n snackBarItemStatus[0];\n\nexport const snackBarItemShowProgressProp = ['timer', 'line'] as const;\nexport type SnackBarItemShowProgressProp =\n (typeof snackBarItemShowProgressProp)[number];\n\nexport type SnackBarPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SnackBarPropGetItemMessage<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type SnackBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => SnackBarItemStatus | undefined;\nexport type SnackBarPropGetItemAutoClose<ITEM> = (\n item: ITEM,\n) => boolean | number | undefined;\nexport type SnackBarPropGetItemShowProgress<ITEM> = (\n item: ITEM,\n) => SnackBarItemShowProgressProp | undefined;\nexport type SnackBarPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type SnackBarPropGetItemActions<ITEM> = (\n item: ITEM,\n) => SnackBarPropItemAction[] | undefined;\nexport type SnackBarPropGetItemOnClose<ITEM> = (\n item: ITEM,\n) => ((item: ITEM) => void) | undefined;\nexport type SnackBarPropGetItemOnAutoClose<ITEM> = (\n item: ITEM,\n) => ((item: ITEM) => void) | undefined;\nexport type SnackBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => number | boolean | undefined;\n\nexport type Mappers<ITEM> = {\n getItemKey?: SnackBarPropGetItemKey<ITEM>;\n getItemMessage?: SnackBarPropGetItemMessage<ITEM>;\n getItemStatus?: SnackBarPropGetItemStatus<ITEM>;\n getItemAutoClose?: SnackBarPropGetItemAutoClose<ITEM>;\n getItemShowProgress?: SnackBarPropGetItemShowProgress<ITEM>;\n getItemIcon?: SnackBarPropGetItemIcon<ITEM>;\n getItemActions?: SnackBarPropGetItemActions<ITEM>;\n getItemOnClose?: SnackBarPropGetItemOnClose<ITEM>;\n getItemOnAutoClose?: SnackBarPropGetItemOnAutoClose<ITEM>;\n getItemProgress?: SnackBarPropGetItemProgress<ITEM>;\n};\n\nexport const snackBarPropForm = ['default', 'round', 'brick'] as const;\nexport type SnackBarPropForm = (typeof snackBarPropForm)[number];\nexport const snackBarPropFormDefault = snackBarPropForm[0];\n\nexport const snackBarPropProgressView = ['spinText', 'spin', 'text'] as const;\nexport type SnackBarPropProgressView =\n (typeof snackBarPropProgressView)[number];\nexport const snackBarPropProgressViewDefault = snackBarPropProgressView[0];\n\nexport type SnackBarProps<ITEM = SnackBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n children?: never;\n form?: SnackBarPropForm;\n progressView?: SnackBarPropProgressView;\n onItemClose?: (item: ITEM) => void;\n onItemAutoClose?: (item: ITEM) => void;\n } & Mappers<ITEM>,\n HTMLDivElement\n > &\n (ITEM extends { key: SnackBarItemDefault['key'] }\n ? {}\n : { getItemKey: SnackBarPropGetItemKey<ITEM> });\n\nexport type SnackBarComponent = <ITEM = SnackBarItemDefault>(\n props: SnackBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type SnackBarTimerPropOnMount = (object: {\n pause: () => void;\n start: () => void;\n}) => void;\n\nexport type SnackBarTimerProps = {\n onMount: SnackBarTimerPropOnMount;\n onTimeIsOver: () => void;\n startTime: number;\n hidden?: boolean;\n className?: string;\n};\n\nexport type SnackBarProgressProps = {\n view: SnackBarPropProgressView;\n progress?: number | boolean;\n className?: string;\n};\n\nexport type SnackBarItemComponent = (\n props: SnackBarItemProps,\n) => React.ReactNode | null;\n"],"mappings":"AA4CA,MAAO,IAAMA,mBAAkB,CAAG,CAChC,QADgC,CAEhC,QAFgC,CAGhC,SAHgC,CAIhC,SAJgC,CAKhC,OALgC,CAA3B,CAQP,MAAO,IAAMC,0BAA6C,CACxDD,kBAAkB,CAAC,CAAD,CADb,CAGP,MAAO,IAAME,6BAA4B,CAAG,CAAC,OAAD,CAAU,MAAV,CAArC,CA8CP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,yBAAwB,CAAG,CAAC,UAAD,CAAa,MAAb,CAAqB,MAArB,CAAjC,CAGP,MAAO,IAAMC,gCAA+B,CAAGD,wBAAwB,CAAC,CAAD,CAAhE"}
|