@cloud-ru/uikit-product-claudia 1.6.2 → 1.6.3
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/CHANGELOG.md +11 -0
- package/dist/cjs/components/ButtonClaudia/ButtonClaudia.d.ts +6 -0
- package/dist/cjs/components/ButtonClaudia/ButtonClaudia.js +29 -0
- package/dist/cjs/components/ButtonClaudia/constants.d.ts +25 -0
- package/dist/cjs/components/ButtonClaudia/constants.js +28 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/ButtonPrivate.d.ts +14 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/ButtonPrivate.js +55 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/constants.d.ts +10 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/constants.js +15 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/index.d.ts +1 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/index.js +17 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/styles.module.css +36 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/utils.d.ts +11 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/ButtonPrivate/utils.js +54 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/index.d.ts +1 -0
- package/dist/cjs/components/ButtonClaudia/helperComponents/index.js +17 -0
- package/dist/cjs/components/ButtonClaudia/index.d.ts +1 -0
- package/dist/cjs/components/ButtonClaudia/index.js +17 -0
- package/dist/cjs/components/ButtonClaudia/styles.module.css +232 -0
- package/dist/cjs/components/ButtonClaudia/types.d.ts +48 -0
- package/dist/cjs/components/ButtonClaudia/types.js +2 -0
- package/dist/cjs/components/ButtonClaudia/utils.d.ts +12 -0
- package/dist/cjs/components/ButtonClaudia/utils.js +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/ButtonGigaFunction.d.ts +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/ButtonGigaFunction.js +29 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/index.d.ts +1 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/index.js +17 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/styles.module.css +300 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/types.d.ts +28 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/types.js +2 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/utils.d.ts +13 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaFunction/utils.js +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/ButtonGigaMama.d.ts +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/ButtonGigaMama.js +29 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/index.d.ts +1 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/index.js +17 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/styles.module.css +131 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/utils.d.ts +12 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaMama/utils.js +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/ButtonGigaOutline.d.ts +6 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/ButtonGigaOutline.js +29 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/index.d.ts +1 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/index.js +17 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/styles.module.css +417 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/types.d.ts +48 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/types.js +2 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/utils.d.ts +13 -0
- package/dist/cjs/components/ButtonGiga/ButtonGigaOutline/utils.js +6 -0
- package/dist/cjs/components/ButtonGiga/constants.d.ts +25 -0
- package/dist/cjs/components/ButtonGiga/constants.js +28 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/ButtonPrivate.d.ts +14 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/ButtonPrivate.js +55 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/constants.d.ts +9 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/constants.js +15 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/index.d.ts +1 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/index.js +17 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/styles.module.css +36 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/types.d.ts +48 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/types.js +2 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/utils.d.ts +11 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/ButtonPrivate/utils.js +54 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/index.d.ts +1 -0
- package/dist/cjs/components/ButtonGiga/helperComponents/index.js +17 -0
- package/dist/cjs/components/ButtonGiga/index.d.ts +3 -0
- package/dist/cjs/components/ButtonGiga/index.js +19 -0
- package/dist/cjs/components/ButtonGiga/types.d.ts +28 -0
- package/dist/cjs/components/ButtonGiga/types.js +2 -0
- package/dist/cjs/components/ChatStatusAnnouncement/ChatStatusAnnouncement.d.ts +2 -0
- package/dist/cjs/components/ChatStatusAnnouncement/ChatStatusAnnouncement.js +74 -0
- package/dist/cjs/components/ChatStatusAnnouncement/constants.d.ts +1 -0
- package/dist/cjs/components/ChatStatusAnnouncement/constants.js +4 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.d.ts +10 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.js +14 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/AlertButton/index.d.ts +1 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/AlertButton/index.js +17 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/AlertButton/styles.module.css +20 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.d.ts +7 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.js +12 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/TextContent/index.d.ts +1 -0
- package/dist/cjs/components/ChatStatusAnnouncement/helperComponents/TextContent/index.js +17 -0
- package/dist/cjs/components/ChatStatusAnnouncement/index.d.ts +1 -0
- package/dist/cjs/components/ChatStatusAnnouncement/index.js +17 -0
- package/dist/cjs/components/ChatStatusAnnouncement/styled.module.css +62 -0
- package/dist/cjs/components/ChatStatusAnnouncement/types.d.ts +14 -0
- package/dist/cjs/components/ChatStatusAnnouncement/types.js +2 -0
- package/dist/cjs/components/ChatStatusAnnouncement/utils/index.d.ts +5 -0
- package/dist/cjs/components/ChatStatusAnnouncement/utils/index.js +44 -0
- package/dist/cjs/components/IconGiga/IconGiga.d.ts +8 -0
- package/dist/cjs/components/IconGiga/IconGiga.js +29 -0
- package/dist/cjs/components/IconGiga/constants.d.ts +13 -0
- package/dist/cjs/components/IconGiga/constants.js +22 -0
- package/dist/cjs/components/IconGiga/index.d.ts +1 -0
- package/dist/cjs/components/IconGiga/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/RecommendPanel.d.ts +14 -0
- package/dist/cjs/components/RecommendPannel/RecommendPanel.js +74 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/Chip/Chip.d.ts +14 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/Chip/Chip.js +23 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/Chip/index.d.ts +1 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/Chip/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/Chip/styles.module.css +39 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/ClaudiaChip/ClaudiaChip.d.ts +11 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/ClaudiaChip/ClaudiaChip.js +18 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/ClaudiaChip/index.d.ts +1 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/ClaudiaChip/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/CloseChip/CloseChip.d.ts +12 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/CloseChip/CloseChip.js +37 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/CloseChip/index.d.ts +1 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/CloseChip/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/CloseChip/styles.module.css +64 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/DropdownChip/DropdownChip.d.ts +11 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/DropdownChip/DropdownChip.js +38 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/DropdownChip/index.d.ts +1 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/DropdownChip/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/helperComponents/DropdownChip/styles.module.css +49 -0
- package/dist/cjs/components/RecommendPannel/hooks/index.d.ts +2 -0
- package/dist/cjs/components/RecommendPannel/hooks/index.js +18 -0
- package/dist/cjs/components/RecommendPannel/index.d.ts +1 -0
- package/dist/cjs/components/RecommendPannel/index.js +17 -0
- package/dist/cjs/components/RecommendPannel/styles.module.css +4 -0
- package/dist/cjs/components/RecommendPannel/types.d.ts +16 -0
- package/dist/cjs/components/RecommendPannel/types.js +11 -0
- package/dist/cjs/components/RecommendPannel/utils/gitVisibleChipsCount.d.ts +10 -0
- package/dist/cjs/components/RecommendPannel/utils/gitVisibleChipsCount.js +39 -0
- package/dist/cjs/components/SshField/SshField.d.ts +12 -0
- package/dist/cjs/components/SshField/SshField.js +137 -0
- package/dist/cjs/components/SshField/components/MobileFieldAi/MobileFieldAi.d.ts +5 -0
- package/dist/cjs/components/SshField/components/MobileFieldAi/MobileFieldAi.js +35 -0
- package/dist/cjs/components/SshField/components/MobileFieldAi/index.d.ts +1 -0
- package/dist/cjs/components/SshField/components/MobileFieldAi/index.js +17 -0
- package/dist/cjs/components/SshField/components/MobileFieldAi/styles.module.css +86 -0
- package/dist/cjs/components/SshField/components/TextArea/TextArea.d.ts +39 -0
- package/dist/cjs/components/SshField/components/TextArea/TextArea.js +33 -0
- package/dist/cjs/components/SshField/components/TextArea/index.d.ts +1 -0
- package/dist/cjs/components/SshField/components/TextArea/index.js +17 -0
- package/dist/cjs/components/SshField/components/TextArea/styles.module.css +32 -0
- package/dist/cjs/components/SshField/helperComponents/DropZoneContent/DropZoneContent.d.ts +1 -0
- package/dist/cjs/components/SshField/helperComponents/DropZoneContent/DropZoneContent.js +14 -0
- package/dist/cjs/components/SshField/helperComponents/DropZoneContent/index.d.ts +1 -0
- package/dist/cjs/components/SshField/helperComponents/DropZoneContent/index.js +17 -0
- package/dist/cjs/components/SshField/helperComponents/DropZoneContent/styles.module.css +15 -0
- package/dist/cjs/components/SshField/helperComponents/FieldSubmitButton/FieldSubmitButton.d.ts +10 -0
- package/dist/cjs/components/SshField/helperComponents/FieldSubmitButton/FieldSubmitButton.js +15 -0
- package/dist/cjs/components/SshField/helperComponents/FieldSubmitButton/index.d.ts +1 -0
- package/dist/cjs/components/SshField/helperComponents/FieldSubmitButton/index.js +17 -0
- package/dist/cjs/components/SshField/helperComponents/TextAreaActionsFooter/TextAreaActionsFooter.d.ts +7 -0
- package/dist/cjs/components/SshField/helperComponents/TextAreaActionsFooter/TextAreaActionsFooter.js +12 -0
- package/dist/cjs/components/SshField/helperComponents/TextAreaActionsFooter/index.d.ts +1 -0
- package/dist/cjs/components/SshField/helperComponents/TextAreaActionsFooter/index.js +17 -0
- package/dist/cjs/components/SshField/helperComponents/TextAreaActionsFooter/styles.module.css +21 -0
- package/dist/cjs/components/SshField/index.d.ts +1 -0
- package/dist/cjs/components/SshField/index.js +17 -0
- package/dist/cjs/components/SshField/styles.module.css +46 -0
- package/dist/cjs/components/SshField/utils/handleFileError.d.ts +2 -0
- package/dist/cjs/components/SshField/utils/handleFileError.js +32 -0
- package/dist/cjs/components/SshField/utils/isTouchDevice.d.ts +2 -0
- package/dist/cjs/components/SshField/utils/isTouchDevice.js +6 -0
- package/dist/cjs/components/SshField/utils/readFileContent.d.ts +1 -0
- package/dist/cjs/components/SshField/utils/readFileContent.js +24 -0
- package/dist/cjs/components/SshField/utils/validateSSHKey.d.ts +3 -0
- package/dist/cjs/components/SshField/utils/validateSSHKey.js +66 -0
- package/dist/cjs/components/index.d.ts +6 -0
- package/dist/cjs/components/index.js +22 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/esm/components/ButtonClaudia/ButtonClaudia.d.ts +6 -0
- package/dist/esm/components/ButtonClaudia/ButtonClaudia.js +23 -0
- package/dist/esm/components/ButtonClaudia/constants.d.ts +25 -0
- package/dist/esm/components/ButtonClaudia/constants.js +25 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/ButtonPrivate.d.ts +14 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/ButtonPrivate.js +49 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/constants.d.ts +10 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/constants.js +12 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/index.d.ts +1 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/index.js +1 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/styles.module.css +36 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/utils.d.ts +11 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/ButtonPrivate/utils.js +48 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/index.d.ts +1 -0
- package/dist/esm/components/ButtonClaudia/helperComponents/index.js +1 -0
- package/dist/esm/components/ButtonClaudia/index.d.ts +1 -0
- package/dist/esm/components/ButtonClaudia/index.js +1 -0
- package/dist/esm/components/ButtonClaudia/styles.module.css +232 -0
- package/dist/esm/components/ButtonClaudia/types.d.ts +48 -0
- package/dist/esm/components/ButtonClaudia/types.js +1 -0
- package/dist/esm/components/ButtonClaudia/utils.d.ts +12 -0
- package/dist/esm/components/ButtonClaudia/utils.js +3 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/ButtonGigaFunction.d.ts +6 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/ButtonGigaFunction.js +23 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/index.d.ts +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/index.js +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/styles.module.css +300 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/types.d.ts +28 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/types.js +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/utils.d.ts +13 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaFunction/utils.js +3 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/ButtonGigaMama.d.ts +6 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/ButtonGigaMama.js +23 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/index.d.ts +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/index.js +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/styles.module.css +131 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/utils.d.ts +12 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaMama/utils.js +3 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/ButtonGigaOutline.d.ts +6 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/ButtonGigaOutline.js +23 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/index.d.ts +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/index.js +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/styles.module.css +417 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/types.d.ts +48 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/types.js +1 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/utils.d.ts +13 -0
- package/dist/esm/components/ButtonGiga/ButtonGigaOutline/utils.js +3 -0
- package/dist/esm/components/ButtonGiga/constants.d.ts +25 -0
- package/dist/esm/components/ButtonGiga/constants.js +25 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/ButtonPrivate.d.ts +14 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/ButtonPrivate.js +49 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/constants.d.ts +9 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/constants.js +12 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/index.d.ts +1 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/index.js +1 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/styles.module.css +36 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/types.d.ts +48 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/types.js +1 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/utils.d.ts +11 -0
- package/dist/esm/components/ButtonGiga/helperComponents/ButtonPrivate/utils.js +48 -0
- package/dist/esm/components/ButtonGiga/helperComponents/index.d.ts +1 -0
- package/dist/esm/components/ButtonGiga/helperComponents/index.js +1 -0
- package/dist/esm/components/ButtonGiga/index.d.ts +3 -0
- package/dist/esm/components/ButtonGiga/index.js +3 -0
- package/dist/esm/components/ButtonGiga/types.d.ts +28 -0
- package/dist/esm/components/ButtonGiga/types.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/ChatStatusAnnouncement.d.ts +2 -0
- package/dist/esm/components/ChatStatusAnnouncement/ChatStatusAnnouncement.js +68 -0
- package/dist/esm/components/ChatStatusAnnouncement/constants.d.ts +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/constants.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.d.ts +10 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.js +8 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/index.d.ts +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/index.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/styles.module.css +20 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.d.ts +7 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.js +9 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/index.d.ts +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/index.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/index.d.ts +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/index.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/styled.module.css +62 -0
- package/dist/esm/components/ChatStatusAnnouncement/types.d.ts +14 -0
- package/dist/esm/components/ChatStatusAnnouncement/types.js +1 -0
- package/dist/esm/components/ChatStatusAnnouncement/utils/index.d.ts +5 -0
- package/dist/esm/components/ChatStatusAnnouncement/utils/index.js +38 -0
- package/dist/esm/components/IconGiga/IconGiga.d.ts +8 -0
- package/dist/esm/components/IconGiga/IconGiga.js +26 -0
- package/dist/esm/components/IconGiga/constants.d.ts +13 -0
- package/dist/esm/components/IconGiga/constants.js +19 -0
- package/dist/esm/components/IconGiga/index.d.ts +1 -0
- package/dist/esm/components/IconGiga/index.js +1 -0
- package/dist/esm/components/RecommendPannel/RecommendPanel.d.ts +14 -0
- package/dist/esm/components/RecommendPannel/RecommendPanel.js +68 -0
- package/dist/esm/components/RecommendPannel/helperComponents/Chip/Chip.d.ts +14 -0
- package/dist/esm/components/RecommendPannel/helperComponents/Chip/Chip.js +17 -0
- package/dist/esm/components/RecommendPannel/helperComponents/Chip/index.d.ts +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/Chip/index.js +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/Chip/styles.module.css +39 -0
- package/dist/esm/components/RecommendPannel/helperComponents/ClaudiaChip/ClaudiaChip.d.ts +11 -0
- package/dist/esm/components/RecommendPannel/helperComponents/ClaudiaChip/ClaudiaChip.js +15 -0
- package/dist/esm/components/RecommendPannel/helperComponents/ClaudiaChip/index.d.ts +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/ClaudiaChip/index.js +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/CloseChip/CloseChip.d.ts +12 -0
- package/dist/esm/components/RecommendPannel/helperComponents/CloseChip/CloseChip.js +31 -0
- package/dist/esm/components/RecommendPannel/helperComponents/CloseChip/index.d.ts +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/CloseChip/index.js +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/CloseChip/styles.module.css +64 -0
- package/dist/esm/components/RecommendPannel/helperComponents/DropdownChip/DropdownChip.d.ts +11 -0
- package/dist/esm/components/RecommendPannel/helperComponents/DropdownChip/DropdownChip.js +32 -0
- package/dist/esm/components/RecommendPannel/helperComponents/DropdownChip/index.d.ts +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/DropdownChip/index.js +1 -0
- package/dist/esm/components/RecommendPannel/helperComponents/DropdownChip/styles.module.css +49 -0
- package/dist/esm/components/RecommendPannel/hooks/index.d.ts +2 -0
- package/dist/esm/components/RecommendPannel/hooks/index.js +14 -0
- package/dist/esm/components/RecommendPannel/index.d.ts +1 -0
- package/dist/esm/components/RecommendPannel/index.js +1 -0
- package/dist/esm/components/RecommendPannel/styles.module.css +4 -0
- package/dist/esm/components/RecommendPannel/types.d.ts +16 -0
- package/dist/esm/components/RecommendPannel/types.js +8 -0
- package/dist/esm/components/RecommendPannel/utils/gitVisibleChipsCount.d.ts +10 -0
- package/dist/esm/components/RecommendPannel/utils/gitVisibleChipsCount.js +35 -0
- package/dist/esm/components/SshField/SshField.d.ts +12 -0
- package/dist/esm/components/SshField/SshField.js +131 -0
- package/dist/esm/components/SshField/components/MobileFieldAi/MobileFieldAi.d.ts +5 -0
- package/dist/esm/components/SshField/components/MobileFieldAi/MobileFieldAi.js +29 -0
- package/dist/esm/components/SshField/components/MobileFieldAi/index.d.ts +1 -0
- package/dist/esm/components/SshField/components/MobileFieldAi/index.js +1 -0
- package/dist/esm/components/SshField/components/MobileFieldAi/styles.module.css +86 -0
- package/dist/esm/components/SshField/components/TextArea/TextArea.d.ts +39 -0
- package/dist/esm/components/SshField/components/TextArea/TextArea.js +27 -0
- package/dist/esm/components/SshField/components/TextArea/index.d.ts +1 -0
- package/dist/esm/components/SshField/components/TextArea/index.js +1 -0
- package/dist/esm/components/SshField/components/TextArea/styles.module.css +32 -0
- package/dist/esm/components/SshField/helperComponents/DropZoneContent/DropZoneContent.d.ts +1 -0
- package/dist/esm/components/SshField/helperComponents/DropZoneContent/DropZoneContent.js +8 -0
- package/dist/esm/components/SshField/helperComponents/DropZoneContent/index.d.ts +1 -0
- package/dist/esm/components/SshField/helperComponents/DropZoneContent/index.js +1 -0
- package/dist/esm/components/SshField/helperComponents/DropZoneContent/styles.module.css +15 -0
- package/dist/esm/components/SshField/helperComponents/FieldSubmitButton/FieldSubmitButton.d.ts +10 -0
- package/dist/esm/components/SshField/helperComponents/FieldSubmitButton/FieldSubmitButton.js +12 -0
- package/dist/esm/components/SshField/helperComponents/FieldSubmitButton/index.d.ts +1 -0
- package/dist/esm/components/SshField/helperComponents/FieldSubmitButton/index.js +1 -0
- package/dist/esm/components/SshField/helperComponents/TextAreaActionsFooter/TextAreaActionsFooter.d.ts +7 -0
- package/dist/esm/components/SshField/helperComponents/TextAreaActionsFooter/TextAreaActionsFooter.js +6 -0
- package/dist/esm/components/SshField/helperComponents/TextAreaActionsFooter/index.d.ts +1 -0
- package/dist/esm/components/SshField/helperComponents/TextAreaActionsFooter/index.js +1 -0
- package/dist/esm/components/SshField/helperComponents/TextAreaActionsFooter/styles.module.css +21 -0
- package/dist/esm/components/SshField/index.d.ts +1 -0
- package/dist/esm/components/SshField/index.js +1 -0
- package/dist/esm/components/SshField/styles.module.css +46 -0
- package/dist/esm/components/SshField/utils/handleFileError.d.ts +2 -0
- package/dist/esm/components/SshField/utils/handleFileError.js +28 -0
- package/dist/esm/components/SshField/utils/isTouchDevice.d.ts +2 -0
- package/dist/esm/components/SshField/utils/isTouchDevice.js +3 -0
- package/dist/esm/components/SshField/utils/readFileContent.d.ts +1 -0
- package/dist/esm/components/SshField/utils/readFileContent.js +20 -0
- package/dist/esm/components/SshField/utils/validateSSHKey.d.ts +3 -0
- package/dist/esm/components/SshField/utils/validateSSHKey.js +60 -0
- package/dist/esm/components/index.d.ts +6 -0
- package/dist/esm/components/index.js +6 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/package.json +7 -6
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes, ButtonHTMLAttributes, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
import { ValueOf } from '@snack-uikit/utils';
|
|
3
|
+
import { APPEARANCE, ICON_POSITION, SIZE } from '../constants';
|
|
4
|
+
export type Appearance = ValueOf<typeof APPEARANCE>;
|
|
5
|
+
export type IconPosition = ValueOf<typeof ICON_POSITION>;
|
|
6
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
7
|
+
export type BaseButtonProps = {
|
|
8
|
+
/** CSS-класс */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Флаг неактивности компонента */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Иконка
|
|
14
|
+
* @type ReactElement
|
|
15
|
+
*/
|
|
16
|
+
icon?: ReactElement;
|
|
17
|
+
/** Позиция иконки */
|
|
18
|
+
iconPosition?: IconPosition;
|
|
19
|
+
/** Текст кнопки */
|
|
20
|
+
label?: string;
|
|
21
|
+
/** Флаг состояния загрузки */
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
/** Колбек обработки клика */
|
|
24
|
+
onClick?: MouseEventHandler<HTMLElement>;
|
|
25
|
+
/** Колбек обработки нажатия клавиши */
|
|
26
|
+
onKeyDown?: KeyboardEventHandler<HTMLElement>;
|
|
27
|
+
/** Колбек обработки фокуса */
|
|
28
|
+
onFocus?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
29
|
+
/** Колбек обработки блюра */
|
|
30
|
+
onBlur?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
31
|
+
/** Размер */
|
|
32
|
+
size?: Size;
|
|
33
|
+
/** Внешний вид кнопки */
|
|
34
|
+
appearance?: Appearance;
|
|
35
|
+
/** HTML-аттрибут type */
|
|
36
|
+
type?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
|
|
37
|
+
/** HTML-аттрибут tab-index */
|
|
38
|
+
tabIndex?: number;
|
|
39
|
+
/** Сделать кнопку во всю ширину */
|
|
40
|
+
fullWidth?: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type AnchorButtonProps = {
|
|
43
|
+
/** Ссылка */
|
|
44
|
+
href?: string;
|
|
45
|
+
/** HTML-аттрибут target */
|
|
46
|
+
target?: AnchorHTMLAttributes<HTMLAnchorElement>['target'];
|
|
47
|
+
};
|
|
48
|
+
export type CommonButtonProps = AnchorButtonProps & BaseButtonProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CommonButtonProps } from './types';
|
|
2
|
+
export declare function extractCommonButtonProps({ disabled, href, icon, iconPosition, label, loading, onClick, onFocus, onBlur, onKeyDown, }: CommonButtonProps): {
|
|
3
|
+
disabled: boolean | undefined;
|
|
4
|
+
href: string | undefined;
|
|
5
|
+
icon: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
6
|
+
iconPosition: import("./types").IconPosition | undefined;
|
|
7
|
+
label: string | undefined;
|
|
8
|
+
loading: boolean | undefined;
|
|
9
|
+
onClick: import("react").MouseEventHandler<HTMLElement> | undefined;
|
|
10
|
+
onKeyDown: import("react").KeyboardEventHandler<HTMLElement> | undefined;
|
|
11
|
+
onFocus: import("react").FocusEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
|
|
12
|
+
onBlur: import("react").FocusEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
|
|
13
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const APPEARANCE: {
|
|
2
|
+
readonly Primary: "primary";
|
|
3
|
+
readonly Neutral: "neutral";
|
|
4
|
+
};
|
|
5
|
+
export declare const HTML_TYPE: {
|
|
6
|
+
readonly Button: "button";
|
|
7
|
+
readonly Submit: "submit";
|
|
8
|
+
readonly Reset: "reset";
|
|
9
|
+
};
|
|
10
|
+
export declare const TARGET: {
|
|
11
|
+
readonly Blank: "_blank";
|
|
12
|
+
readonly Self: "_self";
|
|
13
|
+
readonly Parent: "_parent";
|
|
14
|
+
readonly Top: "_top";
|
|
15
|
+
};
|
|
16
|
+
export declare const SIZE: {
|
|
17
|
+
readonly Xs: "xs";
|
|
18
|
+
readonly S: "s";
|
|
19
|
+
readonly M: "m";
|
|
20
|
+
readonly L: "l";
|
|
21
|
+
};
|
|
22
|
+
export declare const ICON_POSITION: {
|
|
23
|
+
readonly Before: "before";
|
|
24
|
+
readonly After: "after";
|
|
25
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const APPEARANCE = {
|
|
2
|
+
Primary: 'primary',
|
|
3
|
+
Neutral: 'neutral',
|
|
4
|
+
};
|
|
5
|
+
export const HTML_TYPE = {
|
|
6
|
+
Button: 'button',
|
|
7
|
+
Submit: 'submit',
|
|
8
|
+
Reset: 'reset',
|
|
9
|
+
};
|
|
10
|
+
export const TARGET = {
|
|
11
|
+
Blank: '_blank',
|
|
12
|
+
Self: '_self',
|
|
13
|
+
Parent: '_parent',
|
|
14
|
+
Top: '_top',
|
|
15
|
+
};
|
|
16
|
+
export const SIZE = {
|
|
17
|
+
Xs: 'xs',
|
|
18
|
+
S: 's',
|
|
19
|
+
M: 'm',
|
|
20
|
+
L: 'l',
|
|
21
|
+
};
|
|
22
|
+
export const ICON_POSITION = {
|
|
23
|
+
Before: 'before',
|
|
24
|
+
After: 'after',
|
|
25
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WithSupportProps } from '@snack-uikit/utils';
|
|
2
|
+
import { CommonButtonProps } from './types';
|
|
3
|
+
export type ButtonPrivateProps = WithSupportProps<CommonButtonProps & {
|
|
4
|
+
iconClassName: string;
|
|
5
|
+
labelClassName: string;
|
|
6
|
+
fullWidth?: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const ButtonPrivate: import("react").ForwardRefExoticComponent<{
|
|
9
|
+
'data-test-id'?: string;
|
|
10
|
+
} & import("react").AriaAttributes & import("./types").AnchorButtonProps & import("./types").BaseButtonProps & {
|
|
11
|
+
iconClassName: string;
|
|
12
|
+
labelClassName: string;
|
|
13
|
+
fullWidth?: boolean;
|
|
14
|
+
} & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import cn from 'classnames';
|
|
14
|
+
import { forwardRef } from 'react';
|
|
15
|
+
import { extractSupportProps } from '@snack-uikit/utils';
|
|
16
|
+
import { APPEARANCE, HTML_TYPE, ICON_POSITION, TARGET } from '../../constants';
|
|
17
|
+
import { APPEARANCE_TO_COLOR_MAP } from './constants';
|
|
18
|
+
import styles from './styles.module.css';
|
|
19
|
+
import { getChildren, getVariant } from './utils';
|
|
20
|
+
export const ButtonPrivate = forwardRef((_a, ref) => {
|
|
21
|
+
var { className, disabled, href, icon, iconClassName, iconPosition = ICON_POSITION.Before, label, labelClassName, loading, onClick, onKeyDown, onFocus, onBlur, size, target = TARGET.Blank, type = HTML_TYPE.Button, appearance = APPEARANCE.Primary, tabIndex: tabIndexProp = 0, fullWidth } = _a, rest = __rest(_a, ["className", "disabled", "href", "icon", "iconClassName", "iconPosition", "label", "labelClassName", "loading", "onClick", "onKeyDown", "onFocus", "onBlur", "size", "target", "type", "appearance", "tabIndex", "fullWidth"]);
|
|
22
|
+
const variant = getVariant({ label, iconPosition, icon });
|
|
23
|
+
const children = getChildren({
|
|
24
|
+
icon,
|
|
25
|
+
iconClassName,
|
|
26
|
+
iconPosition,
|
|
27
|
+
label,
|
|
28
|
+
labelClassName,
|
|
29
|
+
loading,
|
|
30
|
+
});
|
|
31
|
+
const tabIndex = loading || disabled ? -1 : tabIndexProp;
|
|
32
|
+
const handleClick = (event) => {
|
|
33
|
+
if (disabled || loading) {
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (onClick) {
|
|
38
|
+
onClick(event);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const buttonProps = Object.assign(Object.assign({}, extractSupportProps(rest)), { className: cn(styles.button, className), 'data-disabled': disabled || undefined, 'aria-disabled': disabled || undefined, 'data-loading': loading || undefined, 'data-size': size, 'data-full-width': fullWidth || undefined, 'data-appearance': APPEARANCE_TO_COLOR_MAP[appearance], 'data-variant': variant, onClick: handleClick, onKeyDown,
|
|
42
|
+
onFocus,
|
|
43
|
+
onBlur,
|
|
44
|
+
tabIndex });
|
|
45
|
+
if (href) {
|
|
46
|
+
return (_jsx("a", Object.assign({ role: 'button', href: href, target: target }, buttonProps, { ref: ref, children: children })));
|
|
47
|
+
}
|
|
48
|
+
return (_jsx("button", Object.assign({}, buttonProps, { type: type, ref: ref, children: children })));
|
|
49
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValueOf } from '@snack-uikit/utils';
|
|
2
|
+
import { APPEARANCE } from '../../constants';
|
|
3
|
+
export declare enum Variant {
|
|
4
|
+
LabelOnly = "label-only",
|
|
5
|
+
IconOnly = "icon-only",
|
|
6
|
+
IconBefore = "icon-before",
|
|
7
|
+
IconAfter = "icon-after"
|
|
8
|
+
}
|
|
9
|
+
export declare const APPEARANCE_TO_COLOR_MAP: Record<ValueOf<typeof APPEARANCE>, ValueOf<typeof APPEARANCE>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { APPEARANCE } from '../../constants';
|
|
2
|
+
export var Variant;
|
|
3
|
+
(function (Variant) {
|
|
4
|
+
Variant["LabelOnly"] = "label-only";
|
|
5
|
+
Variant["IconOnly"] = "icon-only";
|
|
6
|
+
Variant["IconBefore"] = "icon-before";
|
|
7
|
+
Variant["IconAfter"] = "icon-after";
|
|
8
|
+
})(Variant || (Variant = {}));
|
|
9
|
+
export const APPEARANCE_TO_COLOR_MAP = {
|
|
10
|
+
[APPEARANCE.Primary]: APPEARANCE.Primary,
|
|
11
|
+
[APPEARANCE.Neutral]: APPEARANCE.Neutral,
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ButtonPrivate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ButtonPrivate';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
.button{
|
|
2
|
+
cursor:pointer;
|
|
3
|
+
position:relative;
|
|
4
|
+
display:inline-flex;
|
|
5
|
+
flex-shrink:0;
|
|
6
|
+
align-items:center;
|
|
7
|
+
justify-content:center;
|
|
8
|
+
box-sizing:border-box;
|
|
9
|
+
width:-moz-max-content;
|
|
10
|
+
width:max-content;
|
|
11
|
+
min-width:-moz-max-content;
|
|
12
|
+
min-width:max-content;
|
|
13
|
+
margin:0;
|
|
14
|
+
padding:0;
|
|
15
|
+
color:transparent;
|
|
16
|
+
text-decoration:none;
|
|
17
|
+
text-transform:none;
|
|
18
|
+
background-color:transparent;
|
|
19
|
+
border:0 solid transparent;
|
|
20
|
+
outline:0;
|
|
21
|
+
outline-offset:0;
|
|
22
|
+
}
|
|
23
|
+
.button[data-full-width]{
|
|
24
|
+
flex-grow:1;
|
|
25
|
+
flex-shrink:1;
|
|
26
|
+
width:100%;
|
|
27
|
+
}
|
|
28
|
+
.button > *{
|
|
29
|
+
cursor:pointer;
|
|
30
|
+
}
|
|
31
|
+
.button:disabled, .button[data-disabled], .button[data-loading]{
|
|
32
|
+
cursor:not-allowed;
|
|
33
|
+
}
|
|
34
|
+
.button:disabled > *, .button[data-disabled] > *, .button[data-loading] > *{
|
|
35
|
+
cursor:not-allowed;
|
|
36
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes, ButtonHTMLAttributes, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
import { ValueOf } from '@snack-uikit/utils';
|
|
3
|
+
import { APPEARANCE, ICON_POSITION, SIZE } from '../../constants';
|
|
4
|
+
export type Appearance = ValueOf<typeof APPEARANCE>;
|
|
5
|
+
export type IconPosition = ValueOf<typeof ICON_POSITION>;
|
|
6
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
7
|
+
export type BaseButtonProps = {
|
|
8
|
+
/** CSS-класс */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Флаг неактивности компонента */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Иконка
|
|
14
|
+
* @type ReactElement
|
|
15
|
+
*/
|
|
16
|
+
icon?: ReactElement;
|
|
17
|
+
/** Позиция иконки */
|
|
18
|
+
iconPosition?: IconPosition;
|
|
19
|
+
/** Текст кнопки */
|
|
20
|
+
label?: string;
|
|
21
|
+
/** Флаг состояния загрузки */
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
/** Колбек обработки клика */
|
|
24
|
+
onClick?: MouseEventHandler<HTMLElement>;
|
|
25
|
+
/** Колбек обработки нажатия клавиши */
|
|
26
|
+
onKeyDown?: KeyboardEventHandler<HTMLElement>;
|
|
27
|
+
/** Колбек обработки фокуса */
|
|
28
|
+
onFocus?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
29
|
+
/** Колбек обработки блюра */
|
|
30
|
+
onBlur?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
31
|
+
/** Размер */
|
|
32
|
+
size?: Size;
|
|
33
|
+
/** Внешний вид кнопки */
|
|
34
|
+
appearance?: Appearance;
|
|
35
|
+
/** HTML-аттрибут type */
|
|
36
|
+
type?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
|
|
37
|
+
/** HTML-аттрибут tab-index */
|
|
38
|
+
tabIndex?: number;
|
|
39
|
+
/** Сделать кнопку во всю ширину */
|
|
40
|
+
fullWidth?: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type AnchorButtonProps = {
|
|
43
|
+
/** Ссылка */
|
|
44
|
+
href?: string;
|
|
45
|
+
/** HTML-аттрибут target */
|
|
46
|
+
target?: AnchorHTMLAttributes<HTMLAnchorElement>['target'];
|
|
47
|
+
};
|
|
48
|
+
export type CommonButtonProps = AnchorButtonProps & BaseButtonProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ButtonPrivateProps } from './ButtonPrivate';
|
|
2
|
+
import { Variant } from './constants';
|
|
3
|
+
type GetVariantProps = Pick<ButtonPrivateProps, 'label' | 'icon' | 'iconPosition'>;
|
|
4
|
+
export declare function getVariant({ label, icon, iconPosition }: GetVariantProps): Variant;
|
|
5
|
+
type GetWrappedIconProps = Pick<ButtonPrivateProps, 'icon' | 'iconClassName' | 'loading'>;
|
|
6
|
+
export declare function getWrappedIcon({ icon, iconClassName, loading }: GetWrappedIconProps): import("react/jsx-runtime").JSX.Element | undefined;
|
|
7
|
+
type GetWrappedLabelProps = Pick<ButtonPrivateProps, 'label' | 'labelClassName'>;
|
|
8
|
+
export declare function getWrappedLabel({ label, labelClassName }: GetWrappedLabelProps): import("react/jsx-runtime").JSX.Element | undefined;
|
|
9
|
+
type GetChildrenProps = Pick<ButtonPrivateProps, 'icon' | 'label' | 'iconPosition' | 'iconClassName' | 'labelClassName' | 'loading'>;
|
|
10
|
+
export declare function getChildren({ icon, label, iconPosition, iconClassName, labelClassName, loading }: GetChildrenProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Sun } from '@snack-uikit/loaders';
|
|
3
|
+
import { ICON_POSITION } from '../../constants';
|
|
4
|
+
import { Variant } from './constants';
|
|
5
|
+
export function getVariant({ label, icon, iconPosition }) {
|
|
6
|
+
if (label && icon && iconPosition === ICON_POSITION.After) {
|
|
7
|
+
return Variant.IconAfter;
|
|
8
|
+
}
|
|
9
|
+
if (label && icon && iconPosition === ICON_POSITION.Before) {
|
|
10
|
+
return Variant.IconBefore;
|
|
11
|
+
}
|
|
12
|
+
if (label) {
|
|
13
|
+
return Variant.LabelOnly;
|
|
14
|
+
}
|
|
15
|
+
return Variant.IconOnly;
|
|
16
|
+
}
|
|
17
|
+
export function getWrappedIcon({ icon, iconClassName, loading }) {
|
|
18
|
+
if (loading) {
|
|
19
|
+
return (_jsx("span", { "data-test-id": 'loading-icon', className: iconClassName, children: _jsx(Sun, { size: 's' }) }));
|
|
20
|
+
}
|
|
21
|
+
if (icon) {
|
|
22
|
+
return (_jsx("span", { "data-test-id": 'icon', className: iconClassName, children: icon }));
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
export function getWrappedLabel({ label, labelClassName }) {
|
|
27
|
+
return label ? (_jsx("span", { "data-test-id": 'label', className: labelClassName, children: label })) : undefined;
|
|
28
|
+
}
|
|
29
|
+
export function getChildren({ icon, label, iconPosition, iconClassName, labelClassName, loading }) {
|
|
30
|
+
const wrappedIcon = getWrappedIcon({
|
|
31
|
+
icon,
|
|
32
|
+
iconClassName,
|
|
33
|
+
loading,
|
|
34
|
+
});
|
|
35
|
+
const wrappedLabel = getWrappedLabel({
|
|
36
|
+
label,
|
|
37
|
+
labelClassName,
|
|
38
|
+
});
|
|
39
|
+
switch (iconPosition) {
|
|
40
|
+
case ICON_POSITION.Before: {
|
|
41
|
+
return (_jsxs(_Fragment, { children: [wrappedIcon, wrappedLabel] }));
|
|
42
|
+
}
|
|
43
|
+
case ICON_POSITION.After:
|
|
44
|
+
default: {
|
|
45
|
+
return (_jsxs(_Fragment, { children: [wrappedLabel, wrappedIcon] }));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ButtonPrivate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ButtonPrivate';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes, ButtonHTMLAttributes, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
import { ValueOf } from '@snack-uikit/utils';
|
|
3
|
+
import { APPEARANCE, ICON_POSITION, SIZE } from './constants';
|
|
4
|
+
export type Appearance = ValueOf<typeof APPEARANCE>;
|
|
5
|
+
export type IconPosition = ValueOf<typeof ICON_POSITION>;
|
|
6
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
7
|
+
export type BaseButtonProps = {
|
|
8
|
+
className?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
icon?: ReactElement;
|
|
11
|
+
iconPosition?: IconPosition;
|
|
12
|
+
label?: string;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
onClick?: MouseEventHandler<HTMLElement>;
|
|
15
|
+
onKeyDown?: KeyboardEventHandler<HTMLElement>;
|
|
16
|
+
onFocus?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
17
|
+
onBlur?: FocusEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
18
|
+
size?: Size;
|
|
19
|
+
appearance?: Appearance;
|
|
20
|
+
type?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
|
|
21
|
+
tabIndex?: number;
|
|
22
|
+
fullWidth?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export type AnchorButtonProps = {
|
|
25
|
+
href?: string;
|
|
26
|
+
target?: AnchorHTMLAttributes<HTMLAnchorElement>['target'];
|
|
27
|
+
};
|
|
28
|
+
export type CommonButtonProps = AnchorButtonProps & BaseButtonProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { PlaceholderSVG } from '@sbercloud/uikit-product-icons';
|
|
5
|
+
import { LAYOUT_TYPE } from '@sbercloud/uikit-product-utils';
|
|
6
|
+
import { ANIMATION_INTERVAL } from './constants';
|
|
7
|
+
import { AlertButton } from './helperComponents/AlertButton';
|
|
8
|
+
import { TextContent } from './helperComponents/TextContent';
|
|
9
|
+
import styles from './styled.module.css';
|
|
10
|
+
import { getContent, isReactNode } from './utils';
|
|
11
|
+
export function ChatStatusAnnouncement({ content, onActionClick, actionLabel, icon, layoutType, className, }) {
|
|
12
|
+
const [currentIndex, setCurrentIndex] = useState(0);
|
|
13
|
+
const [isAnimationEnded, setAnimationEnded] = useState(false);
|
|
14
|
+
const [mouseEntered, setMouseEntered] = useState(false);
|
|
15
|
+
const hoverRef = useRef();
|
|
16
|
+
const totalTextItems = getContent(content);
|
|
17
|
+
const isMobile = layoutType === LAYOUT_TYPE.Mobile;
|
|
18
|
+
useEffect(() => () => clearTimeout(hoverRef.current));
|
|
19
|
+
// запуск основной анимации
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (isReactNode(content) || isAnimationEnded || content.length <= 1)
|
|
22
|
+
return;
|
|
23
|
+
let interval;
|
|
24
|
+
if (currentIndex === content.length - 1) {
|
|
25
|
+
interval = setInterval(() => {
|
|
26
|
+
setAnimationEnded(true);
|
|
27
|
+
}, ANIMATION_INTERVAL);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
interval = setInterval(() => {
|
|
31
|
+
setCurrentIndex(prevIndex => (prevIndex + 1) % content.length);
|
|
32
|
+
}, ANIMATION_INTERVAL);
|
|
33
|
+
return () => clearInterval(interval);
|
|
34
|
+
}, [currentIndex, content, isAnimationEnded]);
|
|
35
|
+
// запуск анимации по ховеру
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!isAnimationEnded || totalTextItems.length === 1)
|
|
38
|
+
return;
|
|
39
|
+
const runForwardAnimation = () => {
|
|
40
|
+
if (hoverRef.current)
|
|
41
|
+
clearTimeout(hoverRef.current);
|
|
42
|
+
if (currentIndex === totalTextItems.length - 1)
|
|
43
|
+
return;
|
|
44
|
+
hoverRef.current = setTimeout(() => setCurrentIndex(prev => prev + 1), 300);
|
|
45
|
+
};
|
|
46
|
+
const runBackwardAnimation = () => {
|
|
47
|
+
if (hoverRef.current)
|
|
48
|
+
clearTimeout(hoverRef.current);
|
|
49
|
+
if (currentIndex <= totalTextItems.length - 2)
|
|
50
|
+
return;
|
|
51
|
+
hoverRef.current = setTimeout(() => setCurrentIndex(prev => prev - 1), 300);
|
|
52
|
+
};
|
|
53
|
+
if (mouseEntered) {
|
|
54
|
+
runForwardAnimation();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
runBackwardAnimation();
|
|
58
|
+
}, [currentIndex, isAnimationEnded, mouseEntered, totalTextItems.length]);
|
|
59
|
+
const onMouseEnter = () => setMouseEntered(true);
|
|
60
|
+
const onMouseLeave = () => setMouseEntered(false);
|
|
61
|
+
return (_jsxs("div", { className: cn(styles.fieldAdvice, className), "data-mobile": isMobile || undefined, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [_jsxs("div", { className: styles.descriptionContainer, children: [icon !== null && icon !== void 0 ? icon : _jsx(PlaceholderSVG, { size: 16 }), _jsx("div", { className: styles.animationContainer, children: totalTextItems.map((item, index) => {
|
|
62
|
+
const currentTextNextOrPreviousStyle = index === (currentIndex - 1 + totalTextItems.length) % totalTextItems.length
|
|
63
|
+
? styles.textBlockPrevious
|
|
64
|
+
: styles.textBlockNext;
|
|
65
|
+
const currentTextStyle = index === currentIndex ? styles.textBlockCurrent : currentTextNextOrPreviousStyle;
|
|
66
|
+
return (_jsx(TextContent, { content: item.content, className: cn(styles.textBlock, currentTextStyle) }, index));
|
|
67
|
+
}) })] }), _jsx(AlertButton, { onClick: onActionClick, text: actionLabel, layoutType: layoutType })] }));
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ANIMATION_INTERVAL = 1900;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ANIMATION_INTERVAL = 1900;
|
package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MouseEvent } from 'react';
|
|
2
|
+
import { LayoutType } from '@sbercloud/uikit-product-utils';
|
|
3
|
+
type PrivateAlertButtonProps = {
|
|
4
|
+
text?: string;
|
|
5
|
+
onClick?(e: MouseEvent<HTMLButtonElement>): void;
|
|
6
|
+
layoutType: LayoutType;
|
|
7
|
+
};
|
|
8
|
+
export type AlertButtonProps = Omit<PrivateAlertButtonProps, 'appearance' | 'variant'>;
|
|
9
|
+
export declare function AlertButton({ text, onClick, layoutType }: PrivateAlertButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/AlertButton.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { LAYOUT_TYPE } from '@sbercloud/uikit-product-utils';
|
|
3
|
+
import { Typography } from '@snack-uikit/typography';
|
|
4
|
+
import styles from './styles.module.css';
|
|
5
|
+
export function AlertButton({ text, onClick, layoutType }) {
|
|
6
|
+
const TypographyText = layoutType === LAYOUT_TYPE.Mobile ? Typography.SansLabelL : Typography.SansLabelM;
|
|
7
|
+
return (_jsx("button", { type: 'button', onClick: onClick, className: styles.alertButton, children: text && _jsx(TypographyText, { className: styles.text, children: text }) }));
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AlertButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AlertButton';
|
package/dist/esm/components/ChatStatusAnnouncement/helperComponents/AlertButton/styles.module.css
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.alertButton{
|
|
2
|
+
cursor:pointer;
|
|
3
|
+
display:flex;
|
|
4
|
+
align-items:center;
|
|
5
|
+
justify-content:center;
|
|
6
|
+
height:16px;
|
|
7
|
+
box-sizing:border-box;
|
|
8
|
+
margin:0;
|
|
9
|
+
padding:0;
|
|
10
|
+
white-space:nowrap;
|
|
11
|
+
background:none;
|
|
12
|
+
border:0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.text{
|
|
16
|
+
color:var(--sys-blue-text-support, #4877b0);
|
|
17
|
+
}
|
|
18
|
+
.text:hover{
|
|
19
|
+
color:var(--sys-blue-text-main, #2b537e);
|
|
20
|
+
}
|
package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type TextContent = {
|
|
3
|
+
content: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function TextContent({ content, className }: TextContent): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
|
|
7
|
+
export {};
|
package/dist/esm/components/ChatStatusAnnouncement/helperComponents/TextContent/TextContent.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from '@snack-uikit/typography';
|
|
3
|
+
import { isReactNode } from '../../utils';
|
|
4
|
+
export function TextContent({ content, className }) {
|
|
5
|
+
if (isReactNode(content)) {
|
|
6
|
+
return content;
|
|
7
|
+
}
|
|
8
|
+
return _jsx(Typography.SansBodyS, { className: className, children: content });
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TextContent';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TextContent';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ChatStatusAnnouncement';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ChatStatusAnnouncement';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
.fieldAdvice{
|
|
2
|
+
display:flex;
|
|
3
|
+
justify-content:space-between;
|
|
4
|
+
align-items:flex-start;
|
|
5
|
+
padding:4px 8px 0px 8px;
|
|
6
|
+
height:38px;
|
|
7
|
+
max-height:38px;
|
|
8
|
+
border-radius:10px 10px 0 0;
|
|
9
|
+
border:1px solid var(--sys-blue-decor-activated, #aac4ea);
|
|
10
|
+
background-color:var(--sys-blue-decor-default, #d6e2f4);
|
|
11
|
+
box-sizing:border-box;
|
|
12
|
+
}
|
|
13
|
+
.fieldAdvice[data-mobile]{
|
|
14
|
+
height:44px;
|
|
15
|
+
max-height:44px;
|
|
16
|
+
border-radius:0;
|
|
17
|
+
padding:8px 16px 0px 16px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.descriptionContainer{
|
|
21
|
+
display:flex;
|
|
22
|
+
justify-content:center;
|
|
23
|
+
align-items:center;
|
|
24
|
+
gap:8px;
|
|
25
|
+
width:100%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.animationContainer{
|
|
29
|
+
position:relative;
|
|
30
|
+
width:100%;
|
|
31
|
+
height:16px;
|
|
32
|
+
padding:0 8px 0 0;
|
|
33
|
+
box-sizing:border-box;
|
|
34
|
+
display:flex;
|
|
35
|
+
flex-direction:column;
|
|
36
|
+
align-items:flex-start;
|
|
37
|
+
justify-content:center;
|
|
38
|
+
overflow:hidden;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.textBlock{
|
|
42
|
+
position:absolute;
|
|
43
|
+
padding:0 8px 0 0;
|
|
44
|
+
box-sizing:border-box;
|
|
45
|
+
transition:all 0.7s ease-in-out;
|
|
46
|
+
will-change:transform, opacity;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.textBlockCurrent{
|
|
50
|
+
opacity:1;
|
|
51
|
+
transform:translateY(0);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.textBlockPrevious{
|
|
55
|
+
opacity:0;
|
|
56
|
+
transform:translateY(-50px);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.textBlockNext{
|
|
60
|
+
opacity:0;
|
|
61
|
+
transform:translateY(50px);
|
|
62
|
+
}
|