@consta/uikit 4.23.1 → 4.25.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/ComboboxCanary/index.d.ts +1 -0
- package/ComboboxCanary/index.js +1 -0
- package/SelectCanary/index.d.ts +1 -0
- package/SelectCanary/index.js +1 -0
- package/UserSelectCanary/index.d.ts +1 -0
- package/UserSelectCanary/index.js +1 -0
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +8 -2
- package/__internal__/src/components/AutoCompleteCanary/types.d.ts +13 -2
- package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
- package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +6 -0
- package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
- package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
- package/__internal__/src/components/Button/Button.css +1 -1
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +3 -3
- package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.d.ts +4 -0
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +2 -0
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -0
- package/__internal__/src/components/ComboboxCanary/helpers.d.ts +186 -0
- package/__internal__/src/components/ComboboxCanary/helpers.js +2 -0
- package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -0
- package/__internal__/src/components/ComboboxCanary/index.d.ts +2 -0
- package/__internal__/src/components/ComboboxCanary/index.js +2 -0
- package/__internal__/src/components/ComboboxCanary/index.js.map +1 -0
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +2 -2
- package/__internal__/src/components/ContextMenuDeprecated/ContextMenuDeprecated.js +1 -1
- package/__internal__/src/components/ContextMenuDeprecated/ContextMenuDeprecated.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +4 -4
- package/__internal__/src/components/Select/helpers.d.ts +1 -1
- package/__internal__/src/components/SelectCanary/SelectCanary.d.ts +4 -0
- package/__internal__/src/components/SelectCanary/SelectCanary.js +2 -0
- package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -0
- package/__internal__/src/components/SelectCanary/helpers.d.ts +159 -0
- package/__internal__/src/components/SelectCanary/helpers.js +2 -0
- package/__internal__/src/components/SelectCanary/helpers.js.map +1 -0
- package/__internal__/src/components/SelectCanary/index.d.ts +1 -0
- package/__internal__/src/components/SelectCanary/index.js +2 -0
- package/__internal__/src/components/SelectCanary/index.js.map +1 -0
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
- package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
- package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.d.ts +20 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.d.ts +15 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.d.ts +41 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.d.ts +10 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.d.ts +17 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectItemAll.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.d.ts +14 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.d.ts +3 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.css +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.d.ts +12 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/cnSelect.d.ts +3 -0
- package/__internal__/src/components/SelectComponentsCanary/cnSelect.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/cnSelect.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/helpers.d.ts +4 -0
- package/__internal__/src/components/SelectComponentsCanary/helpers.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/helpers.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/types.d.ts +34 -0
- package/__internal__/src/components/SelectComponentsCanary/types.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/types.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.d.ts +14 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/index.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/index.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/index.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.d.ts +84 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js +2 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js.map +1 -0
- package/__internal__/src/components/Slider/helper.d.ts +1 -1
- package/__internal__/src/components/SnackBar/helper.d.ts +1 -1
- package/__internal__/src/components/SpoilerCanary/Spoiler.css +1 -1
- package/__internal__/src/components/SpoilerCanary/SpoilerButton/SpoilerButton.js +1 -1
- package/__internal__/src/components/SpoilerCanary/SpoilerButton/SpoilerButton.js.map +1 -1
- package/__internal__/src/components/SpoilerCanary/SpoilerCanary.js +1 -1
- package/__internal__/src/components/SpoilerCanary/SpoilerCanary.js.map +1 -1
- package/__internal__/src/components/SpoilerCanary/index.d.ts +1 -0
- package/__internal__/src/components/SpoilerCanary/index.js +1 -1
- package/__internal__/src/components/SpoilerCanary/index.js.map +1 -1
- package/__internal__/src/components/SpoilerCanary/types.d.ts +20 -5
- package/__internal__/src/components/SpoilerCanary/types.js +1 -1
- package/__internal__/src/components/SpoilerCanary/types.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
- package/__internal__/src/components/TextField/TextField.css +1 -1
- package/__internal__/src/components/TextField/TextField.js +1 -1
- package/__internal__/src/components/TextField/TextField.js.map +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.d.ts +5 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +2 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.css +1 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.d.ts +14 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.js +2 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.js.map +1 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.css +1 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.d.ts +15 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.js +2 -0
- package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.js.map +1 -0
- package/__internal__/src/components/UserSelectCanary/helpers.d.ts +191 -0
- package/__internal__/src/components/UserSelectCanary/helpers.js +2 -0
- package/__internal__/src/components/UserSelectCanary/helpers.js.map +1 -0
- package/__internal__/src/components/UserSelectCanary/index.d.ts +1 -0
- package/__internal__/src/components/UserSelectCanary/index.js +2 -0
- package/__internal__/src/components/UserSelectCanary/index.js.map +1 -0
- package/__internal__/src/hooks/useBreakpoints/useBreakpoints.js +1 -1
- package/__internal__/src/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
- package/__internal__/src/hooks/useComponentBreakpoints/useComponentBreakpoints.js +1 -1
- package/__internal__/src/hooks/useComponentBreakpoints/useComponentBreakpoints.js.map +1 -1
- package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -0
- package/__internal__/src/hooks/useFlag/useFlag.js +1 -1
- package/__internal__/src/hooks/useFlag/useFlag.js.map +1 -1
- package/__internal__/src/hooks/useForkRef/useForkRef.d.ts +2 -1
- package/__internal__/src/hooks/useForkRef/useForkRef.js +1 -1
- package/__internal__/src/hooks/useForkRef/useForkRef.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.d.ts +2 -2
- package/__internal__/src/hooks/useRefs/useRefs.js.map +1 -1
- package/__internal__/src/hooks/useStyleProps/getStyleProps.d.ts +2 -0
- package/__internal__/src/hooks/useStyleProps/getStyleProps.js +2 -0
- package/__internal__/src/hooks/useStyleProps/getStyleProps.js.map +1 -0
- package/__internal__/src/hooks/useStyleProps/helpers.d.ts +2 -0
- package/__internal__/src/hooks/useStyleProps/helpers.js +2 -0
- package/__internal__/src/hooks/useStyleProps/helpers.js.map +1 -0
- package/__internal__/src/hooks/useStyleProps/index.d.ts +2 -0
- package/__internal__/src/hooks/useStyleProps/index.js +2 -0
- package/__internal__/src/hooks/useStyleProps/index.js.map +1 -0
- package/__internal__/src/hooks/useStyleProps/types.d.ts +1 -0
- package/__internal__/src/hooks/useStyleProps/types.js +2 -0
- package/__internal__/src/hooks/useStyleProps/types.js.map +1 -0
- package/__internal__/src/hooks/useStyleProps/useStyleProps.d.ts +3 -0
- package/__internal__/src/hooks/useStyleProps/useStyleProps.js +2 -0
- package/__internal__/src/hooks/useStyleProps/useStyleProps.js.map +1 -0
- package/__internal__/src/hooks/useThemeVars/index.d.ts +1 -0
- package/__internal__/src/hooks/useThemeVars/index.js +1 -1
- package/__internal__/src/hooks/useThemeVars/index.js.map +1 -1
- package/__internal__/src/hooks/useThemeVars/useThemeVars.d.ts +1 -1
- package/__internal__/src/hooks/useThemeVars/useThemeVars.js +1 -1
- package/__internal__/src/hooks/useThemeVars/useThemeVars.js.map +1 -1
- package/__internal__/src/icons/IconAdd/IconAdd.d.ts +1 -2
- package/__internal__/src/icons/IconAddToComparison/IconAddToComparison.d.ts +1 -2
- package/__internal__/src/icons/IconAlert/IconAlert.d.ts +1 -2
- package/__internal__/src/icons/IconAlignBlocksLeft/IconAlignBlocksLeft.d.ts +1 -2
- package/__internal__/src/icons/IconAlignBlocksRight/IconAlignBlocksRight.d.ts +1 -2
- package/__internal__/src/icons/IconAlignCenter/IconAlignCenter.d.ts +1 -2
- package/__internal__/src/icons/IconAlignJustify/IconAlignJustify.d.ts +1 -2
- package/__internal__/src/icons/IconAlignLeft/IconAlignLeft.d.ts +1 -2
- package/__internal__/src/icons/IconAlignRight/IconAlignRight.d.ts +1 -2
- package/__internal__/src/icons/IconAllDone/IconAllDone.d.ts +1 -2
- package/__internal__/src/icons/IconArrowDown/IconArrowDown.d.ts +1 -2
- package/__internal__/src/icons/IconArrowLeft/IconArrowLeft.d.ts +1 -2
- package/__internal__/src/icons/IconArrowRight/IconArrowRight.d.ts +1 -2
- package/__internal__/src/icons/IconArrowUp/IconArrowUp.d.ts +1 -2
- package/__internal__/src/icons/IconArtBrush/IconArtBrush.d.ts +1 -2
- package/__internal__/src/icons/IconAttach/IconAttach.d.ts +1 -2
- package/__internal__/src/icons/IconAxesRotate/IconAxesRotate.d.ts +1 -2
- package/__internal__/src/icons/IconBackward/IconBackward.d.ts +1 -2
- package/__internal__/src/icons/IconBag/IconBag.d.ts +1 -2
- package/__internal__/src/icons/IconBarrier/IconBarrier.d.ts +1 -2
- package/__internal__/src/icons/IconBento/IconBento.d.ts +1 -2
- package/__internal__/src/icons/IconBit/IconBit.d.ts +1 -2
- package/__internal__/src/icons/IconBold/IconBold.d.ts +1 -2
- package/__internal__/src/icons/IconBook/IconBook.d.ts +1 -2
- package/__internal__/src/icons/IconBookmarkFilled/IconBookmarkFilled.d.ts +1 -2
- package/__internal__/src/icons/IconBookmarkStroked/IconBookmarkStroked.d.ts +1 -2
- package/__internal__/src/icons/IconCalculator/IconCalculator.d.ts +1 -2
- package/__internal__/src/icons/IconCalendar/IconCalendar.d.ts +1 -2
- package/__internal__/src/icons/IconCamera/IconCamera.d.ts +1 -2
- package/__internal__/src/icons/IconCancel/IconCancel.d.ts +1 -2
- package/__internal__/src/icons/IconCards/IconCards.d.ts +1 -2
- package/__internal__/src/icons/IconChatFilled/IconChatFilled.d.ts +1 -2
- package/__internal__/src/icons/IconChatStroked/IconChatStroked.d.ts +1 -2
- package/__internal__/src/icons/IconCheck/IconCheck.d.ts +1 -2
- package/__internal__/src/icons/IconClose/IconClose.d.ts +1 -2
- package/__internal__/src/icons/IconCollapse/IconCollapse.d.ts +1 -2
- package/__internal__/src/icons/IconColorFill/IconColorFill.d.ts +1 -2
- package/__internal__/src/icons/IconColorText/IconColorText.d.ts +1 -2
- package/__internal__/src/icons/IconColumns/IconColumns.d.ts +1 -2
- package/__internal__/src/icons/IconCommentFilled/IconCommentFilled.d.ts +1 -2
- package/__internal__/src/icons/IconCommentStroked/IconCommentStroked.d.ts +1 -2
- package/__internal__/src/icons/IconConnection/IconConnection.d.ts +1 -2
- package/__internal__/src/icons/IconCopy/IconCopy.d.ts +1 -2
- package/__internal__/src/icons/IconCrown/IconCrown.d.ts +1 -2
- package/__internal__/src/icons/IconCursorMouse/IconCursorMouse.d.ts +1 -2
- package/__internal__/src/icons/IconDataNull/IconDataNull.d.ts +1 -2
- package/__internal__/src/icons/IconDiamond/IconDiamond.d.ts +1 -2
- package/__internal__/src/icons/IconDinosaur/IconDinosaur.d.ts +1 -2
- package/__internal__/src/icons/IconDisconnection/IconDisconnection.d.ts +1 -2
- package/__internal__/src/icons/IconDocAdd/IconDocAdd.d.ts +1 -2
- package/__internal__/src/icons/IconDocBlank/IconDocBlank.d.ts +1 -2
- package/__internal__/src/icons/IconDocDelete/IconDocDelete.d.ts +1 -2
- package/__internal__/src/icons/IconDocExport/IconDocExport.d.ts +1 -2
- package/__internal__/src/icons/IconDocFilled/IconDocFilled.d.ts +1 -2
- package/__internal__/src/icons/IconDown/IconDown.d.ts +1 -2
- package/__internal__/src/icons/IconDownload/IconDownload.d.ts +1 -2
- package/__internal__/src/icons/IconDrag/IconDrag.d.ts +1 -2
- package/__internal__/src/icons/IconDraggable/IconDraggable.d.ts +1 -2
- package/__internal__/src/icons/IconDrillingPartLeftFilled/IconDrillingPartLeftFilled.d.ts +1 -2
- package/__internal__/src/icons/IconDrillingPartLeftStroked/IconDrillingPartLeftStroked.d.ts +1 -2
- package/__internal__/src/icons/IconDrillingPartRightFilled/IconDrillingPartRightFilled.d.ts +1 -2
- package/__internal__/src/icons/IconDrillingPartRightStroked/IconDrillingPartRightStroked.d.ts +1 -2
- package/__internal__/src/icons/IconDrillingRig/IconDrillingRig.d.ts +1 -2
- package/__internal__/src/icons/IconDrop/IconDrop.d.ts +1 -2
- package/__internal__/src/icons/IconEdit/IconEdit.d.ts +1 -2
- package/__internal__/src/icons/IconExit/IconExit.d.ts +1 -2
- package/__internal__/src/icons/IconExpand/IconExpand.d.ts +1 -2
- package/__internal__/src/icons/IconEye/IconEye.d.ts +1 -2
- package/__internal__/src/icons/IconEyeClose/IconEyeClose.d.ts +1 -2
- package/__internal__/src/icons/IconFavorite/IconFavorite.d.ts +1 -2
- package/__internal__/src/icons/IconFilter/IconFilter.d.ts +1 -2
- package/__internal__/src/icons/IconFishboneFilled/IconFishboneFilled.d.ts +1 -2
- package/__internal__/src/icons/IconFishboneStroked/IconFishboneStroked.d.ts +1 -2
- package/__internal__/src/icons/IconFitToDefault/IconFitToDefault.d.ts +1 -2
- package/__internal__/src/icons/IconFlagFilled/IconFlagFilled.d.ts +1 -2
- package/__internal__/src/icons/IconFlagStroked/IconFlagStroked.d.ts +1 -2
- package/__internal__/src/icons/IconFolders/IconFolders.d.ts +1 -2
- package/__internal__/src/icons/IconForward/IconForward.d.ts +1 -2
- package/__internal__/src/icons/IconFunnel/IconFunnel.d.ts +1 -2
- package/__internal__/src/icons/IconGas/IconGas.d.ts +1 -2
- package/__internal__/src/icons/IconGeo/IconGeo.d.ts +1 -2
- package/__internal__/src/icons/IconGradients/IconGradients.d.ts +1 -2
- package/__internal__/src/icons/IconGrouping/IconGrouping.d.ts +1 -2
- package/__internal__/src/icons/IconHamburger/IconHamburger.d.ts +1 -2
- package/__internal__/src/icons/IconHand/IconHand.d.ts +1 -2
- package/__internal__/src/icons/IconHealth/IconHealth.d.ts +1 -2
- package/__internal__/src/icons/IconHome/IconHome.d.ts +1 -2
- package/__internal__/src/icons/IconInComparison/IconInComparison.d.ts +1 -2
- package/__internal__/src/icons/IconIncident/IconIncident.d.ts +1 -2
- package/__internal__/src/icons/IconInfo/IconInfo.d.ts +1 -2
- package/__internal__/src/icons/IconIntroduction/IconIntroduction.d.ts +1 -2
- package/__internal__/src/icons/IconIpad/IconIpad.d.ts +1 -2
- package/__internal__/src/icons/IconItalic/IconItalic.d.ts +1 -2
- package/__internal__/src/icons/IconKebab/IconKebab.d.ts +1 -2
- package/__internal__/src/icons/IconKernFilled/IconKernFilled.d.ts +1 -2
- package/__internal__/src/icons/IconKernStroked/IconKernStroked.d.ts +1 -2
- package/__internal__/src/icons/IconLaptop/IconLaptop.d.ts +1 -2
- package/__internal__/src/icons/IconLayers/IconLayers.d.ts +1 -2
- package/__internal__/src/icons/IconLeaf/IconLeaf.d.ts +1 -2
- package/__internal__/src/icons/IconLightningBolt/IconLightningBolt.d.ts +1 -2
- package/__internal__/src/icons/IconLineAndBarChart/IconLineAndBarChart.d.ts +1 -2
- package/__internal__/src/icons/IconLink/IconLink.d.ts +1 -2
- package/__internal__/src/icons/IconList/IconList.d.ts +1 -2
- package/__internal__/src/icons/IconListNumbered/IconListNumbered.d.ts +1 -2
- package/__internal__/src/icons/IconLithologyFilled/IconLithologyFilled.d.ts +1 -2
- package/__internal__/src/icons/IconLithologyStroked/IconLithologyStroked.d.ts +1 -2
- package/__internal__/src/icons/IconLock/IconLock.d.ts +1 -2
- package/__internal__/src/icons/IconLogicalElement/IconLogicalElement.d.ts +1 -2
- package/__internal__/src/icons/IconMBU/IconMBU.d.ts +1 -2
- package/__internal__/src/icons/IconMGRP/IconMGRP.d.ts +1 -2
- package/__internal__/src/icons/IconMLSP/IconMLSP.d.ts +1 -2
- package/__internal__/src/icons/IconMMP/IconMMP.d.ts +1 -2
- package/__internal__/src/icons/IconMail/IconMail.d.ts +1 -2
- package/__internal__/src/icons/IconMap/IconMap.d.ts +1 -2
- package/__internal__/src/icons/IconMaxHeight/IconMaxHeight.d.ts +1 -2
- package/__internal__/src/icons/IconMaxWidth/IconMaxWidth.d.ts +1 -2
- package/__internal__/src/icons/IconMeatball/IconMeatball.d.ts +1 -2
- package/__internal__/src/icons/IconMic/IconMic.d.ts +1 -2
- package/__internal__/src/icons/IconMolecules/IconMolecules.d.ts +1 -2
- package/__internal__/src/icons/IconMoon/IconMoon.d.ts +1 -2
- package/__internal__/src/icons/IconNodeEnd/IconNodeEnd.d.ts +1 -2
- package/__internal__/src/icons/IconNodeStart/IconNodeStart.d.ts +1 -2
- package/__internal__/src/icons/IconNodeStep/IconNodeStep.d.ts +1 -2
- package/__internal__/src/icons/IconNodes/IconNodes.d.ts +1 -2
- package/__internal__/src/icons/IconOilBarrel/IconOilBarrel.d.ts +1 -2
- package/__internal__/src/icons/IconOpenInNew/IconOpenInNew.d.ts +1 -2
- package/__internal__/src/icons/IconOperators/IconOperators.d.ts +1 -2
- package/__internal__/src/icons/IconPanelBottom/IconPanelBottom.d.ts +1 -2
- package/__internal__/src/icons/IconPanelLeft/IconPanelLeft.d.ts +1 -2
- package/__internal__/src/icons/IconPanelRight/IconPanelRight.d.ts +1 -2
- package/__internal__/src/icons/IconPanelTop/IconPanelTop.d.ts +1 -2
- package/__internal__/src/icons/IconPaste/IconPaste.d.ts +1 -2
- package/__internal__/src/icons/IconPause/IconPause.d.ts +1 -2
- package/__internal__/src/icons/IconPhone/IconPhone.d.ts +1 -2
- package/__internal__/src/icons/IconPhoto/IconPhoto.d.ts +1 -2
- package/__internal__/src/icons/IconPicture/IconPicture.d.ts +1 -2
- package/__internal__/src/icons/IconPlay/IconPlay.d.ts +1 -2
- package/__internal__/src/icons/IconPressureFilled/IconPressureFilled.d.ts +1 -2
- package/__internal__/src/icons/IconPressureStroked/IconPressureStroked.d.ts +1 -2
- package/__internal__/src/icons/IconPriceLabel/IconPriceLabel.d.ts +1 -2
- package/__internal__/src/icons/IconProcessing/IconProcessing.d.ts +1 -2
- package/__internal__/src/icons/IconQuestion/IconQuestion.d.ts +1 -2
- package/__internal__/src/icons/IconQuote/IconQuote.d.ts +1 -2
- package/__internal__/src/icons/IconRUO/IconRUO.d.ts +1 -2
- package/__internal__/src/icons/IconRUS/IconRUS.d.ts +1 -2
- package/__internal__/src/icons/IconRecord/IconRecord.d.ts +1 -2
- package/__internal__/src/icons/IconRemove/IconRemove.d.ts +1 -2
- package/__internal__/src/icons/IconRemoveFromComparison/IconRemoveFromComparison.d.ts +1 -2
- package/__internal__/src/icons/IconReply/IconReply.d.ts +1 -2
- package/__internal__/src/icons/IconResize/IconResize.d.ts +1 -2
- package/__internal__/src/icons/IconRestart/IconRestart.d.ts +1 -2
- package/__internal__/src/icons/IconRevert/IconRevert.d.ts +1 -2
- package/__internal__/src/icons/IconRing/IconRing.d.ts +1 -2
- package/__internal__/src/icons/IconRouble/IconRouble.d.ts +1 -2
- package/__internal__/src/icons/IconRuler/IconRuler.d.ts +1 -2
- package/__internal__/src/icons/IconSave/IconSave.d.ts +1 -2
- package/__internal__/src/icons/IconScreen/IconScreen.d.ts +1 -2
- package/__internal__/src/icons/IconSearch/IconSearch.d.ts +1 -2
- package/__internal__/src/icons/IconSelect/IconSelect.d.ts +1 -2
- package/__internal__/src/icons/IconSelectOpen/IconSelectOpen.d.ts +1 -2
- package/__internal__/src/icons/IconSendMessage/IconSendMessage.d.ts +1 -2
- package/__internal__/src/icons/IconSettings/IconSettings.d.ts +1 -2
- package/__internal__/src/icons/IconShape/IconShape.d.ts +1 -2
- package/__internal__/src/icons/IconShuffle/IconShuffle.d.ts +1 -2
- package/__internal__/src/icons/IconSmile/IconSmile.d.ts +1 -2
- package/__internal__/src/icons/IconSnowflake/IconSnowflake.d.ts +1 -2
- package/__internal__/src/icons/IconSortDown/IconSortDown.d.ts +1 -2
- package/__internal__/src/icons/IconSortDownCenter/IconSortDownCenter.d.ts +1 -2
- package/__internal__/src/icons/IconSortUp/IconSortUp.d.ts +1 -2
- package/__internal__/src/icons/IconSortUpCenter/IconSortUpCenter.d.ts +1 -2
- package/__internal__/src/icons/IconSpeed/IconSpeed.d.ts +1 -2
- package/__internal__/src/icons/IconStop/IconStop.d.ts +1 -2
- package/__internal__/src/icons/IconStorage/IconStorage.d.ts +1 -2
- package/__internal__/src/icons/IconStrikethrough/IconStrikethrough.d.ts +1 -2
- package/__internal__/src/icons/IconString/IconString.d.ts +1 -2
- package/__internal__/src/icons/IconSun/IconSun.d.ts +1 -2
- package/__internal__/src/icons/IconTable/IconTable.d.ts +1 -2
- package/__internal__/src/icons/IconTable2/IconTable2.d.ts +1 -2
- package/__internal__/src/icons/IconTarget/IconTarget.d.ts +1 -2
- package/__internal__/src/icons/IconTeam/IconTeam.d.ts +1 -2
- package/__internal__/src/icons/IconTechResponse/IconTechResponse.d.ts +1 -2
- package/__internal__/src/icons/IconTest/IconTest.d.ts +1 -2
- package/__internal__/src/icons/IconThumbUp/IconThumbUp.d.ts +1 -2
- package/__internal__/src/icons/IconTie/IconTie.d.ts +1 -2
- package/__internal__/src/icons/IconTop/IconTop.d.ts +1 -2
- package/__internal__/src/icons/IconTrajectory/IconTrajectory.d.ts +1 -2
- package/__internal__/src/icons/IconTrash/IconTrash.d.ts +1 -2
- package/__internal__/src/icons/IconType/IconType.d.ts +1 -2
- package/__internal__/src/icons/IconUnderline/IconUnderline.d.ts +1 -2
- package/__internal__/src/icons/IconUnlock/IconUnlock.d.ts +1 -2
- package/__internal__/src/icons/IconUnsort/IconUnsort.d.ts +1 -2
- package/__internal__/src/icons/IconUnsortCenter/IconUnsortCenter.d.ts +1 -2
- package/__internal__/src/icons/IconUpload/IconUpload.d.ts +1 -2
- package/__internal__/src/icons/IconUser/IconUser.d.ts +1 -2
- package/__internal__/src/icons/IconVZD/IconVZD.d.ts +1 -2
- package/__internal__/src/icons/IconVideo/IconVideo.d.ts +1 -2
- package/__internal__/src/icons/IconWarning/IconWarning.d.ts +1 -2
- package/__internal__/src/icons/IconWatch/IconWatch.d.ts +1 -2
- package/__internal__/src/icons/IconWellOpen/IconWellOpen.d.ts +1 -2
- package/__internal__/src/icons/IconWellPipe/IconWellPipe.d.ts +1 -2
- package/__internal__/src/icons/IconWideScreen/IconWideScreen.d.ts +1 -2
- package/__internal__/src/icons/IconWorldFilled/IconWorldFilled.d.ts +1 -2
- package/__internal__/src/icons/IconWorldStroked/IconWorldStroked.d.ts +1 -2
- package/__internal__/src/icons/IconWrench/IconWrench.d.ts +1 -2
- package/__internal__/src/icons/IconYandexDzen/IconYandexDzen.d.ts +1 -2
- package/__internal__/src/icons/IconYoutube/IconYoutube.d.ts +1 -2
- package/__internal__/src/icons/createIcon/createIcon.d.ts +1 -2
- package/__internal__/src/icons/createIcon/createIcon.js +1 -1
- package/__internal__/src/icons/createIcon/createIcon.js.map +1 -1
- package/__internal__/src/mixs/MixSpace/MixSpace.js.map +1 -1
- package/__internal__/src/utils/fabricIndex.js +1 -1
- package/__internal__/src/utils/fabricIndex.js.map +1 -1
- package/__internal__/src/utils/object/index.d.ts +2 -0
- package/__internal__/src/utils/object/index.js +2 -0
- package/__internal__/src/utils/object/index.js.map +1 -0
- package/__internal__/src/utils/{object.js → object/isEmpty.js} +1 -1
- package/__internal__/src/utils/object/isEmpty.js.map +1 -0
- package/__internal__/src/utils/object/isEq.d.ts +1 -0
- package/__internal__/src/utils/object/isEq.js.map +1 -0
- package/package.json +2 -2
- package/useStyleProps/index.d.ts +1 -0
- package/useStyleProps/index.js +1 -0
- package/__internal__/src/hooks/useBreakpoints/isEq.d.ts +0 -2
- package/__internal__/src/hooks/useBreakpoints/isEq.js.map +0 -1
- package/__internal__/src/utils/object.js.map +0 -1
- /package/__internal__/src/utils/{object.d.ts → object/isEmpty.d.ts} +0 -0
- /package/__internal__/src/{hooks/useBreakpoints → utils/object}/isEq.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/SelectCanary/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponentsCanary/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (value: ITEM | null, props: { e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA6GA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectCanary';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/SelectCanary/index.ts"],"sourcesContent":["export * from './SelectCanary';\n"],"mappings":"AAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate,isOptionForSelectAll}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=_objectWithoutProperties(a,_excluded),v="round"===l?"increased":"normal",w=useRef(null),x=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),y="none"===o?void 0:o;return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:w,timeout:animateTimeout},function(a){var j=fabricIndex(
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate,isOptionForSelectAll}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=_objectWithoutProperties(a,_excluded),v="round"===l?"increased":"normal",w=useRef(null),x=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),y="none"===o?void 0:o;return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:w,timeout:animateTimeout},function(a){var j=fabricIndex();return React.createElement(Popover,Object.assign({},u,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:y,ref:w,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("List",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:e},r&&React.createElement(SelectLoader,{mode:x?"blur":"empty"}),q.map(function(a){return isOptionForCreate(a)?React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:v},d({index:j(),item:a}))):React.createElement(Fragment,{key:a.key},a.group&&s&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:v}),a.items.map(function(b,e){return isOptionForSelectAll(b)?React.createElement(SelectItemAll,Object.assign({indent:v,size:c},d({index:j(),item:b}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount})):React.createElement(Fragment,{key:"".concat(a.key,"-").concat(e)},p(_objectSpread({item:b},d({index:j(),item:b}))))}))}),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:v},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:v},i)))})};
|
|
2
2
|
//# sourceMappingURL=SelectDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpase","cnMixSpace","isOptionForCreate","isOptionForSelectAll","animateTimeout","cnMixPopoverAnimate","cn","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i","checkedCount","totalCount"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { SelectAllItem } from '##/utils/getGroups';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover, PopoverPropOffset } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex(-1);\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n return (\n <SelectItemAll\n indent={indent}\n size={size}\n {...getOptionProps({ index: getIndex(), item })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpase","cnMixSpace","isOptionForCreate","isOptionForSelectAll","animateTimeout","cnMixPopoverAnimate","cn","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i","checkedCount","totalCount"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { SelectAllItem } from '##/utils/getGroups';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover, PopoverPropOffset } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n return (\n <SelectItemAll\n indent={indent}\n size={size}\n {...getOptionProps({ index: getIndex(), item })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.canary--Select{--caption-margin-left:calc(var(--input-space) + var(--control-border-width));align-items:flex-start;display:flex;justify-content:flex-start;position:relative;width:100%}.canary--Select_type_userselect.canary--Select_size_s{--select-element-height:var(--space-xl)}.canary--Select_type_userselect.canary--Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-3xs))}.canary--Select_type_userselect.canary--Select_size_l{--select-element-height:calc(var(--space-3xl) - var(--space-2xs))}.canary--Select_type_combobox.canary--Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.canary--Select_type_combobox.canary--Select_size_s{--select-element-height:var(--space-xl)}.canary--Select_type_combobox.canary--Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.canary--Select_type_combobox.canary--Select_size_l{--select-element-height:var(--space-2xl)}.canary--Select_type_select.canary--Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.canary--Select_type_select.canary--Select_size_s{--select-element-height:var(--space-xl)}.canary--Select_type_select.canary--Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.canary--Select_type_select.canary--Select_size_l{--select-element-height:var(--space-2xl)}.canary--Select_size_xs{--label-offset:var(--space-2xs);--caption-offset:var(--space-2xs);--round-offset:calc(var(--space-3xs) + var(--space-2xs));--input-height:var(--control-height-xs);--input-space:calc(var(--control-space-xs)*0.5);--input-font-size:var(--control-text-size-xs);--tag-space:calc((var(--space-xs) - 1px)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.canary--Select_size_s{--label-offset:var(--space-2xs);--caption-offset:var(--space-2xs);--round-offset:calc(var(--space-2xs));--input-height:var(--control-height-s);--input-space:calc(var(--control-space-s)*0.5);--input-font-size:var(--control-text-size-s);--tag-space:calc(var(--space-xs)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.canary--Select_size_m{--label-offset:var(--space-xs);--caption-offset:var(--space-xs);--round-offset:calc(var(--space-3xs) + var(--space-2xs));--input-height:var(--control-height-m);--input-space:calc(var(--control-space-m)*0.5);--input-font-size:var(--control-text-size-m);--tag-space:calc(var(--space-s)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5 - var(--space-2xs)*4.5)}.canary--Select_size_l{--label-offset:var(--space-xs);--caption-offset:var(--space-xs);--round-offset:calc(var(--space-xs));--input-height:var(--control-height-l);--input-space:calc(var(--control-space-l)*0.5);--input-font-size:var(--control-text-size-l);--tag-space:calc(var(--space-m)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5)}.canary--Select_labelPosition_top{flex-direction:column}.canary--Select_labelPosition_top>:not(:last-child){margin-bottom:var(--label-offset)}.canary--Select_labelPosition_left{flex-direction:row}.canary--Select_labelPosition_left .canary--Select-Label{align-items:center;display:inline-flex;height:var(--input-height)}.canary--Select_labelPosition_left>:not(:last-child){margin-right:var(--space-s)}.canary--Select-Body{display:inline-flex;flex-direction:column;width:100%}.canary--Select-Body .canary--Select-Caption{margin-left:var(--caption-margin-left);margin-top:var(--caption-offset)}.canary--Select-SelectContainer{--container-border-color:var(--color-control-bg-border-default);display:flex;position:relative;width:100%}.canary--Select-SelectContainer_status_alert{--container-border-color:var(--color-bg-alert)}.canary--Select-SelectContainer_status_success{--container-border-color:var(--color-bg-success)}.canary--Select-SelectContainer_status_warning{--container-border-color:var(--color-bg-warning)}.canary--Select-SelectContainer_view_default .canary--Select-Control{background:var(--color-control-bg-default);border:var(--control-border-width) solid var(--container-border-color);border-radius:var(--control-radius);color:var(--color-control-typo-default);padding:0}.canary--Select-SelectContainer_view_default .canary--Select-Control:hover{border-color:var(--color-control-bg-border-default-hover)}.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_focused .canary--Select-Control{border-color:var(--color-control-bg-border-focus);outline:none}.canary--Select-SelectContainer_multiple .canary--Select-Control{height:auto;min-height:var(--input-height)}.canary--Select-SelectContainer_form_round .canary--Select-Control{border-radius:calc(var(--input-height)/2);padding-left:var(--round-offset)}.canary--Select-SelectContainer_form_brick .canary--Select-Control{border-radius:0}.canary--Select-SelectContainer_form_clear .canary--Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0}.canary--Select-SelectContainer_form_defaultClear .canary--Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius);border-right-width:0}.canary--Select-SelectContainer_form_clearDefault .canary--Select-Control{border-left-width:0;border-radius:0 var(--control-radius) var(--control-radius) 0}.canary--Select-SelectContainer_form_defaultBrick .canary--Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius)}.canary--Select-SelectContainer_form_brickDefault .canary--Select-Control{border-radius:0 var(--control-radius) var(--control-radius) 0}.canary--Select-SelectContainer_form_roundBrick .canary--Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);padding-left:var(--round-offset)}.canary--Select-SelectContainer_form_brickRound .canary--Select-Control{border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.canary--Select-SelectContainer_form_brickClear .canary--Select-Control{border-radius:0;border-right-width:0}.canary--Select-SelectContainer_form_clearBrick .canary--Select-Control{border-left-width:0;border-radius:0}.canary--Select-SelectContainer_form_clearRound .canary--Select-Control{border-left-width:0;border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.canary--Select-SelectContainer_form_roundClear .canary--Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);border-right-width:0;padding-left:var(--round-offset)}.canary--Select-SelectContainer_form_clearClear .canary--Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0;border-top-width:var(--control-border-width)}.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_clear.canary--Select-SelectContainer_focused .canary--Select-Control,.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_clearClear.canary--Select-SelectContainer_focused .canary--Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus),calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_brickClear.canary--Select-SelectContainer_focused .canary--Select-Control,.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_defaultClear.canary--Select-SelectContainer_focused .canary--Select-Control,.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_roundClear.canary--Select-SelectContainer_focused .canary--Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus)}.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_clearBrick.canary--Select-SelectContainer_focused .canary--Select-Control,.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_clearDefault.canary--Select-SelectContainer_focused .canary--Select-Control,.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_form_clearRound.canary--Select-SelectContainer_focused .canary--Select-Control{box-shadow:calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.canary--Select-SelectContainer_view_default.canary--Select-SelectContainer_disabled .canary--Select-Control{background:var(--color-control-bg-disable);border-color:var(--color-control-bg-border-disable);color:var(--color-control-typo-disable);pointer-events:none}.canary--Select-SelectContainer_view_clear .canary--Select-Control,.canary--Select-SelectContainer_view_clear .canary--Select-Control:focus,.canary--Select-SelectContainer_view_clear .canary--Select-Control:hover{color:var(--color-control-typo-default);padding:0}.canary--Select-SelectContainer_view_clear .canary--Select-Control.canary--Select-SelectContainer_disabled,.canary--Select-SelectContainer_view_clear .canary--Select-Control:focus.canary--Select-SelectContainer_disabled,.canary--Select-SelectContainer_view_clear .canary--Select-Control:hover.canary--Select-SelectContainer_disabled{pointer-events:none}.canary--Select-SelectContainer_view_clear .canary--Select-Control.canary--Select-SelectContainer_disabled .canary--Select-Control,.canary--Select-SelectContainer_view_clear .canary--Select-Control:focus.canary--Select-SelectContainer_disabled .canary--Select-Control,.canary--Select-SelectContainer_view_clear .canary--Select-Control:hover.canary--Select-SelectContainer_disabled .canary--Select-Control{color:var(--color-control-typo-disable)}.canary--Select-SelectContainer_view_clear.canary--Select-SelectContainer_disabled .canary--Select-Control{pointer-events:none}.canary--Select-SelectContainer_view_default .canary--Select-ControlValueContainer{padding:0 0 0 var(--input-space)}.canary--Select-SelectContainer_form_round .canary--Select-SelectContainer-IndicatorsDropdown{border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.canary--Select-SelectContainer_multiple .canary--Select-ControlValueContainer{box-sizing:border-box;display:flex;line-height:1;padding-bottom:0;padding-top:0;position:relative}.canary--Select-SelectContainer_multiple .canary--Select-ControlValue{-ms-overflow-style:none;max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5);overflow-x:visible;overflow-y:auto;padding-top:calc(var(--tag-space) - var(--control-border-width));scrollbar-width:none;white-space:normal}.canary--Select-SelectContainer_multiple .canary--Select-ControlValue::-webkit-scrollbar{display:none}.canary--Select-SelectContainer_multiple .canary--Select-ControlValue_isUserSelect{display:flex;flex-wrap:wrap;padding-top:calc(var(--space-s)/4)}.canary--Select_view_clear{--caption-margin-left:0}.canary--Select-Delimiter{background-color:var(--color-control-bg-border-default);width:1px}.canary--Select-Control{background:transparent;border:none;box-sizing:border-box;color:currentColor;cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-weight:var(--font-weight-text-regular);height:var(--input-height);line-height:calc(var(--input-height) - var(--control-border-width));outline:none;padding:0;transition:border-color .15s,box-shadow .15s,background-color .15s;width:100%}.canary--Select-Control:focus{outline:none}.canary--Select-Indicators{display:flex;height:100%}.canary--Select-IndicatorsDropdown{background-color:transparent;border:none;color:var(--color-control-typo-placeholder);cursor:pointer;display:block;margin:0;padding:0;text-align:center;width:var(--input-height)}.canary--Select-IndicatorsDropdown:focus{outline:none}.canary--Select-ControlInner{position:relative;width:100%}.canary--Select-ControlValueContainer{background-color:transparent;border:none;bottom:0;color:inherit;font-size:var(--input-font-size);left:0;line-height:calc(var(--input-height) - 2px);margin:0;min-height:calc(var(--input-height) - 2px);padding:0;position:absolute;right:0;text-align:left;top:0}.canary--Select-ControlValueContainer:focus{outline:none}.canary--Select-Control[aria-expanded=true] .canary--Select-IndicatorsDropdown{transform:rotate(180deg)}.canary--Select-ControlValue,.canary--Select-Placeholder{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canary--Select-Placeholder{color:var(--color-control-typo-placeholder);font-size:var(--input-font-size);padding-right:var(--input-space);pointer-events:none;text-align:left}.canary--Select-Placeholder_isHidden{opacity:0;visibility:hidden}.canary--Select-Control_hasInput .canary--Select-Placeholder{background-color:transparent;line-height:calc(var(--input-height) - 2px);position:absolute;top:0;width:calc(100% - var(--input-space))}.canary--Select-DropdownIndicatorIcon{position:relative;top:1px}.canary--Select-ClearIndicator{background-color:transparent;border:none;color:var(--color-control-typo-clear);cursor:pointer;margin:0;padding:0 var(--space-xs)}.canary--Select-ClearIndicatorIcon{position:relative;top:1px}.canary--Select-Input{background-color:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;line-height:calc(var(--input-height) - 2px);margin:0;outline:none;padding:0;position:relative;width:100%}.canary--Select-Input_hide{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.canary--Select-Input_multiple{display:inline-flex;height:calc(var(--input-height) - var(--control-border-width)*2);line-height:1;line-height:calc(var(--input-height) - var(--control-border-width)*2);margin-top:calc(var(--tag-space)*-1);min-width:10px}.canary--Select-Input_multiple.canary--Select-Input_isUserSelect{margin-top:calc(var(--space-s)/4*-1)}.canary--Select-FakeField{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.canary--Select-HelperInputFakeElement{display:inline-block;font-size:var(--input-font-size);height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap}
|
package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IconComponent } from '@consta/icons/Icon';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
4
|
+
import { PropForm, PropSize, PropStatus, PropView } from '../types';
|
|
5
|
+
export declare type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
form?: PropForm;
|
|
8
|
+
size?: PropSize;
|
|
9
|
+
view?: PropView;
|
|
10
|
+
focused?: boolean;
|
|
11
|
+
multiple?: boolean;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
status?: PropStatus;
|
|
14
|
+
label?: string;
|
|
15
|
+
labelIcon?: IconComponent;
|
|
16
|
+
type?: 'select' | 'combobox' | 'userselect';
|
|
17
|
+
labelPosition?: 'top' | 'left';
|
|
18
|
+
caption?: string;
|
|
19
|
+
}, HTMLDivElement>;
|
|
20
|
+
export declare const SelectContainer: React.ForwardRefExoticComponent<Pick<SelectContainerProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "caption" | "form" | "label" | "view" | "status" | "key" | "type" | "disabled" | "multiple" | "required" | "focused" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","className","disabled","required","children","status","focused","id","multiple","type","labelPosition","label","labelIcon","caption"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption";import{FieldLabel}from"../../FieldLabel";import{cnSelect}from"../cnSelect";import{defaultPropForm,defaultPropSize,defaultPropView}from"../types";export var SelectContainer=forwardRef(function(a,b){var c=a.size,d=void 0===c?defaultPropSize:c,e=a.form,f=void 0===e?defaultPropForm:e,g=a.view,h=void 0===g?defaultPropView:g,i=a.className,j=a.disabled,k=a.required,l=a.children,m=a.status,n=a.focused,o=a.id,p=a.multiple,q=a.type,r=void 0===q?"select":q,s=a.labelPosition,t=void 0===s?"top":s,u=a.label,v=a.labelIcon,w=a.caption,x=_objectWithoutProperties(a,_excluded);return React.createElement("div",Object.assign({className:cnSelect({labelPosition:t,size:d,view:h,type:r},[i])},x),u&&React.createElement(FieldLabel,{icon:v,as:"label",required:k,htmlFor:o,className:cnSelect("Label",{labelPosition:t}),size:d},u),React.createElement("div",{className:cnSelect("Body")},React.createElement("div",{className:cnSelect("SelectContainer",{view:h,form:f,disabled:j,focused:n,multiple:p,status:m}),ref:b},l),w&&React.createElement(FieldCaption,{className:cnSelect("Caption"),status:m},w)))});
|
|
2
|
+
//# sourceMappingURL=SelectContainer.js.map
|
package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectContainer.js","names":["React","forwardRef","FieldCaption","FieldLabel","cnSelect","defaultPropForm","defaultPropSize","defaultPropView","SelectContainer","props","ref","size","form","view","className","disabled","required","children","status","focused","id","multiple","type","labelPosition","label","labelIcon","caption","otherProps"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectContainer/SelectContainer.tsx"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { FieldCaption } from '##/components/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { cnSelect } from '../cnSelect';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n} from '../types';\n\nexport type SelectContainerProps = PropsWithHTMLAttributesAndRef<\n {\n disabled?: boolean;\n form?: PropForm;\n size?: PropSize;\n view?: PropView;\n focused?: boolean;\n multiple?: boolean;\n required?: boolean;\n status?: PropStatus;\n label?: string;\n labelIcon?: IconComponent;\n type?: 'select' | 'combobox' | 'userselect';\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n>;\n\nexport const SelectContainer = forwardRef<HTMLDivElement, SelectContainerProps>(\n (props, ref) => {\n const {\n size = defaultPropSize,\n form = defaultPropForm,\n view = defaultPropView,\n className,\n disabled,\n required,\n children,\n status,\n focused,\n id,\n multiple,\n type = 'select',\n labelPosition = 'top',\n label,\n labelIcon,\n caption,\n ...otherProps\n } = props;\n\n return (\n <div\n className={cnSelect({ labelPosition, size, view, type }, [className])}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n icon={labelIcon}\n as=\"label\"\n required={required}\n htmlFor={id}\n className={cnSelect('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnSelect('Body')}>\n <div\n className={cnSelect('SelectContainer', {\n view,\n form,\n disabled,\n focused,\n multiple,\n status,\n })}\n ref={ref}\n >\n {children}\n </div>\n {caption && (\n <FieldCaption className={cnSelect('Caption')} status={status}>\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n },\n);\n"],"mappings":"+PACA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,YAAT,0BACA,OAASC,UAAT,wBAGA,OAASC,QAAT,mBACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,gBA6BA,MAAO,IAAMC,gBAAe,CAAGP,UAAU,CACvC,SAACQ,CAAD,CAAQC,CAAR,CAAgB,CACd,MAkBID,CAlBJ,CACEE,IADF,CACEA,CADF,YACSL,eADT,KAkBIG,CAlBJ,CAEEG,IAFF,CAEEA,CAFF,YAESP,eAFT,KAkBII,CAlBJ,CAGEI,IAHF,CAGEA,CAHF,YAGSN,eAHT,GAIEO,CAJF,CAkBIL,CAlBJ,CAIEK,SAJF,CAKEC,CALF,CAkBIN,CAlBJ,CAKEM,QALF,CAMEC,CANF,CAkBIP,CAlBJ,CAMEO,QANF,CAOEC,CAPF,CAkBIR,CAlBJ,CAOEQ,QAPF,CAQEC,CARF,CAkBIT,CAlBJ,CAQES,MARF,CASEC,CATF,CAkBIV,CAlBJ,CASEU,OATF,CAUEC,CAVF,CAkBIX,CAlBJ,CAUEW,EAVF,CAWEC,CAXF,CAkBIZ,CAlBJ,CAWEY,QAXF,GAkBIZ,CAlBJ,CAYEa,IAZF,CAYEA,CAZF,YAYS,QAZT,KAkBIb,CAlBJ,CAaEc,aAbF,CAaEA,CAbF,YAakB,KAblB,GAcEC,CAdF,CAkBIf,CAlBJ,CAcEe,KAdF,CAeEC,CAfF,CAkBIhB,CAlBJ,CAeEgB,SAfF,CAgBEC,CAhBF,CAkBIjB,CAlBJ,CAgBEiB,OAhBF,CAiBKC,CAjBL,0BAkBIlB,CAlBJ,YAoBA,MACE,0CACE,SAAS,CAAEL,QAAQ,CAAC,CAAEmB,aAAa,CAAbA,CAAF,CAAiBZ,IAAI,CAAJA,CAAjB,CAAuBE,IAAI,CAAJA,CAAvB,CAA6BS,IAAI,CAAJA,CAA7B,CAAD,CAAsC,CAACR,CAAD,CAAtC,CADrB,EAEMa,CAFN,EAIGH,CAAK,EACJ,oBAAC,UAAD,EACE,IAAI,CAAEC,CADR,CAEE,EAAE,CAAC,OAFL,CAGE,QAAQ,CAAET,CAHZ,CAIE,OAAO,CAAEI,CAJX,CAKE,SAAS,CAAEhB,QAAQ,CAAC,OAAD,CAAU,CAAEmB,aAAa,CAAbA,CAAF,CAAV,CALrB,CAME,IAAI,CAAEZ,CANR,EAQGa,CARH,CALJ,CAgBE,2BAAK,SAAS,CAAEpB,QAAQ,CAAC,MAAD,CAAxB,EACE,2BACE,SAAS,CAAEA,QAAQ,CAAC,iBAAD,CAAoB,CACrCS,IAAI,CAAJA,CADqC,CAErCD,IAAI,CAAJA,CAFqC,CAGrCG,QAAQ,CAARA,CAHqC,CAIrCI,OAAO,CAAPA,CAJqC,CAKrCE,QAAQ,CAARA,CALqC,CAMrCH,MAAM,CAANA,CANqC,CAApB,CADrB,CASE,GAAG,CAAER,CATP,EAWGO,CAXH,CADF,CAcGS,CAAO,EACN,oBAAC,YAAD,EAAc,SAAS,CAAEtB,QAAQ,CAAC,SAAD,CAAjC,CAA8C,MAAM,CAAEc,CAAtD,EACGQ,CADH,CAfJ,CAhBF,CAsCH,CA7DsC,CAAlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectContainer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectContainer/index.ts"],"sourcesContent":["export * from './SelectContainer';\n"],"mappings":"AAAA"}
|
package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ListItem.canary--SelectCreateButton:hover:not(.ListItem_active){background:transparent}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import './SelectCreateButton.css';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
4
|
+
import { PropSize } from '../types';
|
|
5
|
+
declare type SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<{
|
|
6
|
+
labelForCreate?: string;
|
|
7
|
+
inputValue?: string;
|
|
8
|
+
active: boolean;
|
|
9
|
+
hovered: boolean;
|
|
10
|
+
size: PropSize;
|
|
11
|
+
indent: 'normal' | 'increased';
|
|
12
|
+
}, HTMLDivElement>;
|
|
13
|
+
export declare const cnSelectCreateButton: import("@bem-react/classname").ClassNameFormatter;
|
|
14
|
+
export declare const SelectCreateButton: React.FC<SelectCreateButtonProps>;
|
|
15
|
+
export {};
|
package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","labelForCreate","inputValue","active","hovered","size","indent"];import"./SelectCreateButton.css";import React,{forwardRef}from"react";import{ListAddItem}from"../../ListCanary";import{cnCanary}from"../../../utils/bem";export var cnSelectCreateButton=cnCanary("SelectCreateButton");export var SelectCreateButton=forwardRef(function(a,b){var c=a.className,d=a.labelForCreate,e=a.inputValue,f=a.active,g=a.hovered,h=a.size,i=a.indent,j=_objectWithoutProperties(a,_excluded);return React.createElement(ListAddItem,Object.assign({},j,{ref:b,className:cnSelectCreateButton(null,[c]),"aria-selected":f,role:"option",active:g,size:h,innerOffset:i,label:React.createElement(React.Fragment,null,d," \xAB",React.createElement("b",null,e),"\xBB")}))});
|
|
2
|
+
//# sourceMappingURL=SelectCreateButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectCreateButton.js","names":["React","forwardRef","ListAddItem","cnCanary","cnSelectCreateButton","SelectCreateButton","props","ref","className","labelForCreate","inputValue","active","hovered","size","indent","otherProps"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.tsx"],"sourcesContent":["import './SelectCreateButton.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { ListAddItem } from '##/components/ListCanary';\nimport { cnCanary } from '##/utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { PropSize } from '../types';\n\ntype SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<\n {\n labelForCreate?: string;\n inputValue?: string;\n active: boolean;\n hovered: boolean;\n size: PropSize;\n indent: 'normal' | 'increased';\n },\n HTMLDivElement\n>;\n\nexport const cnSelectCreateButton = cnCanary('SelectCreateButton');\n\nexport const SelectCreateButton: React.FC<SelectCreateButtonProps> = forwardRef(\n (props, ref) => {\n const {\n className,\n labelForCreate,\n inputValue,\n active,\n hovered,\n size,\n indent,\n ...otherProps\n } = props;\n\n return (\n <ListAddItem\n {...otherProps}\n ref={ref}\n className={cnSelectCreateButton(null, [className])}\n aria-selected={active}\n role=\"option\"\n active={hovered}\n size={size}\n innerOffset={indent}\n label={\n <>\n {labelForCreate} «<b>{inputValue}</b>»\n </>\n }\n />\n );\n },\n);\n"],"mappings":"kLAAA,iCAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,WAAT,wBACA,OAASC,QAAT,0BAiBA,MAAO,IAAMC,qBAAoB,CAAGD,QAAQ,CAAC,oBAAD,CAArC,CAEP,MAAO,IAAME,mBAAqD,CAAGJ,UAAU,CAC7E,SAACK,CAAD,CAAQC,CAAR,CAAgB,CACd,GACEC,EADF,CASIF,CATJ,CACEE,SADF,CAEEC,CAFF,CASIH,CATJ,CAEEG,cAFF,CAGEC,CAHF,CASIJ,CATJ,CAGEI,UAHF,CAIEC,CAJF,CASIL,CATJ,CAIEK,MAJF,CAKEC,CALF,CASIN,CATJ,CAKEM,OALF,CAMEC,CANF,CASIP,CATJ,CAMEO,IANF,CAOEC,CAPF,CASIR,CATJ,CAOEQ,MAPF,CAQKC,CARL,0BASIT,CATJ,YAWA,MACE,qBAAC,WAAD,kBACMS,CADN,EAEE,GAAG,CAAER,CAFP,CAGE,SAAS,CAAEH,oBAAoB,CAAC,IAAD,CAAO,CAACI,CAAD,CAAP,CAHjC,CAIE,gBAAeG,CAJjB,CAKE,IAAI,CAAC,QALP,CAME,MAAM,CAAEC,CANV,CAOE,IAAI,CAAEC,CAPR,CAQE,WAAW,CAAEC,CARf,CASE,KAAK,CACH,wCACGL,CADH,SACoB,6BAAIC,CAAJ,CADpB,QAVJ,GAgBH,CA9B4E,CAAxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectCreateButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectCreateButton/index.ts"],"sourcesContent":["export * from './SelectCreateButton';\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.canary--SelectDropdown{--select-dropdown-height:200px;min-width:220px;outline:none}.canary--SelectDropdown-ScrollContainer{max-height:var(--select-dropdown-height);overflow:auto}.canary--SelectDropdown-List_scrolled{pointer-events:none}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import './SelectDropdown.css';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PopoverPropOffset } from "../../Popover";
|
|
4
|
+
import { SelectAllItem } from "../../../utils/getGroups";
|
|
5
|
+
import { PropsWithJsxAttributes } from "../../../utils/types/PropsWithJsxAttributes";
|
|
6
|
+
import { PropSize, RenderItemProps } from '../types';
|
|
7
|
+
import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../useSelect';
|
|
8
|
+
export declare const selectDropdownform: readonly ["default", "brick", "round"];
|
|
9
|
+
export declare type SelectDropdownPropForm = typeof selectDropdownform[number];
|
|
10
|
+
export declare const defaultSelectDropdownPropForm: "default";
|
|
11
|
+
declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
|
|
12
|
+
size: PropSize;
|
|
13
|
+
controlRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
14
|
+
dropdownRef: React.Ref<HTMLDivElement>;
|
|
15
|
+
getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;
|
|
16
|
+
form: SelectDropdownPropForm;
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
offset?: PopoverPropOffset | 'none';
|
|
19
|
+
isLoading?: boolean;
|
|
20
|
+
renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;
|
|
21
|
+
visibleItems: (OptionForCreate | {
|
|
22
|
+
items: Array<SelectAllItem | ITEM>;
|
|
23
|
+
key: string | number;
|
|
24
|
+
group?: GROUP;
|
|
25
|
+
groupIndex: number;
|
|
26
|
+
checkedCount?: number;
|
|
27
|
+
totalCount?: number;
|
|
28
|
+
})[];
|
|
29
|
+
getGroupLabel?: (group: GROUP) => string;
|
|
30
|
+
labelForCreate?: string;
|
|
31
|
+
labelForNotFound?: string;
|
|
32
|
+
labelForEmptyItems?: string;
|
|
33
|
+
notFound?: boolean;
|
|
34
|
+
hasItems?: boolean;
|
|
35
|
+
itemsRefs: React.RefObject<HTMLDivElement>[];
|
|
36
|
+
virtualScroll?: boolean;
|
|
37
|
+
onScrollToBottom?: () => void;
|
|
38
|
+
}>;
|
|
39
|
+
declare type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
|
|
40
|
+
export declare const SelectDropdown: SelectDropdown;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useEffect,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,ListLoader,mapVerticalSpase}from"../../ListCanary";import{Popover}from"../../Popover";import{useDebounce}from"../../../hooks/useDebounce";import{useFlag}from"../../../hooks/useFlag";import{forkRef,useForkRef}from"../../../hooks/useForkRef";import{useVirtualScroll}from"../../../hooks/useVirtualScrollCanary";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cnMixSpace}from"../../../mixs/MixSpace";import{cnCanary}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";import{isNotOptionForCreate,isOptionForCreate,isOptionForSelectAll}from"../useSelect";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cnCanary("SelectDropdown"),getLenghtElements=function(a){for(var b,c=1>=a.length?0:a.length,d=0;d<a.length;d++)b=a[d],isNotOptionForCreate(b)&&b.items.length&&(c+=b.items.length);return c},isVisible=function(a,b){return b>=a[0]&&b<a[1]};export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=void 0===j||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=a.itemsRefs,v=a.virtualScroll,w=a.onScrollToBottom,x=_objectWithoutProperties(a,_excluded),y="round"===l?"increased":"normal",z=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),A="none"===o?void 0:o,B=useMemo(function(){return getLenghtElements(q)},[q]),C=useVirtualScroll({length:B,isActive:v&&m,onScrollToBottom:w}),D=C.spaceTop,E=C.slice,F=C.listRefs,G=C.scrollElementRef,H=0===E[0]&&v?[0,50]:E,I=useRef(null),J=useForkRef([G,e]),K=useFlag(),L=_slicedToArray(K,2),M=L[0],N=L[1],O=useDebounce(N.off,100);return useEffect(function(){var a,b=function(){N.on(),O()};return null===(a=G.current)||void 0===a?void 0:a.addEventListener("scroll",b),function(){var a;null===(a=G.current)||void 0===a?void 0:a.removeEventListener("scroll",b)}},[G.current]),React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:I,timeout:animateTimeout},function(a){var e=fabricIndex(),j=fabricIndex();return React.createElement(Popover,Object.assign({},x,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:A,ref:I,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("ScrollContainer",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:J},r&&!z&&React.createElement(SelectLoader,null),React.createElement("div",{className:cnSelectDropdown("List",{scrolled:M}),style:{marginTop:D}},q.map(function(a){if(isOptionForCreate(a)){var g=e();return React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:y,ref:u[g]},d({index:g,item:a,keyPrefix:D})))}var b=1<q.length?j():0;return React.createElement(Fragment,{key:a.key},a.group&&s&&isVisible(H,b)&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:y,ref:F[b],key:"group".concat(a.key).concat(D)}),a.items.map(function(b,f){if(isOptionForSelectAll(b)){var g=j(),h=e();if(isVisible(H,g))return React.createElement(SelectItemAll,Object.assign({ref:forkRef([F[g],u[h]]),indent:y,size:c},d({index:h,item:b,keyPrefix:D}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount}))}else{var i=j(),k=e();if(isVisible(H,i))return React.createElement(Fragment,{key:"".concat(a.key,"-").concat(f)},p(_objectSpread({ref:forkRef([F[i],u[k]]),item:b},d({index:k,item:b,keyPrefix:D}))))}}))}),r&&z&&React.createElement(ListLoader,{size:c,innerOffset:y})),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:y},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:y},i)))})};
|
|
2
|
+
//# sourceMappingURL=SelectDropdown.js.map
|
package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useEffect","useMemo","useRef","Transition","cnListBox","ListItem","ListLoader","mapVerticalSpase","Popover","useDebounce","useFlag","forkRef","useForkRef","useVirtualScroll","animateTimeout","cnMixPopoverAnimate","cnMixSpace","cnCanary","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","getLenghtElements","elements","element","lenght","length","index","items","isVisible","slise","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","otherProps","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","slice","listRefs","scrollElementRef","popoverRef","scrolled","setScroled","setScroledOffDebouns","off","fn","on","current","addEventListener","removeEventListener","animate","getIndex","getVirtualIndex","border","shadow","pV","marginTop","map","label","item","keyPrefix","virtualIndex","key","i","checkedCount","totalCount","ref"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n ListLoader,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScrollCanary';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary } from '##/utils/bem';\nimport { fabricIndex } from '##/utils/fabricIndex';\nimport { SelectAllItem } from '##/utils/getGroups';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../useSelect';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cnCanary('SelectDropdown');\n\nconst getLenghtElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let lenght = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n lenght += element.items.length;\n }\n }\n\n return lenght;\n};\n\nconst isVisible = (slise: [number, number], index: number) => {\n return index >= slise[0] && index < slise[1];\n};\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLenghtElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScroled] = useFlag();\n const setScroledOffDebouns = useDebounce(setScroled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScroled.on();\n setScroledOffDebouns();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: spaceTop,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group${group.key}${spaceTop}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: spaceTop,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: spaceTop,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectDropdown';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectDropdown/index.ts"],"sourcesContent":["export * from './SelectDropdown';\n"],"mappings":"AAAA"}
|
package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
3
|
+
import { PropSize } from '../types';
|
|
4
|
+
declare type SelectGroupLabelProps = PropsWithHTMLAttributesAndRef<{
|
|
5
|
+
label: string;
|
|
6
|
+
size: PropSize;
|
|
7
|
+
indent: 'normal' | 'increased';
|
|
8
|
+
}, HTMLDivElement>;
|
|
9
|
+
export declare const SelectGroupLabel: React.FC<SelectGroupLabelProps>;
|
|
10
|
+
export {};
|
package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["indent"];import React,{forwardRef}from"react";import{ListGroupLabel}from"../../ListCanary";export var SelectGroupLabel=forwardRef(function(a,b){var c=a.indent,d=_objectWithoutProperties(a,_excluded);return React.createElement(ListGroupLabel,Object.assign({},d,{ref:b,innerOffset:c}))});
|
|
2
|
+
//# sourceMappingURL=SelectGroupLabel.js.map
|
package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectGroupLabel.js","names":["React","forwardRef","ListGroupLabel","SelectGroupLabel","ref","indent","otherProps"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { ListGroupLabel } from '##/components/ListCanary';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { PropSize } from '../types';\n\ntype SelectGroupLabelProps = PropsWithHTMLAttributesAndRef<\n {\n label: string;\n size: PropSize;\n indent: 'normal' | 'increased';\n },\n HTMLDivElement\n>;\n\nexport const SelectGroupLabel: React.FC<SelectGroupLabelProps> = forwardRef(\n ({ indent, ...otherProps }, ref) => (\n <ListGroupLabel {...otherProps} ref={ref} innerOffset={indent} />\n ),\n);\n"],"mappings":"8GAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,cAAT,wBAcA,MAAO,IAAMC,iBAAiD,CAAGF,UAAU,CACzE,WAA4BG,CAA5B,KAAGC,EAAH,GAAGA,MAAH,CAAcC,CAAd,6CACE,qBAAC,cAAD,kBAAoBA,CAApB,EAAgC,GAAG,CAAEF,CAArC,CAA0C,WAAW,CAAEC,CAAvD,GADF,CADyE,CAApE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectGroupLabel';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectGroupLabel/index.ts"],"sourcesContent":["export * from './SelectGroupLabel';\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ListItem.canary--SelectItem:hover:not(.ListItem_active){background:transparent}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import './SelectItem.css';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { CheckboxPropSize } from "../../Checkbox";
|
|
4
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
5
|
+
import { PropSize } from '../types';
|
|
6
|
+
export declare type SelectItemProps = PropsWithHTMLAttributesAndRef<{
|
|
7
|
+
label: string;
|
|
8
|
+
active: boolean;
|
|
9
|
+
hovered: boolean;
|
|
10
|
+
multiple: boolean;
|
|
11
|
+
size: PropSize;
|
|
12
|
+
indent: 'normal' | 'increased';
|
|
13
|
+
disabled: boolean | undefined;
|
|
14
|
+
}, HTMLDivElement>;
|
|
15
|
+
export declare const sizeCheckboxMap: Record<PropSize, CheckboxPropSize>;
|
|
16
|
+
export declare const cnSelectItem: import("@bem-react/classname").ClassNameFormatter;
|
|
17
|
+
export declare const SelectItem: React.FC<SelectItemProps>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","label","active","hovered","multiple","size","indent","disabled"];import"./SelectItem.css";import React,{forwardRef}from"react";import{Checkbox}from"../../Checkbox";import{ListItem}from"../../ListCanary";import{cnCanary}from"../../../utils/bem";export var sizeCheckboxMap={xs:"m",s:"m",m:"l",l:"l"};export var cnSelectItem=cnCanary("SelectItem");export var SelectItem=forwardRef(function(a,b){var c=a.className,d=a.label,e=a.active,f=a.hovered,g=a.multiple,h=a.size,i=a.indent,j=a.disabled,k=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},k,{ref:b,className:cnSelectItem(null,[c]),"aria-selected":e,"aria-disabled":j,role:"option",label:d,innerOffset:i,size:h,active:f,checked:!g&&e,disabled:j,leftSide:g&&React.createElement(Checkbox,{checked:e,disabled:j,size:sizeCheckboxMap[h]})}),d)});
|
|
2
|
+
//# sourceMappingURL=SelectItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectItem.js","names":["React","forwardRef","Checkbox","ListItem","cnCanary","sizeCheckboxMap","xs","s","m","l","cnSelectItem","SelectItem","props","ref","className","label","active","hovered","multiple","size","indent","disabled","otherProps"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectItem/SelectItem.tsx"],"sourcesContent":["import './SelectItem.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { Checkbox, CheckboxPropSize } from '##/components/Checkbox';\nimport { ListItem } from '##/components/ListCanary';\nimport { cnCanary } from '##/utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { PropSize } from '../types';\n\nexport type SelectItemProps = PropsWithHTMLAttributesAndRef<\n {\n label: string;\n active: boolean;\n hovered: boolean;\n multiple: boolean;\n size: PropSize;\n indent: 'normal' | 'increased';\n disabled: boolean | undefined;\n },\n HTMLDivElement\n>;\n\nexport const sizeCheckboxMap: Record<PropSize, CheckboxPropSize> = {\n xs: 'm',\n s: 'm',\n m: 'l',\n l: 'l',\n};\n\nexport const cnSelectItem = cnCanary('SelectItem');\n\nexport const SelectItem: React.FC<SelectItemProps> = forwardRef(\n (props, ref) => {\n const {\n className,\n label,\n active,\n hovered,\n multiple,\n size,\n indent,\n disabled,\n ...otherProps\n } = props;\n\n return (\n <ListItem\n {...otherProps}\n ref={ref}\n className={cnSelectItem(null, [className])}\n aria-selected={active}\n aria-disabled={disabled}\n role=\"option\"\n label={label}\n innerOffset={indent}\n size={size}\n active={hovered}\n checked={!multiple && active}\n disabled={disabled}\n leftSide={\n multiple && (\n <Checkbox\n checked={active}\n disabled={disabled}\n size={sizeCheckboxMap[size]}\n />\n )\n }\n >\n {label}\n </ListItem>\n );\n },\n);\n"],"mappings":"kLAAA,yBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,QAAT,sBACA,OAASC,QAAT,wBACA,OAASC,QAAT,0BAkBA,MAAO,IAAMC,gBAAmD,CAAG,CACjEC,EAAE,CAAE,GAD6D,CAEjEC,CAAC,CAAE,GAF8D,CAGjEC,CAAC,CAAE,GAH8D,CAIjEC,CAAC,CAAE,GAJ8D,CAA5D,CAOP,MAAO,IAAMC,aAAY,CAAGN,QAAQ,CAAC,YAAD,CAA7B,CAEP,MAAO,IAAMO,WAAqC,CAAGV,UAAU,CAC7D,SAACW,CAAD,CAAQC,CAAR,CAAgB,CACd,GACEC,EADF,CAUIF,CAVJ,CACEE,SADF,CAEEC,CAFF,CAUIH,CAVJ,CAEEG,KAFF,CAGEC,CAHF,CAUIJ,CAVJ,CAGEI,MAHF,CAIEC,CAJF,CAUIL,CAVJ,CAIEK,OAJF,CAKEC,CALF,CAUIN,CAVJ,CAKEM,QALF,CAMEC,CANF,CAUIP,CAVJ,CAMEO,IANF,CAOEC,CAPF,CAUIR,CAVJ,CAOEQ,MAPF,CAQEC,CARF,CAUIT,CAVJ,CAQES,QARF,CASKC,CATL,0BAUIV,CAVJ,YAYA,MACE,qBAAC,QAAD,kBACMU,CADN,EAEE,GAAG,CAAET,CAFP,CAGE,SAAS,CAAEH,YAAY,CAAC,IAAD,CAAO,CAACI,CAAD,CAAP,CAHzB,CAIE,gBAAeE,CAJjB,CAKE,gBAAeK,CALjB,CAME,IAAI,CAAC,QANP,CAOE,KAAK,CAAEN,CAPT,CAQE,WAAW,CAAEK,CARf,CASE,IAAI,CAAED,CATR,CAUE,MAAM,CAAEF,CAVV,CAWE,OAAO,CAAE,CAACC,CAAD,EAAaF,CAXxB,CAYE,QAAQ,CAAEK,CAZZ,CAaE,QAAQ,CACNH,CAAQ,EACN,oBAAC,QAAD,EACE,OAAO,CAAEF,CADX,CAEE,QAAQ,CAAEK,CAFZ,CAGE,IAAI,CAAEhB,eAAe,CAACc,CAAD,CAHvB,EAfN,GAuBGJ,CAvBH,CA0BH,CAzC4D,CAAxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectItem';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectItem/index.ts"],"sourcesContent":["export * from './SelectItem';\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ListItem.canary--SelectItemAll:hover:not(.ListItem_active){background:transparent}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
3
|
+
import { PropSize } from '../types';
|
|
4
|
+
export declare type SelectItemAllProps = PropsWithHTMLAttributesAndRef<{
|
|
5
|
+
checked: boolean;
|
|
6
|
+
intermediate?: boolean;
|
|
7
|
+
size: PropSize;
|
|
8
|
+
hovered?: boolean;
|
|
9
|
+
indent?: 'normal' | 'increased';
|
|
10
|
+
countItems?: number;
|
|
11
|
+
total?: number;
|
|
12
|
+
}, HTMLDivElement>;
|
|
13
|
+
export declare const cnSelectItemAll: import("@bem-react/classname").ClassNameFormatter;
|
|
14
|
+
export declare const SelectItemAll: React.FC<SelectItemAllProps>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["checked","intermediate","size","indent","hovered","countItems","className","total"];import React,{forwardRef}from"react";import{ListItem}from"../../ListCanary";import{Text}from"../../Text";import{cnCanary}from"../../../utils/bem";import{Checkbox}from"../../Checkbox/Checkbox";import{sizeCheckboxMap}from"../SelectItem/SelectItem";export var cnSelectItemAll=cnCanary("SelectItemAll");var textSizeMap={xs:"s",s:"s",m:"m",l:"l"};export var SelectItemAll=forwardRef(function(a,b){var c=a.checked,d=a.intermediate,e=a.size,f=a.indent,g=a.hovered,h=a.countItems,i=void 0===h?0:h,j=a.className,k=a.total,l=void 0===k?0:k,m=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},m,{ref:b,className:cnSelectItemAll(null,[j]),"aria-selected":c,role:"option",label:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",innerOffset:f,size:e,active:g,rightSide:React.createElement(Text,{size:textSizeMap[e],lineHeight:"xs",view:"ghost"},"".concat(i," \u0438\u0437 ").concat(l)),leftSide:React.createElement(Checkbox,{checked:c,intermediate:d,size:sizeCheckboxMap[e]})}),"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435")});
|
|
2
|
+
//# sourceMappingURL=SelectSelectAll.js.map
|
package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectSelectAll.js","names":["React","forwardRef","ListItem","Text","cnCanary","Checkbox","sizeCheckboxMap","cnSelectItemAll","textSizeMap","xs","s","m","l","SelectItemAll","props","ref","checked","intermediate","size","indent","hovered","countItems","className","total","otherProps"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { ListItem } from '##/components/ListCanary';\nimport { Text, TextPropSize } from '##/components/Text';\nimport { cnCanary } from '##/utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { sizeCheckboxMap } from '../SelectItem/SelectItem';\nimport { PropSize } from '../types';\n\nexport type SelectItemAllProps = PropsWithHTMLAttributesAndRef<\n {\n checked: boolean;\n intermediate?: boolean;\n size: PropSize;\n hovered?: boolean;\n indent?: 'normal' | 'increased';\n countItems?: number;\n total?: number;\n },\n HTMLDivElement\n>;\n\nexport const cnSelectItemAll = cnCanary('SelectItemAll');\n\nconst textSizeMap: Record<PropSize, TextPropSize> = {\n xs: 's',\n s: 's',\n m: 'm',\n l: 'l',\n};\n\nexport const SelectItemAll: React.FC<SelectItemAllProps> = forwardRef(\n (props, ref) => {\n const {\n checked,\n intermediate,\n size,\n indent,\n hovered,\n countItems = 0,\n className,\n total = 0,\n ...otherProps\n } = props;\n\n return (\n <ListItem\n {...otherProps}\n ref={ref}\n className={cnSelectItemAll(null, [className])}\n aria-selected={checked}\n role=\"option\"\n label=\"Выбрать все\"\n innerOffset={indent}\n size={size}\n active={hovered}\n rightSide={\n <Text\n size={textSizeMap[size]}\n lineHeight=\"xs\"\n view=\"ghost\"\n >{`${countItems} из ${total}`}</Text>\n }\n leftSide={\n <Checkbox\n checked={checked}\n intermediate={intermediate}\n size={sizeCheckboxMap[size]}\n />\n }\n >\n Выбрать все\n </ListItem>\n );\n },\n);\n"],"mappings":"yLAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,QAAT,wBACA,OAASC,IAAT,kBACA,OAASC,QAAT,0BAGA,OAASC,QAAT,+BACA,OAASC,eAAT,gCAgBA,MAAO,IAAMC,gBAAe,CAAGH,QAAQ,CAAC,eAAD,CAAhC,CAEP,GAAMI,YAA2C,CAAG,CAClDC,EAAE,CAAE,GAD8C,CAElDC,CAAC,CAAE,GAF+C,CAGlDC,CAAC,CAAE,GAH+C,CAIlDC,CAAC,CAAE,GAJ+C,CAApD,CAOA,MAAO,IAAMC,cAA2C,CAAGZ,UAAU,CACnE,SAACa,CAAD,CAAQC,CAAR,CAAgB,CACd,GACEC,EADF,CAUIF,CAVJ,CACEE,OADF,CAEEC,CAFF,CAUIH,CAVJ,CAEEG,YAFF,CAGEC,CAHF,CAUIJ,CAVJ,CAGEI,IAHF,CAIEC,CAJF,CAUIL,CAVJ,CAIEK,MAJF,CAKEC,CALF,CAUIN,CAVJ,CAKEM,OALF,GAUIN,CAVJ,CAMEO,UANF,CAMEA,CANF,YAMe,CANf,GAOEC,CAPF,CAUIR,CAVJ,CAOEQ,SAPF,GAUIR,CAVJ,CAQES,KARF,CAQEA,CARF,YAQU,CARV,GASKC,CATL,0BAUIV,CAVJ,YAYA,MACE,qBAAC,QAAD,kBACMU,CADN,EAEE,GAAG,CAAET,CAFP,CAGE,SAAS,CAAER,eAAe,CAAC,IAAD,CAAO,CAACe,CAAD,CAAP,CAH5B,CAIE,gBAAeN,CAJjB,CAKE,IAAI,CAAC,QALP,CAME,KAAK,CAAC,+DANR,CAOE,WAAW,CAAEG,CAPf,CAQE,IAAI,CAAED,CARR,CASE,MAAM,CAAEE,CATV,CAUE,SAAS,CACP,oBAAC,IAAD,EACE,IAAI,CAAEZ,WAAW,CAACU,CAAD,CADnB,CAEE,UAAU,CAAC,IAFb,CAGE,IAAI,CAAC,OAHP,YAIKG,CAJL,0BAIsBE,CAJtB,EAXJ,CAiBE,QAAQ,CACN,oBAAC,QAAD,EACE,OAAO,CAAEP,CADX,CAEE,YAAY,CAAEC,CAFhB,CAGE,IAAI,CAAEX,eAAe,CAACY,CAAD,CAHvB,EAlBJ,mEA4BH,CA3CkE,CAA9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectSelectAll';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectItemAll/index.ts"],"sourcesContent":["export * from './SelectSelectAll';\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.canary--SelectLoader{--loader-height:0;cursor:wait;height:calc(var(--select-dropdown-height) - var(--space-padding-bottom) - var(--space-padding-top));position:relative}.canary--SelectLoader-Loader.Loader{--backgroundColor:var(--color-control-typo-disable);height:var(--select-dropdown-height);position:absolute}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./SelectLoader.css";import React from"react";import{Loader}from"../../Loader";import{cnCanary}from"../../../utils/bem";export var cnSelectLoader=cnCanary("SelectLoader");export var SelectLoader=function(){return React.createElement("div",{className:cnSelectLoader()},React.createElement(Loader,{className:cnSelectLoader("Loader"),size:"s"}))};
|
|
2
|
+
//# sourceMappingURL=SelectLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectLoader.js","names":["React","Loader","cnCanary","cnSelectLoader","SelectLoader"],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectLoader/SelectLoader.tsx"],"sourcesContent":["import './SelectLoader.css';\n\nimport React from 'react';\n\nimport { Loader } from '##/components/Loader';\nimport { cnCanary } from '##/utils/bem';\n\nexport const cnSelectLoader = cnCanary('SelectLoader');\n\nexport const SelectLoader = () => {\n return (\n <div className={cnSelectLoader()}>\n <Loader className={cnSelectLoader('Loader')} size=\"s\" />\n </div>\n );\n};\n"],"mappings":"AAAA,2BAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,MAAT,oBACA,OAASC,QAAT,0BAEA,MAAO,IAAMC,eAAc,CAAGD,QAAQ,CAAC,cAAD,CAA/B,CAEP,MAAO,IAAME,aAAY,CAAG,UAAM,CAChC,MACE,4BAAK,SAAS,CAAED,cAAc,EAA9B,EACE,oBAAC,MAAD,EAAQ,SAAS,CAAEA,cAAc,CAAC,QAAD,CAAjC,CAA6C,IAAI,CAAC,GAAlD,EADF,CAIH,CANM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectLoader';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectComponentsCanary/SelectLoader/index.ts"],"sourcesContent":["export * from './SelectLoader';\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.TagBase.canary--SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.canary--SelectValueTag.TagBase_size_l,.TagBase.canary--SelectValueTag.TagBase_size_m,.TagBase.canary--SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.canary--SelectValueTag .TagBase-Label{word-break:break-word}.TagBase.canary--SelectValueTag_disabled{background-color:var(--color-control-bg-disable);pointer-events:none}.TagBase.canary--SelectValueTag_disabled>*{color:var(--color-control-typo-disable)}
|