@smwb/ui-solid 0.1.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/LICENSE +21 -0
- package/README.md +148 -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/fileDrop/fileDrop.entry.css +1 -0
- package/dist/assets/styles/less/components/fileInput/fileInput.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 +113 -0
- package/dist/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/components/base/animateHeight/index.d.ts +2 -0
- package/dist/components/base/icon/icon.d.ts +29 -0
- package/dist/components/base/icon/icon.js +47 -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 +26 -0
- package/dist/components/base/ripple/ripple.js +58 -0
- package/dist/components/base/ripple/ripple.js.map +1 -0
- package/dist/components/clickAwayListener/clickAwayListener.d.ts +19 -0
- package/dist/components/clickAwayListener/clickAwayListener.js +61 -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 +25 -0
- package/dist/components/dataDisplay/accordion/accordion.js +83 -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 +28 -0
- package/dist/components/dataDisplay/avatar/avatar.js +105 -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 +18 -0
- package/dist/components/dataDisplay/badge/badge.js +41 -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 +12 -0
- package/dist/components/dataDisplay/card/card.js +59 -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 +20 -0
- package/dist/components/dataDisplay/carousel/carousel.js +176 -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 +12 -0
- package/dist/components/dataDisplay/carousel/utils.js +52 -0
- package/dist/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/components/dataDisplay/chat/chat.d.ts +45 -0
- package/dist/components/dataDisplay/chat/chat.js +222 -0
- package/dist/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js +63 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachments.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js +48 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatComposer.d.ts +16 -0
- package/dist/components/dataDisplay/chat/chatComposer.js +208 -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 +89 -0
- package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatIconButton.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js +42 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +19 -0
- package/dist/components/dataDisplay/chat/chatLayout.js +147 -0
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.js +32 -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 +122 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.js +36 -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 +103 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js +48 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.js +59 -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 +51 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.js +26 -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 +90 -0
- package/dist/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +16 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js +52 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatShell.d.ts +16 -0
- package/dist/components/dataDisplay/chat/chatShell.js +82 -0
- package/dist/components/dataDisplay/chat/chatShell.js.map +1 -0
- package/dist/components/dataDisplay/chat/index.d.ts +46 -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 +35 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js +39 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.d.ts +14 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js +20 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.d.ts +15 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.js +36 -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 +59 -0
- package/dist/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/components/dataDisplay/chip/chip.d.ts +28 -0
- package/dist/components/dataDisplay/chip/chip.js +125 -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 +42 -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 +14 -0
- package/dist/components/dataDisplay/imagesList/imagesList.js +41 -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 +6 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.js +7 -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 +61 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +8 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +46 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/index.d.ts +9 -0
- package/dist/components/dataDisplay/list/index.d.ts +4 -0
- package/dist/components/dataDisplay/list/list.d.ts +11 -0
- package/dist/components/dataDisplay/list/list.js +33 -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 +35 -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 +16 -0
- package/dist/components/dataDisplay/table/table.js +49 -0
- package/dist/components/dataDisplay/table/table.js.map +1 -0
- package/dist/components/dataDisplay/table/tableBody.d.ts +7 -0
- package/dist/components/dataDisplay/table/tableBody.js +20 -0
- package/dist/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/components/dataDisplay/table/tableCell.d.ts +8 -0
- package/dist/components/dataDisplay/table/tableCell.js +25 -0
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.d.ts +7 -0
- package/dist/components/dataDisplay/table/tableHead.js +20 -0
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +19 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js +44 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.d.ts +20 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +55 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/components/dataDisplay/table/tableRow.d.ts +11 -0
- package/dist/components/dataDisplay/table/tableRow.js +30 -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 +31 -0
- package/dist/components/dataDisplay/treeView/treeView.js +177 -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 +18 -0
- package/dist/components/dataDisplay/typography/typography.js +49 -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 +20 -0
- package/dist/components/feedBack/message/message.js +54 -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 +34 -0
- package/dist/components/feedBack/modal/modal.js +117 -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 +80 -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 +21 -0
- package/dist/components/feedBack/skeleton/skeleton.js +74 -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 +50 -0
- package/dist/components/feedBack/snackbar/snackbar.js +222 -0
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.d.ts +6 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.js +15 -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 +70 -0
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/components/inputs/button/button.d.ts +32 -0
- package/dist/components/inputs/button/button.js +89 -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 +16 -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/buttonGroupContext.d.ts +15 -0
- package/dist/components/inputs/buttonGroups/buttonGroupContext.js +7 -0
- package/dist/components/inputs/buttonGroups/buttonGroupContext.js.map +1 -0
- package/dist/components/inputs/buttonGroups/index.d.ts +4 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts +26 -0
- package/dist/components/inputs/checkbox/checkbox.js +104 -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 +21 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js +67 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.d.ts +12 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js +66 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerInput.d.ts +9 -0
- package/dist/components/inputs/datePicker/dataPickerInput.js +80 -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 +40 -0
- package/dist/components/inputs/datePicker/datePicker.js +258 -0
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.d.ts +13 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.js +59 -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 +56 -0
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +9 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js +47 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerList.d.ts +12 -0
- package/dist/components/inputs/datePicker/datePickerList.js +64 -0
- package/dist/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/components/inputs/datePicker/dateUtils.d.ts +41 -0
- package/dist/components/inputs/datePicker/dateUtils.js +179 -0
- package/dist/components/inputs/datePicker/dateUtils.js.map +1 -0
- package/dist/components/inputs/datePicker/index.d.ts +19 -0
- package/dist/components/inputs/datePicker/openView.d.ts +5 -0
- package/dist/components/inputs/datePicker/openView.js +5 -0
- package/dist/components/inputs/datePicker/openView.js.map +1 -0
- package/dist/components/inputs/datePicker/useDateInput.d.ts +19 -0
- package/dist/components/inputs/datePicker/useDateInput.js +29 -0
- package/dist/components/inputs/datePicker/useDateInput.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 +30 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +198 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.d.ts +9 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js +80 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/index.d.ts +7 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.d.ts +21 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js +53 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/components/inputs/fileDrop/countPreview.d.ts +9 -0
- package/dist/components/inputs/fileDrop/countPreview.js +24 -0
- package/dist/components/inputs/fileDrop/countPreview.js.map +1 -0
- package/dist/components/inputs/fileDrop/fileDrop.d.ts +18 -0
- package/dist/components/inputs/fileDrop/fileDrop.js +84 -0
- package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -0
- package/dist/components/inputs/fileDrop/index.d.ts +9 -0
- package/dist/components/inputs/fileDrop/preview.d.ts +10 -0
- package/dist/components/inputs/fileDrop/preview.js +70 -0
- package/dist/components/inputs/fileDrop/preview.js.map +1 -0
- package/dist/components/inputs/fileDrop/previewWrapper.d.ts +11 -0
- package/dist/components/inputs/fileDrop/previewWrapper.js +47 -0
- package/dist/components/inputs/fileDrop/previewWrapper.js.map +1 -0
- package/dist/components/inputs/fileDrop/utils.d.ts +1 -0
- package/dist/components/inputs/fileDrop/utils.js +7 -0
- package/dist/components/inputs/fileDrop/utils.js.map +1 -0
- package/dist/components/inputs/fileInput/fileInput.d.ts +20 -0
- package/dist/components/inputs/fileInput/fileInput.js +47 -0
- package/dist/components/inputs/fileInput/fileInput.js.map +1 -0
- package/dist/components/inputs/fileInput/index.d.ts +2 -0
- package/dist/components/inputs/floatingButton/floatingButton.d.ts +12 -0
- package/dist/components/inputs/floatingButton/floatingButton.js +34 -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 +21 -0
- package/dist/components/inputs/radioButton/radioButton.js +89 -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 +33 -0
- package/dist/components/inputs/rating/rating.js +108 -0
- package/dist/components/inputs/rating/rating.js.map +1 -0
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +43 -0
- package/dist/components/inputs/selectField/dropdownMenu.js +202 -0
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/components/inputs/selectField/index.d.ts +4 -0
- package/dist/components/inputs/selectField/selectField.d.ts +53 -0
- package/dist/components/inputs/selectField/selectField.js +249 -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 +34 -0
- package/dist/components/inputs/slider/slider.js +358 -0
- package/dist/components/inputs/slider/slider.js.map +1 -0
- package/dist/components/inputs/slider/utils.d.ts +10 -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 +7 -0
- package/dist/components/inputs/textField/textField.d.ts +35 -0
- package/dist/components/inputs/textField/textField.js +143 -0
- package/dist/components/inputs/textField/textField.js.map +1 -0
- package/dist/components/inputs/textField/textFieldAdornment.d.ts +12 -0
- package/dist/components/inputs/textField/textFieldAdornment.js +15 -0
- package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +21 -0
- package/dist/components/inputs/textField/textFieldWrapper.js +105 -0
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/components/inputs/textField/types.d.ts +1 -0
- package/dist/components/inputs/textField/utils.d.ts +5 -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 +9 -0
- package/dist/components/inputs/timePicker/timeFormat.d.ts +4 -0
- package/dist/components/inputs/timePicker/timeFormat.js +58 -0
- package/dist/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/components/inputs/timePicker/timePicker.d.ts +19 -0
- package/dist/components/inputs/timePicker/timePicker.js +109 -0
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerColumns.d.ts +9 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js +49 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerInput.d.ts +9 -0
- package/dist/components/inputs/timePicker/timePickerInput.js +80 -0
- package/dist/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerList.d.ts +12 -0
- package/dist/components/inputs/timePicker/timePickerList.js +33 -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 +82 -0
- package/dist/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/components/inputs/timePicker/useTimeInput.d.ts +19 -0
- package/dist/components/inputs/timePicker/useTimeInput.js +29 -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 +21 -0
- package/dist/components/inputs/toggle/toggle.js +83 -0
- package/dist/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/components/layout/appLayout/appLayout.d.ts +31 -0
- package/dist/components/layout/appLayout/appLayout.js +103 -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 +20 -0
- package/dist/components/layout/divider/divider.js +68 -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 +52 -0
- package/dist/components/layout/grid/grid.js +93 -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 +14 -0
- package/dist/components/layout/page/page.js +36 -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 +15 -0
- package/dist/components/layout/pageHeader/pageHeader.js +77 -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 +80 -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 +32 -0
- package/dist/components/layout/sheet/sheet.js +261 -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 +16 -0
- package/dist/components/layout/stack/stack.js +60 -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 +58 -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 +15 -0
- package/dist/components/navigation/bottomBar/bottomBar.js +197 -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 +21 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +57 -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 +18 -0
- package/dist/components/navigation/menu/menu.d.ts +8 -0
- package/dist/components/navigation/menu/menu.js +38 -0
- package/dist/components/navigation/menu/menu.js.map +1 -0
- package/dist/components/navigation/menu/menuComponent.d.ts +4 -0
- package/dist/components/navigation/menu/menuComponent.js +34 -0
- package/dist/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/components/navigation/menu/menuContext.d.ts +7 -0
- package/dist/components/navigation/menu/menuContext.js +15 -0
- package/dist/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/components/navigation/menu/menuDivider.d.ts +7 -0
- package/dist/components/navigation/menu/menuDivider.js +21 -0
- package/dist/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/components/navigation/menu/menuFloating.d.ts +15 -0
- package/dist/components/navigation/menu/menuFloating.js +70 -0
- package/dist/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/components/navigation/menu/menuItem.d.ts +15 -0
- package/dist/components/navigation/menu/menuItem.js +81 -0
- package/dist/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/components/navigation/menu/menuItemIcon.d.ts +8 -0
- package/dist/components/navigation/menu/menuItemIcon.js +25 -0
- package/dist/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/components/navigation/menu/menuItemText.d.ts +8 -0
- package/dist/components/navigation/menu/menuItemText.js +26 -0
- package/dist/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/components/navigation/menu/menuList.d.ts +7 -0
- package/dist/components/navigation/menu/menuList.js +27 -0
- package/dist/components/navigation/menu/menuList.js.map +1 -0
- package/dist/components/navigation/menu/menuSubmenu.d.ts +21 -0
- package/dist/components/navigation/menu/menuSubmenu.js +85 -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 +28 -0
- package/dist/components/navigation/pagination/pagination.js +90 -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 +35 -0
- package/dist/components/navigation/sidebar/sidebar.js +134 -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 +26 -0
- package/dist/components/navigation/stepper/stepper.js +96 -0
- package/dist/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +6 -0
- package/dist/components/navigation/tabs/tab/tab.d.ts +14 -0
- package/dist/components/navigation/tabs/tab/tab.js +86 -0
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +20 -0
- package/dist/components/navigation/tabs/tabs.js +135 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/components/navigation/tabs/tabsContext.d.ts +14 -0
- package/dist/components/navigation/tabs/tabsContext.js +7 -0
- package/dist/components/navigation/tabs/tabsContext.js.map +1 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js +113 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/headless/components/base/icon/icon.js +46 -0
- package/dist/headless/components/base/icon/icon.js.map +1 -0
- package/dist/headless/components/base/ripple/ripple.js +57 -0
- package/dist/headless/components/base/ripple/ripple.js.map +1 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js +61 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js.map +1 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js +82 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js +104 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/badge/badge.js +40 -0
- package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -0
- package/dist/headless/components/dataDisplay/card/card.js +58 -0
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js +175 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js +52 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chat.js +221 -0
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +63 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js +48 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js +208 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js +89 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +42 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +147 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js +32 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +122 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js +36 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js +103 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js +48 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js +59 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js +51 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js +26 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js +90 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +52 -0
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatShell.js +82 -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 +39 -0
- package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js +20 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js +36 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/utils.js +59 -0
- package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chip/chip.js +124 -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 +40 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesList.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js +7 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +60 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +46 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/list.js +32 -0
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/listItem.js +35 -0
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +48 -0
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js +20 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js +25 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +20 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +44 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js +54 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js +30 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js +176 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -0
- package/dist/headless/components/dataDisplay/typography/typography.js +48 -0
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -0
- package/dist/headless/components/feedBack/message/message.js +53 -0
- package/dist/headless/components/feedBack/message/message.js.map +1 -0
- package/dist/headless/components/feedBack/modal/modal.js +116 -0
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +79 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js +73 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js +221 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js +15 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js +69 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/headless/components/inputs/button/button.js +88 -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/buttonGroups/buttonGroupContext.js +7 -0
- package/dist/headless/components/inputs/buttonGroups/buttonGroupContext.js.map +1 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js +103 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js +67 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js +66 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js +80 -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 +257 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +59 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +56 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +47 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js +64 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dateUtils.js +179 -0
- package/dist/headless/components/inputs/datePicker/dateUtils.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/openView.js +5 -0
- package/dist/headless/components/inputs/datePicker/openView.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.js +29 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.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 +198 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js +80 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js +53 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/fileDrop/countPreview.js +24 -0
- package/dist/headless/components/inputs/fileDrop/countPreview.js.map +1 -0
- package/dist/headless/components/inputs/fileDrop/fileDrop.js +83 -0
- package/dist/headless/components/inputs/fileDrop/fileDrop.js.map +1 -0
- package/dist/headless/components/inputs/fileDrop/preview.js +70 -0
- package/dist/headless/components/inputs/fileDrop/preview.js.map +1 -0
- package/dist/headless/components/inputs/fileDrop/previewWrapper.js +47 -0
- package/dist/headless/components/inputs/fileDrop/previewWrapper.js.map +1 -0
- package/dist/headless/components/inputs/fileDrop/utils.js +7 -0
- package/dist/headless/components/inputs/fileDrop/utils.js.map +1 -0
- package/dist/headless/components/inputs/fileInput/fileInput.js +46 -0
- package/dist/headless/components/inputs/fileInput/fileInput.js.map +1 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +33 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js +88 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -0
- package/dist/headless/components/inputs/rating/rating.js +107 -0
- package/dist/headless/components/inputs/rating/rating.js.map +1 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +202 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +248 -0
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -0
- package/dist/headless/components/inputs/slider/slider.js +357 -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 +142 -0
- package/dist/headless/components/inputs/textField/textField.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js +15 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +105 -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 +58 -0
- package/dist/headless/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js +108 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js +49 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js +80 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js +33 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js +82 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js +29 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/toggle/toggle.js +82 -0
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/headless/components/layout/appLayout/appLayout.js +102 -0
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -0
- package/dist/headless/components/layout/divider/divider.js +67 -0
- package/dist/headless/components/layout/divider/divider.js.map +1 -0
- package/dist/headless/components/layout/grid/grid.js +92 -0
- package/dist/headless/components/layout/grid/grid.js.map +1 -0
- package/dist/headless/components/layout/page/page.js +35 -0
- package/dist/headless/components/layout/page/page.js.map +1 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js +76 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js +79 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js.map +1 -0
- package/dist/headless/components/layout/sheet/sheet.js +260 -0
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -0
- package/dist/headless/components/layout/stack/stack.js +59 -0
- package/dist/headless/components/layout/stack/stack.js.map +1 -0
- package/dist/headless/components/navigation/appBar/appBar.js +57 -0
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +196 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +56 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/headless/components/navigation/menu/menu.js +37 -0
- package/dist/headless/components/navigation/menu/menu.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuComponent.js +34 -0
- package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuContext.js +15 -0
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuDivider.js +21 -0
- package/dist/headless/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuFloating.js +70 -0
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItem.js +81 -0
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js +25 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemText.js +26 -0
- package/dist/headless/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuList.js +27 -0
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js +85 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -0
- package/dist/headless/components/navigation/pagination/pagination.js +89 -0
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js +133 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/headless/components/navigation/stepper/stepper.js +95 -0
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js +85 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabs.js +134 -0
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabsContext.js +7 -0
- package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -0
- package/dist/headless/index.js +294 -0
- package/dist/headless/index.js.map +1 -0
- package/dist/headless/primitives/callHandler.js +7 -0
- package/dist/headless/primitives/callHandler.js.map +1 -0
- package/dist/headless/primitives/createControllableState.js +12 -0
- package/dist/headless/primitives/createControllableState.js.map +1 -0
- package/dist/headless/primitives/createCssTransition.js +40 -0
- package/dist/headless/primitives/createCssTransition.js.map +1 -0
- package/dist/headless/primitives/createDropzone.js +36 -0
- package/dist/headless/primitives/createDropzone.js.map +1 -0
- package/dist/headless/primitives/createFloating.js +31 -0
- package/dist/headless/primitives/createFloating.js.map +1 -0
- package/dist/headless/primitives/createFocusTrap.js +31 -0
- package/dist/headless/primitives/createFocusTrap.js.map +1 -0
- package/dist/headless/primitives/createId.js +9 -0
- package/dist/headless/primitives/createId.js.map +1 -0
- package/dist/headless/primitives/createMaskedInput.js +27 -0
- package/dist/headless/primitives/createMaskedInput.js.map +1 -0
- package/dist/headless/primitives/createTheme.js +38 -0
- package/dist/headless/primitives/createTheme.js.map +1 -0
- package/dist/headless/primitives/createVirtualList.js +11 -0
- package/dist/headless/primitives/createVirtualList.js.map +1 -0
- package/dist/headless/primitives/mergeRefs.js +10 -0
- package/dist/headless/primitives/mergeRefs.js.map +1 -0
- package/dist/headless/utils/animate.js +28 -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 +31 -0
- package/dist/headless/utils/floating.js.map +1 -0
- package/dist/headless/utils/throttle.js +18 -0
- package/dist/headless/utils/throttle.js.map +1 -0
- package/dist/index.d.ts +128 -0
- package/dist/index.js +294 -0
- package/dist/index.js.map +1 -0
- package/dist/primitives/callHandler.d.ts +10 -0
- package/dist/primitives/callHandler.js +7 -0
- package/dist/primitives/callHandler.js.map +1 -0
- package/dist/primitives/createControllableState.d.ts +19 -0
- package/dist/primitives/createControllableState.js +12 -0
- package/dist/primitives/createControllableState.js.map +1 -0
- package/dist/primitives/createCssTransition.d.ts +36 -0
- package/dist/primitives/createCssTransition.js +40 -0
- package/dist/primitives/createCssTransition.js.map +1 -0
- package/dist/primitives/createDropzone.d.ts +40 -0
- package/dist/primitives/createDropzone.js +36 -0
- package/dist/primitives/createDropzone.js.map +1 -0
- package/dist/primitives/createFloating.d.ts +28 -0
- package/dist/primitives/createFloating.js +31 -0
- package/dist/primitives/createFloating.js.map +1 -0
- package/dist/primitives/createFocusTrap.d.ts +17 -0
- package/dist/primitives/createFocusTrap.js +31 -0
- package/dist/primitives/createFocusTrap.js.map +1 -0
- package/dist/primitives/createId.d.ts +12 -0
- package/dist/primitives/createId.js +9 -0
- package/dist/primitives/createId.js.map +1 -0
- package/dist/primitives/createMaskedInput.d.ts +23 -0
- package/dist/primitives/createMaskedInput.js +27 -0
- package/dist/primitives/createMaskedInput.js.map +1 -0
- package/dist/primitives/createTheme.d.ts +10 -0
- package/dist/primitives/createTheme.js +38 -0
- package/dist/primitives/createTheme.js.map +1 -0
- package/dist/primitives/createVirtualList.d.ts +28 -0
- package/dist/primitives/createVirtualList.js +11 -0
- package/dist/primitives/createVirtualList.js.map +1 -0
- package/dist/primitives/mergeRefs.d.ts +10 -0
- package/dist/primitives/mergeRefs.js +10 -0
- package/dist/primitives/mergeRefs.js.map +1 -0
- package/dist/utils/animate.d.ts +10 -0
- package/dist/utils/animate.js +28 -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 +31 -0
- package/dist/utils/floating.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/package.json +87 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createComponent as r, insert as i, effect as o, className as g, setAttribute as h, template as w } from "solid-js/web";
|
|
2
|
+
import { createMemo as S, Show as v } from "solid-js";
|
|
3
|
+
import d from "clsx";
|
|
4
|
+
import { resolveChatMessageStatusLabel as C, resolveChatMessageStatusIcon as M } from "./utils.js";
|
|
5
|
+
import { Icon as I } from "../../base/icon/icon.js";
|
|
6
|
+
var f = /* @__PURE__ */ w("<span data-testid=chat-message-status>");
|
|
7
|
+
function A(t) {
|
|
8
|
+
const n = S(() => t.renderStatus ? t.renderStatus({
|
|
9
|
+
message: t.message,
|
|
10
|
+
status: t.status
|
|
11
|
+
}) : void 0), _ = () => M(t.status, t.statusIcons), u = () => C(t.status), b = () => t.status === "read";
|
|
12
|
+
return r(v, {
|
|
13
|
+
get when() {
|
|
14
|
+
return n() != null;
|
|
15
|
+
},
|
|
16
|
+
get fallback() {
|
|
17
|
+
return r(v, {
|
|
18
|
+
get when() {
|
|
19
|
+
return _();
|
|
20
|
+
},
|
|
21
|
+
children: (a) => (() => {
|
|
22
|
+
var s = f();
|
|
23
|
+
return i(s, r(I, {
|
|
24
|
+
get name() {
|
|
25
|
+
return a();
|
|
26
|
+
},
|
|
27
|
+
size: 14,
|
|
28
|
+
get fill() {
|
|
29
|
+
return b() ? 1 : 0;
|
|
30
|
+
}
|
|
31
|
+
})), o((e) => {
|
|
32
|
+
var m = d("smwb-chat-message__status", `smwb-chat-message__status_${t.status}`, t.class), c = u(), l = u();
|
|
33
|
+
return m !== e.e && g(s, e.e = m), c !== e.t && h(s, "aria-label", e.t = c), l !== e.a && h(s, "title", e.a = l), e;
|
|
34
|
+
}, {
|
|
35
|
+
e: void 0,
|
|
36
|
+
t: void 0,
|
|
37
|
+
a: void 0
|
|
38
|
+
}), s;
|
|
39
|
+
})()
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
get children() {
|
|
43
|
+
var a = f();
|
|
44
|
+
return i(a, n), o(() => g(a, d("smwb-chat-message__status", `smwb-chat-message__status_${t.status}`, t.class))), a;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
A as ChatMessageStatus
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chatMessageStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatMessageStatus.js","sources":["../../../../../src/components/dataDisplay/chat/chatMessageStatus.tsx"],"sourcesContent":["import { type JSX, Show, createMemo } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport type {\n ChatMessage,\n ChatMessageStatus as ChatMessageStatusValue,\n ChatMessageStatusIcons,\n ChatMessageStatusRenderContext,\n} from \"./types\";\nimport { resolveChatMessageStatusIcon, resolveChatMessageStatusLabel } from \"./utils\";\n\nexport interface ChatMessageStatusProps {\n class?: string | undefined;\n message: ChatMessage;\n status: ChatMessageStatusValue;\n statusIcons?: (ChatMessageStatusIcons & Record<string, string | undefined>) | undefined;\n renderStatus?: ((ctx: ChatMessageStatusRenderContext) => JSX.Element) | undefined;\n}\n\nexport function ChatMessageStatus(props: ChatMessageStatusProps): JSX.Element {\n const custom = createMemo(() =>\n props.renderStatus ? props.renderStatus({ message: props.message, status: props.status }) : undefined\n );\n\n const iconName = (): string | undefined => resolveChatMessageStatusIcon(props.status, props.statusIcons);\n const label = (): string => resolveChatMessageStatusLabel(props.status);\n const filled = (): boolean => props.status === \"read\";\n\n return (\n <Show when={custom() != null} fallback={\n <Show when={iconName()}>\n {(name) => (\n <span\n class={cn(\"smwb-chat-message__status\", `smwb-chat-message__status_${props.status}`, props.class)}\n data-testid=\"chat-message-status\"\n aria-label={label()}\n title={label()}\n >\n <Icon name={name()} size={14} fill={filled() ? 1 : 0} />\n </span>\n )}\n </Show>\n }>\n <span\n class={cn(\"smwb-chat-message__status\", `smwb-chat-message__status_${props.status}`, props.class)}\n data-testid=\"chat-message-status\"\n >\n {custom()}\n </span>\n </Show>\n );\n}\n\nexport default ChatMessageStatus;\n"],"names":["ChatMessageStatus","props","custom","createMemo","renderStatus","message","status","undefined","iconName","resolveChatMessageStatusIcon","statusIcons","label","resolveChatMessageStatusLabel","filled","_$createComponent","Show","when","fallback","children","name","_el$2","_tmpl$","_$insert","Icon","size","fill","_$effect","_p$","_v$","cn","class","_v$2","_v$3","e","_$className","t","_$setAttribute","a","_el$"],"mappings":";;;;;;AAmBO,SAASA,EAAkBC,GAA4C;AAC5E,QAAMC,IAASC,EAAW,MACxBF,EAAMG,eAAeH,EAAMG,aAAa;AAAA,IAAEC,SAASJ,EAAMI;AAAAA,IAASC,QAAQL,EAAMK;AAAAA,EAAAA,CAAQ,IAAIC,MAC9F,GAEMC,IAAWA,MAA0BC,EAA6BR,EAAMK,QAAQL,EAAMS,WAAW,GACjGC,IAAQA,MAAcC,EAA8BX,EAAMK,MAAM,GAChEO,IAASA,MAAeZ,EAAMK,WAAW;AAE/C,SAAAQ,EACGC,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEd,OAAY;AAAA,IAAI;AAAA,IAAA,IAAEe,WAAQ;AAAA,aAAAH,EACnCC,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAER,EAAAA;AAAAA,QAAU;AAAA,QAAAU,UAClBC,QAAI,MAAA;AAAA,cAAAC,IAAAC,EAAAA;AAAAC,iBAAAA,EAAAF,GAAAN,EAODS,GAAI;AAAA,YAAA,IAACJ,OAAI;AAAA,qBAAEA,EAAAA;AAAAA,YAAM;AAAA,YAAEK,MAAM;AAAA,YAAE,IAAEC,OAAI;AAAA,qBAAEZ,EAAAA,IAAW,IAAI;AAAA,YAAC;AAAA,UAAA,CAAA,CAAA,GAAAa,EAAAC,CAAAA,MAAA;AAAA,gBAAAC,IAL7CC,EAAG,6BAA6B,6BAA6B5B,EAAMK,MAAM,IAAIL,EAAM6B,KAAK,GAACC,IAEpFpB,EAAAA,GAAOqB,IACZrB,EAAAA;AAAOiB,mBAAAA,MAAAD,EAAAM,KAAAC,EAAAd,GAAAO,EAAAM,IAAAL,CAAA,GAAAG,MAAAJ,EAAAQ,KAAAC,EAAAhB,GAAA,cAAAO,EAAAQ,IAAAJ,CAAA,GAAAC,MAAAL,EAAAU,KAAAD,EAAAhB,GAAA,SAAAO,EAAAU,IAAAL,CAAA,GAAAL;AAAAA,UAAA,GAAA;AAAA,YAAAM,GAAA1B;AAAAA,YAAA4B,GAAA5B;AAAAA,YAAA8B,GAAA9B;AAAAA,UAAAA,CAAA,GAAAa;AAAAA,QAAA,GAAA;AAAA,MAAA,CAIjB;AAAA,IAAA;AAAA,IAAA,IAAAF,WAAA;AAAA,UAAAoB,IAAAjB,EAAAA;AAAAC,aAAAA,EAAAgB,GAOApC,CAAM,GAAAwB,QAAAQ,EAAAI,GAHAT,EAAG,6BAA6B,6BAA6B5B,EAAMK,MAAM,IAAIL,EAAM6B,KAAK,CAAC,CAAA,GAAAQ;AAAAA,IAAA;AAAA,EAAA,CAAA;AAOxG;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createComponent as a, insert as s, effect as m, className as n, template as o } from "solid-js/web";
|
|
2
|
+
import { Show as c } from "solid-js";
|
|
3
|
+
import i from "clsx";
|
|
4
|
+
import { Typography as g } from "../typography/typography.js";
|
|
5
|
+
var h = /* @__PURE__ */ o("<div data-testid=chat-message-system>");
|
|
6
|
+
function u(e) {
|
|
7
|
+
const r = () => e.message.content ?? e.message.text;
|
|
8
|
+
return a(c, {
|
|
9
|
+
get when() {
|
|
10
|
+
return r();
|
|
11
|
+
},
|
|
12
|
+
get children() {
|
|
13
|
+
var t = h();
|
|
14
|
+
return s(t, a(g, {
|
|
15
|
+
variant: "caption",
|
|
16
|
+
get children() {
|
|
17
|
+
return r();
|
|
18
|
+
}
|
|
19
|
+
})), m(() => n(t, i("smwb-chat-message-system", e.class))), t;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
u as ChatMessageSystem
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=chatMessageSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatMessageSystem.js","sources":["../../../../../src/components/dataDisplay/chat/chatMessageSystem.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Typography } from \"../typography\";\nimport type { ChatMessage } from \"./types\";\n\nexport interface ChatMessageSystemProps {\n message: ChatMessage;\n class?: string | undefined;\n}\n\nexport function ChatMessageSystem(props: ChatMessageSystemProps): JSX.Element {\n const content = (): JSX.Element => props.message.content ?? props.message.text;\n\n return (\n <Show when={content()}>\n <div class={cn(\"smwb-chat-message-system\", props.class)} data-testid=\"chat-message-system\">\n <Typography variant=\"caption\">{content()}</Typography>\n </div>\n </Show>\n );\n}\n\nexport default ChatMessageSystem;\n"],"names":["ChatMessageSystem","props","content","message","text","_$createComponent","Show","when","children","_el$","_tmpl$","_$insert","Typography","variant","_$effect","_$className","cn","class"],"mappings":";;;;;AAUO,SAASA,EAAkBC,GAA4C;AAC5E,QAAMC,IAAUA,MAAmBD,EAAME,QAAQD,WAAWD,EAAME,QAAQC;AAE1E,SAAAC,EACGC,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEL,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAM,WAAA;AAAA,UAAAC,IAAAC,EAAAA;AAAAC,aAAAA,EAAAF,GAAAJ,EAEhBO,GAAU;AAAA,QAACC,SAAO;AAAA,QAAA,IAAAL,WAAA;AAAA,iBAAYN,EAAAA;AAAAA,QAAS;AAAA,MAAA,CAAA,CAAA,GAAAY,EAAA,MAAAC,EAAAN,GAD9BO,EAAG,4BAA4Bf,EAAMgB,KAAK,CAAC,CAAA,GAAAR;AAAAA,IAAA;AAAA,EAAA,CAAA;AAK7D;"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { use as i, insert as n, createComponent as s, effect as v, className as C, template as h } from "solid-js/web";
|
|
2
|
+
import { mergeProps as _, createSignal as g, Show as m, For as c } from "solid-js";
|
|
3
|
+
import k from "clsx";
|
|
4
|
+
import { ChatMessageItem as A } from "./chatMessageItem.js";
|
|
5
|
+
import { ChatMessageSkeleton as b } from "./chatMessageSkeleton.js";
|
|
6
|
+
import { createChatInfiniteScroll as I } from "./useChatInfiniteScroll.js";
|
|
7
|
+
import { createChatStickToBottom as $ } from "./useChatStickToBottom.js";
|
|
8
|
+
var E = /* @__PURE__ */ h('<div class=smwb-chat-messages__skeletons data-testid=chat-messages-skeletons aria-busy=true aria-label="Loading messages">'), L = /* @__PURE__ */ h("<div data-testid=chat-messages><div class=smwb-chat-messages__sentinel data-testid=chat-messages-sentinel>");
|
|
9
|
+
function j(d) {
|
|
10
|
+
const e = _({
|
|
11
|
+
hasMore: !1,
|
|
12
|
+
loading: !1,
|
|
13
|
+
loadingMore: !1,
|
|
14
|
+
loadingSkeletonCount: 3
|
|
15
|
+
}, d), [o, u] = g(), [f, w] = g();
|
|
16
|
+
I({
|
|
17
|
+
container: o,
|
|
18
|
+
sentinel: f,
|
|
19
|
+
onLoadMore: e.onLoadMore,
|
|
20
|
+
hasMore: () => e.hasMore,
|
|
21
|
+
loading: () => e.loadingMore || e.loading
|
|
22
|
+
}), $({
|
|
23
|
+
container: o,
|
|
24
|
+
messages: () => e.messages
|
|
25
|
+
});
|
|
26
|
+
const p = () => e.loading || e.loadingMore, M = (t) => t % 2 === 0 ? "start" : "end", S = () => Array.from({
|
|
27
|
+
length: e.loadingSkeletonCount
|
|
28
|
+
}, (t, a) => a);
|
|
29
|
+
return (() => {
|
|
30
|
+
var t = L(), a = t.firstChild;
|
|
31
|
+
return i(u, t), i(w, a), n(t, s(m, {
|
|
32
|
+
get when() {
|
|
33
|
+
return p();
|
|
34
|
+
},
|
|
35
|
+
get children() {
|
|
36
|
+
var r = E();
|
|
37
|
+
return n(r, s(c, {
|
|
38
|
+
get each() {
|
|
39
|
+
return S();
|
|
40
|
+
},
|
|
41
|
+
children: (l) => s(b, {
|
|
42
|
+
get align() {
|
|
43
|
+
return M(l);
|
|
44
|
+
},
|
|
45
|
+
get showAvatar() {
|
|
46
|
+
return e.showAvatars;
|
|
47
|
+
},
|
|
48
|
+
lines: l % 2 === 0 ? 2 : 1
|
|
49
|
+
})
|
|
50
|
+
})), r;
|
|
51
|
+
}
|
|
52
|
+
}), null), n(t, s(m, {
|
|
53
|
+
get when() {
|
|
54
|
+
return !e.loading;
|
|
55
|
+
},
|
|
56
|
+
get children() {
|
|
57
|
+
return s(c, {
|
|
58
|
+
get each() {
|
|
59
|
+
return e.messages;
|
|
60
|
+
},
|
|
61
|
+
children: (r) => s(A, {
|
|
62
|
+
message: r,
|
|
63
|
+
get showAvatars() {
|
|
64
|
+
return e.showAvatars;
|
|
65
|
+
},
|
|
66
|
+
get showAttachments() {
|
|
67
|
+
return e.showAttachments;
|
|
68
|
+
},
|
|
69
|
+
get showStatus() {
|
|
70
|
+
return e.showStatus;
|
|
71
|
+
},
|
|
72
|
+
get statusIcons() {
|
|
73
|
+
return e.statusIcons;
|
|
74
|
+
},
|
|
75
|
+
get renderStatus() {
|
|
76
|
+
return e.renderStatus;
|
|
77
|
+
},
|
|
78
|
+
get renderMessage() {
|
|
79
|
+
return e.renderMessage;
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}), null), v(() => C(t, k("smwb-chat-messages", e.class))), t;
|
|
85
|
+
})();
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
j as ChatMessages
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=chatMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatMessages.js","sources":["../../../../../src/components/dataDisplay/chat/chatMessages.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { ChatMessageItem } from \"./chatMessageItem\";\nimport { ChatMessageSkeleton } from \"./chatMessageSkeleton\";\nimport { createChatInfiniteScroll } from \"./useChatInfiniteScroll\";\nimport { createChatStickToBottom } from \"./useChatStickToBottom\";\nimport type { ChatMessage, ChatMessageRenderContext } from \"./types\";\n\nexport interface ChatMessagesProps extends ChatMessageRenderContext {\n class?: string | undefined;\n messages: ChatMessage[];\n onLoadMore?: (() => void | Promise<void>) | undefined;\n hasMore?: boolean | undefined;\n loading?: boolean | undefined;\n loadingMore?: boolean | undefined;\n loadingSkeletonCount?: number | undefined;\n renderMessage?: ((message: ChatMessage, ctx: ChatMessageRenderContext) => JSX.Element) | undefined;\n}\n\nexport function ChatMessages(props: ChatMessagesProps): JSX.Element {\n const merged = mergeProps({ hasMore: false, loading: false, loadingMore: false, loadingSkeletonCount: 3 }, props);\n\n const [containerEl, setContainerEl] = createSignal<HTMLDivElement>();\n const [sentinelEl, setSentinelEl] = createSignal<HTMLDivElement>();\n\n createChatInfiniteScroll({\n container: containerEl,\n sentinel: sentinelEl,\n onLoadMore: merged.onLoadMore,\n hasMore: () => merged.hasMore,\n loading: () => merged.loadingMore || merged.loading,\n });\n\n createChatStickToBottom({\n container: containerEl,\n messages: () => merged.messages,\n });\n\n const showSkeletons = (): boolean => merged.loading || merged.loadingMore;\n const skeletonAlign = (index: number): \"start\" | \"end\" => (index % 2 === 0 ? \"start\" : \"end\");\n const skeletonIndexes = (): number[] => Array.from({ length: merged.loadingSkeletonCount }, (_, index) => index);\n\n return (\n <div ref={setContainerEl} class={cn(\"smwb-chat-messages\", merged.class)} data-testid=\"chat-messages\">\n <div ref={setSentinelEl} class=\"smwb-chat-messages__sentinel\" data-testid=\"chat-messages-sentinel\" />\n <Show when={showSkeletons()}>\n <div\n class=\"smwb-chat-messages__skeletons\"\n data-testid=\"chat-messages-skeletons\"\n aria-busy=\"true\"\n aria-label=\"Loading messages\"\n >\n <For each={skeletonIndexes()}>\n {(index) => (\n <ChatMessageSkeleton\n align={skeletonAlign(index)}\n showAvatar={merged.showAvatars}\n lines={index % 2 === 0 ? 2 : 1}\n />\n )}\n </For>\n </div>\n </Show>\n <Show when={!merged.loading}>\n <For each={merged.messages}>\n {(message) => (\n <ChatMessageItem\n message={message}\n showAvatars={merged.showAvatars}\n showAttachments={merged.showAttachments}\n showStatus={merged.showStatus}\n statusIcons={merged.statusIcons}\n renderStatus={merged.renderStatus}\n renderMessage={merged.renderMessage}\n />\n )}\n </For>\n </Show>\n </div>\n );\n}\n\nexport default ChatMessages;\n"],"names":["ChatMessages","props","merged","mergeProps","hasMore","loading","loadingMore","loadingSkeletonCount","containerEl","setContainerEl","createSignal","sentinelEl","setSentinelEl","createChatInfiniteScroll","container","sentinel","onLoadMore","createChatStickToBottom","messages","showSkeletons","skeletonAlign","index","skeletonIndexes","Array","from","length","_","_el$","_tmpl$2","_el$2","firstChild","_$use","_$insert","_$createComponent","Show","when","children","_el$3","_tmpl$","For","each","ChatMessageSkeleton","align","showAvatar","showAvatars","lines","message","ChatMessageItem","showAttachments","showStatus","statusIcons","renderStatus","renderMessage","_$effect","_$className","cn","class"],"mappings":";;;;;;;;AAmBO,SAASA,EAAaC,GAAuC;AAClE,QAAMC,IAASC,EAAW;AAAA,IAAEC,SAAS;AAAA,IAAOC,SAAS;AAAA,IAAOC,aAAa;AAAA,IAAOC,sBAAsB;AAAA,EAAA,GAAKN,CAAK,GAE1G,CAACO,GAAaC,CAAc,IAAIC,EAAAA,GAChC,CAACC,GAAYC,CAAa,IAAIF,EAAAA;AAEpCG,EAAAA,EAAyB;AAAA,IACvBC,WAAWN;AAAAA,IACXO,UAAUJ;AAAAA,IACVK,YAAYd,EAAOc;AAAAA,IACnBZ,SAASA,MAAMF,EAAOE;AAAAA,IACtBC,SAASA,MAAMH,EAAOI,eAAeJ,EAAOG;AAAAA,EAAAA,CAC7C,GAEDY,EAAwB;AAAA,IACtBH,WAAWN;AAAAA,IACXU,UAAUA,MAAMhB,EAAOgB;AAAAA,EAAAA,CACxB;AAED,QAAMC,IAAgBA,MAAejB,EAAOG,WAAWH,EAAOI,aACxDc,IAAgBA,CAACC,MAAoCA,IAAQ,MAAM,IAAI,UAAU,OACjFC,IAAkBA,MAAgBC,MAAMC,KAAK;AAAA,IAAEC,QAAQvB,EAAOK;AAAAA,EAAAA,GAAwB,CAACmB,GAAGL,MAAUA,CAAK;AAE/G,UAAA,MAAA;AAAA,QAAAM,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAC,WAAAA,EACYtB,GAAckB,CAAA,GAAAI,EACZnB,GAAaiB,CAAA,GAAAG,EAAAL,GAAAM,EACtBC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEhB,EAAAA;AAAAA,MAAe;AAAA,MAAA,IAAAiB,WAAA;AAAA,YAAAC,IAAAC,EAAAA;AAAAN,eAAAA,EAAAK,GAAAJ,EAOtBM,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAElB,EAAAA;AAAAA,UAAiB;AAAA,UAAAc,UACxBf,CAAAA,MAAKY,EACJQ,GAAmB;AAAA,YAAA,IAClBC,QAAK;AAAA,qBAAEtB,EAAcC,CAAK;AAAA,YAAC;AAAA,YAAA,IAC3BsB,aAAU;AAAA,qBAAEzC,EAAO0C;AAAAA,YAAW;AAAA,YAC9BC,OAAOxB,IAAQ,MAAM,IAAI,IAAI;AAAA,UAAA,CAAC;AAAA,QAAA,CAEjC,CAAA,GAAAgB;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAL,EAAAL,GAAAM,EAINC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE,CAACjC,EAAOG;AAAAA,MAAO;AAAA,MAAA,IAAA+B,WAAA;AAAA,eAAAH,EACxBM,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEtC,EAAOgB;AAAAA,UAAQ;AAAA,UAAAkB,UACtBU,CAAAA,MAAOb,EACNc,GAAe;AAAA,YACdD,SAAAA;AAAAA,YAAgB,IAChBF,cAAW;AAAA,qBAAE1C,EAAO0C;AAAAA,YAAW;AAAA,YAAA,IAC/BI,kBAAe;AAAA,qBAAE9C,EAAO8C;AAAAA,YAAe;AAAA,YAAA,IACvCC,aAAU;AAAA,qBAAE/C,EAAO+C;AAAAA,YAAU;AAAA,YAAA,IAC7BC,cAAW;AAAA,qBAAEhD,EAAOgD;AAAAA,YAAW;AAAA,YAAA,IAC/BC,eAAY;AAAA,qBAAEjD,EAAOiD;AAAAA,YAAY;AAAA,YAAA,IACjCC,gBAAa;AAAA,qBAAElD,EAAOkD;AAAAA,YAAa;AAAA,UAAA,CAAA;AAAA,QAAA,CAEtC;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAC,EAAA,MAAAC,EAAA3B,GAhC0B4B,EAAG,sBAAsBrD,EAAOsD,KAAK,CAAC,CAAA,GAAA7B;AAAAA,EAAA,GAAA;AAqC3E;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { spread as d, mergeProps as r, insert as l, createComponent as i, effect as y, className as h, template as f } from "solid-js/web";
|
|
2
|
+
import { mergeProps as m, splitProps as p } from "solid-js";
|
|
3
|
+
import s from "clsx";
|
|
4
|
+
import { Chat as g } from "./chat.js";
|
|
5
|
+
var v = /* @__PURE__ */ f("<div><div data-testid=chat-overlay-layout-content>");
|
|
6
|
+
const C = (e) => typeof e == "number" ? `${e}px` : e, L = (e) => e === "left" ? "bottom-left" : "bottom-right";
|
|
7
|
+
function $(e) {
|
|
8
|
+
const n = m({
|
|
9
|
+
side: "right",
|
|
10
|
+
chatWidth: 400,
|
|
11
|
+
allowedLayouts: ["fullHeight", "floating"],
|
|
12
|
+
defaultLayout: "fullHeight",
|
|
13
|
+
defaultOpen: !0
|
|
14
|
+
}, e), [t, u] = p(n, ["class", "contentClass", "chatClass", "side", "chatWidth", "allowedLayouts", "defaultLayout", "defaultOpen", "chat", "children", "style"]), c = () => ({
|
|
15
|
+
"--smwb-chat-overlay-w": C(t.chatWidth),
|
|
16
|
+
...typeof t.style == "object" && t.style ? t.style : {}
|
|
17
|
+
});
|
|
18
|
+
return (() => {
|
|
19
|
+
var a = v(), o = a.firstChild;
|
|
20
|
+
return d(a, r(u, {
|
|
21
|
+
get class() {
|
|
22
|
+
return s("smwb-chat-overlay-layout", t.class);
|
|
23
|
+
},
|
|
24
|
+
get style() {
|
|
25
|
+
return c();
|
|
26
|
+
},
|
|
27
|
+
"data-testid": "chat-overlay-layout"
|
|
28
|
+
}), !1, !0), l(o, () => t.children), l(a, i(g, r(() => t.chat, {
|
|
29
|
+
get class() {
|
|
30
|
+
return t.chatClass;
|
|
31
|
+
},
|
|
32
|
+
overlayContext: !0,
|
|
33
|
+
floatingTrigger: !0,
|
|
34
|
+
get anchor() {
|
|
35
|
+
return L(t.side);
|
|
36
|
+
},
|
|
37
|
+
get allowedLayouts() {
|
|
38
|
+
return t.allowedLayouts;
|
|
39
|
+
},
|
|
40
|
+
get defaultLayout() {
|
|
41
|
+
return t.defaultLayout;
|
|
42
|
+
},
|
|
43
|
+
get defaultOpen() {
|
|
44
|
+
return t.defaultOpen;
|
|
45
|
+
}
|
|
46
|
+
})), null), y(() => h(o, s("smwb-chat-overlay-layout__content", t.contentClass))), a;
|
|
47
|
+
})();
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
$ as ChatOverlayLayout
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chatOverlayLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatOverlayLayout.js","sources":["../../../../../src/components/dataDisplay/chat/chatOverlayLayout.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Chat, type ChatProps } from \"./chat\";\nimport type { ChatAnchor, ChatLayoutMode, ChatLayoutSide } from \"./types\";\n\nconst len = (value: number | string): string => (typeof value === \"number\" ? `${value}px` : value);\n\nconst anchorForSide = (side: ChatLayoutSide): ChatAnchor => (side === \"left\" ? \"bottom-left\" : \"bottom-right\");\n\nexport type ChatOverlayLayoutChatProps = Omit<\n ChatProps,\n | \"class\"\n | \"overlayContext\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"onLayoutChange\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\n>;\n\nexport interface ChatOverlayLayoutProps extends ParentProps, JSX.HTMLAttributes<HTMLDivElement> {\n contentClass?: string | undefined;\n chatClass?: string | undefined;\n side?: ChatLayoutSide | undefined;\n chatWidth?: number | string | undefined;\n allowedLayouts?: ChatLayoutMode[] | undefined;\n defaultLayout?: ChatLayoutMode | undefined;\n defaultOpen?: boolean | undefined;\n chat: ChatOverlayLayoutChatProps;\n}\n\nexport function ChatOverlayLayout(props: ChatOverlayLayoutProps): JSX.Element {\n const merged = mergeProps(\n {\n side: \"right\" as const,\n chatWidth: 400 as number | string,\n allowedLayouts: [\"fullHeight\", \"floating\"] as ChatLayoutMode[],\n defaultLayout: \"fullHeight\" as ChatLayoutMode,\n defaultOpen: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"contentClass\",\n \"chatClass\",\n \"side\",\n \"chatWidth\",\n \"allowedLayouts\",\n \"defaultLayout\",\n \"defaultOpen\",\n \"chat\",\n \"children\",\n \"style\",\n ]);\n\n const rootStyle = (): JSX.CSSProperties => ({\n \"--smwb-chat-overlay-w\": len(local.chatWidth),\n ...(typeof local.style === \"object\" && local.style ? local.style : {}),\n });\n\n return (\n <div\n {...rest}\n class={cn(\"smwb-chat-overlay-layout\", local.class)}\n style={rootStyle()}\n data-testid=\"chat-overlay-layout\"\n >\n <div class={cn(\"smwb-chat-overlay-layout__content\", local.contentClass)} data-testid=\"chat-overlay-layout-content\">\n {local.children}\n </div>\n <Chat\n {...local.chat}\n class={local.chatClass}\n overlayContext\n floatingTrigger\n anchor={anchorForSide(local.side)}\n allowedLayouts={local.allowedLayouts}\n defaultLayout={local.defaultLayout}\n defaultOpen={local.defaultOpen}\n />\n </div>\n );\n}\n\nexport default ChatOverlayLayout;\n"],"names":["len","value","anchorForSide","side","ChatOverlayLayout","props","merged","mergeProps","chatWidth","allowedLayouts","defaultLayout","defaultOpen","local","rest","splitProps","rootStyle","style","_el$","_tmpl$","_el$2","firstChild","_$spread","_$mergeProps","cn","class","_$insert","children","_$createComponent","Chat","chat","chatClass","overlayContext","floatingTrigger","anchor","_$effect","_$className","contentClass"],"mappings":";;;;;AAKA,MAAMA,IAAMA,CAACC,MAAoC,OAAOA,KAAU,WAAW,GAAGA,CAAK,OAAOA,GAEtFC,IAAgBA,CAACC,MAAsCA,MAAS,SAAS,gBAAgB;AA6BxF,SAASC,EAAkBC,GAA4C;AAC5E,QAAMC,IAASC,EACb;AAAA,IACEJ,MAAM;AAAA,IACNK,WAAW;AAAA,IACXC,gBAAgB,CAAC,cAAc,UAAU;AAAA,IACzCC,eAAe;AAAA,IACfC,aAAa;AAAA,EAAA,GAEfN,CACF,GACM,CAACO,GAAOC,CAAI,IAAIC,EAAWR,GAAQ,CACvC,SACA,gBACA,aACA,QACA,aACA,kBACA,iBACA,eACA,QACA,YACA,OAAO,CACR,GAEKS,IAAYA,OAA0B;AAAA,IAC1C,yBAAyBf,EAAIY,EAAMJ,SAAS;AAAA,IAC5C,GAAI,OAAOI,EAAMI,SAAU,YAAYJ,EAAMI,QAAQJ,EAAMI,QAAQ,CAAA;AAAA,EAAC;AAGtE,UAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAC,WAAAA,EAAAJ,GAAAK,EAEQT,GAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eACDU,EAAG,4BAA4BX,EAAMY,KAAK;AAAA,MAAC;AAAA,MAAA,IAClDR,QAAK;AAAA,eAAED,EAAAA;AAAAA,MAAW;AAAA,MAAA,eACN;AAAA,IAAA,CAAqB,GAAA,IAAA,EAAA,GAAAU,EAAAN,GAAA,MAG9BP,EAAMc,QAAQ,GAAAD,EAAAR,GAAAU,EAEhBC,GAAIN,EAAA,MACCV,EAAMiB,MAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eACPjB,EAAMkB;AAAAA,MAAS;AAAA,MACtBC,gBAAc;AAAA,MACdC,iBAAe;AAAA,MAAA,IACfC,SAAM;AAAA,eAAE/B,EAAcU,EAAMT,IAAI;AAAA,MAAC;AAAA,MAAA,IACjCM,iBAAc;AAAA,eAAEG,EAAMH;AAAAA,MAAc;AAAA,MAAA,IACpCC,gBAAa;AAAA,eAAEE,EAAMF;AAAAA,MAAa;AAAA,MAAA,IAClCC,cAAW;AAAA,eAAEC,EAAMD;AAAAA,MAAW;AAAA,IAAA,CAAA,CAAA,GAAA,IAAA,GAAAuB,EAAA,MAAAC,EAAAhB,GAXpBI,EAAG,qCAAqCX,EAAMwB,YAAY,CAAC,CAAA,GAAAnB;AAAAA,EAAA,GAAA;AAe7E;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createComponent as o, Portal as m, spread as i, mergeProps as u, insert as l, template as a } from "solid-js/web";
|
|
2
|
+
import { mergeProps as f, splitProps as p, createEffect as b, onCleanup as v, Show as n } from "solid-js";
|
|
3
|
+
import y from "clsx";
|
|
4
|
+
var g = /* @__PURE__ */ a("<div class=smwb-chat-shell__header>"), w = /* @__PURE__ */ a("<div class=smwb-chat-shell__footer>"), _ = /* @__PURE__ */ a("<div><div class=smwb-chat-shell__body>");
|
|
5
|
+
function z(c) {
|
|
6
|
+
const h = f({
|
|
7
|
+
anchor: "bottom-right",
|
|
8
|
+
themeMode: "inherit",
|
|
9
|
+
embedded: !1,
|
|
10
|
+
overlayContext: !1,
|
|
11
|
+
fileDropzoneActive: !1
|
|
12
|
+
}, c), [e] = p(h, ["class", "layout", "anchor", "themeMode", "embedded", "overlayContext", "header", "footer", "children", "fileDropzoneRootProps", "fileDropzoneActive"]);
|
|
13
|
+
b(() => {
|
|
14
|
+
if (e.layout !== "fullscreen") return;
|
|
15
|
+
const t = document.body.style.overflow;
|
|
16
|
+
document.body.style.overflow = "hidden", v(() => {
|
|
17
|
+
document.body.style.overflow = t;
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
const s = () => (() => {
|
|
21
|
+
var t = _(), d = t.firstChild;
|
|
22
|
+
return i(t, u(() => e.fileDropzoneRootProps ?? {}, {
|
|
23
|
+
get class() {
|
|
24
|
+
return y("smwb-chat-shell", `smwb-chat-shell_${e.layout}`, !e.embedded && `smwb-chat-shell_${e.anchor}`, {
|
|
25
|
+
"smwb-dark": e.themeMode === "dark",
|
|
26
|
+
"smwb-chat-shell_embedded": e.embedded,
|
|
27
|
+
"smwb-chat-shell_overlay-context": e.overlayContext,
|
|
28
|
+
"smwb-chat-dropzone_active": e.fileDropzoneActive
|
|
29
|
+
}, e.class);
|
|
30
|
+
},
|
|
31
|
+
"data-testid": "chat-shell",
|
|
32
|
+
get "data-layout"() {
|
|
33
|
+
return e.layout;
|
|
34
|
+
}
|
|
35
|
+
}), !1, !0), l(t, o(n, {
|
|
36
|
+
get when() {
|
|
37
|
+
return e.header;
|
|
38
|
+
},
|
|
39
|
+
get children() {
|
|
40
|
+
var r = g();
|
|
41
|
+
return l(r, () => e.header), r;
|
|
42
|
+
}
|
|
43
|
+
}), d), l(d, () => e.children), l(t, o(n, {
|
|
44
|
+
get when() {
|
|
45
|
+
return e.footer;
|
|
46
|
+
},
|
|
47
|
+
get children() {
|
|
48
|
+
var r = w();
|
|
49
|
+
return l(r, () => e.footer), r;
|
|
50
|
+
}
|
|
51
|
+
}), null), t;
|
|
52
|
+
})();
|
|
53
|
+
return o(n, {
|
|
54
|
+
get when() {
|
|
55
|
+
return e.layout !== "closed";
|
|
56
|
+
},
|
|
57
|
+
get children() {
|
|
58
|
+
return o(n, {
|
|
59
|
+
get when() {
|
|
60
|
+
return e.layout === "fullscreen";
|
|
61
|
+
},
|
|
62
|
+
get fallback() {
|
|
63
|
+
return s();
|
|
64
|
+
},
|
|
65
|
+
get children() {
|
|
66
|
+
return o(m, {
|
|
67
|
+
get mount() {
|
|
68
|
+
return document.body;
|
|
69
|
+
},
|
|
70
|
+
get children() {
|
|
71
|
+
return s();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
export {
|
|
80
|
+
z as ChatShell
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=chatShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatShell.js","sources":["../../../../../src/components/dataDisplay/chat/chatShell.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createEffect, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport type { ChatAnchor, ChatLayoutMode, ChatThemeMode } from \"./types\";\n\nexport interface ChatShellProps extends ParentProps {\n class?: string | undefined;\n layout: ChatLayoutMode;\n anchor?: ChatAnchor | undefined;\n themeMode?: ChatThemeMode | undefined;\n embedded?: boolean | undefined;\n overlayContext?: boolean | undefined;\n header?: JSX.Element;\n footer?: JSX.Element;\n fileDropzoneRootProps?: JSX.HTMLAttributes<HTMLDivElement> | undefined;\n fileDropzoneActive?: boolean | undefined;\n}\n\nexport function ChatShell(props: ChatShellProps): JSX.Element {\n const merged = mergeProps(\n { anchor: \"bottom-right\" as const, themeMode: \"inherit\" as const, embedded: false, overlayContext: false, fileDropzoneActive: false },\n props\n );\n const [local] = splitProps(merged, [\n \"class\",\n \"layout\",\n \"anchor\",\n \"themeMode\",\n \"embedded\",\n \"overlayContext\",\n \"header\",\n \"footer\",\n \"children\",\n \"fileDropzoneRootProps\",\n \"fileDropzoneActive\",\n ]);\n\n // Lock body scroll while a fullscreen chat is mounted.\n createEffect(() => {\n if (local.layout !== \"fullscreen\") return;\n const prev = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n onCleanup(() => {\n document.body.style.overflow = prev;\n });\n });\n\n const panel = (): JSX.Element => (\n <div\n {...(local.fileDropzoneRootProps ?? {})}\n class={cn(\n \"smwb-chat-shell\",\n `smwb-chat-shell_${local.layout}`,\n !local.embedded && `smwb-chat-shell_${local.anchor}`,\n {\n \"smwb-dark\": local.themeMode === \"dark\",\n \"smwb-chat-shell_embedded\": local.embedded,\n \"smwb-chat-shell_overlay-context\": local.overlayContext,\n \"smwb-chat-dropzone_active\": local.fileDropzoneActive,\n },\n local.class\n )}\n data-testid=\"chat-shell\"\n data-layout={local.layout}\n >\n <Show when={local.header}>\n <div class=\"smwb-chat-shell__header\">{local.header}</div>\n </Show>\n <div class=\"smwb-chat-shell__body\">{local.children}</div>\n <Show when={local.footer}>\n <div class=\"smwb-chat-shell__footer\">{local.footer}</div>\n </Show>\n </div>\n );\n\n return (\n <Show when={local.layout !== \"closed\"}>\n <Show when={local.layout === \"fullscreen\"} fallback={panel()}>\n <Portal mount={document.body}>{panel()}</Portal>\n </Show>\n </Show>\n );\n}\n\nexport default ChatShell;\n"],"names":["ChatShell","props","merged","mergeProps","anchor","themeMode","embedded","overlayContext","fileDropzoneActive","local","splitProps","createEffect","layout","prev","document","body","style","overflow","onCleanup","panel","_el$","_tmpl$3","_el$3","firstChild","_$spread","_$mergeProps","fileDropzoneRootProps","cn","class","_$insert","_$createComponent","Show","when","header","children","_el$2","_tmpl$","footer","_el$4","_tmpl$2","fallback","Portal","mount"],"mappings":";;;;AAkBO,SAASA,EAAUC,GAAoC;AAC5D,QAAMC,IAASC,EACb;AAAA,IAAEC,QAAQ;AAAA,IAAyBC,WAAW;AAAA,IAAoBC,UAAU;AAAA,IAAOC,gBAAgB;AAAA,IAAOC,oBAAoB;AAAA,EAAA,GAC9HP,CACF,GACM,CAACQ,CAAK,IAAIC,EAAWR,GAAQ,CACjC,SACA,UACA,UACA,aACA,YACA,kBACA,UACA,UACA,YACA,yBACA,oBAAoB,CACrB;AAGDS,EAAAA,EAAa,MAAM;AACjB,QAAIF,EAAMG,WAAW,aAAc;AACnC,UAAMC,IAAOC,SAASC,KAAKC,MAAMC;AACjCH,aAASC,KAAKC,MAAMC,WAAW,UAC/BC,EAAU,MAAM;AACdJ,eAASC,KAAKC,MAAMC,WAAWJ;AAAAA,IACjC,CAAC;AAAA,EACH,CAAC;AAED,QAAMM,IAAQA,OAAe,MAAA;AAAA,QAAAC,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAC,WAAAA,EAAAJ,GAAAK,EAAA,MAEpBhB,EAAMiB,yBAAyB,CAAA,GAAE;AAAA,MAAA,IAAA,QAAA;AAAA,eAC/BC,EACL,mBACA,mBAAmBlB,EAAMG,MAAM,IAC/B,CAACH,EAAMH,YAAY,mBAAmBG,EAAML,MAAM,IAClD;AAAA,UACE,aAAaK,EAAMJ,cAAc;AAAA,UACjC,4BAA4BI,EAAMH;AAAAA,UAClC,mCAAmCG,EAAMF;AAAAA,UACzC,6BAA6BE,EAAMD;AAAAA,QAAAA,GAErCC,EAAMmB,KACR;AAAA,MAAC;AAAA,MAAA,eACW;AAAA,MAAY,IAAA,gBAAA;AAAA,eACXnB,EAAMG;AAAAA,MAAM;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAiB,EAAAT,GAAAU,EAExBC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEvB,EAAMwB;AAAAA,MAAM;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAC,IAAAC,EAAAA;AAAAP,eAAAA,EAAAM,GAAA,MACgB1B,EAAMwB,MAAM,GAAAE;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAAb,CAAA,GAAAO,EAAAP,GAAA,MAEhBb,EAAMyB,QAAQ,GAAAL,EAAAT,GAAAU,EACjDC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEvB,EAAM4B;AAAAA,MAAM;AAAA,MAAA,IAAAH,WAAA;AAAA,YAAAI,IAAAC,EAAAA;AAAAV,eAAAA,EAAAS,GAAA,MACgB7B,EAAM4B,MAAM,GAAAC;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAlB;AAAAA,EAAA,GAAA;AAKxD,SAAAU,EACGC,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEvB,EAAMG,WAAW;AAAA,IAAQ;AAAA,IAAA,IAAAsB,WAAA;AAAA,aAAAJ,EAClCC,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEvB,EAAMG,WAAW;AAAA,QAAY;AAAA,QAAA,IAAE4B,WAAQ;AAAA,iBAAErB,EAAAA;AAAAA,QAAO;AAAA,QAAA,IAAAe,WAAA;AAAA,iBAAAJ,EACzDW,GAAM;AAAA,YAAA,IAACC,QAAK;AAAA,qBAAE5B,SAASC;AAAAA,YAAI;AAAA,YAAA,IAAAmB,WAAA;AAAA,qBAAGf,EAAAA;AAAAA,YAAO;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAI9C;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const e = ["pending", "sent", "delivered", "read"], _ = {
|
|
2
|
+
pending: "progress_activity",
|
|
3
|
+
sent: "check",
|
|
4
|
+
delivered: "done_all",
|
|
5
|
+
read: "done_all"
|
|
6
|
+
}, n = {
|
|
7
|
+
pending: "В обработке",
|
|
8
|
+
sent: "Отправлено",
|
|
9
|
+
delivered: "Доставлено",
|
|
10
|
+
read: "Прочитано"
|
|
11
|
+
}, A = ["floating", "fullHeight", "fullscreen"], S = 10;
|
|
12
|
+
export {
|
|
13
|
+
S as CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES,
|
|
14
|
+
A as CHAT_EXPAND_LAYOUTS,
|
|
15
|
+
e as CHAT_MESSAGE_DELIVERY_STATUSES,
|
|
16
|
+
_ as CHAT_MESSAGE_STATUS_ICONS,
|
|
17
|
+
n as CHAT_MESSAGE_STATUS_LABELS
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../src/components/dataDisplay/chat/types.ts"],"sourcesContent":["import type { JSX } from \"solid-js\";\n\nexport type ChatMessageVariant = \"incoming\" | \"outgoing\" | \"system\" | \"custom\";\n\nexport type ChatLayoutMode = \"closed\" | \"floating\" | \"fullHeight\" | \"fullscreen\";\n\nexport type ChatAnchor = \"bottom-right\" | \"bottom-left\" | \"top-right\" | \"top-left\";\n\nexport type ChatThemeMode = \"inherit\" | \"light\" | \"dark\";\n\nexport type ChatLayoutSide = \"left\" | \"right\";\n\nexport type ChatMessageDeliveryStatus = \"pending\" | \"sent\" | \"delivered\" | \"read\";\n\nexport type ChatMessageStatus = ChatMessageDeliveryStatus | (string & {});\n\nexport interface ChatMessageStatusIcons {\n pending?: string;\n sent?: string;\n delivered?: string;\n read?: string;\n}\n\nexport interface ChatMessageStatusRenderContext {\n message: ChatMessage;\n status: ChatMessageStatus;\n}\n\nexport interface ChatAttachment {\n id: string;\n name: string;\n url?: string;\n mimeType?: string;\n size?: number;\n}\n\nexport interface ChatAuthor {\n name?: string;\n avatarSrc?: string;\n avatarAlt?: string;\n}\n\nexport interface ChatMessage {\n id: string;\n variant: ChatMessageVariant;\n text?: JSX.Element;\n author?: ChatAuthor;\n attachments?: ChatAttachment[];\n content?: JSX.Element;\n timestamp?: string | Date;\n status?: ChatMessageStatus;\n}\n\nexport interface ChatMessageRenderContext {\n showAvatars: boolean;\n showAttachments: boolean;\n showStatus?: boolean | undefined;\n statusIcons?: (ChatMessageStatusIcons & Record<string, string | undefined>) | undefined;\n renderStatus?: ((ctx: ChatMessageStatusRenderContext) => JSX.Element) | undefined;\n}\n\nexport const CHAT_MESSAGE_DELIVERY_STATUSES: ChatMessageDeliveryStatus[] = [\"pending\", \"sent\", \"delivered\", \"read\"];\n\nexport const CHAT_MESSAGE_STATUS_ICONS: Record<ChatMessageDeliveryStatus, string> = {\n pending: \"progress_activity\",\n sent: \"check\",\n delivered: \"done_all\",\n read: \"done_all\",\n};\n\nexport const CHAT_MESSAGE_STATUS_LABELS: Record<ChatMessageDeliveryStatus, string> = {\n pending: \"В обработке\",\n sent: \"Отправлено\",\n delivered: \"Доставлено\",\n read: \"Прочитано\",\n};\n\nexport const CHAT_EXPAND_LAYOUTS: ChatLayoutMode[] = [\"floating\", \"fullHeight\", \"fullscreen\"];\n\nexport const CHAT_OVERLAY_LAYOUTS: ChatLayoutMode[] = [\"fullHeight\", \"floating\"];\n\nexport const CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES = 10;\n"],"names":["CHAT_MESSAGE_DELIVERY_STATUSES","CHAT_MESSAGE_STATUS_ICONS","CHAT_MESSAGE_STATUS_LABELS","CHAT_EXPAND_LAYOUTS","CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES"],"mappings":"AA6DO,MAAMA,IAA8D,CAAC,WAAW,QAAQ,aAAa,MAAM,GAErGC,IAAuE;AAAA,EAClF,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AACR,GAEaC,IAAwE;AAAA,EACnF,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AACR,GAEaC,IAAwC,CAAC,YAAY,cAAc,YAAY,GAI/EC,IAAqC;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createDropzone as p } from "../../../primitives/createDropzone.js";
|
|
2
|
+
import { CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES as c } from "./types.js";
|
|
3
|
+
function i(e) {
|
|
4
|
+
return e == null ? c : Math.max(1, e);
|
|
5
|
+
}
|
|
6
|
+
const l = (e) => typeof e == "function" ? e() : !!e;
|
|
7
|
+
function f(e = {}) {
|
|
8
|
+
const n = i(e.maxFiles), r = () => l(e.enabled) && !!e.onUploadFiles && !l(e.disabled), o = p({
|
|
9
|
+
accept: e.accept,
|
|
10
|
+
maxFiles: n,
|
|
11
|
+
multiple: n > 1,
|
|
12
|
+
get disabled() {
|
|
13
|
+
return !r();
|
|
14
|
+
},
|
|
15
|
+
onDropAccepted: (t) => {
|
|
16
|
+
e.onUploadFiles?.(t);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return {
|
|
20
|
+
enabled: r,
|
|
21
|
+
maxFiles: n,
|
|
22
|
+
getRootProps: () => {
|
|
23
|
+
const { onClick: t, ...a } = o.getRootProps();
|
|
24
|
+
return a;
|
|
25
|
+
},
|
|
26
|
+
getInputProps: (t) => ({
|
|
27
|
+
...o.getInputProps(),
|
|
28
|
+
...t ?? {}
|
|
29
|
+
}),
|
|
30
|
+
open: o.open,
|
|
31
|
+
inputRef: o.inputRef,
|
|
32
|
+
isDragActive: o.isDragActive
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
f as createChatFileUpload,
|
|
37
|
+
i as resolveChatFileUploadMaxFiles
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=useChatFileUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatFileUpload.js","sources":["../../../../../src/components/dataDisplay/chat/useChatFileUpload.ts"],"sourcesContent":["import { type Accessor } from \"solid-js\";\nimport { type DropzoneInputProps, createDropzone } from \"../../../primitives/createDropzone\";\nimport { CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES } from \"./types\";\n\nexport interface CreateChatFileUploadOptions {\n enabled?: Accessor<boolean> | boolean | undefined;\n accept?: Record<string, string[]> | string | undefined;\n maxFiles?: number | undefined;\n onUploadFiles?: ((files: File[]) => void | Promise<void>) | undefined;\n disabled?: Accessor<boolean> | boolean | undefined;\n}\n\nexport interface ChatFileUploadRootProps {\n onDragOver: (event: DragEvent) => void;\n onDragLeave: () => void;\n onDrop: (event: DragEvent) => void;\n}\n\nexport interface ChatFileUploadState {\n enabled: Accessor<boolean>;\n maxFiles: number;\n getRootProps: () => ChatFileUploadRootProps;\n getInputProps: (extra?: { id?: string }) => DropzoneInputProps & { id?: string };\n open: () => void;\n inputRef: (el: HTMLInputElement) => void;\n isDragActive: Accessor<boolean>;\n}\n\nexport function resolveChatFileUploadMaxFiles(maxFiles?: number): number {\n if (maxFiles == null) {\n return CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES;\n }\n\n return Math.max(1, maxFiles);\n}\n\nconst read = (value: Accessor<boolean> | boolean | undefined): boolean =>\n typeof value === \"function\" ? value() : Boolean(value);\n\n/**\n * Solid port of useChatFileUpload — wraps the createDropzone primitive but,\n * like the react-dropzone `noClick` config, exposes drag/drop root props\n * without a click handler so clicking the chat surface never opens the picker.\n */\nexport function createChatFileUpload(options: CreateChatFileUploadOptions = {}): ChatFileUploadState {\n const resolvedMaxFiles = resolveChatFileUploadMaxFiles(options.maxFiles);\n const enabled: Accessor<boolean> = () =>\n read(options.enabled) && Boolean(options.onUploadFiles) && !read(options.disabled);\n\n const dropzone = createDropzone({\n accept: options.accept,\n maxFiles: resolvedMaxFiles,\n multiple: resolvedMaxFiles > 1,\n get disabled() {\n return !enabled();\n },\n onDropAccepted: (files) => {\n void options.onUploadFiles?.(files);\n },\n });\n\n const getRootProps = (): ChatFileUploadRootProps => {\n const { onClick: _onClick, ...rest } = dropzone.getRootProps();\n void _onClick;\n return rest;\n };\n\n const getInputProps = (extra?: { id?: string }): DropzoneInputProps & { id?: string } => ({\n ...dropzone.getInputProps(),\n ...(extra ?? {}),\n });\n\n return {\n enabled,\n maxFiles: resolvedMaxFiles,\n getRootProps,\n getInputProps,\n open: dropzone.open,\n inputRef: dropzone.inputRef,\n isDragActive: dropzone.isDragActive,\n };\n}\n\nexport default createChatFileUpload;\n"],"names":["resolveChatFileUploadMaxFiles","maxFiles","CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES","read","value","createChatFileUpload","options","resolvedMaxFiles","enabled","dropzone","createDropzone","files","_onClick","rest","extra"],"mappings":";;AA4BO,SAASA,EAA8BC,GAA2B;AACvE,SAAIA,KAAY,OACPC,IAGF,KAAK,IAAI,GAAGD,CAAQ;AAC7B;AAEA,MAAME,IAAO,CAACC,MACZ,OAAOA,KAAU,aAAaA,EAAA,IAAU,EAAQA;AAO3C,SAASC,EAAqBC,IAAuC,IAAyB;AACnG,QAAMC,IAAmBP,EAA8BM,EAAQ,QAAQ,GACjEE,IAA6B,MACjCL,EAAKG,EAAQ,OAAO,KAAK,EAAQA,EAAQ,iBAAkB,CAACH,EAAKG,EAAQ,QAAQ,GAE7EG,IAAWC,EAAe;AAAA,IAC9B,QAAQJ,EAAQ;AAAA,IAChB,UAAUC;AAAA,IACV,UAAUA,IAAmB;AAAA,IAC7B,IAAI,WAAW;AACb,aAAO,CAACC,EAAA;AAAA,IACV;AAAA,IACA,gBAAgB,CAACG,MAAU;AACzB,MAAKL,EAAQ,gBAAgBK,CAAK;AAAA,IACpC;AAAA,EAAA,CACD;AAaD,SAAO;AAAA,IACL,SAAAH;AAAA,IACA,UAAUD;AAAA,IACV,cAdmB,MAA+B;AAClD,YAAM,EAAE,SAASK,GAAU,GAAGC,EAAA,IAASJ,EAAS,aAAA;AAEhD,aAAOI;AAAA,IACT;AAAA,IAWE,eAToB,CAACC,OAAmE;AAAA,MACxF,GAAGL,EAAS,cAAA;AAAA,MACZ,GAAIK,KAAS,CAAA;AAAA,IAAC;AAAA,IAQd,MAAML,EAAS;AAAA,IACf,UAAUA,EAAS;AAAA,IACnB,cAAcA,EAAS;AAAA,EAAA;AAE3B;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createEffect as l, onCleanup as d } from "solid-js";
|
|
2
|
+
function h(e) {
|
|
3
|
+
const i = e.rootMargin ?? "80px";
|
|
4
|
+
l(() => {
|
|
5
|
+
const o = e.container(), n = e.sentinel(), s = e.hasMore?.() ?? !1, t = e.onLoadMore;
|
|
6
|
+
if (!o || !n || !s || !t || typeof IntersectionObserver > "u")
|
|
7
|
+
return;
|
|
8
|
+
const r = new IntersectionObserver(
|
|
9
|
+
(c) => {
|
|
10
|
+
c.some((f) => f.isIntersecting) && !(e.loading?.() ?? !1) && t();
|
|
11
|
+
},
|
|
12
|
+
{ root: o, rootMargin: i, threshold: 0 }
|
|
13
|
+
);
|
|
14
|
+
r.observe(n), d(() => r.disconnect());
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
h as createChatInfiniteScroll
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useChatInfiniteScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatInfiniteScroll.js","sources":["../../../../../src/components/dataDisplay/chat/useChatInfiniteScroll.ts"],"sourcesContent":["import { type Accessor, createEffect, onCleanup } from \"solid-js\";\n\nexport interface CreateChatInfiniteScrollParams {\n container: Accessor<HTMLElement | null | undefined>;\n sentinel: Accessor<HTMLElement | null | undefined>;\n onLoadMore?: (() => void | Promise<void>) | undefined;\n hasMore?: Accessor<boolean>;\n loading?: Accessor<boolean>;\n rootMargin?: string;\n}\n\n/**\n * Solid port of useChatInfiniteScroll — observes a sentinel element near the\n * top of the scroll container and invokes onLoadMore when it becomes visible.\n */\nexport function createChatInfiniteScroll(params: CreateChatInfiniteScrollParams): void {\n const rootMargin = params.rootMargin ?? \"80px\";\n\n createEffect(() => {\n const root = params.container();\n const sentinel = params.sentinel();\n const hasMore = params.hasMore?.() ?? false;\n const onLoadMore = params.onLoadMore;\n\n if (!root || !sentinel || !hasMore || !onLoadMore || typeof IntersectionObserver === \"undefined\") {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries.some((entry) => entry.isIntersecting) && !(params.loading?.() ?? false)) {\n void onLoadMore();\n }\n },\n { root, rootMargin, threshold: 0 }\n );\n\n observer.observe(sentinel);\n onCleanup(() => observer.disconnect());\n });\n}\n"],"names":["createChatInfiniteScroll","params","rootMargin","createEffect","root","sentinel","hasMore","onLoadMore","observer","entries","entry","onCleanup"],"mappings":";AAeO,SAASA,EAAyBC,GAA8C;AACrF,QAAMC,IAAaD,EAAO,cAAc;AAExC,EAAAE,EAAa,MAAM;AACjB,UAAMC,IAAOH,EAAO,UAAA,GACdI,IAAWJ,EAAO,SAAA,GAClBK,IAAUL,EAAO,UAAA,KAAe,IAChCM,IAAaN,EAAO;AAE1B,QAAI,CAACG,KAAQ,CAACC,KAAY,CAACC,KAAW,CAACC,KAAc,OAAO,uBAAyB;AACnF;AAGF,UAAMC,IAAW,IAAI;AAAA,MACnB,CAACC,MAAY;AACX,QAAIA,EAAQ,KAAK,CAACC,MAAUA,EAAM,cAAc,KAAK,EAAET,EAAO,UAAA,KAAe,OACtEM,EAAA;AAAA,MAET;AAAA,MACA,EAAE,MAAAH,GAAM,YAAAF,GAAY,WAAW,EAAA;AAAA,IAAE;AAGnC,IAAAM,EAAS,QAAQH,CAAQ,GACzBM,EAAU,MAAMH,EAAS,YAAY;AAAA,EACvC,CAAC;AACH;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createEffect as h, onCleanup as p } from "solid-js";
|
|
2
|
+
function v(e, l = 24) {
|
|
3
|
+
return e.scrollHeight - e.scrollTop - e.clientHeight <= l;
|
|
4
|
+
}
|
|
5
|
+
function u(e) {
|
|
6
|
+
e.scrollTop = e.scrollHeight;
|
|
7
|
+
}
|
|
8
|
+
function T(e) {
|
|
9
|
+
const l = e.threshold ?? 24;
|
|
10
|
+
let r = !0, i = 0, d, n, a = !1;
|
|
11
|
+
h(() => {
|
|
12
|
+
const o = e.container();
|
|
13
|
+
if (!o) return;
|
|
14
|
+
const t = () => {
|
|
15
|
+
r = v(o, l);
|
|
16
|
+
};
|
|
17
|
+
t(), o.addEventListener("scroll", t, { passive: !0 }), p(() => o.removeEventListener("scroll", t));
|
|
18
|
+
}), h(() => {
|
|
19
|
+
const o = e.messages(), t = e.container();
|
|
20
|
+
if (!t) return;
|
|
21
|
+
const c = o[0]?.id, s = o[o.length - 1]?.id;
|
|
22
|
+
if (!a)
|
|
23
|
+
u(t), r = !0, a = !0;
|
|
24
|
+
else {
|
|
25
|
+
const f = c !== void 0 && c !== d && s === n, g = s !== void 0 && s !== n;
|
|
26
|
+
f && i > 0 ? t.scrollTop += t.scrollHeight - i : g && r && u(t);
|
|
27
|
+
}
|
|
28
|
+
i = t.scrollHeight, d = c, n = s;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
T as createChatStickToBottom,
|
|
33
|
+
v as isScrolledToBottom,
|
|
34
|
+
u as scrollChatToBottom
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=useChatStickToBottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatStickToBottom.js","sources":["../../../../../src/components/dataDisplay/chat/useChatStickToBottom.ts"],"sourcesContent":["import { type Accessor, createEffect, onCleanup } from \"solid-js\";\n\nexport interface CreateChatStickToBottomParams {\n container: Accessor<HTMLElement | null | undefined>;\n messages: Accessor<readonly { id: string }[]>;\n threshold?: number;\n}\n\nexport function isScrolledToBottom(element: HTMLElement, threshold = 24): boolean {\n return element.scrollHeight - element.scrollTop - element.clientHeight <= threshold;\n}\n\nexport function scrollChatToBottom(element: HTMLElement): void {\n element.scrollTop = element.scrollHeight;\n}\n\n/**\n * Solid port of useChatStickToBottom — keeps the scroll pinned to the newest\n * message while preserving position when older messages are prepended.\n */\nexport function createChatStickToBottom(params: CreateChatStickToBottomParams): void {\n const threshold = params.threshold ?? 24;\n let isAtBottom = true;\n let previousScrollHeight = 0;\n let previousFirstMessageId: string | undefined;\n let previousLastMessageId: string | undefined;\n let initialized = false;\n\n // Scroll listener tracks whether the user is currently pinned to the bottom.\n createEffect(() => {\n const element = params.container();\n if (!element) return;\n\n const handleScroll = (): void => {\n isAtBottom = isScrolledToBottom(element, threshold);\n };\n\n handleScroll();\n element.addEventListener(\"scroll\", handleScroll, { passive: true });\n onCleanup(() => element.removeEventListener(\"scroll\", handleScroll));\n });\n\n // Re-pin / preserve position whenever the message list changes.\n createEffect(() => {\n const messages = params.messages();\n const element = params.container();\n if (!element) return;\n\n const firstMessageId = messages[0]?.id;\n const lastMessageId = messages[messages.length - 1]?.id;\n\n if (!initialized) {\n scrollChatToBottom(element);\n isAtBottom = true;\n initialized = true;\n } else {\n const prepended =\n firstMessageId !== undefined &&\n firstMessageId !== previousFirstMessageId &&\n lastMessageId === previousLastMessageId;\n const appended = lastMessageId !== undefined && lastMessageId !== previousLastMessageId;\n\n if (prepended && previousScrollHeight > 0) {\n element.scrollTop += element.scrollHeight - previousScrollHeight;\n } else if (appended && isAtBottom) {\n scrollChatToBottom(element);\n }\n }\n\n previousScrollHeight = element.scrollHeight;\n previousFirstMessageId = firstMessageId;\n previousLastMessageId = lastMessageId;\n });\n}\n"],"names":["isScrolledToBottom","element","threshold","scrollChatToBottom","createChatStickToBottom","params","isAtBottom","previousScrollHeight","previousFirstMessageId","previousLastMessageId","initialized","createEffect","handleScroll","onCleanup","messages","firstMessageId","lastMessageId","prepended","appended"],"mappings":";AAQO,SAASA,EAAmBC,GAAsBC,IAAY,IAAa;AAChF,SAAOD,EAAQ,eAAeA,EAAQ,YAAYA,EAAQ,gBAAgBC;AAC5E;AAEO,SAASC,EAAmBF,GAA4B;AAC7D,EAAAA,EAAQ,YAAYA,EAAQ;AAC9B;AAMO,SAASG,EAAwBC,GAA6C;AACnF,QAAMH,IAAYG,EAAO,aAAa;AACtC,MAAIC,IAAa,IACbC,IAAuB,GACvBC,GACAC,GACAC,IAAc;AAGlB,EAAAC,EAAa,MAAM;AACjB,UAAMV,IAAUI,EAAO,UAAA;AACvB,QAAI,CAACJ,EAAS;AAEd,UAAMW,IAAe,MAAY;AAC/B,MAAAN,IAAaN,EAAmBC,GAASC,CAAS;AAAA,IACpD;AAEA,IAAAU,EAAA,GACAX,EAAQ,iBAAiB,UAAUW,GAAc,EAAE,SAAS,IAAM,GAClEC,EAAU,MAAMZ,EAAQ,oBAAoB,UAAUW,CAAY,CAAC;AAAA,EACrE,CAAC,GAGDD,EAAa,MAAM;AACjB,UAAMG,IAAWT,EAAO,SAAA,GAClBJ,IAAUI,EAAO,UAAA;AACvB,QAAI,CAACJ,EAAS;AAEd,UAAMc,IAAiBD,EAAS,CAAC,GAAG,IAC9BE,IAAgBF,EAASA,EAAS,SAAS,CAAC,GAAG;AAErD,QAAI,CAACJ;AACH,MAAAP,EAAmBF,CAAO,GAC1BK,IAAa,IACbI,IAAc;AAAA,SACT;AACL,YAAMO,IACJF,MAAmB,UACnBA,MAAmBP,KACnBQ,MAAkBP,GACdS,IAAWF,MAAkB,UAAaA,MAAkBP;AAElE,MAAIQ,KAAaV,IAAuB,IACtCN,EAAQ,aAAaA,EAAQ,eAAeM,IACnCW,KAAYZ,KACrBH,EAAmBF,CAAO;AAAA,IAE9B;AAEA,IAAAM,IAAuBN,EAAQ,cAC/BO,IAAyBO,GACzBN,IAAwBO;AAAA,EAC1B,CAAC;AACH;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { CHAT_MESSAGE_DELIVERY_STATUSES as f, CHAT_EXPAND_LAYOUTS as o, CHAT_MESSAGE_STATUS_ICONS as l, CHAT_MESSAGE_STATUS_LABELS as a } from "./types.js";
|
|
2
|
+
function i(e) {
|
|
3
|
+
return f.includes(e);
|
|
4
|
+
}
|
|
5
|
+
function g(e, t) {
|
|
6
|
+
const r = t?.[e];
|
|
7
|
+
if (r)
|
|
8
|
+
return r;
|
|
9
|
+
if (i(e))
|
|
10
|
+
return l[e];
|
|
11
|
+
}
|
|
12
|
+
function S(e) {
|
|
13
|
+
return i(e) ? a[e] : String(e);
|
|
14
|
+
}
|
|
15
|
+
function m(e) {
|
|
16
|
+
return e.mimeType?.startsWith("image/") ? !0 : /\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(e.name);
|
|
17
|
+
}
|
|
18
|
+
function h(e) {
|
|
19
|
+
if (!e)
|
|
20
|
+
return "";
|
|
21
|
+
const t = e instanceof Date ? e : new Date(e);
|
|
22
|
+
return Number.isNaN(t.getTime()) ? String(e) : new Intl.DateTimeFormat(void 0, {
|
|
23
|
+
hour: "2-digit",
|
|
24
|
+
minute: "2-digit"
|
|
25
|
+
}).format(t);
|
|
26
|
+
}
|
|
27
|
+
function s(e) {
|
|
28
|
+
return e == null ? ["floating"] : e.length === 0 ? [] : o.filter((t) => e.includes(t));
|
|
29
|
+
}
|
|
30
|
+
function C(e, t) {
|
|
31
|
+
return t && t !== "closed" && e.includes(t) ? t : e[0] ?? "floating";
|
|
32
|
+
}
|
|
33
|
+
function T(e, t) {
|
|
34
|
+
return s(e).filter(
|
|
35
|
+
(r) => r !== "closed" && r !== t
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function A(e) {
|
|
39
|
+
return e.showCloseButton === !1 ? !1 : e.showCloseButton === !0 || e.overlayContext && e.floatingTrigger && !e.embedded && (e.effectiveLayout === "floating" || e.effectiveLayout === "fullHeight") ? !0 : !!(e.floatingTrigger && !e.embedded && e.effectiveLayout === "floating");
|
|
40
|
+
}
|
|
41
|
+
function E(e, t = {}) {
|
|
42
|
+
if (e.key !== "Enter")
|
|
43
|
+
return !1;
|
|
44
|
+
const { shiftEnterNewline: r = !0, ctrlEnterNewline: u = !0 } = t, n = e.ctrlKey || e.metaKey;
|
|
45
|
+
return !!(r && e.shiftKey && !n || u && n && !e.shiftKey);
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
h as formatChatTimestamp,
|
|
49
|
+
T as getChatLayoutActions,
|
|
50
|
+
i as isChatMessageDeliveryStatus,
|
|
51
|
+
m as isImageAttachment,
|
|
52
|
+
C as pickInitialLayout,
|
|
53
|
+
s as resolveAllowedLayouts,
|
|
54
|
+
g as resolveChatMessageStatusIcon,
|
|
55
|
+
S as resolveChatMessageStatusLabel,
|
|
56
|
+
E as shouldComposerNewlineOnEnter,
|
|
57
|
+
A as shouldShowChatCloseButton
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/dataDisplay/chat/utils.ts"],"sourcesContent":["import {\n type ChatAttachment,\n type ChatLayoutMode,\n CHAT_EXPAND_LAYOUTS,\n CHAT_MESSAGE_DELIVERY_STATUSES,\n CHAT_MESSAGE_STATUS_ICONS,\n CHAT_MESSAGE_STATUS_LABELS,\n type ChatMessageDeliveryStatus,\n type ChatMessageStatus,\n type ChatMessageStatusIcons,\n} from \"./types\";\n\nexport function isChatMessageDeliveryStatus(status: ChatMessageStatus): status is ChatMessageDeliveryStatus {\n return CHAT_MESSAGE_DELIVERY_STATUSES.includes(status as ChatMessageDeliveryStatus);\n}\n\nexport function resolveChatMessageStatusIcon(\n status: ChatMessageStatus,\n icons?: ChatMessageStatusIcons & Record<string, string | undefined>\n): string | undefined {\n const custom = icons?.[status];\n if (custom) {\n return custom;\n }\n\n if (isChatMessageDeliveryStatus(status)) {\n return CHAT_MESSAGE_STATUS_ICONS[status];\n }\n\n return undefined;\n}\n\nexport function resolveChatMessageStatusLabel(status: ChatMessageStatus): string {\n if (isChatMessageDeliveryStatus(status)) {\n return CHAT_MESSAGE_STATUS_LABELS[status];\n }\n\n return String(status);\n}\n\nexport function isImageAttachment(attachment: ChatAttachment): boolean {\n if (attachment.mimeType?.startsWith(\"image/\")) {\n return true;\n }\n\n return /\\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(attachment.name);\n}\n\nexport function formatChatTimestamp(value?: string | Date): string {\n if (!value) {\n return \"\";\n }\n\n const date = value instanceof Date ? value : new Date(value);\n\n if (Number.isNaN(date.getTime())) {\n return String(value);\n }\n\n return new Intl.DateTimeFormat(undefined, {\n hour: \"2-digit\",\n minute: \"2-digit\",\n }).format(date);\n}\n\nexport function resolveAllowedLayouts(input?: ChatLayoutMode[]): ChatLayoutMode[] {\n if (input == null) {\n return [\"floating\"];\n }\n\n if (input.length === 0) {\n return [];\n }\n\n return CHAT_EXPAND_LAYOUTS.filter((mode) => input.includes(mode));\n}\n\nexport function pickInitialLayout(allowed: ChatLayoutMode[], preferred?: ChatLayoutMode): ChatLayoutMode {\n if (preferred && preferred !== \"closed\" && allowed.includes(preferred)) {\n return preferred;\n }\n\n return allowed[0] ?? \"floating\";\n}\n\nexport function getChatLayoutActions(\n allowedLayouts: ChatLayoutMode[],\n currentLayout?: ChatLayoutMode\n): Exclude<ChatLayoutMode, \"closed\">[] {\n return resolveAllowedLayouts(allowedLayouts).filter(\n (mode): mode is Exclude<ChatLayoutMode, \"closed\"> => mode !== \"closed\" && mode !== currentLayout\n );\n}\n\nexport function shouldShowChatCloseButton(options: {\n floatingTrigger?: boolean | undefined;\n embedded?: boolean | undefined;\n overlayContext?: boolean | undefined;\n effectiveLayout?: ChatLayoutMode | undefined;\n showCloseButton?: boolean | undefined;\n}): boolean {\n if (options.showCloseButton === false) {\n return false;\n }\n\n if (options.showCloseButton === true) {\n return true;\n }\n\n if (\n options.overlayContext &&\n options.floatingTrigger &&\n !options.embedded &&\n (options.effectiveLayout === \"floating\" || options.effectiveLayout === \"fullHeight\")\n ) {\n return true;\n }\n\n return Boolean(options.floatingTrigger && !options.embedded && options.effectiveLayout === \"floating\");\n}\n\nexport interface ChatComposerNewlineOptions {\n shiftEnterNewline?: boolean;\n ctrlEnterNewline?: boolean;\n}\n\nexport function shouldComposerNewlineOnEnter(\n event: { key: string; shiftKey: boolean; ctrlKey: boolean; metaKey: boolean },\n options: ChatComposerNewlineOptions = {}\n): boolean {\n if (event.key !== \"Enter\") {\n return false;\n }\n\n const { shiftEnterNewline = true, ctrlEnterNewline = true } = options;\n const isCtrl = event.ctrlKey || event.metaKey;\n\n if (shiftEnterNewline && event.shiftKey && !isCtrl) {\n return true;\n }\n\n if (ctrlEnterNewline && isCtrl && !event.shiftKey) {\n return true;\n }\n\n return false;\n}\n"],"names":["isChatMessageDeliveryStatus","status","CHAT_MESSAGE_DELIVERY_STATUSES","resolveChatMessageStatusIcon","icons","custom","CHAT_MESSAGE_STATUS_ICONS","resolveChatMessageStatusLabel","CHAT_MESSAGE_STATUS_LABELS","isImageAttachment","attachment","formatChatTimestamp","value","date","resolveAllowedLayouts","input","CHAT_EXPAND_LAYOUTS","mode","pickInitialLayout","allowed","preferred","getChatLayoutActions","allowedLayouts","currentLayout","shouldShowChatCloseButton","options","shouldComposerNewlineOnEnter","event","shiftEnterNewline","ctrlEnterNewline","isCtrl"],"mappings":";AAYO,SAASA,EAA4BC,GAAgE;AAC1G,SAAOC,EAA+B,SAASD,CAAmC;AACpF;AAEO,SAASE,EACdF,GACAG,GACoB;AACpB,QAAMC,IAASD,IAAQH,CAAM;AAC7B,MAAII;AACF,WAAOA;AAGT,MAAIL,EAA4BC,CAAM;AACpC,WAAOK,EAA0BL,CAAM;AAI3C;AAEO,SAASM,EAA8BN,GAAmC;AAC/E,SAAID,EAA4BC,CAAM,IAC7BO,EAA2BP,CAAM,IAGnC,OAAOA,CAAM;AACtB;AAEO,SAASQ,EAAkBC,GAAqC;AACrE,SAAIA,EAAW,UAAU,WAAW,QAAQ,IACnC,KAGF,mCAAmC,KAAKA,EAAW,IAAI;AAChE;AAEO,SAASC,EAAoBC,GAA+B;AACjE,MAAI,CAACA;AACH,WAAO;AAGT,QAAMC,IAAOD,aAAiB,OAAOA,IAAQ,IAAI,KAAKA,CAAK;AAE3D,SAAI,OAAO,MAAMC,EAAK,QAAA,CAAS,IACtB,OAAOD,CAAK,IAGd,IAAI,KAAK,eAAe,QAAW;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA,CACT,EAAE,OAAOC,CAAI;AAChB;AAEO,SAASC,EAAsBC,GAA4C;AAChF,SAAIA,KAAS,OACJ,CAAC,UAAU,IAGhBA,EAAM,WAAW,IACZ,CAAA,IAGFC,EAAoB,OAAO,CAACC,MAASF,EAAM,SAASE,CAAI,CAAC;AAClE;AAEO,SAASC,EAAkBC,GAA2BC,GAA4C;AACvG,SAAIA,KAAaA,MAAc,YAAYD,EAAQ,SAASC,CAAS,IAC5DA,IAGFD,EAAQ,CAAC,KAAK;AACvB;AAEO,SAASE,EACdC,GACAC,GACqC;AACrC,SAAOT,EAAsBQ,CAAc,EAAE;AAAA,IAC3C,CAACL,MAAoDA,MAAS,YAAYA,MAASM;AAAA,EAAA;AAEvF;AAEO,SAASC,EAA0BC,GAM9B;AACV,SAAIA,EAAQ,oBAAoB,KACvB,KAGLA,EAAQ,oBAAoB,MAK9BA,EAAQ,kBACRA,EAAQ,mBACR,CAACA,EAAQ,aACRA,EAAQ,oBAAoB,cAAcA,EAAQ,oBAAoB,gBAEhE,KAGF,GAAQA,EAAQ,mBAAmB,CAACA,EAAQ,YAAYA,EAAQ,oBAAoB;AAC7F;AAOO,SAASC,EACdC,GACAF,IAAsC,IAC7B;AACT,MAAIE,EAAM,QAAQ;AAChB,WAAO;AAGT,QAAM,EAAE,mBAAAC,IAAoB,IAAM,kBAAAC,IAAmB,OAASJ,GACxDK,IAASH,EAAM,WAAWA,EAAM;AAMtC,SAJI,GAAAC,KAAqBD,EAAM,YAAY,CAACG,KAIxCD,KAAoBC,KAAU,CAACH,EAAM;AAK3C;"}
|