@smwb/ui-solid 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +177 -0
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -0
- package/dist/headless/source/components/base/animateHeight/index.js +6 -0
- package/dist/headless/source/components/base/animateHeight/index.js.map +7 -0
- package/dist/headless/source/components/base/icon/icon.jsx +60 -0
- package/dist/headless/source/components/base/icon/icon.jsx.map +1 -0
- package/dist/headless/source/components/base/icon/index.js +6 -0
- package/dist/headless/source/components/base/icon/index.js.map +7 -0
- package/dist/headless/source/components/base/ripple/index.js +6 -0
- package/dist/headless/source/components/base/ripple/index.js.map +7 -0
- package/dist/headless/source/components/base/ripple/ripple.jsx +63 -0
- package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -0
- package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx +73 -0
- package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx.map +1 -0
- package/dist/headless/source/components/clickAwayListener/index.js +6 -0
- package/dist/headless/source/components/clickAwayListener/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +82 -0
- package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/accordion/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/accordion/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +95 -0
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/avatar/index.js +7 -0
- package/dist/headless/source/components/dataDisplay/avatar/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/badge/badge.jsx +56 -0
- package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/badge/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/badge/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/card/card.jsx +54 -0
- package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/card/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/card/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +407 -0
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/carousel/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/carousel/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/carousel/utils.js +76 -0
- package/dist/headless/source/components/dataDisplay/carousel/utils.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx +155 -0
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx +53 -0
- package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx +35 -0
- package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +170 -0
- package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +55 -0
- package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +38 -0
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +121 -0
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx +19 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +56 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx +21 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx +56 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +25 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +33 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx +35 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx +17 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx +63 -0
- package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +60 -0
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +66 -0
- package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chat/index.js +82 -0
- package/dist/headless/source/components/dataDisplay/chat/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/types.js +25 -0
- package/dist/headless/source/components/dataDisplay/chat/types.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatFileUpload.js +49 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatFileUpload.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatInfiniteScroll.js +27 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatInfiniteScroll.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatStickToBottom.js +54 -0
- package/dist/headless/source/components/dataDisplay/chat/useChatStickToBottom.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/utils.js +103 -0
- package/dist/headless/source/components/dataDisplay/chat/utils.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx +119 -0
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chip/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/chip/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +164 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx +25 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesList.types.js +1 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesList.types.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListContext.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +55 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +30 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/imagesList/index.js +12 -0
- package/dist/headless/source/components/dataDisplay/imagesList/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/list/index.js +8 -0
- package/dist/headless/source/components/dataDisplay/list/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/list/list.jsx +24 -0
- package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx +53 -0
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/index.js +17 -0
- package/dist/headless/source/components/dataDisplay/table/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/table/table.jsx +46 -0
- package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +15 -0
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +16 -0
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +15 -0
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +53 -0
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +47 -0
- package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +25 -0
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/treeView/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/treeView/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +172 -0
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/typography/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/typography/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx +57 -0
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/message/index.js +7 -0
- package/dist/headless/source/components/feedBack/message/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/message/message.jsx +51 -0
- package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/modal/index.js +6 -0
- package/dist/headless/source/components/feedBack/modal/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/modal/modal.jsx +101 -0
- package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/progressIndicator/index.js +7 -0
- package/dist/headless/source/components/feedBack/progressIndicator/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +68 -0
- package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/skeleton/index.js +6 -0
- package/dist/headless/source/components/feedBack/skeleton/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +65 -0
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/snackbar/index.js +10 -0
- package/dist/headless/source/components/feedBack/snackbar/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +196 -0
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/snackbar/useSnackbarsPortal.js +21 -0
- package/dist/headless/source/components/feedBack/snackbar/useSnackbarsPortal.js.map +7 -0
- package/dist/headless/source/components/feedBack/tooltip/index.js +6 -0
- package/dist/headless/source/components/feedBack/tooltip/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +92 -0
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -0
- package/dist/headless/source/components/inputs/button/button.jsx +101 -0
- package/dist/headless/source/components/inputs/button/button.jsx.map +1 -0
- package/dist/headless/source/components/inputs/button/index.js +6 -0
- package/dist/headless/source/components/inputs/button/index.js.map +7 -0
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +72 -0
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -0
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroupContext.js +8 -0
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroupContext.js.map +7 -0
- package/dist/headless/source/components/inputs/buttonGroups/index.js +9 -0
- package/dist/headless/source/components/inputs/buttonGroups/index.js.map +7 -0
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +86 -0
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -0
- package/dist/headless/source/components/inputs/checkbox/index.js +6 -0
- package/dist/headless/source/components/inputs/checkbox/index.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx +87 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx +40 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +57 -0
- package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/dateFormat.js +89 -0
- package/dist/headless/source/components/inputs/datePicker/dateFormat.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +241 -0
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +48 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +52 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +36 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx +44 -0
- package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx.map +1 -0
- package/dist/headless/source/components/inputs/datePicker/dateUtils.js +232 -0
- package/dist/headless/source/components/inputs/datePicker/dateUtils.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/index.js +24 -0
- package/dist/headless/source/components/inputs/datePicker/index.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/openView.js +10 -0
- package/dist/headless/source/components/inputs/datePicker/openView.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/useDateInput.js +56 -0
- package/dist/headless/source/components/inputs/datePicker/useDateInput.js.map +7 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimeFormat.js +119 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimeFormat.js.map +7 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +200 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +57 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx.map +1 -0
- package/dist/headless/source/components/inputs/dateTimePicker/index.js +20 -0
- package/dist/headless/source/components/inputs/dateTimePicker/index.js.map +7 -0
- package/dist/headless/source/components/inputs/dateTimePicker/useDateTimeInput.js +85 -0
- package/dist/headless/source/components/inputs/dateTimePicker/useDateTimeInput.js.map +7 -0
- package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx +17 -0
- package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx.map +1 -0
- package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx +72 -0
- package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -0
- package/dist/headless/source/components/inputs/fileDrop/index.js +14 -0
- package/dist/headless/source/components/inputs/fileDrop/index.js.map +7 -0
- package/dist/headless/source/components/inputs/fileDrop/preview.jsx +41 -0
- package/dist/headless/source/components/inputs/fileDrop/preview.jsx.map +1 -0
- package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx +27 -0
- package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx.map +1 -0
- package/dist/headless/source/components/inputs/fileDrop/utils.js +7 -0
- package/dist/headless/source/components/inputs/fileDrop/utils.js.map +7 -0
- package/dist/headless/source/components/inputs/fileInput/fileInput.jsx +46 -0
- package/dist/headless/source/components/inputs/fileInput/fileInput.jsx.map +1 -0
- package/dist/headless/source/components/inputs/fileInput/index.js +6 -0
- package/dist/headless/source/components/inputs/fileInput/index.js.map +7 -0
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +30 -0
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -0
- package/dist/headless/source/components/inputs/floatingButton/index.js +6 -0
- package/dist/headless/source/components/inputs/floatingButton/index.js.map +7 -0
- package/dist/headless/source/components/inputs/radioButton/index.js +6 -0
- package/dist/headless/source/components/inputs/radioButton/index.js.map +7 -0
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +75 -0
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -0
- package/dist/headless/source/components/inputs/rating/index.js +6 -0
- package/dist/headless/source/components/inputs/rating/index.js.map +7 -0
- package/dist/headless/source/components/inputs/rating/rating.jsx +124 -0
- package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -0
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +141 -0
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -0
- package/dist/headless/source/components/inputs/selectField/index.js +8 -0
- package/dist/headless/source/components/inputs/selectField/index.js.map +7 -0
- package/dist/headless/source/components/inputs/selectField/selectField.jsx +272 -0
- package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -0
- package/dist/headless/source/components/inputs/slider/index.js +6 -0
- package/dist/headless/source/components/inputs/slider/index.js.map +7 -0
- package/dist/headless/source/components/inputs/slider/slider.jsx +404 -0
- package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -0
- package/dist/headless/source/components/inputs/slider/utils.js +49 -0
- package/dist/headless/source/components/inputs/slider/utils.js.map +7 -0
- package/dist/headless/source/components/inputs/textField/index.js +9 -0
- package/dist/headless/source/components/inputs/textField/index.js.map +7 -0
- package/dist/headless/source/components/inputs/textField/textField.jsx +137 -0
- package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -0
- package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +31 -0
- package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -0
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +83 -0
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -0
- package/dist/headless/source/components/inputs/textField/types.js +1 -0
- package/dist/headless/source/components/inputs/textField/types.js.map +7 -0
- package/dist/headless/source/components/inputs/textField/utils.js +13 -0
- package/dist/headless/source/components/inputs/textField/utils.js.map +7 -0
- package/dist/headless/source/components/inputs/timePicker/index.js +14 -0
- package/dist/headless/source/components/inputs/timePicker/index.js.map +7 -0
- package/dist/headless/source/components/inputs/timePicker/timeFormat.js +78 -0
- package/dist/headless/source/components/inputs/timePicker/timeFormat.js.map +7 -0
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +114 -0
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx +42 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx.map +1 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx +57 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx.map +1 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx +36 -0
- package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx.map +1 -0
- package/dist/headless/source/components/inputs/timePicker/timeUtils.js +96 -0
- package/dist/headless/source/components/inputs/timePicker/timeUtils.js.map +7 -0
- package/dist/headless/source/components/inputs/timePicker/useTimeInput.js +57 -0
- package/dist/headless/source/components/inputs/timePicker/useTimeInput.js.map +7 -0
- package/dist/headless/source/components/inputs/toggle/index.js +6 -0
- package/dist/headless/source/components/inputs/toggle/index.js.map +7 -0
- package/dist/headless/source/components/inputs/toggle/toggle.jsx +77 -0
- package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -0
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx +101 -0
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -0
- package/dist/headless/source/components/layout/appLayout/index.js +6 -0
- package/dist/headless/source/components/layout/appLayout/index.js.map +7 -0
- package/dist/headless/source/components/layout/divider/divider.jsx +68 -0
- package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -0
- package/dist/headless/source/components/layout/divider/index.js +6 -0
- package/dist/headless/source/components/layout/divider/index.js.map +7 -0
- package/dist/headless/source/components/layout/grid/grid.jsx +112 -0
- package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -0
- package/dist/headless/source/components/layout/grid/index.js +8 -0
- package/dist/headless/source/components/layout/grid/index.js.map +7 -0
- package/dist/headless/source/components/layout/page/index.js +6 -0
- package/dist/headless/source/components/layout/page/index.js.map +7 -0
- package/dist/headless/source/components/layout/page/page.jsx +28 -0
- package/dist/headless/source/components/layout/page/page.jsx.map +1 -0
- package/dist/headless/source/components/layout/pageHeader/index.js +6 -0
- package/dist/headless/source/components/layout/pageHeader/index.js.map +7 -0
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +52 -0
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -0
- package/dist/headless/source/components/layout/screenDivider/index.js +6 -0
- package/dist/headless/source/components/layout/screenDivider/index.js.map +7 -0
- package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx +129 -0
- package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx.map +1 -0
- package/dist/headless/source/components/layout/sheet/index.js +6 -0
- package/dist/headless/source/components/layout/sheet/index.js.map +7 -0
- package/dist/headless/source/components/layout/sheet/sheet.jsx +261 -0
- package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -0
- package/dist/headless/source/components/layout/stack/index.js +6 -0
- package/dist/headless/source/components/layout/stack/index.js.map +7 -0
- package/dist/headless/source/components/layout/stack/stack.jsx +53 -0
- package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -0
- package/dist/headless/source/components/navigation/appBar/appBar.jsx +65 -0
- package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -0
- package/dist/headless/source/components/navigation/appBar/index.js +6 -0
- package/dist/headless/source/components/navigation/appBar/index.js.map +7 -0
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +134 -0
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -0
- package/dist/headless/source/components/navigation/bottomBar/index.js +6 -0
- package/dist/headless/source/components/navigation/bottomBar/index.js.map +7 -0
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +62 -0
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -0
- package/dist/headless/source/components/navigation/breadcrumbs/index.js +6 -0
- package/dist/headless/source/components/navigation/breadcrumbs/index.js.map +7 -0
- package/dist/headless/source/components/navigation/menu/index.js +23 -0
- package/dist/headless/source/components/navigation/menu/index.js.map +7 -0
- package/dist/headless/source/components/navigation/menu/menu.jsx +27 -0
- package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx +18 -0
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuContext.js +14 -0
- package/dist/headless/source/components/navigation/menu/menuContext.js.map +7 -0
- package/dist/headless/source/components/navigation/menu/menuDivider.jsx +19 -0
- package/dist/headless/source/components/navigation/menu/menuDivider.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx +84 -0
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuItem.jsx +68 -0
- package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx +25 -0
- package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuItemText.jsx +25 -0
- package/dist/headless/source/components/navigation/menu/menuItemText.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuList.jsx +46 -0
- package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -0
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +86 -0
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -0
- package/dist/headless/source/components/navigation/pagination/index.js +6 -0
- package/dist/headless/source/components/navigation/pagination/index.js.map +7 -0
- package/dist/headless/source/components/navigation/pagination/pagination.jsx +142 -0
- package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -0
- package/dist/headless/source/components/navigation/sidebar/index.js +6 -0
- package/dist/headless/source/components/navigation/sidebar/index.js.map +7 -0
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +114 -0
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -0
- package/dist/headless/source/components/navigation/stepper/index.js +6 -0
- package/dist/headless/source/components/navigation/stepper/index.js.map +7 -0
- package/dist/headless/source/components/navigation/stepper/stepper.jsx +82 -0
- package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -0
- package/dist/headless/source/components/navigation/tabs/index.js +10 -0
- package/dist/headless/source/components/navigation/tabs/index.js.map +7 -0
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +75 -0
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -0
- package/dist/headless/source/components/navigation/tabs/tabs.jsx +141 -0
- package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -0
- package/dist/headless/source/components/navigation/tabs/tabsContext.js +8 -0
- package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +7 -0
- package/dist/headless/source/index.js +309 -0
- package/dist/headless/source/index.js.map +7 -0
- package/dist/headless/source/primitives/callHandler.js +12 -0
- package/dist/headless/source/primitives/callHandler.js.map +7 -0
- package/dist/headless/source/primitives/createControllableState.js +19 -0
- package/dist/headless/source/primitives/createControllableState.js.map +7 -0
- package/dist/headless/source/primitives/createCssTransition.js +59 -0
- package/dist/headless/source/primitives/createCssTransition.js.map +7 -0
- package/dist/headless/source/primitives/createDropzone.js +46 -0
- package/dist/headless/source/primitives/createDropzone.js.map +7 -0
- package/dist/headless/source/primitives/createFloating.js +48 -0
- package/dist/headless/source/primitives/createFloating.js.map +7 -0
- package/dist/headless/source/primitives/createFocusTrap.js +50 -0
- package/dist/headless/source/primitives/createFocusTrap.js.map +7 -0
- package/dist/headless/source/primitives/createId.js +9 -0
- package/dist/headless/source/primitives/createId.js.map +7 -0
- package/dist/headless/source/primitives/createMaskedInput.js +35 -0
- package/dist/headless/source/primitives/createMaskedInput.js.map +7 -0
- package/dist/headless/source/primitives/createTheme.js +51 -0
- package/dist/headless/source/primitives/createTheme.js.map +7 -0
- package/dist/headless/source/primitives/createVirtualList.js +19 -0
- package/dist/headless/source/primitives/createVirtualList.js.map +7 -0
- package/dist/headless/source/primitives/mergeRefs.js +13 -0
- package/dist/headless/source/primitives/mergeRefs.js.map +7 -0
- package/dist/headless/source/ssr-published.ssr-spec.jsx +35 -0
- package/dist/headless/source/ssr-published.ssr-spec.jsx.map +1 -0
- package/dist/headless/source/ssr.ssr-spec.jsx +113 -0
- package/dist/headless/source/ssr.ssr-spec.jsx.map +1 -0
- package/dist/headless/source/utils/animate.js +35 -0
- package/dist/headless/source/utils/animate.js.map +7 -0
- package/dist/headless/source/utils/debounce.js +23 -0
- package/dist/headless/source/utils/debounce.js.map +7 -0
- package/dist/headless/source/utils/floating.js +42 -0
- package/dist/headless/source/utils/floating.js.map +7 -0
- package/dist/headless/source/utils/throttle.js +41 -0
- package/dist/headless/source/utils/throttle.js.map +7 -0
- package/dist/source/components/base/animateHeight/animateHeight.jsx +177 -0
- package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -0
- package/dist/source/components/base/animateHeight/index.js +6 -0
- package/dist/source/components/base/animateHeight/index.js.map +7 -0
- package/dist/source/components/base/icon/icon.jsx +61 -0
- package/dist/source/components/base/icon/icon.jsx.map +1 -0
- package/dist/source/components/base/icon/index.js +6 -0
- package/dist/source/components/base/icon/index.js.map +7 -0
- package/dist/source/components/base/ripple/index.js +6 -0
- package/dist/source/components/base/ripple/index.js.map +7 -0
- package/dist/source/components/base/ripple/ripple.jsx +64 -0
- package/dist/source/components/base/ripple/ripple.jsx.map +1 -0
- package/dist/source/components/clickAwayListener/clickAwayListener.jsx +73 -0
- package/dist/source/components/clickAwayListener/clickAwayListener.jsx.map +1 -0
- package/dist/source/components/clickAwayListener/index.js +6 -0
- package/dist/source/components/clickAwayListener/index.js.map +7 -0
- package/dist/source/components/dataDisplay/accordion/accordion.jsx +83 -0
- package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -0
- package/dist/source/components/dataDisplay/accordion/index.js +6 -0
- package/dist/source/components/dataDisplay/accordion/index.js.map +7 -0
- package/dist/source/components/dataDisplay/avatar/avatar.jsx +96 -0
- package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -0
- package/dist/source/components/dataDisplay/avatar/index.js +7 -0
- package/dist/source/components/dataDisplay/avatar/index.js.map +7 -0
- package/dist/source/components/dataDisplay/badge/badge.jsx +57 -0
- package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -0
- package/dist/source/components/dataDisplay/badge/index.js +6 -0
- package/dist/source/components/dataDisplay/badge/index.js.map +7 -0
- package/dist/source/components/dataDisplay/card/card.jsx +55 -0
- package/dist/source/components/dataDisplay/card/card.jsx.map +1 -0
- package/dist/source/components/dataDisplay/card/index.js +6 -0
- package/dist/source/components/dataDisplay/card/index.js.map +7 -0
- package/dist/source/components/dataDisplay/carousel/carousel.jsx +408 -0
- package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -0
- package/dist/source/components/dataDisplay/carousel/index.js +6 -0
- package/dist/source/components/dataDisplay/carousel/index.js.map +7 -0
- package/dist/source/components/dataDisplay/carousel/utils.js +76 -0
- package/dist/source/components/dataDisplay/carousel/utils.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/chat.jsx +156 -0
- package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx +53 -0
- package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatAttachments.jsx +35 -0
- package/dist/source/components/dataDisplay/chat/chatAttachments.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatComposer.jsx +170 -0
- package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatHeader.jsx +55 -0
- package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +38 -0
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx +121 -0
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx +19 -0
- package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +56 -0
- package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx +21 -0
- package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx +56 -0
- package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +25 -0
- package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +33 -0
- package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx +35 -0
- package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx +17 -0
- package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatMessages.jsx +63 -0
- package/dist/source/components/dataDisplay/chat/chatMessages.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +60 -0
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/chatShell.jsx +66 -0
- package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chat/index.js +82 -0
- package/dist/source/components/dataDisplay/chat/index.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/types.js +25 -0
- package/dist/source/components/dataDisplay/chat/types.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/useChatFileUpload.js +49 -0
- package/dist/source/components/dataDisplay/chat/useChatFileUpload.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/useChatInfiniteScroll.js +27 -0
- package/dist/source/components/dataDisplay/chat/useChatInfiniteScroll.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/useChatStickToBottom.js +54 -0
- package/dist/source/components/dataDisplay/chat/useChatStickToBottom.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/utils.js +103 -0
- package/dist/source/components/dataDisplay/chat/utils.js.map +7 -0
- package/dist/source/components/dataDisplay/chip/chip.jsx +120 -0
- package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chip/index.js +6 -0
- package/dist/source/components/dataDisplay/chip/index.js.map +7 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +165 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -0
- package/dist/source/components/dataDisplay/expansionPanel/index.js +6 -0
- package/dist/source/components/dataDisplay/expansionPanel/index.js.map +7 -0
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +26 -0
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -0
- package/dist/source/components/dataDisplay/imagesList/imagesList.types.js +1 -0
- package/dist/source/components/dataDisplay/imagesList/imagesList.types.js.map +7 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListContext.js.map +7 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +56 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +30 -0
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx.map +1 -0
- package/dist/source/components/dataDisplay/imagesList/index.js +12 -0
- package/dist/source/components/dataDisplay/imagesList/index.js.map +7 -0
- package/dist/source/components/dataDisplay/list/index.js +8 -0
- package/dist/source/components/dataDisplay/list/index.js.map +7 -0
- package/dist/source/components/dataDisplay/list/list.jsx +25 -0
- package/dist/source/components/dataDisplay/list/list.jsx.map +1 -0
- package/dist/source/components/dataDisplay/list/listItem.jsx +53 -0
- package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/index.js +17 -0
- package/dist/source/components/dataDisplay/table/index.js.map +7 -0
- package/dist/source/components/dataDisplay/table/table.jsx +47 -0
- package/dist/source/components/dataDisplay/table/table.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableBody.jsx +15 -0
- package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableCell.jsx +16 -0
- package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableHead.jsx +15 -0
- package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +53 -0
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +48 -0
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableRow.jsx +25 -0
- package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -0
- package/dist/source/components/dataDisplay/treeView/index.js +6 -0
- package/dist/source/components/dataDisplay/treeView/index.js.map +7 -0
- package/dist/source/components/dataDisplay/treeView/treeView.jsx +173 -0
- package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -0
- package/dist/source/components/dataDisplay/typography/index.js +6 -0
- package/dist/source/components/dataDisplay/typography/index.js.map +7 -0
- package/dist/source/components/dataDisplay/typography/typography.jsx +58 -0
- package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -0
- package/dist/source/components/feedBack/message/index.js +7 -0
- package/dist/source/components/feedBack/message/index.js.map +7 -0
- package/dist/source/components/feedBack/message/message.jsx +52 -0
- package/dist/source/components/feedBack/message/message.jsx.map +1 -0
- package/dist/source/components/feedBack/modal/index.js +6 -0
- package/dist/source/components/feedBack/modal/index.js.map +7 -0
- package/dist/source/components/feedBack/modal/modal.jsx +102 -0
- package/dist/source/components/feedBack/modal/modal.jsx.map +1 -0
- package/dist/source/components/feedBack/progressIndicator/index.js +7 -0
- package/dist/source/components/feedBack/progressIndicator/index.js.map +7 -0
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +69 -0
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -0
- package/dist/source/components/feedBack/skeleton/index.js +6 -0
- package/dist/source/components/feedBack/skeleton/index.js.map +7 -0
- package/dist/source/components/feedBack/skeleton/skeleton.jsx +66 -0
- package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -0
- package/dist/source/components/feedBack/snackbar/index.js +10 -0
- package/dist/source/components/feedBack/snackbar/index.js.map +7 -0
- package/dist/source/components/feedBack/snackbar/snackbar.jsx +197 -0
- package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -0
- package/dist/source/components/feedBack/snackbar/useSnackbarsPortal.js +21 -0
- package/dist/source/components/feedBack/snackbar/useSnackbarsPortal.js.map +7 -0
- package/dist/source/components/feedBack/tooltip/index.js +6 -0
- package/dist/source/components/feedBack/tooltip/index.js.map +7 -0
- package/dist/source/components/feedBack/tooltip/tooltip.jsx +93 -0
- package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -0
- package/dist/source/components/inputs/button/button.jsx +102 -0
- package/dist/source/components/inputs/button/button.jsx.map +1 -0
- package/dist/source/components/inputs/button/index.js +6 -0
- package/dist/source/components/inputs/button/index.js.map +7 -0
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +73 -0
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -0
- package/dist/source/components/inputs/buttonGroups/buttonGroupContext.js +8 -0
- package/dist/source/components/inputs/buttonGroups/buttonGroupContext.js.map +7 -0
- package/dist/source/components/inputs/buttonGroups/index.js +9 -0
- package/dist/source/components/inputs/buttonGroups/index.js.map +7 -0
- package/dist/source/components/inputs/checkbox/checkbox.jsx +87 -0
- package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -0
- package/dist/source/components/inputs/checkbox/index.js +6 -0
- package/dist/source/components/inputs/checkbox/index.js.map +7 -0
- package/dist/source/components/inputs/datePicker/dataPickerDays.jsx +87 -0
- package/dist/source/components/inputs/datePicker/dataPickerDays.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx +40 -0
- package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +57 -0
- package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/dateFormat.js +89 -0
- package/dist/source/components/inputs/datePicker/dateFormat.js.map +7 -0
- package/dist/source/components/inputs/datePicker/datePicker.jsx +242 -0
- package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +48 -0
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx +52 -0
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +36 -0
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/datePickerList.jsx +44 -0
- package/dist/source/components/inputs/datePicker/datePickerList.jsx.map +1 -0
- package/dist/source/components/inputs/datePicker/dateUtils.js +232 -0
- package/dist/source/components/inputs/datePicker/dateUtils.js.map +7 -0
- package/dist/source/components/inputs/datePicker/index.js +24 -0
- package/dist/source/components/inputs/datePicker/index.js.map +7 -0
- package/dist/source/components/inputs/datePicker/openView.js +10 -0
- package/dist/source/components/inputs/datePicker/openView.js.map +7 -0
- package/dist/source/components/inputs/datePicker/useDateInput.js +56 -0
- package/dist/source/components/inputs/datePicker/useDateInput.js.map +7 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimeFormat.js +119 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimeFormat.js.map +7 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +200 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +57 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx.map +1 -0
- package/dist/source/components/inputs/dateTimePicker/index.js +20 -0
- package/dist/source/components/inputs/dateTimePicker/index.js.map +7 -0
- package/dist/source/components/inputs/dateTimePicker/useDateTimeInput.js +85 -0
- package/dist/source/components/inputs/dateTimePicker/useDateTimeInput.js.map +7 -0
- package/dist/source/components/inputs/fileDrop/countPreview.jsx +17 -0
- package/dist/source/components/inputs/fileDrop/countPreview.jsx.map +1 -0
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx +73 -0
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -0
- package/dist/source/components/inputs/fileDrop/index.js +14 -0
- package/dist/source/components/inputs/fileDrop/index.js.map +7 -0
- package/dist/source/components/inputs/fileDrop/preview.jsx +41 -0
- package/dist/source/components/inputs/fileDrop/preview.jsx.map +1 -0
- package/dist/source/components/inputs/fileDrop/previewWrapper.jsx +27 -0
- package/dist/source/components/inputs/fileDrop/previewWrapper.jsx.map +1 -0
- package/dist/source/components/inputs/fileDrop/utils.js +7 -0
- package/dist/source/components/inputs/fileDrop/utils.js.map +7 -0
- package/dist/source/components/inputs/fileInput/fileInput.jsx +47 -0
- package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -0
- package/dist/source/components/inputs/fileInput/index.js +6 -0
- package/dist/source/components/inputs/fileInput/index.js.map +7 -0
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx +31 -0
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -0
- package/dist/source/components/inputs/floatingButton/index.js +6 -0
- package/dist/source/components/inputs/floatingButton/index.js.map +7 -0
- package/dist/source/components/inputs/radioButton/index.js +6 -0
- package/dist/source/components/inputs/radioButton/index.js.map +7 -0
- package/dist/source/components/inputs/radioButton/radioButton.jsx +76 -0
- package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -0
- package/dist/source/components/inputs/rating/index.js +6 -0
- package/dist/source/components/inputs/rating/index.js.map +7 -0
- package/dist/source/components/inputs/rating/rating.jsx +125 -0
- package/dist/source/components/inputs/rating/rating.jsx.map +1 -0
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx +141 -0
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -0
- package/dist/source/components/inputs/selectField/index.js +8 -0
- package/dist/source/components/inputs/selectField/index.js.map +7 -0
- package/dist/source/components/inputs/selectField/selectField.jsx +273 -0
- package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -0
- package/dist/source/components/inputs/slider/index.js +6 -0
- package/dist/source/components/inputs/slider/index.js.map +7 -0
- package/dist/source/components/inputs/slider/slider.jsx +405 -0
- package/dist/source/components/inputs/slider/slider.jsx.map +1 -0
- package/dist/source/components/inputs/slider/utils.js +49 -0
- package/dist/source/components/inputs/slider/utils.js.map +7 -0
- package/dist/source/components/inputs/textField/index.js +9 -0
- package/dist/source/components/inputs/textField/index.js.map +7 -0
- package/dist/source/components/inputs/textField/textField.jsx +138 -0
- package/dist/source/components/inputs/textField/textField.jsx.map +1 -0
- package/dist/source/components/inputs/textField/textFieldAdornment.jsx +31 -0
- package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -0
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx +83 -0
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -0
- package/dist/source/components/inputs/textField/types.js +1 -0
- package/dist/source/components/inputs/textField/types.js.map +7 -0
- package/dist/source/components/inputs/textField/utils.js +13 -0
- package/dist/source/components/inputs/textField/utils.js.map +7 -0
- package/dist/source/components/inputs/timePicker/index.js +14 -0
- package/dist/source/components/inputs/timePicker/index.js.map +7 -0
- package/dist/source/components/inputs/timePicker/timeFormat.js +78 -0
- package/dist/source/components/inputs/timePicker/timeFormat.js.map +7 -0
- package/dist/source/components/inputs/timePicker/timePicker.jsx +115 -0
- package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -0
- package/dist/source/components/inputs/timePicker/timePickerColumns.jsx +42 -0
- package/dist/source/components/inputs/timePicker/timePickerColumns.jsx.map +1 -0
- package/dist/source/components/inputs/timePicker/timePickerInput.jsx +57 -0
- package/dist/source/components/inputs/timePicker/timePickerInput.jsx.map +1 -0
- package/dist/source/components/inputs/timePicker/timePickerList.jsx +36 -0
- package/dist/source/components/inputs/timePicker/timePickerList.jsx.map +1 -0
- package/dist/source/components/inputs/timePicker/timeUtils.js +96 -0
- package/dist/source/components/inputs/timePicker/timeUtils.js.map +7 -0
- package/dist/source/components/inputs/timePicker/useTimeInput.js +57 -0
- package/dist/source/components/inputs/timePicker/useTimeInput.js.map +7 -0
- package/dist/source/components/inputs/toggle/index.js +6 -0
- package/dist/source/components/inputs/toggle/index.js.map +7 -0
- package/dist/source/components/inputs/toggle/toggle.jsx +78 -0
- package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -0
- package/dist/source/components/layout/appLayout/appLayout.jsx +102 -0
- package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -0
- package/dist/source/components/layout/appLayout/index.js +6 -0
- package/dist/source/components/layout/appLayout/index.js.map +7 -0
- package/dist/source/components/layout/divider/divider.jsx +69 -0
- package/dist/source/components/layout/divider/divider.jsx.map +1 -0
- package/dist/source/components/layout/divider/index.js +6 -0
- package/dist/source/components/layout/divider/index.js.map +7 -0
- package/dist/source/components/layout/grid/grid.jsx +113 -0
- package/dist/source/components/layout/grid/grid.jsx.map +1 -0
- package/dist/source/components/layout/grid/index.js +8 -0
- package/dist/source/components/layout/grid/index.js.map +7 -0
- package/dist/source/components/layout/page/index.js +6 -0
- package/dist/source/components/layout/page/index.js.map +7 -0
- package/dist/source/components/layout/page/page.jsx +29 -0
- package/dist/source/components/layout/page/page.jsx.map +1 -0
- package/dist/source/components/layout/pageHeader/index.js +6 -0
- package/dist/source/components/layout/pageHeader/index.js.map +7 -0
- package/dist/source/components/layout/pageHeader/pageHeader.jsx +53 -0
- package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -0
- package/dist/source/components/layout/screenDivider/index.js +6 -0
- package/dist/source/components/layout/screenDivider/index.js.map +7 -0
- package/dist/source/components/layout/screenDivider/screenDivider.jsx +130 -0
- package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -0
- package/dist/source/components/layout/sheet/index.js +6 -0
- package/dist/source/components/layout/sheet/index.js.map +7 -0
- package/dist/source/components/layout/sheet/sheet.jsx +262 -0
- package/dist/source/components/layout/sheet/sheet.jsx.map +1 -0
- package/dist/source/components/layout/stack/index.js +6 -0
- package/dist/source/components/layout/stack/index.js.map +7 -0
- package/dist/source/components/layout/stack/stack.jsx +54 -0
- package/dist/source/components/layout/stack/stack.jsx.map +1 -0
- package/dist/source/components/navigation/appBar/appBar.jsx +66 -0
- package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -0
- package/dist/source/components/navigation/appBar/index.js +6 -0
- package/dist/source/components/navigation/appBar/index.js.map +7 -0
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx +135 -0
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -0
- package/dist/source/components/navigation/bottomBar/index.js +6 -0
- package/dist/source/components/navigation/bottomBar/index.js.map +7 -0
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +63 -0
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -0
- package/dist/source/components/navigation/breadcrumbs/index.js +6 -0
- package/dist/source/components/navigation/breadcrumbs/index.js.map +7 -0
- package/dist/source/components/navigation/menu/index.js +23 -0
- package/dist/source/components/navigation/menu/index.js.map +7 -0
- package/dist/source/components/navigation/menu/menu.jsx +28 -0
- package/dist/source/components/navigation/menu/menu.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuComponent.jsx +18 -0
- package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuContext.js +14 -0
- package/dist/source/components/navigation/menu/menuContext.js.map +7 -0
- package/dist/source/components/navigation/menu/menuDivider.jsx +19 -0
- package/dist/source/components/navigation/menu/menuDivider.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuFloating.jsx +84 -0
- package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuItem.jsx +68 -0
- package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuItemIcon.jsx +25 -0
- package/dist/source/components/navigation/menu/menuItemIcon.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuItemText.jsx +25 -0
- package/dist/source/components/navigation/menu/menuItemText.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuList.jsx +46 -0
- package/dist/source/components/navigation/menu/menuList.jsx.map +1 -0
- package/dist/source/components/navigation/menu/menuSubmenu.jsx +86 -0
- package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -0
- package/dist/source/components/navigation/pagination/index.js +6 -0
- package/dist/source/components/navigation/pagination/index.js.map +7 -0
- package/dist/source/components/navigation/pagination/pagination.jsx +143 -0
- package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -0
- package/dist/source/components/navigation/sidebar/index.js +6 -0
- package/dist/source/components/navigation/sidebar/index.js.map +7 -0
- package/dist/source/components/navigation/sidebar/sidebar.jsx +115 -0
- package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -0
- package/dist/source/components/navigation/stepper/index.js +6 -0
- package/dist/source/components/navigation/stepper/index.js.map +7 -0
- package/dist/source/components/navigation/stepper/stepper.jsx +83 -0
- package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -0
- package/dist/source/components/navigation/tabs/index.js +10 -0
- package/dist/source/components/navigation/tabs/index.js.map +7 -0
- package/dist/source/components/navigation/tabs/tab/tab.jsx +76 -0
- package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -0
- package/dist/source/components/navigation/tabs/tabs.jsx +142 -0
- package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -0
- package/dist/source/components/navigation/tabs/tabsContext.js +8 -0
- package/dist/source/components/navigation/tabs/tabsContext.js.map +7 -0
- package/dist/source/index.js +309 -0
- package/dist/source/index.js.map +7 -0
- package/dist/source/primitives/callHandler.js +12 -0
- package/dist/source/primitives/callHandler.js.map +7 -0
- package/dist/source/primitives/createControllableState.js +19 -0
- package/dist/source/primitives/createControllableState.js.map +7 -0
- package/dist/source/primitives/createCssTransition.js +59 -0
- package/dist/source/primitives/createCssTransition.js.map +7 -0
- package/dist/source/primitives/createDropzone.js +46 -0
- package/dist/source/primitives/createDropzone.js.map +7 -0
- package/dist/source/primitives/createFloating.js +48 -0
- package/dist/source/primitives/createFloating.js.map +7 -0
- package/dist/source/primitives/createFocusTrap.js +50 -0
- package/dist/source/primitives/createFocusTrap.js.map +7 -0
- package/dist/source/primitives/createId.js +9 -0
- package/dist/source/primitives/createId.js.map +7 -0
- package/dist/source/primitives/createMaskedInput.js +35 -0
- package/dist/source/primitives/createMaskedInput.js.map +7 -0
- package/dist/source/primitives/createTheme.js +51 -0
- package/dist/source/primitives/createTheme.js.map +7 -0
- package/dist/source/primitives/createVirtualList.js +19 -0
- package/dist/source/primitives/createVirtualList.js.map +7 -0
- package/dist/source/primitives/mergeRefs.js +13 -0
- package/dist/source/primitives/mergeRefs.js.map +7 -0
- package/dist/source/ssr-published.ssr-spec.jsx +35 -0
- package/dist/source/ssr-published.ssr-spec.jsx.map +1 -0
- package/dist/source/ssr.ssr-spec.jsx +113 -0
- package/dist/source/ssr.ssr-spec.jsx.map +1 -0
- package/dist/source/utils/animate.js +35 -0
- package/dist/source/utils/animate.js.map +7 -0
- package/dist/source/utils/debounce.js +23 -0
- package/dist/source/utils/debounce.js.map +7 -0
- package/dist/source/utils/floating.js +42 -0
- package/dist/source/utils/floating.js.map +7 -0
- package/dist/source/utils/throttle.js +41 -0
- package/dist/source/utils/throttle.js.map +7 -0
- package/package.json +7 -3
- package/dist/ssr.ssr-spec.d.ts +0 -1
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
import {
|
|
2
|
+
For,
|
|
3
|
+
Show,
|
|
4
|
+
children as resolveChildren,
|
|
5
|
+
createEffect,
|
|
6
|
+
createMemo,
|
|
7
|
+
createSignal,
|
|
8
|
+
createUniqueId,
|
|
9
|
+
mergeProps,
|
|
10
|
+
onCleanup,
|
|
11
|
+
splitProps
|
|
12
|
+
} from "solid-js";
|
|
13
|
+
import cn from "clsx";
|
|
14
|
+
import { Icon } from "../../base/icon";
|
|
15
|
+
import { Modal } from "../../feedBack/modal";
|
|
16
|
+
import {
|
|
17
|
+
clamp,
|
|
18
|
+
coordX,
|
|
19
|
+
coordY,
|
|
20
|
+
dragPrevent,
|
|
21
|
+
getSlideIndexForMultipleParts,
|
|
22
|
+
getSlideStyle,
|
|
23
|
+
getSlideWidth,
|
|
24
|
+
getSlidesToShow,
|
|
25
|
+
getStartSlide,
|
|
26
|
+
isMouseEvent,
|
|
27
|
+
isTouchEvent,
|
|
28
|
+
toCssLength,
|
|
29
|
+
toCssNumber
|
|
30
|
+
} from "./utils";
|
|
31
|
+
import { mergeRefs } from "../../../primitives/mergeRefs";
|
|
32
|
+
const TAP_THRESHOLD = 8;
|
|
33
|
+
const FLICK_VELOCITY = 0.4;
|
|
34
|
+
const now = () => typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
35
|
+
function Carousel(props) {
|
|
36
|
+
const merged = mergeProps(
|
|
37
|
+
{
|
|
38
|
+
slidesToShow: 3,
|
|
39
|
+
startSlide: 0,
|
|
40
|
+
showNavigation: true,
|
|
41
|
+
arrowsSize: 30,
|
|
42
|
+
"aria-label": "Carousel",
|
|
43
|
+
autoplay: false,
|
|
44
|
+
autoplayInterval: 4e3,
|
|
45
|
+
pauseOnHover: true,
|
|
46
|
+
enableFullscreen: false
|
|
47
|
+
},
|
|
48
|
+
props
|
|
49
|
+
);
|
|
50
|
+
const [local] = splitProps(merged, [
|
|
51
|
+
"slidesToShow",
|
|
52
|
+
"startSlide",
|
|
53
|
+
"children",
|
|
54
|
+
"class",
|
|
55
|
+
"showNavigation",
|
|
56
|
+
"showArrows",
|
|
57
|
+
"arrowsSize",
|
|
58
|
+
"navigationClassName",
|
|
59
|
+
"onSlideChange",
|
|
60
|
+
"navigationDotRenderer",
|
|
61
|
+
"aria-label",
|
|
62
|
+
"autoplay",
|
|
63
|
+
"autoplayInterval",
|
|
64
|
+
"pauseOnHover",
|
|
65
|
+
"cellHeight",
|
|
66
|
+
"aspectRatio",
|
|
67
|
+
"gap",
|
|
68
|
+
"maxWidth",
|
|
69
|
+
"enableFullscreen",
|
|
70
|
+
"ref"
|
|
71
|
+
]);
|
|
72
|
+
const resolved = resolveChildren(() => local.children);
|
|
73
|
+
const slides = () => resolved.toArray();
|
|
74
|
+
const slidesCount = () => slides().length;
|
|
75
|
+
const slidesToShow = () => getSlidesToShow(local.slidesToShow, slidesCount());
|
|
76
|
+
const startSlide = () => getStartSlide(local.startSlide, slidesCount());
|
|
77
|
+
const showArrows = () => !!local.showArrows && slidesCount() > 1;
|
|
78
|
+
const maxShift = () => Math.max(0, slidesCount() - slidesToShow());
|
|
79
|
+
const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());
|
|
80
|
+
const [animation, setAnimation] = createSignal(void 0);
|
|
81
|
+
const [isHovered, setIsHovered] = createSignal(false);
|
|
82
|
+
const [dragPx, setDragPx] = createSignal(0);
|
|
83
|
+
const [isDragging, setIsDragging] = createSignal(false);
|
|
84
|
+
const [fullscreenIndex, setFullscreenIndex] = createSignal(null);
|
|
85
|
+
const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);
|
|
86
|
+
const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);
|
|
87
|
+
let rootEl;
|
|
88
|
+
let trackEl;
|
|
89
|
+
const motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };
|
|
90
|
+
let fullscreenTouchX = null;
|
|
91
|
+
const slideId = createUniqueId();
|
|
92
|
+
createEffect(() => {
|
|
93
|
+
slidesToShow();
|
|
94
|
+
setAnimation(false);
|
|
95
|
+
});
|
|
96
|
+
createEffect(() => {
|
|
97
|
+
const start = startSlide();
|
|
98
|
+
setActiveSlideIndex(start);
|
|
99
|
+
local.onSlideChange?.(start);
|
|
100
|
+
if (animation() !== void 0) setAnimation(true);
|
|
101
|
+
});
|
|
102
|
+
const goToSlide = (index) => {
|
|
103
|
+
const target = clamp(index, 0, maxShift());
|
|
104
|
+
setActiveSlideIndex(target);
|
|
105
|
+
setAnimation(true);
|
|
106
|
+
local.onSlideChange?.(target);
|
|
107
|
+
};
|
|
108
|
+
const detachListeners = (mouse) => {
|
|
109
|
+
if (!trackEl) return;
|
|
110
|
+
trackEl.removeEventListener(mouse ? "mousemove" : "touchmove", onMove);
|
|
111
|
+
trackEl.removeEventListener(mouse ? "mouseup" : "touchend", onEnd);
|
|
112
|
+
if (mouse) trackEl.removeEventListener("mouseleave", onEnd);
|
|
113
|
+
};
|
|
114
|
+
const onMove = (event) => {
|
|
115
|
+
if (!rootEl || !motion.isPressed) return;
|
|
116
|
+
if (isTouchEvent(event) && event.touches.length > 1) {
|
|
117
|
+
onEnd(event);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const clientX = coordX(event);
|
|
121
|
+
const clientY = coordY(event);
|
|
122
|
+
const shiftX = clientX - motion.startX;
|
|
123
|
+
const shiftY = clientY - motion.startY;
|
|
124
|
+
if (motion.axis === null) {
|
|
125
|
+
if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;
|
|
126
|
+
motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? "x" : "y";
|
|
127
|
+
motion.dragged = true;
|
|
128
|
+
if (motion.axis === "y") {
|
|
129
|
+
onEnd(event);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (slidesCount() > 1) setIsDragging(true);
|
|
133
|
+
}
|
|
134
|
+
if (motion.axis !== "x") return;
|
|
135
|
+
event.preventDefault();
|
|
136
|
+
event.stopPropagation();
|
|
137
|
+
if (slidesCount() > 1) {
|
|
138
|
+
const atStart = activeSlideIndex() <= 0;
|
|
139
|
+
const atEnd = activeSlideIndex() >= maxShift();
|
|
140
|
+
const offset = atStart && shiftX > 0 || atEnd && shiftX < 0 ? shiftX * 0.35 : shiftX;
|
|
141
|
+
setDragPx(offset);
|
|
142
|
+
}
|
|
143
|
+
motion.lastX = clientX;
|
|
144
|
+
motion.lastT = now();
|
|
145
|
+
};
|
|
146
|
+
const onEnd = (event) => {
|
|
147
|
+
if (!motion.isPressed) return;
|
|
148
|
+
const mouse = isMouseEvent(event);
|
|
149
|
+
detachListeners(mouse);
|
|
150
|
+
const { axis, dragged, startX, lastX, lastT } = motion;
|
|
151
|
+
motion.isPressed = false;
|
|
152
|
+
setIsDragging(false);
|
|
153
|
+
if (axis === "x" && dragged && slidesCount() > 1 && rootEl) {
|
|
154
|
+
const clientX = coordX(event);
|
|
155
|
+
const totalShift = clientX - startX;
|
|
156
|
+
const widthPerSlide = rootEl.offsetWidth / slidesToShow();
|
|
157
|
+
const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;
|
|
158
|
+
let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;
|
|
159
|
+
if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {
|
|
160
|
+
movedSlides = velocity < 0 ? 1 : -1;
|
|
161
|
+
}
|
|
162
|
+
goToSlide(activeSlideIndex() + movedSlides);
|
|
163
|
+
}
|
|
164
|
+
setDragPx(0);
|
|
165
|
+
};
|
|
166
|
+
const onStart = (event) => {
|
|
167
|
+
if (!trackEl) return;
|
|
168
|
+
const mouse = isMouseEvent(event);
|
|
169
|
+
if (mouse && event.button !== 0) return;
|
|
170
|
+
event.stopPropagation();
|
|
171
|
+
motion.isPressed = true;
|
|
172
|
+
motion.startX = coordX(event);
|
|
173
|
+
motion.startY = coordY(event);
|
|
174
|
+
motion.lastX = motion.startX;
|
|
175
|
+
motion.lastT = now();
|
|
176
|
+
motion.axis = null;
|
|
177
|
+
motion.dragged = false;
|
|
178
|
+
trackEl.addEventListener(mouse ? "mousemove" : "touchmove", onMove, { passive: false });
|
|
179
|
+
trackEl.addEventListener(mouse ? "mouseup" : "touchend", onEnd);
|
|
180
|
+
if (mouse) trackEl.addEventListener("mouseleave", onEnd);
|
|
181
|
+
};
|
|
182
|
+
const onSlideClick = (index) => {
|
|
183
|
+
if (motion.dragged) return;
|
|
184
|
+
if (local.enableFullscreen) setFullscreenIndex(index);
|
|
185
|
+
};
|
|
186
|
+
const getNextIndex = (direction) => {
|
|
187
|
+
const isSingle = slidesToShow() === 1;
|
|
188
|
+
const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());
|
|
189
|
+
const activeIndex = activeSlideIndex() + slidesToShow();
|
|
190
|
+
const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();
|
|
191
|
+
const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);
|
|
192
|
+
const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;
|
|
193
|
+
return isSingle ? nextIndex : nextIndex * slidesToShow();
|
|
194
|
+
};
|
|
195
|
+
const dots = () => {
|
|
196
|
+
const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();
|
|
197
|
+
const isSingle = slidesToShow() === 1;
|
|
198
|
+
const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());
|
|
199
|
+
const result = [];
|
|
200
|
+
for (let index = 0; index < count; index++) {
|
|
201
|
+
let nextIndex = index;
|
|
202
|
+
let currentIndex = activeSlideIndex();
|
|
203
|
+
if (!isSingle) {
|
|
204
|
+
const isLast = index === count - 1;
|
|
205
|
+
const activeIndex = activeSlideIndex() + slidesToShow();
|
|
206
|
+
nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();
|
|
207
|
+
currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);
|
|
208
|
+
}
|
|
209
|
+
result.push({ index, nextIndex, isActive: currentIndex === index });
|
|
210
|
+
}
|
|
211
|
+
return result;
|
|
212
|
+
};
|
|
213
|
+
const indent = () => {
|
|
214
|
+
const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();
|
|
215
|
+
return getSlideWidth(slidesToShow()) * shiftSlides;
|
|
216
|
+
};
|
|
217
|
+
const rootStyle = createMemo(() => {
|
|
218
|
+
const style = {};
|
|
219
|
+
const cellHeightValue = toCssLength(local.cellHeight);
|
|
220
|
+
const aspectRatioValue = toCssNumber(local.aspectRatio);
|
|
221
|
+
const gapValue = toCssLength(local.gap);
|
|
222
|
+
const maxWidthValue = toCssLength(local.maxWidth);
|
|
223
|
+
if (cellHeightValue) style["--smwb-carousel-cell-height"] = cellHeightValue;
|
|
224
|
+
if (aspectRatioValue) style["--smwb-carousel-aspect-ratio"] = aspectRatioValue;
|
|
225
|
+
if (gapValue) style["--smwb-carousel-gap"] = gapValue;
|
|
226
|
+
if (maxWidthValue) style["--smwb-carousel-max-width"] = maxWidthValue;
|
|
227
|
+
return style;
|
|
228
|
+
});
|
|
229
|
+
const moveFullscreen = (direction) => {
|
|
230
|
+
const prev = fullscreenIndex();
|
|
231
|
+
if (prev === null) return;
|
|
232
|
+
setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());
|
|
233
|
+
};
|
|
234
|
+
const fullscreenClones = createMemo(
|
|
235
|
+
() => slides().map((node) => {
|
|
236
|
+
if (typeof Node !== "undefined" && node instanceof Node) return node.cloneNode(true);
|
|
237
|
+
return node == null ? "" : String(node);
|
|
238
|
+
})
|
|
239
|
+
);
|
|
240
|
+
createEffect(() => {
|
|
241
|
+
if (!local.autoplay || slidesCount() <= 1 || local.pauseOnHover && isHovered() || fullscreenIndex() !== null) {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);
|
|
245
|
+
onCleanup(() => window.clearInterval(timer));
|
|
246
|
+
});
|
|
247
|
+
createEffect(() => {
|
|
248
|
+
if (fullscreenIndex() === null || slidesCount() <= 1) return;
|
|
249
|
+
const onKeyDown = (event) => {
|
|
250
|
+
if (event.key === "ArrowLeft") moveFullscreen(-1);
|
|
251
|
+
else if (event.key === "ArrowRight") moveFullscreen(1);
|
|
252
|
+
};
|
|
253
|
+
document.addEventListener("keydown", onKeyDown);
|
|
254
|
+
onCleanup(() => document.removeEventListener("keydown", onKeyDown));
|
|
255
|
+
});
|
|
256
|
+
const onFullscreenTouchStart = (event) => {
|
|
257
|
+
fullscreenTouchX = event.touches[0]?.clientX ?? null;
|
|
258
|
+
};
|
|
259
|
+
const onFullscreenTouchMove = (event) => {
|
|
260
|
+
if (fullscreenTouchX === null || slidesCount() <= 1) return;
|
|
261
|
+
const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;
|
|
262
|
+
setIsFullscreenDragging(true);
|
|
263
|
+
setFullscreenDragPx(delta);
|
|
264
|
+
};
|
|
265
|
+
const onFullscreenTouchEnd = (event) => {
|
|
266
|
+
const startX = fullscreenTouchX;
|
|
267
|
+
fullscreenTouchX = null;
|
|
268
|
+
setIsFullscreenDragging(false);
|
|
269
|
+
setFullscreenDragPx(0);
|
|
270
|
+
if (startX === null || slidesCount() <= 1) return;
|
|
271
|
+
const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;
|
|
272
|
+
if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);
|
|
273
|
+
};
|
|
274
|
+
return <div
|
|
275
|
+
class={cn("smwb-carousel", local.class)}
|
|
276
|
+
data-testid="carousel"
|
|
277
|
+
ref={mergeRefs(local.ref)}
|
|
278
|
+
role="region"
|
|
279
|
+
aria-roledescription="carousel"
|
|
280
|
+
aria-label={local["aria-label"]}
|
|
281
|
+
style={rootStyle()}
|
|
282
|
+
onMouseEnter={local.pauseOnHover ? () => setIsHovered(true) : void 0}
|
|
283
|
+
onMouseLeave={local.pauseOnHover ? () => setIsHovered(false) : void 0}
|
|
284
|
+
>
|
|
285
|
+
<div class="smwb-carousel__inner" ref={(el) => rootEl = el}>
|
|
286
|
+
<Show when={showArrows()}>
|
|
287
|
+
<Icon
|
|
288
|
+
name="chevron_left"
|
|
289
|
+
size={local.arrowsSize}
|
|
290
|
+
class={cn("smwb-carousel__arrow", "smwb-carousel__arrow_prev")}
|
|
291
|
+
style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}
|
|
292
|
+
onClick={() => goToSlide(getNextIndex(-1))}
|
|
293
|
+
/>
|
|
294
|
+
</Show>
|
|
295
|
+
<div
|
|
296
|
+
ref={(el) => trackEl = el}
|
|
297
|
+
class="smwb-carousel__track"
|
|
298
|
+
onMouseDown={onStart}
|
|
299
|
+
onTouchStart={onStart}
|
|
300
|
+
onDragStart={dragPrevent}
|
|
301
|
+
onDragEnd={dragPrevent}
|
|
302
|
+
>
|
|
303
|
+
<div
|
|
304
|
+
class="smwb-carousel__layer"
|
|
305
|
+
style={{
|
|
306
|
+
transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,
|
|
307
|
+
transition: isDragging() || animation() === void 0 ? "none" : animation() ? "transform 500ms cubic-bezier(.1, 0, .25, 1)" : "none"
|
|
308
|
+
}}
|
|
309
|
+
>
|
|
310
|
+
<For each={slides()}>
|
|
311
|
+
{(child, index) => <div id={`${slideId}${index()}`} class="smwb-carousel__slide" style={getSlideStyle(slidesToShow())}>
|
|
312
|
+
<div
|
|
313
|
+
class={cn(
|
|
314
|
+
"smwb-carousel__slide-inner",
|
|
315
|
+
local.enableFullscreen && "smwb-carousel__slide-inner_clickable"
|
|
316
|
+
)}
|
|
317
|
+
onClick={local.enableFullscreen ? () => onSlideClick(index()) : void 0}
|
|
318
|
+
>
|
|
319
|
+
{child}
|
|
320
|
+
</div>
|
|
321
|
+
</div>}
|
|
322
|
+
</For>
|
|
323
|
+
</div>
|
|
324
|
+
</div>
|
|
325
|
+
<Show when={showArrows()}>
|
|
326
|
+
<Icon
|
|
327
|
+
name="chevron_right"
|
|
328
|
+
size={local.arrowsSize}
|
|
329
|
+
class={cn("smwb-carousel__arrow", "smwb-carousel__arrow_next")}
|
|
330
|
+
style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}
|
|
331
|
+
onClick={() => goToSlide(getNextIndex(1))}
|
|
332
|
+
/>
|
|
333
|
+
</Show>
|
|
334
|
+
</div>
|
|
335
|
+
<Show when={local.showNavigation}>
|
|
336
|
+
<div class={cn("smwb-carousel__navigation", local.navigationClassName)}>
|
|
337
|
+
<For each={dots()}>
|
|
338
|
+
{(dot) => local.navigationDotRenderer ? local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i)) : <div
|
|
339
|
+
class={cn("smwb-carousel__navigation__dot", dot.isActive && "current")}
|
|
340
|
+
onClick={() => goToSlide(dot.nextIndex)}
|
|
341
|
+
/>}
|
|
342
|
+
</For>
|
|
343
|
+
</div>
|
|
344
|
+
</Show>
|
|
345
|
+
<Show when={local.enableFullscreen}>
|
|
346
|
+
<Modal
|
|
347
|
+
open={fullscreenIndex() !== null}
|
|
348
|
+
size="fullscreen"
|
|
349
|
+
backdrop="darkBlured"
|
|
350
|
+
class="smwb-carousel__fullscreen"
|
|
351
|
+
onClose={() => setFullscreenIndex(null)}
|
|
352
|
+
aria-label="Image viewer"
|
|
353
|
+
>
|
|
354
|
+
<div class="smwb-carousel__fullscreen-content">
|
|
355
|
+
<Show when={slidesCount() > 1}>
|
|
356
|
+
<Icon
|
|
357
|
+
name="chevron_left"
|
|
358
|
+
size={40}
|
|
359
|
+
class={cn("smwb-carousel__fullscreen-arrow", "smwb-carousel__fullscreen-arrow_prev")}
|
|
360
|
+
onClick={() => moveFullscreen(-1)}
|
|
361
|
+
/>
|
|
362
|
+
</Show>
|
|
363
|
+
<div
|
|
364
|
+
class="smwb-carousel__fullscreen-stage"
|
|
365
|
+
onTouchStart={onFullscreenTouchStart}
|
|
366
|
+
onTouchMove={onFullscreenTouchMove}
|
|
367
|
+
onTouchEnd={onFullscreenTouchEnd}
|
|
368
|
+
>
|
|
369
|
+
<div
|
|
370
|
+
class="smwb-carousel__fullscreen-track"
|
|
371
|
+
style={{
|
|
372
|
+
transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,
|
|
373
|
+
transition: isFullscreenDragging() ? "none" : "transform 350ms cubic-bezier(.22, .61, .36, 1)"
|
|
374
|
+
}}
|
|
375
|
+
>
|
|
376
|
+
<For each={fullscreenClones()}>
|
|
377
|
+
{(node, index) => <div class="smwb-carousel__fullscreen-slide" aria-hidden={index() !== fullscreenIndex()}>
|
|
378
|
+
{node}
|
|
379
|
+
</div>}
|
|
380
|
+
</For>
|
|
381
|
+
</div>
|
|
382
|
+
</div>
|
|
383
|
+
<Show when={slidesCount() > 1}>
|
|
384
|
+
<Icon
|
|
385
|
+
name="chevron_right"
|
|
386
|
+
size={40}
|
|
387
|
+
class={cn("smwb-carousel__fullscreen-arrow", "smwb-carousel__fullscreen-arrow_next")}
|
|
388
|
+
onClick={() => moveFullscreen(1)}
|
|
389
|
+
/>
|
|
390
|
+
</Show>
|
|
391
|
+
<Icon
|
|
392
|
+
name="close"
|
|
393
|
+
size={32}
|
|
394
|
+
class="smwb-carousel__fullscreen-close"
|
|
395
|
+
onClick={() => setFullscreenIndex(null)}
|
|
396
|
+
/>
|
|
397
|
+
</div>
|
|
398
|
+
</Modal>
|
|
399
|
+
</Show>
|
|
400
|
+
</div>;
|
|
401
|
+
}
|
|
402
|
+
var carousel_default = Carousel;
|
|
403
|
+
export {
|
|
404
|
+
Carousel,
|
|
405
|
+
carousel_default as default
|
|
406
|
+
};
|
|
407
|
+
//# sourceMappingURL=carousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/dataDisplay/carousel/carousel.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n children as resolveChildren,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Modal } from \"../../feedBack/modal\";\nimport {\n clamp,\n coordX,\n coordY,\n dragPrevent,\n getSlideIndexForMultipleParts,\n getSlideStyle,\n getSlideWidth,\n getSlidesToShow,\n getStartSlide,\n isMouseEvent,\n isTouchEvent,\n toCssLength,\n toCssNumber,\n} from \"./utils\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface CarouselProps {\n slidesToShow?: number;\n startSlide?: number;\n class?: string;\n showNavigation?: boolean;\n showArrows?: boolean;\n arrowsSize?: number;\n navigationClassName?: string;\n onSlideChange?: (slideIndex: number) => void;\n navigationDotRenderer?: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element;\n \"aria-label\"?: string;\n autoplay?: boolean;\n autoplayInterval?: number;\n pauseOnHover?: boolean;\n /** Height of each cell/photo. Number is treated as px. Overrides the default 205px. */\n cellHeight?: number | string;\n /** Aspect ratio of each cell/photo (e.g. 0.9 or \"16 / 9\"). Overrides the default 0.9. */\n aspectRatio?: number | string;\n /** Per-side spacing around each slide. Number is treated as px (default 4). */\n gap?: number | string;\n /** Max width of the carousel. Number is treated as px (default 412). */\n maxWidth?: number | string;\n /** Open the clicked slide in a fullscreen lightbox (arrows / swipe / Esc to navigate & close). */\n enableFullscreen?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype Axis = \"x\" | \"y\" | null;\n\ninterface Motion {\n isPressed: boolean;\n startX: number;\n startY: number;\n lastX: number;\n lastT: number;\n axis: Axis;\n dragged: boolean;\n}\n\nconst TAP_THRESHOLD = 8;\nconst FLICK_VELOCITY = 0.4;\n\nconst now = (): number => (typeof performance !== \"undefined\" ? performance.now() : Date.now());\n\nexport function Carousel(props: ParentProps<CarouselProps>): JSX.Element {\n const merged = mergeProps(\n {\n slidesToShow: 3,\n startSlide: 0,\n showNavigation: true,\n arrowsSize: 30,\n \"aria-label\": \"Carousel\",\n autoplay: false,\n autoplayInterval: 4000,\n pauseOnHover: true,\n enableFullscreen: false,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"slidesToShow\",\n \"startSlide\",\n \"children\",\n \"class\",\n \"showNavigation\",\n \"showArrows\",\n \"arrowsSize\",\n \"navigationClassName\",\n \"onSlideChange\",\n \"navigationDotRenderer\",\n \"aria-label\",\n \"autoplay\",\n \"autoplayInterval\",\n \"pauseOnHover\",\n \"cellHeight\",\n \"aspectRatio\",\n \"gap\",\n \"maxWidth\",\n \"enableFullscreen\",\n \"ref\",\n ]);\n\n const resolved = resolveChildren(() => local.children);\n const slides = (): unknown[] => resolved.toArray();\n const slidesCount = (): number => slides().length;\n const slidesToShow = (): number => getSlidesToShow(local.slidesToShow, slidesCount());\n const startSlide = (): number => getStartSlide(local.startSlide, slidesCount());\n const showArrows = (): boolean => !!local.showArrows && slidesCount() > 1;\n const maxShift = (): number => Math.max(0, slidesCount() - slidesToShow());\n\n const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());\n const [animation, setAnimation] = createSignal<boolean | undefined>(undefined);\n const [isHovered, setIsHovered] = createSignal(false);\n const [dragPx, setDragPx] = createSignal(0);\n const [isDragging, setIsDragging] = createSignal(false);\n const [fullscreenIndex, setFullscreenIndex] = createSignal<number | null>(null);\n const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);\n const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);\n\n let rootEl: HTMLDivElement | undefined;\n let trackEl: HTMLDivElement | undefined;\n const motion: Motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };\n let fullscreenTouchX: number | null = null;\n const slideId = createUniqueId();\n\n createEffect(() => {\n slidesToShow();\n setAnimation(false);\n });\n\n createEffect(() => {\n const start = startSlide();\n setActiveSlideIndex(start);\n local.onSlideChange?.(start);\n if (animation() !== undefined) setAnimation(true);\n });\n\n const goToSlide = (index: number): void => {\n const target = clamp(index, 0, maxShift());\n setActiveSlideIndex(target);\n setAnimation(true);\n local.onSlideChange?.(target);\n };\n\n const detachListeners = (mouse: boolean): void => {\n if (!trackEl) return;\n trackEl.removeEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener);\n trackEl.removeEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.removeEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onMove = (event: MouseEvent | TouchEvent): void => {\n if (!rootEl || !motion.isPressed) return;\n if (isTouchEvent(event) && event.touches.length > 1) {\n onEnd(event);\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n const shiftX = clientX - motion.startX;\n const shiftY = clientY - motion.startY;\n\n if (motion.axis === null) {\n if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;\n motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? \"x\" : \"y\";\n motion.dragged = true;\n if (motion.axis === \"y\") {\n onEnd(event);\n return;\n }\n if (slidesCount() > 1) setIsDragging(true);\n }\n\n if (motion.axis !== \"x\") return;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (slidesCount() > 1) {\n const atStart = activeSlideIndex() <= 0;\n const atEnd = activeSlideIndex() >= maxShift();\n const offset = (atStart && shiftX > 0) || (atEnd && shiftX < 0) ? shiftX * 0.35 : shiftX;\n setDragPx(offset);\n }\n\n motion.lastX = clientX;\n motion.lastT = now();\n };\n\n const onEnd = (event: MouseEvent | TouchEvent): void => {\n if (!motion.isPressed) return;\n\n const mouse = isMouseEvent(event);\n detachListeners(mouse);\n\n const { axis, dragged, startX, lastX, lastT } = motion;\n motion.isPressed = false;\n setIsDragging(false);\n\n if (axis === \"x\" && dragged && slidesCount() > 1 && rootEl) {\n const clientX = coordX(event);\n const totalShift = clientX - startX;\n const widthPerSlide = rootEl.offsetWidth / slidesToShow();\n const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;\n\n let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;\n if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {\n movedSlides = velocity < 0 ? 1 : -1;\n }\n goToSlide(activeSlideIndex() + movedSlides);\n }\n\n setDragPx(0);\n };\n\n const onStart: JSX.EventHandler<HTMLDivElement, MouseEvent | TouchEvent> = (event) => {\n if (!trackEl) return;\n const mouse = isMouseEvent(event);\n if (mouse && (event as MouseEvent).button !== 0) return;\n event.stopPropagation();\n\n motion.isPressed = true;\n motion.startX = coordX(event);\n motion.startY = coordY(event);\n motion.lastX = motion.startX;\n motion.lastT = now();\n motion.axis = null;\n motion.dragged = false;\n\n trackEl.addEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener, { passive: false });\n trackEl.addEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.addEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onSlideClick = (index: number): void => {\n if (motion.dragged) return;\n if (local.enableFullscreen) setFullscreenIndex(index);\n };\n\n const getNextIndex = (direction: 1 | -1): number => {\n const isSingle = slidesToShow() === 1;\n const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const activeIndex = activeSlideIndex() + slidesToShow();\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;\n return isSingle ? nextIndex : nextIndex * slidesToShow();\n };\n\n const dots = (): Array<{ index: number; nextIndex: number; isActive: boolean }> => {\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const isSingle = slidesToShow() === 1;\n const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const result: Array<{ index: number; nextIndex: number; isActive: boolean }> = [];\n for (let index = 0; index < count; index++) {\n let nextIndex = index;\n let currentIndex = activeSlideIndex();\n if (!isSingle) {\n const isLast = index === count - 1;\n const activeIndex = activeSlideIndex() + slidesToShow();\n nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();\n currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n }\n result.push({ index, nextIndex, isActive: currentIndex === index });\n }\n return result;\n };\n\n const indent = (): number => {\n const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();\n return getSlideWidth(slidesToShow()) * shiftSlides;\n };\n\n const rootStyle = createMemo<JSX.CSSProperties>(() => {\n const style: Record<string, string> = {};\n const cellHeightValue = toCssLength(local.cellHeight);\n const aspectRatioValue = toCssNumber(local.aspectRatio);\n const gapValue = toCssLength(local.gap);\n const maxWidthValue = toCssLength(local.maxWidth);\n if (cellHeightValue) style[\"--smwb-carousel-cell-height\"] = cellHeightValue;\n if (aspectRatioValue) style[\"--smwb-carousel-aspect-ratio\"] = aspectRatioValue;\n if (gapValue) style[\"--smwb-carousel-gap\"] = gapValue;\n if (maxWidthValue) style[\"--smwb-carousel-max-width\"] = maxWidthValue;\n return style;\n });\n\n const moveFullscreen = (direction: 1 | -1): void => {\n const prev = fullscreenIndex();\n if (prev === null) return;\n setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());\n };\n\n // A DOM node can only live in one place, so the carousel's own slide nodes\n // can't be reused inside the modal — render clones of every slide into a\n // sliding track so navigation animates smoothly instead of swapping nodes.\n const fullscreenClones = createMemo<Array<Node | string>>(() =>\n slides().map((node) => {\n // `Node` is a browser global — guard it so this memo (which is evaluated\n // during render) does not throw `Node is not defined` under SSR.\n if (typeof Node !== \"undefined\" && node instanceof Node) return node.cloneNode(true);\n return node == null ? \"\" : String(node);\n })\n );\n\n // Autoplay\n createEffect(() => {\n if (!local.autoplay || slidesCount() <= 1 || (local.pauseOnHover && isHovered()) || fullscreenIndex() !== null) {\n return;\n }\n const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);\n onCleanup(() => window.clearInterval(timer));\n });\n\n // Keyboard navigation while the lightbox is open.\n createEffect(() => {\n if (fullscreenIndex() === null || slidesCount() <= 1) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"ArrowLeft\") moveFullscreen(-1);\n else if (event.key === \"ArrowRight\") moveFullscreen(1);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const onFullscreenTouchStart = (event: TouchEvent): void => {\n fullscreenTouchX = event.touches[0]?.clientX ?? null;\n };\n\n const onFullscreenTouchMove = (event: TouchEvent): void => {\n if (fullscreenTouchX === null || slidesCount() <= 1) return;\n const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;\n setIsFullscreenDragging(true);\n setFullscreenDragPx(delta);\n };\n\n const onFullscreenTouchEnd = (event: TouchEvent): void => {\n const startX = fullscreenTouchX;\n fullscreenTouchX = null;\n setIsFullscreenDragging(false);\n setFullscreenDragPx(0);\n if (startX === null || slidesCount() <= 1) return;\n const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;\n if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);\n };\n\n return (\n <div\n class={cn(\"smwb-carousel\", local.class)}\n data-testid=\"carousel\"\n ref={mergeRefs(local.ref)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={local[\"aria-label\"]}\n style={rootStyle()}\n onMouseEnter={local.pauseOnHover ? () => setIsHovered(true) : undefined}\n onMouseLeave={local.pauseOnHover ? () => setIsHovered(false) : undefined}\n >\n <div class=\"smwb-carousel__inner\" ref={(el) => (rootEl = el)}>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_left\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_prev\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(-1))}\n />\n </Show>\n <div\n ref={(el) => (trackEl = el)}\n class=\"smwb-carousel__track\"\n onMouseDown={onStart}\n onTouchStart={onStart}\n onDragStart={dragPrevent}\n onDragEnd={dragPrevent}\n >\n <div\n class=\"smwb-carousel__layer\"\n style={{\n transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,\n transition:\n isDragging() || animation() === undefined\n ? \"none\"\n : animation()\n ? \"transform 500ms cubic-bezier(.1, 0, .25, 1)\"\n : \"none\",\n }}\n >\n <For each={slides()}>\n {(child, index) => (\n <div id={`${slideId}${index()}`} class=\"smwb-carousel__slide\" style={getSlideStyle(slidesToShow())}>\n <div\n class={cn(\n \"smwb-carousel__slide-inner\",\n local.enableFullscreen && \"smwb-carousel__slide-inner_clickable\"\n )}\n onClick={local.enableFullscreen ? () => onSlideClick(index()) : undefined}\n >\n {child as JSX.Element}\n </div>\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_right\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_next\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(1))}\n />\n </Show>\n </div>\n <Show when={local.showNavigation}>\n <div class={cn(\"smwb-carousel__navigation\", local.navigationClassName)}>\n <For each={dots()}>\n {(dot) =>\n local.navigationDotRenderer ? (\n local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i))\n ) : (\n <div\n class={cn(\"smwb-carousel__navigation__dot\", dot.isActive && \"current\")}\n onClick={() => goToSlide(dot.nextIndex)}\n />\n )\n }\n </For>\n </div>\n </Show>\n <Show when={local.enableFullscreen}>\n <Modal\n open={fullscreenIndex() !== null}\n size=\"fullscreen\"\n backdrop=\"darkBlured\"\n class=\"smwb-carousel__fullscreen\"\n onClose={() => setFullscreenIndex(null)}\n aria-label=\"Image viewer\"\n >\n <div class=\"smwb-carousel__fullscreen-content\">\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_left\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_prev\")}\n onClick={() => moveFullscreen(-1)}\n />\n </Show>\n <div\n class=\"smwb-carousel__fullscreen-stage\"\n onTouchStart={onFullscreenTouchStart}\n onTouchMove={onFullscreenTouchMove}\n onTouchEnd={onFullscreenTouchEnd}\n >\n <div\n class=\"smwb-carousel__fullscreen-track\"\n style={{\n transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,\n transition: isFullscreenDragging() ? \"none\" : \"transform 350ms cubic-bezier(.22, .61, .36, 1)\",\n }}\n >\n <For each={fullscreenClones()}>\n {(node, index) => (\n <div class=\"smwb-carousel__fullscreen-slide\" aria-hidden={index() !== fullscreenIndex()}>\n {node as JSX.Element}\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_right\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_next\")}\n onClick={() => moveFullscreen(1)}\n />\n </Show>\n <Icon\n name=\"close\"\n size={32}\n class=\"smwb-carousel__fullscreen-close\"\n onClick={() => setFullscreenIndex(null)}\n />\n </div>\n </Modal>\n </Show>\n </div>\n );\n}\n\nexport default Carousel;\n"],"mappings":"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","names":[],"file":"carousel.jsx"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/dataDisplay/carousel/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { Carousel, default } from \"./carousel\";\nexport type { CarouselProps } from \"./carousel\";\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,UAAU,WAAAA,gBAAe;",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
function getActiveSlideDotsLength(slidesCount, slidesToShow) {
|
|
2
|
+
const dots = Math.floor(slidesCount / slidesToShow);
|
|
3
|
+
return slidesCount % slidesToShow === 0 ? dots - 1 : dots;
|
|
4
|
+
}
|
|
5
|
+
function getSlideIndexForMultipleParts(activeIndex, slidesToShow, slidesCount, isNextSlideDisabled) {
|
|
6
|
+
const dotsLength = getActiveSlideDotsLength(slidesCount, slidesToShow);
|
|
7
|
+
if (activeIndex === slidesCount + slidesToShow) return 0;
|
|
8
|
+
if (isNextSlideDisabled || activeIndex < slidesToShow && activeIndex !== 0) return dotsLength;
|
|
9
|
+
if (activeIndex === 0) return slidesCount % slidesToShow === 0 ? dotsLength : dotsLength - 1;
|
|
10
|
+
return slidesToShow > 0 ? Math.floor(activeIndex / slidesToShow) - 1 : 0;
|
|
11
|
+
}
|
|
12
|
+
function isMouseEvent(event) {
|
|
13
|
+
return event instanceof MouseEvent;
|
|
14
|
+
}
|
|
15
|
+
function isTouchEvent(event) {
|
|
16
|
+
return typeof TouchEvent !== "undefined" && event instanceof TouchEvent;
|
|
17
|
+
}
|
|
18
|
+
function coordX(event) {
|
|
19
|
+
if (isTouchEvent(event)) return event.changedTouches[0]?.clientX ?? 0;
|
|
20
|
+
return event.clientX;
|
|
21
|
+
}
|
|
22
|
+
function coordY(event) {
|
|
23
|
+
if (isTouchEvent(event)) return event.changedTouches[0]?.clientY ?? 0;
|
|
24
|
+
return event.clientY;
|
|
25
|
+
}
|
|
26
|
+
function dragPrevent(event) {
|
|
27
|
+
const target = event.target;
|
|
28
|
+
if (target.tagName === "A" || target.tagName === "IMG") {
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function getSlideWidth(slidesToShow) {
|
|
33
|
+
return 100 / slidesToShow;
|
|
34
|
+
}
|
|
35
|
+
function getSlideStyle(slidesToShow) {
|
|
36
|
+
return { width: `${getSlideWidth(slidesToShow)}%` };
|
|
37
|
+
}
|
|
38
|
+
function getSlidesToShow(slidesToShow, slidesCount) {
|
|
39
|
+
if (slidesToShow <= 0 || slidesCount === 0) return 1;
|
|
40
|
+
if (slidesToShow > slidesCount) return slidesCount;
|
|
41
|
+
return slidesToShow;
|
|
42
|
+
}
|
|
43
|
+
function getStartSlide(startSlide, slidesCount) {
|
|
44
|
+
if (startSlide <= 0 || slidesCount === 0) return 0;
|
|
45
|
+
const maxIndex = slidesCount - 1;
|
|
46
|
+
if (startSlide > maxIndex) return maxIndex;
|
|
47
|
+
return startSlide;
|
|
48
|
+
}
|
|
49
|
+
function clamp(value, min, max) {
|
|
50
|
+
return Math.min(Math.max(value, min), max);
|
|
51
|
+
}
|
|
52
|
+
function toCssLength(value) {
|
|
53
|
+
if (value === void 0 || value === null) return void 0;
|
|
54
|
+
return typeof value === "number" ? `${value}px` : value;
|
|
55
|
+
}
|
|
56
|
+
function toCssNumber(value) {
|
|
57
|
+
if (value === void 0 || value === null) return void 0;
|
|
58
|
+
return String(value);
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
clamp,
|
|
62
|
+
coordX,
|
|
63
|
+
coordY,
|
|
64
|
+
dragPrevent,
|
|
65
|
+
getActiveSlideDotsLength,
|
|
66
|
+
getSlideIndexForMultipleParts,
|
|
67
|
+
getSlideStyle,
|
|
68
|
+
getSlideWidth,
|
|
69
|
+
getSlidesToShow,
|
|
70
|
+
getStartSlide,
|
|
71
|
+
isMouseEvent,
|
|
72
|
+
isTouchEvent,
|
|
73
|
+
toCssLength,
|
|
74
|
+
toCssNumber
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/dataDisplay/carousel/utils.ts"],
|
|
4
|
+
"sourcesContent": ["import type { JSX } from \"solid-js\";\n\nexport function getActiveSlideDotsLength(slidesCount: number, slidesToShow: number): number {\n const dots = Math.floor(slidesCount / slidesToShow);\n return slidesCount % slidesToShow === 0 ? dots - 1 : dots;\n}\n\nexport function getSlideIndexForMultipleParts(\n activeIndex: number,\n slidesToShow: number,\n slidesCount: number,\n isNextSlideDisabled: boolean\n): number {\n const dotsLength = getActiveSlideDotsLength(slidesCount, slidesToShow);\n if (activeIndex === slidesCount + slidesToShow) return 0;\n if (isNextSlideDisabled || (activeIndex < slidesToShow && activeIndex !== 0)) return dotsLength;\n if (activeIndex === 0) return slidesCount % slidesToShow === 0 ? dotsLength : dotsLength - 1;\n return slidesToShow > 0 ? Math.floor(activeIndex / slidesToShow) - 1 : 0;\n}\n\nexport function isMouseEvent(event: Event): event is MouseEvent {\n return event instanceof MouseEvent;\n}\n\nexport function isTouchEvent(event: Event): event is TouchEvent {\n return typeof TouchEvent !== \"undefined\" && event instanceof TouchEvent;\n}\n\nexport function coordX(event: MouseEvent | TouchEvent): number {\n if (isTouchEvent(event)) return event.changedTouches[0]?.clientX ?? 0;\n return event.clientX;\n}\n\nexport function coordY(event: MouseEvent | TouchEvent): number {\n if (isTouchEvent(event)) return event.changedTouches[0]?.clientY ?? 0;\n return event.clientY;\n}\n\nexport function dragPrevent(event: Event): void {\n const target = event.target as HTMLElement;\n if (target.tagName === \"A\" || target.tagName === \"IMG\") {\n event.preventDefault();\n }\n}\n\nexport function getSlideWidth(slidesToShow: number): number {\n return 100 / slidesToShow;\n}\n\nexport function getSlideStyle(slidesToShow: number): JSX.CSSProperties {\n return { width: `${getSlideWidth(slidesToShow)}%` };\n}\n\nexport function getSlidesToShow(slidesToShow: number, slidesCount: number): number {\n if (slidesToShow <= 0 || slidesCount === 0) return 1;\n if (slidesToShow > slidesCount) return slidesCount;\n return slidesToShow;\n}\n\nexport function getStartSlide(startSlide: number, slidesCount: number): number {\n if (startSlide <= 0 || slidesCount === 0) return 0;\n const maxIndex = slidesCount - 1;\n if (startSlide > maxIndex) return maxIndex;\n return startSlide;\n}\n\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\n/** Number -> \"<n>px\", string -> as-is, nullish -> undefined. */\nexport function toCssLength(value?: number | string): string | undefined {\n if (value === undefined || value === null) return undefined;\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\n/** Number/string -> string, nullish -> undefined (for unit-less CSS values like aspect-ratio). */\nexport function toCssNumber(value?: number | string): string | undefined {\n if (value === undefined || value === null) return undefined;\n return String(value);\n}\n"],
|
|
5
|
+
"mappings": "AAEO,SAAS,yBAAyB,aAAqB,cAA8B;AAC1F,QAAM,OAAO,KAAK,MAAM,cAAc,YAAY;AAClD,SAAO,cAAc,iBAAiB,IAAI,OAAO,IAAI;AACvD;AAEO,SAAS,8BACd,aACA,cACA,aACA,qBACQ;AACR,QAAM,aAAa,yBAAyB,aAAa,YAAY;AACrE,MAAI,gBAAgB,cAAc,aAAc,QAAO;AACvD,MAAI,uBAAwB,cAAc,gBAAgB,gBAAgB,EAAI,QAAO;AACrF,MAAI,gBAAgB,EAAG,QAAO,cAAc,iBAAiB,IAAI,aAAa,aAAa;AAC3F,SAAO,eAAe,IAAI,KAAK,MAAM,cAAc,YAAY,IAAI,IAAI;AACzE;AAEO,SAAS,aAAa,OAAmC;AAC9D,SAAO,iBAAiB;AAC1B;AAEO,SAAS,aAAa,OAAmC;AAC9D,SAAO,OAAO,eAAe,eAAe,iBAAiB;AAC/D;AAEO,SAAS,OAAO,OAAwC;AAC7D,MAAI,aAAa,KAAK,EAAG,QAAO,MAAM,eAAe,CAAC,GAAG,WAAW;AACpE,SAAO,MAAM;AACf;AAEO,SAAS,OAAO,OAAwC;AAC7D,MAAI,aAAa,KAAK,EAAG,QAAO,MAAM,eAAe,CAAC,GAAG,WAAW;AACpE,SAAO,MAAM;AACf;AAEO,SAAS,YAAY,OAAoB;AAC9C,QAAM,SAAS,MAAM;AACrB,MAAI,OAAO,YAAY,OAAO,OAAO,YAAY,OAAO;AACtD,UAAM,eAAe;AAAA,EACvB;AACF;AAEO,SAAS,cAAc,cAA8B;AAC1D,SAAO,MAAM;AACf;AAEO,SAAS,cAAc,cAAyC;AACrE,SAAO,EAAE,OAAO,GAAG,cAAc,YAAY,CAAC,IAAI;AACpD;AAEO,SAAS,gBAAgB,cAAsB,aAA6B;AACjF,MAAI,gBAAgB,KAAK,gBAAgB,EAAG,QAAO;AACnD,MAAI,eAAe,YAAa,QAAO;AACvC,SAAO;AACT;AAEO,SAAS,cAAc,YAAoB,aAA6B;AAC7E,MAAI,cAAc,KAAK,gBAAgB,EAAG,QAAO;AACjD,QAAM,WAAW,cAAc;AAC/B,MAAI,aAAa,SAAU,QAAO;AAClC,SAAO;AACT;AAEO,SAAS,MAAM,OAAe,KAAa,KAAqB;AACrE,SAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC3C;AAGO,SAAS,YAAY,OAA6C;AACvE,MAAI,UAAU,UAAa,UAAU,KAAM,QAAO;AAClD,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAGO,SAAS,YAAY,OAA6C;AACvE,MAAI,UAAU,UAAa,UAAU,KAAM,QAAO;AAClD,SAAO,OAAO,KAAK;AACrB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|