@consta/uikit 5.30.0 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ColorPicker/index.d.ts +1 -0
- package/ColorPicker/index.js +1 -0
- package/FileCanary/index.d.ts +1 -0
- package/FileCanary/index.js +1 -0
- package/__internal__/src/components/Attachment/Attachment.css +1 -1
- package/__internal__/src/components/Attachment/types.d.ts +1 -1
- package/__internal__/src/components/Attachment/types.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/Attachment.css +1 -1
- package/__internal__/src/components/AttachmentDeprecated/AttachmentDeprecated.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.d.ts +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.js.map +1 -1
- package/__internal__/src/components/AutoComplete/AutoComplete.js +1 -1
- package/__internal__/src/components/AutoComplete/AutoComplete.js.map +1 -1
- package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -0
- package/__internal__/src/components/AutoComplete/types.d.ts +1 -0
- package/__internal__/src/components/AutoComplete/types.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -0
- package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -0
- package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
- package/__internal__/src/components/Avatar/Avatar.d.ts +2 -2
- package/__internal__/src/components/Avatar/Avatar.js.map +1 -1
- package/__internal__/src/components/AvatarGroup/types.d.ts +2 -2
- package/__internal__/src/components/AvatarGroup/types.js.map +1 -1
- package/__internal__/src/components/Badge/Badge.css +2 -2
- package/__internal__/src/components/Badge/maps.js.map +1 -1
- package/__internal__/src/components/Badge/types.d.ts +4 -4
- package/__internal__/src/components/Badge/types.js.map +1 -1
- package/__internal__/src/components/Banner/Banner.d.ts +4 -4
- package/__internal__/src/components/Banner/Banner.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/types.d.ts +3 -3
- package/__internal__/src/components/BookmarkTabs/types.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/types.d.ts +2 -2
- package/__internal__/src/components/Breadcrumbs/types.js.map +1 -1
- package/__internal__/src/components/Button/Button.d.ts +4 -4
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/Card/Card.d.ts +3 -3
- package/__internal__/src/components/Card/Card.js.map +1 -1
- package/__internal__/src/components/Checkbox/Checkbox.css +2 -2
- package/__internal__/src/components/Checkbox/Checkbox.d.ts +3 -3
- package/__internal__/src/components/Checkbox/Checkbox.js.map +1 -1
- package/__internal__/src/components/CheckboxDeprecated/Checkbox.css +2 -2
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.d.ts +3 -3
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/types.d.ts +4 -4
- package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.css +2 -2
- package/__internal__/src/components/Chips/types.d.ts +2 -2
- package/__internal__/src/components/Chips/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/types.d.ts +4 -4
- package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
- package/__internal__/src/components/Collapse/types.d.ts +7 -7
- package/__internal__/src/components/Collapse/types.js.map +1 -1
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.css +7 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.d.ts +3 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.css +3 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.d.ts +5 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.d.ts +15 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.d.ts +8 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js.map +1 -0
- package/__internal__/src/components/ColorPicker/index.d.ts +10 -0
- package/__internal__/src/components/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/index.d.ts +14 -0
- package/__internal__/src/components/ColorPicker/models/index.js +2 -0
- package/__internal__/src/components/ColorPicker/models/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/types.d.ts +33 -0
- package/__internal__/src/components/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/compare.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/convert.d.ts +32 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/format.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/round.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js.map +1 -0
- package/__internal__/src/components/Combobox/Combobox.js +1 -1
- package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
- package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
- package/__internal__/src/components/Combobox/helpers.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
- package/__internal__/src/components/ContextMenu/types.d.ts +6 -3
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +2 -0
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/types.d.ts +7 -6
- package/__internal__/src/components/DatePicker/types.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeGrid/DateTimeGrid.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/types.d.ts +4 -3
- package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.css +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.d.ts +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +4 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +5 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.d.ts +1 -0
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js.map +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js.map +1 -1
- package/__internal__/src/components/FileCanary/FileCanary.d.ts +1 -0
- package/__internal__/src/components/FileCanary/FileCanary.js +2 -0
- package/__internal__/src/components/FileCanary/FileCanary.js.map +1 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.css +1 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.d.ts +4 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js +2 -0
- package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js.map +1 -0
- package/__internal__/src/components/FileCanary/config.d.ts +2 -0
- package/__internal__/src/components/FileCanary/config.js +2 -0
- package/__internal__/src/components/FileCanary/config.js.map +1 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.d.ts +2 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.js +2 -0
- package/__internal__/src/components/FileCanary/fileCanaryGenerator.js.map +1 -0
- package/__internal__/src/components/FileCanary/index.d.ts +4 -0
- package/__internal__/src/components/FileCanary/index.js +2 -0
- package/__internal__/src/components/FileCanary/index.js.map +1 -0
- package/__internal__/src/components/FileCanary/types.d.ts +25 -0
- package/__internal__/src/components/FileCanary/types.js +2 -0
- package/__internal__/src/components/FileCanary/types.js.map +1 -0
- package/__internal__/src/components/FlatSelect/FlatSelect.css +8 -8
- package/__internal__/src/components/FlatSelect/FlatSelect.js +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelect.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.d.ts +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.d.ts +1 -0
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js.map +1 -1
- package/__internal__/src/components/FlatSelect/types.d.ts +1 -0
- package/__internal__/src/components/FlatSelect/types.js.map +1 -1
- package/__internal__/src/components/Grid/types.d.ts +4 -4
- package/__internal__/src/components/Grid/types.js.map +1 -1
- package/__internal__/src/components/GridDeprecated/Grid.css +1 -1
- package/__internal__/src/components/GridDeprecated/GridDeprecated.d.ts +4 -4
- package/__internal__/src/components/GridDeprecated/GridDeprecated.js.map +1 -1
- package/__internal__/src/components/Informer/Informer.d.ts +3 -3
- package/__internal__/src/components/Informer/Informer.js.map +1 -1
- package/__internal__/src/components/Layout/Layout.d.ts +3 -3
- package/__internal__/src/components/Layout/Layout.js.map +1 -1
- package/__internal__/src/components/Layout/useFixed.d.ts +2 -2
- package/__internal__/src/components/Layout/useFixed.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.css +1 -1
- package/__internal__/src/components/ListCanary/types.d.ts +4 -4
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/LoaderDeprecated/Loader.css +2 -2
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.d.ts +1 -1
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.js.map +1 -1
- package/__internal__/src/components/Modal/ModalLayout/ModalLayout.css +4 -4
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.d.ts +2 -2
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.js.map +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +3 -3
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +4 -4
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.js.map +1 -1
- package/__internal__/src/components/Popover/Popover.d.ts +2 -2
- package/__internal__/src/components/Popover/Popover.js.map +1 -1
- package/__internal__/src/components/ProgressLine/ProgressLine.css +1 -1
- package/__internal__/src/components/ProgressLine/types.d.ts +1 -1
- package/__internal__/src/components/ProgressLine/types.js.map +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.d.ts +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css +8 -8
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +5 -5
- package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
- package/__internal__/src/components/Radio/Radio.css +1 -1
- package/__internal__/src/components/Radio/Radio.d.ts +3 -3
- package/__internal__/src/components/Radio/Radio.js.map +1 -1
- package/__internal__/src/components/RadioGroup/types.d.ts +4 -4
- package/__internal__/src/components/RadioGroup/types.js.map +1 -1
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Responses/Responses.js.map +1 -1
- package/__internal__/src/components/Select/Select.js +1 -1
- package/__internal__/src/components/Select/Select.js.map +1 -1
- package/__internal__/src/components/Select/helpers.d.ts +3 -1
- package/__internal__/src/components/Select/helpers.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.css +2 -2
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js.map +1 -1
- package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/types.d.ts +1 -0
- package/__internal__/src/components/SelectCanary/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponents/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponents/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponentsDeprecated/types.js.map +1 -1
- package/__internal__/src/components/Sidebar/types.d.ts +2 -2
- package/__internal__/src/components/Sidebar/types.js.map +1 -1
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.d.ts +2 -2
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.js.map +1 -1
- package/__internal__/src/components/Skeleton/Skeleton.css +1 -1
- package/__internal__/src/components/Slider/helper.d.ts +2 -2
- package/__internal__/src/components/Slider/helper.js.map +1 -1
- package/__internal__/src/components/SnackBar/types.d.ts +4 -4
- package/__internal__/src/components/SnackBar/types.js.map +1 -1
- package/__internal__/src/components/Spoiler/types.d.ts +2 -2
- package/__internal__/src/components/Spoiler/types.js.map +1 -1
- package/__internal__/src/components/Steps/StepsStep/StepsStep.css +1 -1
- package/__internal__/src/components/Steps/types.d.ts +1 -1
- package/__internal__/src/components/Steps/types.js.map +1 -1
- package/__internal__/src/components/Switch/Switch.css +1 -1
- package/__internal__/src/components/Switch/types.d.ts +3 -3
- package/__internal__/src/components/Switch/types.js.map +1 -1
- package/__internal__/src/components/SwitchGroup/types.d.ts +1 -1
- package/__internal__/src/components/SwitchGroup/types.js.map +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.css +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.d.ts +2 -2
- package/__internal__/src/components/Table/Cell/TableCell.js.map +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.d.ts +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
- package/__internal__/src/components/Table/Table.d.ts +3 -3
- package/__internal__/src/components/Table/Table.js.map +1 -1
- package/__internal__/src/components/Table/__mock__/data.mock.d.ts +10 -10
- package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
- package/__internal__/src/components/Table/helpers.d.ts +1 -1
- package/__internal__/src/components/Table/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +4 -4
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/Tag/Tag.d.ts +1 -1
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +3 -3
- package/__internal__/src/components/TagBase/TagBase.js.map +1 -1
- package/__internal__/src/components/Text/Text.d.ts +13 -13
- package/__internal__/src/components/Text/Text.js.map +1 -1
- package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.css +1 -1
- package/__internal__/src/components/TextDeprecated/TextDeprecated.d.ts +13 -13
- package/__internal__/src/components/TextDeprecated/TextDeprecated.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +4 -4
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +2 -2
- package/__internal__/src/components/TextFieldCanary/useTextField.js.map +1 -1
- package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff +0 -0
- package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff2 +0 -0
- package/__internal__/src/components/Theme/_font/Theme_font_gpnDefault.css +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/types.d.ts +1 -1
- package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
- package/__internal__/src/components/Timer/Timer.d.ts +1 -1
- package/__internal__/src/components/Timer/Timer.js.map +1 -1
- package/__internal__/src/components/Tooltip/types.d.ts +2 -2
- package/__internal__/src/components/Tooltip/types.js.map +1 -1
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +2 -2
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.js.map +1 -1
- package/__internal__/src/components/User/User.css +1 -1
- package/__internal__/src/components/User/User.d.ts +4 -4
- package/__internal__/src/components/User/User.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.css +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
- package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.d.ts +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.js.map +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js.map +1 -1
- package/__internal__/src/hooks/useStyleProps/types.js.map +1 -1
- package/__internal__/src/mixs/MixCard/MixCard.d.ts +2 -2
- package/__internal__/src/mixs/MixCard/MixCard.js.map +1 -1
- package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +5 -5
- package/__internal__/src/mixs/MixFlex/MixFlex.js.map +1 -1
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.d.ts +2 -2
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.js.map +1 -1
- package/__internal__/src/mixs/MixVisuallyHidden/MixVisuallyHidden.css +1 -1
- package/__internal__/src/utils/array.js.map +1 -1
- package/__internal__/src/utils/date/index.js +1 -1
- package/__internal__/src/utils/date/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationDeprecated.js","names":["IconBackward","IconForward","React","cnDeprecated","Button","Text","TextField","getPaginationInfo","paginationForms","paginationDefaultForm","paginationSizes","paginationDefaultSize","paginationTypes","paginationDefaultType","paginationPositions","paginationDefaultPosition","getDefaultLabel","totalPages","cnPagination","Pagination","forwardRef","props","ref","currentPage","onChange","getLabel","form","size","type","position","minified","hotkeys","nextPage","label","values","prevPage","containerEventListener","window","className","otherProps","currPage","isStartDots","isEndDots","pages","isEmpty","useState","keys","setKeys","changePage","page","handleClick","e","preventDefault","keyUpListener","event","key","prevState","filter","hotKey","keyDownListener","includes","newKeys","every","useEffect","addEventListener","removeEventListener","itemWidth","show","isActive","width","map","toString","handleChange","value","pageNumber","Number","isNaN"],"sources":["../../../../../src/components/PaginationDeprecated/PaginationDeprecated.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport { IconBackward } from '@consta/icons/IconBackward';\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cnDeprecated } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\nimport { Text } from '../Text/Text';\nimport { TextField, TextFieldPropOnChange } from '../TextField/TextField';\nimport { getPaginationInfo } from './helpers';\n\nexport const paginationForms = ['default', 'round', 'brick'] as const;\nexport type PaginationPropForm = typeof paginationForms[number];\nexport const paginationDefaultForm: PaginationPropForm = 'default';\n\nexport const paginationSizes = ['xs', 's', 'm', 'l'] as const;\nexport type PaginationPropSize = typeof paginationSizes[number];\nexport const paginationDefaultSize: PaginationPropSize = 'm';\n\nexport const paginationTypes = ['default', 'input'] as const;\nexport type PaginationPropType = typeof paginationTypes[number];\nexport const paginationDefaultType: PaginationPropType = 'default';\n\nexport const paginationPositions = ['left', 'center', 'right'] as const;\nexport type PaginationPropPosition = typeof paginationPositions[number];\nexport const paginationDefaultPosition: PaginationPropPosition = 'center';\n\nconst getDefaultLabel = (totalPages: number): string => `из ${totalPages}`;\n\nexport const cnPagination = cnDeprecated('Pagination');\n\ntype HotKey = {\n label: string;\n values: string[];\n};\n\nexport type HotKeys = {\n nextPage: HotKey;\n prevPage: HotKey;\n};\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n onChange: (pageNumber: number) => void;\n getLabel?: (totalPages: number) => string;\n form?: PaginationPropForm;\n size?: PaginationPropSize;\n type?: PaginationPropType;\n hotkeys?: HotKeys;\n containerEventListener?: HTMLElement | Window;\n className?: string;\n} & (\n | {\n minified?: true;\n position?: never;\n }\n | {\n minified?: false;\n position?: PaginationPropPosition;\n }\n);\n\ntype Pagination = (\n props: PropsWithHTMLAttributesAndRef<Props, HTMLDivElement>,\n) => React.ReactNode | null;\n\nexport const Pagination: Pagination = React.forwardRef((props, ref) => {\n const {\n currentPage = 0,\n totalPages = 0,\n onChange,\n getLabel = getDefaultLabel,\n form = paginationDefaultForm,\n size = paginationDefaultSize,\n type = paginationDefaultType,\n position = paginationDefaultPosition,\n minified = false,\n hotkeys = {\n nextPage: {\n label: 'Alt →',\n values: ['Alt', 'ArrowRight'],\n },\n prevPage: {\n label: '← Alt',\n values: ['Alt', 'ArrowLeft'],\n },\n },\n containerEventListener = window,\n className,\n ...otherProps\n } = props;\n\n const currPage = currentPage + 1;\n const { prevPage, nextPage, isStartDots, isEndDots, pages, isEmpty } =\n getPaginationInfo(currPage, totalPages);\n const [keys, setKeys] = React.useState<string[]>([]);\n\n const changePage = (page: number | null) => {\n if (page && page !== currPage && onChange) {\n onChange(page - 1);\n }\n };\n\n const handleClick = (page: number | null) => (e: React.MouseEvent) => {\n e.preventDefault();\n changePage(page);\n };\n\n const handleChange: TextFieldPropOnChange = (value) => {\n const pageNumber = Number(value);\n\n if (pageNumber > totalPages || Number.isNaN(pageNumber)) return;\n\n if (onChange) {\n onChange(pageNumber - 1);\n }\n };\n\n const keyUpListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n setKeys((prevState) => prevState.filter((hotKey) => hotKey !== key));\n };\n\n const keyDownListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n if (\n hotkeys.nextPage.values.includes(key) ||\n hotkeys.prevPage.values.includes(key)\n ) {\n const newKeys = [...keys, key];\n if (hotkeys.nextPage.values.every((hotKey) => newKeys.includes(hotKey))) {\n changePage(nextPage);\n } else if (\n hotkeys.prevPage.values.every((hotKey) => newKeys.includes(hotKey))\n ) {\n changePage(prevPage);\n }\n setKeys(newKeys);\n }\n };\n\n React.useEffect(() => {\n containerEventListener.addEventListener('keydown', keyDownListener);\n containerEventListener.addEventListener('keyup', keyUpListener);\n return () => {\n containerEventListener.removeEventListener('keydown', keyDownListener);\n containerEventListener.removeEventListener('keyup', keyUpListener);\n };\n });\n\n const itemWidth = `var(--control-height-${size})`;\n\n if (!totalPages) return null;\n\n return (\n (!isEmpty && (\n <nav\n className={cnPagination(\n {\n form,\n size,\n position: minified ? paginationDefaultPosition : position,\n },\n [className],\n )}\n ref={ref}\n {...otherProps}\n >\n {(currPage > 1 || minified) && (\n <div className={cnPagination('PrevPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemLeft', {\n minified,\n show: currPage > 1,\n })}\n label=\"Назад\"\n iconLeft={IconBackward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(prevPage)}\n />\n {!minified && (\n <Text\n className={cnPagination('TipLeft')}\n size=\"xs\"\n view=\"ghost\"\n lineHeight=\"m\"\n >\n {hotkeys.prevPage.label}\n </Text>\n )}\n </div>\n )}\n {type === paginationDefaultType ? (\n <div className={cnPagination('Pages')}>\n {isStartDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', { isActive: currPage === 1 })}\n style={{ width: itemWidth }}\n label=\"1\"\n title=\"1\"\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(1)}\n />\n )}\n {isStartDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n lineHeight=\"m\"\n >\n ...\n </Text>\n )}\n {pages.map((page) => (\n <Button\n type=\"button\"\n key={page}\n className={cnPagination('Item', {\n isActive: currPage === page,\n })}\n style={{ width: itemWidth }}\n label={page}\n title={`${page}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(page)}\n />\n ))}\n {isEndDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n lineHeight=\"m\"\n >\n ...\n </Text>\n )}\n {isEndDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', {\n isActive: currPage === totalPages,\n })}\n style={{ width: itemWidth }}\n label={totalPages}\n title={`${totalPages}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(totalPages)}\n />\n )}\n </div>\n ) : (\n <div className={cnPagination('Pages')}>\n <TextField\n className={cnPagination('Input')}\n form={form}\n size={size}\n value={currPage.toString()}\n onChange={handleChange}\n />\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('Total')}\n lineHeight=\"m\"\n >\n {getLabel(totalPages)}\n </Text>\n </div>\n )}\n {(currPage < totalPages || minified) && (\n <div className={cnPagination('NextPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemRight', {\n minified,\n show: currPage < totalPages,\n })}\n label=\"Вперёд\"\n iconRight={IconForward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(nextPage)}\n />\n {!minified && (\n <Text\n className={cnPagination('TipRight')}\n size=\"xs\"\n view=\"ghost\"\n lineHeight=\"m\"\n >\n {hotkeys.nextPage.label}\n </Text>\n )}\n </div>\n )}\n </nav>\n )) ||\n null\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaginationDeprecated.js","names":["IconBackward","IconForward","React","cnDeprecated","Button","Text","TextField","getPaginationInfo","paginationForms","paginationDefaultForm","paginationSizes","paginationDefaultSize","paginationTypes","paginationDefaultType","paginationPositions","paginationDefaultPosition","getDefaultLabel","totalPages","cnPagination","Pagination","forwardRef","props","ref","currentPage","onChange","getLabel","form","size","type","position","minified","hotkeys","nextPage","label","values","prevPage","containerEventListener","window","className","otherProps","currPage","isStartDots","isEndDots","pages","isEmpty","useState","keys","setKeys","changePage","page","handleClick","e","preventDefault","keyUpListener","event","key","prevState","filter","hotKey","keyDownListener","includes","newKeys","every","useEffect","addEventListener","removeEventListener","itemWidth","show","isActive","width","map","toString","handleChange","value","pageNumber","Number","isNaN"],"sources":["../../../../../src/components/PaginationDeprecated/PaginationDeprecated.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport { IconBackward } from '@consta/icons/IconBackward';\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cnDeprecated } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\nimport { Text } from '../Text/Text';\nimport { TextField, TextFieldPropOnChange } from '../TextField/TextField';\nimport { getPaginationInfo } from './helpers';\n\nexport const paginationForms = ['default', 'round', 'brick'] as const;\nexport type PaginationPropForm = (typeof paginationForms)[number];\nexport const paginationDefaultForm: PaginationPropForm = 'default';\n\nexport const paginationSizes = ['xs', 's', 'm', 'l'] as const;\nexport type PaginationPropSize = (typeof paginationSizes)[number];\nexport const paginationDefaultSize: PaginationPropSize = 'm';\n\nexport const paginationTypes = ['default', 'input'] as const;\nexport type PaginationPropType = (typeof paginationTypes)[number];\nexport const paginationDefaultType: PaginationPropType = 'default';\n\nexport const paginationPositions = ['left', 'center', 'right'] as const;\nexport type PaginationPropPosition = (typeof paginationPositions)[number];\nexport const paginationDefaultPosition: PaginationPropPosition = 'center';\n\nconst getDefaultLabel = (totalPages: number): string => `из ${totalPages}`;\n\nexport const cnPagination = cnDeprecated('Pagination');\n\ntype HotKey = {\n label: string;\n values: string[];\n};\n\nexport type HotKeys = {\n nextPage: HotKey;\n prevPage: HotKey;\n};\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n onChange: (pageNumber: number) => void;\n getLabel?: (totalPages: number) => string;\n form?: PaginationPropForm;\n size?: PaginationPropSize;\n type?: PaginationPropType;\n hotkeys?: HotKeys;\n containerEventListener?: HTMLElement | Window;\n className?: string;\n} & (\n | {\n minified?: true;\n position?: never;\n }\n | {\n minified?: false;\n position?: PaginationPropPosition;\n }\n);\n\ntype Pagination = (\n props: PropsWithHTMLAttributesAndRef<Props, HTMLDivElement>,\n) => React.ReactNode | null;\n\nexport const Pagination: Pagination = React.forwardRef((props, ref) => {\n const {\n currentPage = 0,\n totalPages = 0,\n onChange,\n getLabel = getDefaultLabel,\n form = paginationDefaultForm,\n size = paginationDefaultSize,\n type = paginationDefaultType,\n position = paginationDefaultPosition,\n minified = false,\n hotkeys = {\n nextPage: {\n label: 'Alt →',\n values: ['Alt', 'ArrowRight'],\n },\n prevPage: {\n label: '← Alt',\n values: ['Alt', 'ArrowLeft'],\n },\n },\n containerEventListener = window,\n className,\n ...otherProps\n } = props;\n\n const currPage = currentPage + 1;\n const { prevPage, nextPage, isStartDots, isEndDots, pages, isEmpty } =\n getPaginationInfo(currPage, totalPages);\n const [keys, setKeys] = React.useState<string[]>([]);\n\n const changePage = (page: number | null) => {\n if (page && page !== currPage && onChange) {\n onChange(page - 1);\n }\n };\n\n const handleClick = (page: number | null) => (e: React.MouseEvent) => {\n e.preventDefault();\n changePage(page);\n };\n\n const handleChange: TextFieldPropOnChange = (value) => {\n const pageNumber = Number(value);\n\n if (pageNumber > totalPages || Number.isNaN(pageNumber)) return;\n\n if (onChange) {\n onChange(pageNumber - 1);\n }\n };\n\n const keyUpListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n setKeys((prevState) => prevState.filter((hotKey) => hotKey !== key));\n };\n\n const keyDownListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n if (\n hotkeys.nextPage.values.includes(key) ||\n hotkeys.prevPage.values.includes(key)\n ) {\n const newKeys = [...keys, key];\n if (hotkeys.nextPage.values.every((hotKey) => newKeys.includes(hotKey))) {\n changePage(nextPage);\n } else if (\n hotkeys.prevPage.values.every((hotKey) => newKeys.includes(hotKey))\n ) {\n changePage(prevPage);\n }\n setKeys(newKeys);\n }\n };\n\n React.useEffect(() => {\n containerEventListener.addEventListener('keydown', keyDownListener);\n containerEventListener.addEventListener('keyup', keyUpListener);\n return () => {\n containerEventListener.removeEventListener('keydown', keyDownListener);\n containerEventListener.removeEventListener('keyup', keyUpListener);\n };\n });\n\n const itemWidth = `var(--control-height-${size})`;\n\n if (!totalPages) return null;\n\n return (\n (!isEmpty && (\n <nav\n className={cnPagination(\n {\n form,\n size,\n position: minified ? paginationDefaultPosition : position,\n },\n [className],\n )}\n ref={ref}\n {...otherProps}\n >\n {(currPage > 1 || minified) && (\n <div className={cnPagination('PrevPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemLeft', {\n minified,\n show: currPage > 1,\n })}\n label=\"Назад\"\n iconLeft={IconBackward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(prevPage)}\n />\n {!minified && (\n <Text\n className={cnPagination('TipLeft')}\n size=\"xs\"\n view=\"ghost\"\n lineHeight=\"m\"\n >\n {hotkeys.prevPage.label}\n </Text>\n )}\n </div>\n )}\n {type === paginationDefaultType ? (\n <div className={cnPagination('Pages')}>\n {isStartDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', { isActive: currPage === 1 })}\n style={{ width: itemWidth }}\n label=\"1\"\n title=\"1\"\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(1)}\n />\n )}\n {isStartDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n lineHeight=\"m\"\n >\n ...\n </Text>\n )}\n {pages.map((page) => (\n <Button\n type=\"button\"\n key={page}\n className={cnPagination('Item', {\n isActive: currPage === page,\n })}\n style={{ width: itemWidth }}\n label={page}\n title={`${page}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(page)}\n />\n ))}\n {isEndDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n lineHeight=\"m\"\n >\n ...\n </Text>\n )}\n {isEndDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', {\n isActive: currPage === totalPages,\n })}\n style={{ width: itemWidth }}\n label={totalPages}\n title={`${totalPages}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(totalPages)}\n />\n )}\n </div>\n ) : (\n <div className={cnPagination('Pages')}>\n <TextField\n className={cnPagination('Input')}\n form={form}\n size={size}\n value={currPage.toString()}\n onChange={handleChange}\n />\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('Total')}\n lineHeight=\"m\"\n >\n {getLabel(totalPages)}\n </Text>\n </div>\n )}\n {(currPage < totalPages || minified) && (\n <div className={cnPagination('NextPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemRight', {\n minified,\n show: currPage < totalPages,\n })}\n label=\"Вперёд\"\n iconRight={IconForward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(nextPage)}\n />\n {!minified && (\n <Text\n className={cnPagination('TipRight')}\n size=\"xs\"\n view=\"ghost\"\n lineHeight=\"m\"\n >\n {hotkeys.nextPage.label}\n </Text>\n )}\n </div>\n )}\n </nav>\n )) ||\n null\n );\n});\n"],"mappings":"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"}
|
|
@@ -9,9 +9,9 @@ import { PropsWithJsxAttributes } from '../../utils/types/PropsWithJsxAttributes
|
|
|
9
9
|
export declare const directionsStartCenter: readonly ["downCenter", "upCenter", "downRight", "downLeft", "upRight", "upLeft", "leftUp", "leftCenter", "leftDown", "rightUp", "rightCenter", "rightDown"];
|
|
10
10
|
export declare const directionsStartEdge: readonly ["downStartLeft", "upStartLeft", "downStartRight", "upStartRight", "leftStartUp", "leftStartDown", "rightStartUp", "rightStartDown"];
|
|
11
11
|
export declare const popoverPropOffset: readonly ["3xs", "2xs", "xs", "s", "m", "l", "xl", "2xl", "3xl", "4xl", "5xl", "6xl"];
|
|
12
|
-
export type PopoverPropOffset = typeof popoverPropOffset[number] | number;
|
|
12
|
+
export type PopoverPropOffset = (typeof popoverPropOffset)[number] | number;
|
|
13
13
|
export declare const directions: ("downCenter" | "upCenter" | "downRight" | "downLeft" | "upRight" | "upLeft" | "leftUp" | "leftCenter" | "leftDown" | "rightUp" | "rightCenter" | "rightDown" | "downStartLeft" | "upStartLeft" | "downStartRight" | "upStartRight" | "leftStartUp" | "leftStartDown" | "rightStartUp" | "rightStartDown")[];
|
|
14
|
-
export type Direction = typeof directions[number];
|
|
14
|
+
export type Direction = (typeof directions)[number];
|
|
15
15
|
export type Position = {
|
|
16
16
|
x: number;
|
|
17
17
|
y: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","PortalWithTheme","PortalWithThemeConsumer","useTheme","useComponentSize","useForkRef","cn","isRenderProp","isNumber","isString","getComputedPositionAndDirection","getPointPosition","getRenderPosition","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","cnPopover","Popover","props","componentRef","children","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","onClickOutside","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","viewportRef","container","window","body","otherProps","viewportElement","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","isActive","scrollAnchorRef","onRequestReposition","includes","renderPosition","notVisible"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n PortalWithTheme,\n PortalWithThemeConsumer,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { ClickOutsideHandler } from '##/hooks/useClickOutside';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cn } from '##/utils/bem';\nimport { isRenderProp } from '##/utils/isRenderProp';\nimport { isNumber, isString } from '##/utils/type-guards';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport {\n getComputedPositionAndDirection,\n getPointPosition,\n getRenderPosition,\n} from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = typeof popoverPropOffset[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = typeof directions[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type PopoverProps = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n isInteractive?: boolean;\n children?: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & PositioningProps\n>;\n\nexport type Props = PopoverProps; // удалить при мажоре\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n viewportRef,\n container = window.document.body,\n ...otherProps\n } = props;\n\n const viewportElement = viewportRef?.current || document.documentElement;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: viewportElement.clientWidth,\n height: viewportElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: getPointPosition(\n viewportElement,\n anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n !!viewportRef?.current,\n ),\n anchorSize,\n spareDirection,\n });\n\n useEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current) &&\n !bannedDirections.includes(direction) &&\n direction !== spareDirection\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n const renderPosition = getRenderPosition(\n viewportElement,\n position,\n !!viewportRef?.current,\n width,\n height,\n );\n\n const notVisible = !renderPosition || !height || !width;\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction, notVisible }, [className])}\n container={container}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ...(notVisible\n ? {}\n : {\n ['--popover-left' as string]: `${renderPosition.x}px`,\n ['--popover-top' as string]: `${renderPosition.y}px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position\n ? undefined\n : 'hidden',\n }),\n }}\n >\n <PortalWithThemeConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </PortalWithThemeConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","PortalWithTheme","PortalWithThemeConsumer","useTheme","useComponentSize","useForkRef","cn","isRenderProp","isNumber","isString","getComputedPositionAndDirection","getPointPosition","getRenderPosition","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","cnPopover","Popover","props","componentRef","children","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","onClickOutside","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","viewportRef","container","window","body","otherProps","viewportElement","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","isActive","scrollAnchorRef","onRequestReposition","includes","renderPosition","notVisible"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n PortalWithTheme,\n PortalWithThemeConsumer,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { ClickOutsideHandler } from '##/hooks/useClickOutside';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cn } from '##/utils/bem';\nimport { isRenderProp } from '##/utils/isRenderProp';\nimport { isNumber, isString } from '##/utils/type-guards';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport {\n getComputedPositionAndDirection,\n getPointPosition,\n getRenderPosition,\n} from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = (typeof popoverPropOffset)[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = (typeof directions)[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type PopoverProps = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n isInteractive?: boolean;\n children?: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & PositioningProps\n>;\n\nexport type Props = PopoverProps; // удалить при мажоре\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n viewportRef,\n container = window.document.body,\n ...otherProps\n } = props;\n\n const viewportElement = viewportRef?.current || document.documentElement;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: viewportElement.clientWidth,\n height: viewportElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: getPointPosition(\n viewportElement,\n anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n !!viewportRef?.current,\n ),\n anchorSize,\n spareDirection,\n });\n\n useEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current) &&\n !bannedDirections.includes(direction) &&\n direction !== spareDirection\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n const renderPosition = getRenderPosition(\n viewportElement,\n position,\n !!viewportRef?.current,\n width,\n height,\n );\n\n const notVisible = !renderPosition || !height || !width;\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction, notVisible }, [className])}\n container={container}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ...(notVisible\n ? {}\n : {\n ['--popover-left' as string]: `${renderPosition.x}px`,\n ['--popover-top' as string]: `${renderPosition.y}px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position\n ? undefined\n : 'hidden',\n }),\n }}\n >\n <PortalWithThemeConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </PortalWithThemeConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ProgressLine{position:relative;width:100%}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine:after{content:"";position:absolute;top:0}.ProgressLine_mode_step{min-height:var(--progress-line-height)}.ProgressLine_mode_step:before{background:var(--color-bg-system);content:"";height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask);position:absolute;top:0;width:100%}.ProgressLine_mode_step:after{background:var(--color-control-bg-primary);height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask);transition:width .3s;width:var(--progress-line-background-active-width)}.ProgressLine_mode_determinate{background:var(--color-bg-system);height:var(--progress-line-height)}.ProgressLine_mode_determinate:after{background-color:var(--color-bg-brand);height:100%;transform:scaleX(var(--progress-line-value));transform-origin:left;transition:transform .3s;width:100%}.ProgressLine_mode_indeterminate{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden}.ProgressLine_mode_indeterminate:after{animation:ProgressLineAnimation 2s linear infinite;background-color:var(--color-bg-brand);height:100%;transform-origin:left;transition:transform .3s;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Steps{--progress-line-width-no-gap:calc(100% - (var(--progress-line-steps) - 1)*var(--space-3xs));grid
|
|
1
|
+
.ProgressLine{position:relative;width:100%}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine:after{content:"";position:absolute;top:0}.ProgressLine_mode_step{min-height:var(--progress-line-height)}.ProgressLine_mode_step:before{background:var(--color-bg-system);content:"";height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask);position:absolute;top:0;width:100%}.ProgressLine_mode_step:after{background:var(--color-control-bg-primary);height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask);transition:width .3s;width:var(--progress-line-background-active-width)}.ProgressLine_mode_determinate{background:var(--color-bg-system);height:var(--progress-line-height)}.ProgressLine_mode_determinate:after{background-color:var(--color-bg-brand);height:100%;transform:scaleX(var(--progress-line-value));transform-origin:left;transition:transform .3s;width:100%}.ProgressLine_mode_indeterminate{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden}.ProgressLine_mode_indeterminate:after{animation:ProgressLineAnimation 2s linear infinite;background-color:var(--color-bg-brand);height:100%;transform-origin:left;transition:transform .3s;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Steps{--progress-line-width-no-gap:calc(100% - (var(--progress-line-steps) - 1)*var(--space-3xs));background:transparent;display:grid;gap:var(--space-3xs);grid-template-columns:repeat(var(--progress-line-steps),calc(var(--progress-line-width-no-gap)/var(--progress-line-steps)));height:auto;margin-top:var(--progress-line-height)}.ProgressLine-Label{margin-top:var(--space-3xs)}@keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
3
3
|
export declare const progressLinePropSize: readonly ["m", "s"];
|
|
4
|
-
export type ProgressLinePropSize = typeof progressLinePropSize[number];
|
|
4
|
+
export type ProgressLinePropSize = (typeof progressLinePropSize)[number];
|
|
5
5
|
export declare const defaultProgressLinePropSize: "m";
|
|
6
6
|
export type ProgressLineItemDefault = {
|
|
7
7
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["progressLinePropSize","defaultProgressLinePropSize"],"sources":["../../../../../src/components/ProgressLine/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressLinePropSize = ['m', 's'] as const;\nexport type ProgressLinePropSize = typeof progressLinePropSize[number];\nexport const defaultProgressLinePropSize = progressLinePropSize[0];\n\nexport type ProgressLineItemDefault = {\n label?: string;\n};\n\nexport type ProgressLinePropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type ProgressLineProps<ITEM = ProgressLineItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: ProgressLinePropSize;\n value?: number;\n steps?: ITEM[];\n getItemLabel?: ProgressLinePropGetItemLabel<ITEM>;\n },\n HTMLDivElement\n >;\n\nexport type ProgressLineComponent = <ITEM>(\n props: ProgressLineProps<ITEM>,\n) => React.ReactNode | null;\n"],"mappings":"AAIA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAA2B,CAAGD,oBAAoB,CAAC,CAAD,CAAxD"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["progressLinePropSize","defaultProgressLinePropSize"],"sources":["../../../../../src/components/ProgressLine/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressLinePropSize = ['m', 's'] as const;\nexport type ProgressLinePropSize = (typeof progressLinePropSize)[number];\nexport const defaultProgressLinePropSize = progressLinePropSize[0];\n\nexport type ProgressLineItemDefault = {\n label?: string;\n};\n\nexport type ProgressLinePropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type ProgressLineProps<ITEM = ProgressLineItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: ProgressLinePropSize;\n value?: number;\n steps?: ITEM[];\n getItemLabel?: ProgressLinePropGetItemLabel<ITEM>;\n },\n HTMLDivElement\n >;\n\nexport type ProgressLineComponent = <ITEM>(\n props: ProgressLineProps<ITEM>,\n) => React.ReactNode | null;\n"],"mappings":"AAIA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAA2B,CAAGD,oBAAoB,CAAC,CAAD,CAAxD"}
|
|
@@ -2,7 +2,7 @@ import './ProgressSpin.css';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';
|
|
4
4
|
export declare const progressSpinPropSize: readonly ["m", "s", "l", "xl", "2xl"];
|
|
5
|
-
export type ProgressSpinPropSize = typeof progressSpinPropSize[number];
|
|
5
|
+
export type ProgressSpinPropSize = (typeof progressSpinPropSize)[number];
|
|
6
6
|
export declare const progressSpinPropSizeDefault: ProgressSpinPropSize;
|
|
7
7
|
type Props = {
|
|
8
8
|
size?: ProgressSpinPropSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressSpin.js","names":["React","useMemo","cn","getByMap","isNumber","progressSpinPropSize","progressSpinPropSizeDefault","cnProgressSpin","sizeMap","strokeWidthMap","getSvgParamsBySize","size","sizeOfPixels","strokeWidth","radius","strokeDasharray","Math","PI","ProgressSpin","forwardRef","props","ref","progressProp","progress","value","animation","className","otherProps","animatedProgress","spin"],"sources":["../../../../../src/components/ProgressSpin/ProgressSpin.tsx"],"sourcesContent":["import './ProgressSpin.css';\n\nimport React, { useMemo } from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isNumber } from '../../utils/type-guards';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressSpinPropSize = ['m', 's', 'l', 'xl', '2xl'] as const;\nexport type ProgressSpinPropSize = typeof progressSpinPropSize[number];\nexport const progressSpinPropSizeDefault: ProgressSpinPropSize =\n progressSpinPropSize[0];\n\ntype Props = {\n size?: ProgressSpinPropSize;\n className?: string;\n progress?: number;\n value?: number;\n animation?: boolean;\n children?: never;\n};\nexport type ProgressSpinProps = PropsWithHTMLAttributes<Props, SVGElement>;\n\nexport const cnProgressSpin = cn('ProgressSpin');\n\nconst sizeMap: Record<ProgressSpinPropSize, number> = {\n 's': 12,\n 'm': 20,\n 'l': 28,\n 'xl': 36,\n '2xl': 44,\n};\n\nconst strokeWidthMap: Record<ProgressSpinPropSize, number> = {\n 's': 2,\n 'm': 2,\n 'l': 2.2,\n 'xl': 2.7,\n '2xl': 3.5,\n};\n\nfunction getSvgParamsBySize(\n size: ProgressSpinPropSize,\n): [number, number, number, number] {\n const sizeOfPixels = getByMap(sizeMap, size);\n const strokeWidth = getByMap(strokeWidthMap, size);\n const radius = (sizeOfPixels - strokeWidth) / 2;\n const strokeDasharray = radius * 2 * Math.PI;\n\n return [sizeOfPixels, strokeWidth, radius, strokeDasharray];\n}\n\nexport const ProgressSpin = React.forwardRef<SVGSVGElement, ProgressSpinProps>(\n (props, ref) => {\n const {\n size = progressSpinPropSizeDefault,\n progress: progressProp,\n value,\n animation,\n className,\n ...otherProps\n } = props;\n const [sizeOfPixels, strokeWidth, radius, strokeDasharray] = useMemo(\n () => getSvgParamsBySize(size),\n [size],\n );\n\n const progress = value ?? progressProp;\n\n const animatedProgress = isNumber(progress) ? progress : 50;\n const strokeDashoffset =\n strokeDasharray - (strokeDasharray * animatedProgress) / 100;\n\n return (\n <svg\n {...otherProps}\n className={cnProgressSpin({ spin: !isNumber(progress) }, [className])}\n width={sizeOfPixels}\n height={sizeOfPixels}\n viewBox={`0 0 ${sizeOfPixels} ${sizeOfPixels}`}\n ref={ref}\n >\n <circle\n className={cnProgressSpin('Circle', { animation })}\n cx={sizeOfPixels / 2}\n cy={sizeOfPixels / 2}\n r={radius}\n strokeWidth={strokeWidth}\n strokeDasharray={strokeDasharray}\n strokeDashoffset={strokeDashoffset}\n />\n </svg>\n );\n },\n);\n"],"mappings":"wNAAA,2BAEA,MAAOA,MAAP,EAAgBC,OAAhB,KAA+B,OAA/B,CAEA,OAASC,EAAT,uBACA,OAASC,QAAT,4BACA,OAASC,QAAT,+BAGA,MAAO,IAAMC,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,KAAtB,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAaP,MAAO,IAAME,eAAc,CAAGL,EAAE,CAAC,cAAD,CAAzB,C,GAEDM,QAA6C,CAAG,CACpD,EAAK,EAD+C,CAEpD,EAAK,EAF+C,CAGpD,EAAK,EAH+C,CAIpD,GAAM,EAJ8C,CAKpD,MAAO,EAL6C,C,CAQhDC,cAAoD,CAAG,CAC3D,EAAK,CADsD,CAE3D,EAAK,CAFsD,CAG3D,EAAK,GAHsD,CAI3D,GAAM,GAJqD,CAK3D,MAAO,GALoD,C,CAQ7D,QAASC,mBAAT,CACEC,CADF,CAEoC,IAC5BC,EAAY,CAAGT,QAAQ,CAACK,OAAD,CAAUG,CAAV,CADK,CAE5BE,CAAW,CAAGV,QAAQ,CAACM,cAAD,CAAiBE,CAAjB,CAFM,CAG5BG,CAAM,CAAG,CAACF,CAAY,CAAGC,CAAhB,EAA+B,CAHZ,CAI5BE,CAAe,CAAY,CAAT,CAAAD,CAAM,CAAOE,IAAI,CAACC,EAJR,CAMlC,MAAO,CAACL,CAAD,CAAeC,CAAf,CAA4BC,CAA5B,CAAoCC,CAApC,CACR,CAED,MAAO,IAAMG,aAAY,CAAGlB,KAAK,CAACmB,UAAN,CAC1B,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAQVD,CARU,CAEZT,IAFY,CAEZA,CAFY,YAELL,2BAFK,GAGFgB,CAHE,CAQVF,CARU,CAGZG,QAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,KAJY,CAKZC,CALY,CAQVL,CARU,CAKZK,SALY,CAMZC,CANY,CAQVN,CARU,CAMZM,SANY,CAOTC,CAPS,0BAQVP,CARU,cAS+CnB,OAAO,CAClE,iBAAMS,mBAAkB,CAACC,CAAD,CAAxB,CADkE,CAElE,CAACA,CAAD,CAFkE,CATtD,uBASPC,CATO,MASOC,CATP,MASoBC,CATpB,MAS4BC,CAT5B,MAcRQ,CAAQ,QAAGC,CAAH,WAAGA,CAAH,CAAGA,CAAH,CAAYF,CAdZ,CAgBRM,CAAgB,CAAGxB,QAAQ,CAACmB,CAAD,CAAR,CAAqBA,CAArB,CAAgC,EAhB3C,CAoBd,MACE,4CACMI,CADN,EAEE,SAAS,CAAEpB,cAAc,CAAC,CAAEsB,IAAI,CAAE,CAACzB,QAAQ,CAACmB,CAAD,CAAjB,CAAD,CAAgC,CAACG,CAAD,CAAhC,CAF3B,CAGE,KAAK,CAAEd,CAHT,CAIE,MAAM,CAAEA,CAJV,CAKE,OAAO,eAASA,CAAT,aAAyBA,CAAzB,CALT,CAME,GAAG,CAAES,CANP,GAQE,8BACE,SAAS,CAAEd,cAAc,CAAC,QAAD,CAAW,CAAEkB,SAAS,CAATA,CAAF,CAAX,CAD3B,CAEE,EAAE,CAAEb,CAAY,CAAG,CAFrB,CAGE,EAAE,CAAEA,CAAY,CAAG,CAHrB,CAIE,CAAC,CAAEE,CAJL,CAKE,WAAW,CAAED,CALf,CAME,eAAe,CAAEE,CANnB,CAOE,gBAAgB,CAlBpBA,CAAe,CAAIA,CAAe,CAAGa,CAAnB,CAAuC,GAWvD,EARF,CAmBH,CAzCyB,CAArB"}
|
|
1
|
+
{"version":3,"file":"ProgressSpin.js","names":["React","useMemo","cn","getByMap","isNumber","progressSpinPropSize","progressSpinPropSizeDefault","cnProgressSpin","sizeMap","strokeWidthMap","getSvgParamsBySize","size","sizeOfPixels","strokeWidth","radius","strokeDasharray","Math","PI","ProgressSpin","forwardRef","props","ref","progressProp","progress","value","animation","className","otherProps","animatedProgress","spin"],"sources":["../../../../../src/components/ProgressSpin/ProgressSpin.tsx"],"sourcesContent":["import './ProgressSpin.css';\n\nimport React, { useMemo } from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isNumber } from '../../utils/type-guards';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressSpinPropSize = ['m', 's', 'l', 'xl', '2xl'] as const;\nexport type ProgressSpinPropSize = (typeof progressSpinPropSize)[number];\nexport const progressSpinPropSizeDefault: ProgressSpinPropSize =\n progressSpinPropSize[0];\n\ntype Props = {\n size?: ProgressSpinPropSize;\n className?: string;\n progress?: number;\n value?: number;\n animation?: boolean;\n children?: never;\n};\nexport type ProgressSpinProps = PropsWithHTMLAttributes<Props, SVGElement>;\n\nexport const cnProgressSpin = cn('ProgressSpin');\n\nconst sizeMap: Record<ProgressSpinPropSize, number> = {\n 's': 12,\n 'm': 20,\n 'l': 28,\n 'xl': 36,\n '2xl': 44,\n};\n\nconst strokeWidthMap: Record<ProgressSpinPropSize, number> = {\n 's': 2,\n 'm': 2,\n 'l': 2.2,\n 'xl': 2.7,\n '2xl': 3.5,\n};\n\nfunction getSvgParamsBySize(\n size: ProgressSpinPropSize,\n): [number, number, number, number] {\n const sizeOfPixels = getByMap(sizeMap, size);\n const strokeWidth = getByMap(strokeWidthMap, size);\n const radius = (sizeOfPixels - strokeWidth) / 2;\n const strokeDasharray = radius * 2 * Math.PI;\n\n return [sizeOfPixels, strokeWidth, radius, strokeDasharray];\n}\n\nexport const ProgressSpin = React.forwardRef<SVGSVGElement, ProgressSpinProps>(\n (props, ref) => {\n const {\n size = progressSpinPropSizeDefault,\n progress: progressProp,\n value,\n animation,\n className,\n ...otherProps\n } = props;\n const [sizeOfPixels, strokeWidth, radius, strokeDasharray] = useMemo(\n () => getSvgParamsBySize(size),\n [size],\n );\n\n const progress = value ?? progressProp;\n\n const animatedProgress = isNumber(progress) ? progress : 50;\n const strokeDashoffset =\n strokeDasharray - (strokeDasharray * animatedProgress) / 100;\n\n return (\n <svg\n {...otherProps}\n className={cnProgressSpin({ spin: !isNumber(progress) }, [className])}\n width={sizeOfPixels}\n height={sizeOfPixels}\n viewBox={`0 0 ${sizeOfPixels} ${sizeOfPixels}`}\n ref={ref}\n >\n <circle\n className={cnProgressSpin('Circle', { animation })}\n cx={sizeOfPixels / 2}\n cy={sizeOfPixels / 2}\n r={radius}\n strokeWidth={strokeWidth}\n strokeDasharray={strokeDasharray}\n strokeDashoffset={strokeDashoffset}\n />\n </svg>\n );\n },\n);\n"],"mappings":"wNAAA,2BAEA,MAAOA,MAAP,EAAgBC,OAAhB,KAA+B,OAA/B,CAEA,OAASC,EAAT,uBACA,OAASC,QAAT,4BACA,OAASC,QAAT,+BAGA,MAAO,IAAMC,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,KAAtB,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAaP,MAAO,IAAME,eAAc,CAAGL,EAAE,CAAC,cAAD,CAAzB,C,GAEDM,QAA6C,CAAG,CACpD,EAAK,EAD+C,CAEpD,EAAK,EAF+C,CAGpD,EAAK,EAH+C,CAIpD,GAAM,EAJ8C,CAKpD,MAAO,EAL6C,C,CAQhDC,cAAoD,CAAG,CAC3D,EAAK,CADsD,CAE3D,EAAK,CAFsD,CAG3D,EAAK,GAHsD,CAI3D,GAAM,GAJqD,CAK3D,MAAO,GALoD,C,CAQ7D,QAASC,mBAAT,CACEC,CADF,CAEoC,IAC5BC,EAAY,CAAGT,QAAQ,CAACK,OAAD,CAAUG,CAAV,CADK,CAE5BE,CAAW,CAAGV,QAAQ,CAACM,cAAD,CAAiBE,CAAjB,CAFM,CAG5BG,CAAM,CAAG,CAACF,CAAY,CAAGC,CAAhB,EAA+B,CAHZ,CAI5BE,CAAe,CAAY,CAAT,CAAAD,CAAM,CAAOE,IAAI,CAACC,EAJR,CAMlC,MAAO,CAACL,CAAD,CAAeC,CAAf,CAA4BC,CAA5B,CAAoCC,CAApC,CACR,CAED,MAAO,IAAMG,aAAY,CAAGlB,KAAK,CAACmB,UAAN,CAC1B,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAQVD,CARU,CAEZT,IAFY,CAEZA,CAFY,YAELL,2BAFK,GAGFgB,CAHE,CAQVF,CARU,CAGZG,QAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,KAJY,CAKZC,CALY,CAQVL,CARU,CAKZK,SALY,CAMZC,CANY,CAQVN,CARU,CAMZM,SANY,CAOTC,CAPS,0BAQVP,CARU,cAS+CnB,OAAO,CAClE,iBAAMS,mBAAkB,CAACC,CAAD,CAAxB,CADkE,CAElE,CAACA,CAAD,CAFkE,CATtD,uBASPC,CATO,MASOC,CATP,MASoBC,CATpB,MAS4BC,CAT5B,MAcRQ,CAAQ,QAAGC,CAAH,WAAGA,CAAH,CAAGA,CAAH,CAAYF,CAdZ,CAgBRM,CAAgB,CAAGxB,QAAQ,CAACmB,CAAD,CAAR,CAAqBA,CAArB,CAAgC,EAhB3C,CAoBd,MACE,4CACMI,CADN,EAEE,SAAS,CAAEpB,cAAc,CAAC,CAAEsB,IAAI,CAAE,CAACzB,QAAQ,CAACmB,CAAD,CAAjB,CAAD,CAAgC,CAACG,CAAD,CAAhC,CAF3B,CAGE,KAAK,CAAEd,CAHT,CAIE,MAAM,CAAEA,CAJV,CAKE,OAAO,eAASA,CAAT,aAAyBA,CAAzB,CALT,CAME,GAAG,CAAES,CANP,GAQE,8BACE,SAAS,CAAEd,cAAc,CAAC,QAAD,CAAW,CAAEkB,SAAS,CAATA,CAAF,CAAX,CAD3B,CAEE,EAAE,CAAEb,CAAY,CAAG,CAFrB,CAGE,EAAE,CAAEA,CAAY,CAAG,CAHrB,CAIE,CAAC,CAAEE,CAJL,CAKE,WAAW,CAAED,CALf,CAME,eAAe,CAAEE,CANnB,CAOE,gBAAgB,CAlBpBA,CAAe,CAAIA,CAAe,CAAGa,CAAnB,CAAuC,GAWvD,EARF,CAmBH,CAzCyB,CAArB"}
|
package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
.ProgressStepBarItem{align-items:flex-start;display:inline-flex;flex:1;height:100%;position:relative;width:100%}.ProgressStepBarItem_direction_horizontal{flex-direction:column}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_xs{margin-bottom:var(--space-2xs)}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_m,.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_s{margin-bottom:var(--space-xs)}.ProgressStepBarItem_direction_vertical{flex-direction:row}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Point{margin-right:var(--space-xs)}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Content_size_xs{margin-top:-4px}.ProgressStepBarItem::-webkit-scrollbar{display:none}.ProgressStepBarItem_size_xs{--progress-step-bar-item-point-size:var(--space-xs);--progress-step-bar-item-label-margin:var(--space-2xs)}.ProgressStepBarItem_size_s{--progress-step-bar-item-point-size:var(--space-m);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_size_m{--progress-step-bar-item-point-size:var(--space-xl);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_position_start.ProgressStepBarItem_direction_horizontal{align-items:flex-start;text-align:left}.ProgressStepBarItem_position_center.ProgressStepBarItem_direction_horizontal{align-items:center;text-align:center}.ProgressStepBarItem_position_end.ProgressStepBarItem_direction_horizontal{align-items:flex-end;text-align:right}.ProgressStepBarItem_status_system{--progress-step-bar-item-point-background:var(--color-bg-system);--progress-step-bar-item-point-content-color:var(--color-typo-secondary)}.ProgressStepBarItem_status_normal{--progress-step-bar-item-point-background:var(--color-bg-normal);--progress-step-bar-item-point-content-color:var(
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
--color-control-typo-primary
|
|
3
|
+
)}.ProgressStepBarItem_status_success{--progress-step-bar-item-point-background:var(--color-bg-success);--progress-step-bar-item-point-content-color:var(
|
|
4
|
+
--color-control-typo-primary
|
|
5
|
+
)}.ProgressStepBarItem_status_warning{--progress-step-bar-item-point-background:var(--color-bg-warning);--progress-step-bar-item-point-content-color:var(
|
|
6
|
+
--color-control-typo-primary
|
|
7
|
+
)}.ProgressStepBarItem_status_alert{--progress-step-bar-item-point-background:var(--color-bg-alert);--progress-step-bar-item-point-content-color:var(
|
|
8
|
+
--color-control-typo-primary
|
|
9
|
+
)}.ProgressStepBarItem .ProgressStepBarItem-PointIcon,.ProgressStepBarItem .ProgressStepBarItem-PointText{color:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem .ProgressSpin{stroke:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem-Point{align-items:center;background-color:var(--progress-step-bar-item-point-background);border:none;border-radius:calc(var(--progress-step-bar-item-point-size)*.5);color:var(--color-bg-default);display:flex;justify-content:center;margin:0;min-height:var(--progress-step-bar-item-point-size);min-width:var(--progress-step-bar-item-point-size);padding:0;transition:background-color .3s}.ProgressStepBarItem-Point_pointer{cursor:pointer}.ProgressStepBarItem-PointText.Text{line-height:var(--size-text-xs);transition:color .3s}.ProgressStepBarItem-Content_bottomOffset,.ProgressStepBarItem-Label{margin-bottom:var(--progress-step-bar-item-label-margin)}
|
|
@@ -2,18 +2,18 @@ import { IconComponent } from '@consta/icons/Icon';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
4
4
|
export declare const progressStepBarPropSize: readonly ["s", "xs", "m"];
|
|
5
|
-
export type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];
|
|
5
|
+
export type ProgressStepBarPropSize = (typeof progressStepBarPropSize)[number];
|
|
6
6
|
export declare const progressStepBarPropSizeDefault: "s";
|
|
7
7
|
export declare const progressStepBarPropDirection: readonly ["horizontal", "vertical"];
|
|
8
|
-
export type ProgressStepBarPropDirection = typeof progressStepBarPropDirection[number];
|
|
8
|
+
export type ProgressStepBarPropDirection = (typeof progressStepBarPropDirection)[number];
|
|
9
9
|
export declare const progressStepBarPropDirectionDefault: "horizontal";
|
|
10
10
|
export declare const progressStepBarPropStatus: readonly ["normal", "success", "warning", "alert"];
|
|
11
|
-
export type ProgressStepBarPropStatus = typeof progressStepBarPropStatus[number];
|
|
11
|
+
export type ProgressStepBarPropStatus = (typeof progressStepBarPropStatus)[number];
|
|
12
12
|
export declare const progressStepBarPropStatusDefault: "normal";
|
|
13
13
|
export declare const progressStepBarPointNumbersMap: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
14
|
-
export type ProgressStepBarPointNumbersMap = typeof progressStepBarPointNumbersMap[number];
|
|
14
|
+
export type ProgressStepBarPointNumbersMap = (typeof progressStepBarPointNumbersMap)[number];
|
|
15
15
|
export declare const progressStepBarPropPosition: readonly ["center", "start", "end"];
|
|
16
|
-
export type ProgressStepBarPropPosition = typeof progressStepBarPropPosition[number];
|
|
16
|
+
export type ProgressStepBarPropPosition = (typeof progressStepBarPropPosition)[number];
|
|
17
17
|
export declare const progressStepBarPropPositionDefault: ProgressStepBarPropPosition;
|
|
18
18
|
export type ProgressStepBarPropGetItemLabel<ITEM> = (item: ITEM) => string | undefined;
|
|
19
19
|
export type ProgressStepBarPropGetItemKey<ITEM> = (item: ITEM) => string | number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getRefSize","ref","current","getBoundingClientRect","width","height","calculateLines","refs","direction","sizes","i","width1","height1","width2","size","first","second","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactNode | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n const { length } = refs;\n\n if (length < 2) {\n return sizes;\n }\n\n for (let i = 0; i < length - 1; i++) {\n const [width1, height1] = getRefSize(refs[i]);\n const [width2] = getRefSize(refs[i + 1]);\n\n let size = 0;\n if (direction === 'horizontal') {\n const first = i === 0 ? width1 : width1 / 2;\n const second = i === length - 2 ? width2 : width2 / 2;\n size = first + second;\n } else {\n size = height1;\n if (i === length - 2) {\n size += 2;\n }\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getRefSize","ref","current","getBoundingClientRect","width","height","calculateLines","refs","direction","sizes","i","width1","height1","width2","size","first","second","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = (typeof progressStepBarPropSize)[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n (typeof progressStepBarPropDirection)[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n (typeof progressStepBarPropStatus)[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n (typeof progressStepBarPointNumbersMap)[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n (typeof progressStepBarPropPosition)[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactNode | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n const { length } = refs;\n\n if (length < 2) {\n return sizes;\n }\n\n for (let i = 0; i < length - 1; i++) {\n const [width1, height1] = getRefSize(refs[i]);\n const [width2] = getRefSize(refs[i + 1]);\n\n let size = 0;\n if (direction === 'horizontal') {\n const first = i === 0 ? width1 : width1 / 2;\n const second = i === length - 2 ? width2 : width2 / 2;\n size = first + second;\n } else {\n size = height1;\n if (i === length - 2) {\n size += 2;\n }\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.Radio{display:inline-flex;font-family:var(--font-sans);line-height:var(--line-height-text-s)}.Radio,.Radio-Input{cursor:pointer;position:relative}.Radio-Input{-webkit-appearance:none;border:var(--control-border-width) solid;border-radius:50%;box-sizing:border-box;flex-shrink:0;height:var(--radio-size);margin:0;transition:border-color .15s,background-color .15s;width:var(--radio-size)}.Radio-Input:before{border-radius:50%;box-sizing:border-box;content:"";height:var(--radio-size);left:calc(50% - var(--radio-size)/2);opacity:0;position:absolute;top:calc(50% - var(--radio-size)/2);transform:scale(0);transition:background-color .15s,opacity .15s,transform .15s;width:var(--radio-size)}.Radio-Label{color:var(--color-control-typo-default);font-size:var(--radio-font-size);margin-left:var(--radio-offset)}.Radio_size_xs{--radio-font-size:var(--control-text-size-xs);--radio-size:var(--control-box-size-m);--radio-offset:var(--space-xs);--align-top-margin:0}.Radio_size_s{--radio-font-size:var(--control-text-size-s);--radio-size:var(--control-box-size-m);--radio-offset:var(--space-xs);--align-top-margin:var(--space-3xs)}.Radio_size_m{--radio-font-size:var(--control-text-size-m);--radio-size:var(--control-box-size-l);--radio-offset:var(--space-xs);--align-top-margin:var(--space-3xs)}.Radio_size_l{--radio-font-size:var(--control-text-size-l);--radio-size:var(--control-box-size-l);--radio-offset:var(--space-s);--align-top-margin:var(--space-3xs)}.Radio_view_primary:hover .Radio-Input{border-color:var(--color-control-bg-border-default-hover)}.Radio_view_primary .Radio-Input{border-color:var(--color-control-bg-border-default)}.Radio_view_primary .Radio-Input:before{background-color:var(--color-control-bg-primary)}.Radio_view_primary .Radio-Input:checked{border-color:var(--color-control-bg-primary)}.Radio_view_primary .Radio-Input:checked:before{background-color:var(--color-control-bg-primary)}.Radio_view_primary:hover .Radio-Input:checked{border-color:var(--color-control-bg-primary-hover)}.Radio_view_primary:hover .Radio-Input:checked:before{background-color:var(--color-control-bg-primary-hover)}.Radio_view_ghost:hover .Radio-Input{border-color:var(--color-control-bg-border-default-hover)}.Radio_view_ghost .Radio-Input{border-color:var(--color-control-bg-border-default)}.Radio_view_ghost .Radio-Input:before{background-color:var(--color-control-bg-primary)}.Radio_view_ghost .Radio-Input:checked{background-color:var(--color-control-bg-ghost);border-color:var(--color-control-bg-border-default)}.Radio_view_ghost .Radio-Input:checked:before{background-color:var(--color-control-typo-ghost)}.Radio_view_ghost:hover .Radio-Input:checked{background-color:var(--color-control-bg-ghost-hover);border-color:var(--color-control-bg-border-default)}.Radio_view_ghost:hover .Radio-Input:checked:before{background-color:var(--color-control-typo-ghost-hover)}.Radio-Input:checked:before{opacity:1;transform:scale(.4)}.Radio_disabled{pointer-events:none}.Radio_disabled .Radio-Input:disabled{background-color:var(--color-control-bg-disable);border-color:transparent}.Radio_disabled .Radio-Input:disabled:before{background-color:var(--color-control-typo-disable)}.Radio_disabled .Radio-Input:disabled~.Radio-Label{color:var(--color-control-typo-disable)}.Radio_align_center{align-items:center}.Radio_align_top{align-items:
|
|
1
|
+
.Radio{display:inline-flex;font-family:var(--font-sans);line-height:var(--line-height-text-s)}.Radio,.Radio-Input{cursor:pointer;position:relative}.Radio-Input{-webkit-appearance:none;border:var(--control-border-width) solid;border-radius:50%;box-sizing:border-box;flex-shrink:0;height:var(--radio-size);margin:0;transition:border-color .15s,background-color .15s;width:var(--radio-size)}.Radio-Input:before{border-radius:50%;box-sizing:border-box;content:"";height:var(--radio-size);left:calc(50% - var(--radio-size)/2);opacity:0;position:absolute;top:calc(50% - var(--radio-size)/2);transform:scale(0);transition:background-color .15s,opacity .15s,transform .15s;width:var(--radio-size)}.Radio-Label{color:var(--color-control-typo-default);font-size:var(--radio-font-size);margin-left:var(--radio-offset)}.Radio_size_xs{--radio-font-size:var(--control-text-size-xs);--radio-size:var(--control-box-size-m);--radio-offset:var(--space-xs);--align-top-margin:0}.Radio_size_s{--radio-font-size:var(--control-text-size-s);--radio-size:var(--control-box-size-m);--radio-offset:var(--space-xs);--align-top-margin:var(--space-3xs)}.Radio_size_m{--radio-font-size:var(--control-text-size-m);--radio-size:var(--control-box-size-l);--radio-offset:var(--space-xs);--align-top-margin:var(--space-3xs)}.Radio_size_l{--radio-font-size:var(--control-text-size-l);--radio-size:var(--control-box-size-l);--radio-offset:var(--space-s);--align-top-margin:var(--space-3xs)}.Radio_view_primary:hover .Radio-Input{border-color:var(--color-control-bg-border-default-hover)}.Radio_view_primary .Radio-Input{border-color:var(--color-control-bg-border-default)}.Radio_view_primary .Radio-Input:before{background-color:var(--color-control-bg-primary)}.Radio_view_primary .Radio-Input:checked{border-color:var(--color-control-bg-primary)}.Radio_view_primary .Radio-Input:checked:before{background-color:var(--color-control-bg-primary)}.Radio_view_primary:hover .Radio-Input:checked{border-color:var(--color-control-bg-primary-hover)}.Radio_view_primary:hover .Radio-Input:checked:before{background-color:var(--color-control-bg-primary-hover)}.Radio_view_ghost:hover .Radio-Input{border-color:var(--color-control-bg-border-default-hover)}.Radio_view_ghost .Radio-Input{border-color:var(--color-control-bg-border-default)}.Radio_view_ghost .Radio-Input:before{background-color:var(--color-control-bg-primary)}.Radio_view_ghost .Radio-Input:checked{background-color:var(--color-control-bg-ghost);border-color:var(--color-control-bg-border-default)}.Radio_view_ghost .Radio-Input:checked:before{background-color:var(--color-control-typo-ghost)}.Radio_view_ghost:hover .Radio-Input:checked{background-color:var(--color-control-bg-ghost-hover);border-color:var(--color-control-bg-border-default)}.Radio_view_ghost:hover .Radio-Input:checked:before{background-color:var(--color-control-typo-ghost-hover)}.Radio-Input:checked:before{opacity:1;transform:scale(.4)}.Radio_disabled{pointer-events:none}.Radio_disabled .Radio-Input:disabled{background-color:var(--color-control-bg-disable);border-color:transparent}.Radio_disabled .Radio-Input:disabled:before{background-color:var(--color-control-typo-disable)}.Radio_disabled .Radio-Input:disabled~.Radio-Label{color:var(--color-control-typo-disable)}.Radio_align_center{align-items:center}.Radio_align_top{align-items:start}.Radio_align_top .Radio-Input{margin-top:var(--align-top-margin)}
|
|
@@ -2,13 +2,13 @@ import './Radio.css';
|
|
|
2
2
|
import React, { ChangeEventHandler } from 'react';
|
|
3
3
|
import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';
|
|
4
4
|
export declare const radioPropSize: readonly ["m", "l", "s", "xs"];
|
|
5
|
-
export type RadioPropSize = typeof radioPropSize[number];
|
|
5
|
+
export type RadioPropSize = (typeof radioPropSize)[number];
|
|
6
6
|
export declare const radioPropSizeDefault: RadioPropSize;
|
|
7
7
|
export declare const radioPropView: readonly ["primary", "ghost"];
|
|
8
|
-
export type RadioPropView = typeof radioPropView[number];
|
|
8
|
+
export type RadioPropView = (typeof radioPropView)[number];
|
|
9
9
|
export declare const radioPropViewDefault: RadioPropView;
|
|
10
10
|
export declare const radioPropAlign: readonly ["center", "top"];
|
|
11
|
-
export type RadioPropAlign = typeof radioPropAlign[number];
|
|
11
|
+
export type RadioPropAlign = (typeof radioPropAlign)[number];
|
|
12
12
|
export declare const radioPropAlignDefault: RadioPropAlign;
|
|
13
13
|
export type RadioPropOnChange = (checked: boolean, params: {
|
|
14
14
|
e: React.ChangeEvent<HTMLInputElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","names":["React","useRef","useForkRef","cnMixFocus","cn","usePropsHandler","radioPropSize","radioPropSizeDefault","radioPropView","radioPropViewDefault","radioPropAlign","radioPropAlignDefault","radioPropOnChangeDefault","cnRadio","COMPONENT_NAME","Radio","forwardRef","props","ref","radioRef","checked","name","size","view","align","disabled","className","label","onChange","onFocus","onBlur","readOnly","required","step","tabIndex","inputId","inputRef","otherProps"],"sources":["../../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import './Radio.css';\n\nimport React, { ChangeEventHandler, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\n\nexport const radioPropSize = ['m', 'l', 's', 'xs'] as const;\nexport type RadioPropSize = typeof radioPropSize[number];\nexport const radioPropSizeDefault: RadioPropSize = radioPropSize[0];\n\nexport const radioPropView = ['primary', 'ghost'] as const;\nexport type RadioPropView = typeof radioPropView[number];\nexport const radioPropViewDefault: RadioPropView = radioPropView[0];\n\nexport const radioPropAlign = ['center', 'top'] as const;\nexport type RadioPropAlign = typeof radioPropAlign[number];\nexport const radioPropAlignDefault: RadioPropAlign = radioPropAlign[0];\n\nconst radioPropOnChangeDefault = () => {};\n\nexport type RadioPropOnChange = (\n checked: boolean,\n params: {\n e: React.ChangeEvent<HTMLInputElement>;\n },\n) => void;\n\nexport type Props = {\n checked?: boolean;\n size?: RadioPropSize;\n view?: RadioPropView;\n align?: RadioPropAlign;\n disabled?: boolean;\n className?: string;\n label?: string;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n name?: string;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n autoFocus?: boolean;\n readOnly?: boolean;\n required?: boolean;\n step?: number | string;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLInputElement>;\n children?: never;\n for?: string;\n inputId?: string;\n};\n\nexport type RadioProps = PropsWithHTMLAttributes<Props, HTMLLabelElement>;\n\nexport const cnRadio = cn('Radio');\n\nexport const COMPONENT_NAME = 'Radio' as const;\n\nexport const Radio = React.forwardRef<HTMLLabelElement, RadioProps>(\n (props, ref) => {\n const radioRef = useRef<HTMLLabelElement>(null);\n\n const {\n checked = false,\n name,\n size = radioPropSizeDefault,\n view = radioPropViewDefault,\n align = radioPropAlignDefault,\n disabled,\n className,\n label,\n onChange = radioPropOnChangeDefault,\n onFocus,\n onBlur,\n readOnly,\n required,\n step,\n tabIndex,\n inputId,\n inputRef,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, radioRef);\n\n return (\n <label\n {...otherProps}\n className={cnRadio({ size, view, disabled, align }, [className])}\n ref={useForkRef([ref, radioRef])}\n >\n <input\n type=\"radio\"\n name={name}\n className={cnRadio('Input', [cnMixFocus()])}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n readOnly={readOnly}\n required={required}\n step={step}\n id={inputId}\n tabIndex={tabIndex}\n ref={inputRef}\n />\n {label && <span className={cnRadio('Label')}>{label}</span>}\n </label>\n );\n },\n);\n"],"mappings":"sQAAA,oBAEA,MAAOA,MAAP,EAAoCC,MAApC,KAAkD,OAAlD,CAEA,OAASC,UAAT,yCACA,OAASC,UAAT,oCACA,OAASC,EAAT,uBAEA,OAASC,eAAT,2CAEA,MAAO,IAAMC,cAAa,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD,CAEP,MAAO,IAAME,cAAa,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD,CAEP,MAAO,IAAME,eAAc,CAAG,CAAC,QAAD,CAAW,KAAX,CAAvB,CAEP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CAEP,GAAME,yBAAwB,CAAG,UAAM,CAAE,CAAzC,CAkCA,MAAO,IAAMC,QAAO,CAAGT,EAAE,CAAC,OAAD,CAAlB,CAEP,MAAO,IAAMU,eAAc,CAAG,OAAvB,CAEP,MAAO,IAAMC,MAAK,CAAGf,KAAK,CAACgB,UAAN,CACnB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IACRC,EAAQ,CAAGlB,MAAM,CAAmB,IAAnB,CADT,GAsBVI,eAAe,CAACS,cAAD,CAAiBG,CAAjB,CAAwBE,CAAxB,CAtBL,KAIZC,OAJY,CAKZC,CALY,GAKZA,IALY,KAMZC,IANY,CAMZA,CANY,YAMLf,oBANK,OAOZgB,IAPY,CAOZA,CAPY,YAOLd,oBAPK,OAQZe,KARY,CAQZA,CARY,YAQJb,qBARI,GASZc,CATY,GASZA,QATY,CAUZC,CAVY,GAUZA,SAVY,CAWZC,CAXY,GAWZA,KAXY,KAYZC,QAZY,CAYZA,CAZY,YAYDhB,wBAZC,GAaZiB,CAbY,GAaZA,OAbY,CAcZC,CAdY,GAcZA,MAdY,CAeZC,CAfY,GAeZA,QAfY,CAgBZC,CAhBY,GAgBZA,QAhBY,CAiBZC,CAjBY,GAiBZA,IAjBY,CAkBZC,CAlBY,GAkBZA,QAlBY,CAmBZC,CAnBY,GAmBZA,OAnBY,CAoBZC,CApBY,GAoBZA,QApBY,CAqBTC,CArBS,uCAwBd,MACE,8CACMA,CADN,EAEE,SAAS,CAAExB,OAAO,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQC,IAAI,CAAJA,CAAR,CAAcE,QAAQ,CAARA,CAAd,CAAwBD,KAAK,CAALA,CAAxB,CAAD,CAAkC,CAACE,CAAD,CAAlC,CAFpB,CAGE,GAAG,CAAExB,UAAU,CAAC,CAACgB,CAAD,CAAMC,CAAN,CAAD,CAHjB,GAKE,6BACE,IAAI,CAAC,OADP,CAEE,IAAI,CAAEE,CAFR,CAGE,SAAS,CAAER,OAAO,CAAC,OAAD,CAAU,CAACV,UAAU,EAAX,CAAV,CAHpB,CAIE,OAAO,cAJT,CAKE,QAAQ,CAAEsB,CALZ,CAME,QAAQ,CAAEG,CANZ,CAOE,OAAO,CAAEC,CAPX,CAQE,MAAM,CAAEC,CARV,CASE,QAAQ,CAAEC,CATZ,CAUE,QAAQ,CAAEC,CAVZ,CAWE,IAAI,CAAEC,CAXR,CAYE,EAAE,CAAEE,CAZN,CAaE,QAAQ,CAAED,CAbZ,CAcE,GAAG,CAAEE,CAdP,EALF,CAqBGT,CAAK,EAAI,4BAAM,SAAS,CAAEd,OAAO,CAAC,OAAD,CAAxB,EAAoCc,CAApC,CArBZ,CAwBH,CAlDkB,CAAd"}
|
|
1
|
+
{"version":3,"file":"Radio.js","names":["React","useRef","useForkRef","cnMixFocus","cn","usePropsHandler","radioPropSize","radioPropSizeDefault","radioPropView","radioPropViewDefault","radioPropAlign","radioPropAlignDefault","radioPropOnChangeDefault","cnRadio","COMPONENT_NAME","Radio","forwardRef","props","ref","radioRef","checked","name","size","view","align","disabled","className","label","onChange","onFocus","onBlur","readOnly","required","step","tabIndex","inputId","inputRef","otherProps"],"sources":["../../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import './Radio.css';\n\nimport React, { ChangeEventHandler, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\n\nexport const radioPropSize = ['m', 'l', 's', 'xs'] as const;\nexport type RadioPropSize = (typeof radioPropSize)[number];\nexport const radioPropSizeDefault: RadioPropSize = radioPropSize[0];\n\nexport const radioPropView = ['primary', 'ghost'] as const;\nexport type RadioPropView = (typeof radioPropView)[number];\nexport const radioPropViewDefault: RadioPropView = radioPropView[0];\n\nexport const radioPropAlign = ['center', 'top'] as const;\nexport type RadioPropAlign = (typeof radioPropAlign)[number];\nexport const radioPropAlignDefault: RadioPropAlign = radioPropAlign[0];\n\nconst radioPropOnChangeDefault = () => {};\n\nexport type RadioPropOnChange = (\n checked: boolean,\n params: {\n e: React.ChangeEvent<HTMLInputElement>;\n },\n) => void;\n\nexport type Props = {\n checked?: boolean;\n size?: RadioPropSize;\n view?: RadioPropView;\n align?: RadioPropAlign;\n disabled?: boolean;\n className?: string;\n label?: string;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n name?: string;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n autoFocus?: boolean;\n readOnly?: boolean;\n required?: boolean;\n step?: number | string;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLInputElement>;\n children?: never;\n for?: string;\n inputId?: string;\n};\n\nexport type RadioProps = PropsWithHTMLAttributes<Props, HTMLLabelElement>;\n\nexport const cnRadio = cn('Radio');\n\nexport const COMPONENT_NAME = 'Radio' as const;\n\nexport const Radio = React.forwardRef<HTMLLabelElement, RadioProps>(\n (props, ref) => {\n const radioRef = useRef<HTMLLabelElement>(null);\n\n const {\n checked = false,\n name,\n size = radioPropSizeDefault,\n view = radioPropViewDefault,\n align = radioPropAlignDefault,\n disabled,\n className,\n label,\n onChange = radioPropOnChangeDefault,\n onFocus,\n onBlur,\n readOnly,\n required,\n step,\n tabIndex,\n inputId,\n inputRef,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, radioRef);\n\n return (\n <label\n {...otherProps}\n className={cnRadio({ size, view, disabled, align }, [className])}\n ref={useForkRef([ref, radioRef])}\n >\n <input\n type=\"radio\"\n name={name}\n className={cnRadio('Input', [cnMixFocus()])}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n readOnly={readOnly}\n required={required}\n step={step}\n id={inputId}\n tabIndex={tabIndex}\n ref={inputRef}\n />\n {label && <span className={cnRadio('Label')}>{label}</span>}\n </label>\n );\n },\n);\n"],"mappings":"sQAAA,oBAEA,MAAOA,MAAP,EAAoCC,MAApC,KAAkD,OAAlD,CAEA,OAASC,UAAT,yCACA,OAASC,UAAT,oCACA,OAASC,EAAT,uBAEA,OAASC,eAAT,2CAEA,MAAO,IAAMC,cAAa,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD,CAEP,MAAO,IAAME,cAAa,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD,CAEP,MAAO,IAAME,eAAc,CAAG,CAAC,QAAD,CAAW,KAAX,CAAvB,CAEP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CAEP,GAAME,yBAAwB,CAAG,UAAM,CAAE,CAAzC,CAkCA,MAAO,IAAMC,QAAO,CAAGT,EAAE,CAAC,OAAD,CAAlB,CAEP,MAAO,IAAMU,eAAc,CAAG,OAAvB,CAEP,MAAO,IAAMC,MAAK,CAAGf,KAAK,CAACgB,UAAN,CACnB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IACRC,EAAQ,CAAGlB,MAAM,CAAmB,IAAnB,CADT,GAsBVI,eAAe,CAACS,cAAD,CAAiBG,CAAjB,CAAwBE,CAAxB,CAtBL,KAIZC,OAJY,CAKZC,CALY,GAKZA,IALY,KAMZC,IANY,CAMZA,CANY,YAMLf,oBANK,OAOZgB,IAPY,CAOZA,CAPY,YAOLd,oBAPK,OAQZe,KARY,CAQZA,CARY,YAQJb,qBARI,GASZc,CATY,GASZA,QATY,CAUZC,CAVY,GAUZA,SAVY,CAWZC,CAXY,GAWZA,KAXY,KAYZC,QAZY,CAYZA,CAZY,YAYDhB,wBAZC,GAaZiB,CAbY,GAaZA,OAbY,CAcZC,CAdY,GAcZA,MAdY,CAeZC,CAfY,GAeZA,QAfY,CAgBZC,CAhBY,GAgBZA,QAhBY,CAiBZC,CAjBY,GAiBZA,IAjBY,CAkBZC,CAlBY,GAkBZA,QAlBY,CAmBZC,CAnBY,GAmBZA,OAnBY,CAoBZC,CApBY,GAoBZA,QApBY,CAqBTC,CArBS,uCAwBd,MACE,8CACMA,CADN,EAEE,SAAS,CAAExB,OAAO,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQC,IAAI,CAAJA,CAAR,CAAcE,QAAQ,CAARA,CAAd,CAAwBD,KAAK,CAALA,CAAxB,CAAD,CAAkC,CAACE,CAAD,CAAlC,CAFpB,CAGE,GAAG,CAAExB,UAAU,CAAC,CAACgB,CAAD,CAAMC,CAAN,CAAD,CAHjB,GAKE,6BACE,IAAI,CAAC,OADP,CAEE,IAAI,CAAEE,CAFR,CAGE,SAAS,CAAER,OAAO,CAAC,OAAD,CAAU,CAACV,UAAU,EAAX,CAAV,CAHpB,CAIE,OAAO,cAJT,CAKE,QAAQ,CAAEsB,CALZ,CAME,QAAQ,CAAEG,CANZ,CAOE,OAAO,CAAEC,CAPX,CAQE,MAAM,CAAEC,CARV,CASE,QAAQ,CAAEC,CATZ,CAUE,QAAQ,CAAEC,CAVZ,CAWE,IAAI,CAAEC,CAXR,CAYE,EAAE,CAAEE,CAZN,CAaE,QAAQ,CAAED,CAbZ,CAcE,GAAG,CAAEE,CAdP,EALF,CAqBGT,CAAK,EAAI,4BAAM,SAAS,CAAEd,OAAO,CAAC,OAAD,CAAxB,EAAoCc,CAApC,CArBZ,CAwBH,CAlDkB,CAAd"}
|
|
@@ -5,16 +5,16 @@ export type RadioGroupDefaultItem = {
|
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare const radioGroupDirections: readonly ["column", "row"];
|
|
8
|
-
export type RadioGroupDirection = typeof radioGroupDirections[number];
|
|
8
|
+
export type RadioGroupDirection = (typeof radioGroupDirections)[number];
|
|
9
9
|
export declare const radioGroupDefaultDirection: RadioGroupDirection;
|
|
10
10
|
export declare const radioGroupSizes: readonly ["m", "l", "xs", "s"];
|
|
11
|
-
export type RadioGroupPropSize = typeof radioGroupSizes[number];
|
|
11
|
+
export type RadioGroupPropSize = (typeof radioGroupSizes)[number];
|
|
12
12
|
export declare const radioGroupDefaultSize: RadioGroupPropSize;
|
|
13
13
|
export declare const radioGroupViews: readonly ["primary", "ghost"];
|
|
14
|
-
export type RadioGroupPropView = typeof radioGroupViews[number];
|
|
14
|
+
export type RadioGroupPropView = (typeof radioGroupViews)[number];
|
|
15
15
|
export declare const radioGroupDefaultView: RadioGroupPropView;
|
|
16
16
|
export declare const radioGroupPropAlign: readonly ["center", "top"];
|
|
17
|
-
export type RadioGroupPropAlign = typeof radioGroupPropAlign[number];
|
|
17
|
+
export type RadioGroupPropAlign = (typeof radioGroupPropAlign)[number];
|
|
18
18
|
export declare const radioGroupPropAlignDefault: RadioGroupPropAlign;
|
|
19
19
|
export type RadioGroupPropGetItemKey<ITEM> = (item: ITEM) => string | number | undefined;
|
|
20
20
|
export type RadioGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["radioGroupDirections","radioGroupDefaultDirection","radioGroupSizes","radioGroupDefaultSize","radioGroupViews","radioGroupDefaultView","radioGroupPropAlign","radioGroupPropAlignDefault"],"sources":["../../../../../src/components/RadioGroup/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type RadioGroupDefaultItem = {\n key?: string | number;\n label: string;\n disabled?: boolean;\n};\n\nexport const radioGroupDirections = ['column', 'row'] as const;\nexport type RadioGroupDirection = typeof radioGroupDirections[number];\nexport const radioGroupDefaultDirection: RadioGroupDirection =\n radioGroupDirections[0];\n\nexport const radioGroupSizes = ['m', 'l', 'xs', 's'] as const;\nexport type RadioGroupPropSize = typeof radioGroupSizes[number];\nexport const radioGroupDefaultSize: RadioGroupPropSize = radioGroupSizes[0];\n\nexport const radioGroupViews = ['primary', 'ghost'] as const;\nexport type RadioGroupPropView = typeof radioGroupViews[number];\nexport const radioGroupDefaultView: RadioGroupPropView = radioGroupViews[0];\n\nexport const radioGroupPropAlign = ['center', 'top'] as const;\nexport type RadioGroupPropAlign = typeof radioGroupPropAlign[number];\nexport const radioGroupPropAlignDefault: RadioGroupPropAlign =\n radioGroupPropAlign[0];\n\nexport type RadioGroupPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type RadioGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type RadioGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type RadioGroupPropOnChange<ITEM> = (\n value: ITEM,\n props: {\n e: React.ChangeEvent<HTMLInputElement>;\n },\n) => void;\n\nexport type RadioGroupProps<ITEM = RadioGroupDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n align?: RadioGroupPropAlign;\n value?: ITEM | null;\n items: ITEM[];\n getItemKey?: RadioGroupPropGetItemKey<ITEM>;\n getItemLabel?: RadioGroupPropGetItemLabel<ITEM>;\n getItemDisabled?: RadioGroupPropGetItemDisabled<ITEM>;\n onChange?: RadioGroupPropOnChange<ITEM>;\n name?: string;\n direction?: RadioGroupDirection;\n size?: RadioGroupPropSize;\n view?: RadioGroupPropView;\n disabled?: boolean;\n className?: string;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: RadioGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: RadioGroupPropGetItemLabel<ITEM>;\n });\n\nexport type RadioGroupComponent = <ITEM = RadioGroupDefaultItem>(\n props: RadioGroupProps<ITEM>,\n) => React.ReactNode | null;\n"],"mappings":"AAQA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,QAAD,CAAW,KAAX,CAA7B,CAEP,MAAO,IAAMC,2BAA+C,CAC1DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,gBAAe,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAiB,GAAjB,CAAxB,CAEP,MAAO,IAAMC,sBAAyC,CAAGD,eAAe,CAAC,CAAD,CAAjE,CAEP,MAAO,IAAME,gBAAe,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAxB,CAEP,MAAO,IAAMC,sBAAyC,CAAGD,eAAe,CAAC,CAAD,CAAjE,CAEP,MAAO,IAAME,oBAAmB,CAAG,CAAC,QAAD,CAAW,KAAX,CAA5B,CAEP,MAAO,IAAMC,2BAA+C,CAC1DD,mBAAmB,CAAC,CAAD,CADd"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["radioGroupDirections","radioGroupDefaultDirection","radioGroupSizes","radioGroupDefaultSize","radioGroupViews","radioGroupDefaultView","radioGroupPropAlign","radioGroupPropAlignDefault"],"sources":["../../../../../src/components/RadioGroup/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type RadioGroupDefaultItem = {\n key?: string | number;\n label: string;\n disabled?: boolean;\n};\n\nexport const radioGroupDirections = ['column', 'row'] as const;\nexport type RadioGroupDirection = (typeof radioGroupDirections)[number];\nexport const radioGroupDefaultDirection: RadioGroupDirection =\n radioGroupDirections[0];\n\nexport const radioGroupSizes = ['m', 'l', 'xs', 's'] as const;\nexport type RadioGroupPropSize = (typeof radioGroupSizes)[number];\nexport const radioGroupDefaultSize: RadioGroupPropSize = radioGroupSizes[0];\n\nexport const radioGroupViews = ['primary', 'ghost'] as const;\nexport type RadioGroupPropView = (typeof radioGroupViews)[number];\nexport const radioGroupDefaultView: RadioGroupPropView = radioGroupViews[0];\n\nexport const radioGroupPropAlign = ['center', 'top'] as const;\nexport type RadioGroupPropAlign = (typeof radioGroupPropAlign)[number];\nexport const radioGroupPropAlignDefault: RadioGroupPropAlign =\n radioGroupPropAlign[0];\n\nexport type RadioGroupPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type RadioGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type RadioGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type RadioGroupPropOnChange<ITEM> = (\n value: ITEM,\n props: {\n e: React.ChangeEvent<HTMLInputElement>;\n },\n) => void;\n\nexport type RadioGroupProps<ITEM = RadioGroupDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n align?: RadioGroupPropAlign;\n value?: ITEM | null;\n items: ITEM[];\n getItemKey?: RadioGroupPropGetItemKey<ITEM>;\n getItemLabel?: RadioGroupPropGetItemLabel<ITEM>;\n getItemDisabled?: RadioGroupPropGetItemDisabled<ITEM>;\n onChange?: RadioGroupPropOnChange<ITEM>;\n name?: string;\n direction?: RadioGroupDirection;\n size?: RadioGroupPropSize;\n view?: RadioGroupPropView;\n disabled?: boolean;\n className?: string;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: RadioGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: RadioGroupPropGetItemLabel<ITEM>;\n });\n\nexport type RadioGroupComponent = <ITEM = RadioGroupDefaultItem>(\n props: RadioGroupProps<ITEM>,\n) => React.ReactNode | null;\n"],"mappings":"AAQA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,QAAD,CAAW,KAAX,CAA7B,CAEP,MAAO,IAAMC,2BAA+C,CAC1DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,gBAAe,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAiB,GAAjB,CAAxB,CAEP,MAAO,IAAMC,sBAAyC,CAAGD,eAAe,CAAC,CAAD,CAAjE,CAEP,MAAO,IAAME,gBAAe,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAxB,CAEP,MAAO,IAAMC,sBAAyC,CAAGD,eAAe,CAAC,CAAD,CAAjE,CAEP,MAAO,IAAME,oBAAmB,CAAG,CAAC,QAAD,CAAW,KAAX,CAA5B,CAEP,MAAO,IAAMC,2BAA+C,CAC1DD,mBAAmB,CAAC,CAAD,CADd"}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { ResponsesImageProps } from '../../responsesImages/ResponsesImage/ResponsesImage';
|
|
4
4
|
import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';
|
|
5
5
|
export declare const responsesPropSize: readonly ["l", "m"];
|
|
6
|
-
export type ResponsesPropSize = typeof responsesPropSize[number];
|
|
6
|
+
export type ResponsesPropSize = (typeof responsesPropSize)[number];
|
|
7
7
|
export declare const responsesPropSizeDefault: ResponsesPropSize;
|
|
8
8
|
export type ResponsesProps = PropsWithHTMLAttributes<{
|
|
9
9
|
title?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Responses.js","names":["React","cnMixSpace","cn","responsesPropSize","responsesPropSizeDefault","cnResponses","Responses","forwardRef","props","ref","className","title","description","size","image","actions","mT","mB"],"sources":["../../../../../src/components/Responses/Responses.tsx"],"sourcesContent":["import './Responses.css';\n\nimport React from 'react';\n\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { ResponsesImageProps } from '##/responsesImages/ResponsesImage/ResponsesImage';\nimport { cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const responsesPropSize = ['l', 'm'] as const;\nexport type ResponsesPropSize = typeof responsesPropSize[number];\nexport const responsesPropSizeDefault: ResponsesPropSize = responsesPropSize[0];\n\nexport type ResponsesProps = PropsWithHTMLAttributes<\n {\n title?: React.ReactNode;\n description?: React.ReactNode;\n size?: ResponsesPropSize;\n image: React.FC<ResponsesImageProps>;\n actions?: React.ReactNode;\n children?: never;\n },\n HTMLDivElement\n>;\n\nexport const cnResponses = cn('Responses');\n\nexport const Responses = React.forwardRef<HTMLDivElement, ResponsesProps>(\n (props, ref) => {\n const {\n className,\n title,\n description,\n size = responsesPropSizeDefault,\n image,\n actions,\n } = props;\n const Image = image;\n\n return (\n <div className={cnResponses({ size }, [className])} ref={ref}>\n <Image className={cnResponses('Image')} />\n {title && (\n <h1\n className={cnResponses('Title', [cnMixSpace({ mT: 'xl', mB: 0 })])}\n >\n {title}\n </h1>\n )}\n {description && (\n <p className={cnResponses('Description', [cnMixSpace({ mT: 'xs' })])}>\n {description}\n </p>\n )}\n {actions && (\n <div\n className={cnResponses('ButtonsWrapper', [\n cnMixSpace({ mT: 'xl' }),\n ])}\n >\n {actions}\n </div>\n )}\n </div>\n );\n },\n);\n"],"mappings":"AAAA,wBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,UAAT,2BAEA,OAASC,EAAT,uBAGA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAcP,MAAO,IAAME,YAAW,CAAGH,EAAE,CAAC,WAAD,CAAtB,CAEP,MAAO,IAAMI,UAAS,CAAGN,KAAK,CAACO,UAAN,CACvB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAQVF,CARU,CAEZE,SAFY,CAGZC,CAHY,CAQVH,CARU,CAGZG,KAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,WAJY,GAQVJ,CARU,CAKZK,IALY,CAKZA,CALY,YAKLT,wBALK,GAMZU,CANY,CAQVN,CARU,CAMZM,KANY,CAOZC,CAPY,CAQVP,CARU,CAOZO,OAPY,CAWd,MACE,4BAAK,SAAS,CAAEV,WAAW,CAAC,CAAEQ,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACH,CAAD,CAAX,CAA3B,CAAoD,GAAG,CAAED,CAAzD,EACE,oBAJUK,CAIV,EAAO,SAAS,CAAET,WAAW,CAAC,OAAD,CAA7B,EADF,CAEGM,CAAK,EACJ,0BACE,SAAS,CAAEN,WAAW,CAAC,OAAD,CAAU,CAACJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAYC,EAAE,CAAE,CAAhB,CAAD,CAAX,CAAV,CADxB,EAGGN,CAHH,CAHJ,CASGC,CAAW,EACV,yBAAG,SAAS,CAAEP,WAAW,CAAC,aAAD,CAAgB,CAACJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAD,CAAX,CAAhB,CAAzB,EACGJ,CADH,CAVJ,CAcGG,CAAO,EACN,2BACE,SAAS,CAAEV,WAAW,CAAC,gBAAD,CAAmB,CACvCJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAD,CAD6B,CAAnB,CADxB,EAKGD,CALH,CAfJ,CAyBH,CAtCsB,CAAlB"}
|
|
1
|
+
{"version":3,"file":"Responses.js","names":["React","cnMixSpace","cn","responsesPropSize","responsesPropSizeDefault","cnResponses","Responses","forwardRef","props","ref","className","title","description","size","image","actions","mT","mB"],"sources":["../../../../../src/components/Responses/Responses.tsx"],"sourcesContent":["import './Responses.css';\n\nimport React from 'react';\n\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { ResponsesImageProps } from '##/responsesImages/ResponsesImage/ResponsesImage';\nimport { cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const responsesPropSize = ['l', 'm'] as const;\nexport type ResponsesPropSize = (typeof responsesPropSize)[number];\nexport const responsesPropSizeDefault: ResponsesPropSize = responsesPropSize[0];\n\nexport type ResponsesProps = PropsWithHTMLAttributes<\n {\n title?: React.ReactNode;\n description?: React.ReactNode;\n size?: ResponsesPropSize;\n image: React.FC<ResponsesImageProps>;\n actions?: React.ReactNode;\n children?: never;\n },\n HTMLDivElement\n>;\n\nexport const cnResponses = cn('Responses');\n\nexport const Responses = React.forwardRef<HTMLDivElement, ResponsesProps>(\n (props, ref) => {\n const {\n className,\n title,\n description,\n size = responsesPropSizeDefault,\n image,\n actions,\n } = props;\n const Image = image;\n\n return (\n <div className={cnResponses({ size }, [className])} ref={ref}>\n <Image className={cnResponses('Image')} />\n {title && (\n <h1\n className={cnResponses('Title', [cnMixSpace({ mT: 'xl', mB: 0 })])}\n >\n {title}\n </h1>\n )}\n {description && (\n <p className={cnResponses('Description', [cnMixSpace({ mT: 'xs' })])}>\n {description}\n </p>\n )}\n {actions && (\n <div\n className={cnResponses('ButtonsWrapper', [\n cnMixSpace({ mT: 'xl' }),\n ])}\n >\n {actions}\n </div>\n )}\n </div>\n );\n },\n);\n"],"mappings":"AAAA,wBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,UAAT,2BAEA,OAASC,EAAT,uBAGA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAcP,MAAO,IAAME,YAAW,CAAGH,EAAE,CAAC,WAAD,CAAtB,CAEP,MAAO,IAAMI,UAAS,CAAGN,KAAK,CAACO,UAAN,CACvB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAQVF,CARU,CAEZE,SAFY,CAGZC,CAHY,CAQVH,CARU,CAGZG,KAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,WAJY,GAQVJ,CARU,CAKZK,IALY,CAKZA,CALY,YAKLT,wBALK,GAMZU,CANY,CAQVN,CARU,CAMZM,KANY,CAOZC,CAPY,CAQVP,CARU,CAOZO,OAPY,CAWd,MACE,4BAAK,SAAS,CAAEV,WAAW,CAAC,CAAEQ,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACH,CAAD,CAAX,CAA3B,CAAoD,GAAG,CAAED,CAAzD,EACE,oBAJUK,CAIV,EAAO,SAAS,CAAET,WAAW,CAAC,OAAD,CAA7B,EADF,CAEGM,CAAK,EACJ,0BACE,SAAS,CAAEN,WAAW,CAAC,OAAD,CAAU,CAACJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAYC,EAAE,CAAE,CAAhB,CAAD,CAAX,CAAV,CADxB,EAGGN,CAHH,CAHJ,CASGC,CAAW,EACV,yBAAG,SAAS,CAAEP,WAAW,CAAC,aAAD,CAAgB,CAACJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAD,CAAX,CAAhB,CAAzB,EACGJ,CADH,CAVJ,CAcGG,CAAO,EACN,2BACE,SAAS,CAAEV,WAAW,CAAC,gBAAD,CAAmB,CACvCJ,UAAU,CAAC,CAAEe,EAAE,CAAE,IAAN,CAAD,CAD6B,CAAnB,CADxB,EAKGD,CALH,CAfJ,CAyBH,CAtCsB,CAAlB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","required","disabled","ariaLabel","id","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","labelForEmptyItems","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","isLoading","renderValue","inputRef","style","dropdownForm","onDropdownOpen","onScrollToBottom","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs","dropdownViewportRef"];import"../SelectComponents/Select.css";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect,COMPONENT_NAME}from"../SelectComponents/cnSelect";import{defaultLabelForEmptyItems}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{useSelect}from"../SelectComponents/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isNotNil}from"../../utils/type-guards";import{iconSizeMap,withDefaultGetters}from"./helpers";var SelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),d),f=e.placeholder,g=e.onBlur,h=e.onFocus,i=e.items,j=e.onChange,k=e.value,l=e.required,m=e.disabled,n=e.ariaLabel,o=e.id,p=e.dropdownRef,q=e.form,r=void 0===q?defaultPropForm:q,s=e.view,t=void 0===s?defaultPropView:s,u=e.size,v=void 0===u?defaultPropSize:u,w=e.dropdownClassName,x=e.name,y=e.groups,z=void 0===y?[]:y,A=e.getItemLabel,B=e.labelForEmptyItems,C=void 0===B?defaultLabelForEmptyItems:B,D=e.getItemKey,E=e.getItemGroupKey,F=e.getItemDisabled,G=e.getGroupKey,H=e.getGroupLabel,I=e.renderItem,J=e.isLoading,K=e.renderValue,L=e.inputRef,M=e.style,N=e.dropdownForm,O=void 0===N?"default":N,P=e.onDropdownOpen,Q=e.onScrollToBottom,R=e.virtualScroll,S=e.dropdownOpen,T=e.ignoreOutsideClicksRefs,U=e.dropdownViewportRef,V=_objectWithoutProperties(e,_excluded),
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","required","disabled","ariaLabel","id","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","labelForEmptyItems","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","isLoading","renderValue","inputRef","style","dropdownForm","onDropdownOpen","onScrollToBottom","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs","dropdownViewportRef","dropdownContainer"];import"../SelectComponents/Select.css";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect,COMPONENT_NAME}from"../SelectComponents/cnSelect";import{defaultLabelForEmptyItems}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{useSelect}from"../SelectComponents/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isNotNil}from"../../utils/type-guards";import{iconSizeMap,withDefaultGetters}from"./helpers";var SelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),d),f=e.placeholder,g=e.onBlur,h=e.onFocus,i=e.items,j=e.onChange,k=e.value,l=e.required,m=e.disabled,n=e.ariaLabel,o=e.id,p=e.dropdownRef,q=e.form,r=void 0===q?defaultPropForm:q,s=e.view,t=void 0===s?defaultPropView:s,u=e.size,v=void 0===u?defaultPropSize:u,w=e.dropdownClassName,x=e.name,y=e.groups,z=void 0===y?[]:y,A=e.getItemLabel,B=e.labelForEmptyItems,C=void 0===B?defaultLabelForEmptyItems:B,D=e.getItemKey,E=e.getItemGroupKey,F=e.getItemDisabled,G=e.getGroupKey,H=e.getGroupLabel,I=e.renderItem,J=e.isLoading,K=e.renderValue,L=e.inputRef,M=e.style,N=e.dropdownForm,O=void 0===N?"default":N,P=e.onDropdownOpen,Q=e.onScrollToBottom,R=e.virtualScroll,S=e.dropdownOpen,T=e.ignoreOutsideClicksRefs,U=e.dropdownViewportRef,V=e.dropdownContainer,W=_objectWithoutProperties(e,_excluded),X=useSelect({items:i,groups:z,value:k,onChange:j,dropdownRef:c,controlRef:d,disabled:m,getItemLabel:A,getItemKey:D,getGroupKey:G,getItemGroupKey:E,getItemDisabled:F,multiple:!1,onBlur:g,onFocus:h,onDropdownOpen:P,dropdownOpen:S,ignoreOutsideClicksRefs:T}),Y=X.getKeyProps,Z=X.getOptionProps,$=X.isOpen,_=X.visibleItems,aa=X.isFocused,ba=X.handleInputFocus,ca=X.handleInputBlur,da=X.handleToggleDropdown,ea=X.inputRef,fa=X.handleInputClick,ga=X.notFound,ha=X.hasItems,ia=X.optionsRefs,ja=o?"".concat(o,"-input"):o;return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:aa,disabled:m,size:v,view:t,form:r,required:l,ref:b,style:M,id:ja},W),React.createElement("div",{className:cnSelect("Control"),ref:d,"aria-expanded":$,"aria-haspopup":"listbox",id:o},React.createElement("div",{className:cnSelect("ControlInner")},React.createElement("div",{className:cnSelect("ControlValueContainer")},React.createElement("input",Object.assign({},Y(),{className:cnSelect("FakeField"),type:"text",name:x,id:ja,onFocus:ba,onBlur:ca,"aria-label":n,onClick:fa,ref:useForkRef([ea,L]),readOnly:!0})),isNotNil(k)&&(K||function renderValueDefault(a){var b=A(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)})({item:k}),!isNotNil(k)&&f&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},f))),React.createElement("span",{className:cnSelect("Indicators")},React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:da},React.createElement(IconSelect,{size:iconSizeMap[v],className:cnSelect("DropdownIndicatorIcon")}))))),React.createElement(SelectDropdown,{isOpen:$,size:v,controlRef:d,getOptionProps:Z,dropdownRef:useForkRef([p,c]),form:O,className:w,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:A(b),active:c,hovered:d,multiple:!1,size:v,indent:"round"===O?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:_,notFound:ga,isLoading:J,labelForEmptyItems:C,hasItems:ha,itemsRefs:ia,virtualScroll:R,onScrollToBottom:Q,viewportRef:U,container:V,style:"number"==typeof(null===M||void 0===M?void 0:M.zIndex)?{zIndex:M.zIndex+1}:void 0}))};export var Select=forwardRef(SelectRender);export*from"./helpers";
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|