@smwb/ui-react 2.0.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/AI_LESS_OVERRIDES.md +192 -0
- package/AI_THEMING.md +155 -0
- package/LICENSE +21 -0
- package/README.md +209 -0
- package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -0
- package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -0
- package/dist/assets/styles/less/components/appLayout/appLayout.entry.css +1 -0
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -0
- package/dist/assets/styles/less/components/badge/badge.entry.css +1 -0
- package/dist/assets/styles/less/components/bottomBar/bottomBar.entry.css +1 -0
- package/dist/assets/styles/less/components/breadcrumbs/breadcrumbs.entry.css +1 -0
- package/dist/assets/styles/less/components/button/button.entry.css +1 -0
- package/dist/assets/styles/less/components/buttonGroup/buttonGroup.entry.css +1 -0
- package/dist/assets/styles/less/components/card/card.entry.css +1 -0
- package/dist/assets/styles/less/components/carousel/carousel.entry.css +1 -0
- package/dist/assets/styles/less/components/chat/chat.entry.css +1 -0
- package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -0
- package/dist/assets/styles/less/components/chip/chip.entry.css +1 -0
- package/dist/assets/styles/less/components/datePicker/dataPicker.entry.css +1 -0
- package/dist/assets/styles/less/components/divider/divider.entry.css +1 -0
- package/dist/assets/styles/less/components/expansionPanel/expansionPanel.entry.css +1 -0
- package/dist/assets/styles/less/components/floatingButton/floatingButton.entry.css +1 -0
- package/dist/assets/styles/less/components/grid/grid.entry.css +1 -0
- package/dist/assets/styles/less/components/icon/icon.entry.css +1 -0
- package/dist/assets/styles/less/components/imagesList/imagesList.entry.css +1 -0
- package/dist/assets/styles/less/components/imagesList/imagesListItem/imagesListItem.entry.css +1 -0
- package/dist/assets/styles/less/components/list/list.entry.css +1 -0
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -0
- package/dist/assets/styles/less/components/message/message.entry.css +1 -0
- package/dist/assets/styles/less/components/modal/modal.entry.css +1 -0
- package/dist/assets/styles/less/components/page/page.entry.css +1 -0
- package/dist/assets/styles/less/components/pageHeader/pageHeader.entry.css +1 -0
- package/dist/assets/styles/less/components/pagination/pagination.entry.css +1 -0
- package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -0
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -0
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -0
- package/dist/assets/styles/less/components/ripple/ripple.entry.css +1 -0
- package/dist/assets/styles/less/components/screenDivider/screenDivider.entry.css +1 -0
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -0
- package/dist/assets/styles/less/components/sheet/sheet.entry.css +1 -0
- package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -0
- package/dist/assets/styles/less/components/skeleton/skeleton.entry.css +1 -0
- package/dist/assets/styles/less/components/slider/slider.entry.css +1 -0
- package/dist/assets/styles/less/components/snackbar/snackbar.entry.css +1 -0
- package/dist/assets/styles/less/components/stack/stack.entry.css +1 -0
- package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -0
- package/dist/assets/styles/less/components/table/table.entry.css +1 -0
- package/dist/assets/styles/less/components/table/tablePagination/tablePagination.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -0
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -0
- package/dist/assets/styles/less/components/timePicker/timePicker.entry.css +1 -0
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -0
- package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -0
- package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -0
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -0
- package/dist/components/base/animateHeight/animateHeight.d.ts +30 -0
- package/dist/components/base/animateHeight/animateHeight.js +118 -0
- package/dist/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/components/base/animateHeight/index.d.ts +1 -0
- package/dist/components/base/icon/icon.d.ts +28 -0
- package/dist/components/base/icon/icon.js +27 -0
- package/dist/components/base/icon/icon.js.map +1 -0
- package/dist/components/base/icon/index.d.ts +2 -0
- package/dist/components/base/ripple/index.d.ts +2 -0
- package/dist/components/base/ripple/ripple.d.ts +21 -0
- package/dist/components/base/ripple/ripple.js +42 -0
- package/dist/components/base/ripple/ripple.js.map +1 -0
- package/dist/components/clickAwayListener/clickAwayListener.d.ts +14 -0
- package/dist/components/clickAwayListener/clickAwayListener.js +67 -0
- package/dist/components/clickAwayListener/clickAwayListener.js.map +1 -0
- package/dist/components/clickAwayListener/index.d.ts +2 -0
- package/dist/components/dataDisplay/accordion/accordion.d.ts +21 -0
- package/dist/components/dataDisplay/accordion/accordion.js +62 -0
- package/dist/components/dataDisplay/accordion/accordion.js.map +1 -0
- package/dist/components/dataDisplay/accordion/index.d.ts +2 -0
- package/dist/components/dataDisplay/avatar/avatar.d.ts +31 -0
- package/dist/components/dataDisplay/avatar/avatar.js +49 -0
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -0
- package/dist/components/dataDisplay/avatar/index.d.ts +2 -0
- package/dist/components/dataDisplay/badge/badge.d.ts +19 -0
- package/dist/components/dataDisplay/badge/badge.js +39 -0
- package/dist/components/dataDisplay/badge/badge.js.map +1 -0
- package/dist/components/dataDisplay/badge/index.d.ts +2 -0
- package/dist/components/dataDisplay/card/card.d.ts +15 -0
- package/dist/components/dataDisplay/card/card.js +36 -0
- package/dist/components/dataDisplay/card/card.js.map +1 -0
- package/dist/components/dataDisplay/card/index.d.ts +2 -0
- package/dist/components/dataDisplay/carousel/carousel.d.ts +22 -0
- package/dist/components/dataDisplay/carousel/carousel.js +179 -0
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -0
- package/dist/components/dataDisplay/carousel/index.d.ts +2 -0
- package/dist/components/dataDisplay/carousel/utils.d.ts +13 -0
- package/dist/components/dataDisplay/carousel/utils.js +57 -0
- package/dist/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/components/dataDisplay/chat/chat.d.ts +50 -0
- package/dist/components/dataDisplay/chat/chat.js +183 -0
- package/dist/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachments.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js +26 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatComposer.d.ts +15 -0
- package/dist/components/dataDisplay/chat/chatComposer.js +154 -0
- package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatHeader.d.ts +14 -0
- package/dist/components/dataDisplay/chat/chatHeader.js +52 -0
- package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatIconButton.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js +47 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +20 -0
- package/dist/components/dataDisplay/chat/chatLayout.js +102 -0
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.d.ts +20 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.js +60 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.js +62 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.d.ts +11 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.js +37 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.js +13 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessages.d.ts +14 -0
- package/dist/components/dataDisplay/chat/chatMessages.js +73 -0
- package/dist/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +17 -0
- package/dist/components/dataDisplay/chat/chatShell.d.ts +16 -0
- package/dist/components/dataDisplay/chat/chatShell.js +63 -0
- package/dist/components/dataDisplay/chat/chatShell.js.map +1 -0
- package/dist/components/dataDisplay/chat/index.d.ts +44 -0
- package/dist/components/dataDisplay/chat/types.d.ts +53 -0
- package/dist/components/dataDisplay/chat/types.js +19 -0
- package/dist/components/dataDisplay/chat/types.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.d.ts +19 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js +42 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.d.ts +11 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.d.ts +11 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
- package/dist/components/dataDisplay/chat/utils.d.ts +26 -0
- package/dist/components/dataDisplay/chat/utils.js +61 -0
- package/dist/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/components/dataDisplay/chip/chip.d.ts +24 -0
- package/dist/components/dataDisplay/chip/chip.js +99 -0
- package/dist/components/dataDisplay/chip/chip.js.map +1 -0
- package/dist/components/dataDisplay/chip/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.d.ts +56 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +174 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
- package/dist/components/dataDisplay/expansionPanel/index.d.ts +2 -0
- package/dist/components/dataDisplay/imagesList/imagesList.d.ts +15 -0
- package/dist/components/dataDisplay/imagesList/imagesList.js +21 -0
- package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesList.types.d.ts +6 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.d.ts +5 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.d.ts +14 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +55 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +7 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/index.d.ts +6 -0
- package/dist/components/dataDisplay/list/index.d.ts +4 -0
- package/dist/components/dataDisplay/list/list.d.ts +12 -0
- package/dist/components/dataDisplay/list/list.js +25 -0
- package/dist/components/dataDisplay/list/list.js.map +1 -0
- package/dist/components/dataDisplay/list/listItem.d.ts +17 -0
- package/dist/components/dataDisplay/list/listItem.js +37 -0
- package/dist/components/dataDisplay/list/listItem.js.map +1 -0
- package/dist/components/dataDisplay/table/index.d.ts +14 -0
- package/dist/components/dataDisplay/table/table.d.ts +17 -0
- package/dist/components/dataDisplay/table/table.js +38 -0
- package/dist/components/dataDisplay/table/table.js.map +1 -0
- package/dist/components/dataDisplay/table/tableBody.d.ts +6 -0
- package/dist/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/components/dataDisplay/table/tableCell.d.ts +7 -0
- package/dist/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.d.ts +6 -0
- package/dist/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +18 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.d.ts +19 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +41 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/components/dataDisplay/table/tableRow.d.ts +10 -0
- package/dist/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/components/dataDisplay/treeView/index.d.ts +2 -0
- package/dist/components/dataDisplay/treeView/treeView.d.ts +39 -0
- package/dist/components/dataDisplay/treeView/treeView.js +116 -0
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -0
- package/dist/components/dataDisplay/typography/index.d.ts +2 -0
- package/dist/components/dataDisplay/typography/typography.d.ts +19 -0
- package/dist/components/dataDisplay/typography/typography.js +45 -0
- package/dist/components/dataDisplay/typography/typography.js.map +1 -0
- package/dist/components/feedBack/message/index.d.ts +2 -0
- package/dist/components/feedBack/message/message.d.ts +22 -0
- package/dist/components/feedBack/message/message.js +32 -0
- package/dist/components/feedBack/message/message.js.map +1 -0
- package/dist/components/feedBack/modal/index.d.ts +2 -0
- package/dist/components/feedBack/modal/modal.d.ts +39 -0
- package/dist/components/feedBack/modal/modal.js +107 -0
- package/dist/components/feedBack/modal/modal.js.map +1 -0
- package/dist/components/feedBack/progressIndicator/index.d.ts +2 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +21 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.js +52 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/components/feedBack/skeleton/index.d.ts +2 -0
- package/dist/components/feedBack/skeleton/skeleton.d.ts +20 -0
- package/dist/components/feedBack/skeleton/skeleton.js +48 -0
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -0
- package/dist/components/feedBack/snackbar/index.d.ts +2 -0
- package/dist/components/feedBack/snackbar/snackbar.d.ts +40 -0
- package/dist/components/feedBack/snackbar/snackbar.js +195 -0
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.d.ts +3 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
- package/dist/components/feedBack/tooltip/index.d.ts +2 -0
- package/dist/components/feedBack/tooltip/tooltip.d.ts +22 -0
- package/dist/components/feedBack/tooltip/tooltip.js +64 -0
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/components/inputs/button/button.d.ts +60 -0
- package/dist/components/inputs/button/button.js +83 -0
- package/dist/components/inputs/button/button.js.map +1 -0
- package/dist/components/inputs/button/index.d.ts +2 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +14 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js +53 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
- package/dist/components/inputs/buttonGroups/index.d.ts +2 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts +21 -0
- package/dist/components/inputs/checkbox/checkbox.js +74 -0
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/components/inputs/checkbox/index.d.ts +2 -0
- package/dist/components/inputs/datePicker/dataPickerDays.d.ts +9 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js +59 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.d.ts +11 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js +57 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerInput.d.ts +6 -0
- package/dist/components/inputs/datePicker/dataPickerInput.js +37 -0
- package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -0
- package/dist/components/inputs/datePicker/dateFormat.d.ts +3 -0
- package/dist/components/inputs/datePicker/dateFormat.js +58 -0
- package/dist/components/inputs/datePicker/dateFormat.js.map +1 -0
- package/dist/components/inputs/datePicker/datePicker.d.ts +42 -0
- package/dist/components/inputs/datePicker/datePicker.js +229 -0
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.d.ts +12 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.js +42 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerDay.d.ts +13 -0
- package/dist/components/inputs/datePicker/datePickerDay.js +62 -0
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +6 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js +44 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerList.d.ts +11 -0
- package/dist/components/inputs/datePicker/datePickerList.js +38 -0
- package/dist/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/components/inputs/datePicker/index.d.ts +16 -0
- package/dist/components/inputs/datePicker/useDateInput.d.ts +14 -0
- package/dist/components/inputs/datePicker/useDateInput.js +35 -0
- package/dist/components/inputs/datePicker/useDateInput.js.map +1 -0
- package/dist/components/inputs/datePicker/utils.d.ts +37 -0
- package/dist/components/inputs/datePicker/utils.js +179 -0
- package/dist/components/inputs/datePicker/utils.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.d.ts +3 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.d.ts +28 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.d.ts +6 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/index.d.ts +6 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.d.ts +15 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/components/inputs/fileDrop/countPreview.d.ts +7 -0
- package/dist/components/inputs/fileDrop/fileDrop.d.ts +16 -0
- package/dist/components/inputs/fileDrop/preview.d.ts +8 -0
- package/dist/components/inputs/fileDrop/previewWrapper.d.ts +9 -0
- package/dist/components/inputs/fileDrop/utils.d.ts +1 -0
- package/dist/components/inputs/fileInput/fileInput.d.ts +16 -0
- package/dist/components/inputs/floatingButton/floatingButton.d.ts +11 -0
- package/dist/components/inputs/floatingButton/floatingButton.js +42 -0
- package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -0
- package/dist/components/inputs/floatingButton/index.d.ts +2 -0
- package/dist/components/inputs/radioButton/index.d.ts +2 -0
- package/dist/components/inputs/radioButton/radioButton.d.ts +19 -0
- package/dist/components/inputs/radioButton/radioButton.js +69 -0
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -0
- package/dist/components/inputs/rating/index.d.ts +2 -0
- package/dist/components/inputs/rating/rating.d.ts +31 -0
- package/dist/components/inputs/rating/rating.js +85 -0
- package/dist/components/inputs/rating/rating.js.map +1 -0
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +40 -0
- package/dist/components/inputs/selectField/dropdownMenu.js +134 -0
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/components/inputs/selectField/index.d.ts +2 -0
- package/dist/components/inputs/selectField/selectField.d.ts +50 -0
- package/dist/components/inputs/selectField/selectField.js +232 -0
- package/dist/components/inputs/selectField/selectField.js.map +1 -0
- package/dist/components/inputs/slider/index.d.ts +2 -0
- package/dist/components/inputs/slider/slider.d.ts +35 -0
- package/dist/components/inputs/slider/slider.js +314 -0
- package/dist/components/inputs/slider/slider.js.map +1 -0
- package/dist/components/inputs/slider/utils.d.ts +11 -0
- package/dist/components/inputs/slider/utils.js +40 -0
- package/dist/components/inputs/slider/utils.js.map +1 -0
- package/dist/components/inputs/textField/index.d.ts +6 -0
- package/dist/components/inputs/textField/textField.d.ts +26 -0
- package/dist/components/inputs/textField/textField.js +126 -0
- package/dist/components/inputs/textField/textField.js.map +1 -0
- package/dist/components/inputs/textField/textFieldAdornment.d.ts +8 -0
- package/dist/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +20 -0
- package/dist/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/components/inputs/textField/utils.d.ts +7 -0
- package/dist/components/inputs/textField/utils.js +11 -0
- package/dist/components/inputs/textField/utils.js.map +1 -0
- package/dist/components/inputs/timePicker/index.d.ts +11 -0
- package/dist/components/inputs/timePicker/timeFormat.d.ts +4 -0
- package/dist/components/inputs/timePicker/timeFormat.js +61 -0
- package/dist/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/components/inputs/timePicker/timePicker.d.ts +18 -0
- package/dist/components/inputs/timePicker/timePicker.js +114 -0
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerColumns.d.ts +7 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js +32 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerInput.d.ts +6 -0
- package/dist/components/inputs/timePicker/timePickerInput.js +37 -0
- package/dist/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerList.d.ts +11 -0
- package/dist/components/inputs/timePicker/timePickerList.js +43 -0
- package/dist/components/inputs/timePicker/timePickerList.js.map +1 -0
- package/dist/components/inputs/timePicker/timeUtils.d.ts +23 -0
- package/dist/components/inputs/timePicker/timeUtils.js +93 -0
- package/dist/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/components/inputs/timePicker/useTimeInput.d.ts +13 -0
- package/dist/components/inputs/timePicker/useTimeInput.js +37 -0
- package/dist/components/inputs/timePicker/useTimeInput.js.map +1 -0
- package/dist/components/inputs/toggle/index.d.ts +2 -0
- package/dist/components/inputs/toggle/toggle.d.ts +20 -0
- package/dist/components/inputs/toggle/toggle.js +70 -0
- package/dist/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/components/layout/appLayout/appLayout.d.ts +32 -0
- package/dist/components/layout/appLayout/appLayout.js +75 -0
- package/dist/components/layout/appLayout/appLayout.js.map +1 -0
- package/dist/components/layout/appLayout/index.d.ts +2 -0
- package/dist/components/layout/divider/divider.d.ts +21 -0
- package/dist/components/layout/divider/divider.js +58 -0
- package/dist/components/layout/divider/divider.js.map +1 -0
- package/dist/components/layout/divider/index.d.ts +2 -0
- package/dist/components/layout/grid/grid.d.ts +61 -0
- package/dist/components/layout/grid/grid.js +59 -0
- package/dist/components/layout/grid/grid.js.map +1 -0
- package/dist/components/layout/grid/index.d.ts +2 -0
- package/dist/components/layout/page/index.d.ts +2 -0
- package/dist/components/layout/page/page.d.ts +15 -0
- package/dist/components/layout/page/page.js +22 -0
- package/dist/components/layout/page/page.js.map +1 -0
- package/dist/components/layout/pageHeader/index.d.ts +2 -0
- package/dist/components/layout/pageHeader/pageHeader.d.ts +14 -0
- package/dist/components/layout/pageHeader/pageHeader.js +31 -0
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -0
- package/dist/components/layout/screenDivider/index.d.ts +2 -0
- package/dist/components/layout/screenDivider/screenDivider.d.ts +17 -0
- package/dist/components/layout/screenDivider/screenDivider.js +89 -0
- package/dist/components/layout/screenDivider/screenDivider.js.map +1 -0
- package/dist/components/layout/sheet/index.d.ts +2 -0
- package/dist/components/layout/sheet/sheet.d.ts +36 -0
- package/dist/components/layout/sheet/sheet.js +218 -0
- package/dist/components/layout/sheet/sheet.js.map +1 -0
- package/dist/components/layout/stack/index.d.ts +2 -0
- package/dist/components/layout/stack/stack.d.ts +17 -0
- package/dist/components/layout/stack/stack.js +34 -0
- package/dist/components/layout/stack/stack.js.map +1 -0
- package/dist/components/navigation/appBar/appBar.d.ts +18 -0
- package/dist/components/navigation/appBar/appBar.js +48 -0
- package/dist/components/navigation/appBar/appBar.js.map +1 -0
- package/dist/components/navigation/appBar/index.d.ts +2 -0
- package/dist/components/navigation/bottomBar/bottomBar.d.ts +14 -0
- package/dist/components/navigation/bottomBar/bottomBar.js +106 -0
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -0
- package/dist/components/navigation/bottomBar/index.d.ts +2 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +22 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +53 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +2 -0
- package/dist/components/navigation/menu/index.d.ts +6 -0
- package/dist/components/navigation/menu/menu.d.ts +10 -0
- package/dist/components/navigation/menu/menu.js +15 -0
- package/dist/components/navigation/menu/menu.js.map +1 -0
- package/dist/components/navigation/menu/menuComponent.d.ts +3 -0
- package/dist/components/navigation/menu/menuComponent.js +13 -0
- package/dist/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/components/navigation/menu/menuContext.d.ts +8 -0
- package/dist/components/navigation/menu/menuContext.js +14 -0
- package/dist/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/components/navigation/menu/menuDivider.d.ts +3 -0
- package/dist/components/navigation/menu/menuDivider.js +19 -0
- package/dist/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/components/navigation/menu/menuFloating.d.ts +12 -0
- package/dist/components/navigation/menu/menuFloating.js +50 -0
- package/dist/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/components/navigation/menu/menuItem.d.ts +16 -0
- package/dist/components/navigation/menu/menuItem.js +68 -0
- package/dist/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/components/navigation/menu/menuItemIcon.d.ts +5 -0
- package/dist/components/navigation/menu/menuItemIcon.js +16 -0
- package/dist/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/components/navigation/menu/menuItemText.d.ts +7 -0
- package/dist/components/navigation/menu/menuItemText.js +15 -0
- package/dist/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/components/navigation/menu/menuList.d.ts +3 -0
- package/dist/components/navigation/menu/menuList.js +30 -0
- package/dist/components/navigation/menu/menuList.js.map +1 -0
- package/dist/components/navigation/menu/menuSubmenu.d.ts +16 -0
- package/dist/components/navigation/menu/menuSubmenu.js +70 -0
- package/dist/components/navigation/menu/menuSubmenu.js.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination.d.ts +27 -0
- package/dist/components/navigation/pagination/pagination.js +107 -0
- package/dist/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/components/navigation/sidebar/index.d.ts +2 -0
- package/dist/components/navigation/sidebar/sidebar.d.ts +33 -0
- package/dist/components/navigation/sidebar/sidebar.js +106 -0
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts +2 -0
- package/dist/components/navigation/stepper/stepper.d.ts +25 -0
- package/dist/components/navigation/stepper/stepper.js +61 -0
- package/dist/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +4 -0
- package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
- package/dist/components/navigation/tabs/tab/tab.js +54 -0
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +15 -0
- package/dist/components/navigation/tabs/tabs.js +137 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/connects/rt/index.d.ts +2 -0
- package/dist/connects/rt/table/draggableHeader.d.ts +13 -0
- package/dist/connects/rt/table/headerCellRenderer.d.ts +8 -0
- package/dist/connects/rt/table/index.d.ts +3 -0
- package/dist/connects/rt/table/table.d.ts +39 -0
- package/dist/connects/rt/table/utils.d.ts +7 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js +118 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/headless/components/base/icon/icon.js +26 -0
- package/dist/headless/components/base/icon/icon.js.map +1 -0
- package/dist/headless/components/base/ripple/ripple.js +41 -0
- package/dist/headless/components/base/ripple/ripple.js.map +1 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js +67 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js.map +1 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js +61 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js +48 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/badge/badge.js +38 -0
- package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -0
- package/dist/headless/components/dataDisplay/card/card.js +35 -0
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js +178 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js +57 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chat.js +182 -0
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js +26 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js +154 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js +52 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +47 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +102 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +60 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js +62 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js +37 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js +13 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js +73 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatShell.js +63 -0
- package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/types.js +19 -0
- package/dist/headless/components/dataDisplay/chat/types.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js +42 -0
- package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/utils.js +61 -0
- package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chip/chip.js +98 -0
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +173 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesList.js +20 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesList.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +54 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/list.js +24 -0
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/listItem.js +37 -0
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +37 -0
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js +115 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -0
- package/dist/headless/components/dataDisplay/typography/typography.js +44 -0
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -0
- package/dist/headless/components/feedBack/message/message.js +31 -0
- package/dist/headless/components/feedBack/message/message.js.map +1 -0
- package/dist/headless/components/feedBack/modal/modal.js +106 -0
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +51 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js +47 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js +194 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/headless/components/inputs/button/button.js +82 -0
- package/dist/headless/components/inputs/button/button.js.map +1 -0
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +52 -0
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js +73 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js +59 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js +57 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js +37 -0
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dateFormat.js +58 -0
- package/dist/headless/components/inputs/datePicker/dateFormat.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js +228 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +42 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +62 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +44 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js +38 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.js +35 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/utils.js +179 -0
- package/dist/headless/components/inputs/datePicker/utils.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +41 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js +68 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -0
- package/dist/headless/components/inputs/rating/rating.js +84 -0
- package/dist/headless/components/inputs/rating/rating.js.map +1 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +134 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +231 -0
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -0
- package/dist/headless/components/inputs/slider/slider.js +313 -0
- package/dist/headless/components/inputs/slider/slider.js.map +1 -0
- package/dist/headless/components/inputs/slider/utils.js +40 -0
- package/dist/headless/components/inputs/slider/utils.js.map +1 -0
- package/dist/headless/components/inputs/textField/textField.js +125 -0
- package/dist/headless/components/inputs/textField/textField.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/headless/components/inputs/textField/utils.js +11 -0
- package/dist/headless/components/inputs/textField/utils.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timeFormat.js +61 -0
- package/dist/headless/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js +113 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js +32 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js +37 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js +43 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js +93 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js +37 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/toggle/toggle.js +69 -0
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/headless/components/layout/appLayout/appLayout.js +74 -0
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -0
- package/dist/headless/components/layout/divider/divider.js +57 -0
- package/dist/headless/components/layout/divider/divider.js.map +1 -0
- package/dist/headless/components/layout/grid/grid.js +58 -0
- package/dist/headless/components/layout/grid/grid.js.map +1 -0
- package/dist/headless/components/layout/page/page.js +21 -0
- package/dist/headless/components/layout/page/page.js.map +1 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js +30 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js +88 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js.map +1 -0
- package/dist/headless/components/layout/sheet/sheet.js +217 -0
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -0
- package/dist/headless/components/layout/stack/stack.js +33 -0
- package/dist/headless/components/layout/stack/stack.js.map +1 -0
- package/dist/headless/components/navigation/appBar/appBar.js +47 -0
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +105 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +52 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/headless/components/navigation/menu/menu.js +14 -0
- package/dist/headless/components/navigation/menu/menu.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuComponent.js +13 -0
- package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuContext.js +14 -0
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuDivider.js +19 -0
- package/dist/headless/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuFloating.js +50 -0
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItem.js +68 -0
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js +16 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemText.js +15 -0
- package/dist/headless/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuList.js +30 -0
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js +70 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -0
- package/dist/headless/components/navigation/pagination/pagination.js +106 -0
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js +105 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/headless/components/navigation/stepper/stepper.js +60 -0
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js +53 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabs.js +136 -0
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/headless/hooks/useControllableState.js +24 -0
- package/dist/headless/hooks/useControllableState.js.map +1 -0
- package/dist/headless/hooks/useEventCallback.js +11 -0
- package/dist/headless/hooks/useEventCallback.js.map +1 -0
- package/dist/headless/hooks/useFocusTrap.js +38 -0
- package/dist/headless/hooks/useFocusTrap.js.map +1 -0
- package/dist/headless/hooks/useForkRef.js +13 -0
- package/dist/headless/hooks/useForkRef.js.map +1 -0
- package/dist/headless/hooks/useId.js +9 -0
- package/dist/headless/hooks/useId.js.map +1 -0
- package/dist/headless/hooks/useModalState.js +13 -0
- package/dist/headless/hooks/useModalState.js.map +1 -0
- package/dist/headless/hooks/useObservable.js +9 -0
- package/dist/headless/hooks/useObservable.js.map +1 -0
- package/dist/headless/hooks/useRovingTabIndex.js +35 -0
- package/dist/headless/hooks/useRovingTabIndex.js.map +1 -0
- package/dist/headless/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/headless/hooks/useTheme.js +37 -0
- package/dist/headless/hooks/useTheme.js.map +1 -0
- package/dist/headless/hooks/useVirtualList.js +25 -0
- package/dist/headless/hooks/useVirtualList.js.map +1 -0
- package/dist/headless/index.js +242 -0
- package/dist/headless/index.js.map +1 -0
- package/dist/headless/utils/animate.js +30 -0
- package/dist/headless/utils/animate.js.map +1 -0
- package/dist/headless/utils/debounce.js +15 -0
- package/dist/headless/utils/debounce.js.map +1 -0
- package/dist/headless/utils/floating.js +13 -0
- package/dist/headless/utils/floating.js.map +1 -0
- package/dist/headless/utils/observable.js +24 -0
- package/dist/headless/utils/observable.js.map +1 -0
- package/dist/headless/utils/setRef.js +7 -0
- package/dist/headless/utils/setRef.js.map +1 -0
- package/dist/headless/utils/throttle.js +18 -0
- package/dist/headless/utils/throttle.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +21 -0
- package/dist/hooks/useControllableState.js +24 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useEventCallback.d.ts +4 -0
- package/dist/hooks/useEventCallback.js +11 -0
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +15 -0
- package/dist/hooks/useFocusTrap.js +38 -0
- package/dist/hooks/useFocusTrap.js.map +1 -0
- package/dist/hooks/useForkRef.d.ts +2 -0
- package/dist/hooks/useForkRef.js +13 -0
- package/dist/hooks/useForkRef.js.map +1 -0
- package/dist/hooks/useId.d.ts +9 -0
- package/dist/hooks/useId.js +9 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +1 -0
- package/dist/hooks/useModalState.d.ts +5 -0
- package/dist/hooks/useModalState.js +13 -0
- package/dist/hooks/useModalState.js.map +1 -0
- package/dist/hooks/useObservable.d.ts +2 -0
- package/dist/hooks/useObservable.js +9 -0
- package/dist/hooks/useObservable.js.map +1 -0
- package/dist/hooks/useRovingTabIndex.d.ts +22 -0
- package/dist/hooks/useRovingTabIndex.js +35 -0
- package/dist/hooks/useRovingTabIndex.js.map +1 -0
- package/dist/hooks/useSafeLayoutEffect.d.ts +2 -0
- package/dist/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +9 -0
- package/dist/hooks/useTheme.js +37 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useThrottleCallback.d.ts +1 -0
- package/dist/hooks/useVirtualList.d.ts +34 -0
- package/dist/hooks/useVirtualList.js +25 -0
- package/dist/hooks/useVirtualList.js.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +113 -0
- package/dist/index.js +242 -0
- package/dist/index.js.map +1 -0
- package/dist/react-table/components/base/icon/icon.js +26 -0
- package/dist/react-table/components/base/icon/icon.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/table.js +37 -0
- package/dist/react-table/components/dataDisplay/table/table.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/react-table/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/react-table/components/feedBack/message/message.js +31 -0
- package/dist/react-table/components/feedBack/message/message.js.map +1 -0
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +51 -0
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textField.js +125 -0
- package/dist/react-table/components/inputs/textField/textField.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/react-table/components/inputs/textField/utils.js +11 -0
- package/dist/react-table/components/inputs/textField/utils.js.map +1 -0
- package/dist/react-table/connects/rt/table/draggableHeader.js +44 -0
- package/dist/react-table/connects/rt/table/draggableHeader.js.map +1 -0
- package/dist/react-table/connects/rt/table/headerCellRenderer.js +14 -0
- package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +1 -0
- package/dist/react-table/connects/rt/table/table.js +180 -0
- package/dist/react-table/connects/rt/table/table.js.map +1 -0
- package/dist/react-table/connects/rt/table/utils.js +22 -0
- package/dist/react-table/connects/rt/table/utils.js.map +1 -0
- package/dist/react-table/hooks/useForkRef.js +13 -0
- package/dist/react-table/hooks/useForkRef.js.map +1 -0
- package/dist/react-table/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/react-table/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/react-table/react-table.js +7 -0
- package/dist/react-table/react-table.js.map +1 -0
- package/dist/react-table/utils/setRef.js +7 -0
- package/dist/react-table/utils/setRef.js.map +1 -0
- package/dist/react-table.d.ts +3 -0
- package/dist/storybook/storyPlay.d.ts +19 -0
- package/dist/templates/summer-ui/components/authCard/authCard.d.ts +8 -0
- package/dist/templates/summer-ui/components/authCard/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/authLayout/authLayout.d.ts +3 -0
- package/dist/templates/summer-ui/components/authLayout/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/authProvider/authProvider.d.ts +8 -0
- package/dist/templates/summer-ui/components/authProvider/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/link/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/link/link.d.ts +7 -0
- package/dist/templates/summer-ui/index.d.ts +1 -0
- package/dist/templates/summer-ui/messages/en.d.ts +30 -0
- package/dist/templates/summer-ui/messages/index.d.ts +31 -0
- package/dist/utils/animate.d.ts +8 -0
- package/dist/utils/animate.js +30 -0
- package/dist/utils/animate.js.map +1 -0
- package/dist/utils/debounce.d.ts +5 -0
- package/dist/utils/debounce.js +15 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/floating.d.ts +9 -0
- package/dist/utils/floating.js +13 -0
- package/dist/utils/floating.js.map +1 -0
- package/dist/utils/observable.d.ts +10 -0
- package/dist/utils/observable.js +24 -0
- package/dist/utils/observable.js.map +1 -0
- package/dist/utils/setRef.d.ts +2 -0
- package/dist/utils/setRef.js +7 -0
- package/dist/utils/setRef.js.map +1 -0
- package/dist/utils/throttle.d.ts +5 -0
- package/dist/utils/throttle.js +18 -0
- package/dist/utils/throttle.js.map +1 -0
- package/dist/utils/types/extractPropertyNamesByType.d.ts +3 -0
- package/dist/utils/types/ifEquals.d.ts +1 -0
- package/dist/utils/types/writableKeys.d.ts +8 -0
- package/package.json +146 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../src/components/navigation/tabs/tabs.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { debounce } from \"../../../utils/debounce\";\nimport { Tab, TabProps } from \"./tab/tab\";\nimport { useEventCallback } from \"../../../hooks/useEventCallback\";\nimport { setRef } from \"../../../utils/setRef\";\nimport { animate } from \"../../../utils/animate\";\n\nexport interface TabsProps {\n value: number;\n onChange: (e: React.MouseEvent<HTMLButtonElement>, index: number) => void;\n indicatorContent?: boolean;\n scrollable?: boolean;\n className?: string;\n children?: React.ReactNode;\n /** Accessible label for the tab list. */\n \"aria-label\"?: string;\n}\n\ninterface IndicatorStyle {\n root: {\n left: number;\n width: number;\n };\n content?: {\n width: number;\n };\n}\n\nconst defaultIndicatorStyle = {\n root: {},\n content: {},\n} as IndicatorStyle;\n\nexport const Tabs = React.forwardRef<HTMLDivElement, TabsProps>(function Tabs(props, ref) {\n const {\n className,\n children,\n onChange,\n value,\n indicatorContent = false,\n scrollable = false,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState<IndicatorStyle>(defaultIndicatorStyle);\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n const tabListRef = React.useRef<HTMLDivElement>(null);\n const contentTabsRef = React.useRef<HTMLSpanElement[]>([]);\n\n // Видимость следующего таба в пикселях\n const viewNextTabInPixels = 40;\n\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n\n let tabsMeta;\n\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right,\n };\n }\n\n let tabMeta: DOMRect | null = null;\n let tabContentMeta: DOMRect | null = null;\n\n if (!tabListRef.current) {\n console.error(\"tabListRef.current is undefined\");\n }\n if (tabsNode && tabListRef.current) {\n const children = tabListRef.current.children;\n\n if (children.length > 0) {\n const tab = children[value];\n\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n\n if (indicatorContent) {\n tabContentMeta = contentTabsRef.current[value] ? contentTabsRef.current[value].getBoundingClientRect() : null;\n }\n }\n }\n return { tabsMeta, tabMeta, tabContentMeta };\n };\n\n const updateIndicatorState = useEventCallback(() => {\n const { tabsMeta, tabMeta, tabContentMeta } = getTabsMeta();\n let startValue = 0;\n\n if (tabMeta && tabsMeta) {\n startValue = 1 * (tabMeta.left - tabsMeta.left + tabsMeta.scrollLeft);\n }\n\n const newIndicatorStyle: IndicatorStyle = {\n root: {\n left: startValue,\n width: tabMeta ? tabMeta.width : 0,\n },\n };\n\n if (indicatorContent && tabContentMeta) {\n newIndicatorStyle.content = {\n width: tabContentMeta.width,\n };\n }\n\n if (isNaN(indicatorStyle.root.left) || isNaN(indicatorStyle.root.width)) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle.root.left - newIndicatorStyle.root.left);\n const dSize = Math.abs(indicatorStyle.root.width - newIndicatorStyle.root.width);\n\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n\n const scroll = (scrollValue: number, { animation = true } = {}) => {\n if (!tabsRef.current) {\n return;\n }\n if (animation) {\n animate(tabsRef.current, \"scrollLeft\", scrollValue, {\n duration: 300,\n });\n } else {\n tabsRef.current.scrollLeft = scrollValue;\n }\n };\n\n const scrollSelectedIntoView = useEventCallback((animation: boolean) => {\n const { tabsMeta, tabMeta } = getTabsMeta();\n\n if (!tabMeta || !tabsMeta) {\n return;\n }\n\n if (tabMeta.left < tabsMeta.left) {\n // Левая сторона таба не видна.\n const nextScrollStart = tabsMeta.scrollLeft + (tabMeta.left - tabsMeta.left);\n scroll(nextScrollStart - viewNextTabInPixels, { animation });\n } else if (tabMeta.right > tabsMeta.right) {\n // Правая сторона таба не видна.\n const nextScrollStart = tabsMeta.scrollLeft + (tabMeta.right - tabsMeta.right);\n scroll(nextScrollStart + viewNextTabInPixels, { animation });\n }\n });\n\n React.useEffect(() => {\n setMounted(true);\n }, []);\n\n React.useEffect(() => {\n updateIndicatorState();\n });\n\n React.useEffect(() => {\n const onResize = debounce(() => {\n if (tabsRef.current) {\n updateIndicatorState();\n }\n }, 166);\n if (!tabsRef.current || !tabsRef.current.ownerDocument.defaultView) {\n console.error(`tabsRef.current.ownerDocument.defaultView is undefined`);\n return;\n }\n const window: Window & typeof globalThis = tabsRef.current.ownerDocument.defaultView;\n\n window.addEventListener(\"resize\", onResize);\n\n let resizeObserver: ResizeObserver;\n\n if (typeof ResizeObserver !== \"undefined\") {\n resizeObserver = new ResizeObserver(onResize);\n\n Array.from(tabListRef.current?.children ?? []).forEach((child) => {\n resizeObserver.observe(child);\n });\n }\n\n return () => {\n onResize.cancel();\n\n window.removeEventListener(\"resize\", onResize);\n\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, [updateIndicatorState]);\n\n React.useEffect(() => {\n // Не анимировать при первом рендере\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n\n const tabs = React.Children.map(\n children as React.ReactElement<TabProps>[],\n (child: React.ReactElement<TabProps>, index) =>\n React.cloneElement(child, {\n isActive: value === index,\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => {\n onChange(event, index);\n },\n ...(indicatorContent && {\n contentRef: (ref: HTMLSpanElement) => {\n const { contentRef } = child.props;\n\n contentTabsRef.current.push(ref);\n\n if (contentRef) {\n setRef(contentRef as React.Ref<unknown>, ref);\n }\n },\n }),\n } as TabProps)\n );\n\n return (\n <div className={cn(\"smwb-tabs\", className)} role={\"tabpanel\"} ref={ref} {...rest}>\n <div\n className={cn(\"smwb-tabs__scroller\", {\n \"smwb-tabs__scroller--scrollable\": scrollable,\n })}\n ref={tabsRef}\n >\n <div className=\"smwb-tabs__scroll-area\" ref={tabListRef} role=\"tablist\" aria-label={ariaLabel}>\n {tabs}\n </div>\n {mounted && (\n <span className=\"smwb-tabs__indicator\" style={indicatorStyle.root}>\n <span className=\"smwb-tabs__indicator-content\" style={indicatorStyle.content} />\n </span>\n )}\n </div>\n </div>\n );\n});\n\nexport { Tab };\nexport type { TabProps };\n"],"names":["defaultIndicatorStyle","Tabs","React","props","ref","className","children","onChange","value","indicatorContent","scrollable","ariaLabel","rest","mounted","setMounted","indicatorStyle","setIndicatorStyle","tabsRef","tabListRef","contentTabsRef","viewNextTabInPixels","getTabsMeta","tabsNode","tabsMeta","rect","tabMeta","tabContentMeta","tab","updateIndicatorState","useEventCallback","startValue","newIndicatorStyle","dStart","dSize","scroll","scrollValue","animation","animate","scrollSelectedIntoView","nextScrollStart","onResize","debounce","window","resizeObserver","_b","_a","child","tabs","index","event","contentRef","setRef","jsx","cn","jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Table, Header, ColumnOrderState } from "@tanstack/react-table";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
export interface DraggableColumnHeaderProps<T> {
|
|
4
|
+
onColumnOrderChange?: (oldValue: ColumnOrderState, newValue: ColumnOrderState) => void;
|
|
5
|
+
header: Header<T, unknown>;
|
|
6
|
+
table: Table<T>;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function DraggableColumnHeader<T>({ header, table, children, onColumnOrderChange, }: DraggableColumnHeaderProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export type DraggableColumnHeaderWrapperProps<T> = DraggableColumnHeaderProps<T> & {
|
|
11
|
+
draggableColumn?: boolean | null;
|
|
12
|
+
};
|
|
13
|
+
export declare function DraggableColumnHeaderWrapper<T>({ onColumnOrderChange, header, table, children, draggableColumn, }: DraggableColumnHeaderWrapperProps<T>): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Header } from "@tanstack/react-table";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface HeaderCellRendererProps<T extends object> {
|
|
4
|
+
header?: Header<T, unknown>;
|
|
5
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>, header: Header<T, unknown>) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const HeaderCellRenderer: <T extends object>({ header, onChange }: HeaderCellRendererProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default HeaderCellRenderer;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React, { TdHTMLAttributes } from "react";
|
|
2
|
+
import { ColumnDef, RowData, Row, ColumnResizeMode, ColumnSizingState, ColumnOrderState } from "@tanstack/react-table";
|
|
3
|
+
declare module "@tanstack/table-core" {
|
|
4
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
5
|
+
cellProps?: TdHTMLAttributes<HTMLTableCellElement>;
|
|
6
|
+
draggableColumn?: boolean;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
import { TableProps as SMWBTableProps } from "../../../components/dataDisplay/table";
|
|
10
|
+
export type TableProps<TData extends RowData, TValue = unknown> = SMWBTableProps & {
|
|
11
|
+
withPagination?: boolean;
|
|
12
|
+
isInfinite?: boolean;
|
|
13
|
+
dense?: boolean;
|
|
14
|
+
limit?: number;
|
|
15
|
+
limitOptions?: number[];
|
|
16
|
+
sortable?: boolean;
|
|
17
|
+
expandable?: boolean;
|
|
18
|
+
draggableColumns?: boolean;
|
|
19
|
+
enableColumnResizing?: boolean;
|
|
20
|
+
onColumnSizingChange?: (oldValue: ColumnSizingState, newValue: ColumnSizingState) => void;
|
|
21
|
+
onColumnOrderChange?: (oldValue: ColumnOrderState, newValue: ColumnOrderState) => void;
|
|
22
|
+
getRowCanExpand?: (row: Row<TData>) => boolean;
|
|
23
|
+
renderSubComponent?: (props: {
|
|
24
|
+
row: Row<TData>;
|
|
25
|
+
}) => React.ReactElement;
|
|
26
|
+
cellAlign?: "left" | "right" | "center";
|
|
27
|
+
isLoading?: boolean;
|
|
28
|
+
onNextPage?: () => void;
|
|
29
|
+
onPrevPage?: () => void;
|
|
30
|
+
error?: string;
|
|
31
|
+
onHeadCellClick?: (colDef?: ColumnDef<TData, TValue>) => void;
|
|
32
|
+
headerCellInnerRenderer?: React.ReactElement;
|
|
33
|
+
onBodyRowClick?: (row: Row<TData>, event: React.MouseEvent<HTMLTableRowElement>) => void;
|
|
34
|
+
data: TData[];
|
|
35
|
+
columns: ColumnDef<TData, TValue>[];
|
|
36
|
+
columnResizeMode?: ColumnResizeMode;
|
|
37
|
+
};
|
|
38
|
+
export declare const TableWrapper: <TData extends RowData, TValue = unknown>({ data, columns, withPagination, isInfinite, limit, limitOptions, dense, sortable, expandable, draggableColumns, columnResizeMode, enableColumnResizing, onColumnSizingChange, onColumnOrderChange, getRowCanExpand, renderSubComponent, cellAlign, isLoading, onNextPage, onPrevPage, error, onHeadCellClick, headerCellInnerRenderer, onBodyRowClick, ...props }: TableProps<TData, TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export default TableWrapper;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ColumnDef, ColumnSizingState } from "@tanstack/react-table";
|
|
2
|
+
export declare function columnSizingStateReducer(sum: ColumnSizingState, el: {
|
|
3
|
+
name: string;
|
|
4
|
+
size?: number;
|
|
5
|
+
}): ColumnSizingState;
|
|
6
|
+
export declare function getDefaultColumnSizingState<T, K>(columnDef: ColumnDef<T, K>[]): ColumnSizingState;
|
|
7
|
+
export declare function getColumnName<T, K>(column: ColumnDef<T, K>): string;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { jsx as x } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as rt, useRef as m, useState as v, useEffect as z } from "react";
|
|
3
|
+
import j from "clsx";
|
|
4
|
+
import { useForkRef as et } from "../../../hooks/useForkRef.js";
|
|
5
|
+
function it(t) {
|
|
6
|
+
const i = parseFloat(t);
|
|
7
|
+
return !isNaN(i) && isFinite(i);
|
|
8
|
+
}
|
|
9
|
+
function W(t) {
|
|
10
|
+
return typeof t == "string" && t[t.length - 1] === "%" && it(t.substring(0, t.length - 1));
|
|
11
|
+
}
|
|
12
|
+
function I(t, i) {
|
|
13
|
+
i === 0 && (t != null && t.style) && (t.style.display = "none");
|
|
14
|
+
}
|
|
15
|
+
function nt(t, i) {
|
|
16
|
+
i === 0 && (t != null && t.style) && (t.style.display = "");
|
|
17
|
+
}
|
|
18
|
+
const st = {
|
|
19
|
+
animating: "rah-animating",
|
|
20
|
+
animatingUp: "rah-animating--up",
|
|
21
|
+
animatingDown: "rah-animating--down",
|
|
22
|
+
animatingToHeightZero: "rah-animating--to-height-zero",
|
|
23
|
+
animatingToHeightAuto: "rah-animating--to-height-auto",
|
|
24
|
+
animatingToHeightSpecific: "rah-animating--to-height-specific",
|
|
25
|
+
static: "rah-static",
|
|
26
|
+
staticHeightZero: "rah-static--height-zero",
|
|
27
|
+
staticHeightAuto: "rah-static--height-auto",
|
|
28
|
+
staticHeightSpecific: "rah-static--height-specific"
|
|
29
|
+
};
|
|
30
|
+
function _(t, i) {
|
|
31
|
+
return j({
|
|
32
|
+
[t.static]: !0,
|
|
33
|
+
[t.staticHeightZero]: i === 0,
|
|
34
|
+
[t.staticHeightSpecific]: typeof i == "number" && i > 0,
|
|
35
|
+
[t.staticHeightAuto]: i === "auto"
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const lt = rt(function({
|
|
39
|
+
animateOpacity: i = !1,
|
|
40
|
+
animationStateClasses: L = {},
|
|
41
|
+
applyInlineTransitions: M = !0,
|
|
42
|
+
children: q,
|
|
43
|
+
className: B = "",
|
|
44
|
+
contentClassName: G,
|
|
45
|
+
delay: J = 0,
|
|
46
|
+
duration: K = 300,
|
|
47
|
+
easing: O = "ease",
|
|
48
|
+
height: r,
|
|
49
|
+
onHeightAnimationEnd: u,
|
|
50
|
+
onHeightAnimationStart: f,
|
|
51
|
+
style: a,
|
|
52
|
+
...y
|
|
53
|
+
}, Q) {
|
|
54
|
+
const c = m(r), s = m(null), V = m(null), X = et(Q, V), b = m(), T = m(), o = m({
|
|
55
|
+
...st,
|
|
56
|
+
...L
|
|
57
|
+
}), N = J, $ = K;
|
|
58
|
+
let d = r, C = "visible";
|
|
59
|
+
typeof d == "number" ? (d = typeof r != "number" || r < 0 ? 0 : r, C = "hidden") : W(d) && (d = r === "0%" ? 0 : r, C = "hidden");
|
|
60
|
+
const [g, H] = v(d), [Y, D] = v(C), [A, w] = v(!1), [E, R] = v(
|
|
61
|
+
_(o.current, r)
|
|
62
|
+
);
|
|
63
|
+
z(() => {
|
|
64
|
+
I(s.current, g);
|
|
65
|
+
}, []), z(() => {
|
|
66
|
+
if (r !== c.current && s.current) {
|
|
67
|
+
nt(s.current, c.current), s.current.style.overflow = "hidden";
|
|
68
|
+
const U = s.current.offsetHeight;
|
|
69
|
+
s.current.style.overflow = "";
|
|
70
|
+
const Z = $ + N;
|
|
71
|
+
let n, e, S = "hidden", F;
|
|
72
|
+
const k = c.current === "auto";
|
|
73
|
+
typeof r == "number" ? (n = r < 0 ? 0 : r, e = n) : W(r) ? (n = r === "0%" ? 0 : r, e = n) : (n = U, e = "auto", S = void 0), k && (e = n, n = U);
|
|
74
|
+
const tt = j({
|
|
75
|
+
[o.current.animating]: !0,
|
|
76
|
+
[o.current.animatingUp]: c.current === "auto" || r < c.current,
|
|
77
|
+
[o.current.animatingDown]: r === "auto" || r > c.current,
|
|
78
|
+
[o.current.animatingToHeightZero]: e === 0,
|
|
79
|
+
[o.current.animatingToHeightAuto]: e === "auto",
|
|
80
|
+
[o.current.animatingToHeightSpecific]: typeof e == "number" && e > 0
|
|
81
|
+
}), P = _(o.current, e);
|
|
82
|
+
H(n), D("hidden"), w(!k), R(tt), clearTimeout(T.current), clearTimeout(b.current), k ? (F = !0, T.current = setTimeout(() => {
|
|
83
|
+
H(e), D(S), w(F), f == null || f(e);
|
|
84
|
+
}, 50), b.current = setTimeout(() => {
|
|
85
|
+
w(!1), R(P), I(s.current, e), u == null || u(e);
|
|
86
|
+
}, Z)) : (f == null || f(n), T.current = setTimeout(() => {
|
|
87
|
+
H(e), D(S), w(!1), R(P), r !== "auto" && I(s.current, n), u == null || u(n);
|
|
88
|
+
}, Z));
|
|
89
|
+
}
|
|
90
|
+
return c.current = r, () => {
|
|
91
|
+
clearTimeout(T.current), clearTimeout(b.current);
|
|
92
|
+
};
|
|
93
|
+
}, [r]);
|
|
94
|
+
const l = {
|
|
95
|
+
...a,
|
|
96
|
+
height: g,
|
|
97
|
+
overflow: Y || (a == null ? void 0 : a.overflow)
|
|
98
|
+
};
|
|
99
|
+
A && M && (l.transition = `height ${$}ms ${O} ${N}ms`, a != null && a.transition && (l.transition = `${a.transition}, ${l.transition}`), l.WebkitTransition = l.transition);
|
|
100
|
+
const p = {};
|
|
101
|
+
i && (p.transition = `opacity ${$}ms ${O} ${N}ms`, p.WebkitTransition = p.transition, g === 0 && (p.opacity = 0));
|
|
102
|
+
const h = typeof y["aria-hidden"] != "undefined" ? y["aria-hidden"] : r === 0;
|
|
103
|
+
return /* @__PURE__ */ x(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
...y,
|
|
107
|
+
ref: X,
|
|
108
|
+
"aria-hidden": h,
|
|
109
|
+
className: `${E} ${B}`,
|
|
110
|
+
style: l,
|
|
111
|
+
children: /* @__PURE__ */ x("div", { className: G, style: p, ref: s, children: q })
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
export {
|
|
116
|
+
lt as default
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=animateHeight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animateHeight.js","sources":["../../../../../src/components/base/animateHeight/animateHeight.tsx"],"sourcesContent":["// https://github.com/Stanko/react-animate-height/blob/v3/src/index.tsx\n// MIT License\n//\n// Copyright (c) 2017 - today Stanko Tadić\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n//\n\nimport React, { CSSProperties, forwardRef, useEffect, useRef, useState } from \"react\";\nimport classNames from \"clsx\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\n\n// ------------------ Types\n\nexport type Height = \"auto\" | number | `${number}%`;\ntype Timeout = ReturnType<typeof setTimeout>;\ntype Overflow = \"auto\" | \"visible\" | \"hidden\" | undefined;\ntype AnimationStateClasses = {\n animating: string;\n animatingUp: string;\n animatingDown: string;\n animatingToHeightZero: string;\n animatingToHeightAuto: string;\n animatingToHeightSpecific: string;\n static: string;\n staticHeightZero: string;\n staticHeightAuto: string;\n staticHeightSpecific: string;\n};\n\n// ------------------ Helpers\n\nfunction isNumber(n: string) {\n const number = parseFloat(n);\n return !isNaN(number) && isFinite(number);\n}\n\nfunction isPercentage(height: Height) {\n // Percentage height\n return (\n typeof height === \"string\" && height[height.length - 1] === \"%\" && isNumber(height.substring(0, height.length - 1))\n );\n}\n\nfunction hideContent(element: HTMLDivElement | null, height: Height) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 && element?.style) {\n element.style.display = \"none\";\n }\n}\n\nfunction showContent(element: HTMLDivElement | null, height: Height) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 && element?.style) {\n element.style.display = \"\";\n }\n}\n\nconst ANIMATION_STATE_CLASSES: AnimationStateClasses = {\n animating: \"rah-animating\",\n animatingUp: \"rah-animating--up\",\n animatingDown: \"rah-animating--down\",\n animatingToHeightZero: \"rah-animating--to-height-zero\",\n animatingToHeightAuto: \"rah-animating--to-height-auto\",\n animatingToHeightSpecific: \"rah-animating--to-height-specific\",\n static: \"rah-static\",\n staticHeightZero: \"rah-static--height-zero\",\n staticHeightAuto: \"rah-static--height-auto\",\n staticHeightSpecific: \"rah-static--height-specific\",\n};\n\nfunction getStaticStateClasses(animationStateClasses: AnimationStateClasses, height: Height) {\n return classNames({\n [animationStateClasses.static]: true,\n [animationStateClasses.staticHeightZero]: height === 0,\n [animationStateClasses.staticHeightSpecific]: typeof height === \"number\" && height > 0,\n [animationStateClasses.staticHeightAuto]: height === \"auto\",\n });\n}\n\n// ------------------ Component\n\n// display and height are set by the component itself, therefore ignored\ntype OmitCSSProperties = \"display\" | \"height\";\n\ninterface AnimateHeightProps extends React.HTMLAttributes<HTMLDivElement> {\n animateOpacity?: boolean;\n animationStateClasses?: AnimationStateClasses;\n applyInlineTransitions?: boolean;\n contentClassName?: string;\n delay?: number;\n duration?: number;\n easing?: string;\n height: Height;\n onHeightAnimationEnd?: (newHeight: Height) => void;\n onHeightAnimationStart?: (newHeight: Height) => void;\n style?: Omit<CSSProperties, OmitCSSProperties>;\n}\n\nconst AnimateHeight = forwardRef<HTMLDivElement, AnimateHeightProps>(function AnimateHeight(\n {\n animateOpacity = false,\n animationStateClasses = {},\n applyInlineTransitions = true,\n children,\n className = \"\",\n contentClassName,\n delay: userDelay = 0,\n duration: userDuration = 300,\n easing = \"ease\",\n height,\n onHeightAnimationEnd,\n onHeightAnimationStart,\n style,\n ...props\n },\n ref\n) {\n // ------------------ Initialization\n const prevHeight = useRef<Height>(height);\n const contentElement = useRef<HTMLDivElement>(null);\n const rootElement = useRef<HTMLDivElement>(null);\n const forkedRootRef = useForkRef<HTMLDivElement>(ref, rootElement);\n\n const animationClassesTimeoutID = useRef<Timeout>();\n const timeoutID = useRef<Timeout>();\n\n const stateClasses = useRef<AnimationStateClasses>({\n ...ANIMATION_STATE_CLASSES,\n ...animationStateClasses,\n });\n\n const delay = userDelay;\n const duration = userDuration;\n\n let initHeight: Height = height;\n let initOverflow: Overflow = \"visible\";\n\n if (typeof initHeight === \"number\") {\n // Reset negative height to 0\n initHeight = typeof height !== \"number\" || height < 0 ? 0 : height;\n initOverflow = \"hidden\";\n } else if (isPercentage(initHeight)) {\n // If value is string \"0%\" make sure we convert it to number 0\n initHeight = height === \"0%\" ? 0 : height;\n initOverflow = \"hidden\";\n }\n\n const [currentHeight, setCurrentHeight] = useState<Height>(initHeight);\n const [overflow, setOverflow] = useState<Overflow>(initOverflow);\n const [useTransitions, setUseTransitions] = useState<boolean>(false);\n const [animationStateClassNames, setAnimationStateClassNames] = useState<string>(\n getStaticStateClasses(stateClasses.current, height)\n );\n\n // ------------------ Did mount\n useEffect(() => {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, currentHeight);\n\n // This should be explicitly run only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ------------------ Height update\n useEffect(() => {\n if (height !== prevHeight.current && contentElement.current) {\n showContent(contentElement.current, prevHeight.current);\n\n // Cache content height\n contentElement.current.style.overflow = \"hidden\";\n const contentHeight = contentElement.current.offsetHeight;\n contentElement.current.style.overflow = \"\";\n\n // set total animation time\n const totalDuration = duration + delay;\n\n let newHeight: Height;\n let timeoutHeight: Height;\n let timeoutOverflow: Overflow = \"hidden\";\n let timeoutUseTransitions: boolean;\n\n const isCurrentHeightAuto = prevHeight.current === \"auto\";\n\n if (typeof height === \"number\") {\n // Reset negative height to 0\n newHeight = height < 0 ? 0 : height;\n timeoutHeight = newHeight;\n } else if (isPercentage(height)) {\n // If value is string \"0%\" make sure we convert it to number 0\n newHeight = height === \"0%\" ? 0 : height;\n timeoutHeight = newHeight;\n } else {\n // If not, animate to content height\n // and then reset to auto\n newHeight = contentHeight; // TODO solve contentHeight = 0\n timeoutHeight = \"auto\";\n timeoutOverflow = undefined;\n }\n\n if (isCurrentHeightAuto) {\n // This is the height to be animated to\n timeoutHeight = newHeight;\n\n // If previous height was 'auto'\n // set starting height explicitly to be able to use transition\n newHeight = contentHeight;\n }\n\n // Animation classes\n const newAnimationStateClassNames = classNames({\n [stateClasses.current.animating]: true,\n [stateClasses.current.animatingUp]: prevHeight.current === \"auto\" || height < prevHeight.current,\n [stateClasses.current.animatingDown]: height === \"auto\" || height > prevHeight.current,\n [stateClasses.current.animatingToHeightZero]: timeoutHeight === 0,\n [stateClasses.current.animatingToHeightAuto]: timeoutHeight === \"auto\",\n [stateClasses.current.animatingToHeightSpecific]: typeof timeoutHeight === \"number\" && timeoutHeight > 0,\n });\n\n // Animation classes to be put after animation is complete\n const timeoutAnimationStateClasses = getStaticStateClasses(stateClasses.current, timeoutHeight);\n\n // Set starting height and animating classes\n // When animating from 'auto' we first need to set fixed height\n // that change should be animated\n setCurrentHeight(newHeight);\n setOverflow(\"hidden\");\n setUseTransitions(!isCurrentHeightAuto);\n setAnimationStateClassNames(newAnimationStateClassNames);\n\n // Clear timeouts\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n\n if (isCurrentHeightAuto) {\n // When animating from 'auto' we use a short timeout to start animation\n // after setting fixed height above\n timeoutUseTransitions = true;\n\n // Short timeout to allow rendering of the initial animation state first\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(timeoutUseTransitions);\n\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart?.(timeoutHeight);\n }, 50);\n\n // Set static classes and remove transitions when animation ends\n animationClassesTimeoutID.current = setTimeout(() => {\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n\n // ANIMATION ENDS\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, timeoutHeight);\n // Run a callback if it exists\n onHeightAnimationEnd?.(timeoutHeight);\n }, totalDuration);\n } else {\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart?.(newHeight);\n\n // Set end height, classes and remove transitions when animation is complete\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n\n // ANIMATION ENDS\n // If height is auto, don't hide the content\n // (case when element is empty, therefore height is 0)\n if (height !== \"auto\") {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, newHeight); // TODO solve newHeight = 0\n }\n // Run a callback if it exists\n onHeightAnimationEnd?.(newHeight);\n }, totalDuration);\n }\n }\n\n prevHeight.current = height;\n\n return () => {\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n };\n\n // This should be explicitly run only on height change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [height]);\n\n // ------------------ Render\n\n const componentStyle: CSSProperties = {\n ...style,\n height: currentHeight,\n overflow: overflow || style?.overflow,\n };\n\n if (useTransitions && applyInlineTransitions) {\n componentStyle.transition = `height ${duration}ms ${easing} ${delay}ms`;\n\n // Include transition passed through styles\n if (style?.transition) {\n componentStyle.transition = `${style.transition}, ${componentStyle.transition}`;\n }\n\n // Add webkit vendor prefix still used by opera, blackberry...\n componentStyle.WebkitTransition = componentStyle.transition;\n }\n\n const contentStyle: CSSProperties = {};\n\n if (animateOpacity) {\n contentStyle.transition = `opacity ${duration}ms ${easing} ${delay}ms`;\n // Add webkit vendor prefix still used by opera, blackberry...\n contentStyle.WebkitTransition = contentStyle.transition;\n\n if (currentHeight === 0) {\n contentStyle.opacity = 0;\n }\n }\n\n // Check if user passed aria-hidden prop\n const hasAriaHiddenProp = typeof props[\"aria-hidden\"] !== \"undefined\";\n const ariaHidden = hasAriaHiddenProp ? props[\"aria-hidden\"] : height === 0;\n\n return (\n <div\n {...props}\n ref={forkedRootRef}\n aria-hidden={ariaHidden}\n className={`${animationStateClassNames} ${className}`}\n style={componentStyle}\n >\n <div className={contentClassName} style={contentStyle} ref={contentElement}>\n {children}\n </div>\n </div>\n );\n});\n\nexport default AnimateHeight;\n"],"names":["isNumber","n","number","isPercentage","height","hideContent","element","showContent","ANIMATION_STATE_CLASSES","getStaticStateClasses","animationStateClasses","classNames","AnimateHeight","forwardRef","animateOpacity","applyInlineTransitions","children","className","contentClassName","userDelay","userDuration","easing","onHeightAnimationEnd","onHeightAnimationStart","style","props","ref","prevHeight","useRef","contentElement","rootElement","forkedRootRef","useForkRef","animationClassesTimeoutID","timeoutID","stateClasses","delay","duration","initHeight","initOverflow","currentHeight","setCurrentHeight","useState","overflow","setOverflow","useTransitions","setUseTransitions","animationStateClassNames","setAnimationStateClassNames","useEffect","contentHeight","totalDuration","newHeight","timeoutHeight","timeoutOverflow","timeoutUseTransitions","isCurrentHeightAuto","newAnimationStateClassNames","timeoutAnimationStateClasses","componentStyle","contentStyle","ariaHidden","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as p } from "react";
|
|
3
|
+
import u from "clsx";
|
|
4
|
+
const $ = p(function({ className: s, weight: t = 400, fill: c = 0, size: o = 20, grade: d = 100, name: l, color: n = "inherit", title: r, ...a }, m) {
|
|
5
|
+
const e = r === void 0, f = n && ["primary", "secondary", "error", "success", "warning", "info", "disabled"].includes(n) ? `smwb-icon_color-${n}` : null;
|
|
6
|
+
return /* @__PURE__ */ i(
|
|
7
|
+
"span",
|
|
8
|
+
{
|
|
9
|
+
...a,
|
|
10
|
+
ref: m,
|
|
11
|
+
"data-testid": "icon",
|
|
12
|
+
role: e ? void 0 : "img",
|
|
13
|
+
"aria-hidden": e ? !0 : void 0,
|
|
14
|
+
"aria-label": r,
|
|
15
|
+
title: r,
|
|
16
|
+
style: { ...a.style, fontVariationSettings: `'FILL' ${c}, 'wght' ${t}, 'GRAD' ${d}, 'opsz' 48` },
|
|
17
|
+
className: u("smwb-icon__wrapper", f, s),
|
|
18
|
+
children: /* @__PURE__ */ i("span", { className: "material-symbols-outlined", style: { fontSize: typeof o == "number" ? `${o}px` : o }, children: l })
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
$ as Icon,
|
|
24
|
+
$ as default
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","sources":["../../../../../src/components/base/icon/icon.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport cn from \"clsx\";\n\nexport type IconColor = \"inherit\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\" | \"disabled\";\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Icon name from https://fonts.google.com/icons\n * Пример: name={\"arrow_right_alt\"}\n */\n name: string;\n className?: string;\n weight?: number;\n fill?: 0 | 1;\n /** Pixel number or any CSS length (e.g. \"1.5rem\"). */\n size?: number | string;\n grade?: number;\n /**\n * Semantic color token; `inherit` (default) keeps the text color.\n * Any string is accepted for backward compatibility, but only known\n * {@link IconColor} tokens emit a color class.\n */\n color?: IconColor | (string & {});\n /**\n * Accessible name. When provided the icon is exposed as\n * `role=\"img\"`; otherwise it is `aria-hidden` (decorative).\n */\n title?: string;\n}\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(\n { className, weight = 400, fill = 0, size = 20, grade = 100, name, color = \"inherit\", title, ...props },\n ref\n) {\n const decorative = title === undefined;\n const colorClass =\n color && [\"primary\", \"secondary\", \"error\", \"success\", \"warning\", \"info\", \"disabled\"].includes(color)\n ? `smwb-icon_color-${color}`\n : null;\n return (\n <span\n {...props}\n ref={ref}\n data-testid=\"icon\"\n role={decorative ? undefined : \"img\"}\n aria-hidden={decorative ? true : undefined}\n aria-label={title}\n title={title}\n style={{ ...props.style, fontVariationSettings: `'FILL' ${fill}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' 48` }}\n className={cn(\"smwb-icon__wrapper\", colorClass, className)}\n >\n <span className=\"material-symbols-outlined\" style={{ fontSize: typeof size === \"number\" ? `${size}px` : size }}>\n {name}\n </span>\n </span>\n );\n});\n\nexport default Icon;\n"],"names":["Icon","forwardRef","className","weight","fill","size","grade","name","color","title","props","ref","decorative","colorClass","jsx","cn"],"mappings":";;;AA8BO,MAAMA,IAAOC,EAAuC,SACzD,EAAE,WAAAC,GAAW,QAAAC,IAAS,KAAK,MAAAC,IAAO,GAAG,MAAAC,IAAO,IAAI,OAAAC,IAAQ,KAAK,MAAAC,GAAM,OAAAC,IAAQ,WAAW,OAAAC,GAAO,GAAGC,EAAA,GAChGC,GACA;AACA,QAAMC,IAAaH,MAAU,QACvBI,IACJL,KAAS,CAAC,WAAW,aAAa,SAAS,WAAW,WAAW,QAAQ,UAAU,EAAE,SAASA,CAAK,IAC/F,mBAAmBA,CAAK,KACxB;AACN,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,KAAAC;AAAA,MACA,eAAY;AAAA,MACZ,MAAMC,IAAa,SAAY;AAAA,MAC/B,eAAaA,IAAa,KAAO;AAAA,MACjC,cAAYH;AAAA,MACZ,OAAAA;AAAA,MACA,OAAO,EAAE,GAAGC,EAAM,OAAO,uBAAuB,UAAUN,CAAI,YAAYD,CAAM,YAAYG,CAAK,cAAA;AAAA,MACjG,WAAWS,EAAG,sBAAsBF,GAAYX,CAAS;AAAA,MAEzD,UAAA,gBAAAY,EAAC,QAAA,EAAK,WAAU,6BAA4B,OAAO,EAAE,UAAU,OAAOT,KAAS,WAAW,GAAGA,CAAI,OAAOA,EAAA,GACrG,UAAAE,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as R } from "react/jsx-runtime";
|
|
2
|
+
import u, { forwardRef as N } from "react";
|
|
3
|
+
import b from "clsx";
|
|
4
|
+
const B = N(function({ actionRef: x, className: l, classes: i, center: g, style: e, duration: f = 600, color: r, ...a }, C) {
|
|
5
|
+
const [n, c] = u.useState([]), w = u.useRef(0);
|
|
6
|
+
return u.useImperativeHandle(
|
|
7
|
+
x,
|
|
8
|
+
() => ({
|
|
9
|
+
onRipple(d) {
|
|
10
|
+
const t = d.currentTarget.getBoundingClientRect(), h = Math.max(t.width, t.height), p = h / 2;
|
|
11
|
+
let o, m;
|
|
12
|
+
g ? (o = t.width > t.height ? 0 : t.width / 2 - p, m = t.height > t.width ? 0 : t.height / 2 - p) : (o = d.clientX - t.left - p, m = d.clientY - t.top - p), c([
|
|
13
|
+
...n,
|
|
14
|
+
/* @__PURE__ */ R(
|
|
15
|
+
"span",
|
|
16
|
+
{
|
|
17
|
+
className: b("smwb-ripple__child", i == null ? void 0 : i.child),
|
|
18
|
+
style: {
|
|
19
|
+
...e,
|
|
20
|
+
left: o,
|
|
21
|
+
top: m,
|
|
22
|
+
width: h,
|
|
23
|
+
height: h,
|
|
24
|
+
backgroundColor: r != null ? r : e == null ? void 0 : e.backgroundColor
|
|
25
|
+
},
|
|
26
|
+
...a
|
|
27
|
+
},
|
|
28
|
+
w.current
|
|
29
|
+
)
|
|
30
|
+
]), w.current += 1, setTimeout(() => {
|
|
31
|
+
c((k) => k.slice(1));
|
|
32
|
+
}, f);
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
[a, g, n, i == null ? void 0 : i.child, e, f, r]
|
|
36
|
+
), /* @__PURE__ */ R("span", { ref: C, className: b("smwb-ripple", l, i == null ? void 0 : i.ripple), "data-testid": "ripple", "aria-hidden": "true", children: n });
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
B as Ripple
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=ripple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ripple.js","sources":["../../../../../src/components/base/ripple/ripple.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport cn from \"clsx\";\n\nexport interface RippleActionsRef {\n onRipple: (event: React.MouseEvent) => void;\n}\n\nexport interface RippleClasses {\n ripple?: string;\n child?: string;\n}\n\nexport interface RippleProps extends React.HTMLAttributes<HTMLSpanElement> {\n actionRef: React.Ref<RippleActionsRef>;\n classes?: RippleClasses;\n center?: boolean;\n /** Ripple lifetime in ms. */\n duration?: number;\n /** Ripple color (any CSS color). Defaults to inherited currentColor. */\n color?: string;\n}\n\n/**\n * ⚠️ Для правильной работы этого эффекта, установите у компонента родителя CSS: **position: relative;**\n */\n\nexport const Ripple = forwardRef<HTMLSpanElement, RippleProps>(function Ripple(\n { actionRef, className, classes, center, style, duration = 600, color, ...rest },\n ref\n) {\n const [ripples, setRipples] = React.useState<React.ReactNode[]>([]);\n const nextKey = React.useRef<number>(0);\n\n React.useImperativeHandle(\n actionRef,\n () => ({\n onRipple(event: React.MouseEvent) {\n const target = event.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const diameter = Math.max(rect.width, rect.height);\n const radius = diameter / 2;\n\n let coordX;\n let coordY;\n\n if (center) {\n coordX = rect.width > rect.height ? 0 : rect.width / 2 - radius;\n coordY = rect.height > rect.width ? 0 : rect.height / 2 - radius;\n } else {\n coordX = event.clientX - rect.left - radius;\n coordY = event.clientY - rect.top - radius;\n }\n\n setRipples([\n ...ripples,\n <span\n key={nextKey.current}\n className={cn(\"smwb-ripple__child\", classes?.child)}\n style={{\n ...style,\n left: coordX,\n top: coordY,\n width: diameter,\n height: diameter,\n backgroundColor: color ?? style?.backgroundColor,\n }}\n {...rest}\n />,\n ]);\n\n nextKey.current += 1;\n\n setTimeout(() => {\n setRipples((prevRipples) => prevRipples.slice(1));\n }, duration);\n },\n }),\n [rest, center, ripples, classes?.child, style, duration, color]\n );\n\n return (\n <span ref={ref} className={cn(\"smwb-ripple\", className, classes?.ripple)} data-testid=\"ripple\" aria-hidden=\"true\">\n {ripples}\n </span>\n );\n});\n"],"names":["Ripple","forwardRef","actionRef","className","classes","center","style","duration","color","rest","ref","ripples","setRipples","React","nextKey","event","rect","diameter","radius","coordX","coordY","jsx","cn","prevRipples"],"mappings":";;;AA0BO,MAAMA,IAASC,EAAyC,SAC7D,EAAE,WAAAC,GAAW,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,OAAAC,GAAO,UAAAC,IAAW,KAAK,OAAAC,GAAO,GAAGC,EAAA,GAC1EC,GACA;AACA,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAA4B,CAAA,CAAE,GAC5DC,IAAUD,EAAM,OAAe,CAAC;AAEtC,SAAAA,EAAM;AAAA,IACJX;AAAA,IACA,OAAO;AAAA,MACL,SAASa,GAAyB;AAEhC,cAAMC,IADSD,EAAM,cACD,sBAAA,GACdE,IAAW,KAAK,IAAID,EAAK,OAAOA,EAAK,MAAM,GAC3CE,IAASD,IAAW;AAE1B,YAAIE,GACAC;AAEJ,QAAIf,KACFc,IAASH,EAAK,QAAQA,EAAK,SAAS,IAAIA,EAAK,QAAQ,IAAIE,GACzDE,IAASJ,EAAK,SAASA,EAAK,QAAQ,IAAIA,EAAK,SAAS,IAAIE,MAE1DC,IAASJ,EAAM,UAAUC,EAAK,OAAOE,GACrCE,IAASL,EAAM,UAAUC,EAAK,MAAME,IAGtCN,EAAW;AAAA,UACT,GAAGD;AAAA,UACH,gBAAAU;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWC,EAAG,sBAAsBlB,KAAA,gBAAAA,EAAS,KAAK;AAAA,cAClD,OAAO;AAAA,gBACL,GAAGE;AAAA,gBACH,MAAMa;AAAA,gBACN,KAAKC;AAAA,gBACL,OAAOH;AAAA,gBACP,QAAQA;AAAA,gBACR,iBAAiBT,KAAA,OAAAA,IAASF,KAAA,gBAAAA,EAAO;AAAA,cAAA;AAAA,cAElC,GAAGG;AAAA,YAAA;AAAA,YAVCK,EAAQ;AAAA,UAAA;AAAA,QAWf,CACD,GAEDA,EAAQ,WAAW,GAEnB,WAAW,MAAM;AACf,UAAAF,EAAW,CAACW,MAAgBA,EAAY,MAAM,CAAC,CAAC;AAAA,QAClD,GAAGhB,CAAQ;AAAA,MACb;AAAA,IAAA;AAAA,IAEF,CAACE,GAAMJ,GAAQM,GAASP,KAAA,gBAAAA,EAAS,OAAOE,GAAOC,GAAUC,CAAK;AAAA,EAAA,GAI9D,gBAAAa,EAAC,QAAA,EAAK,KAAAX,GAAU,WAAWY,EAAG,eAAenB,GAAWC,KAAA,gBAAAA,EAAS,MAAM,GAAG,eAAY,UAAS,eAAY,QACxG,UAAAO,GACH;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as g, Fragment as k } from "react/jsx-runtime";
|
|
2
|
+
import P, { useRef as a, useEffect as p } from "react";
|
|
3
|
+
import { useForkRef as y } from "../../hooks/useForkRef.js";
|
|
4
|
+
import { useEventCallback as C } from "../../hooks/useEventCallback.js";
|
|
5
|
+
function E(t) {
|
|
6
|
+
return t.substring(2).toLowerCase();
|
|
7
|
+
}
|
|
8
|
+
function M(t, s) {
|
|
9
|
+
return s.documentElement.clientWidth < t.clientX || s.documentElement.clientHeight < t.clientY;
|
|
10
|
+
}
|
|
11
|
+
function A({
|
|
12
|
+
children: t,
|
|
13
|
+
disableReactTree: s = !1,
|
|
14
|
+
mouseEvent: n = "onMouseUp",
|
|
15
|
+
onClickAway: L,
|
|
16
|
+
touchEvent: r = "onTouchEnd",
|
|
17
|
+
enabled: v = !0
|
|
18
|
+
}) {
|
|
19
|
+
const f = a(!1), u = a(null), l = a(!1), d = a(!1);
|
|
20
|
+
p(() => (setTimeout(() => {
|
|
21
|
+
l.current = !0;
|
|
22
|
+
}, 0), () => {
|
|
23
|
+
l.current = !1;
|
|
24
|
+
}), []);
|
|
25
|
+
const T = y(t.ref, u), o = C((e) => {
|
|
26
|
+
const c = d.current;
|
|
27
|
+
if (d.current = !1, !v || !l.current || !u.current || "clientX" in e && M(e, document))
|
|
28
|
+
return;
|
|
29
|
+
if (f.current) {
|
|
30
|
+
f.current = !1;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let i;
|
|
34
|
+
if (e.composedPath)
|
|
35
|
+
i = e.composedPath().indexOf(u.current) > -1;
|
|
36
|
+
else {
|
|
37
|
+
const R = e.target;
|
|
38
|
+
i = !document.documentElement.contains(R) || u.current.contains(R);
|
|
39
|
+
}
|
|
40
|
+
!i && (s || !c) && L(e);
|
|
41
|
+
}), h = (e) => (c) => {
|
|
42
|
+
d.current = !0;
|
|
43
|
+
const i = t.props[e];
|
|
44
|
+
i && i(c);
|
|
45
|
+
}, m = { ref: T };
|
|
46
|
+
return r !== !1 && (m[r] = h(r)), p(() => {
|
|
47
|
+
if (r !== !1) {
|
|
48
|
+
const e = E(r), c = () => {
|
|
49
|
+
f.current = !0;
|
|
50
|
+
};
|
|
51
|
+
return document.addEventListener(e, o), document.addEventListener("touchmove", c), () => {
|
|
52
|
+
document.removeEventListener(e, o), document.removeEventListener("touchmove", c);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}, [o, r]), n !== !1 && (m[n] = h(n)), p(() => {
|
|
56
|
+
if (n !== !1) {
|
|
57
|
+
const e = E(n);
|
|
58
|
+
return document.addEventListener(e, o), () => {
|
|
59
|
+
document.removeEventListener(e, o);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}, [o, n]), /* @__PURE__ */ g(k, { children: P.cloneElement(t, m) });
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
A as ClickAwayListener
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=clickAwayListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickAwayListener.js","sources":["../../../../src/components/clickAwayListener/clickAwayListener.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { useForkRef } from \"../../hooks/useForkRef\";\nimport { useEventCallback } from \"../../hooks/useEventCallback\";\n\ntype ClickAwayMouseEventHandler = \"onClick\" | \"onMouseDown\" | \"onMouseUp\" | \"onPointerDown\" | \"onPointerUp\";\ntype ClickAwayTouchEventHandler = \"onTouchStart\" | \"onTouchEnd\";\n\nfunction mapEventPropToEvent(eventProp: ClickAwayMouseEventHandler | ClickAwayTouchEventHandler) {\n return eventProp.substring(2).toLowerCase() as\n | \"click\"\n | \"mousedown\"\n | \"mouseup\"\n | \"touchstart\"\n | \"touchend\"\n | \"pointerdown\"\n | \"pointerup\";\n}\n\nfunction clickedRootScrollbar(event: MouseEvent, doc: Document) {\n return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n\nexport interface ClickAwayListenerProps {\n children: React.ReactElement;\n disableReactTree?: boolean;\n mouseEvent?: ClickAwayMouseEventHandler | false;\n onClickAway: (event: MouseEvent | TouchEvent) => void;\n touchEvent?: ClickAwayTouchEventHandler | false;\n /** When false, the listener is inert without unmounting the child. */\n enabled?: boolean;\n}\n\nexport function ClickAwayListener({\n children,\n disableReactTree = false,\n mouseEvent = \"onMouseUp\",\n onClickAway,\n touchEvent = \"onTouchEnd\",\n enabled = true,\n}: ClickAwayListenerProps) {\n const movedRef = useRef(false);\n const nodeRef = useRef<Element>(null);\n const activatedRef = useRef(false);\n const syntheticEventRef = useRef(false);\n\n useEffect(() => {\n // https://github.com/facebook/react/issues/20074\n setTimeout(() => {\n activatedRef.current = true;\n }, 0);\n return () => {\n activatedRef.current = false;\n };\n }, []);\n\n const handleRef = useForkRef((children as React.ReactElement & { ref: React.Ref<Element> }).ref, nodeRef);\n\n const handleClickAway = useEventCallback((event: MouseEvent | TouchEvent) => {\n const insideReactTree = syntheticEventRef.current;\n syntheticEventRef.current = false;\n\n if (\n !enabled ||\n !activatedRef.current ||\n !nodeRef.current ||\n (\"clientX\" in event && clickedRootScrollbar(event, document))\n ) {\n return;\n }\n\n if (movedRef.current) {\n movedRef.current = false;\n return;\n }\n\n let insideDOM;\n\n if (event.composedPath) {\n insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;\n } else {\n const target = event.target as HTMLElement;\n\n insideDOM = !document.documentElement.contains(target) || nodeRef.current.contains(target);\n }\n\n if (!insideDOM && (disableReactTree || !insideReactTree)) {\n onClickAway(event);\n }\n });\n\n const createHandleSynthetic = (handlerName: string) => (event: React.SyntheticEvent) => {\n syntheticEventRef.current = true;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n const childrenPropsHandler = children.props[handlerName];\n\n if (childrenPropsHandler) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n childrenPropsHandler(event);\n }\n };\n\n const childrenProps: { ref: React.Ref<Element> } & Pick<\n React.DOMAttributes<Element>,\n ClickAwayMouseEventHandler | ClickAwayTouchEventHandler\n > = { ref: handleRef };\n\n if (touchEvent !== false) {\n childrenProps[touchEvent] = createHandleSynthetic(touchEvent);\n }\n\n useEffect(() => {\n if (touchEvent !== false) {\n const mappedTouchEvent = mapEventPropToEvent(touchEvent);\n\n const handleTouchMove = () => {\n movedRef.current = true;\n };\n\n document.addEventListener(mappedTouchEvent, handleClickAway);\n document.addEventListener(\"touchmove\", handleTouchMove);\n\n return () => {\n document.removeEventListener(mappedTouchEvent, handleClickAway);\n document.removeEventListener(\"touchmove\", handleTouchMove);\n };\n }\n\n return undefined;\n }, [handleClickAway, touchEvent]);\n\n if (mouseEvent !== false) {\n childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);\n }\n\n useEffect(() => {\n if (mouseEvent !== false) {\n const mappedMouseEvent = mapEventPropToEvent(mouseEvent);\n\n document.addEventListener(mappedMouseEvent, handleClickAway);\n\n return () => {\n document.removeEventListener(mappedMouseEvent, handleClickAway);\n };\n }\n\n return undefined;\n }, [handleClickAway, mouseEvent]);\n\n return <>{React.cloneElement(children, childrenProps)}</>;\n}\n"],"names":["mapEventPropToEvent","eventProp","clickedRootScrollbar","event","doc","ClickAwayListener","children","disableReactTree","mouseEvent","onClickAway","touchEvent","enabled","movedRef","useRef","nodeRef","activatedRef","syntheticEventRef","useEffect","handleRef","useForkRef","handleClickAway","useEventCallback","insideReactTree","insideDOM","target","createHandleSynthetic","handlerName","childrenPropsHandler","childrenProps","mappedTouchEvent","handleTouchMove","mappedMouseEvent","jsx","Fragment","React"],"mappings":";;;;AAOA,SAASA,EAAoBC,GAAoE;AAC/F,SAAOA,EAAU,UAAU,CAAC,EAAE,YAAA;AAQhC;AAEA,SAASC,EAAqBC,GAAmBC,GAAe;AAC9D,SAAOA,EAAI,gBAAgB,cAAcD,EAAM,WAAWC,EAAI,gBAAgB,eAAeD,EAAM;AACrG;AAYO,SAASE,EAAkB;AAAA,EAChC,UAAAC;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC,IAAU;AACZ,GAA2B;AACzB,QAAMC,IAAWC,EAAO,EAAK,GACvBC,IAAUD,EAAgB,IAAI,GAC9BE,IAAeF,EAAO,EAAK,GAC3BG,IAAoBH,EAAO,EAAK;AAEtC,EAAAI,EAAU,OAER,WAAW,MAAM;AACf,IAAAF,EAAa,UAAU;AAAA,EACzB,GAAG,CAAC,GACG,MAAM;AACX,IAAAA,EAAa,UAAU;AAAA,EACzB,IACC,CAAA,CAAE;AAEL,QAAMG,IAAYC,EAAYb,EAA8D,KAAKQ,CAAO,GAElGM,IAAkBC,EAAiB,CAAClB,MAAmC;AAC3E,UAAMmB,IAAkBN,EAAkB;AAG1C,QAFAA,EAAkB,UAAU,IAG1B,CAACL,KACD,CAACI,EAAa,WACd,CAACD,EAAQ,WACR,aAAaX,KAASD,EAAqBC,GAAO,QAAQ;AAE3D;AAGF,QAAIS,EAAS,SAAS;AACpB,MAAAA,EAAS,UAAU;AACnB;AAAA,IACF;AAEA,QAAIW;AAEJ,QAAIpB,EAAM;AACR,MAAAoB,IAAYpB,EAAM,aAAA,EAAe,QAAQW,EAAQ,OAAO,IAAI;AAAA,SACvD;AACL,YAAMU,IAASrB,EAAM;AAErB,MAAAoB,IAAY,CAAC,SAAS,gBAAgB,SAASC,CAAM,KAAKV,EAAQ,QAAQ,SAASU,CAAM;AAAA,IAC3F;AAEA,IAAI,CAACD,MAAchB,KAAoB,CAACe,MACtCb,EAAYN,CAAK;AAAA,EAErB,CAAC,GAEKsB,IAAwB,CAACC,MAAwB,CAACvB,MAAgC;AACtF,IAAAa,EAAkB,UAAU;AAG5B,UAAMW,IAAuBrB,EAAS,MAAMoB,CAAW;AAEvD,IAAIC,KAEFA,EAAqBxB,CAAK;AAAA,EAE9B,GAEMyB,IAGF,EAAE,KAAKV,EAAA;AAEX,SAAIR,MAAe,OACjBkB,EAAclB,CAAU,IAAIe,EAAsBf,CAAU,IAG9DO,EAAU,MAAM;AACd,QAAIP,MAAe,IAAO;AACxB,YAAMmB,IAAmB7B,EAAoBU,CAAU,GAEjDoB,IAAkB,MAAM;AAC5B,QAAAlB,EAAS,UAAU;AAAA,MACrB;AAEA,sBAAS,iBAAiBiB,GAAkBT,CAAe,GAC3D,SAAS,iBAAiB,aAAaU,CAAe,GAE/C,MAAM;AACX,iBAAS,oBAAoBD,GAAkBT,CAAe,GAC9D,SAAS,oBAAoB,aAAaU,CAAe;AAAA,MAC3D;AAAA,IACF;AAAA,EAGF,GAAG,CAACV,GAAiBV,CAAU,CAAC,GAE5BF,MAAe,OACjBoB,EAAcpB,CAAU,IAAIiB,EAAsBjB,CAAU,IAG9DS,EAAU,MAAM;AACd,QAAIT,MAAe,IAAO;AACxB,YAAMuB,IAAmB/B,EAAoBQ,CAAU;AAEvD,sBAAS,iBAAiBuB,GAAkBX,CAAe,GAEpD,MAAM;AACX,iBAAS,oBAAoBW,GAAkBX,CAAe;AAAA,MAChE;AAAA,IACF;AAAA,EAGF,GAAG,CAACA,GAAiBZ,CAAU,CAAC,GAEzB,gBAAAwB,EAAAC,GAAA,EAAG,UAAAC,EAAM,aAAa5B,GAAUsB,CAAa,GAAE;AACxD;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsxs as _, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as z, useState as H } from "react";
|
|
3
|
+
import b from "clsx";
|
|
4
|
+
import R from "../../base/animateHeight/animateHeight.js";
|
|
5
|
+
import { Icon as S } from "../../base/icon/icon.js";
|
|
6
|
+
import { useId as q } from "../../../hooks/useId.js";
|
|
7
|
+
const L = z(function({
|
|
8
|
+
className: u,
|
|
9
|
+
title: w,
|
|
10
|
+
isOpenByDefault: I = !1,
|
|
11
|
+
open: n,
|
|
12
|
+
disabled: a,
|
|
13
|
+
icon: e,
|
|
14
|
+
id: x,
|
|
15
|
+
children: t,
|
|
16
|
+
startAdornment: s,
|
|
17
|
+
noIcon: N,
|
|
18
|
+
onToggleClick: c,
|
|
19
|
+
onChange: i
|
|
20
|
+
}, h) {
|
|
21
|
+
const d = n !== void 0, [v, O] = H(I), o = d ? !!n : v, m = q(x), p = `${m}-content`, f = `${m}-header`, y = b("smwb-accordion__arrow-icon", { "smwb-accordion__arrow-icon_opened": o }), j = ($) => {
|
|
22
|
+
if (a)
|
|
23
|
+
return;
|
|
24
|
+
const l = !o;
|
|
25
|
+
d || O(l), i == null || i(l), c == null || c($);
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ _("div", { ref: h, className: b("smwb-accordion", { "smwb-disabled": a }, u), "data-testid": "accordion", children: [
|
|
28
|
+
/* @__PURE__ */ _(
|
|
29
|
+
"button",
|
|
30
|
+
{
|
|
31
|
+
id: f,
|
|
32
|
+
className: "smwb-accordion__header",
|
|
33
|
+
onClick: j,
|
|
34
|
+
type: "button",
|
|
35
|
+
disabled: a,
|
|
36
|
+
"aria-expanded": o,
|
|
37
|
+
"aria-controls": t ? p : void 0,
|
|
38
|
+
children: [
|
|
39
|
+
s == null ? void 0 : s(o),
|
|
40
|
+
/* @__PURE__ */ r("span", { className: "smwb-accordion__title", children: w }),
|
|
41
|
+
!N && (e != null ? e : /* @__PURE__ */ r(S, { className: y, name: "expand_more", size: 24 }))
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
t && /* @__PURE__ */ r("div", { id: p, role: "region", "aria-labelledby": f, children: /* @__PURE__ */ r(
|
|
46
|
+
R,
|
|
47
|
+
{
|
|
48
|
+
height: o ? "auto" : 0,
|
|
49
|
+
animateOpacity: !0,
|
|
50
|
+
duration: 300,
|
|
51
|
+
className: "smwb-accordion__content",
|
|
52
|
+
children: t
|
|
53
|
+
}
|
|
54
|
+
) })
|
|
55
|
+
] });
|
|
56
|
+
});
|
|
57
|
+
export {
|
|
58
|
+
L as Accordion,
|
|
59
|
+
L as default
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sources":["../../../../../src/components/dataDisplay/accordion/accordion.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode, useState } from \"react\";\nimport cn from \"clsx\";\nimport AnimateHeight from \"../../base/animateHeight/animateHeight\";\nimport Icon from \"../../base/icon/icon\";\nimport { useId } from \"../../../hooks/useId\";\n\nexport interface AccordionProps {\n className?: string;\n title?: string;\n isOpenByDefault?: boolean;\n /** Controlled open state. When set, the component is controlled. */\n open?: boolean;\n /** Disable toggling. */\n disabled?: boolean;\n /** Custom expand icon (replaces the default chevron). */\n icon?: ReactNode;\n id?: string;\n children?: React.ReactNode;\n startAdornment?: (isOpen: boolean) => React.ReactNode;\n noIcon?: boolean;\n onToggleClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** Fired with the next open state on toggle. */\n onChange?: (open: boolean) => void;\n}\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(function Accordion(\n {\n className,\n title,\n isOpenByDefault = false,\n open,\n disabled,\n icon,\n id: idProp,\n children,\n startAdornment,\n noIcon,\n onToggleClick,\n onChange,\n },\n ref\n) {\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState<boolean>(isOpenByDefault);\n const isOpen = isControlled ? !!open : internalOpen;\n const baseId = useId(idProp);\n const contentId = `${baseId}-content`;\n const headerId = `${baseId}-header`;\n\n const arrowIconClasses = cn(\"smwb-accordion__arrow-icon\", { \"smwb-accordion__arrow-icon_opened\": isOpen });\n\n const toggle = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n if (disabled) {\n return;\n }\n const next = !isOpen;\n if (!isControlled) {\n setInternalOpen(next);\n }\n onChange?.(next);\n onToggleClick?.(e);\n };\n\n return (\n <div ref={ref} className={cn(\"smwb-accordion\", { \"smwb-disabled\": disabled }, className)} data-testid=\"accordion\">\n <button\n id={headerId}\n className=\"smwb-accordion__header\"\n onClick={toggle}\n type=\"button\"\n disabled={disabled}\n aria-expanded={isOpen}\n aria-controls={children ? contentId : undefined}\n >\n {startAdornment?.(isOpen)}\n <span className=\"smwb-accordion__title\">{title}</span>\n {!noIcon && (icon ?? <Icon className={arrowIconClasses} name=\"expand_more\" size={24} />)}\n </button>\n\n {children && (\n <div id={contentId} role=\"region\" aria-labelledby={headerId}>\n <AnimateHeight\n height={isOpen ? \"auto\" : 0}\n animateOpacity={true}\n duration={300}\n className=\"smwb-accordion__content\"\n >\n {children}\n </AnimateHeight>\n </div>\n )}\n </div>\n );\n});\n\nexport default Accordion;\n"],"names":["Accordion","forwardRef","className","title","isOpenByDefault","open","disabled","icon","idProp","children","startAdornment","noIcon","onToggleClick","onChange","ref","isControlled","internalOpen","setInternalOpen","useState","isOpen","baseId","useId","contentId","headerId","arrowIconClasses","cn","toggle","e","next","jsxs","jsx","Icon","AnimateHeight"],"mappings":";;;;;;AAyBO,MAAMA,IAAYC,EAA2C,SAClE;AAAA,EACE,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AACF,GACAC,GACA;AACA,QAAMC,IAAeV,MAAS,QACxB,CAACW,GAAcC,CAAe,IAAIC,EAAkBd,CAAe,GACnEe,IAASJ,IAAe,CAAC,CAACV,IAAOW,GACjCI,IAASC,EAAMb,CAAM,GACrBc,IAAY,GAAGF,CAAM,YACrBG,IAAW,GAAGH,CAAM,WAEpBI,IAAmBC,EAAG,8BAA8B,EAAE,qCAAqCN,GAAQ,GAEnGO,IAAS,CAACC,MAAuD;AACrE,QAAIrB;AACF;AAEF,UAAMsB,IAAO,CAACT;AACd,IAAKJ,KACHE,EAAgBW,CAAI,GAEtBf,KAAA,QAAAA,EAAWe,IACXhB,KAAA,QAAAA,EAAgBe;AAAA,EAClB;AAEA,SACE,gBAAAE,EAAC,OAAA,EAAI,KAAAf,GAAU,WAAWW,EAAG,kBAAkB,EAAE,iBAAiBnB,EAAA,GAAYJ,CAAS,GAAG,eAAY,aACpG,UAAA;AAAA,IAAA,gBAAA2B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIN;AAAA,QACJ,WAAU;AAAA,QACV,SAASG;AAAA,QACT,MAAK;AAAA,QACL,UAAApB;AAAA,QACA,iBAAea;AAAA,QACf,iBAAeV,IAAWa,IAAY;AAAA,QAErC,UAAA;AAAA,UAAAZ,KAAA,gBAAAA,EAAiBS;AAAA,UAClB,gBAAAW,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA3B,GAAM;AAAA,UAC9C,CAACQ,MAAWJ,KAAA,OAAAA,IAAQ,gBAAAuB,EAACC,GAAA,EAAK,WAAWP,GAAkB,MAAK,eAAc,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtFf,uBACE,OAAA,EAAI,IAAIa,GAAW,MAAK,UAAS,mBAAiBC,GACjD,UAAA,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,QAAQb,IAAS,SAAS;AAAA,QAC1B,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,WAAU;AAAA,QAET,UAAAV;AAAA,MAAA;AAAA,IAAA,EACH,CACF;AAAA,EAAA,GAEJ;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as c, jsxs as C } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as _, useState as E, Children as S, isValidElement as $ } from "react";
|
|
3
|
+
import f from "clsx";
|
|
4
|
+
const w = (o) => typeof o == "string", j = _(function({ className: u, src: r, alt: e, size: t = "medium", variant: d = "circular", color: n, style: i, imgProps: a, children: m, ...v }, s) {
|
|
5
|
+
const [l, N] = E(!1), b = !!r && !l, x = f(
|
|
6
|
+
"smwb-avatar",
|
|
7
|
+
`smwb-avatar_${d}`,
|
|
8
|
+
w(t) ? `smwb-avatar_${t}` : null,
|
|
9
|
+
u
|
|
10
|
+
), y = {
|
|
11
|
+
...i,
|
|
12
|
+
...w(t) ? {} : { width: t, height: t, fontSize: t / 2.5 },
|
|
13
|
+
...n && !b ? { backgroundColor: n } : {}
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ c("div", { ref: s, ...v, "data-testid": "avatar", className: x, style: y, children: b ? /* @__PURE__ */ c(
|
|
16
|
+
"img",
|
|
17
|
+
{
|
|
18
|
+
...a,
|
|
19
|
+
className: f("smwb-avatar__img", a == null ? void 0 : a.className),
|
|
20
|
+
src: r,
|
|
21
|
+
alt: e,
|
|
22
|
+
onError: (A) => {
|
|
23
|
+
var h;
|
|
24
|
+
N(!0), (h = a == null ? void 0 : a.onError) == null || h.call(a, A);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
) : /* @__PURE__ */ c("span", { className: "smwb-avatar__fallback", role: "img", "aria-label": e, children: m }) });
|
|
28
|
+
}), I = _(function({ className: u, max: r = 5, total: e, onSurplusClick: t, children: d, ...n }, i) {
|
|
29
|
+
const a = S.toArray(d).filter($), m = e != null ? e : a.length, v = Math.max(r, 1), s = a.slice(0, v), l = m - s.length;
|
|
30
|
+
return /* @__PURE__ */ C("div", { ref: i, ...n, "data-testid": "avatar-group", className: f("smwb-avatar-group", u), children: [
|
|
31
|
+
l > 0 ? /* @__PURE__ */ c(
|
|
32
|
+
j,
|
|
33
|
+
{
|
|
34
|
+
className: "smwb-avatar-group__surplus",
|
|
35
|
+
onClick: t,
|
|
36
|
+
style: t ? { cursor: "pointer" } : void 0,
|
|
37
|
+
children: `+${l}`
|
|
38
|
+
}
|
|
39
|
+
) : null,
|
|
40
|
+
s
|
|
41
|
+
] });
|
|
42
|
+
});
|
|
43
|
+
export {
|
|
44
|
+
j as Avatar,
|
|
45
|
+
I as AvatarGroup,
|
|
46
|
+
j as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sources":["../../../../../src/components/dataDisplay/avatar/avatar.tsx"],"sourcesContent":["import {\n Children,\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ImgHTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n useState,\n} from \"react\";\nimport cn from \"clsx\";\n\nexport type AvatarSize = \"small\" | \"medium\" | \"large\";\n\nexport interface AvatarProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n /** Image source. Falls back to children (initials / icon) on error or when absent. */\n src?: string;\n alt?: string;\n /** Preset size or an explicit pixel value. */\n size?: AvatarSize | number;\n variant?: \"circular\" | \"rounded\" | \"square\";\n /** Background color for the fallback (initials / icon). */\n color?: string;\n /** Extra attributes forwarded to the underlying <img> (srcSet, loading…). */\n imgProps?: ImgHTMLAttributes<HTMLImageElement>;\n}\n\nconst isPresetSize = (size: AvatarSize | number): size is AvatarSize => typeof size === \"string\";\n\nexport const Avatar = forwardRef<HTMLDivElement, PropsWithChildren<AvatarProps>>(function Avatar(\n { className, src, alt, size = \"medium\", variant = \"circular\", color, style, imgProps, children, ...props },\n ref\n) {\n const [imgFailed, setImgFailed] = useState(false);\n const showImage = Boolean(src) && !imgFailed;\n\n const avatarClassName = cn(\n \"smwb-avatar\",\n `smwb-avatar_${variant}`,\n isPresetSize(size) ? `smwb-avatar_${size}` : null,\n className\n );\n\n const inlineStyle: CSSProperties = {\n ...style,\n ...(isPresetSize(size) ? {} : { width: size, height: size, fontSize: size / 2.5 }),\n ...(color && !showImage ? { backgroundColor: color } : {}),\n };\n\n return (\n <div ref={ref} {...props} data-testid=\"avatar\" className={avatarClassName} style={inlineStyle}>\n {showImage ? (\n <img\n {...imgProps}\n className={cn(\"smwb-avatar__img\", imgProps?.className)}\n src={src}\n alt={alt}\n onError={(e) => {\n setImgFailed(true);\n imgProps?.onError?.(e);\n }}\n />\n ) : (\n <span className=\"smwb-avatar__fallback\" role=\"img\" aria-label={alt}>\n {children}\n </span>\n )}\n </div>\n );\n});\n\nexport interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n /** Maximum avatars to show before collapsing the rest into a \"+N\" surplus. */\n max?: number;\n /** Override the total count used for the surplus label (defaults to children count). */\n total?: number;\n /** Click handler for the \"+N\" surplus chip. */\n onSurplusClick?: () => void;\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, PropsWithChildren<AvatarGroupProps>>(function AvatarGroup(\n { className, max = 5, total, onSurplusClick, children, ...props },\n ref\n) {\n const items = Children.toArray(children).filter(isValidElement);\n const totalCount = total ?? items.length;\n const clampedMax = Math.max(max, 1);\n const visible: ReactNode[] = items.slice(0, clampedMax);\n const surplus = totalCount - visible.length;\n\n return (\n <div ref={ref} {...props} data-testid=\"avatar-group\" className={cn(\"smwb-avatar-group\", className)}>\n {surplus > 0 ? (\n <Avatar\n className=\"smwb-avatar-group__surplus\"\n onClick={onSurplusClick}\n style={onSurplusClick ? { cursor: \"pointer\" } : undefined}\n >\n {`+${surplus}`}\n </Avatar>\n ) : null}\n {visible}\n </div>\n );\n});\n\nexport default Avatar;\n"],"names":["isPresetSize","size","Avatar","forwardRef","className","src","alt","variant","color","style","imgProps","children","props","ref","imgFailed","setImgFailed","useState","showImage","avatarClassName","cn","inlineStyle","jsx","e","_a","AvatarGroup","max","total","onSurplusClick","items","Children","isValidElement","totalCount","clampedMax","visible","surplus","jsxs"],"mappings":";;;AA6BA,MAAMA,IAAe,CAACC,MAAkD,OAAOA,KAAS,UAE3EC,IAASC,EAA2D,SAC/E,EAAE,WAAAC,GAAW,KAAAC,GAAK,KAAAC,GAAK,MAAAL,IAAO,UAAU,SAAAM,IAAU,YAAY,OAAAC,GAAO,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,GAAGC,EAAA,GACnGC,GACA;AACA,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAY,EAAQZ,KAAQ,CAACS,GAE7BI,IAAkBC;AAAA,IACtB;AAAA,IACA,eAAeZ,CAAO;AAAA,IACtBP,EAAaC,CAAI,IAAI,eAAeA,CAAI,KAAK;AAAA,IAC7CG;AAAA,EAAA,GAGIgB,IAA6B;AAAA,IACjC,GAAGX;AAAA,IACH,GAAIT,EAAaC,CAAI,IAAI,CAAA,IAAK,EAAE,OAAOA,GAAM,QAAQA,GAAM,UAAUA,IAAO,IAAA;AAAA,IAC5E,GAAIO,KAAS,CAACS,IAAY,EAAE,iBAAiBT,EAAA,IAAU,CAAA;AAAA,EAAC;AAG1D,SACE,gBAAAa,EAAC,OAAA,EAAI,KAAAR,GAAW,GAAGD,GAAO,eAAY,UAAS,WAAWM,GAAiB,OAAOE,GAC/E,UAAAH,IACC,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGX;AAAA,MACJ,WAAWS,EAAG,oBAAoBT,KAAA,gBAAAA,EAAU,SAAS;AAAA,MACrD,KAAAL;AAAA,MACA,KAAAC;AAAA,MACA,SAAS,CAACgB,MAAM;;AACd,QAAAP,EAAa,EAAI,IACjBQ,IAAAb,KAAA,gBAAAA,EAAU,YAAV,QAAAa,EAAA,KAAAb,GAAoBY;AAAA,MACtB;AAAA,IAAA;AAAA,EAAA,IAGF,gBAAAD,EAAC,QAAA,EAAK,WAAU,yBAAwB,MAAK,OAAM,cAAYf,GAC5D,UAAAK,EAAA,CACH,EAAA,CAEJ;AAEJ,CAAC,GAYYa,IAAcrB,EAAgE,SACzF,EAAE,WAAAC,GAAW,KAAAqB,IAAM,GAAG,OAAAC,GAAO,gBAAAC,GAAgB,UAAAhB,GAAU,GAAGC,EAAA,GAC1DC,GACA;AACA,QAAMe,IAAQC,EAAS,QAAQlB,CAAQ,EAAE,OAAOmB,CAAc,GACxDC,IAAaL,KAAA,OAAAA,IAASE,EAAM,QAC5BI,IAAa,KAAK,IAAIP,GAAK,CAAC,GAC5BQ,IAAuBL,EAAM,MAAM,GAAGI,CAAU,GAChDE,IAAUH,IAAaE,EAAQ;AAErC,SACE,gBAAAE,EAAC,OAAA,EAAI,KAAAtB,GAAW,GAAGD,GAAO,eAAY,gBAAe,WAAWO,EAAG,qBAAqBf,CAAS,GAC9F,UAAA;AAAA,IAAA8B,IAAU,IACT,gBAAAb;AAAA,MAACnB;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAASyB;AAAA,QACT,OAAOA,IAAiB,EAAE,QAAQ,cAAc;AAAA,QAE/C,cAAIO,CAAO;AAAA,MAAA;AAAA,IAAA,IAEZ;AAAA,IACHD;AAAA,EAAA,GACH;AAEJ,CAAC;"}
|