@consta/uikit 5.31.0 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ColorPicker/index.d.ts +1 -0
- package/ColorPicker/index.js +1 -0
- package/__internal__/src/components/Attachment/Attachment.css +1 -1
- package/__internal__/src/components/Attachment/types.d.ts +1 -1
- package/__internal__/src/components/Attachment/types.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/Attachment.css +1 -1
- package/__internal__/src/components/AttachmentDeprecated/AttachmentDeprecated.js.map +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.d.ts +1 -1
- package/__internal__/src/components/AttachmentDeprecated/types.js.map +1 -1
- package/__internal__/src/components/Avatar/Avatar.d.ts +2 -2
- package/__internal__/src/components/Avatar/Avatar.js.map +1 -1
- package/__internal__/src/components/AvatarGroup/types.d.ts +2 -2
- package/__internal__/src/components/AvatarGroup/types.js.map +1 -1
- package/__internal__/src/components/Badge/Badge.css +2 -2
- package/__internal__/src/components/Badge/maps.js.map +1 -1
- package/__internal__/src/components/Badge/types.d.ts +4 -4
- package/__internal__/src/components/Badge/types.js.map +1 -1
- package/__internal__/src/components/Banner/Banner.d.ts +4 -4
- package/__internal__/src/components/Banner/Banner.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/BookmarkTabs/types.d.ts +3 -3
- package/__internal__/src/components/BookmarkTabs/types.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/types.d.ts +2 -2
- package/__internal__/src/components/Breadcrumbs/types.js.map +1 -1
- package/__internal__/src/components/Button/Button.d.ts +4 -4
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/Card/Card.d.ts +3 -3
- package/__internal__/src/components/Card/Card.js.map +1 -1
- package/__internal__/src/components/Checkbox/Checkbox.css +2 -2
- package/__internal__/src/components/Checkbox/Checkbox.d.ts +3 -3
- package/__internal__/src/components/Checkbox/Checkbox.js.map +1 -1
- package/__internal__/src/components/CheckboxDeprecated/Checkbox.css +2 -2
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.d.ts +3 -3
- package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/types.d.ts +4 -4
- package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.css +2 -2
- package/__internal__/src/components/Chips/types.d.ts +2 -2
- package/__internal__/src/components/Chips/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/types.d.ts +4 -4
- package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
- package/__internal__/src/components/Collapse/types.d.ts +7 -7
- package/__internal__/src/components/Collapse/types.js.map +1 -1
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.css +7 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/ColorControl.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorControl/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/ColorInputTypeChanger.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.d.ts +6 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorInputTypeChanger/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/ColorMarker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorMarker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/ColorPalette.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPalette/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.d.ts +3 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/ColorPicker.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/ColorPickerAlpha.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerAlpha/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/ColorPickerBase.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerBase/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/ColorPickerHue.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerHue/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.css +3 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.d.ts +5 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/ColorPickerInput.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.d.ts +12 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/helpers.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.d.ts +25 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInput/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.d.ts +15 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/ColorPickerInteractive.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerInteractive/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.d.ts +8 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/ColorPickerPoint.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerPoint/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.d.ts +16 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/ColorPickerRoot.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerRoot/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.css +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.d.ts +13 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/ColorPickerSaturation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js +2 -0
- package/__internal__/src/components/ColorPicker/ColorPickerSaturation/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useColorManipulation.js.map +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js +2 -0
- package/__internal__/src/components/ColorPicker/hooks/useEventCallback.js.map +1 -0
- package/__internal__/src/components/ColorPicker/index.d.ts +10 -0
- package/__internal__/src/components/ColorPicker/index.js +2 -0
- package/__internal__/src/components/ColorPicker/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexAlphaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hexModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hslaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/hsvaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/index.d.ts +14 -0
- package/__internal__/src/components/ColorPicker/models/index.js +2 -0
- package/__internal__/src/components/ColorPicker/models/index.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.d.ts +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js +2 -0
- package/__internal__/src/components/ColorPicker/models/rgbaStringModel.js.map +1 -0
- package/__internal__/src/components/ColorPicker/types.d.ts +33 -0
- package/__internal__/src/components/ColorPicker/types.js +2 -0
- package/__internal__/src/components/ColorPicker/types.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/clamp.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/compare.d.ts +4 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/compare.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/convert.d.ts +32 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/convert.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/format.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/format.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/round.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/round.js.map +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.d.ts +1 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js +2 -0
- package/__internal__/src/components/ColorPicker/utils/validate.js.map +1 -0
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/types.d.ts +3 -3
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js +1 -1
- package/__internal__/src/components/DatePicker/getChangeFnRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/types.d.ts +6 -6
- package/__internal__/src/components/DatePicker/types.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +1 -1
- package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeGrid/DateTimeGrid.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js +1 -1
- package/__internal__/src/components/DateTime/helpers/index.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/types.d.ts +4 -3
- package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.css +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.d.ts +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/types.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +4 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +5 -2
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.d.ts +1 -0
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.js.map +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js +1 -1
- package/__internal__/src/components/FieldGroup/getForm.js.map +1 -1
- package/__internal__/src/components/FileCanary/types.d.ts +1 -1
- package/__internal__/src/components/FileCanary/types.js.map +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelect.css +8 -8
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.d.ts +1 -1
- package/__internal__/src/components/FlatSelect/FlatSelectList/FlatSelectList.js.map +1 -1
- package/__internal__/src/components/Grid/types.d.ts +4 -4
- package/__internal__/src/components/Grid/types.js.map +1 -1
- package/__internal__/src/components/GridDeprecated/Grid.css +1 -1
- package/__internal__/src/components/GridDeprecated/GridDeprecated.d.ts +4 -4
- package/__internal__/src/components/GridDeprecated/GridDeprecated.js.map +1 -1
- package/__internal__/src/components/Informer/Informer.d.ts +3 -3
- package/__internal__/src/components/Informer/Informer.js.map +1 -1
- package/__internal__/src/components/Layout/Layout.d.ts +3 -3
- package/__internal__/src/components/Layout/Layout.js.map +1 -1
- package/__internal__/src/components/Layout/useFixed.d.ts +2 -2
- package/__internal__/src/components/Layout/useFixed.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.css +1 -1
- package/__internal__/src/components/ListCanary/types.d.ts +4 -4
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/LoaderDeprecated/Loader.css +2 -2
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.d.ts +1 -1
- package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.js.map +1 -1
- package/__internal__/src/components/Modal/ModalLayout/ModalLayout.css +4 -4
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.d.ts +2 -2
- package/__internal__/src/components/ModalDeprecated/ModalDeprecated.js.map +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js +1 -1
- package/__internal__/src/components/Notification/helpers/defaultDateFormat.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +3 -3
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +4 -4
- package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.js.map +1 -1
- package/__internal__/src/components/Popover/Popover.d.ts +2 -2
- package/__internal__/src/components/Popover/Popover.js.map +1 -1
- package/__internal__/src/components/ProgressLine/ProgressLine.css +1 -1
- package/__internal__/src/components/ProgressLine/types.d.ts +1 -1
- package/__internal__/src/components/ProgressLine/types.js.map +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.d.ts +1 -1
- package/__internal__/src/components/ProgressSpin/ProgressSpin.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css +8 -8
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +5 -5
- package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
- package/__internal__/src/components/Radio/Radio.css +1 -1
- package/__internal__/src/components/Radio/Radio.d.ts +3 -3
- package/__internal__/src/components/Radio/Radio.js.map +1 -1
- package/__internal__/src/components/RadioGroup/types.d.ts +4 -4
- package/__internal__/src/components/RadioGroup/types.js.map +1 -1
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Responses/Responses.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +1 -1
- package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.css +2 -2
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +1 -1
- package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
- package/__internal__/src/components/SelectCanary/helpers.d.ts +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponents/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponents/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js +1 -1
- package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/types.d.ts +4 -4
- package/__internal__/src/components/SelectComponentsDeprecated/types.js.map +1 -1
- package/__internal__/src/components/Sidebar/types.d.ts +2 -2
- package/__internal__/src/components/Sidebar/types.js.map +1 -1
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.d.ts +2 -2
- package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.js.map +1 -1
- package/__internal__/src/components/Skeleton/Skeleton.css +1 -1
- package/__internal__/src/components/Slider/helper.d.ts +2 -2
- package/__internal__/src/components/Slider/helper.js.map +1 -1
- package/__internal__/src/components/SnackBar/types.d.ts +4 -4
- package/__internal__/src/components/SnackBar/types.js.map +1 -1
- package/__internal__/src/components/Spoiler/types.d.ts +2 -2
- package/__internal__/src/components/Spoiler/types.js.map +1 -1
- package/__internal__/src/components/Steps/StepsStep/StepsStep.css +1 -1
- package/__internal__/src/components/Steps/types.d.ts +1 -1
- package/__internal__/src/components/Steps/types.js.map +1 -1
- package/__internal__/src/components/Switch/Switch.css +1 -1
- package/__internal__/src/components/Switch/types.d.ts +3 -3
- package/__internal__/src/components/Switch/types.js.map +1 -1
- package/__internal__/src/components/SwitchGroup/types.d.ts +1 -1
- package/__internal__/src/components/SwitchGroup/types.js.map +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.css +1 -1
- package/__internal__/src/components/Table/Cell/TableCell.d.ts +2 -2
- package/__internal__/src/components/Table/Cell/TableCell.js.map +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.d.ts +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
- package/__internal__/src/components/Table/Table.d.ts +3 -3
- package/__internal__/src/components/Table/Table.js.map +1 -1
- package/__internal__/src/components/Table/__mock__/data.mock.d.ts +10 -10
- package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
- package/__internal__/src/components/Table/helpers.d.ts +1 -1
- package/__internal__/src/components/Table/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +4 -4
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/Tag/Tag.d.ts +1 -1
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +3 -3
- package/__internal__/src/components/TagBase/TagBase.js.map +1 -1
- package/__internal__/src/components/Text/Text.d.ts +13 -13
- package/__internal__/src/components/Text/Text.js.map +1 -1
- package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.css +1 -1
- package/__internal__/src/components/TextDeprecated/TextDeprecated.d.ts +13 -13
- package/__internal__/src/components/TextDeprecated/TextDeprecated.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +4 -4
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
- package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +2 -2
- package/__internal__/src/components/TextFieldCanary/useTextField.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/types.d.ts +1 -1
- package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
- package/__internal__/src/components/Timer/Timer.d.ts +1 -1
- package/__internal__/src/components/Timer/Timer.js.map +1 -1
- package/__internal__/src/components/Tooltip/types.d.ts +2 -2
- package/__internal__/src/components/Tooltip/types.js.map +1 -1
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +2 -2
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.js.map +1 -1
- package/__internal__/src/components/User/User.css +1 -1
- package/__internal__/src/components/User/User.d.ts +4 -4
- package/__internal__/src/components/User/User.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.css +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.d.ts +1 -1
- package/__internal__/src/fileIcons/FileIcon/FileIcon.js.map +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js.map +1 -1
- package/__internal__/src/hooks/useStyleProps/types.js.map +1 -1
- package/__internal__/src/mixs/MixCard/MixCard.d.ts +2 -2
- package/__internal__/src/mixs/MixCard/MixCard.js.map +1 -1
- package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +5 -5
- package/__internal__/src/mixs/MixFlex/MixFlex.js.map +1 -1
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.d.ts +2 -2
- package/__internal__/src/mixs/MixScrollBar/MixScrollBar.js.map +1 -1
- package/__internal__/src/mixs/MixVisuallyHidden/MixVisuallyHidden.css +1 -1
- package/__internal__/src/utils/array.js.map +1 -1
- package/__internal__/src/utils/date/index.js +1 -1
- package/__internal__/src/utils/date/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ObjectColor } from '../types';
|
|
2
|
+
export declare const equalColorObjects: (first: ObjectColor, second: ObjectColor) => boolean;
|
|
3
|
+
export declare const equalColorString: (first: string, second: string) => boolean;
|
|
4
|
+
export declare const equalHex: (first: string, second: string) => boolean;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{hexToRgba}from"./convert";export var equalColorObjects=function(a,b){if(a===b)return!0;for(var c in a)if(a[c]!==b[c])return!1;return!0};export var equalColorString=function(a,b){return a.replace(/\s/g,"")===b.replace(/\s/g,"")};export var equalHex=function(a,b){return!(a.toLowerCase()!==b.toLowerCase())||equalColorObjects(hexToRgba(a),hexToRgba(b))};
|
|
2
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","names":["hexToRgba","equalColorObjects","first","second","prop","equalColorString","replace","equalHex","toLowerCase"],"sources":["../../../../../../src/components/ColorPicker/utils/compare.ts"],"sourcesContent":["import { ObjectColor } from '../types';\nimport { hexToRgba } from './convert';\n\nexport const equalColorObjects = (\n first: ObjectColor,\n second: ObjectColor,\n): boolean => {\n if (first === second) return true;\n\n for (const prop in first) {\n if (\n (first as unknown as Record<string, number>)[prop] !==\n (second as unknown as Record<string, number>)[prop]\n )\n return false;\n }\n\n return true;\n};\n\nexport const equalColorString = (first: string, second: string): boolean => {\n return first.replace(/\\s/g, '') === second.replace(/\\s/g, '');\n};\n\nexport const equalHex = (first: string, second: string): boolean => {\n if (first.toLowerCase() === second.toLowerCase()) return true;\n\n return equalColorObjects(hexToRgba(first), hexToRgba(second));\n};\n"],"mappings":"AACA,OAASA,SAAT,iBAEA,MAAO,IAAMC,kBAAiB,CAAG,SAC/BC,CAD+B,CAE/BC,CAF+B,CAGnB,CACZ,GAAID,CAAK,GAAKC,CAAd,CAAsB,SAEtB,IAAK,GAAMC,EAAX,GAAmBF,EAAnB,CACE,GACGA,CAAD,CAA6CE,CAA7C,IACCD,CAAD,CAA8CC,CAA9C,CAFF,CAIE,SAGJ,QACD,CAfM,CAiBP,MAAO,IAAMC,iBAAgB,CAAG,SAACH,CAAD,CAAgBC,CAAhB,CAA4C,CAC1E,MAAOD,EAAK,CAACI,OAAN,CAAc,KAAd,CAAqB,EAArB,IAA6BH,CAAM,CAACG,OAAP,CAAe,KAAf,CAAsB,EAAtB,CACrC,CAFM,CAIP,MAAO,IAAMC,SAAQ,CAAG,SAACL,CAAD,CAAgBC,CAAhB,CAA4C,SAC9DD,CAAK,CAACM,WAAN,KAAwBL,CAAM,CAACK,WAAP,EADsC,GAG3DP,iBAAiB,CAACD,SAAS,CAACE,CAAD,CAAV,CAAmBF,SAAS,CAACG,CAAD,CAA5B,CACzB,CAJM"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HslaColor, HslColor, HsvaColor, HsvColor, RgbaColor, RgbColor } from '../types';
|
|
2
|
+
export declare const hexToHsva: (hex: string) => HsvaColor;
|
|
3
|
+
export declare const hexToHsvaRound: (hex: string) => HsvaColor;
|
|
4
|
+
export declare const isHex: (hex: string) => boolean;
|
|
5
|
+
export declare const hexToRgba: (hex: string) => RgbaColor;
|
|
6
|
+
export declare const parseHue: (value: string, unit?: string) => number;
|
|
7
|
+
export declare const hslaStringToHsva: (hslString: string) => HsvaColor;
|
|
8
|
+
export declare const hslStringToHsva: (hslString: string) => HsvaColor;
|
|
9
|
+
export declare const hslaToHsva: ({ h, s, l, a }: HslaColor) => HsvaColor;
|
|
10
|
+
export declare const hsvaToHex: (hsva: HsvaColor) => string;
|
|
11
|
+
export declare const hsvaToHsla: ({ h, s, v, a }: HsvaColor) => HslaColor;
|
|
12
|
+
export declare const hsvaToHslString: (hsva: HsvaColor) => string;
|
|
13
|
+
export declare const hsvaToHsvString: (hsva: HsvaColor) => string;
|
|
14
|
+
export declare const hsvaToHsvaString: (hsva: HsvaColor) => string;
|
|
15
|
+
export declare const hsvaToHslaString: (hsva: HsvaColor) => string;
|
|
16
|
+
export declare const hsvaToRgba: ({ h, s, v, a }: HsvaColor) => RgbaColor;
|
|
17
|
+
export declare const hsvaToRgbString: (hsva: HsvaColor) => string;
|
|
18
|
+
export declare const hsvaToRgbaString: (hsva: HsvaColor) => string;
|
|
19
|
+
export declare const hsvaStringToHsva: (hsvString: string) => HsvaColor;
|
|
20
|
+
export declare const hsvaStringToHsvaRound: (hsvString: string) => HsvaColor;
|
|
21
|
+
export declare const hsvStringToHsva: (hsvString: string) => HsvaColor;
|
|
22
|
+
export declare const hsvStringToHsvaRound: (hsvString: string) => HsvaColor;
|
|
23
|
+
export declare const rgbaStringToHsva: (rgbaString: string) => HsvaColor;
|
|
24
|
+
export declare const rgbStringToHsva: (rgbaString: string) => HsvaColor;
|
|
25
|
+
export declare const rgbaToHex: ({ r, g, b, a }: RgbaColor) => string;
|
|
26
|
+
export declare const rgbaToHsva: ({ r, g, b, a }: RgbaColor) => HsvaColor;
|
|
27
|
+
export declare const roundHsva: (hsva: HsvaColor) => HsvaColor;
|
|
28
|
+
export declare const rgbaToRgb: ({ r, g, b }: RgbaColor) => RgbColor;
|
|
29
|
+
export declare const hslaToHsl: ({ h, s, l }: HslaColor) => HslColor;
|
|
30
|
+
export declare const hsvaToHsv: ({ h, s, v }: HsvaColor) => HsvColor;
|
|
31
|
+
export declare const hsvaToHsvRound: (hsva: HsvaColor) => HsvColor;
|
|
32
|
+
export declare const rgbaToHsvaRound: (rgba: RgbaColor) => HsvaColor;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{round}from"./round";var angleUnits={grad:360/400,turn:360,rad:360/(2*Math.PI)};export var hexToHsva=function(a){return rgbaToHsva(hexToRgba(a))};export var hexToHsvaRound=function(a){return roundHsva(hexToHsva(a))};export var isHex=function(a){return"#"===a[0]};export var hexToRgba=function(a){return isHex(a)&&(a=a.substring(1)),6>a.length?{r:parseInt(a[0]+a[0],16),g:parseInt(a[1]+a[1],16),b:parseInt(a[2]+a[2],16),a:4===a.length?round(parseInt(a[3]+a[3],16)/255,2):1}:{r:parseInt(a.substring(0,2),16),g:parseInt(a.substring(2,4),16),b:parseInt(a.substring(4,6),16),a:8===a.length?round(parseInt(a.substring(6,8),16)/255,2):1}};export var parseHue=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"deg";return+a*(angleUnits[b]||1)};export var hslaStringToHsva=function(a){var b=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(a);return b?hslaToHsva({h:parseHue(b[1],b[2]),s:+b[3],l:+b[4],a:b[5]===void 0?1:+b[5]/(b[6]?100:1)}):{h:0,s:0,v:0,a:1}};export var hslStringToHsva=hslaStringToHsva;export var hslaToHsva=function(b){var c=b.h,d=b.s,e=b.l,f=b.a;return d*=(50>e?e:100-e)/100,{h:c,s:0<d?100*(2*d/(e+d)):0,v:e+d,a:f}};export var hsvaToHex=function(a){return rgbaToHex(hsvaToRgba(a))};export var hsvaToHsla=function(b){var c=b.h,d=b.s,e=b.v,f=b.a,a=(200-d)*e/100;return{h:round(c),s:round(0<a&&200>a?100*(d*e/100/(100>=a?a:200-a)):0),l:round(a/2),a:round(f,2)}};export var hsvaToHslString=function(a){var b=hsvaToHsla(a),c=b.h,d=b.s,e=b.l;return"hsl(".concat(c,", ").concat(d,"%, ").concat(e,"%)")};export var hsvaToHsvString=function(a){var b=roundHsva(a),c=b.h,d=b.s,e=b.v;return"hsv(".concat(c,", ").concat(d,"%, ").concat(e,"%)")};export var hsvaToHsvaString=function(b){var c=roundHsva(b),d=c.h,e=c.s,f=c.v,g=c.a;return"hsva(".concat(d,", ").concat(e,"%, ").concat(f,"%, ").concat(g,")")};export var hsvaToHslaString=function(b){var c=hsvaToHsla(b),d=c.h,e=c.s,f=c.l,g=c.a;return"hsla(".concat(d,", ").concat(e,"%, ").concat(f,"%, ").concat(g,")")};export var hsvaToRgba=function(e){var f=e.h,g=e.s,i=e.v,j=e.a;f=6*(f/360),g/=100,i/=100;var a=Math.floor(f),k=i*(1-g),b=i*(1-(f-a)*g),c=i*(1-(1-f+a)*g),d=a%6;return{r:round(255*[i,b,k,k,c,i][d]),g:round(255*[c,i,i,b,k,k][d]),b:round(255*[k,k,c,i,i,b][d]),a:round(j,2)}};export var hsvaToRgbString=function(a){var c=hsvaToRgba(a),d=c.r,e=c.g,f=c.b;return"rgb(".concat(d,", ").concat(e,", ").concat(f,")")};export var hsvaToRgbaString=function(c){var d=hsvaToRgba(c),e=d.r,f=d.g,g=d.b,b=d.a;return"rgba(".concat(e,", ").concat(f,", ").concat(g,", ").concat(b,")")};export var hsvaStringToHsva=function(a){var b=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(a);return b?{h:parseHue(b[1],b[2]),s:+b[3],v:+b[4],a:b[5]===void 0?1:+b[5]/(b[6]?100:1)}:{h:0,s:0,v:0,a:1}};export var hsvaStringToHsvaRound=function(a){return roundHsva(hsvaStringToHsva(a))};export var hsvStringToHsva=hsvaStringToHsva;export var hsvStringToHsvaRound=hsvaStringToHsvaRound;export var rgbaStringToHsva=function(a){var b=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(a);return b?rgbaToHsva({r:+b[1]/(b[2]?100/255:1),g:+b[3]/(b[4]?100/255:1),b:+b[5]/(b[6]?100/255:1),a:b[7]===void 0?1:+b[7]/(b[8]?100:1)}):{h:0,s:0,v:0,a:1}};export var rgbStringToHsva=rgbaStringToHsva;var format=function(a){var b=a.toString(16);return 2>b.length?"0".concat(b):b};export var rgbaToHex=function(c){var d=c.r,e=c.g,f=c.b,b=c.a,a=1>b?format(round(255*b)):"";return"#".concat(format(d)).concat(format(e)).concat(format(f)).concat(a)};export var rgbaToHsva=function(c){var d=c.r,e=c.g,f=c.b,b=c.a,a=Math.max(d,e,f),g=a-Math.min(d,e,f),h=g?a===d?(e-f)/g:a===e?2+(f-d)/g:4+(d-e)/g:0;return{h:60*(0>h?h+6:h),s:a?100*(g/a):0,v:100*(a/255),a:b}};export var roundHsva=function(a){return{h:round(a.h),s:round(a.s),v:round(a.v),a:round(a.a,2)}};export var rgbaToRgb=function(a){var c=a.r,d=a.g,e=a.b;return{r:c,g:d,b:e}};export var hslaToHsl=function(a){var b=a.h,c=a.s,d=a.l;return{h:b,s:c,l:d}};export var hsvaToHsv=function(a){var b=a.h,c=a.s,d=a.v;return{h:b,s:c,v:d}};export var hsvaToHsvRound=function(a){var b=roundHsva(a),c=b.h,d=b.s,e=b.v;return{h:c,s:d,v:e}};export var rgbaToHsvaRound=function(a){return roundHsva(rgbaToHsva(a))};
|
|
2
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","names":["round","angleUnits","grad","turn","rad","Math","PI","hexToHsva","hex","rgbaToHsva","hexToRgba","hexToHsvaRound","roundHsva","isHex","substring","length","r","parseInt","g","b","a","parseHue","value","unit","hslaStringToHsva","hslString","match","exec","hslaToHsva","h","s","l","v","hslStringToHsva","hsvaToHex","hsva","rgbaToHex","hsvaToRgba","hsvaToHsla","hh","hsvaToHslString","hsvaToHsvString","hsvaToHsvaString","hsvaToHslaString","floor","c","d","module","hsvaToRgbString","hsvaToRgbaString","hsvaStringToHsva","hsvString","hsvaStringToHsvaRound","hsvStringToHsva","hsvStringToHsvaRound","rgbaStringToHsva","rgbaString","rgbStringToHsva","format","number","toString","alphaHex","max","delta","min","rgbaToRgb","hslaToHsl","hsvaToHsv","hsvaToHsvRound","rgbaToHsvaRound","rgba"],"sources":["../../../../../../src/components/ColorPicker/utils/convert.ts"],"sourcesContent":["/* eslint-disable no-nested-ternary */\nimport {\n HslaColor,\n HslColor,\n HsvaColor,\n HsvColor,\n RgbaColor,\n RgbColor,\n} from '../types';\nimport { round } from './round';\n\nconst angleUnits: Record<string, number> = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport const hexToHsva = (hex: string): HsvaColor => rgbaToHsva(hexToRgba(hex));\nexport const hexToHsvaRound = (hex: string): HsvaColor =>\n roundHsva(hexToHsva(hex));\n\nexport const isHex = (hex: string) => hex[0] === '#';\nexport const hexToRgba = (hex: string): RgbaColor => {\n if (isHex(hex)) hex = hex.substring(1);\n\n if (hex.length < 6) {\n return {\n r: parseInt(hex[0] + hex[0], 16),\n g: parseInt(hex[1] + hex[1], 16),\n b: parseInt(hex[2] + hex[2], 16),\n a: hex.length === 4 ? round(parseInt(hex[3] + hex[3], 16) / 255, 2) : 1,\n };\n }\n\n return {\n r: parseInt(hex.substring(0, 2), 16),\n g: parseInt(hex.substring(2, 4), 16),\n b: parseInt(hex.substring(4, 6), 16),\n a: hex.length === 8 ? round(parseInt(hex.substring(6, 8), 16) / 255, 2) : 1,\n };\n};\n\nexport const parseHue = (value: string, unit = 'deg'): number => {\n return Number(value) * (angleUnits[unit] || 1);\n};\n\nexport const hslaStringToHsva = (hslString: string): HsvaColor => {\n const matcher =\n /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hslString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hslStringToHsva = hslaStringToHsva;\n\nexport const hslaToHsva = ({ h, s, l, a }: HslaColor): HsvaColor => {\n s *= (l < 50 ? l : 100 - l) / 100;\n\n return {\n h,\n s: s > 0 ? ((2 * s) / (l + s)) * 100 : 0,\n v: l + s,\n a,\n };\n};\n\nexport const hsvaToHex = (hsva: HsvaColor): string =>\n rgbaToHex(hsvaToRgba(hsva));\n\nexport const hsvaToHsla = ({ h, s, v, a }: HsvaColor): HslaColor => {\n const hh = ((200 - s) * v) / 100;\n\n return {\n h: round(h),\n s: round(\n hh > 0 && hh < 200\n ? ((s * v) / 100 / (hh <= 100 ? hh : 200 - hh)) * 100\n : 0,\n ),\n l: round(hh / 2),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToHslString = (hsva: HsvaColor): string => {\n const { h, s, l } = hsvaToHsla(hsva);\n return `hsl(${h}, ${s}%, ${l}%)`;\n};\n\nexport const hsvaToHsvString = (hsva: HsvaColor): string => {\n const { h, s, v } = roundHsva(hsva);\n return `hsv(${h}, ${s}%, ${v}%)`;\n};\n\nexport const hsvaToHsvaString = (hsva: HsvaColor): string => {\n const { h, s, v, a } = roundHsva(hsva);\n return `hsva(${h}, ${s}%, ${v}%, ${a})`;\n};\n\nexport const hsvaToHslaString = (hsva: HsvaColor): string => {\n const { h, s, l, a } = hsvaToHsla(hsva);\n return `hsla(${h}, ${s}%, ${l}%, ${a})`;\n};\n\nexport const hsvaToRgba = ({ h, s, v, a }: HsvaColor): RgbaColor => {\n h = (h / 360) * 6;\n s /= 100;\n v /= 100;\n\n const hh = Math.floor(h);\n const b = v * (1 - s);\n const c = v * (1 - (h - hh) * s);\n const d = v * (1 - (1 - h + hh) * s);\n const module = hh % 6;\n\n return {\n r: round([v, c, b, b, d, v][module] * 255),\n g: round([d, v, v, c, b, b][module] * 255),\n b: round([b, b, d, v, v, c][module] * 255),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToRgbString = (hsva: HsvaColor): string => {\n const { r, g, b } = hsvaToRgba(hsva);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\nexport const hsvaToRgbaString = (hsva: HsvaColor): string => {\n const { r, g, b, a } = hsvaToRgba(hsva);\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n};\n\nexport const hsvaStringToHsva = (hsvString: string): HsvaColor => {\n const matcher =\n /hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hsvString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return {\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n v: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n };\n};\n\nexport const hsvaStringToHsvaRound = (hsvString: string): HsvaColor =>\n roundHsva(hsvaStringToHsva(hsvString));\n\nexport const hsvStringToHsva = hsvaStringToHsva;\nexport const hsvStringToHsvaRound = hsvaStringToHsvaRound;\n\nexport const rgbaStringToHsva = (rgbaString: string): HsvaColor => {\n const matcher =\n /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(rgbaString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? 100 / 255 : 1),\n g: Number(match[3]) / (match[4] ? 100 / 255 : 1),\n b: Number(match[5]) / (match[6] ? 100 / 255 : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1),\n });\n};\n\nexport const rgbStringToHsva = rgbaStringToHsva;\n\nconst format = (number: number) => {\n const hex = number.toString(16);\n return hex.length < 2 ? `0${hex}` : hex;\n};\n\nexport const rgbaToHex = ({ r, g, b, a }: RgbaColor): string => {\n const alphaHex = a < 1 ? format(round(a * 255)) : '';\n return `#${format(r)}${format(g)}${format(b)}${alphaHex}`;\n};\n\nexport const rgbaToHsva = ({ r, g, b, a }: RgbaColor): HsvaColor => {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: 60 * (hh < 0 ? hh + 6 : hh),\n s: max ? (delta / max) * 100 : 0,\n v: (max / 255) * 100,\n a,\n };\n};\n\nexport const roundHsva = (hsva: HsvaColor): HsvaColor => ({\n h: round(hsva.h),\n s: round(hsva.s),\n v: round(hsva.v),\n a: round(hsva.a, 2),\n});\n\nexport const rgbaToRgb = ({ r, g, b }: RgbaColor): RgbColor => ({ r, g, b });\n\nexport const hslaToHsl = ({ h, s, l }: HslaColor): HslColor => ({ h, s, l });\n\nexport const hsvaToHsv = ({ h, s, v }: HsvaColor): HsvColor => ({ h, s, v });\n\nexport const hsvaToHsvRound = (hsva: HsvaColor): HsvColor => {\n const { h, s, v } = roundHsva(hsva);\n return { h, s, v };\n};\n\nexport const rgbaToHsvaRound = (rgba: RgbaColor): HsvaColor =>\n roundHsva(rgbaToHsva(rgba));\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatClassName: (names: unknown[]) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","names":["formatClassName","names","filter","Boolean","join"],"sources":["../../../../../../src/components/ColorPicker/utils/format.ts"],"sourcesContent":["export const formatClassName = (names: unknown[]): string =>\n names.filter(Boolean).join(' ');\n"],"mappings":"AAAA,MAAO,IAAMA,gBAAe,CAAG,SAACC,CAAD,QAC7BA,EAAK,CAACC,MAAN,CAAaC,OAAb,EAAsBC,IAAtB,CAA2B,GAA3B,CAD6B,CAAxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const round: (number: number, digits?: number, base?: number) => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round.js","names":["round","number","digits","base","Math"],"sources":["../../../../../../src/components/ColorPicker/utils/round.ts"],"sourcesContent":["export const round = (\n number: number,\n digits = 0,\n base = 10 ** digits,\n): number => Math.round(base * number) / base;\n"],"mappings":"AAAA,MAAO,IAAMA,MAAK,CAAG,SACnBC,CADmB,KAEnBC,EAFmB,wDAEV,CAFU,CAGnBC,CAHmB,iEAGZ,EAHY,CAGND,CAHM,QAIRE,KAAI,CAACJ,KAAL,CAAWG,CAAI,CAAGF,CAAlB,EAA4BE,CAJpB,CAAd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validHex: (value: string, alpha?: boolean) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","names":["matcher","validHex","value","alpha","match","exec","length"],"sources":["../../../../../../src/components/ColorPicker/utils/validate.ts"],"sourcesContent":["const matcher = /^#?([0-9A-F]{3,8})$/i;\n\nexport const validHex = (value: string, alpha?: boolean): boolean => {\n const match = matcher.exec(value);\n const length = match ? match[1].length : 0;\n\n return (\n length === 3 || // '#rgb' format\n length === 6 || // '#rrggbb' format\n (!!alpha && length === 4) || // '#rgba' format\n (!!alpha && length === 8) // '#rrggbbaa' format\n );\n};\n"],"mappings":"AAAA,GAAMA,QAAO,CAAG,sBAAhB,CAEA,MAAO,IAAMC,SAAQ,CAAG,SAACC,CAAD,CAAgBC,CAAhB,CAA6C,IAC7DC,EAAK,CAAGJ,OAAO,CAACK,IAAR,CAAaH,CAAb,CADqD,CAE7DI,CAAM,CAAGF,CAAK,CAAGA,CAAK,CAAC,CAAD,CAAL,CAASE,MAAZ,CAAqB,CAF0B,CAInE,MACa,EAAX,GAAAA,CAAM,EACK,CAAX,GAAAA,CADA,EAEC,CAAC,CAACH,CAAF,EAAsB,CAAX,GAAAG,CAFZ,EAGC,CAAC,CAACH,CAAF,EAAsB,CAAX,GAAAG,CAEf,CAVM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuLevel.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useEffect","useMemo","cnListBox","List","ListDivider","ListItem","mapIconSize","mapVerticalSpace","useFlag","useForkRef","cnMixPopoverAnimate","cnMixSpace","cn","ContextMenuLevelWrapper","contextMenuDefaultSize","useMenuNavigation","cnContextMenuLevel","timers","clearTimers","timer","clearTimeout","closeDelay","ContextMenuLevelRender","props","ref","size","items","groupsProp","groups","className","form","animate","levelDepth","activeLevelDepth","activeItem","addLevel","deleteLevel","setHoveredParenLevel","hoveredParenLevel","sortGroup","onItemClickProp","onItemClick","onEsc","isOpen","parent","isMobile","viewportRef","direction","possibleDirections","offset","onSetDirection","spareDirection","anchorRef","getItemLabel","getItemRightSideProp","getItemRightSide","getItemLeftSide","getItemSubMenu","getItemStatus","getItemDisabled","getItemKey","getItemOnClickProp","getItemOnClick","getItemAs","getItemAttributesProp","getItemAttributes","getItemGroupId","getItemLeftIcon","getItemRightIcon","getGroupLabel","getGroupId","otherProps","firstLevel","hovered","setHovered","getKey","item","toString","addCurrentLevel","subMenu","disabled","Array","isArray","key","level","itemsRefs","active","handleEscClick","e","current","focus","refs","onKeyDown","activeIndex","setActiveIndex","setDirection","parentRef","containerRef","map","reduce","a","v","index","activeKey","onMouseEnter","indexOf","setTimeout","border","shadow","pV","on","onMouseLeave","off","mV","b","tabIndex","side","sides","push","getItemActive","ContextMenuLevel"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.tsx"],"sourcesContent":["import './ContextMenuLevel.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useEffect, useMemo } from 'react';\n\nimport {\n cnListBox,\n List,\n ListDivider,\n ListItem,\n ListPropOnItemClick,\n mapIconSize,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { AsAttributes, AsTagAttribute } from '##/utils/types/AsTags';\n\nimport { ContextMenuLevelWrapper } from '../ContextMenuLevelWrapper';\nimport {\n contextMenuDefaultSize,\n ContextMenuItemDefault,\n ContextMenuLevelComponent,\n ContextMenuLevelProps,\n} from '../types';\nimport { useMenuNavigation } from '../useMenuNavigation';\n\nexport const cnContextMenuLevel = cn('ContextMenuLevel');\n\nlet timers: ReturnType<typeof setTimeout>[] = [];\nexport function clearTimers() {\n for (const timer of timers) {\n clearTimeout(timer);\n }\n timers = [];\n}\n\nconst closeDelay = 300;\n\nconst ContextMenuLevelRender = (\n props: ContextMenuLevelProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = contextMenuDefaultSize,\n items,\n groups: groupsProp,\n className,\n form = 'default',\n animate,\n // Свойства относящиеся к меню\n levelDepth,\n activeLevelDepth,\n activeItem,\n addLevel,\n deleteLevel,\n setHoveredParenLevel,\n hoveredParenLevel,\n sortGroup,\n onItemClick: onItemClickProp,\n onEsc,\n isOpen,\n parent,\n isMobile,\n viewportRef,\n // Свойства для поповера\n direction,\n possibleDirections,\n offset,\n onSetDirection,\n spareDirection,\n anchorRef,\n // Геттеры для ITEM\n getItemLabel,\n getItemRightSide: getItemRightSideProp,\n getItemLeftSide,\n getItemSubMenu,\n getItemStatus,\n getItemDisabled,\n getItemKey,\n getItemOnClick: getItemOnClickProp,\n getItemAs,\n getItemAttributes: getItemAttributesProp,\n getItemGroupId,\n getItemLeftIcon,\n getItemRightIcon,\n // Геттеры для GROUP\n getGroupLabel,\n getGroupId,\n ...otherProps\n } = props;\n\n const firstLevel = levelDepth === 0;\n\n const [hovered, setHovered] = useFlag(false);\n\n const getKey = (item: ContextMenuItemDefault) =>\n (getItemKey(item) || getItemLabel(item)).toString();\n\n const addCurrentLevel = (item: ContextMenuItemDefault) => {\n const subMenu = getItemSubMenu(item);\n const disabled = getItemDisabled(item);\n\n if (Array.isArray(subMenu) && !disabled) {\n const key = getKey(item);\n addLevel({\n level: levelDepth + 1,\n items: subMenu,\n anchorRef: itemsRefs[key],\n activeItem: key,\n parent: item,\n });\n setHoveredParenLevel(levelDepth + 1);\n } else {\n setHoveredParenLevel(levelDepth);\n }\n };\n\n const handleEscClick: React.KeyboardEventHandler = (e) => {\n onEsc?.(e);\n anchorRef?.current?.focus();\n };\n\n const {\n refs,\n onKeyDown,\n activeIndex,\n setActiveIndex,\n setDirection,\n parentRef,\n containerRef,\n } = useMenuNavigation({\n items,\n getItemSubMenu,\n addLevel: addCurrentLevel,\n active: activeLevelDepth === levelDepth,\n deleteLevel: () => deleteLevel(levelDepth),\n onEsc: handleEscClick,\n level: levelDepth,\n isMobile,\n });\n\n const itemsRefs = useMemo(() => {\n return items\n .map((item) => getKey(item))\n .reduce((a, v, index) => ({ ...a, [v]: refs[index] }), {}) as Record<\n string,\n React.RefObject<HTMLDivElement>\n >;\n }, [groupsProp, refs]);\n\n const activeKey = useMemo(() => {\n const item = items[activeIndex];\n return item ? getKey(item) : undefined;\n }, [items, activeIndex]);\n\n const onMouseEnter = isMobile\n ? undefined\n : (item: ContextMenuItemDefault): AsTagAttribute<'div'>['onMouseEnter'] =>\n (e) => {\n addCurrentLevel(item);\n const onMouseEnter = getItemAttributesProp(item)\n ?.onMouseEnter as AsTagAttribute<'div'>['onMouseEnter'];\n setActiveIndex(items.indexOf(item));\n onMouseEnter?.(e);\n };\n\n // GETTERS\n\n const getItemOnClick = getItemOnClickProp\n ? (item: ContextMenuItemDefault) => (e: React.MouseEvent) =>\n getItemOnClickProp(item)?.(e as React.MouseEvent<HTMLDivElement>)\n : undefined;\n\n const getItemAttributes = (item: ContextMenuItemDefault) =>\n ({\n ...getItemAttributesProp(item),\n tabIndex: 0,\n onMouseEnter: onMouseEnter?.(item),\n } as AsAttributes);\n\n const getItemActive = (item: ContextMenuItemDefault) => {\n const key = getKey(item);\n return key === activeItem || key === activeKey;\n };\n\n const getItemRightSide = (item: ContextMenuItemDefault) => {\n const side = getItemRightSideProp(item);\n if (!getItemSubMenu(item)) {\n return side;\n }\n\n const sides: React.ReactNode[] = Array.isArray(side) ? side : [side];\n sides.push(<IconArrowRight size={mapIconSize[size]} />);\n return sides;\n };\n\n const onMouseLeave: React.MouseEventHandler = () => {\n setHovered.off();\n setActiveIndex(-1);\n };\n\n const onItemClick: ListPropOnItemClick<ContextMenuItemDefault> = (\n item,\n { e },\n ) => {\n if (isMobile) {\n addCurrentLevel(item);\n setActiveIndex(items.indexOf(item));\n }\n onItemClickProp?.(item, {\n e: e as React.MouseEvent<HTMLDivElement>,\n });\n };\n\n // EFFECTS\n\n useEffect(() => {\n if (levelDepth !== 0 && !hovered && hoveredParenLevel < levelDepth) {\n clearTimeout(timers[levelDepth]);\n timers[levelDepth] = setTimeout(\n () => deleteLevel(levelDepth),\n closeDelay,\n );\n }\n return () => clearTimeout(timers[levelDepth]);\n }, [hovered, hoveredParenLevel]);\n\n useEffect(() => {\n if (!isOpen) {\n clearTimeout(timers[levelDepth]);\n }\n }, [isOpen]);\n\n return (\n <ContextMenuLevelWrapper\n anchorRef={anchorRef}\n className={\n isMobile\n ? cnContextMenuLevel(\n 'Mobile',\n { animate, firstLevel, level: levelDepth.toString() },\n [className],\n )\n : cnContextMenuLevel(\n 'Desktop',\n { firstLevel, level: levelDepth.toString() },\n [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixPopoverAnimate({ animate }),\n className,\n ],\n )\n }\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n direction={direction}\n offset={offset}\n tabIndex={0}\n onKeyDown={onKeyDown}\n onSetDirection={(direction) => {\n onSetDirection?.(direction);\n setDirection(direction);\n }}\n onMouseEnter={setHovered.on}\n onMouseLeave={onMouseLeave}\n ref={useForkRef([ref, containerRef])}\n isMobile={isMobile}\n viewportRef={viewportRef}\n {...otherProps}\n >\n {parent && (\n <>\n <ListItem\n label={getItemLabel(parent)}\n size={size}\n tabIndex={0}\n ref={parentRef}\n leftIcon={IconArrowLeft}\n onClick={() => deleteLevel(levelDepth)}\n active={activeIndex === -1}\n className={cnContextMenuLevel('Item', {\n active: activeIndex === -1,\n })}\n />\n <ListDivider size={size} space={{ mV: mapVerticalSpace[size] }} />\n </>\n )}\n <List\n size={size}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={onItemClick}\n sortGroup={sortGroup ? (a, b) => sortGroup(a.key, b.key) : undefined}\n getItemOnClick={getItemOnClick}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemGroupKey={getItemGroupId}\n getItemLeftIcon={getItemLeftIcon}\n getItemRightIcon={getItemRightIcon}\n getItemLeftSide={getItemLeftSide}\n getItemRightSide={getItemRightSide}\n getGroupKey={getGroupId}\n getGroupLabel={getGroupLabel}\n getItemDisabled={getItemDisabled}\n getItemStatus={getItemStatus}\n getItemActive={getItemActive}\n getItemAdditionalClassName={(item) =>\n cnContextMenuLevel('Item', {\n active: getKey(item) === activeItem,\n })\n }\n getItemRef={(item) => itemsRefs[getKey(item)]}\n groups={groupsProp}\n innerOffset={form === 'round' ? 'increased' : 'normal'}\n />\n </ContextMenuLevelWrapper>\n );\n};\n\nexport const ContextMenuLevel = forwardRef(\n ContextMenuLevelRender,\n) as ContextMenuLevelComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenuLevel.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useEffect","useMemo","cnListBox","List","ListDivider","ListItem","mapIconSize","mapVerticalSpace","useFlag","useForkRef","cnMixPopoverAnimate","cnMixSpace","cn","ContextMenuLevelWrapper","contextMenuDefaultSize","useMenuNavigation","cnContextMenuLevel","timers","clearTimers","timer","clearTimeout","closeDelay","ContextMenuLevelRender","props","ref","size","items","groupsProp","groups","className","form","animate","levelDepth","activeLevelDepth","activeItem","addLevel","deleteLevel","setHoveredParenLevel","hoveredParenLevel","sortGroup","onItemClickProp","onItemClick","onEsc","isOpen","parent","isMobile","viewportRef","direction","possibleDirections","offset","onSetDirection","spareDirection","anchorRef","getItemLabel","getItemRightSideProp","getItemRightSide","getItemLeftSide","getItemSubMenu","getItemStatus","getItemDisabled","getItemKey","getItemOnClickProp","getItemOnClick","getItemAs","getItemAttributesProp","getItemAttributes","getItemGroupId","getItemLeftIcon","getItemRightIcon","getGroupLabel","getGroupId","otherProps","firstLevel","hovered","setHovered","getKey","item","toString","addCurrentLevel","subMenu","disabled","Array","isArray","key","level","itemsRefs","active","handleEscClick","e","current","focus","refs","onKeyDown","activeIndex","setActiveIndex","setDirection","parentRef","containerRef","map","reduce","a","v","index","activeKey","onMouseEnter","indexOf","setTimeout","border","shadow","pV","on","onMouseLeave","off","mV","b","tabIndex","side","sides","push","getItemActive","ContextMenuLevel"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.tsx"],"sourcesContent":["import './ContextMenuLevel.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useEffect, useMemo } from 'react';\n\nimport {\n cnListBox,\n List,\n ListDivider,\n ListItem,\n ListPropOnItemClick,\n mapIconSize,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { AsAttributes, AsTagAttribute } from '##/utils/types/AsTags';\n\nimport { ContextMenuLevelWrapper } from '../ContextMenuLevelWrapper';\nimport {\n contextMenuDefaultSize,\n ContextMenuItemDefault,\n ContextMenuLevelComponent,\n ContextMenuLevelProps,\n} from '../types';\nimport { useMenuNavigation } from '../useMenuNavigation';\n\nexport const cnContextMenuLevel = cn('ContextMenuLevel');\n\nlet timers: ReturnType<typeof setTimeout>[] = [];\nexport function clearTimers() {\n for (const timer of timers) {\n clearTimeout(timer);\n }\n timers = [];\n}\n\nconst closeDelay = 300;\n\nconst ContextMenuLevelRender = (\n props: ContextMenuLevelProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = contextMenuDefaultSize,\n items,\n groups: groupsProp,\n className,\n form = 'default',\n animate,\n // Свойства относящиеся к меню\n levelDepth,\n activeLevelDepth,\n activeItem,\n addLevel,\n deleteLevel,\n setHoveredParenLevel,\n hoveredParenLevel,\n sortGroup,\n onItemClick: onItemClickProp,\n onEsc,\n isOpen,\n parent,\n isMobile,\n viewportRef,\n // Свойства для поповера\n direction,\n possibleDirections,\n offset,\n onSetDirection,\n spareDirection,\n anchorRef,\n // Геттеры для ITEM\n getItemLabel,\n getItemRightSide: getItemRightSideProp,\n getItemLeftSide,\n getItemSubMenu,\n getItemStatus,\n getItemDisabled,\n getItemKey,\n getItemOnClick: getItemOnClickProp,\n getItemAs,\n getItemAttributes: getItemAttributesProp,\n getItemGroupId,\n getItemLeftIcon,\n getItemRightIcon,\n // Геттеры для GROUP\n getGroupLabel,\n getGroupId,\n ...otherProps\n } = props;\n\n const firstLevel = levelDepth === 0;\n\n const [hovered, setHovered] = useFlag(false);\n\n const getKey = (item: ContextMenuItemDefault) =>\n (getItemKey(item) || getItemLabel(item)).toString();\n\n const addCurrentLevel = (item: ContextMenuItemDefault) => {\n const subMenu = getItemSubMenu(item);\n const disabled = getItemDisabled(item);\n\n if (Array.isArray(subMenu) && !disabled) {\n const key = getKey(item);\n addLevel({\n level: levelDepth + 1,\n items: subMenu,\n anchorRef: itemsRefs[key],\n activeItem: key,\n parent: item,\n });\n setHoveredParenLevel(levelDepth + 1);\n } else {\n setHoveredParenLevel(levelDepth);\n }\n };\n\n const handleEscClick: React.KeyboardEventHandler = (e) => {\n onEsc?.(e);\n anchorRef?.current?.focus();\n };\n\n const {\n refs,\n onKeyDown,\n activeIndex,\n setActiveIndex,\n setDirection,\n parentRef,\n containerRef,\n } = useMenuNavigation({\n items,\n getItemSubMenu,\n addLevel: addCurrentLevel,\n active: activeLevelDepth === levelDepth,\n deleteLevel: () => deleteLevel(levelDepth),\n onEsc: handleEscClick,\n level: levelDepth,\n isMobile,\n });\n\n const itemsRefs = useMemo(() => {\n return items\n .map((item) => getKey(item))\n .reduce((a, v, index) => ({ ...a, [v]: refs[index] }), {}) as Record<\n string,\n React.RefObject<HTMLDivElement>\n >;\n }, [groupsProp, refs]);\n\n const activeKey = useMemo(() => {\n const item = items[activeIndex];\n return item ? getKey(item) : undefined;\n }, [items, activeIndex]);\n\n const onMouseEnter = isMobile\n ? undefined\n : (item: ContextMenuItemDefault): AsTagAttribute<'div'>['onMouseEnter'] =>\n (e) => {\n addCurrentLevel(item);\n const onMouseEnter = getItemAttributesProp(item)\n ?.onMouseEnter as AsTagAttribute<'div'>['onMouseEnter'];\n setActiveIndex(items.indexOf(item));\n onMouseEnter?.(e);\n };\n\n // GETTERS\n\n const getItemOnClick = getItemOnClickProp\n ? (item: ContextMenuItemDefault) => (e: React.MouseEvent) =>\n getItemOnClickProp(item)?.(e as React.MouseEvent<HTMLDivElement>)\n : undefined;\n\n const getItemAttributes = (item: ContextMenuItemDefault) =>\n ({\n ...getItemAttributesProp(item),\n tabIndex: 0,\n onMouseEnter: onMouseEnter?.(item),\n }) as AsAttributes;\n\n const getItemActive = (item: ContextMenuItemDefault) => {\n const key = getKey(item);\n return key === activeItem || key === activeKey;\n };\n\n const getItemRightSide = (item: ContextMenuItemDefault) => {\n const side = getItemRightSideProp(item);\n if (!getItemSubMenu(item)) {\n return side;\n }\n\n const sides: React.ReactNode[] = Array.isArray(side) ? side : [side];\n sides.push(<IconArrowRight size={mapIconSize[size]} />);\n return sides;\n };\n\n const onMouseLeave: React.MouseEventHandler = () => {\n setHovered.off();\n setActiveIndex(-1);\n };\n\n const onItemClick: ListPropOnItemClick<ContextMenuItemDefault> = (\n item,\n { e },\n ) => {\n if (isMobile) {\n addCurrentLevel(item);\n setActiveIndex(items.indexOf(item));\n }\n onItemClickProp?.(item, {\n e: e as React.MouseEvent<HTMLDivElement>,\n });\n };\n\n // EFFECTS\n\n useEffect(() => {\n if (levelDepth !== 0 && !hovered && hoveredParenLevel < levelDepth) {\n clearTimeout(timers[levelDepth]);\n timers[levelDepth] = setTimeout(\n () => deleteLevel(levelDepth),\n closeDelay,\n );\n }\n return () => clearTimeout(timers[levelDepth]);\n }, [hovered, hoveredParenLevel]);\n\n useEffect(() => {\n if (!isOpen) {\n clearTimeout(timers[levelDepth]);\n }\n }, [isOpen]);\n\n return (\n <ContextMenuLevelWrapper\n anchorRef={anchorRef}\n className={\n isMobile\n ? cnContextMenuLevel(\n 'Mobile',\n { animate, firstLevel, level: levelDepth.toString() },\n [className],\n )\n : cnContextMenuLevel(\n 'Desktop',\n { firstLevel, level: levelDepth.toString() },\n [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixPopoverAnimate({ animate }),\n className,\n ],\n )\n }\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n direction={direction}\n offset={offset}\n tabIndex={0}\n onKeyDown={onKeyDown}\n onSetDirection={(direction) => {\n onSetDirection?.(direction);\n setDirection(direction);\n }}\n onMouseEnter={setHovered.on}\n onMouseLeave={onMouseLeave}\n ref={useForkRef([ref, containerRef])}\n isMobile={isMobile}\n viewportRef={viewportRef}\n {...otherProps}\n >\n {parent && (\n <>\n <ListItem\n label={getItemLabel(parent)}\n size={size}\n tabIndex={0}\n ref={parentRef}\n leftIcon={IconArrowLeft}\n onClick={() => deleteLevel(levelDepth)}\n active={activeIndex === -1}\n className={cnContextMenuLevel('Item', {\n active: activeIndex === -1,\n })}\n />\n <ListDivider size={size} space={{ mV: mapVerticalSpace[size] }} />\n </>\n )}\n <List\n size={size}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={onItemClick}\n sortGroup={sortGroup ? (a, b) => sortGroup(a.key, b.key) : undefined}\n getItemOnClick={getItemOnClick}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemGroupKey={getItemGroupId}\n getItemLeftIcon={getItemLeftIcon}\n getItemRightIcon={getItemRightIcon}\n getItemLeftSide={getItemLeftSide}\n getItemRightSide={getItemRightSide}\n getGroupKey={getGroupId}\n getGroupLabel={getGroupLabel}\n getItemDisabled={getItemDisabled}\n getItemStatus={getItemStatus}\n getItemActive={getItemActive}\n getItemAdditionalClassName={(item) =>\n cnContextMenuLevel('Item', {\n active: getKey(item) === activeItem,\n })\n }\n getItemRef={(item) => itemsRefs[getKey(item)]}\n groups={groupsProp}\n innerOffset={form === 'round' ? 'increased' : 'normal'}\n />\n </ContextMenuLevelWrapper>\n );\n};\n\nexport const ContextMenuLevel = forwardRef(\n ContextMenuLevelRender,\n) as ContextMenuLevelComponent;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuLevels.js","names":["React","Fragment","useEffect","useState","Transition","TransitionGroup","useClickOutside","useMutableRef","useRefs","animateTimeout","setRef","clearTimers","ContextMenuLevel","getLevels","withDefaultGetters","contextMenuPropDefaultSubMenuDirection","contextMenuPropSubMenuDirections","useSize","ContextMenuLevels","propsComponent","props","items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","subMenuDirectionProp","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack","otherProps","isOpenRef","defaultLevels","levels","setLevels","setSubMenuDirection","hoveredParenLevel","setHoveredParenLevel","levelsRefs","length","addLevel","level","activeItem","parent","newLevels","oldDirection","splice","push","current","deleteLevel","isActive","ignoreClicksInsideRefs","handler","map","index","key","last","animate","zIndex","onSetDirection","el"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\nimport { Direction } from '##/components/Popover';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { animateTimeout } from '##/mixs/MixPopoverAnimate';\nimport { setRef } from '##/utils/setRef';\n\nimport { clearTimers, ContextMenuLevel } from '../ContextMenuLevel';\nimport { getLevels, withDefaultGetters } from '../helpers';\nimport {\n AddLevel,\n ContextMenuItemDefault,\n ContextMenuLevelsProps,\n contextMenuPropDefaultSubMenuDirection,\n contextMenuPropSubMenuDirections,\n Level,\n} from '../types';\nimport { useSize } from './useSize';\n\nexport const ContextMenuLevels = (propsComponent: ContextMenuLevelsProps) => {\n const props = withDefaultGetters(propsComponent);\n const {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n onClickOutside,\n getItemKey,\n getItemLabel,\n getItemSubMenu,\n style,\n spareDirection,\n subMenuDirection:\n subMenuDirectionProp = contextMenuPropDefaultSubMenuDirection,\n isMobile,\n isOpen,\n setComponentSize,\n enableAnimationBack,\n disableAnimationBack,\n ...otherProps\n } = props;\n\n const isOpenRef = useMutableRef(isOpen);\n\n type Item = typeof items[number];\n\n const defaultLevels: Level<ContextMenuItemDefault>[] = [\n {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n },\n ];\n\n const [levels, setLevels] = useState<\n Level<ContextMenuItemDefault & { isParent?: boolean }>[]\n >(isMobile ? defaultLevels : []);\n const [subMenuDirection, setSubMenuDirection] =\n useState<Direction>(subMenuDirectionProp);\n const [hoveredParenLevel, setHoveredParenLevel] = useState<number>(-1);\n\n const levelsRefs = useRefs<HTMLDivElement>(levels.length);\n\n const addLevel: AddLevel<Item> = ({\n level,\n items,\n anchorRef,\n activeItem,\n parent,\n }) => {\n const newLevels: Level<ContextMenuItemDefault & { isParent?: boolean }>[] =\n [...levels];\n const oldDirection =\n newLevels[level] && newLevels.length - level > 1\n ? newLevels[level].direction\n : undefined;\n\n if (newLevels[level] && newLevels.length - level > 1 && oldDirection) {\n setSubMenuDirection(oldDirection);\n }\n\n newLevels[level - 1].activeItem = activeItem;\n newLevels.splice(level);\n newLevels.push({\n items,\n anchorRef: isMobile ? props.anchorRef : anchorRef,\n direction: isMobile ? props.direction : oldDirection || subMenuDirection,\n possibleDirections: isMobile\n ? props.possibleDirections\n : contextMenuPropSubMenuDirections,\n position: isMobile ? props.position : undefined,\n offset: isMobile ? props.offset : undefined,\n parent,\n });\n\n isOpenRef.current ? setLevels(newLevels) : setLevels([]);\n };\n\n const deleteLevel = (level: number) => {\n if (level > 0) {\n enableAnimationBack();\n const newLevels = [...levels];\n newLevels.splice(level);\n newLevels[level - 1] = { ...newLevels[level - 1], activeItem: undefined };\n setLevels(newLevels);\n disableAnimationBack();\n }\n };\n\n useClickOutside({\n isActive: onClickOutside && isOpen,\n ignoreClicksInsideRefs: [...levelsRefs, anchorRef || { current: null }],\n handler: onClickOutside,\n });\n\n useEffect(() => {\n clearTimers();\n setLevels(\n getLevels({\n levels,\n items,\n getItemKey,\n getItemSubMenu,\n }),\n );\n return () => clearTimers();\n }, [items]);\n\n useEffect(() => {\n setLevels(defaultLevels);\n }, [position]);\n\n useEffect(() => {\n setLevels(isOpen ? defaultLevels : []);\n }, [isOpen]);\n\n useSize(levelsRefs, setComponentSize, isMobile);\n\n return (\n <TransitionGroup component={Fragment}>\n {levels.map((level, index) => {\n const key = `${index}-${level.parent ? getItemKey(level.parent) : ''}`;\n\n const last = index !== levels.length - 1;\n\n if (isMobile && last) {\n return <Fragment key={index} />;\n }\n\n return (\n <Transition\n key={key}\n timeout={animateTimeout}\n nodeRef={levelsRefs[index]}\n >\n {(animate) => (\n <ContextMenuLevel\n {...otherProps}\n {...level}\n key={`${index}-${level.parent ? getItemKey(level.parent) : ''}`}\n isMobile={isMobile}\n isOpen={isOpen}\n style={{\n ...style,\n ...{\n zIndex:\n typeof style?.zIndex === 'number'\n ? style.zIndex + 1\n : undefined,\n },\n }}\n activeLevelDepth={levels.length - 1}\n levelDepth={index}\n getItemLabel={getItemLabel}\n addLevel={addLevel}\n deleteLevel={deleteLevel}\n onSetDirection={\n index > 0 ? setSubMenuDirection : props.onSetDirection\n }\n hoveredParenLevel={hoveredParenLevel}\n setHoveredParenLevel={setHoveredParenLevel}\n getItemSubMenu={getItemSubMenu}\n getItemKey={getItemKey}\n ref={(el) => setRef(levelsRefs[index], el)}\n spareDirection={index === 0 ? spareDirection : 'rightStartUp'}\n parent={isMobile ? level.parent : undefined}\n animate={animate}\n />\n )}\n </Transition>\n );\n })}\n </TransitionGroup>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenuLevels.js","names":["React","Fragment","useEffect","useState","Transition","TransitionGroup","useClickOutside","useMutableRef","useRefs","animateTimeout","setRef","clearTimers","ContextMenuLevel","getLevels","withDefaultGetters","contextMenuPropDefaultSubMenuDirection","contextMenuPropSubMenuDirections","useSize","ContextMenuLevels","propsComponent","props","items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","subMenuDirectionProp","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack","otherProps","isOpenRef","defaultLevels","levels","setLevels","setSubMenuDirection","hoveredParenLevel","setHoveredParenLevel","levelsRefs","length","addLevel","level","activeItem","parent","newLevels","oldDirection","splice","push","current","deleteLevel","isActive","ignoreClicksInsideRefs","handler","map","index","key","last","animate","zIndex","onSetDirection","el"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\nimport { Direction } from '##/components/Popover';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { animateTimeout } from '##/mixs/MixPopoverAnimate';\nimport { setRef } from '##/utils/setRef';\n\nimport { clearTimers, ContextMenuLevel } from '../ContextMenuLevel';\nimport { getLevels, withDefaultGetters } from '../helpers';\nimport {\n AddLevel,\n ContextMenuItemDefault,\n ContextMenuLevelsProps,\n contextMenuPropDefaultSubMenuDirection,\n contextMenuPropSubMenuDirections,\n Level,\n} from '../types';\nimport { useSize } from './useSize';\n\nexport const ContextMenuLevels = (propsComponent: ContextMenuLevelsProps) => {\n const props = withDefaultGetters(propsComponent);\n const {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n onClickOutside,\n getItemKey,\n getItemLabel,\n getItemSubMenu,\n style,\n spareDirection,\n subMenuDirection:\n subMenuDirectionProp = contextMenuPropDefaultSubMenuDirection,\n isMobile,\n isOpen,\n setComponentSize,\n enableAnimationBack,\n disableAnimationBack,\n ...otherProps\n } = props;\n\n const isOpenRef = useMutableRef(isOpen);\n\n type Item = (typeof items)[number];\n\n const defaultLevels: Level<ContextMenuItemDefault>[] = [\n {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n },\n ];\n\n const [levels, setLevels] = useState<\n Level<ContextMenuItemDefault & { isParent?: boolean }>[]\n >(isMobile ? defaultLevels : []);\n const [subMenuDirection, setSubMenuDirection] =\n useState<Direction>(subMenuDirectionProp);\n const [hoveredParenLevel, setHoveredParenLevel] = useState<number>(-1);\n\n const levelsRefs = useRefs<HTMLDivElement>(levels.length);\n\n const addLevel: AddLevel<Item> = ({\n level,\n items,\n anchorRef,\n activeItem,\n parent,\n }) => {\n const newLevels: Level<ContextMenuItemDefault & { isParent?: boolean }>[] =\n [...levels];\n const oldDirection =\n newLevels[level] && newLevels.length - level > 1\n ? newLevels[level].direction\n : undefined;\n\n if (newLevels[level] && newLevels.length - level > 1 && oldDirection) {\n setSubMenuDirection(oldDirection);\n }\n\n newLevels[level - 1].activeItem = activeItem;\n newLevels.splice(level);\n newLevels.push({\n items,\n anchorRef: isMobile ? props.anchorRef : anchorRef,\n direction: isMobile ? props.direction : oldDirection || subMenuDirection,\n possibleDirections: isMobile\n ? props.possibleDirections\n : contextMenuPropSubMenuDirections,\n position: isMobile ? props.position : undefined,\n offset: isMobile ? props.offset : undefined,\n parent,\n });\n\n isOpenRef.current ? setLevels(newLevels) : setLevels([]);\n };\n\n const deleteLevel = (level: number) => {\n if (level > 0) {\n enableAnimationBack();\n const newLevels = [...levels];\n newLevels.splice(level);\n newLevels[level - 1] = { ...newLevels[level - 1], activeItem: undefined };\n setLevels(newLevels);\n disableAnimationBack();\n }\n };\n\n useClickOutside({\n isActive: onClickOutside && isOpen,\n ignoreClicksInsideRefs: [...levelsRefs, anchorRef || { current: null }],\n handler: onClickOutside,\n });\n\n useEffect(() => {\n clearTimers();\n setLevels(\n getLevels({\n levels,\n items,\n getItemKey,\n getItemSubMenu,\n }),\n );\n return () => clearTimers();\n }, [items]);\n\n useEffect(() => {\n setLevels(defaultLevels);\n }, [position]);\n\n useEffect(() => {\n setLevels(isOpen ? defaultLevels : []);\n }, [isOpen]);\n\n useSize(levelsRefs, setComponentSize, isMobile);\n\n return (\n <TransitionGroup component={Fragment}>\n {levels.map((level, index) => {\n const key = `${index}-${level.parent ? getItemKey(level.parent) : ''}`;\n\n const last = index !== levels.length - 1;\n\n if (isMobile && last) {\n return <Fragment key={index} />;\n }\n\n return (\n <Transition\n key={key}\n timeout={animateTimeout}\n nodeRef={levelsRefs[index]}\n >\n {(animate) => (\n <ContextMenuLevel\n {...otherProps}\n {...level}\n key={`${index}-${level.parent ? getItemKey(level.parent) : ''}`}\n isMobile={isMobile}\n isOpen={isOpen}\n style={{\n ...style,\n ...{\n zIndex:\n typeof style?.zIndex === 'number'\n ? style.zIndex + 1\n : undefined,\n },\n }}\n activeLevelDepth={levels.length - 1}\n levelDepth={index}\n getItemLabel={getItemLabel}\n addLevel={addLevel}\n deleteLevel={deleteLevel}\n onSetDirection={\n index > 0 ? setSubMenuDirection : props.onSetDirection\n }\n hoveredParenLevel={hoveredParenLevel}\n setHoveredParenLevel={setHoveredParenLevel}\n getItemSubMenu={getItemSubMenu}\n getItemKey={getItemKey}\n ref={(el) => setRef(levelsRefs[index], el)}\n spareDirection={index === 0 ? spareDirection : 'rightStartUp'}\n parent={isMobile ? level.parent : undefined}\n animate={animate}\n />\n )}\n </Transition>\n );\n })}\n </TransitionGroup>\n );\n};\n"],"mappings":"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"}
|
|
@@ -8,16 +8,16 @@ import { PropsWithAsAttributes } from '../../utils/types/PropsWithAsAttributes';
|
|
|
8
8
|
import { PropsWithHTMLAttributes, PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
9
9
|
import { Direction, PopoverPropOffset, Position } from '../Popover/Popover';
|
|
10
10
|
export declare const contextMenuSizes: readonly ["m", "xs", "s", "l"];
|
|
11
|
-
export type ContextMenuPropSize = typeof contextMenuSizes[number];
|
|
11
|
+
export type ContextMenuPropSize = (typeof contextMenuSizes)[number];
|
|
12
12
|
export declare const contextMenuDefaultSize: ContextMenuPropSize;
|
|
13
13
|
export declare const contextMenuStatus: readonly ["alert", "success", "warning"];
|
|
14
|
-
export type ContextMenuStatus = typeof contextMenuStatus[number];
|
|
14
|
+
export type ContextMenuStatus = (typeof contextMenuStatus)[number];
|
|
15
15
|
export declare const contextMenuDefaultStatus: ContextMenuStatus;
|
|
16
16
|
export declare const contextMenuForm: readonly ["default", "brick", "round"];
|
|
17
17
|
export type ContextMenuForm = ListPropForm;
|
|
18
18
|
export declare const defaultContextMenuForm: "default";
|
|
19
19
|
export declare const contextMenuPropSubMenuDirections: Direction[];
|
|
20
|
-
export type ContextMenuPropSubMenuDirection = typeof contextMenuPropSubMenuDirections[number];
|
|
20
|
+
export type ContextMenuPropSubMenuDirection = (typeof contextMenuPropSubMenuDirections)[number];
|
|
21
21
|
export declare const contextMenuPropDefaultSubMenuDirection: ContextMenuPropSubMenuDirection;
|
|
22
22
|
export type ContextMenuPropOnItemClick<ITEM> = (item: ITEM, params: {
|
|
23
23
|
e: React.MouseEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["defaultListPropForm","listPropForm","contextMenuSizes","contextMenuDefaultSize","contextMenuStatus","contextMenuDefaultStatus","contextMenuForm","defaultContextMenuForm","contextMenuPropSubMenuDirections","contextMenuPropDefaultSubMenuDirection"],"sources":["../../../../../src/components/ContextMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport {\n defaultListPropForm,\n ListPropForm,\n listPropForm,\n} from '##/components/ListCanary';\nimport { ComponentSize } from '##/hooks/useComponentSize';\nimport { Animate } from '##/mixs/MixPopoverAnimate';\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\n\nimport { ClickOutsideHandler } from '../../hooks/useClickOutside/useClickOutside';\nimport { PropsWithAsAttributes } from '../../utils/types/PropsWithAsAttributes';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction, PopoverPropOffset, Position } from '../Popover/Popover';\n\nexport const contextMenuSizes = ['m', 'xs', 's', 'l'] as const;\nexport type ContextMenuPropSize = typeof contextMenuSizes[number];\nexport const contextMenuDefaultSize: ContextMenuPropSize = contextMenuSizes[0];\n\nexport const contextMenuStatus = ['alert', 'success', 'warning'] as const;\nexport type ContextMenuStatus = typeof contextMenuStatus[number];\nexport const contextMenuDefaultStatus: ContextMenuStatus = contextMenuStatus[0];\n\nexport const contextMenuForm = listPropForm;\nexport type ContextMenuForm = ListPropForm;\nexport const defaultContextMenuForm = defaultListPropForm;\n\nexport const contextMenuPropSubMenuDirections: Direction[] = [\n 'rightStartUp',\n 'rightStartDown',\n 'leftStartUp',\n 'leftStartDown',\n];\nexport type ContextMenuPropSubMenuDirection =\n typeof contextMenuPropSubMenuDirections[number];\nexport const contextMenuPropDefaultSubMenuDirection: ContextMenuPropSubMenuDirection =\n contextMenuPropSubMenuDirections[0];\n\nexport type ContextMenuPropOnItemClick<ITEM> = (\n item: ITEM,\n params: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type ContextMenuGroupDefault = {\n label?: string;\n id: number;\n};\n\nexport type ContextMenuItemDefault = {\n label: string | number;\n key?: string | number;\n rightSide?: React.ReactNode;\n rightIcon?: IconComponent;\n leftSide?: React.ReactNode;\n leftIcon?: IconComponent;\n subMenu?: ContextMenuItemDefault[];\n status?: ContextMenuStatus;\n disabled?: boolean;\n groupId?: number;\n onClick?: React.MouseEventHandler;\n as?: AsTags;\n attributes?: AsAttributes;\n};\n\nexport type ContextMenuPropSortGroup = (\n a: string | number,\n b: string | number,\n) => number;\n\nexport type ContextMenuPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\n\nexport type ContextMenuPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ContextMenuPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ContextMenuStatus | undefined;\n\nexport type ContextMenuPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ContextMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\n\nexport type ContextMenuPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type ContextMenuPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type ContextMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type ContextMenuPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\n\nexport type ContextMenuPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetGroupLabel<GROUP> = (\n group: GROUP,\n) => string | undefined;\nexport type ContextMenuPropGetGroupId<GROUP> = (group: GROUP) => number;\n\ntype PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n position?: never;\n }\n | {\n anchorRef?: never;\n position: Position;\n };\n\nexport type MappersItem<ITEM> = {\n getItemLabel?: ContextMenuPropGetItemLabel<ITEM>;\n getItemRightSide?: ContextMenuPropGetItemRightSide<ITEM>;\n getItemLeftSide?: ContextMenuPropGetItemLeftSide<ITEM>;\n getItemSubMenu?: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemStatus?: ContextMenuPropGetItemStatus<ITEM>;\n getItemDisabled?: ContextMenuPropGetItemDisabled<ITEM>;\n getItemKey?: ContextMenuPropGetItemKey<ITEM>;\n getItemOnClick?: ContextMenuPropGetItemOnClick<ITEM>;\n getItemAs?: ContextMenuPropGetItemAs<ITEM>;\n getItemAttributes?: ContextMenuPropGetItemAttributes<ITEM>;\n getItemGroupId?: ContextMenuPropGetItemGroupId<ITEM>;\n getItemLeftIcon?: ContextMenuPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: ContextMenuPropGetItemRightIcon<ITEM>;\n};\n\nexport type MappersGroup<GROUP> = {\n getGroupLabel?: ContextMenuPropGetGroupLabel<GROUP>;\n getGroupId?: ContextMenuPropGetGroupId<GROUP>;\n};\n\nexport type Level<ITEM> = {\n items: ITEM[];\n activeItem?: string;\n direction?: Direction;\n possibleDirections?: Direction[];\n offset?: PopoverPropOffset;\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n};\n\nexport type AddLevel<ITEM> = (params: {\n level: number;\n items: ITEM[];\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n activeItem: string;\n}) => void;\n\nexport type ContextMenuProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n groups?: GROUP[];\n sortGroup?: ContextMenuPropSortGroup;\n onItemClick?: ContextMenuPropOnItemClick<ITEM>;\n possibleDirections?: Direction[];\n subMenuDirection?: ContextMenuPropSubMenuDirection;\n spareDirection?: Direction;\n onSetDirection?: (direction: Direction) => void;\n onClickOutside?: ClickOutsideHandler;\n isOpen?: boolean;\n form?: ContextMenuForm;\n isMobile?: boolean;\n onEsc?: React.KeyboardEventHandler;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & MappersItem<ITEM> &\n MappersGroup<GROUP> &\n PositioningProps,\n HTMLDivElement\n> &\n (GROUP extends { id: ContextMenuGroupDefault['id'] | unknown }\n ? {}\n : { getGroupId: ContextMenuPropGetGroupId<GROUP> }) &\n (ITEM extends { label: ContextMenuItemDefault['label'] }\n ? {}\n : { getItemLabel: ContextMenuPropGetItemLabel<ITEM> });\n\nexport type ContextMenuLevelsProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = ContextMenuProps<ITEM, GROUP> & {\n setComponentSize: React.Dispatch<React.SetStateAction<ComponentSize>>;\n disableAnimationBack: () => void;\n enableAnimationBack: () => void;\n};\n\nexport type ContextMenuLevelsComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuLevelsProps<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type ContextMenuComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuProps<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type ContextMenuLevelProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = Omit<\n ContextMenuProps<ITEM, GROUP>,\n | 'subMenuDirection'\n | 'onClickOutside'\n | 'setComponentSize'\n | 'animationBack'\n | 'disableAnimationBack'\n | 'enableAnimationBack'\n | keyof MappersItem<ITEM>\n | keyof MappersGroup<GROUP>\n> & {\n parent?: ITEM;\n activeLevelDepth: number;\n levelDepth: number;\n addLevel: AddLevel<ITEM>;\n deleteLevel: (level: number) => void;\n activeItem?: string;\n onSetDirection?: (direction: Direction) => void;\n hoveredParenLevel: number;\n setHoveredParenLevel: (level: number) => void;\n onEsc?: React.KeyboardEventHandler;\n animate: Animate;\n} & Required<MappersItem<ITEM>> &\n Required<MappersGroup<GROUP>>;\n\nexport type ContextMenuLevelComponent = <ITEM, GROUP>(\n props: ContextMenuLevelProps<ITEM, GROUP>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactNode | null;\n\nexport type ContextMenuItemProps<AS extends AsTags = 'div'> =\n PropsWithAsAttributes<\n Omit<ContextMenuItemDefault, 'onClick' | 'attributes' | 'key'> & {\n size?: ContextMenuPropSize;\n active: boolean;\n withSubMenu: boolean;\n },\n AS\n > &\n React.RefAttributes<HTMLDivElement>;\n\nexport type ContextMenuItemComponent = <AS extends AsTags = 'div'>(\n props: ContextMenuItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactNode | null;\n\nexport type GetLevelsParams<ITEM> = {\n levels: Level<ITEM>[];\n items: ITEM[];\n getItemSubMenu: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemKey: ContextMenuPropGetItemKey<ITEM>;\n};\n\nexport type ContextMenuWrapperProps = PropsWithHTMLAttributes<\n {\n children: React.ReactNode;\n isOpen?: boolean;\n isMobile?: boolean;\n form?: ContextMenuForm;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n className?: string;\n animationBack?: boolean;\n container?: Element;\n },\n HTMLDivElement\n>;\n\nexport type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef<\n {\n children: React.ReactNode;\n isMobile?: boolean;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAEA,OACEA,mBADF,CAGEC,YAHF,qBAiBA,MAAO,IAAMC,iBAAgB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAGD,gBAAgB,CAAC,CAAD,CAApE,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAEP,MAAO,IAAME,gBAAe,CAAGL,YAAxB,CAEP,MAAO,IAAMM,uBAAsB,CAAGP,mBAA/B,CAEP,MAAO,IAAMQ,iCAA6C,CAAG,CAC3D,cAD2D,CAE3D,gBAF2D,CAG3D,aAH2D,CAI3D,eAJ2D,CAAtD,CAQP,MAAO,IAAMC,uCAAuE,CAClFD,gCAAgC,CAAC,CAAD,CAD3B"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["defaultListPropForm","listPropForm","contextMenuSizes","contextMenuDefaultSize","contextMenuStatus","contextMenuDefaultStatus","contextMenuForm","defaultContextMenuForm","contextMenuPropSubMenuDirections","contextMenuPropDefaultSubMenuDirection"],"sources":["../../../../../src/components/ContextMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport {\n defaultListPropForm,\n ListPropForm,\n listPropForm,\n} from '##/components/ListCanary';\nimport { ComponentSize } from '##/hooks/useComponentSize';\nimport { Animate } from '##/mixs/MixPopoverAnimate';\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\n\nimport { ClickOutsideHandler } from '../../hooks/useClickOutside/useClickOutside';\nimport { PropsWithAsAttributes } from '../../utils/types/PropsWithAsAttributes';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction, PopoverPropOffset, Position } from '../Popover/Popover';\n\nexport const contextMenuSizes = ['m', 'xs', 's', 'l'] as const;\nexport type ContextMenuPropSize = (typeof contextMenuSizes)[number];\nexport const contextMenuDefaultSize: ContextMenuPropSize = contextMenuSizes[0];\n\nexport const contextMenuStatus = ['alert', 'success', 'warning'] as const;\nexport type ContextMenuStatus = (typeof contextMenuStatus)[number];\nexport const contextMenuDefaultStatus: ContextMenuStatus = contextMenuStatus[0];\n\nexport const contextMenuForm = listPropForm;\nexport type ContextMenuForm = ListPropForm;\nexport const defaultContextMenuForm = defaultListPropForm;\n\nexport const contextMenuPropSubMenuDirections: Direction[] = [\n 'rightStartUp',\n 'rightStartDown',\n 'leftStartUp',\n 'leftStartDown',\n];\nexport type ContextMenuPropSubMenuDirection =\n (typeof contextMenuPropSubMenuDirections)[number];\nexport const contextMenuPropDefaultSubMenuDirection: ContextMenuPropSubMenuDirection =\n contextMenuPropSubMenuDirections[0];\n\nexport type ContextMenuPropOnItemClick<ITEM> = (\n item: ITEM,\n params: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type ContextMenuGroupDefault = {\n label?: string;\n id: number;\n};\n\nexport type ContextMenuItemDefault = {\n label: string | number;\n key?: string | number;\n rightSide?: React.ReactNode;\n rightIcon?: IconComponent;\n leftSide?: React.ReactNode;\n leftIcon?: IconComponent;\n subMenu?: ContextMenuItemDefault[];\n status?: ContextMenuStatus;\n disabled?: boolean;\n groupId?: number;\n onClick?: React.MouseEventHandler;\n as?: AsTags;\n attributes?: AsAttributes;\n};\n\nexport type ContextMenuPropSortGroup = (\n a: string | number,\n b: string | number,\n) => number;\n\nexport type ContextMenuPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\n\nexport type ContextMenuPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ContextMenuPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ContextMenuStatus | undefined;\n\nexport type ContextMenuPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ContextMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\n\nexport type ContextMenuPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type ContextMenuPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type ContextMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type ContextMenuPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\n\nexport type ContextMenuPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetGroupLabel<GROUP> = (\n group: GROUP,\n) => string | undefined;\nexport type ContextMenuPropGetGroupId<GROUP> = (group: GROUP) => number;\n\ntype PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n position?: never;\n }\n | {\n anchorRef?: never;\n position: Position;\n };\n\nexport type MappersItem<ITEM> = {\n getItemLabel?: ContextMenuPropGetItemLabel<ITEM>;\n getItemRightSide?: ContextMenuPropGetItemRightSide<ITEM>;\n getItemLeftSide?: ContextMenuPropGetItemLeftSide<ITEM>;\n getItemSubMenu?: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemStatus?: ContextMenuPropGetItemStatus<ITEM>;\n getItemDisabled?: ContextMenuPropGetItemDisabled<ITEM>;\n getItemKey?: ContextMenuPropGetItemKey<ITEM>;\n getItemOnClick?: ContextMenuPropGetItemOnClick<ITEM>;\n getItemAs?: ContextMenuPropGetItemAs<ITEM>;\n getItemAttributes?: ContextMenuPropGetItemAttributes<ITEM>;\n getItemGroupId?: ContextMenuPropGetItemGroupId<ITEM>;\n getItemLeftIcon?: ContextMenuPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: ContextMenuPropGetItemRightIcon<ITEM>;\n};\n\nexport type MappersGroup<GROUP> = {\n getGroupLabel?: ContextMenuPropGetGroupLabel<GROUP>;\n getGroupId?: ContextMenuPropGetGroupId<GROUP>;\n};\n\nexport type Level<ITEM> = {\n items: ITEM[];\n activeItem?: string;\n direction?: Direction;\n possibleDirections?: Direction[];\n offset?: PopoverPropOffset;\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n};\n\nexport type AddLevel<ITEM> = (params: {\n level: number;\n items: ITEM[];\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n activeItem: string;\n}) => void;\n\nexport type ContextMenuProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n groups?: GROUP[];\n sortGroup?: ContextMenuPropSortGroup;\n onItemClick?: ContextMenuPropOnItemClick<ITEM>;\n possibleDirections?: Direction[];\n subMenuDirection?: ContextMenuPropSubMenuDirection;\n spareDirection?: Direction;\n onSetDirection?: (direction: Direction) => void;\n onClickOutside?: ClickOutsideHandler;\n isOpen?: boolean;\n form?: ContextMenuForm;\n isMobile?: boolean;\n onEsc?: React.KeyboardEventHandler;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & MappersItem<ITEM> &\n MappersGroup<GROUP> &\n PositioningProps,\n HTMLDivElement\n> &\n (GROUP extends { id: ContextMenuGroupDefault['id'] | unknown }\n ? {}\n : { getGroupId: ContextMenuPropGetGroupId<GROUP> }) &\n (ITEM extends { label: ContextMenuItemDefault['label'] }\n ? {}\n : { getItemLabel: ContextMenuPropGetItemLabel<ITEM> });\n\nexport type ContextMenuLevelsProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = ContextMenuProps<ITEM, GROUP> & {\n setComponentSize: React.Dispatch<React.SetStateAction<ComponentSize>>;\n disableAnimationBack: () => void;\n enableAnimationBack: () => void;\n};\n\nexport type ContextMenuLevelsComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuLevelsProps<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type ContextMenuComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuProps<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type ContextMenuLevelProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = Omit<\n ContextMenuProps<ITEM, GROUP>,\n | 'subMenuDirection'\n | 'onClickOutside'\n | 'setComponentSize'\n | 'animationBack'\n | 'disableAnimationBack'\n | 'enableAnimationBack'\n | keyof MappersItem<ITEM>\n | keyof MappersGroup<GROUP>\n> & {\n parent?: ITEM;\n activeLevelDepth: number;\n levelDepth: number;\n addLevel: AddLevel<ITEM>;\n deleteLevel: (level: number) => void;\n activeItem?: string;\n onSetDirection?: (direction: Direction) => void;\n hoveredParenLevel: number;\n setHoveredParenLevel: (level: number) => void;\n onEsc?: React.KeyboardEventHandler;\n animate: Animate;\n} & Required<MappersItem<ITEM>> &\n Required<MappersGroup<GROUP>>;\n\nexport type ContextMenuLevelComponent = <ITEM, GROUP>(\n props: ContextMenuLevelProps<ITEM, GROUP>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactNode | null;\n\nexport type ContextMenuItemProps<AS extends AsTags = 'div'> =\n PropsWithAsAttributes<\n Omit<ContextMenuItemDefault, 'onClick' | 'attributes' | 'key'> & {\n size?: ContextMenuPropSize;\n active: boolean;\n withSubMenu: boolean;\n },\n AS\n > &\n React.RefAttributes<HTMLDivElement>;\n\nexport type ContextMenuItemComponent = <AS extends AsTags = 'div'>(\n props: ContextMenuItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactNode | null;\n\nexport type GetLevelsParams<ITEM> = {\n levels: Level<ITEM>[];\n items: ITEM[];\n getItemSubMenu: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemKey: ContextMenuPropGetItemKey<ITEM>;\n};\n\nexport type ContextMenuWrapperProps = PropsWithHTMLAttributes<\n {\n children: React.ReactNode;\n isOpen?: boolean;\n isMobile?: boolean;\n form?: ContextMenuForm;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n className?: string;\n animationBack?: boolean;\n container?: Element;\n },\n HTMLDivElement\n>;\n\nexport type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef<\n {\n children: React.ReactNode;\n isMobile?: boolean;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAEA,OACEA,mBADF,CAGEC,YAHF,qBAiBA,MAAO,IAAMC,iBAAgB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAGD,gBAAgB,CAAC,CAAD,CAApE,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAEP,MAAO,IAAME,gBAAe,CAAGL,YAAxB,CAEP,MAAO,IAAMM,uBAAsB,CAAGP,mBAA/B,CAEP,MAAO,IAAMQ,iCAA6C,CAAG,CAC3D,cAD2D,CAE3D,gBAF2D,CAG3D,aAH2D,CAI3D,eAJ2D,CAAtD,CAQP,MAAO,IAAMC,uCAAuE,CAClFD,gCAAgC,CAAC,CAAD,CAD3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","DateTime","Popover","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","viewportRef","container","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '##/components/DateTime';\nimport {\n DateTimePropDisableDates,\n TimeOptions,\n} from '##/components/DateTime/helpers/types';\nimport { Direction, Popover } from '##/components/Popover';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cn } from '##/utils/bem';\nimport { DateRange } from '##/utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n timeOptions?: TimeOptions;\n timeFor?: 'start' | 'end';\n disableDates?: DateTimePropDisableDates;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactNode | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n viewportRef,\n container,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n viewportRef={viewportRef}\n container={container}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"4QAAA,
|
|
1
|
+
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","DateTime","Popover","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","viewportRef","container","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport { Locale } from 'date-fns';\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '##/components/DateTime';\nimport {\n DateTimePropDisableDates,\n TimeOptions,\n} from '##/components/DateTime/helpers/types';\nimport { Direction, Popover } from '##/components/Popover';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cn } from '##/utils/bem';\nimport { DateRange } from '##/utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n timeOptions?: TimeOptions;\n timeFor?: 'start' | 'end';\n disableDates?: DateTimePropDisableDates;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactNode | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n viewportRef,\n container,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n viewportRef={viewportRef}\n container={container}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"4QAAA,iCAGA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,WAA5B,CAAyCC,MAAzC,CAAiDC,QAAjD,KAAiE,OAAjE,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,QADF,sBAUA,OAAoBC,OAApB,qBACA,OAASC,OAAT,8BACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,mBAAzB,uCACA,OAASC,EAAT,0BAIA,OAASC,4BAAT,oEACA,OAIEC,iCAJF,gB,GAwCMC,QAA2C,CAAG,CAClD,KAAQ,MAD0C,CAElD,MAAS,OAFyC,CAGlD,KAAQ,KAH0C,CAIlD,KAAQ,MAJ0C,CAKlD,YAAa,KALqC,C,CAQ9CC,oBAAoB,CAAGJ,EAAE,CAAC,oBAAD,C,CAE/B,MAAO,IAAMK,mBAA+C,CAAGhB,UAAU,CACvE,SAACiB,CAAD,CAAQC,CAAR,CAAyB,OAWnBD,CAXmB,CAErBE,IAFqB,CAErBA,CAFqB,YAEdN,iCAFc,GAGrBO,CAHqB,CAWnBH,CAXmB,CAGrBG,SAHqB,CAIrBC,CAJqB,CAWnBJ,CAXmB,CAIrBI,MAJqB,CAKrBC,CALqB,CAWnBL,CAXmB,CAKrBK,SALqB,CAMrBC,CANqB,CAWnBN,CAXmB,CAMrBM,MANqB,CAOrBC,CAPqB,CAWnBP,CAXmB,CAOrBO,wBAPqB,CAQrBC,CARqB,CAWnBR,CAXmB,CAQrBQ,WARqB,CASrBC,CATqB,CAWnBT,CAXmB,CASrBS,SATqB,CAUlBC,CAVkB,0BAWnBV,CAXmB,YAajBW,CAAO,CAAG1B,MAAM,CAAiB,IAAjB,CAbC,GAcWC,QAAQ,EAdnB,uBAchB0B,CAdgB,MAcLC,CAdK,QAiBrBvB,OAAO,IAjBc,uBAgBhBwB,CAhBgB,MAgBWC,CAhBX,MAmBjBC,CAAM,CAAGhC,WAAW,CACxB,SAACiC,CAAD,CAAkB,CAChBA,CAAE,GAAKpB,OAAO,CAACG,CAAK,CAACkB,IAAP,CAAd,CACIH,CAA4B,CAACI,EAA7B,EADJ,CAEIJ,CAA4B,CAACK,GAA7B,EACL,CALuB,CAMxB,CAACpB,CAAK,CAACkB,IAAP,CANwB,CAnBH,CA4BjBG,CAAG,CAAG9B,UAAU,CAAC,CAACU,CAAD,CAAeU,CAAf,CAAD,CA5BC,CA8BvB,MACE,qBAAC,UAAD,EACE,GAAIP,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEZ,cAHX,CAIE,OAAO,CAAEmB,CAJX,EAMG,SAACW,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,EACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAElB,CAFb,CAGE,SAAS,CAAEL,oBAAoB,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CACxCG,CADwC,CAExCZ,mBAAmB,CAAC,CAAEmB,SAAS,CAATA,CAAF,CAAaU,OAAO,CAAPA,CAAb,CAAD,CAFqB,CAAX,CAHjC,CAOE,SAAS,CAAC,eAPZ,CAQE,cAAc,CAAC,eARjB,CASE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CATtB,CAeE,KAAK,CAAE,CAAEhB,MAAM,CAANA,CAAF,CAfT,CAgBE,IAAI,CAAC,SAhBP,CAiBE,cAAc,CAAEO,CAjBlB,CAkBE,WAAW,CAAEL,CAlBf,CAmBE,SAAS,CAAEC,CAnBb,EAqBE,oBAAC,QAAD,kBAAcC,CAAd,EAA0B,MAAM,CAAEM,CAAlC,GArBF,CAsBGF,CAAyB,EACxB,oBAAC,4BAAD,EACE,kBAAkB,CAAEd,CAAK,CAACuB,kBAD5B,CAEE,wBAAwB,CAAEhB,CAF5B,CAGE,IAAI,CAAEP,CAAK,CAACkB,IAHd,CAIE,IAAI,CAAElB,CAAK,CAACwB,IAJd,EAvBJ,CAgCH,CAxCH,CA2CH,CA3EsE,CAAlE"}
|
package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts
CHANGED
|
@@ -36,4 +36,4 @@ export declare const DatePickerFieldTypeDate: React.ForwardRefExoticComponent<{
|
|
|
36
36
|
caption?: string;
|
|
37
37
|
labelPosition?: "top" | "left";
|
|
38
38
|
withClearButton?: boolean;
|
|
39
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "
|
|
39
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "format" | "minDate" | "maxDate"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -37,4 +37,4 @@ export declare const DatePickerFieldTypeDateTime: React.ForwardRefExoticComponen
|
|
|
37
37
|
caption?: string;
|
|
38
38
|
labelPosition?: "top" | "left";
|
|
39
39
|
withClearButton?: boolean;
|
|
40
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "
|
|
40
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "format" | "minDate" | "maxDate" | "timeOptions"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -36,4 +36,4 @@ export declare const DatePickerFieldTypeMonth: React.ForwardRefExoticComponent<{
|
|
|
36
36
|
caption?: string;
|
|
37
37
|
labelPosition?: "top" | "left";
|
|
38
38
|
withClearButton?: boolean;
|
|
39
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "
|
|
39
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "format" | "minDate" | "maxDate"> & React.RefAttributes<HTMLDivElement>>;
|
package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts
CHANGED
|
@@ -37,4 +37,4 @@ export declare const DatePickerFieldTypeTime: React.ForwardRefExoticComponent<{
|
|
|
37
37
|
caption?: string;
|
|
38
38
|
labelPosition?: "top" | "left";
|
|
39
39
|
withClearButton?: boolean;
|
|
40
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "
|
|
40
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "format" | "minDate" | "maxDate" | "timeOptions"> & React.RefAttributes<HTMLDivElement>>;
|
package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts
CHANGED
|
@@ -36,4 +36,4 @@ export declare const DatePickerFieldTypeYear: React.ForwardRefExoticComponent<{
|
|
|
36
36
|
caption?: string;
|
|
37
37
|
labelPosition?: "top" | "left";
|
|
38
38
|
withClearButton?: boolean;
|
|
39
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "
|
|
39
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "autoFocus" | "className" | "id" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onError" | "size" | "view" | "form" | "separator" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "placeholder" | "readOnly" | "required" | "inputRef" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "leftSide" | "rightSide" | "withClearButton" | "iconSize" | "format" | "minDate" | "maxDate"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRef","dropdownViewportRef","dropdownContainer"];import
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRef","dropdownViewportRef","dropdownContainer"];import{addMonths,startOfMonth}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownRef,i=a.dropdownForm,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.ignoreOutsideClicksRefs,p=a.disabled,q=a.disableDates,r=a.inputRef,s=a.dropdownViewportRef,t=a.dropdownContainer,u=_objectWithoutProperties(a,_excluded),v=useRef(null),w=useRef(null),x=useRef(null),y=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,disabled:p,startRef:x}),z=_slicedToArray(y,2),A=z[0],B=z[1],C=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:k,calendarVisible:A}),D=_slicedToArray(C,2),E=D[0],F=D[1];return useEffect(function(){b&&setRef(b,v.current)},[b,v]),useEffect(function(){if(a.value&&"classic"===e&&E){var b=startOfMonth(a.value);return void(b.getTime()!==E.getTime()&&F(b))}if(a.value&&"classic"!==e&&E){var c=startOfMonth(a.value);c.getTime()!==E.getTime()&&c.getTime()!==addMonths(E,1).getTime()&&F(c)}},[a.value]),useClickOutside({isActive:A,ignoreClicksInsideRefs:[v,w].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:B.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},u,{disabled:p,ref:v,inputRef:useForkRef([x,r]),onClick:B.on})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,w]),viewportRef:s,anchorRef:v,isOpen:A,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:E,form:i,onChange:function onChange(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];null===(b=a.onChange)||void 0===b?void 0:b.call.apply(b,[a].concat(d)),B.off()},renderAdditionalControls:l,disableDates:q,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:F,container:t}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRefProp","inputRef","dropdownViewportRef","dropdownContainer","otherProps","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","args","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRefProp","inputRef","dropdownViewportRef","dropdownContainer","otherProps","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","args","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import { addMonths, startOfMonth } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownRef,\n dropdownForm,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\n inputRef: inputRefProp,\n dropdownViewportRef,\n dropdownContainer,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n disabled={disabled}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n viewportRef={dropdownViewportRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(...args) => {\n props.onChange?.(...args);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n disableDates={disableDates}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n container={dropdownContainer}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|