@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,67 @@
|
|
|
1
|
+
import { jsxs as c, Fragment as u, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as r, useRef as d } from "react";
|
|
3
|
+
import { createPortal as f } from "react-dom";
|
|
4
|
+
import { CSSTransition as g } from "react-transition-group";
|
|
5
|
+
import h from "clsx";
|
|
6
|
+
import { useSafeLayoutEffect as b } from "../../../hooks/useSafeLayoutEffect.js";
|
|
7
|
+
function N({ attachment: e, className: n }) {
|
|
8
|
+
const [i, a] = r(!1), [m, l] = r(), o = d(null);
|
|
9
|
+
return b(() => {
|
|
10
|
+
l(document.body);
|
|
11
|
+
}, []), e.url ? /* @__PURE__ */ c(u, { children: [
|
|
12
|
+
/* @__PURE__ */ t(
|
|
13
|
+
"button",
|
|
14
|
+
{
|
|
15
|
+
type: "button",
|
|
16
|
+
className: h("smwb-chat-attachment-image", n),
|
|
17
|
+
onClick: () => a(!0),
|
|
18
|
+
"data-testid": "chat-attachment-image",
|
|
19
|
+
"aria-label": e.name,
|
|
20
|
+
children: /* @__PURE__ */ t("img", { src: e.url, alt: e.name, className: "smwb-chat-attachment-image__img" })
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
m ? f(
|
|
24
|
+
/* @__PURE__ */ t(
|
|
25
|
+
g,
|
|
26
|
+
{
|
|
27
|
+
in: i,
|
|
28
|
+
timeout: 150,
|
|
29
|
+
mountOnEnter: !0,
|
|
30
|
+
unmountOnExit: !0,
|
|
31
|
+
nodeRef: o,
|
|
32
|
+
classNames: {
|
|
33
|
+
enterActive: "smwb-chat-attachment-image__overlay_enter-active",
|
|
34
|
+
enterDone: "smwb-chat-attachment-image__overlay_enter-done"
|
|
35
|
+
},
|
|
36
|
+
children: /* @__PURE__ */ t(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
ref: o,
|
|
40
|
+
className: "smwb-chat-attachment-image__overlay smwb-dark",
|
|
41
|
+
role: "dialog",
|
|
42
|
+
"aria-modal": "true",
|
|
43
|
+
"aria-label": e.name,
|
|
44
|
+
"data-testid": "chat-attachment-image-overlay",
|
|
45
|
+
onClick: () => a(!1),
|
|
46
|
+
children: /* @__PURE__ */ t(
|
|
47
|
+
"img",
|
|
48
|
+
{
|
|
49
|
+
src: e.url,
|
|
50
|
+
alt: e.name,
|
|
51
|
+
className: "smwb-chat-attachment-image__overlay-img",
|
|
52
|
+
onClick: (s) => s.stopPropagation()
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
m
|
|
60
|
+
) : null
|
|
61
|
+
] }) : null;
|
|
62
|
+
}
|
|
63
|
+
export {
|
|
64
|
+
N as ChatAttachmentImage,
|
|
65
|
+
N as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=chatAttachmentImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatAttachmentImage.js","sources":["../../../../../src/components/dataDisplay/chat/chatAttachmentImage.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { CSSTransition } from \"react-transition-group\";\nimport cn from \"clsx\";\nimport { ChatAttachment } from \"./types\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\n\nexport interface ChatAttachmentImageProps {\n attachment: ChatAttachment;\n className?: string;\n}\n\nexport function ChatAttachmentImage({ attachment, className }: ChatAttachmentImageProps) {\n const [open, setOpen] = useState(false);\n const [domRoot, setDomRoot] = useState<HTMLElement>();\n const nodeRef = useRef<HTMLDivElement>(null);\n\n useSafeLayoutEffect(() => {\n setDomRoot(document.body);\n }, []);\n\n if (!attachment.url) {\n return null;\n }\n\n return (\n <>\n <button\n type=\"button\"\n className={cn(\"smwb-chat-attachment-image\", className)}\n onClick={() => setOpen(true)}\n data-testid=\"chat-attachment-image\"\n aria-label={attachment.name}\n >\n <img src={attachment.url} alt={attachment.name} className=\"smwb-chat-attachment-image__img\" />\n </button>\n {domRoot\n ? createPortal(\n <CSSTransition\n in={open}\n timeout={150}\n mountOnEnter\n unmountOnExit\n nodeRef={nodeRef}\n classNames={{\n enterActive: \"smwb-chat-attachment-image__overlay_enter-active\",\n enterDone: \"smwb-chat-attachment-image__overlay_enter-done\",\n }}\n >\n <div\n ref={nodeRef}\n className=\"smwb-chat-attachment-image__overlay smwb-dark\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={attachment.name}\n data-testid=\"chat-attachment-image-overlay\"\n onClick={() => setOpen(false)}\n >\n <img\n src={attachment.url}\n alt={attachment.name}\n className=\"smwb-chat-attachment-image__overlay-img\"\n onClick={(event) => event.stopPropagation()}\n />\n </div>\n </CSSTransition>,\n domRoot\n )\n : null}\n </>\n );\n}\n\nexport default ChatAttachmentImage;\n"],"names":["ChatAttachmentImage","attachment","className","open","setOpen","useState","domRoot","setDomRoot","nodeRef","useRef","useSafeLayoutEffect","jsxs","Fragment","jsx","cn","createPortal","CSSTransition","event"],"mappings":";;;;;;AAYO,SAASA,EAAoB,EAAE,YAAAC,GAAY,WAAAC,KAAuC;AACvF,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAASC,CAAU,IAAIF,EAAA,GACxBG,IAAUC,EAAuB,IAAI;AAM3C,SAJAC,EAAoB,MAAM;AACxB,IAAAH,EAAW,SAAS,IAAI;AAAA,EAC1B,GAAG,CAAA,CAAE,GAEAN,EAAW,MAKd,gBAAAU,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAWC,EAAG,8BAA8BZ,CAAS;AAAA,QACrD,SAAS,MAAME,EAAQ,EAAI;AAAA,QAC3B,eAAY;AAAA,QACZ,cAAYH,EAAW;AAAA,QAEvB,UAAA,gBAAAY,EAAC,SAAI,KAAKZ,EAAW,KAAK,KAAKA,EAAW,MAAM,WAAU,kCAAA,CAAkC;AAAA,MAAA;AAAA,IAAA;AAAA,IAE7FK,IACGS;AAAA,MACE,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,IAAIb;AAAA,UACJ,SAAS;AAAA,UACT,cAAY;AAAA,UACZ,eAAa;AAAA,UACb,SAAAK;AAAA,UACA,YAAY;AAAA,YACV,aAAa;AAAA,YACb,WAAW;AAAA,UAAA;AAAA,UAGb,UAAA,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKL;AAAA,cACL,WAAU;AAAA,cACV,MAAK;AAAA,cACL,cAAW;AAAA,cACX,cAAYP,EAAW;AAAA,cACvB,eAAY;AAAA,cACZ,SAAS,MAAMG,EAAQ,EAAK;AAAA,cAE5B,UAAA,gBAAAS;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,KAAKZ,EAAW;AAAA,kBAChB,KAAKA,EAAW;AAAA,kBAChB,WAAU;AAAA,kBACV,SAAS,CAACgB,MAAUA,EAAM,gBAAA;AAAA,gBAAgB;AAAA,cAAA;AAAA,YAC5C;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,MAEFX;AAAA,IAAA,IAEF;AAAA,EAAA,GACN,IA/CO;AAiDX;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import m from "clsx";
|
|
3
|
+
import { isImageAttachment as o } from "./utils.js";
|
|
4
|
+
import { ChatAttachmentImage as t } from "./chatAttachmentImage.js";
|
|
5
|
+
function u({ attachments: e, className: a, enabled: l = !0 }) {
|
|
6
|
+
return !l || !(e != null && e.length) ? null : /* @__PURE__ */ i("div", { className: m("smwb-chat-attachments", a), "data-testid": "chat-attachments", children: e.map(
|
|
7
|
+
(r) => o(r) ? /* @__PURE__ */ i(t, { attachment: r }, r.id) : /* @__PURE__ */ i(
|
|
8
|
+
"a",
|
|
9
|
+
{
|
|
10
|
+
className: "smwb-chat-attachments__file",
|
|
11
|
+
href: r.url,
|
|
12
|
+
download: r.name,
|
|
13
|
+
target: "_blank",
|
|
14
|
+
rel: "noreferrer",
|
|
15
|
+
"data-testid": "chat-attachment-file",
|
|
16
|
+
children: r.name
|
|
17
|
+
},
|
|
18
|
+
r.id
|
|
19
|
+
)
|
|
20
|
+
) });
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
u as ChatAttachments,
|
|
24
|
+
u as default
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=chatAttachments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatAttachments.js","sources":["../../../../../src/components/dataDisplay/chat/chatAttachments.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { ChatAttachment } from \"./types\";\nimport { isImageAttachment } from \"./utils\";\nimport ChatAttachmentImage from \"./chatAttachmentImage\";\n\nexport interface ChatAttachmentsProps {\n attachments?: ChatAttachment[];\n className?: string;\n enabled?: boolean;\n}\n\nexport function ChatAttachments({ attachments, className, enabled = true }: ChatAttachmentsProps) {\n if (!enabled || !attachments?.length) {\n return null;\n }\n\n return (\n <div className={cn(\"smwb-chat-attachments\", className)} data-testid=\"chat-attachments\">\n {attachments.map((attachment) =>\n isImageAttachment(attachment) ? (\n <ChatAttachmentImage key={attachment.id} attachment={attachment} />\n ) : (\n <a\n key={attachment.id}\n className=\"smwb-chat-attachments__file\"\n href={attachment.url}\n download={attachment.name}\n target=\"_blank\"\n rel=\"noreferrer\"\n data-testid=\"chat-attachment-file\"\n >\n {attachment.name}\n </a>\n )\n )}\n </div>\n );\n}\n\nexport default ChatAttachments;\n"],"names":["ChatAttachments","attachments","className","enabled","jsx","cn","attachment","isImageAttachment","ChatAttachmentImage"],"mappings":";;;;AAYO,SAASA,EAAgB,EAAE,aAAAC,GAAa,WAAAC,GAAW,SAAAC,IAAU,MAA8B;AAChG,SAAI,CAACA,KAAW,EAACF,KAAA,QAAAA,EAAa,UACrB,OAIP,gBAAAG,EAAC,SAAI,WAAWC,EAAG,yBAAyBH,CAAS,GAAG,eAAY,oBACjE,UAAAD,EAAY;AAAA,IAAI,CAACK,MAChBC,EAAkBD,CAAU,sBACzBE,GAAA,EAAwC,YAAAF,EAAA,GAAfA,EAAW,EAA4B,IAEjE,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAU;AAAA,QACV,MAAME,EAAW;AAAA,QACjB,UAAUA,EAAW;AAAA,QACrB,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,eAAY;AAAA,QAEX,UAAAA,EAAW;AAAA,MAAA;AAAA,MARPA,EAAW;AAAA,IAAA;AAAA,EASlB,GAGN;AAEJ;"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as T, useId as S, useRef as W } from "react";
|
|
3
|
+
import i from "clsx";
|
|
4
|
+
import { Icon as g } from "../../base/icon/icon.js";
|
|
5
|
+
import { TextFieldWrapper as H } from "../../inputs/textField/textFieldWrapper.js";
|
|
6
|
+
import { ChatIconButton as y } from "./chatIconButton.js";
|
|
7
|
+
import { shouldComposerNewlineOnEnter as P } from "./utils.js";
|
|
8
|
+
import { TextField as R } from "../../inputs/textField/textField.js";
|
|
9
|
+
function _(o) {
|
|
10
|
+
o.stopPropagation();
|
|
11
|
+
}
|
|
12
|
+
function V(o, n, l) {
|
|
13
|
+
var s, u;
|
|
14
|
+
const e = (s = o.selectionStart) != null ? s : n.length, h = (u = o.selectionEnd) != null ? u : n.length, m = `${n.slice(0, e)}
|
|
15
|
+
${n.slice(h)}`;
|
|
16
|
+
l(m), requestAnimationFrame(() => {
|
|
17
|
+
o.selectionStart = e + 1, o.selectionEnd = e + 1;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function J({
|
|
21
|
+
className: o,
|
|
22
|
+
onSendMessage: n,
|
|
23
|
+
placeholder: l = "message",
|
|
24
|
+
disabled: e = !1,
|
|
25
|
+
sendAriaLabel: h = "Send message",
|
|
26
|
+
shiftEnterNewline: m = !0,
|
|
27
|
+
ctrlEnterNewline: s = !0,
|
|
28
|
+
fileUpload: u = !1,
|
|
29
|
+
attachInputId: f,
|
|
30
|
+
onAttachClick: b,
|
|
31
|
+
attachAriaLabel: x = "Attach file"
|
|
32
|
+
}) {
|
|
33
|
+
const [a, d] = T(""), [N, D] = T(!1), C = S(), p = W(null), k = m || s, z = !!n && a.trim().length > 0 && !e, F = u && !!(f || b), A = () => {
|
|
34
|
+
if (!n)
|
|
35
|
+
return;
|
|
36
|
+
const t = a.trim();
|
|
37
|
+
!t || e || (n(t), d(""));
|
|
38
|
+
}, B = (t) => {
|
|
39
|
+
if (P(t, { shiftEnterNewline: m, ctrlEnterNewline: s })) {
|
|
40
|
+
t.currentTarget instanceof HTMLTextAreaElement && (t.preventDefault(), V(t.currentTarget, a, d));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
t.key === "Enter" && (t.preventDefault(), A());
|
|
44
|
+
}, E = i(
|
|
45
|
+
"smwb-chat-icon-button",
|
|
46
|
+
"smwb-chat-icon-button_edge-start",
|
|
47
|
+
e && "smwb-chat-icon-button_disabled"
|
|
48
|
+
), c = F ? f ? /* @__PURE__ */ r(
|
|
49
|
+
"label",
|
|
50
|
+
{
|
|
51
|
+
htmlFor: e ? void 0 : f,
|
|
52
|
+
className: E,
|
|
53
|
+
"aria-label": x,
|
|
54
|
+
"aria-disabled": e || void 0,
|
|
55
|
+
"data-testid": "chat-composer-attach",
|
|
56
|
+
onMouseDown: _,
|
|
57
|
+
children: /* @__PURE__ */ r(g, { name: "attach_file", size: 24 })
|
|
58
|
+
}
|
|
59
|
+
) : /* @__PURE__ */ r(
|
|
60
|
+
y,
|
|
61
|
+
{
|
|
62
|
+
edge: "start",
|
|
63
|
+
"aria-label": x,
|
|
64
|
+
"data-testid": "chat-composer-attach",
|
|
65
|
+
disabled: e,
|
|
66
|
+
onClick: b,
|
|
67
|
+
onMouseDown: _,
|
|
68
|
+
children: /* @__PURE__ */ r(g, { name: "attach_file", size: 24 })
|
|
69
|
+
}
|
|
70
|
+
) : null, w = n ? /* @__PURE__ */ r(
|
|
71
|
+
y,
|
|
72
|
+
{
|
|
73
|
+
edge: "end",
|
|
74
|
+
color: "primary",
|
|
75
|
+
"aria-label": h,
|
|
76
|
+
"data-testid": "chat-composer-send",
|
|
77
|
+
disabled: !z,
|
|
78
|
+
onClick: A,
|
|
79
|
+
onMouseDown: _,
|
|
80
|
+
children: /* @__PURE__ */ r(g, { name: "send", size: 24 })
|
|
81
|
+
}
|
|
82
|
+
) : null;
|
|
83
|
+
if (F && !n)
|
|
84
|
+
return /* @__PURE__ */ r(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
className: i("smwb-chat-composer", "smwb-chat-composer_attach-only", o),
|
|
88
|
+
"data-testid": "chat-composer",
|
|
89
|
+
children: c
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
if (!k)
|
|
93
|
+
return /* @__PURE__ */ r(
|
|
94
|
+
R,
|
|
95
|
+
{
|
|
96
|
+
className: i("smwb-chat-composer", o),
|
|
97
|
+
"data-testid": "chat-composer",
|
|
98
|
+
fullWidth: !0,
|
|
99
|
+
value: a,
|
|
100
|
+
disabled: e,
|
|
101
|
+
placeholder: l,
|
|
102
|
+
onChange: (t) => d(t.target.value),
|
|
103
|
+
startAdornment: c,
|
|
104
|
+
endAdornment: w,
|
|
105
|
+
onKeyDown: B
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
const K = (t) => {
|
|
109
|
+
p.current && t.currentTarget === t.target && (t.preventDefault(), p.current.focus());
|
|
110
|
+
};
|
|
111
|
+
return /* @__PURE__ */ r(
|
|
112
|
+
H,
|
|
113
|
+
{
|
|
114
|
+
className: i("smwb-chat-composer", o),
|
|
115
|
+
"data-testid": "chat-composer",
|
|
116
|
+
fullWidth: !0,
|
|
117
|
+
disabled: e,
|
|
118
|
+
isFilledState: a.length > 0,
|
|
119
|
+
isFocused: N,
|
|
120
|
+
htmlFor: C,
|
|
121
|
+
shrink: !!c,
|
|
122
|
+
onHolderMouseDown: K,
|
|
123
|
+
startAdornment: c,
|
|
124
|
+
endAdornment: w,
|
|
125
|
+
children: /* @__PURE__ */ r(
|
|
126
|
+
"textarea",
|
|
127
|
+
{
|
|
128
|
+
id: C,
|
|
129
|
+
ref: p,
|
|
130
|
+
className: i(
|
|
131
|
+
"smwb-text-field__input",
|
|
132
|
+
"smwb-chat-composer__input",
|
|
133
|
+
"smwb-text-field__input--show-placeholder",
|
|
134
|
+
c && "smwb-text-field__input--adornment-start",
|
|
135
|
+
w && "smwb-text-field__input--adornment-end"
|
|
136
|
+
),
|
|
137
|
+
value: a,
|
|
138
|
+
disabled: e,
|
|
139
|
+
placeholder: l,
|
|
140
|
+
rows: 1,
|
|
141
|
+
onChange: (t) => d(t.target.value),
|
|
142
|
+
onFocus: () => D(!0),
|
|
143
|
+
onBlur: () => D(!1),
|
|
144
|
+
onKeyDown: B
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
}
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
J as ChatComposer,
|
|
152
|
+
J as default
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=chatComposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatComposer.js","sources":["../../../../../src/components/dataDisplay/chat/chatComposer.tsx"],"sourcesContent":["import React, { useId, useRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { TextField } from \"../../inputs/textField\";\nimport { TextFieldWrapper } from \"../../inputs/textField/textFieldWrapper\";\nimport ChatIconButton from \"./chatIconButton\";\nimport { shouldComposerNewlineOnEnter } from \"./utils\";\n\nexport interface ChatComposerProps {\n className?: string;\n onSendMessage?: (text: string) => void | Promise<void>;\n placeholder?: string;\n disabled?: boolean;\n sendAriaLabel?: string;\n shiftEnterNewline?: boolean;\n ctrlEnterNewline?: boolean;\n fileUpload?: boolean;\n attachInputId?: string;\n onAttachClick?: () => void;\n attachAriaLabel?: string;\n}\n\nfunction stopPropagation(event: React.SyntheticEvent) {\n event.stopPropagation();\n}\n\nfunction insertNewlineAtCursor(element: HTMLTextAreaElement, value: string, setValue: (next: string) => void) {\n const start = element.selectionStart ?? value.length;\n const end = element.selectionEnd ?? value.length;\n const nextValue = `${value.slice(0, start)}\\n${value.slice(end)}`;\n\n setValue(nextValue);\n\n requestAnimationFrame(() => {\n element.selectionStart = start + 1;\n element.selectionEnd = start + 1;\n });\n}\n\nexport function ChatComposer({\n className,\n onSendMessage,\n placeholder = \"message\",\n disabled = false,\n sendAriaLabel = \"Send message\",\n shiftEnterNewline = true,\n ctrlEnterNewline = true,\n fileUpload = false,\n attachInputId,\n onAttachClick,\n attachAriaLabel = \"Attach file\",\n}: ChatComposerProps) {\n const [value, setValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const inputId = useId();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const multiline = shiftEnterNewline || ctrlEnterNewline;\n const canSend = Boolean(onSendMessage) && value.trim().length > 0 && !disabled;\n const showAttach = fileUpload && Boolean(attachInputId || onAttachClick);\n\n const handleSend = () => {\n if (!onSendMessage) {\n return;\n }\n\n const text = value.trim();\n\n if (!text || disabled) {\n return;\n }\n\n void onSendMessage(text);\n setValue(\"\");\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (shouldComposerNewlineOnEnter(event, { shiftEnterNewline, ctrlEnterNewline })) {\n if (event.currentTarget instanceof HTMLTextAreaElement) {\n event.preventDefault();\n insertNewlineAtCursor(event.currentTarget, value, setValue);\n }\n\n return;\n }\n\n if (event.key !== \"Enter\") {\n return;\n }\n\n event.preventDefault();\n handleSend();\n };\n\n const attachClassName = cn(\n \"smwb-chat-icon-button\",\n \"smwb-chat-icon-button_edge-start\",\n disabled && \"smwb-chat-icon-button_disabled\"\n );\n\n const attachButton = showAttach ? (\n attachInputId ? (\n <label\n htmlFor={disabled ? undefined : attachInputId}\n className={attachClassName}\n aria-label={attachAriaLabel}\n aria-disabled={disabled || undefined}\n data-testid=\"chat-composer-attach\"\n onMouseDown={stopPropagation}\n >\n <Icon name=\"attach_file\" size={24} />\n </label>\n ) : (\n <ChatIconButton\n edge=\"start\"\n aria-label={attachAriaLabel}\n data-testid=\"chat-composer-attach\"\n disabled={disabled}\n onClick={onAttachClick}\n onMouseDown={stopPropagation}\n >\n <Icon name=\"attach_file\" size={24} />\n </ChatIconButton>\n )\n ) : null;\n\n const sendButton = onSendMessage ? (\n <ChatIconButton\n edge=\"end\"\n color=\"primary\"\n aria-label={sendAriaLabel}\n data-testid=\"chat-composer-send\"\n disabled={!canSend}\n onClick={handleSend}\n onMouseDown={stopPropagation}\n >\n <Icon name=\"send\" size={24} />\n </ChatIconButton>\n ) : null;\n\n if (showAttach && !onSendMessage) {\n return (\n <div\n className={cn(\"smwb-chat-composer\", \"smwb-chat-composer_attach-only\", className)}\n data-testid=\"chat-composer\"\n >\n {attachButton}\n </div>\n );\n }\n\n if (!multiline) {\n return (\n <TextField\n className={cn(\"smwb-chat-composer\", className)}\n data-testid=\"chat-composer\"\n fullWidth\n value={value}\n disabled={disabled}\n placeholder={placeholder}\n onChange={(event) => setValue(event.target.value)}\n startAdornment={attachButton}\n endAdornment={sendButton}\n onKeyDown={handleKeyDown}\n />\n );\n }\n\n const onHolderMouseDown: React.MouseEventHandler<HTMLDivElement> = (event) => {\n if (textareaRef.current && event.currentTarget === event.target) {\n event.preventDefault();\n textareaRef.current.focus();\n }\n };\n\n return (\n <TextFieldWrapper\n className={cn(\"smwb-chat-composer\", className)}\n data-testid=\"chat-composer\"\n fullWidth\n disabled={disabled}\n isFilledState={value.length > 0}\n isFocused={isFocused}\n htmlFor={inputId}\n shrink={Boolean(attachButton)}\n onHolderMouseDown={onHolderMouseDown}\n startAdornment={attachButton}\n endAdornment={sendButton}\n >\n <textarea\n id={inputId}\n ref={textareaRef}\n className={cn(\n \"smwb-text-field__input\",\n \"smwb-chat-composer__input\",\n \"smwb-text-field__input--show-placeholder\",\n attachButton && \"smwb-text-field__input--adornment-start\",\n sendButton && \"smwb-text-field__input--adornment-end\"\n )}\n value={value}\n disabled={disabled}\n placeholder={placeholder}\n rows={1}\n onChange={(event) => setValue(event.target.value)}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n onKeyDown={handleKeyDown}\n />\n </TextFieldWrapper>\n );\n}\n\nexport default ChatComposer;\n"],"names":["stopPropagation","event","insertNewlineAtCursor","element","value","setValue","start","_a","end","_b","nextValue","ChatComposer","className","onSendMessage","placeholder","disabled","sendAriaLabel","shiftEnterNewline","ctrlEnterNewline","fileUpload","attachInputId","onAttachClick","attachAriaLabel","useState","isFocused","setIsFocused","inputId","useId","textareaRef","useRef","multiline","canSend","showAttach","handleSend","text","handleKeyDown","shouldComposerNewlineOnEnter","attachClassName","cn","attachButton","jsx","Icon","ChatIconButton","sendButton","TextField","onHolderMouseDown","TextFieldWrapper"],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs as e, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import _ from "clsx";
|
|
3
|
+
import { Icon as h } from "../../base/icon/icon.js";
|
|
4
|
+
import { ChatIconButton as o } from "./chatIconButton.js";
|
|
5
|
+
import { getChatLayoutActions as p } from "./utils.js";
|
|
6
|
+
const b = {
|
|
7
|
+
floating: "picture_in_picture",
|
|
8
|
+
fullHeight: "fit_screen",
|
|
9
|
+
fullscreen: "open_in_full"
|
|
10
|
+
}, w = {
|
|
11
|
+
floating: "Floating window",
|
|
12
|
+
fullHeight: "Full height",
|
|
13
|
+
fullscreen: "Fullscreen"
|
|
14
|
+
};
|
|
15
|
+
function F({
|
|
16
|
+
className: d,
|
|
17
|
+
title: i,
|
|
18
|
+
subtitle: c,
|
|
19
|
+
actions: m,
|
|
20
|
+
layout: s,
|
|
21
|
+
allowedLayouts: u = ["floating"],
|
|
22
|
+
onLayoutChange: t,
|
|
23
|
+
onClose: r
|
|
24
|
+
}) {
|
|
25
|
+
const n = p(u, s), f = !!t && n.length > 0;
|
|
26
|
+
return /* @__PURE__ */ e("div", { className: _("smwb-chat-header", d), "data-testid": "chat-header", children: [
|
|
27
|
+
/* @__PURE__ */ e("div", { className: "smwb-chat-header__main", children: [
|
|
28
|
+
i ? /* @__PURE__ */ a("div", { className: "smwb-chat-header__title", children: i }) : null,
|
|
29
|
+
c ? /* @__PURE__ */ a("div", { className: "smwb-chat-header__subtitle", children: c }) : null
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ e("div", { className: "smwb-chat-header__actions", children: [
|
|
32
|
+
m,
|
|
33
|
+
f ? n.map((l) => /* @__PURE__ */ a(
|
|
34
|
+
o,
|
|
35
|
+
{
|
|
36
|
+
"aria-pressed": s === l,
|
|
37
|
+
"aria-label": w[l],
|
|
38
|
+
"data-testid": `chat-layout-${l}`,
|
|
39
|
+
onClick: () => t == null ? void 0 : t(l),
|
|
40
|
+
children: /* @__PURE__ */ a(h, { name: b[l], size: 18 })
|
|
41
|
+
},
|
|
42
|
+
l
|
|
43
|
+
)) : null,
|
|
44
|
+
r ? /* @__PURE__ */ a(o, { "aria-label": "Close chat", "data-testid": "chat-close", onClick: r, children: /* @__PURE__ */ a(h, { name: "close", size: 18 }) }) : null
|
|
45
|
+
] })
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
F as ChatHeader,
|
|
50
|
+
F as default
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chatHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatHeader.js","sources":["../../../../../src/components/dataDisplay/chat/chatHeader.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport ChatIconButton from \"./chatIconButton\";\nimport { ChatLayoutMode } from \"./types\";\nimport { getChatLayoutActions } from \"./utils\";\n\nexport interface ChatHeaderProps {\n className?: string;\n title?: ReactNode;\n subtitle?: ReactNode;\n actions?: ReactNode;\n layout?: ChatLayoutMode;\n allowedLayouts?: ChatLayoutMode[];\n onLayoutChange?: (layout: ChatLayoutMode) => void;\n onClose?: () => void;\n}\n\nconst layoutIcons: Record<Exclude<ChatLayoutMode, \"closed\">, string> = {\n floating: \"picture_in_picture\",\n fullHeight: \"fit_screen\",\n fullscreen: \"open_in_full\",\n};\n\nconst layoutAriaLabels: Record<Exclude<ChatLayoutMode, \"closed\">, string> = {\n floating: \"Floating window\",\n fullHeight: \"Full height\",\n fullscreen: \"Fullscreen\",\n};\n\nexport function ChatHeader({\n className,\n title,\n subtitle,\n actions,\n layout,\n allowedLayouts = [\"floating\"],\n onLayoutChange,\n onClose,\n}: ChatHeaderProps) {\n const layoutActions = getChatLayoutActions(allowedLayouts, layout);\n const showLayoutActions = Boolean(onLayoutChange) && layoutActions.length > 0;\n\n return (\n <div className={cn(\"smwb-chat-header\", className)} data-testid=\"chat-header\">\n <div className=\"smwb-chat-header__main\">\n {title ? <div className=\"smwb-chat-header__title\">{title}</div> : null}\n {subtitle ? <div className=\"smwb-chat-header__subtitle\">{subtitle}</div> : null}\n </div>\n <div className=\"smwb-chat-header__actions\">\n {actions}\n {showLayoutActions\n ? layoutActions.map((mode) => (\n <ChatIconButton\n key={mode}\n aria-pressed={layout === mode}\n aria-label={layoutAriaLabels[mode]}\n data-testid={`chat-layout-${mode}`}\n onClick={() => onLayoutChange?.(mode)}\n >\n <Icon name={layoutIcons[mode]} size={18} />\n </ChatIconButton>\n ))\n : null}\n {onClose ? (\n <ChatIconButton aria-label=\"Close chat\" data-testid=\"chat-close\" onClick={onClose}>\n <Icon name=\"close\" size={18} />\n </ChatIconButton>\n ) : null}\n </div>\n </div>\n );\n}\n\nexport default ChatHeader;\n"],"names":["layoutIcons","layoutAriaLabels","ChatHeader","className","title","subtitle","actions","layout","allowedLayouts","onLayoutChange","onClose","layoutActions","getChatLayoutActions","showLayoutActions","jsxs","cn","jsx","mode","ChatIconButton","Icon"],"mappings":";;;;;AAkBA,MAAMA,IAAiE;AAAA,EACrE,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AACd,GAEMC,IAAsE;AAAA,EAC1E,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AACd;AAEO,SAASC,EAAW;AAAA,EACzB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,gBAAAC,IAAiB,CAAC,UAAU;AAAA,EAC5B,gBAAAC;AAAA,EACA,SAAAC;AACF,GAAoB;AAClB,QAAMC,IAAgBC,EAAqBJ,GAAgBD,CAAM,GAC3DM,IAAoB,EAAQJ,KAAmBE,EAAc,SAAS;AAE5E,SACE,gBAAAG,EAAC,SAAI,WAAWC,EAAG,oBAAoBZ,CAAS,GAAG,eAAY,eAC7D,UAAA;AAAA,IAAA,gBAAAW,EAAC,OAAA,EAAI,WAAU,0BACZ,UAAA;AAAA,MAAAV,IAAQ,gBAAAY,EAAC,OAAA,EAAI,WAAU,2BAA2B,aAAM,IAAS;AAAA,MACjEX,IAAW,gBAAAW,EAAC,OAAA,EAAI,WAAU,8BAA8B,aAAS,IAAS;AAAA,IAAA,GAC7E;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,6BACZ,UAAA;AAAA,MAAAR;AAAA,MACAO,IACGF,EAAc,IAAI,CAACM,MACjB,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UAEC,gBAAcX,MAAWU;AAAA,UACzB,cAAYhB,EAAiBgB,CAAI;AAAA,UACjC,eAAa,eAAeA,CAAI;AAAA,UAChC,SAAS,MAAMR,KAAA,gBAAAA,EAAiBQ;AAAA,UAEhC,4BAACE,GAAA,EAAK,MAAMnB,EAAYiB,CAAI,GAAG,MAAM,GAAA,CAAI;AAAA,QAAA;AAAA,QANpCA;AAAA,MAAA,CAQR,IACD;AAAA,MACHP,IACC,gBAAAM,EAACE,GAAA,EAAe,cAAW,cAAa,eAAY,cAAa,SAASR,GACxE,UAAA,gBAAAM,EAACG,KAAK,MAAK,SAAQ,MAAM,IAAI,GAC/B,IACE;AAAA,IAAA,EAAA,CACN;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs as b, jsx as p } from "react/jsx-runtime";
|
|
2
|
+
import l from "react";
|
|
3
|
+
import h from "clsx";
|
|
4
|
+
import { Ripple as R } from "../../base/ripple/ripple.js";
|
|
5
|
+
function d({
|
|
6
|
+
className: i,
|
|
7
|
+
children: m,
|
|
8
|
+
disabled: t,
|
|
9
|
+
edge: o,
|
|
10
|
+
color: a = "default",
|
|
11
|
+
onMouseDown: n,
|
|
12
|
+
...u
|
|
13
|
+
}) {
|
|
14
|
+
const e = l.useRef(null), s = (c) => {
|
|
15
|
+
n == null || n(c);
|
|
16
|
+
}, f = (c) => {
|
|
17
|
+
var r;
|
|
18
|
+
t || (r = e.current) == null || r.onRipple(c);
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ b(
|
|
21
|
+
"button",
|
|
22
|
+
{
|
|
23
|
+
type: "button",
|
|
24
|
+
className: h(
|
|
25
|
+
"smwb-chat-icon-button",
|
|
26
|
+
o === "start" && "smwb-chat-icon-button_edge-start",
|
|
27
|
+
o === "end" && "smwb-chat-icon-button_edge-end",
|
|
28
|
+
a === "primary" && "smwb-chat-icon-button_primary",
|
|
29
|
+
t && "smwb-chat-icon-button_disabled",
|
|
30
|
+
i
|
|
31
|
+
),
|
|
32
|
+
disabled: t,
|
|
33
|
+
onMouseDown: s,
|
|
34
|
+
onPointerDown: f,
|
|
35
|
+
...u,
|
|
36
|
+
children: [
|
|
37
|
+
m,
|
|
38
|
+
t ? null : /* @__PURE__ */ p(R, { actionRef: e, center: !0 })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
d as ChatIconButton,
|
|
45
|
+
d as default
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=chatIconButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatIconButton.js","sources":["../../../../../src/components/dataDisplay/chat/chatIconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport interface ChatIconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n edge?: \"start\" | \"end\";\n color?: \"default\" | \"primary\";\n}\n\nexport function ChatIconButton({\n className,\n children,\n disabled,\n edge,\n color = \"default\",\n onMouseDown: onMouseDownProp,\n ...rest\n}: ChatIconButtonProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n return (\n <button\n type=\"button\"\n className={cn(\n \"smwb-chat-icon-button\",\n edge === \"start\" && \"smwb-chat-icon-button_edge-start\",\n edge === \"end\" && \"smwb-chat-icon-button_edge-end\",\n color === \"primary\" && \"smwb-chat-icon-button_primary\",\n disabled && \"smwb-chat-icon-button_disabled\",\n className\n )}\n disabled={disabled}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n {!disabled ? <Ripple actionRef={rippleRef} center /> : null}\n </button>\n );\n}\n\nexport default ChatIconButton;\n"],"names":["ChatIconButton","className","children","disabled","edge","color","onMouseDownProp","rest","rippleRef","React","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAUO,SAASA,EAAe;AAAA,EAC7B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,aAAaC;AAAA,EACb,GAAGC;AACL,GAAwB;AACtB,QAAMC,IAAYC,EAAM,OAAyB,IAAI,GAE/CC,IAAc,CAACC,MAA+C;AAClE,IAAAL,KAAA,QAAAA,EAAkBK;AAAA,EACpB,GAEMC,IAAgB,CAACD,MAAiD;;AACtE,IAAKR,MACHU,IAAAL,EAAU,YAAV,QAAAK,EAAmB,SAASF;AAAA,EAEhC;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWC;AAAA,QACT;AAAA,QACAX,MAAS,WAAW;AAAA,QACpBA,MAAS,SAAS;AAAA,QAClBC,MAAU,aAAa;AAAA,QACvBF,KAAY;AAAA,QACZF;AAAA,MAAA;AAAA,MAEF,UAAAE;AAAA,MACA,aAAAO;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAL;AAAA,QACCC,IAAqD,OAA1C,gBAAAa,EAACC,GAAA,EAAO,WAAWT,GAAW,QAAM,IAAC;AAAA,MAAK;AAAA,IAAA;AAAA,EAAA;AAG7D;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsxs as l, Fragment as _, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as E } from "react";
|
|
3
|
+
import n from "clsx";
|
|
4
|
+
import { Icon as b } from "../../base/icon/icon.js";
|
|
5
|
+
import { ChatIconButton as g } from "./chatIconButton.js";
|
|
6
|
+
import { useControllableState as w } from "../../../hooks/useControllableState.js";
|
|
7
|
+
import { Chat as C } from "./chat.js";
|
|
8
|
+
const H = (a) => typeof a == "number" ? `${a}px` : a, S = (a) => a === "left" ? "bottom-left" : "bottom-right";
|
|
9
|
+
function P({
|
|
10
|
+
className: a,
|
|
11
|
+
contentClassName: r,
|
|
12
|
+
chatClassName: i,
|
|
13
|
+
side: e = "right",
|
|
14
|
+
chatWidth: x = 400,
|
|
15
|
+
collapsed: k,
|
|
16
|
+
defaultCollapsed: I = !1,
|
|
17
|
+
onCollapsedChange: N,
|
|
18
|
+
collapseAriaLabel: v = "Collapse chat panel",
|
|
19
|
+
expandAriaLabel: A = "Expand chat panel",
|
|
20
|
+
floatingAnchor: c,
|
|
21
|
+
chat: o,
|
|
22
|
+
children: u,
|
|
23
|
+
style: p,
|
|
24
|
+
...m
|
|
25
|
+
}) {
|
|
26
|
+
const [s, h] = w({
|
|
27
|
+
value: k,
|
|
28
|
+
defaultValue: I,
|
|
29
|
+
onChange: N
|
|
30
|
+
}), [B, d] = w({
|
|
31
|
+
defaultValue: !1
|
|
32
|
+
});
|
|
33
|
+
E(() => {
|
|
34
|
+
s || d(!1);
|
|
35
|
+
}, [s, d]);
|
|
36
|
+
const F = c != null ? c : S(e), L = e === "left" ? "dock_to_left" : "dock_to_right", O = /* @__PURE__ */ t(
|
|
37
|
+
g,
|
|
38
|
+
{
|
|
39
|
+
"aria-label": v,
|
|
40
|
+
"data-testid": "chat-layout-collapse",
|
|
41
|
+
onClick: () => h(!0),
|
|
42
|
+
children: /* @__PURE__ */ t(b, { name: e === "left" ? "left_panel_close" : "right_panel_close", size: 18 })
|
|
43
|
+
}
|
|
44
|
+
), V = /* @__PURE__ */ t(g, { "aria-label": A, "data-testid": "chat-layout-expand", onClick: () => h(!1), children: /* @__PURE__ */ t(b, { name: L, size: 18 }) }), j = /* @__PURE__ */ l(_, { children: [
|
|
45
|
+
o.headerActions,
|
|
46
|
+
O
|
|
47
|
+
] }), z = /* @__PURE__ */ l(_, { children: [
|
|
48
|
+
o.headerActions,
|
|
49
|
+
V
|
|
50
|
+
] }), f = {
|
|
51
|
+
"--smwb-chat-layout-w": H(x)
|
|
52
|
+
};
|
|
53
|
+
if (s)
|
|
54
|
+
return /* @__PURE__ */ l(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
className: n("smwb-chat-layout", "smwb-chat-layout_collapsed", a),
|
|
58
|
+
style: { ...f, ...p },
|
|
59
|
+
"data-testid": "chat-layout",
|
|
60
|
+
"data-collapsed": "true",
|
|
61
|
+
...m,
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ t("div", { className: n("smwb-chat-layout__content", r), "data-testid": "chat-layout-content", children: u }),
|
|
64
|
+
/* @__PURE__ */ t(
|
|
65
|
+
C,
|
|
66
|
+
{
|
|
67
|
+
...o,
|
|
68
|
+
className: i,
|
|
69
|
+
floatingTrigger: !0,
|
|
70
|
+
anchor: F,
|
|
71
|
+
allowedLayouts: ["floating"],
|
|
72
|
+
layout: "floating",
|
|
73
|
+
open: B,
|
|
74
|
+
onOpenChange: d,
|
|
75
|
+
headerActions: z
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
const y = /* @__PURE__ */ t("aside", { className: "smwb-chat-layout__panel", "data-testid": "chat-layout-panel", children: /* @__PURE__ */ t(C, { ...o, className: i, embedded: !0, allowedLayouts: [], headerActions: j }) });
|
|
82
|
+
return /* @__PURE__ */ l(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
className: n("smwb-chat-layout", `smwb-chat-layout_${e}`, a),
|
|
86
|
+
style: { ...f, ...p },
|
|
87
|
+
"data-testid": "chat-layout",
|
|
88
|
+
"data-collapsed": "false",
|
|
89
|
+
...m,
|
|
90
|
+
children: [
|
|
91
|
+
e === "left" ? y : null,
|
|
92
|
+
/* @__PURE__ */ t("div", { className: n("smwb-chat-layout__content", r), "data-testid": "chat-layout-content", children: u }),
|
|
93
|
+
e === "right" ? y : null
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
P as ChatLayout,
|
|
100
|
+
P as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=chatLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatLayout.js","sources":["../../../../../src/components/dataDisplay/chat/chatLayout.tsx"],"sourcesContent":["import React, { CSSProperties, HTMLAttributes, PropsWithChildren, useEffect } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport ChatIconButton from \"./chatIconButton\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\nimport Chat, { ChatProps } from \"./chat\";\nimport { ChatAnchor, ChatLayoutSide } from \"./types\";\n\nconst len = (value: number | string) => (typeof value === \"number\" ? `${value}px` : value);\n\nconst floatingAnchorForSide = (side: ChatLayoutSide): ChatAnchor => (side === \"left\" ? \"bottom-left\" : \"bottom-right\");\n\nexport type ChatLayoutChatProps = Omit<\n ChatProps,\n | \"className\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\n | \"onLayoutChange\"\n>;\n\nexport interface ChatLayoutProps extends PropsWithChildren, HTMLAttributes<HTMLDivElement> {\n className?: string;\n contentClassName?: string;\n chatClassName?: string;\n side?: ChatLayoutSide;\n chatWidth?: number | string;\n collapsed?: boolean;\n defaultCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n collapseAriaLabel?: string;\n expandAriaLabel?: string;\n floatingAnchor?: ChatAnchor;\n chat: ChatLayoutChatProps;\n}\n\nexport function ChatLayout({\n className,\n contentClassName,\n chatClassName,\n side = \"right\",\n chatWidth = 400,\n collapsed: collapsedProp,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseAriaLabel = \"Collapse chat panel\",\n expandAriaLabel = \"Expand chat panel\",\n floatingAnchor,\n chat,\n children,\n style,\n ...rest\n}: ChatLayoutProps) {\n const [collapsed, setCollapsed] = useControllableState<boolean>({\n value: collapsedProp,\n defaultValue: defaultCollapsed,\n onChange: onCollapsedChange,\n });\n\n const [floatingOpen, setFloatingOpen] = useControllableState<boolean>({\n defaultValue: false,\n });\n\n useEffect(() => {\n if (!collapsed) {\n setFloatingOpen(false);\n }\n }, [collapsed, setFloatingOpen]);\n\n const anchor = floatingAnchor ?? floatingAnchorForSide(side);\n const dockIcon = side === \"left\" ? \"dock_to_left\" : \"dock_to_right\";\n const collapseIcon = side === \"left\" ? \"left_panel_close\" : \"right_panel_close\";\n\n const collapseButton = (\n <ChatIconButton\n aria-label={collapseAriaLabel}\n data-testid=\"chat-layout-collapse\"\n onClick={() => setCollapsed(true)}\n >\n <Icon name={collapseIcon} size={18} />\n </ChatIconButton>\n );\n\n const expandButton = (\n <ChatIconButton aria-label={expandAriaLabel} data-testid=\"chat-layout-expand\" onClick={() => setCollapsed(false)}>\n <Icon name={dockIcon} size={18} />\n </ChatIconButton>\n );\n\n const dockedHeaderActions = (\n <>\n {chat.headerActions}\n {collapseButton}\n </>\n );\n\n const floatingHeaderActions = (\n <>\n {chat.headerActions}\n {expandButton}\n </>\n );\n\n const cssVars = {\n \"--smwb-chat-layout-w\": len(chatWidth),\n } as CSSProperties;\n\n if (collapsed) {\n return (\n <div\n className={cn(\"smwb-chat-layout\", \"smwb-chat-layout_collapsed\", className)}\n style={{ ...cssVars, ...style }}\n data-testid=\"chat-layout\"\n data-collapsed=\"true\"\n {...rest}\n >\n <div className={cn(\"smwb-chat-layout__content\", contentClassName)} data-testid=\"chat-layout-content\">\n {children}\n </div>\n <Chat\n {...chat}\n className={chatClassName}\n floatingTrigger\n anchor={anchor}\n allowedLayouts={[\"floating\"]}\n layout=\"floating\"\n open={floatingOpen}\n onOpenChange={setFloatingOpen}\n headerActions={floatingHeaderActions}\n />\n </div>\n );\n }\n\n const panel = (\n <aside className=\"smwb-chat-layout__panel\" data-testid=\"chat-layout-panel\">\n <Chat {...chat} className={chatClassName} embedded allowedLayouts={[]} headerActions={dockedHeaderActions} />\n </aside>\n );\n\n return (\n <div\n className={cn(\"smwb-chat-layout\", `smwb-chat-layout_${side}`, className)}\n style={{ ...cssVars, ...style }}\n data-testid=\"chat-layout\"\n data-collapsed=\"false\"\n {...rest}\n >\n {side === \"left\" ? panel : null}\n <div className={cn(\"smwb-chat-layout__content\", contentClassName)} data-testid=\"chat-layout-content\">\n {children}\n </div>\n {side === \"right\" ? panel : null}\n </div>\n );\n}\n\nexport default ChatLayout;\n"],"names":["len","value","floatingAnchorForSide","side","ChatLayout","className","contentClassName","chatClassName","chatWidth","collapsedProp","defaultCollapsed","onCollapsedChange","collapseAriaLabel","expandAriaLabel","floatingAnchor","chat","children","style","rest","collapsed","setCollapsed","useControllableState","floatingOpen","setFloatingOpen","useEffect","anchor","dockIcon","collapseButton","jsx","ChatIconButton","Icon","expandButton","dockedHeaderActions","jsxs","Fragment","floatingHeaderActions","cssVars","cn","Chat","panel"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import c from "clsx";
|
|
3
|
+
import { Avatar as n } from "../avatar/avatar.js";
|
|
4
|
+
function p({ author: e, enabled: i = !0, className: l }) {
|
|
5
|
+
var s, a;
|
|
6
|
+
return i ? /* @__PURE__ */ m("div", { className: c("smwb-chat-message__avatar", l), "data-testid": "chat-message-avatar", children: /* @__PURE__ */ m(n, { src: e == null ? void 0 : e.avatarSrc, alt: (s = e == null ? void 0 : e.avatarAlt) != null ? s : e == null ? void 0 : e.name, size: "small", children: (a = e == null ? void 0 : e.name) == null ? void 0 : a.slice(0, 1) }) }) : null;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
p as ChatMessageAvatar,
|
|
10
|
+
p as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=chatMessageAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatMessageAvatar.js","sources":["../../../../../src/components/dataDisplay/chat/chatMessageAvatar.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Avatar } from \"../avatar/avatar\";\nimport { ChatAuthor } from \"./types\";\n\nexport interface ChatMessageAvatarProps {\n author?: ChatAuthor;\n enabled?: boolean;\n className?: string;\n}\n\nexport function ChatMessageAvatar({ author, enabled = true, className }: ChatMessageAvatarProps) {\n if (!enabled) {\n return null;\n }\n\n return (\n <div className={cn(\"smwb-chat-message__avatar\", className)} data-testid=\"chat-message-avatar\">\n <Avatar src={author?.avatarSrc} alt={author?.avatarAlt ?? author?.name} size=\"small\">\n {author?.name?.slice(0, 1)}\n </Avatar>\n </div>\n );\n}\n\nexport default ChatMessageAvatar;\n"],"names":["ChatMessageAvatar","author","enabled","className","jsx","cn","Avatar","_a","_b"],"mappings":";;;AAWO,SAASA,EAAkB,EAAE,QAAAC,GAAQ,SAAAC,IAAU,IAAM,WAAAC,KAAqC;;AAC/F,SAAKD,IAKH,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAG,6BAA6BF,CAAS,GAAG,eAAY,uBACtE,UAAA,gBAAAC,EAACE,GAAA,EAAO,KAAKL,KAAA,gBAAAA,EAAQ,WAAW,MAAKM,IAAAN,KAAA,gBAAAA,EAAQ,cAAR,OAAAM,IAAqBN,KAAA,gBAAAA,EAAQ,MAAM,MAAK,SAC1E,WAAAO,IAAAP,KAAA,gBAAAA,EAAQ,SAAR,gBAAAO,EAAc,MAAM,GAAG,GAAC,CAC3B,GACF,IARO;AAUX;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import h from "clsx";
|
|
3
|
+
import { Typography as o } from "../typography/typography.js";
|
|
4
|
+
import { ChatAttachments as C } from "./chatAttachments.js";
|
|
5
|
+
import { ChatMessageAvatar as b } from "./chatMessageAvatar.js";
|
|
6
|
+
import { ChatMessageStatus as S } from "./chatMessageStatus.js";
|
|
7
|
+
import { formatChatTimestamp as x } from "./utils.js";
|
|
8
|
+
function k({
|
|
9
|
+
className: f,
|
|
10
|
+
align: s,
|
|
11
|
+
message: c,
|
|
12
|
+
author: a,
|
|
13
|
+
text: n,
|
|
14
|
+
attachments: p,
|
|
15
|
+
timestamp: _,
|
|
16
|
+
status: t,
|
|
17
|
+
showAvatars: i = !1,
|
|
18
|
+
showAttachments: g = !1,
|
|
19
|
+
showStatus: u = !1,
|
|
20
|
+
statusIcons: v,
|
|
21
|
+
renderStatus: w,
|
|
22
|
+
bubbleClassName: N
|
|
23
|
+
}) {
|
|
24
|
+
const l = x(_), d = t != null ? t : c.status, r = u && s === "end" && d;
|
|
25
|
+
return /* @__PURE__ */ m(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: h("smwb-chat-message", `smwb-chat-message_${s}`, f),
|
|
29
|
+
"data-testid": `chat-message-${s}`,
|
|
30
|
+
children: [
|
|
31
|
+
s === "start" ? /* @__PURE__ */ e(b, { author: a, enabled: i }) : null,
|
|
32
|
+
/* @__PURE__ */ m("div", { className: "smwb-chat-message__content", children: [
|
|
33
|
+
a != null && a.name ? /* @__PURE__ */ e(o, { variant: "caption", className: "smwb-chat-message__author", children: a.name }) : null,
|
|
34
|
+
/* @__PURE__ */ m("div", { className: h("smwb-chat-message__bubble", N), children: [
|
|
35
|
+
n ? /* @__PURE__ */ e("div", { className: "smwb-chat-message__text", children: n }) : null,
|
|
36
|
+
/* @__PURE__ */ e(C, { attachments: p, enabled: g })
|
|
37
|
+
] }),
|
|
38
|
+
l || r ? /* @__PURE__ */ m("div", { className: "smwb-chat-message__meta", "data-testid": "chat-message-meta", children: [
|
|
39
|
+
l ? /* @__PURE__ */ e(o, { variant: "caption", className: "smwb-chat-message__time", children: l }) : null,
|
|
40
|
+
r ? /* @__PURE__ */ e(
|
|
41
|
+
S,
|
|
42
|
+
{
|
|
43
|
+
message: c,
|
|
44
|
+
status: d,
|
|
45
|
+
statusIcons: v,
|
|
46
|
+
renderStatus: w
|
|
47
|
+
}
|
|
48
|
+
) : null
|
|
49
|
+
] }) : null
|
|
50
|
+
] }),
|
|
51
|
+
s === "end" ? /* @__PURE__ */ e(b, { author: a, enabled: i }) : null
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
k as ChatMessageBubble,
|
|
58
|
+
k as default
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=chatMessageBubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatMessageBubble.js","sources":["../../../../../src/components/dataDisplay/chat/chatMessageBubble.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport cn from \"clsx\";\nimport Typography from \"../typography/typography\";\nimport ChatAttachments from \"./chatAttachments\";\nimport ChatMessageAvatar from \"./chatMessageAvatar\";\nimport ChatMessageStatus from \"./chatMessageStatus\";\nimport {\n ChatAuthor,\n ChatAttachment,\n ChatMessage,\n ChatMessageStatusIcons,\n ChatMessageStatusRenderContext,\n ChatMessageStatus as ChatMessageStatusValue,\n} from \"./types\";\nimport { formatChatTimestamp } from \"./utils\";\n\nexport interface ChatMessageBubbleProps {\n className?: string;\n align: \"start\" | \"end\";\n message: ChatMessage;\n author?: ChatAuthor;\n text?: ReactNode;\n attachments?: ChatAttachment[];\n timestamp?: string | Date;\n status?: ChatMessageStatusValue;\n showAvatars?: boolean;\n showAttachments?: boolean;\n showStatus?: boolean;\n statusIcons?: ChatMessageStatusIcons & Record<string, string | undefined>;\n renderStatus?: (ctx: ChatMessageStatusRenderContext) => ReactNode;\n bubbleClassName?: string;\n}\n\nexport function ChatMessageBubble({\n className,\n align,\n message,\n author,\n text,\n attachments,\n timestamp,\n status,\n showAvatars = false,\n showAttachments = false,\n showStatus = false,\n statusIcons,\n renderStatus,\n bubbleClassName,\n}: ChatMessageBubbleProps) {\n const time = formatChatTimestamp(timestamp);\n const deliveryStatus = status ?? message.status;\n const shouldShowStatus = showStatus && align === \"end\" && deliveryStatus;\n\n return (\n <div\n className={cn(\"smwb-chat-message\", `smwb-chat-message_${align}`, className)}\n data-testid={`chat-message-${align}`}\n >\n {align === \"start\" ? <ChatMessageAvatar author={author} enabled={showAvatars} /> : null}\n <div className=\"smwb-chat-message__content\">\n {author?.name ? (\n <Typography variant=\"caption\" className=\"smwb-chat-message__author\">\n {author.name}\n </Typography>\n ) : null}\n <div className={cn(\"smwb-chat-message__bubble\", bubbleClassName)}>\n {text ? <div className=\"smwb-chat-message__text\">{text}</div> : null}\n <ChatAttachments attachments={attachments} enabled={showAttachments} />\n </div>\n {time || shouldShowStatus ? (\n <div className=\"smwb-chat-message__meta\" data-testid=\"chat-message-meta\">\n {time ? (\n <Typography variant=\"caption\" className=\"smwb-chat-message__time\">\n {time}\n </Typography>\n ) : null}\n {shouldShowStatus ? (\n <ChatMessageStatus\n message={message}\n status={deliveryStatus}\n statusIcons={statusIcons}\n renderStatus={renderStatus}\n />\n ) : null}\n </div>\n ) : null}\n </div>\n {align === \"end\" ? <ChatMessageAvatar author={author} enabled={showAvatars} /> : null}\n </div>\n );\n}\n\nexport default ChatMessageBubble;\n"],"names":["ChatMessageBubble","className","align","message","author","text","attachments","timestamp","status","showAvatars","showAttachments","showStatus","statusIcons","renderStatus","bubbleClassName","time","formatChatTimestamp","deliveryStatus","shouldShowStatus","jsxs","cn","jsx","ChatMessageAvatar","Typography","ChatAttachments","ChatMessageStatus"],"mappings":";;;;;;;AAiCO,SAASA,EAAkB;AAAA,EAChC,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,iBAAAC,IAAkB;AAAA,EAClB,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC;AACF,GAA2B;AACzB,QAAMC,IAAOC,EAAoBT,CAAS,GACpCU,IAAiBT,KAAA,OAAAA,IAAUL,EAAQ,QACnCe,IAAmBP,KAAcT,MAAU,SAASe;AAE1D,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,qBAAqB,qBAAqBlB,CAAK,IAAID,CAAS;AAAA,MAC1E,eAAa,gBAAgBC,CAAK;AAAA,MAEjC,UAAA;AAAA,QAAAA,MAAU,UAAU,gBAAAmB,EAACC,GAAA,EAAkB,QAAAlB,GAAgB,SAASK,GAAa,IAAK;AAAA,QACnF,gBAAAU,EAAC,OAAA,EAAI,WAAU,8BACZ,UAAA;AAAA,UAAAf,KAAA,QAAAA,EAAQ,yBACNmB,GAAA,EAAW,SAAQ,WAAU,WAAU,6BACrC,UAAAnB,EAAO,KAAA,CACV,IACE;AAAA,4BACH,OAAA,EAAI,WAAWgB,EAAG,6BAA6BN,CAAe,GAC5D,UAAA;AAAA,YAAAT,IAAO,gBAAAgB,EAAC,OAAA,EAAI,WAAU,2BAA2B,aAAK,IAAS;AAAA,YAChE,gBAAAA,EAACG,GAAA,EAAgB,aAAAlB,GAA0B,SAASI,EAAA,CAAiB;AAAA,UAAA,GACvE;AAAA,UACCK,KAAQG,IACP,gBAAAC,EAAC,SAAI,WAAU,2BAA0B,eAAY,qBAClD,UAAA;AAAA,YAAAJ,sBACEQ,GAAA,EAAW,SAAQ,WAAU,WAAU,2BACrC,aACH,IACE;AAAA,YACHL,IACC,gBAAAG;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,SAAAtB;AAAA,gBACA,QAAQc;AAAA,gBACR,aAAAL;AAAA,gBACA,cAAAC;AAAA,cAAA;AAAA,YAAA,IAEA;AAAA,UAAA,EAAA,CACN,IACE;AAAA,QAAA,GACN;AAAA,QACCX,MAAU,QAAQ,gBAAAmB,EAACC,KAAkB,QAAAlB,GAAgB,SAASK,GAAa,IAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGvF;"}
|