@moysklad/uikit 28.1.0 → 30.4.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/README.md +3 -0
- package/dist/colorVariables.css +10 -0
- package/dist/components/AutoComplete/AutoComplete.d.ts +4 -2
- package/dist/components/AutoComplete/AutoComplete.js +45 -31
- package/dist/components/Badge/Badge.js +2 -3
- package/dist/components/Badge/Badge_module.css +2 -3
- package/dist/components/BottomSheet/BottomSheet.js +2 -2
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +5 -3
- package/dist/components/Breadcrumbs/BreadcrumbItem.js +39 -8
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +10 -6
- package/dist/components/Button/Button.d.ts +1 -0
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/Button.module.js +1 -0
- package/dist/components/Button/Button_module.css +4 -0
- package/dist/components/Carousel/Carousel.js +5 -4
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Chip/Chip.helpers.js +5 -2
- package/dist/components/Chip/Chip.js +9 -3
- package/dist/components/Chip/Chip.legacy_module.css +2 -2
- package/dist/components/Chip/Chip.types.d.ts +10 -4
- package/dist/components/Chip/Chip_module.css +5 -5
- package/dist/components/Chip/components/ChipLabel.d.ts +3 -1
- package/dist/components/Chip/components/ChipLabel.js +4 -2
- package/dist/components/Chip/components/ChipMainButton.d.ts +3 -4
- package/dist/components/Chip/components/ChipMainButton.js +2 -1
- package/dist/components/Chip/components/ChipRoot.d.ts +3 -2
- package/dist/components/Chip/components/ChipRoot.js +2 -1
- package/dist/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/components/Dropdown/Dropdown.js +7 -4
- package/dist/components/Dropdown/hooks/usePosition.d.ts +2 -1
- package/dist/components/Dropdown/hooks/usePosition.js +3 -3
- package/dist/components/EditableTitle/EditableTitle.js +1 -1
- package/dist/components/FieldLabel/FieldLabel.constants.d.ts +1 -0
- package/dist/components/FieldLabel/FieldLabel.constants.js +5 -0
- package/dist/components/FieldLabel/FieldLabel.d.ts +17 -0
- package/dist/components/FieldLabel/FieldLabel.js +76 -0
- package/dist/components/FieldLabel/FieldLabel.module.js +11 -0
- package/dist/components/FieldLabel/FieldLabel_module.css +42 -0
- package/dist/components/FieldLabel/components/HelpButton.d.ts +8 -0
- package/dist/components/FieldLabel/components/HelpButton.js +15 -0
- package/dist/components/FieldLabel/components/HelpButton.module.js +5 -0
- package/dist/components/FieldLabel/components/HelpButton_module.css +8 -0
- package/dist/components/FieldLabel/components/index.d.ts +1 -0
- package/dist/components/FieldLabel/components/index.js +1 -0
- package/dist/components/FileUploader/FileUploader.helpers.d.ts +1 -0
- package/dist/components/FileUploader/FileUploader.helpers.js +4 -1
- package/dist/components/FileUploader/FileUploader.js +3 -1
- package/dist/components/FileUploader/FileUploader.types.d.ts +1 -0
- package/dist/components/FileUploader/components/FileUploaderPreview/FileUploaderPreview.js +4 -4
- package/dist/components/Help/Help.d.ts +12 -5
- package/dist/components/Help/Help.js +22 -7
- package/dist/components/Help/Help.module.js +6 -2
- package/dist/components/Help/Help_module.css +36 -8
- package/dist/components/Hint/Hint.js +4 -5
- package/dist/components/Hint/Hint.module.js +2 -3
- package/dist/components/Hint/Hint_module.css +0 -9
- package/dist/components/Info/Info.d.ts +1 -4
- package/dist/components/Info/Info.js +27 -4
- package/dist/components/Info/Info.module.js +4 -1
- package/dist/components/Info/Info_module.css +21 -0
- package/dist/components/Input/Input.d.ts +10 -0
- package/dist/components/Input/Input.js +93 -42
- package/dist/components/Input/Input.module.js +19 -3
- package/dist/components/Input/Input_module.css +156 -19
- package/dist/components/Input/components/InfoBlock.d.ts +12 -0
- package/dist/components/Input/components/InfoBlock.js +29 -0
- package/dist/components/InputClear/InputClear.d.ts +5 -2
- package/dist/components/InputClear/InputClear.js +10 -4
- package/dist/components/InputClear/InputClear.module.js +3 -1
- package/dist/components/InputClear/InputClear_module.css +23 -10
- package/dist/components/InputUnit/InputUnit.d.ts +3 -0
- package/dist/components/InputUnit/InputUnit.js +42 -32
- package/dist/components/InputUnit/InputUnit.module.js +6 -1
- package/dist/components/InputUnit/InputUnit_module.css +27 -29
- package/dist/components/InputUnit/SelectUnit/SelectUnit.d.ts +1 -1
- package/dist/components/InputUnit/SelectUnit/SelectUnit.js +1 -4
- package/dist/components/InputUnit/SelectUnit/SelectUnit.module.js +1 -0
- package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.d.ts +1 -1
- package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.js +7 -2
- package/dist/components/InputUnit/SelectUnit/SelectUnit_module.css +29 -37
- package/dist/components/InputUnit/SelectUnit/type.d.ts +1 -0
- package/dist/components/InputUnit/Unit/Unit.js +1 -2
- package/dist/components/InputUnit/Unit/Unit_module.css +1 -0
- package/dist/components/Label/Label.d.ts +1 -0
- package/dist/components/LabelValue/LabelValue.js +18 -52
- package/dist/components/LabelValue/LabelValue.module.js +0 -3
- package/dist/components/LabelValue/LabelValue_module.css +0 -17
- package/dist/components/LabelValueCheckbox/LabelValueCheckbox.d.ts +10 -0
- package/dist/components/LabelValueCheckbox/LabelValueCheckbox.js +22 -0
- package/dist/components/LabelValueCheckbox/LabelValueCheckbox.module.js +5 -0
- package/dist/components/LabelValueCheckbox/LabelValueCheckbox_module.css +5 -0
- package/dist/components/LabelValueSelect/Input/Input_module.css +1 -3
- package/dist/components/MentionsTextfield/MentionsTextfield.d.ts +1 -1
- package/dist/components/MentionsTextfield/MentionsTextfield.js +41 -25
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.d.ts +7 -0
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.js +27 -0
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.module.js +8 -0
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory_module.css +25 -0
- package/dist/components/MentionsTextfield/OptionForStory/index.d.ts +1 -0
- package/dist/components/MentionsTextfield/OptionForStory/index.js +1 -0
- package/dist/components/Multiselect/DropdownContent/MultiselectDropdownContent.js +5 -4
- package/dist/components/Multiselect/Input/Input_module.css +1 -3
- package/dist/components/Multiselect/Multiselect.d.ts +4 -0
- package/dist/components/Select/Combobox/Combobox_module.css +2 -6
- package/dist/components/Select/DropDownWithColors/DropDownWithColors.d.ts +1 -0
- package/dist/components/Select/DropDownWithColors/DropDownWithColors.js +2 -1
- package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.d.ts +3 -0
- package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.js +17 -0
- package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.module.js +6 -0
- package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer_module.css +12 -0
- package/dist/components/Select/OptionsList/OptionsList.d.ts +2 -1
- package/dist/components/Select/OptionsList/OptionsList.js +3 -2
- package/dist/components/Select/OptionsList/OptionsList_module.css +4 -0
- package/dist/components/Select/Select.d.ts +8 -2
- package/dist/components/Select/Select.js +29 -34
- package/dist/components/Select/Select.module.js +1 -2
- package/dist/components/Select/Select_module.css +2 -14
- package/dist/components/Select/ShortVariant/ShortVariant.d.ts +5 -1
- package/dist/components/Select/ShortVariant/ShortVariant.js +5 -4
- package/dist/components/Select/ShortVariant/ShortVariant.module.js +1 -0
- package/dist/components/Select/ShortVariant/ShortVariant_module.css +5 -1
- package/dist/components/Select/types.d.ts +1 -0
- package/dist/components/Select/useDropdownPadding.d.ts +5 -0
- package/dist/components/Select/useDropdownPadding.js +22 -0
- package/dist/components/Textfield/Textfield.d.ts +18 -2
- package/dist/components/Textfield/Textfield.js +37 -13
- package/dist/components/Textfield/Textfield.module.js +2 -1
- package/dist/components/Textfield/Textfield_module.css +95 -23
- package/dist/components/Textfield/components/ActionButton/ActionButton.d.ts +9 -0
- package/dist/components/Textfield/components/ActionButton/ActionButton.js +12 -0
- package/dist/components/Textfield/components/ActionButton/ActionButton.module.js +9 -0
- package/dist/components/Textfield/components/ActionButton/ActionButton_module.css +54 -0
- package/dist/components/Textfield/components/ActionButton/index.d.ts +1 -0
- package/dist/components/Textfield/components/ActionButton/index.js +1 -0
- package/dist/components/Textfield/components/Container/Container.js +6 -3
- package/dist/components/Textfield/components/Counter/Counter.d.ts +3 -1
- package/dist/components/Textfield/components/Counter/Counter.js +5 -3
- package/dist/components/Textfield/components/Info/Info.d.ts +3 -1
- package/dist/components/Textfield/components/Info/Info.js +9 -4
- package/dist/components/Textfield/components/InnerContainer/InnerContainer.d.ts +3 -6
- package/dist/components/Textfield/components/InnerContainer/InnerContainer.js +2 -8
- package/dist/components/Textfield/components/InputContainer/InputContainer.d.ts +14 -3
- package/dist/components/Textfield/components/InputContainer/InputContainer.js +74 -5
- package/dist/components/Textfield/components/InputContainer/InputContainer.module.js +7 -1
- package/dist/components/Textfield/components/InputContainer/InputContainer_module.css +36 -7
- package/dist/components/Textfield/components/Label/Label.d.ts +2 -0
- package/dist/components/Textfield/components/Label/Label.js +11 -5
- package/dist/components/Textfield/components/Label/Label_module.css +1 -1
- package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.d.ts +10 -0
- package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.js +50 -0
- package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.module.js +7 -0
- package/dist/components/Textfield/components/ResizeHandle/ResizeHandle_module.css +21 -0
- package/dist/components/Textfield/components/ResizeHandle/index.d.ts +1 -0
- package/dist/components/Textfield/components/ResizeHandle/index.js +1 -0
- package/dist/components/Textfield/consts/index.d.ts +2 -0
- package/dist/components/Textfield/consts/index.js +3 -0
- package/dist/components/Textfield/types/index.d.ts +12 -0
- package/dist/components/Textfield/types/index.js +5 -0
- package/dist/components/Textfield/utils/index.d.ts +3 -0
- package/dist/components/Textfield/utils/index.js +8 -0
- package/dist/components/Tooltip/Tooltip.d.ts +4 -1
- package/dist/components/Tooltip/Tooltip.js +9 -9
- package/dist/components/Tooltip/Tooltip.module.js +3 -1
- package/dist/components/Tooltip/Tooltip_module.css +13 -3
- package/dist/components/Tooltip/{consts.d.ts → constants/ArrowAlign.d.ts} +0 -2
- package/dist/components/Tooltip/constants/TooltipBodyColor.d.ts +4 -0
- package/dist/components/Tooltip/constants/TooltipBodyColor.js +5 -0
- package/dist/components/Tooltip/constants/index.d.ts +2 -0
- package/dist/components/Tooltip/constants/index.js +2 -0
- package/dist/components/Tooltip/hooks.d.ts +2 -2
- package/dist/components/Tooltip/hooks.js +1 -1
- package/dist/components/Tooltip/types.d.ts +4 -0
- package/dist/components/Tooltip/types.js +0 -0
- package/dist/components/ViewersStack/ViewersStack.d.ts +13 -0
- package/dist/components/ViewersStack/ViewersStack.js +77 -0
- package/dist/components/ViewersStack/ViewersStack.module.js +7 -0
- package/dist/components/ViewersStack/ViewersStack_module.css +18 -0
- package/dist/components/ViewersStack/components/Avatar/Avatar.d.ts +13 -0
- package/dist/components/ViewersStack/components/Avatar/Avatar.js +35 -0
- package/dist/components/ViewersStack/components/Avatar/Avatar.module.js +13 -0
- package/dist/components/ViewersStack/components/Avatar/Avatar_module.css +45 -0
- package/dist/components/ViewersStack/components/Counter/Counter.d.ts +9 -0
- package/dist/components/ViewersStack/components/Counter/Counter.js +27 -0
- package/dist/components/ViewersStack/components/Counter/Counter.module.js +5 -0
- package/dist/components/ViewersStack/components/Counter/Counter_module.css +20 -0
- package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.d.ts +15 -0
- package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.js +41 -0
- package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.module.js +6 -0
- package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip_module.css +14 -0
- package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.d.ts +6 -0
- package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.js +53 -0
- package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.module.js +7 -0
- package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem_module.css +18 -0
- package/dist/components/ViewersStack/components/common.module.js +7 -0
- package/dist/components/ViewersStack/components/common_module.css +27 -0
- package/dist/components/ViewersStack/types.d.ts +22 -0
- package/dist/components/ViewersStack/types.js +17 -0
- package/dist/components/ViewersStack/utils.d.ts +3 -0
- package/dist/components/ViewersStack/utils.js +17 -0
- package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.d.ts +1 -1
- package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.js +1 -1
- package/dist/data-grid/Table/Table.d.ts +14 -22
- package/dist/data-grid/Table/Table.js +99 -61
- package/dist/data-grid/Table/Table.module.js +2 -0
- package/dist/data-grid/Table/Table_module.css +23 -0
- package/dist/data-grid/Table/components/Body/Body.d.ts +10 -14
- package/dist/data-grid/Table/components/Body/Body.js +11 -47
- package/dist/data-grid/Table/components/DraggableRow/DraggableRow.js +1 -1
- package/dist/data-grid/Table/components/Footer/Footer.module.js +0 -1
- package/dist/data-grid/Table/components/Footer/FooterContent.d.ts +9 -0
- package/dist/data-grid/Table/components/Footer/{Footer.js → FooterContent.js} +4 -5
- package/dist/data-grid/Table/components/Footer/Footer_module.css +0 -5
- package/dist/data-grid/Table/components/Header/Header.module.js +0 -1
- package/dist/data-grid/Table/components/Header/HeaderCell.js +3 -1
- package/dist/data-grid/Table/components/Header/HeaderContent.d.ts +1 -0
- package/dist/data-grid/Table/components/Header/{Header.js → HeaderContent.js} +8 -6
- package/dist/data-grid/Table/components/Header/Header_module.css +0 -15
- package/dist/data-grid/Table/components/Row/Row.d.ts +13 -0
- package/dist/data-grid/Table/components/Row/Row.js +40 -0
- package/dist/data-grid/Table/components/Row/Row.module.js +14 -0
- package/dist/data-grid/Table/components/{TableRow/TableRow_module.css → Row/Row_module.css} +7 -7
- package/dist/data-grid/Table/components/SubRows/SubRows.d.ts +5 -4
- package/dist/data-grid/Table/components/SubRows/SubRows.js +3 -3
- package/dist/data-grid/Table/components/TableCell/TableCell.js +2 -0
- package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.d.ts +5 -6
- package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.js +2 -2
- package/dist/data-grid/Table/components/TableRow/TableRow.d.ts +6 -14
- package/dist/data-grid/Table/components/TableRow/TableRow.js +34 -25
- package/dist/data-grid/Table/components/VirtualTable/VirtualTable.d.ts +10 -0
- package/dist/data-grid/Table/components/VirtualTable/VirtualTable.js +78 -0
- package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.d.ts +11 -0
- package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.js +18 -0
- package/dist/data-grid/Table/components/index.d.ts +3 -3
- package/dist/data-grid/Table/components/index.js +2 -2
- package/dist/data-grid/Table/constants.d.ts +2 -0
- package/dist/data-grid/Table/constants.js +3 -1
- package/dist/data-grid/Table/hooks/index.d.ts +1 -0
- package/dist/data-grid/Table/hooks/index.js +1 -0
- package/dist/data-grid/Table/hooks/useRowContext.d.ts +16 -0
- package/dist/data-grid/Table/hooks/useRowContext.js +44 -0
- package/dist/data-grid/Table/hooks/useTableContext.d.ts +7 -2
- package/dist/data-grid/Table/hooks/useTableContext.js +12 -2
- package/dist/data-grid/Table/index.d.ts +2 -2
- package/dist/data-grid/Table/types.d.ts +8 -1
- package/dist/data-grid/Table/types.js +5 -0
- package/dist/data-grid/Table/utils/compareColumnIds.d.ts +1 -0
- package/dist/data-grid/Table/utils/compareColumnIds.js +6 -0
- package/dist/data-grid/Table/utils/getColumnWidthStyles.d.ts +5 -0
- package/dist/data-grid/Table/utils/getColumnWidthStyles.js +4 -1
- package/dist/data-grid/Table/utils/getTableColumnIds.d.ts +3 -0
- package/dist/data-grid/Table/utils/getTableColumnIds.js +5 -0
- package/dist/data-grid/Table/utils/index.d.ts +2 -0
- package/dist/data-grid/Table/utils/index.js +2 -0
- package/dist/data-grid/Table/utils/withDnD.js +1 -1
- package/dist/data-grid/base/DropdownItem/DropdownItem.d.ts +3 -3
- package/dist/data-grid/base/DropdownItem/DropdownItem.js +3 -2
- package/dist/data-grid/base/OverflowHint/OverflowHint.d.ts +1 -0
- package/dist/data-grid/base/OverflowHint/OverflowHint.js +5 -3
- package/dist/data-grid/base/OverflowHint/utils.d.ts +1 -0
- package/dist/data-grid/base/OverflowHint/utils.js +7 -0
- package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.js +3 -4
- package/dist/data-grid/cells/DecimalCell/DecimalCell_module.css +1 -1
- package/dist/data-grid/cells/FileCell/FileCell_module.css +1 -1
- package/dist/data-grid/cells/ImageCell/ImageCell.d.ts +1 -0
- package/dist/data-grid/cells/ImageCell/ImageCell.js +5 -2
- package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.d.ts +7 -2
- package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.js +6 -4
- package/dist/data-grid/cells/InputCell/InputCell.js +3 -4
- package/dist/data-grid/cells/IntegerCell/IntegerCell_module.css +1 -1
- package/dist/data-grid/cells/LinkCell/LinkCell_module.css +1 -1
- package/dist/data-grid/cells/NameCell/NameCell.js +3 -0
- package/dist/data-grid/cells/NameCell/NameCell_module.css +2 -2
- package/dist/data-grid/cells/NumberInputCell/NumberInputCell.js +19 -17
- package/dist/data-grid/cells/SelectCell/SelectCell.js +3 -4
- package/dist/data-grid/cells/TextCell/TextCell_module.css +1 -1
- package/dist/data-grid/cells/ToggleCell/ToggleCell_module.css +1 -1
- package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.d.ts +3 -0
- package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.js +9 -0
- package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.module.js +5 -0
- package/dist/data-grid/cells/{NumberInputCell/NumberInputCell_module.css → components/EditableCellWrapper/EditableCellWrapper_module.css} +2 -2
- package/dist/data-grid/cells/components/EditableCellWrapper/index.d.ts +1 -0
- package/dist/data-grid/cells/components/EditableCellWrapper/index.js +1 -0
- package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.d.ts +4 -3
- package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.js +13 -13
- package/dist/data-grid/cells/components/TableInput/TableInput.js +19 -3
- package/dist/data-grid/cells/components/TableInput/TableInput_module.css +1 -1
- package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.d.ts +4 -3
- package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.js +44 -55
- package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.d.ts +4 -1
- package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.js +4 -3
- package/dist/data-grid/cells/components/TableSelect/TableSelect.d.ts +15 -10
- package/dist/data-grid/cells/components/TableSelect/TableSelect.js +11 -7
- package/dist/data-grid/cells/components/index.d.ts +1 -0
- package/dist/data-grid/cells/components/index.js +1 -0
- package/dist/data-grid/cells/index.d.ts +1 -1
- package/dist/data-grid/cells/index.js +1 -1
- package/dist/data-grid/headers/PlainTextHeader.js +3 -2
- package/dist/data-grid/headers/components/Dropdown/DropdownArrowBtn/DropdownArrowBtn.js +5 -1
- package/dist/data-grid/headers/components/Dropdown/Option/Option.d.ts +1 -1
- package/dist/data-grid/headers/components/Dropdown/Option/Option.js +2 -2
- package/dist/data-grid/headers/components/Dropdown/Option/Option_module.css +10 -2
- package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.d.ts +13 -3
- package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.js +64 -83
- package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.module.js +2 -1
- package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder_module.css +21 -0
- package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.js +7 -15
- package/dist/data-grid/headers/components/HideColumn/HideColumn.js +8 -13
- package/dist/data-grid/headers/components/ResetFilter/ResetFilter.js +7 -10
- package/dist/data-grid/headers/components/ResetFilter/ResetFilter.module.js +0 -1
- package/dist/data-grid/headers/components/ResetFilter/ResetFilter_module.css +1 -21
- package/dist/data-grid/headers/components/index.d.ts +1 -1
- package/dist/data-grid/headers/index.d.ts +1 -1
- package/dist/data-grid/headers/types/types.d.ts +1 -0
- package/dist/data-grid/types/index.d.ts +1 -0
- package/dist/data-grid/utils/isOverflowed.js +21 -1
- package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +2 -0
- package/dist/hooks/useDebounceCallback/useDebounceCallback.js +21 -0
- package/dist/hooks/useDismissOnFocusOutside/index.d.ts +2 -1
- package/dist/hooks/useDismissOnFocusOutside/index.js +4 -3
- package/dist/hooks/useDismissOnOutsideClick/index.d.ts +2 -1
- package/dist/hooks/useDismissOnOutsideClick/index.js +4 -3
- package/dist/hooks/useTextField/useTextField.d.ts +4 -5
- package/dist/hooks/useTextField/useTextField.js +6 -24
- package/dist/hooks/useUnmount/useUnmount.d.ts +1 -0
- package/dist/hooks/useUnmount/useUnmount.js +9 -0
- package/dist/icon/components/MyApps12Icon.d.ts +8 -0
- package/dist/icon/components/MyApps12Icon.js +18 -0
- package/dist/icon/components/MyApps16Icon.d.ts +8 -0
- package/dist/icon/components/MyApps16Icon.js +17 -0
- package/dist/icon/components/MyApps20Icon.d.ts +8 -0
- package/dist/icon/components/MyApps20Icon.js +18 -0
- package/dist/icon/components/Smile12Icon.d.ts +8 -0
- package/dist/icon/components/Smile12Icon.js +17 -0
- package/dist/icon/components/Smile16Icon.d.ts +8 -0
- package/dist/icon/components/Smile16Icon.js +16 -0
- package/dist/icon/components/Smile20Icon.d.ts +8 -0
- package/dist/icon/components/Smile20Icon.js +17 -0
- package/dist/icon/index.d.ts +6 -0
- package/dist/icon/index.js +6 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -1
- package/dist/utils/debounce/debounce.d.ts +10 -0
- package/dist/utils/debounce/debounce.js +73 -0
- package/dist/utils/isRecordEqual/isRecordEqual.d.ts +1 -0
- package/dist/utils/isRecordEqual/isRecordEqual.js +9 -0
- package/dist/utils/utils.d.ts +2 -0
- package/dist/utils/utils.js +2 -0
- package/package.json +22 -3
- package/dist/components/LabelValue/HelpButton/HelpButton.module.js +0 -8
- package/dist/components/LabelValue/HelpButton/HelpButton_module.css +0 -44
- package/dist/components/LabelValue/HelpButton/index.d.ts +0 -8
- package/dist/components/LabelValue/HelpButton/index.js +0 -36
- package/dist/components/Textfield/components/ClearIcon/ClearIcon.d.ts +0 -6
- package/dist/components/Textfield/components/ClearIcon/ClearIcon.js +0 -13
- package/dist/components/Textfield/components/ClearIcon/ClearIcon.module.js +0 -6
- package/dist/components/Textfield/components/ClearIcon/ClearIcon_module.css +0 -11
- package/dist/data-grid/Table/components/Footer/Footer.d.ts +0 -9
- package/dist/data-grid/Table/components/Header/Header.d.ts +0 -8
- package/dist/data-grid/Table/components/TableRow/TableRow.module.js +0 -14
- package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.module.js +0 -5
- package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell_module.css +0 -8
- package/dist/data-grid/cells/InputCell/InputCell.module.js +0 -5
- package/dist/data-grid/cells/InputCell/InputCell_module.css +0 -8
- package/dist/data-grid/cells/NumberInputCell/NumberInputCell.module.js +0 -5
- package/dist/data-grid/cells/SelectCell/SelectCell.module.js +0 -8
- package/dist/data-grid/cells/SelectCell/SelectCell_module.css +0 -33
- package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.module.js +0 -7
- package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption_module.css +0 -22
- package/dist/data-grid/headers/components/HideColumn/HideColumn.module.js +0 -6
- package/dist/data-grid/headers/components/HideColumn/HideColumn_module.css +0 -20
- /package/dist/components/Tooltip/{consts.js → constants/ArrowAlign.js} +0 -0
|
@@ -4,7 +4,7 @@ import rc_tooltip from "rc-tooltip";
|
|
|
4
4
|
import { cn } from "../../common/css/cn.js";
|
|
5
5
|
import { RemoveClose12Icon } from "../../icon/index.js";
|
|
6
6
|
import { ArrowIcon } from "./ArrowIcon.js";
|
|
7
|
-
import { ArrowAlign } from "./
|
|
7
|
+
import { ArrowAlign } from "./constants/index.js";
|
|
8
8
|
import { useCorrectedArrowStyles } from "./hooks.js";
|
|
9
9
|
import Tooltip_module from "./Tooltip.module.js";
|
|
10
10
|
const alignPointsMap = {
|
|
@@ -35,10 +35,9 @@ const Placement = {
|
|
|
35
35
|
BOTTOM_LEFT: 'bottomLeft',
|
|
36
36
|
BOTTOM_RIGHT: 'bottomRight'
|
|
37
37
|
};
|
|
38
|
-
const Tooltip = (
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
], children, afterHide, getTooltipContainer, zIndex, hideCloseButton = false, overlayClassName, arrowContent, ...otherProps } = props;
|
|
38
|
+
const Tooltip = ({ testId, id, overlay, offset, visible, onVisibleChange, placement = Placement.RIGHT, trigger = [
|
|
39
|
+
'click'
|
|
40
|
+
], children, afterHide, getTooltipContainer, zIndex, hideCloseButton = false, overlayClassName, arrowClassName, colorToken = 'light', arrowContent, ...restProps })=>{
|
|
42
41
|
const [arrowAlign, setArrowAlign] = useState(ArrowAlign.TOP_LEFT);
|
|
43
42
|
const [refClose, setRefClose] = useState(null);
|
|
44
43
|
const handleHide = useCallback((e)=>{
|
|
@@ -72,18 +71,19 @@ const Tooltip = (props)=>{
|
|
|
72
71
|
const joinedXY = align.points?.join('_') ?? '';
|
|
73
72
|
setArrowAlign(alignPointsMap[joinedXY] ?? Placement.TOP);
|
|
74
73
|
}, []);
|
|
74
|
+
const bodyClassName = Tooltip_module[`${colorToken}ColorToken`];
|
|
75
75
|
return /*#__PURE__*/ jsx(rc_tooltip, {
|
|
76
76
|
id: id,
|
|
77
77
|
visible: visible,
|
|
78
78
|
prefixCls: "tooltip-dt",
|
|
79
|
-
overlayClassName: cn(Tooltip_module.overlayWrapper, overlayClassName),
|
|
79
|
+
overlayClassName: cn(Tooltip_module.overlayWrapper, bodyClassName, overlayClassName),
|
|
80
80
|
placement: placement,
|
|
81
81
|
trigger: trigger,
|
|
82
82
|
destroyTooltipOnHide: true,
|
|
83
83
|
arrowContent: /*#__PURE__*/ jsx("div", {
|
|
84
|
-
className: cn(Tooltip_module.arrowIcon, cssCorrectedArrowAlign),
|
|
84
|
+
className: cn(Tooltip_module.arrowIcon, cssCorrectedArrowAlign, bodyClassName),
|
|
85
85
|
children: arrowContent ? arrowContent : /*#__PURE__*/ jsx(ArrowIcon, {
|
|
86
|
-
className: Tooltip_module.arrow
|
|
86
|
+
className: cn(Tooltip_module.arrow, arrowClassName)
|
|
87
87
|
})
|
|
88
88
|
}),
|
|
89
89
|
onVisibleChange: onVisibleChange,
|
|
@@ -105,7 +105,7 @@ const Tooltip = (props)=>{
|
|
|
105
105
|
})
|
|
106
106
|
]
|
|
107
107
|
}),
|
|
108
|
-
...
|
|
108
|
+
...restProps,
|
|
109
109
|
children: children
|
|
110
110
|
});
|
|
111
111
|
};
|
|
@@ -26,6 +26,8 @@ const Tooltip_module = {
|
|
|
26
26
|
right_top: "right_top-v2LpVW",
|
|
27
27
|
rightTop: "right_top-v2LpVW",
|
|
28
28
|
left_top: "left_top-i5Yqg8",
|
|
29
|
-
leftTop: "left_top-i5Yqg8"
|
|
29
|
+
leftTop: "left_top-i5Yqg8",
|
|
30
|
+
lightColorToken: "lightColorToken-IGd7lI",
|
|
31
|
+
darkColorToken: "darkColorToken-BeXlX6"
|
|
30
32
|
};
|
|
31
33
|
export default Tooltip_module;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.overlayWrapper-Nfxvlh {
|
|
2
2
|
cursor: initial;
|
|
3
|
-
background: var(--light-white);
|
|
3
|
+
background: var(--tooltip-body-background, var(--light-white));
|
|
4
4
|
border-radius: 4px;
|
|
5
5
|
padding: 20px 24px 20px 20px;
|
|
6
6
|
position: absolute;
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.arrowIcon-d14ZUp .arrow-xeigvs {
|
|
19
|
-
fill: var(--bgd-white, #fff);
|
|
19
|
+
fill: var(--tooltip-body-background, var(--bgd-white, #fff));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.closeIcon-YhM5xC {
|
|
23
23
|
cursor: pointer;
|
|
24
|
-
color: var(--dark-grey-dark-900);
|
|
24
|
+
color: var(--tooltip-close-icon-color, var(--dark-grey-dark-900));
|
|
25
25
|
position: absolute;
|
|
26
26
|
top: 13px;
|
|
27
27
|
right: 13px;
|
|
@@ -96,3 +96,13 @@
|
|
|
96
96
|
transform: rotate(180deg);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
.lightColorToken-IGd7lI {
|
|
100
|
+
--tooltip-body-background: var(--bgd-white);
|
|
101
|
+
--tooltip-close-icon-color: var(--text-primary);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.darkColorToken-BeXlX6 {
|
|
105
|
+
--tooltip-body-background: var(--invert-background);
|
|
106
|
+
--tooltip-close-icon-color: var(--invert-text);
|
|
107
|
+
}
|
|
108
|
+
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ValueOf } from '../../common/types';
|
|
2
1
|
export declare const ArrowAlign: {
|
|
3
2
|
readonly TOP_CENTER: "top_center";
|
|
4
3
|
readonly TOP_LEFT: "top_left";
|
|
@@ -13,4 +12,3 @@ export declare const ArrowAlign: {
|
|
|
13
12
|
readonly TOP_RIGHT: "top_right";
|
|
14
13
|
readonly BOTTOM_RIGHT: "bottom_right";
|
|
15
14
|
};
|
|
16
|
-
export type ArrowAlignValue = ValueOf<typeof ArrowAlign>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ArrowAlignValue } from './consts';
|
|
2
1
|
import { type TooltipProps } from './Tooltip';
|
|
2
|
+
import type { TArrowAlignValue } from './types';
|
|
3
3
|
interface ReturnObj {
|
|
4
4
|
correctedOffset?: [number, number];
|
|
5
5
|
cssCorrectedArrowAlign?: string;
|
|
@@ -8,7 +8,7 @@ interface Options {
|
|
|
8
8
|
offset: TooltipProps['offset'];
|
|
9
9
|
placement: TooltipProps['placement'];
|
|
10
10
|
styles: Record<string, string>;
|
|
11
|
-
arrowAlign:
|
|
11
|
+
arrowAlign: TArrowAlignValue;
|
|
12
12
|
}
|
|
13
13
|
export declare const useCorrectedArrowStyles: ({ offset, placement, styles, arrowAlign, }: Options) => ReturnObj;
|
|
14
14
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type IHasTestId } from '../../common';
|
|
2
|
+
import { type Viewer } from './types';
|
|
3
|
+
export type ViewersStackProps = {
|
|
4
|
+
viewers: Viewer[];
|
|
5
|
+
maxVisibleCount?: number;
|
|
6
|
+
label?: string;
|
|
7
|
+
animated?: boolean;
|
|
8
|
+
tooltipZIndex?: number;
|
|
9
|
+
} & IHasTestId;
|
|
10
|
+
export declare const ViewersStack: {
|
|
11
|
+
({ viewers, label, testId, animated, maxVisibleCount, tooltipZIndex, }: ViewersStackProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { Text } from "../Text/Text.js";
|
|
4
|
+
import { Avatar } from "./components/Avatar/Avatar.js";
|
|
5
|
+
import { Counter } from "./components/Counter/Counter.js";
|
|
6
|
+
import { ViewersTooltip } from "./components/ViewersTooltip/ViewersTooltip.js";
|
|
7
|
+
import { COLORS, Size } from "./types.js";
|
|
8
|
+
import { getColorById, getScaledItemZIndexStyle } from "./utils.js";
|
|
9
|
+
import ViewersStack_module from "./ViewersStack.module.js";
|
|
10
|
+
const DEFAULT_MAX_VISIBLE_COUNT = 3;
|
|
11
|
+
const DEFAULT_TOOLTIP_Z_INDEX = 10;
|
|
12
|
+
const ViewersStack = ({ viewers, label, testId, animated = true, maxVisibleCount = DEFAULT_MAX_VISIBLE_COUNT, tooltipZIndex = DEFAULT_TOOLTIP_Z_INDEX })=>{
|
|
13
|
+
const viewersLength = viewers.length;
|
|
14
|
+
const hasOverflow = viewersLength > maxVisibleCount;
|
|
15
|
+
const [visibleViewers, overflowedViewers] = useMemo(()=>{
|
|
16
|
+
const coloredViewers = viewers.map((viewer)=>({
|
|
17
|
+
...viewer,
|
|
18
|
+
color: getColorById(viewer.id, COLORS)
|
|
19
|
+
}));
|
|
20
|
+
const visibleViewers = hasOverflow ? coloredViewers.slice(0, maxVisibleCount - 1) : coloredViewers;
|
|
21
|
+
const overflowedViewers = hasOverflow ? coloredViewers.slice(maxVisibleCount - 1) : [];
|
|
22
|
+
return [
|
|
23
|
+
visibleViewers,
|
|
24
|
+
overflowedViewers
|
|
25
|
+
];
|
|
26
|
+
}, [
|
|
27
|
+
hasOverflow,
|
|
28
|
+
maxVisibleCount,
|
|
29
|
+
viewers
|
|
30
|
+
]);
|
|
31
|
+
if (!viewersLength) return null;
|
|
32
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
33
|
+
className: ViewersStack_module.wrapper,
|
|
34
|
+
"data-test-id": testId,
|
|
35
|
+
children: [
|
|
36
|
+
/*#__PURE__*/ jsxs("div", {
|
|
37
|
+
className: ViewersStack_module.container,
|
|
38
|
+
"data-test-id": "avatars",
|
|
39
|
+
style: getScaledItemZIndexStyle(tooltipZIndex),
|
|
40
|
+
children: [
|
|
41
|
+
visibleViewers.map((viewer, index)=>/*#__PURE__*/ jsx(ViewersTooltip, {
|
|
42
|
+
viewers: viewer,
|
|
43
|
+
testId: testId,
|
|
44
|
+
zIndex: tooltipZIndex,
|
|
45
|
+
children: /*#__PURE__*/ jsx(Avatar, {
|
|
46
|
+
label: viewer.label,
|
|
47
|
+
image: viewer.image,
|
|
48
|
+
color: viewer.color,
|
|
49
|
+
size: Size.M,
|
|
50
|
+
bordered: true,
|
|
51
|
+
animated: animated,
|
|
52
|
+
className: ViewersStack_module.avatarsItem,
|
|
53
|
+
testId: `${viewer.id}-avatar`
|
|
54
|
+
})
|
|
55
|
+
}, `${viewer.id}-${index}`)),
|
|
56
|
+
hasOverflow && /*#__PURE__*/ jsx(ViewersTooltip, {
|
|
57
|
+
viewers: overflowedViewers,
|
|
58
|
+
testId: testId,
|
|
59
|
+
zIndex: tooltipZIndex,
|
|
60
|
+
children: /*#__PURE__*/ jsx(Counter, {
|
|
61
|
+
count: overflowedViewers.length,
|
|
62
|
+
className: ViewersStack_module.avatarsItem,
|
|
63
|
+
animated: animated
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
}),
|
|
68
|
+
label && /*#__PURE__*/ jsx(Text.Body, {
|
|
69
|
+
as: "label",
|
|
70
|
+
testId: "label",
|
|
71
|
+
children: label
|
|
72
|
+
})
|
|
73
|
+
]
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
ViewersStack.displayName = 'ViewersStack';
|
|
77
|
+
export { ViewersStack };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.wrapper-HKt5AT {
|
|
2
|
+
align-items: center;
|
|
3
|
+
gap: 12px;
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.container-Lfw1tF {
|
|
8
|
+
align-items: center;
|
|
9
|
+
height: 20px;
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
position: relative;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.avatarsItem-hZ6Air {
|
|
15
|
+
cursor: default;
|
|
16
|
+
margin-right: -7px;
|
|
17
|
+
}
|
|
18
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
import { type IHasTestId } from '../../../../common';
|
|
3
|
+
import { type ColoredViewer, type ColorValue, type SizeValue } from '../../types';
|
|
4
|
+
export type AvatarProps = Omit<ColoredViewer, 'id'> & HTMLAttributes<HTMLDivElement> & IHasTestId & {
|
|
5
|
+
size: SizeValue;
|
|
6
|
+
bordered?: boolean;
|
|
7
|
+
color?: ColorValue;
|
|
8
|
+
animated?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const Avatar: {
|
|
11
|
+
({ image, label, size, bordered, color, className, testId, animated, ...restProps }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { cn } from "../../../../common/index.js";
|
|
4
|
+
import { Text, TextColor, TextVariant } from "../../../Text/Text.js";
|
|
5
|
+
import { Size } from "../../types.js";
|
|
6
|
+
import common_module from "../common.module.js";
|
|
7
|
+
import Avatar_module from "./Avatar.module.js";
|
|
8
|
+
const Avatar = ({ image, label, size, bordered, color, className, testId, animated, ...restProps })=>{
|
|
9
|
+
const containerClassName = cn(Avatar_module.container, size === Size.M ? Avatar_module.sizeM : Avatar_module.sizeL, color && Avatar_module[color], bordered && Avatar_module.bordered, animated && common_module.animated);
|
|
10
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
11
|
+
className: cn(common_module.wrapper, className),
|
|
12
|
+
children: [
|
|
13
|
+
/*#__PURE__*/ jsx("div", {
|
|
14
|
+
...restProps,
|
|
15
|
+
className: containerClassName,
|
|
16
|
+
"data-test-id": testId,
|
|
17
|
+
children: image && /*#__PURE__*/ jsx("img", {
|
|
18
|
+
"data-test-id": "image",
|
|
19
|
+
src: image,
|
|
20
|
+
alt: label,
|
|
21
|
+
className: Avatar_module.image
|
|
22
|
+
})
|
|
23
|
+
}),
|
|
24
|
+
!image && /*#__PURE__*/ jsx(Text, {
|
|
25
|
+
variant: size === Size.M ? TextVariant.caption : TextVariant.body,
|
|
26
|
+
colorToken: TextColor.invert,
|
|
27
|
+
className: cn(common_module.text),
|
|
28
|
+
"data-test-id": "letter",
|
|
29
|
+
children: label.charAt(0).toUpperCase()
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Avatar.displayName = 'Avatar';
|
|
35
|
+
export { Avatar };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./Avatar_module.css";
|
|
2
|
+
const Avatar_module = {
|
|
3
|
+
container: "container-cGXPpK",
|
|
4
|
+
sizeM: "sizeM-oMfsK4",
|
|
5
|
+
sizeL: "sizeL-JE5CbR",
|
|
6
|
+
green: "green-ZqE4pT",
|
|
7
|
+
yellow: "yellow-a_8Hj4",
|
|
8
|
+
pink: "pink-RJTX3n",
|
|
9
|
+
violet: "violet-E_1yLC",
|
|
10
|
+
bordered: "bordered-ZIj3OP",
|
|
11
|
+
image: "image-pj5soj"
|
|
12
|
+
};
|
|
13
|
+
export default Avatar_module;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.container-cGXPpK {
|
|
2
|
+
width: var(--avatar-diameter);
|
|
3
|
+
height: var(--avatar-diameter);
|
|
4
|
+
min-width: var(--avatar-diameter);
|
|
5
|
+
min-height: var(--avatar-diameter);
|
|
6
|
+
background-color: var(--border-normal);
|
|
7
|
+
border-radius: 50%;
|
|
8
|
+
position: relative;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.sizeM-oMfsK4 {
|
|
13
|
+
--avatar-diameter: 20px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.sizeL-JE5CbR {
|
|
17
|
+
--avatar-diameter: 32px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.green-ZqE4pT {
|
|
21
|
+
background-color: var(--viewers-stack-green);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.yellow-a_8Hj4 {
|
|
25
|
+
background-color: var(--viewers-stack-yellow);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.pink-RJTX3n {
|
|
29
|
+
background-color: var(--viewers-stack-pink);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.violet-E_1yLC {
|
|
33
|
+
background-color: var(--viewers-stack-violet);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.bordered-ZIj3OP {
|
|
37
|
+
border: 1px solid var(--border-normal);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.image-pj5soj {
|
|
41
|
+
object-fit: cover;
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 100%;
|
|
44
|
+
}
|
|
45
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
export type CounterProps = HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
count: number;
|
|
4
|
+
animated?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const Counter: {
|
|
7
|
+
({ count, animated, className, ...restProps }: CounterProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { cn } from "../../../../common/index.js";
|
|
4
|
+
import { Text, TextColor } from "../../../Text/Text.js";
|
|
5
|
+
import common_module from "../common.module.js";
|
|
6
|
+
import Counter_module from "./Counter.module.js";
|
|
7
|
+
const Counter = ({ count, animated, className, ...restProps })=>{
|
|
8
|
+
const label = `+${count}`;
|
|
9
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
10
|
+
...restProps,
|
|
11
|
+
className: cn(common_module.wrapper, className),
|
|
12
|
+
children: [
|
|
13
|
+
/*#__PURE__*/ jsx("div", {
|
|
14
|
+
className: cn(Counter_module.container, animated && common_module.animated),
|
|
15
|
+
"data-text": label
|
|
16
|
+
}),
|
|
17
|
+
/*#__PURE__*/ jsx(Text.Caption, {
|
|
18
|
+
testId: "counter",
|
|
19
|
+
colorToken: TextColor.primary,
|
|
20
|
+
className: common_module.text,
|
|
21
|
+
children: label
|
|
22
|
+
})
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
Counter.displayName = 'Counter';
|
|
27
|
+
export { Counter };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.container-AMsfBs {
|
|
2
|
+
background-color: var(--border-normal);
|
|
3
|
+
border: 1px solid var(--border-normal);
|
|
4
|
+
border-radius: 14px;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
height: 20px;
|
|
8
|
+
padding: 0 4px;
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
position: relative;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.container-AMsfBs:after {
|
|
14
|
+
content: attr(data-text);
|
|
15
|
+
visibility: hidden;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
font-size: 12px;
|
|
18
|
+
display: block;
|
|
19
|
+
}
|
|
20
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type PropsWithChildren } from 'react';
|
|
2
|
+
import { type TooltipProps } from '../../../Tooltip/Tooltip';
|
|
3
|
+
import type { ColoredViewer } from '../../types';
|
|
4
|
+
type OmittedTooltipProps = 'visible' | 'onVisibleChange' | 'overlay' | 'trigger' | 'hideCloseButton' | 'placement' | 'offset';
|
|
5
|
+
type ViewersTooltipCoreProps = Omit<TooltipProps, OmittedTooltipProps> & {
|
|
6
|
+
viewers: ColoredViewer | ColoredViewer[];
|
|
7
|
+
placement?: TooltipProps['placement'];
|
|
8
|
+
offset?: TooltipProps['offset'];
|
|
9
|
+
};
|
|
10
|
+
export type ViewersTooltipProps = PropsWithChildren<ViewersTooltipCoreProps>;
|
|
11
|
+
export declare const ViewersTooltip: {
|
|
12
|
+
({ children, viewers, overlayClassName, placement, offset, testId, ...restProps }: ViewersTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { cn } from "../../../../common/index.js";
|
|
4
|
+
import { Placement, Tooltip } from "../../../Tooltip/Tooltip.js";
|
|
5
|
+
import { ViewersTooltipOverlayItem } from "../ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.js";
|
|
6
|
+
import ViewersTooltip_module from "./ViewersTooltip.module.js";
|
|
7
|
+
const ViewersTooltip = ({ children, viewers, overlayClassName, placement = Placement.BOTTOM_LEFT, offset = [
|
|
8
|
+
-10,
|
|
9
|
+
0
|
|
10
|
+
], testId, ...restProps })=>{
|
|
11
|
+
const [visible, setVisible] = useState(false);
|
|
12
|
+
const list = useMemo(()=>{
|
|
13
|
+
if (Array.isArray(viewers)) return viewers;
|
|
14
|
+
return [
|
|
15
|
+
viewers
|
|
16
|
+
];
|
|
17
|
+
}, [
|
|
18
|
+
viewers
|
|
19
|
+
]);
|
|
20
|
+
return /*#__PURE__*/ jsx(Tooltip, {
|
|
21
|
+
...restProps,
|
|
22
|
+
trigger: "hover",
|
|
23
|
+
visible: visible,
|
|
24
|
+
onVisibleChange: setVisible,
|
|
25
|
+
offset: offset,
|
|
26
|
+
placement: placement,
|
|
27
|
+
testId: testId,
|
|
28
|
+
hideCloseButton: true,
|
|
29
|
+
overlayClassName: cn(ViewersTooltip_module.overlay, overlayClassName),
|
|
30
|
+
overlay: /*#__PURE__*/ jsx("div", {
|
|
31
|
+
className: ViewersTooltip_module.overlayItems,
|
|
32
|
+
"data-test-id": "overlay-items",
|
|
33
|
+
children: list.map((viewer, index)=>/*#__PURE__*/ jsx(ViewersTooltipOverlayItem, {
|
|
34
|
+
...viewer
|
|
35
|
+
}, `${viewer.id}-${index}`))
|
|
36
|
+
}),
|
|
37
|
+
children: children
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
ViewersTooltip.displayName = 'ViewersTooltip';
|
|
41
|
+
export { ViewersTooltip };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ColoredViewer } from '../../types';
|
|
2
|
+
export declare const isOverflowed: <T extends HTMLElement>(element: T) => boolean;
|
|
3
|
+
export declare const ViewersTooltipOverlayItem: {
|
|
4
|
+
({ id, label, image, color, }: ColoredViewer): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useState } from "react";
|
|
3
|
+
import { cn } from "../../../../common/index.js";
|
|
4
|
+
import { Hint } from "../../../Hint/Hint.js";
|
|
5
|
+
import { Text, TextColor } from "../../../Text/Text.js";
|
|
6
|
+
import { Placement } from "../../../Tooltip/Tooltip.js";
|
|
7
|
+
import { Size } from "../../types.js";
|
|
8
|
+
import { Avatar } from "../Avatar/Avatar.js";
|
|
9
|
+
import ViewersTooltipOverlayItem_module from "./ViewersTooltipOverlayItem.module.js";
|
|
10
|
+
const isOverflowed = (element)=>element.scrollWidth > element.clientWidth;
|
|
11
|
+
const ViewersTooltipOverlayItem = ({ id, label, image, color })=>{
|
|
12
|
+
const labelRef = useRef(null);
|
|
13
|
+
const [hintVisibility, setHintVisibility] = useState(false);
|
|
14
|
+
const handleVisibleChange = (visible)=>{
|
|
15
|
+
if (!labelRef.current) return;
|
|
16
|
+
if (visible && isOverflowed(labelRef.current)) setHintVisibility(true);
|
|
17
|
+
if (!visible) setHintVisibility(false);
|
|
18
|
+
};
|
|
19
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
20
|
+
className: ViewersTooltipOverlayItem_module.container,
|
|
21
|
+
"data-test-id": "overlay-item",
|
|
22
|
+
children: [
|
|
23
|
+
/*#__PURE__*/ jsx(Avatar, {
|
|
24
|
+
size: Size.L,
|
|
25
|
+
color: color,
|
|
26
|
+
image: image,
|
|
27
|
+
label: label,
|
|
28
|
+
testId: `${id}-avatar`
|
|
29
|
+
}),
|
|
30
|
+
/*#__PURE__*/ jsx(Hint, {
|
|
31
|
+
mouseEnterDelay: 0.3,
|
|
32
|
+
mouseLeaveDelay: 0,
|
|
33
|
+
zIndex: 100,
|
|
34
|
+
visible: hintVisibility,
|
|
35
|
+
placement: Placement.BOTTOM,
|
|
36
|
+
onVisibleChange: handleVisibleChange,
|
|
37
|
+
overlay: /*#__PURE__*/ jsx(Text.Body, {
|
|
38
|
+
testId: `${id}-label-hint-text`,
|
|
39
|
+
colorToken: TextColor.invert,
|
|
40
|
+
children: label
|
|
41
|
+
}),
|
|
42
|
+
children: /*#__PURE__*/ jsx(Text.Body, {
|
|
43
|
+
className: cn(ViewersTooltipOverlayItem_module.ellipsis, ViewersTooltipOverlayItem_module.paddingRight),
|
|
44
|
+
ref: labelRef,
|
|
45
|
+
testId: `${id}-label`,
|
|
46
|
+
children: label
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
ViewersTooltipOverlayItem.displayName = 'ViewersTooltipOverlayItem';
|
|
53
|
+
export { ViewersTooltipOverlayItem, isOverflowed };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.container-o_NQY9 {
|
|
2
|
+
cursor: default;
|
|
3
|
+
justify-content: start;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 8px;
|
|
6
|
+
display: flex;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.ellipsis-owqt58 {
|
|
10
|
+
text-overflow: ellipsis;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.paddingRight-aaAaAO {
|
|
16
|
+
padding-right: 8px;
|
|
17
|
+
}
|
|
18
|
+
|