@smwb/ui-solid 0.2.2 → 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/components/dataDisplay/carousel/carousel.js +7 -7
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatShell.js +16 -16
- package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
- package/dist/components/feedBack/modal/modal.js +29 -29
- package/dist/components/feedBack/modal/modal.js.map +1 -1
- package/dist/components/inputs/datePicker/datePicker.js +43 -43
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/components/inputs/selectField/dropdownMenu.js +30 -30
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/components/inputs/slider/slider.js +48 -48
- package/dist/components/inputs/slider/slider.js.map +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +31 -31
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/components/layout/sheet/sheet.js +29 -29
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/headless/components/dataDisplay/carousel/carousel.js +20 -20
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatShell.js +16 -16
- package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
- package/dist/headless/components/feedBack/modal/modal.js +25 -25
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePicker.js +43 -43
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +30 -30
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/headless/components/inputs/slider/slider.js +90 -90
- package/dist/headless/components/inputs/slider/slider.js.map +1 -1
- package/dist/headless/components/inputs/timePicker/timePicker.js +31 -31
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/headless/components/layout/sheet/sheet.js +29 -29
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
- 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 +8 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createCssTransition.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createEffect, createSignal, onCleanup } from \"solid-js\";\n\nexport interface CssTransitionClassNames {\n appear?: string;\n appearActive?: string;\n appearDone?: string;\n enter?: string;\n enterActive?: string;\n enterDone?: string;\n exit?: string;\n exitActive?: string;\n exitDone?: string;\n}\n\nexport interface CreateCssTransitionOptions {\n in: Accessor<boolean>;\n timeout: { appear?: number; enter: number; exit: number };\n classNames: CssTransitionClassNames;\n /** Animate the very first mount when `in` is already true. */\n appear?: boolean;\n}\n\nexport interface CssTransitionState {\n /** Whether the node should be in the DOM (mountOnEnter + unmountOnExit). */\n mounted: Accessor<boolean>;\n /** Transition classes to apply to the node for the current phase. */\n classes: Accessor<string>;\n}\n\nconst join = (...parts: Array<string | undefined>): string => parts.filter(Boolean).join(\" \");\n\n/**\n * Single-node CSS transition with mountOnEnter + unmountOnExit semantics \u2014 a\n * dependency-free replacement for react-transition-group's CSSTransition. Uses\n * a double rAF to flush the start class before the active class so the CSS\n * transition runs, and a timeout to advance to the done/unmounted phase.\n */\nexport function createCssTransition(options: CreateCssTransitionOptions): CssTransitionState {\n const [mounted, setMounted] = createSignal(options.in());\n const [classes, setClasses] = createSignal(\"\");\n\n let first = true;\n let timer: ReturnType<typeof setTimeout> | undefined;\n let raf1: number | undefined;\n let raf2: number | undefined;\n\n const clearTimers = (): void => {\n if (timer !== undefined) clearTimeout(timer);\n if (raf1 !== undefined) cancelAnimationFrame(raf1);\n if (raf2 !== undefined) cancelAnimationFrame(raf2);\n timer = undefined;\n raf1 = undefined;\n raf2 = undefined;\n };\n\n const run = (start: string | undefined, active: string | undefined, done: string | undefined, duration: number, onEnd?: () => void): void => {\n setClasses(start ?? \"\");\n raf1 = requestAnimationFrame(() => {\n raf2 = requestAnimationFrame(() => setClasses(join(start, active)));\n });\n timer = setTimeout(() => {\n if (onEnd) onEnd();\n else setClasses(done ?? \"\");\n }, duration);\n };\n\n createEffect(() => {\n const show = options.in();\n clearTimers();\n const cls = options.classNames;\n\n if (show) {\n setMounted(true);\n if (first && !options.appear) {\n setClasses(cls.enterDone ?? \"\");\n } else {\n const useAppear = first && !!options.appear;\n run(\n useAppear ? cls.appear : cls.enter,\n useAppear ? cls.appearActive : cls.enterActive,\n useAppear ? (cls.appearDone ?? cls.enterDone) : cls.enterDone,\n useAppear ? (options.timeout.appear ?? options.timeout.enter) : options.timeout.enter\n );\n }\n } else if (mounted()) {\n run(cls.exit, cls.exitActive, cls.exitDone, options.timeout.exit, () => {\n setMounted(false);\n setClasses(\"\");\n });\n }\n first = false;\n });\n\n onCleanup(clearTimers);\n\n return { mounted, classes };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAwB,cAAc,cAAc,iBAAiB;AA6BrE,MAAM,OAAO,IAAI,UAA6C,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG;AAQrF,SAAS,oBAAoB,SAAyD;AAC3F,QAAM,CAAC,SAAS,UAAU,IAAI,aAAa,QAAQ,GAAG,CAAC;AACvD,QAAM,CAAC,SAAS,UAAU,IAAI,aAAa,EAAE;AAE7C,MAAI,QAAQ;AACZ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,cAAc,MAAY;AAC9B,QAAI,UAAU,OAAW,cAAa,KAAK;AAC3C,QAAI,SAAS,OAAW,sBAAqB,IAAI;AACjD,QAAI,SAAS,OAAW,sBAAqB,IAAI;AACjD,YAAQ;AACR,WAAO;AACP,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,CAAC,OAA2B,QAA4B,MAA0B,UAAkB,UAA6B;AAC3I,eAAW,SAAS,EAAE;AACtB,WAAO,sBAAsB,MAAM;AACjC,aAAO,sBAAsB,MAAM,WAAW,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IACpE,CAAC;AACD,YAAQ,WAAW,MAAM;AACvB,UAAI,MAAO,OAAM;AAAA,UACZ,YAAW,QAAQ,EAAE;AAAA,IAC5B,GAAG,QAAQ;AAAA,EACb;AAEA,eAAa,MAAM;AACjB,UAAM,OAAO,QAAQ,GAAG;AACxB,gBAAY;AACZ,UAAM,MAAM,QAAQ;AAEpB,QAAI,MAAM;AACR,iBAAW,IAAI;AACf,UAAI,SAAS,CAAC,QAAQ,QAAQ;AAC5B,mBAAW,IAAI,aAAa,EAAE;AAAA,MAChC,OAAO;AACL,cAAM,YAAY,SAAS,CAAC,CAAC,QAAQ;AACrC;AAAA,UACE,YAAY,IAAI,SAAS,IAAI;AAAA,UAC7B,YAAY,IAAI,eAAe,IAAI;AAAA,UACnC,YAAa,IAAI,cAAc,IAAI,YAAa,IAAI;AAAA,UACpD,YAAa,QAAQ,QAAQ,UAAU,QAAQ,QAAQ,QAAS,QAAQ,QAAQ;AAAA,QAClF;AAAA,MACF;AAAA,IACF,WAAW,QAAQ,GAAG;AACpB,UAAI,IAAI,MAAM,IAAI,YAAY,IAAI,UAAU,QAAQ,QAAQ,MAAM,MAAM;AACtE,mBAAW,KAAK;AAChB,mBAAW,EAAE;AAAA,MACf,CAAC;AAAA,IACH;AACA,YAAQ;AAAA,EACV,CAAC;AAED,YAAU,WAAW;AAErB,SAAO,EAAE,SAAS,QAAQ;AAC5B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createSignal } from "solid-js";
|
|
2
|
+
function acceptToString(accept) {
|
|
3
|
+
if (!accept) return void 0;
|
|
4
|
+
if (typeof accept === "string") return accept;
|
|
5
|
+
return Object.entries(accept).flatMap(([mime, exts]) => [mime, ...exts]).join(",");
|
|
6
|
+
}
|
|
7
|
+
function createDropzone(options = {}) {
|
|
8
|
+
let inputEl;
|
|
9
|
+
const [isDragActive, setIsDragActive] = createSignal(false);
|
|
10
|
+
const open = () => {
|
|
11
|
+
if (!options.disabled) inputEl?.click();
|
|
12
|
+
};
|
|
13
|
+
const handleFiles = (list, event) => {
|
|
14
|
+
if (!list) return;
|
|
15
|
+
let files = Array.from(list);
|
|
16
|
+
if (options.maxFiles && options.maxFiles > 0) files = files.slice(0, options.maxFiles);
|
|
17
|
+
options.onDrop?.(files, event);
|
|
18
|
+
options.onDropAccepted?.(files, event);
|
|
19
|
+
};
|
|
20
|
+
const getRootProps = () => ({
|
|
21
|
+
onClick: () => open(),
|
|
22
|
+
onDragOver: (event) => {
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
if (!options.disabled) setIsDragActive(true);
|
|
25
|
+
},
|
|
26
|
+
onDragLeave: () => setIsDragActive(false),
|
|
27
|
+
onDrop: (event) => {
|
|
28
|
+
event.preventDefault();
|
|
29
|
+
setIsDragActive(false);
|
|
30
|
+
if (!options.disabled) handleFiles(event.dataTransfer?.files ?? null, event);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const getInputProps = () => ({
|
|
34
|
+
type: "file",
|
|
35
|
+
multiple: options.multiple,
|
|
36
|
+
accept: acceptToString(options.accept),
|
|
37
|
+
disabled: options.disabled,
|
|
38
|
+
style: { display: "none" },
|
|
39
|
+
onChange: (event) => handleFiles(event.currentTarget.files, event)
|
|
40
|
+
});
|
|
41
|
+
return { getRootProps, getInputProps, inputRef: (el) => inputEl = el, isDragActive, open };
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
createDropzone
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=createDropzone.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createDropzone.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, type JSX, createSignal } from \"solid-js\";\n\nexport interface DropzoneOptions {\n /** Record of mime \u2192 extensions, or a raw accept string. */\n accept?: Record<string, string[]> | string | undefined;\n multiple?: boolean | undefined;\n maxFiles?: number | undefined;\n disabled?: boolean | undefined;\n onDrop?: (files: File[], event: Event) => void;\n onDropAccepted?: (files: File[], event: Event) => void;\n}\n\nexport interface DropzoneRootProps {\n onClick: () => void;\n onDragOver: (event: DragEvent) => void;\n onDragLeave: () => void;\n onDrop: (event: DragEvent) => void;\n}\n\nexport interface DropzoneInputProps {\n type: \"file\";\n multiple: boolean | undefined;\n accept: string | undefined;\n disabled: boolean | undefined;\n style: JSX.CSSProperties;\n onChange: (event: Event & { currentTarget: HTMLInputElement; target: Element }) => void;\n}\n\nexport interface DropzoneState {\n getRootProps: () => DropzoneRootProps;\n getInputProps: () => DropzoneInputProps;\n inputRef: (el: HTMLInputElement) => void;\n isDragActive: Accessor<boolean>;\n open: () => void;\n}\n\nfunction acceptToString(accept: DropzoneOptions[\"accept\"]): string | undefined {\n if (!accept) return undefined;\n if (typeof accept === \"string\") return accept;\n return Object.entries(accept)\n .flatMap(([mime, exts]) => [mime, ...exts])\n .join(\",\");\n}\n\n/**\n * Dependency-free file dropzone \u2014 the Solid replacement for react-dropzone's\n * useDropzone. Provides root/input prop getters, drag-active state and a\n * programmatic `open()`.\n */\nexport function createDropzone(options: DropzoneOptions = {}): DropzoneState {\n let inputEl: HTMLInputElement | undefined;\n const [isDragActive, setIsDragActive] = createSignal(false);\n\n const open = (): void => {\n if (!options.disabled) inputEl?.click();\n };\n\n const handleFiles = (list: FileList | null, event: Event): void => {\n if (!list) return;\n let files = Array.from(list);\n if (options.maxFiles && options.maxFiles > 0) files = files.slice(0, options.maxFiles);\n options.onDrop?.(files, event);\n options.onDropAccepted?.(files, event);\n };\n\n const getRootProps = (): DropzoneRootProps => ({\n onClick: () => open(),\n onDragOver: (event) => {\n event.preventDefault();\n if (!options.disabled) setIsDragActive(true);\n },\n onDragLeave: () => setIsDragActive(false),\n onDrop: (event) => {\n event.preventDefault();\n setIsDragActive(false);\n if (!options.disabled) handleFiles(event.dataTransfer?.files ?? null, event);\n },\n });\n\n const getInputProps = (): DropzoneInputProps => ({\n type: \"file\",\n multiple: options.multiple,\n accept: acceptToString(options.accept),\n disabled: options.disabled,\n style: { display: \"none\" },\n onChange: (event) => handleFiles(event.currentTarget.files, event),\n });\n\n return { getRootProps, getInputProps, inputRef: (el) => (inputEl = el), isDragActive, open };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAkC,oBAAoB;AAoCtD,SAAS,eAAe,QAAuD;AAC7E,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,OAAO,WAAW,SAAU,QAAO;AACvC,SAAO,OAAO,QAAQ,MAAM,EACzB,QAAQ,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EACzC,KAAK,GAAG;AACb;AAOO,SAAS,eAAe,UAA2B,CAAC,GAAkB;AAC3E,MAAI;AACJ,QAAM,CAAC,cAAc,eAAe,IAAI,aAAa,KAAK;AAE1D,QAAM,OAAO,MAAY;AACvB,QAAI,CAAC,QAAQ,SAAU,UAAS,MAAM;AAAA,EACxC;AAEA,QAAM,cAAc,CAAC,MAAuB,UAAuB;AACjE,QAAI,CAAC,KAAM;AACX,QAAI,QAAQ,MAAM,KAAK,IAAI;AAC3B,QAAI,QAAQ,YAAY,QAAQ,WAAW,EAAG,SAAQ,MAAM,MAAM,GAAG,QAAQ,QAAQ;AACrF,YAAQ,SAAS,OAAO,KAAK;AAC7B,YAAQ,iBAAiB,OAAO,KAAK;AAAA,EACvC;AAEA,QAAM,eAAe,OAA0B;AAAA,IAC7C,SAAS,MAAM,KAAK;AAAA,IACpB,YAAY,CAAC,UAAU;AACrB,YAAM,eAAe;AACrB,UAAI,CAAC,QAAQ,SAAU,iBAAgB,IAAI;AAAA,IAC7C;AAAA,IACA,aAAa,MAAM,gBAAgB,KAAK;AAAA,IACxC,QAAQ,CAAC,UAAU;AACjB,YAAM,eAAe;AACrB,sBAAgB,KAAK;AACrB,UAAI,CAAC,QAAQ,SAAU,aAAY,MAAM,cAAc,SAAS,MAAM,KAAK;AAAA,IAC7E;AAAA,EACF;AAEA,QAAM,gBAAgB,OAA2B;AAAA,IAC/C,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,IAClB,QAAQ,eAAe,QAAQ,MAAM;AAAA,IACrC,UAAU,QAAQ;AAAA,IAClB,OAAO,EAAE,SAAS,OAAO;AAAA,IACzB,UAAU,CAAC,UAAU,YAAY,MAAM,cAAc,OAAO,KAAK;AAAA,EACnE;AAEA,SAAO,EAAE,cAAc,eAAe,UAAU,CAAC,OAAQ,UAAU,IAAK,cAAc,KAAK;AAC7F;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
autoUpdate,
|
|
3
|
+
computePosition
|
|
4
|
+
} from "@floating-ui/dom";
|
|
5
|
+
import { createEffect, createSignal, onCleanup } from "solid-js";
|
|
6
|
+
function createFloating(options = {}) {
|
|
7
|
+
const strategy = options.strategy ?? "absolute";
|
|
8
|
+
const [reference, setReference] = createSignal(null);
|
|
9
|
+
const [floating, setFloating] = createSignal(null);
|
|
10
|
+
const [x, setX] = createSignal(0);
|
|
11
|
+
const [y, setY] = createSignal(0);
|
|
12
|
+
const [placement, setPlacement] = createSignal(options.placement?.() ?? "bottom");
|
|
13
|
+
const update = () => {
|
|
14
|
+
const ref = reference();
|
|
15
|
+
const float = floating();
|
|
16
|
+
if (!ref || !float) return;
|
|
17
|
+
const middleware = (options.middleware?.() ?? []).filter(Boolean);
|
|
18
|
+
void computePosition(ref, float, {
|
|
19
|
+
placement: options.placement?.() ?? "bottom",
|
|
20
|
+
strategy,
|
|
21
|
+
middleware
|
|
22
|
+
}).then((position) => {
|
|
23
|
+
setX(position.x);
|
|
24
|
+
setY(position.y);
|
|
25
|
+
setPlacement(position.placement);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
createEffect(() => {
|
|
29
|
+
const ref = reference();
|
|
30
|
+
const float = floating();
|
|
31
|
+
options.placement?.();
|
|
32
|
+
options.middleware?.();
|
|
33
|
+
if (!ref || !float) return;
|
|
34
|
+
const cleanup = autoUpdate(ref, float, update);
|
|
35
|
+
onCleanup(cleanup);
|
|
36
|
+
});
|
|
37
|
+
const floatingStyles = () => ({
|
|
38
|
+
position: strategy,
|
|
39
|
+
top: "0",
|
|
40
|
+
left: "0",
|
|
41
|
+
transform: `translate(${Math.round(x())}px, ${Math.round(y())}px)`
|
|
42
|
+
});
|
|
43
|
+
return { setReference, setFloating, reference, floating, x, y, placement, floatingStyles, update };
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
createFloating
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=createFloating.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createFloating.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type Middleware,\n type Placement,\n type ReferenceElement,\n type Strategy,\n autoUpdate,\n computePosition,\n} from \"@floating-ui/dom\";\nimport { type Accessor, type JSX, createEffect, createSignal, onCleanup } from \"solid-js\";\n\nexport interface CreateFloatingOptions {\n /** Reactive desired placement. */\n placement?: Accessor<Placement | undefined>;\n /** Reactive middleware list. Falsy entries are ignored. */\n middleware?: Accessor<Array<Middleware | false | null | undefined>>;\n strategy?: Strategy;\n}\n\nexport interface FloatingState {\n setReference: (el: ReferenceElement | null) => void;\n setFloating: (el: HTMLElement | null) => void;\n reference: Accessor<ReferenceElement | null>;\n floating: Accessor<HTMLElement | null>;\n x: Accessor<number>;\n y: Accessor<number>;\n placement: Accessor<Placement>;\n floatingStyles: Accessor<JSX.CSSProperties>;\n update: () => void;\n}\n\n/**\n * Framework-agnostic `@floating-ui/dom` wrapper \u2014 the Solid replacement for\n * `@floating-ui/react`'s `useFloating`. Recomputes position via `autoUpdate`\n * (scroll/resize/layout) while both elements are mounted, and re-subscribes\n * when the reactive placement/middleware change. Exposes transform-based\n * `floatingStyles` matching the React adapter.\n */\nexport function createFloating(options: CreateFloatingOptions = {}): FloatingState {\n const strategy: Strategy = options.strategy ?? \"absolute\";\n const [reference, setReference] = createSignal<ReferenceElement | null>(null);\n const [floating, setFloating] = createSignal<HTMLElement | null>(null);\n const [x, setX] = createSignal(0);\n const [y, setY] = createSignal(0);\n const [placement, setPlacement] = createSignal<Placement>(options.placement?.() ?? \"bottom\");\n\n const update = (): void => {\n const ref = reference();\n const float = floating();\n if (!ref || !float) return;\n const middleware = (options.middleware?.() ?? []).filter(Boolean) as Middleware[];\n void computePosition(ref, float, {\n placement: options.placement?.() ?? \"bottom\",\n strategy,\n middleware,\n }).then((position) => {\n setX(position.x);\n setY(position.y);\n setPlacement(position.placement);\n });\n };\n\n createEffect(() => {\n const ref = reference();\n const float = floating();\n // Track reactive options so the subscription restarts when they change.\n options.placement?.();\n options.middleware?.();\n if (!ref || !float) return;\n const cleanup = autoUpdate(ref, float, update);\n onCleanup(cleanup);\n });\n\n const floatingStyles = (): JSX.CSSProperties => ({\n position: strategy,\n top: \"0\",\n left: \"0\",\n transform: `translate(${Math.round(x())}px, ${Math.round(y())}px)`,\n });\n\n return { setReference, setFloating, reference, floating, x, y, placement, floatingStyles, update };\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EAKE;AAAA,EACA;AAAA,OACK;AACP,SAAkC,cAAc,cAAc,iBAAiB;AA6BxE,SAAS,eAAe,UAAiC,CAAC,GAAkB;AACjF,QAAM,WAAqB,QAAQ,YAAY;AAC/C,QAAM,CAAC,WAAW,YAAY,IAAI,aAAsC,IAAI;AAC5E,QAAM,CAAC,UAAU,WAAW,IAAI,aAAiC,IAAI;AACrE,QAAM,CAAC,GAAG,IAAI,IAAI,aAAa,CAAC;AAChC,QAAM,CAAC,GAAG,IAAI,IAAI,aAAa,CAAC;AAChC,QAAM,CAAC,WAAW,YAAY,IAAI,aAAwB,QAAQ,YAAY,KAAK,QAAQ;AAE3F,QAAM,SAAS,MAAY;AACzB,UAAM,MAAM,UAAU;AACtB,UAAM,QAAQ,SAAS;AACvB,QAAI,CAAC,OAAO,CAAC,MAAO;AACpB,UAAM,cAAc,QAAQ,aAAa,KAAK,CAAC,GAAG,OAAO,OAAO;AAChE,SAAK,gBAAgB,KAAK,OAAO;AAAA,MAC/B,WAAW,QAAQ,YAAY,KAAK;AAAA,MACpC;AAAA,MACA;AAAA,IACF,CAAC,EAAE,KAAK,CAAC,aAAa;AACpB,WAAK,SAAS,CAAC;AACf,WAAK,SAAS,CAAC;AACf,mBAAa,SAAS,SAAS;AAAA,IACjC,CAAC;AAAA,EACH;AAEA,eAAa,MAAM;AACjB,UAAM,MAAM,UAAU;AACtB,UAAM,QAAQ,SAAS;AAEvB,YAAQ,YAAY;AACpB,YAAQ,aAAa;AACrB,QAAI,CAAC,OAAO,CAAC,MAAO;AACpB,UAAM,UAAU,WAAW,KAAK,OAAO,MAAM;AAC7C,cAAU,OAAO;AAAA,EACnB,CAAC;AAED,QAAM,iBAAiB,OAA0B;AAAA,IAC/C,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,WAAW,aAAa,KAAK,MAAM,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;AAAA,EAC/D;AAEA,SAAO,EAAE,cAAc,aAAa,WAAW,UAAU,GAAG,GAAG,WAAW,gBAAgB,OAAO;AACnG;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createEffect, onCleanup } from "solid-js";
|
|
2
|
+
const FOCUSABLE = 'a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';
|
|
3
|
+
function createFocusTrap(options) {
|
|
4
|
+
const restoreFocus = options.restoreFocus ?? true;
|
|
5
|
+
const autoFocus = options.autoFocus ?? true;
|
|
6
|
+
createEffect(() => {
|
|
7
|
+
if (!options.active()) return;
|
|
8
|
+
const container = options.container();
|
|
9
|
+
if (!container) return;
|
|
10
|
+
const prevFocused = document.activeElement;
|
|
11
|
+
const focusables = () => Array.from(container.querySelectorAll(FOCUSABLE)).filter(
|
|
12
|
+
(el) => el.offsetParent !== null || el === document.activeElement
|
|
13
|
+
);
|
|
14
|
+
if (autoFocus) {
|
|
15
|
+
(focusables()[0] ?? container).focus({ preventScroll: true });
|
|
16
|
+
}
|
|
17
|
+
const onKeyDown = (event) => {
|
|
18
|
+
if (event.key !== "Tab") return;
|
|
19
|
+
const items = focusables();
|
|
20
|
+
const first = items[0];
|
|
21
|
+
const last = items[items.length - 1];
|
|
22
|
+
if (!first || !last) {
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const activeEl = document.activeElement;
|
|
27
|
+
if (event.shiftKey && activeEl === first) {
|
|
28
|
+
event.preventDefault();
|
|
29
|
+
last.focus();
|
|
30
|
+
} else if (!event.shiftKey && activeEl === last) {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
first.focus();
|
|
33
|
+
} else if (!container.contains(activeEl)) {
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
first.focus();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
39
|
+
onCleanup(() => {
|
|
40
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
41
|
+
if (restoreFocus && prevFocused) {
|
|
42
|
+
prevFocused.focus({ preventScroll: true });
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
createFocusTrap
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=createFocusTrap.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createFocusTrap.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createEffect, onCleanup } from \"solid-js\";\n\nconst FOCUSABLE =\n 'a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex=\"-1\"])';\n\nexport interface CreateFocusTrapOptions {\n /** Trap is active only while this returns true. */\n active: Accessor<boolean>;\n /** The element whose focusable descendants are trapped. */\n container: Accessor<HTMLElement | undefined>;\n /** Restore focus to the previously focused element on deactivate. */\n restoreFocus?: boolean;\n /** Focus the first focusable element on activate. */\n autoFocus?: boolean;\n}\n\n/**\n * Confines Tab/Shift+Tab focus within `container` while `active`. Restores\n * focus to the previously focused element on teardown. Solid port of\n * summer-ui's useFocusTrap.\n */\nexport function createFocusTrap(options: CreateFocusTrapOptions): void {\n const restoreFocus = options.restoreFocus ?? true;\n const autoFocus = options.autoFocus ?? true;\n\n createEffect(() => {\n if (!options.active()) return;\n const container = options.container();\n if (!container) return;\n\n const prevFocused = document.activeElement as HTMLElement | null;\n\n const focusables = (): HTMLElement[] =>\n Array.from(container.querySelectorAll<HTMLElement>(FOCUSABLE)).filter(\n (el) => el.offsetParent !== null || el === document.activeElement\n );\n\n if (autoFocus) {\n (focusables()[0] ?? container).focus({ preventScroll: true });\n }\n\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key !== \"Tab\") return;\n const items = focusables();\n const first = items[0];\n const last = items[items.length - 1];\n if (!first || !last) {\n event.preventDefault();\n return;\n }\n const activeEl = document.activeElement;\n if (event.shiftKey && activeEl === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && activeEl === last) {\n event.preventDefault();\n first.focus();\n } else if (!container.contains(activeEl)) {\n event.preventDefault();\n first.focus();\n }\n };\n\n document.addEventListener(\"keydown\", onKeyDown, true);\n onCleanup(() => {\n document.removeEventListener(\"keydown\", onKeyDown, true);\n if (restoreFocus && prevFocused) {\n prevFocused.focus({ preventScroll: true });\n }\n });\n });\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAwB,cAAc,iBAAiB;AAEvD,MAAM,YACJ;AAkBK,SAAS,gBAAgB,SAAuC;AACrE,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,YAAY,QAAQ,aAAa;AAEvC,eAAa,MAAM;AACjB,QAAI,CAAC,QAAQ,OAAO,EAAG;AACvB,UAAM,YAAY,QAAQ,UAAU;AACpC,QAAI,CAAC,UAAW;AAEhB,UAAM,cAAc,SAAS;AAE7B,UAAM,aAAa,MACjB,MAAM,KAAK,UAAU,iBAA8B,SAAS,CAAC,EAAE;AAAA,MAC7D,CAAC,OAAO,GAAG,iBAAiB,QAAQ,OAAO,SAAS;AAAA,IACtD;AAEF,QAAI,WAAW;AACb,OAAC,WAAW,EAAE,CAAC,KAAK,WAAW,MAAM,EAAE,eAAe,KAAK,CAAC;AAAA,IAC9D;AAEA,UAAM,YAAY,CAAC,UAA+B;AAChD,UAAI,MAAM,QAAQ,MAAO;AACzB,YAAM,QAAQ,WAAW;AACzB,YAAM,QAAQ,MAAM,CAAC;AACrB,YAAM,OAAO,MAAM,MAAM,SAAS,CAAC;AACnC,UAAI,CAAC,SAAS,CAAC,MAAM;AACnB,cAAM,eAAe;AACrB;AAAA,MACF;AACA,YAAM,WAAW,SAAS;AAC1B,UAAI,MAAM,YAAY,aAAa,OAAO;AACxC,cAAM,eAAe;AACrB,aAAK,MAAM;AAAA,MACb,WAAW,CAAC,MAAM,YAAY,aAAa,MAAM;AAC/C,cAAM,eAAe;AACrB,cAAM,MAAM;AAAA,MACd,WAAW,CAAC,UAAU,SAAS,QAAQ,GAAG;AACxC,cAAM,eAAe;AACrB,cAAM,MAAM;AAAA,MACd;AAAA,IACF;AAEA,aAAS,iBAAiB,WAAW,WAAW,IAAI;AACpD,cAAU,MAAM;AACd,eAAS,oBAAoB,WAAW,WAAW,IAAI;AACvD,UAAI,gBAAgB,aAAa;AAC/B,oBAAY,MAAM,EAAE,eAAe,KAAK,CAAC;AAAA,MAC3C;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createId.ts"],
|
|
4
|
+
"sourcesContent": ["import { createUniqueId } from \"solid-js\";\n\n/**\n * Stable unique id for ARIA wiring (label `for`, aria-describedby,\n * aria-controls, \u2026). Replaces React 18's `useId`:\n * - returns the caller-supplied `idProp` verbatim when provided, so an\n * explicit `id` always wins;\n * - otherwise produces a deterministic id, optionally prefixed.\n *\n * Must be called during component setup (it relies on the owner context).\n * For an id that must react to a changing `id` prop, wrap the call site in a\n * memo over `props.id`.\n */\nexport function createId(idProp?: string, prefix = \"smwb\"): string {\n const generated = createUniqueId();\n return idProp ?? `${prefix}-${generated}`;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,sBAAsB;AAaxB,SAAS,SAAS,QAAiB,SAAS,QAAgB;AACjE,QAAM,YAAY,eAAe;AACjC,SAAO,UAAU,GAAG,MAAM,IAAI,SAAS;AACzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
function caretAfterDigits(str, n) {
|
|
2
|
+
if (n <= 0) return 0;
|
|
3
|
+
let count = 0;
|
|
4
|
+
for (let i = 0; i < str.length; i++) {
|
|
5
|
+
if (/\d/.test(str[i] ?? "")) {
|
|
6
|
+
count++;
|
|
7
|
+
if (count >= n) return i + 1;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return str.length;
|
|
11
|
+
}
|
|
12
|
+
function createMaskedInput(options) {
|
|
13
|
+
let inputEl;
|
|
14
|
+
const onInput = (event) => {
|
|
15
|
+
const el = event.currentTarget;
|
|
16
|
+
const raw = el.value;
|
|
17
|
+
const caret = el.selectionStart ?? raw.length;
|
|
18
|
+
const digitsBeforeCaret = raw.slice(0, caret).replace(/\D/g, "").length;
|
|
19
|
+
const formatted = options.format(raw);
|
|
20
|
+
options.onChange(formatted);
|
|
21
|
+
queueMicrotask(() => {
|
|
22
|
+
if (!inputEl) return;
|
|
23
|
+
const pos = caretAfterDigits(inputEl.value, digitsBeforeCaret);
|
|
24
|
+
try {
|
|
25
|
+
inputEl.setSelectionRange(pos, pos);
|
|
26
|
+
} catch {
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
return { value: options.value, onInput, ref: (el) => inputEl = el };
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
createMaskedInput
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=createMaskedInput.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createMaskedInput.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Accessor } from \"solid-js\";\n\nexport interface CreateMaskedInputOptions {\n /** Controlled display value (the formatted string). */\n value: Accessor<string>;\n /** Called with the next formatted value as the user types. */\n onChange: (value: string) => void;\n /** Formats a raw input string into the masked output. */\n format: (value: string) => string;\n}\n\nexport interface MaskedInputState {\n value: Accessor<string>;\n onInput: (event: InputEvent & { currentTarget: HTMLInputElement; target: Element }) => void;\n ref: (el: HTMLInputElement) => void;\n}\n\n/** Place the caret just after the `n`-th digit in `str`. */\nfunction caretAfterDigits(str: string, n: number): number {\n if (n <= 0) return 0;\n let count = 0;\n for (let i = 0; i < str.length; i++) {\n if (/\\d/.test(str[i] ?? \"\")) {\n count++;\n if (count >= n) return i + 1;\n }\n }\n return str.length;\n}\n\n/**\n * Controlled masked-input helper \u2014 the Solid replacement for rifm's useRifm.\n * Re-formats on input, calls back with the formatted value, and restores the\n * caret based on how many digits preceded it (works for date/time digit masks).\n */\nexport function createMaskedInput(options: CreateMaskedInputOptions): MaskedInputState {\n let inputEl: HTMLInputElement | undefined;\n\n const onInput = (event: InputEvent & { currentTarget: HTMLInputElement; target: Element }): void => {\n const el = event.currentTarget;\n const raw = el.value;\n const caret = el.selectionStart ?? raw.length;\n const digitsBeforeCaret = raw.slice(0, caret).replace(/\\D/g, \"\").length;\n const formatted = options.format(raw);\n options.onChange(formatted);\n queueMicrotask(() => {\n if (!inputEl) return;\n const pos = caretAfterDigits(inputEl.value, digitsBeforeCaret);\n try {\n inputEl.setSelectionRange(pos, pos);\n } catch {\n /* setSelectionRange unsupported for some input types */\n }\n });\n };\n\n return { value: options.value, onInput, ref: (el) => (inputEl = el) };\n}\n"],
|
|
5
|
+
"mappings": "AAkBA,SAAS,iBAAiB,KAAa,GAAmB;AACxD,MAAI,KAAK,EAAG,QAAO;AACnB,MAAI,QAAQ;AACZ,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,QAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG;AAC3B;AACA,UAAI,SAAS,EAAG,QAAO,IAAI;AAAA,IAC7B;AAAA,EACF;AACA,SAAO,IAAI;AACb;AAOO,SAAS,kBAAkB,SAAqD;AACrF,MAAI;AAEJ,QAAM,UAAU,CAAC,UAAmF;AAClG,UAAM,KAAK,MAAM;AACjB,UAAM,MAAM,GAAG;AACf,UAAM,QAAQ,GAAG,kBAAkB,IAAI;AACvC,UAAM,oBAAoB,IAAI,MAAM,GAAG,KAAK,EAAE,QAAQ,OAAO,EAAE,EAAE;AACjE,UAAM,YAAY,QAAQ,OAAO,GAAG;AACpC,YAAQ,SAAS,SAAS;AAC1B,mBAAe,MAAM;AACnB,UAAI,CAAC,QAAS;AACd,YAAM,MAAM,iBAAiB,QAAQ,OAAO,iBAAiB;AAC7D,UAAI;AACF,gBAAQ,kBAAkB,KAAK,GAAG;AAAA,MACpC,QAAQ;AAAA,MAER;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,OAAO,QAAQ,OAAO,SAAS,KAAK,CAAC,OAAQ,UAAU,GAAI;AACtE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createSignal, onCleanup, onMount } from "solid-js";
|
|
2
|
+
import { isServer } from "solid-js/web";
|
|
3
|
+
var Theme = /* @__PURE__ */ ((Theme2) => {
|
|
4
|
+
Theme2["dark"] = "dark";
|
|
5
|
+
Theme2["light"] = "light";
|
|
6
|
+
return Theme2;
|
|
7
|
+
})(Theme || {});
|
|
8
|
+
const themeStorageKey = "smui-theme";
|
|
9
|
+
const [theme, setThemeSignal] = createSignal("light" /* light */);
|
|
10
|
+
function applyTheme(value) {
|
|
11
|
+
setThemeSignal(value);
|
|
12
|
+
if (!isServer) {
|
|
13
|
+
document.documentElement.dataset.theme = value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function createTheme() {
|
|
17
|
+
onMount(() => {
|
|
18
|
+
const saved = localStorage.getItem(themeStorageKey);
|
|
19
|
+
if (saved) {
|
|
20
|
+
applyTheme(saved);
|
|
21
|
+
} else {
|
|
22
|
+
const preferred = window.matchMedia("(prefers-color-scheme: light)").matches ? "light" /* light */ : "dark" /* dark */;
|
|
23
|
+
localStorage.setItem(themeStorageKey, preferred);
|
|
24
|
+
applyTheme(preferred);
|
|
25
|
+
}
|
|
26
|
+
const onStorage = (event) => {
|
|
27
|
+
if (event.storageArea === localStorage) {
|
|
28
|
+
const next = localStorage.getItem(themeStorageKey);
|
|
29
|
+
if (next) {
|
|
30
|
+
applyTheme(next);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
window.addEventListener("storage", onStorage);
|
|
35
|
+
onCleanup(() => window.removeEventListener("storage", onStorage));
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
theme,
|
|
39
|
+
setTheme: (value) => {
|
|
40
|
+
if (!isServer) {
|
|
41
|
+
localStorage.setItem(themeStorageKey, value);
|
|
42
|
+
}
|
|
43
|
+
applyTheme(value);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
Theme,
|
|
49
|
+
createTheme
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=createTheme.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createTheme.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createSignal, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n\nconst themeStorageKey = \"smui-theme\";\n\n// Module-level signal acts as the shared theme store (the Solid analogue of\n// summer-ui's Observable singleton), so every createTheme() consumer stays in\n// sync.\nconst [theme, setThemeSignal] = createSignal<Theme>(Theme.light);\n\nfunction applyTheme(value: Theme): void {\n setThemeSignal(value);\n if (!isServer) {\n document.documentElement.dataset.theme = value;\n }\n}\n\nexport interface CreateThemeResult {\n theme: Accessor<Theme>;\n setTheme: (value: Theme) => void;\n}\n\nexport function createTheme(): CreateThemeResult {\n onMount(() => {\n const saved = localStorage.getItem(themeStorageKey) as Theme | null;\n if (saved) {\n applyTheme(saved);\n } else {\n const preferred: Theme = window.matchMedia(\"(prefers-color-scheme: light)\").matches ? Theme.light : Theme.dark;\n localStorage.setItem(themeStorageKey, preferred);\n applyTheme(preferred);\n }\n\n const onStorage = (event: StorageEvent): void => {\n if (event.storageArea === localStorage) {\n const next = localStorage.getItem(themeStorageKey) as Theme | null;\n if (next) {\n applyTheme(next);\n }\n }\n };\n window.addEventListener(\"storage\", onStorage);\n onCleanup(() => window.removeEventListener(\"storage\", onStorage));\n });\n\n return {\n theme,\n setTheme: (value: Theme) => {\n if (!isServer) {\n localStorage.setItem(themeStorageKey, value);\n }\n applyTheme(value);\n },\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAwB,cAAc,WAAW,eAAe;AAChE,SAAS,gBAAgB;AAElB,IAAK,QAAL,kBAAKA,WAAL;AACL,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AAFE,SAAAA;AAAA,GAAA;AAKZ,MAAM,kBAAkB;AAKxB,MAAM,CAAC,OAAO,cAAc,IAAI,aAAoB,mBAAW;AAE/D,SAAS,WAAW,OAAoB;AACtC,iBAAe,KAAK;AACpB,MAAI,CAAC,UAAU;AACb,aAAS,gBAAgB,QAAQ,QAAQ;AAAA,EAC3C;AACF;AAOO,SAAS,cAAiC;AAC/C,UAAQ,MAAM;AACZ,UAAM,QAAQ,aAAa,QAAQ,eAAe;AAClD,QAAI,OAAO;AACT,iBAAW,KAAK;AAAA,IAClB,OAAO;AACL,YAAM,YAAmB,OAAO,WAAW,+BAA+B,EAAE,UAAU,sBAAc;AACpG,mBAAa,QAAQ,iBAAiB,SAAS;AAC/C,iBAAW,SAAS;AAAA,IACtB;AAEA,UAAM,YAAY,CAAC,UAA8B;AAC/C,UAAI,MAAM,gBAAgB,cAAc;AACtC,cAAM,OAAO,aAAa,QAAQ,eAAe;AACjD,YAAI,MAAM;AACR,qBAAW,IAAI;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AACA,WAAO,iBAAiB,WAAW,SAAS;AAC5C,cAAU,MAAM,OAAO,oBAAoB,WAAW,SAAS,CAAC;AAAA,EAClE,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,UAAU,CAAC,UAAiB;AAC1B,UAAI,CAAC,UAAU;AACb,qBAAa,QAAQ,iBAAiB,KAAK;AAAA,MAC7C;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AACF;",
|
|
6
|
+
"names": ["Theme"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createSignal } from "solid-js";
|
|
2
|
+
function createVirtualList(params) {
|
|
3
|
+
const overscan = params.overscan ?? 4;
|
|
4
|
+
const [scrollTop, setScrollTop] = createSignal(0);
|
|
5
|
+
const onScroll = (event) => {
|
|
6
|
+
setScrollTop(event.currentTarget.scrollTop);
|
|
7
|
+
};
|
|
8
|
+
const safeItemHeight = () => params.itemHeight() > 0 ? params.itemHeight() : 1;
|
|
9
|
+
const visibleCount = () => Math.ceil(params.viewportHeight() / safeItemHeight());
|
|
10
|
+
const startIndex = () => Math.max(0, Math.floor(scrollTop() / safeItemHeight()) - overscan);
|
|
11
|
+
const endIndex = () => Math.min(params.itemCount(), startIndex() + visibleCount() + overscan * 2);
|
|
12
|
+
const totalHeight = () => params.itemCount() * safeItemHeight();
|
|
13
|
+
const offsetY = () => startIndex() * safeItemHeight();
|
|
14
|
+
return { startIndex, endIndex, totalHeight, offsetY, onScroll };
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
createVirtualList
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=createVirtualList.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/createVirtualList.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createSignal } from \"solid-js\";\n\nexport interface CreateVirtualListParams {\n /** Total number of items (reactive). */\n itemCount: Accessor<number>;\n /** Fixed height (px) of a single item (reactive). */\n itemHeight: Accessor<number>;\n /** Visible viewport height (px) (reactive). */\n viewportHeight: Accessor<number>;\n /** Extra rows rendered above/below the viewport. */\n overscan?: number;\n}\n\nexport interface VirtualListResult {\n startIndex: Accessor<number>;\n endIndex: Accessor<number>;\n totalHeight: Accessor<number>;\n offsetY: Accessor<number>;\n onScroll: (event: { currentTarget: { scrollTop: number } }) => void;\n}\n\n/**\n * Minimal fixed-height windowing helper (no dependencies). Render only\n * `[startIndex, endIndex)` inside a relative container of `totalHeight`,\n * translated by `offsetY`. Solid port of summer-ui's useVirtualList.\n */\nexport function createVirtualList(params: CreateVirtualListParams): VirtualListResult {\n const overscan = params.overscan ?? 4;\n const [scrollTop, setScrollTop] = createSignal(0);\n\n const onScroll = (event: { currentTarget: { scrollTop: number } }): void => {\n setScrollTop(event.currentTarget.scrollTop);\n };\n\n const safeItemHeight = (): number => (params.itemHeight() > 0 ? params.itemHeight() : 1);\n const visibleCount = (): number => Math.ceil(params.viewportHeight() / safeItemHeight());\n const startIndex = (): number => Math.max(0, Math.floor(scrollTop() / safeItemHeight()) - overscan);\n const endIndex = (): number => Math.min(params.itemCount(), startIndex() + visibleCount() + overscan * 2);\n const totalHeight = (): number => params.itemCount() * safeItemHeight();\n const offsetY = (): number => startIndex() * safeItemHeight();\n\n return { startIndex, endIndex, totalHeight, offsetY, onScroll };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAwB,oBAAoB;AA0BrC,SAAS,kBAAkB,QAAoD;AACpF,QAAM,WAAW,OAAO,YAAY;AACpC,QAAM,CAAC,WAAW,YAAY,IAAI,aAAa,CAAC;AAEhD,QAAM,WAAW,CAAC,UAA0D;AAC1E,iBAAa,MAAM,cAAc,SAAS;AAAA,EAC5C;AAEA,QAAM,iBAAiB,MAAe,OAAO,WAAW,IAAI,IAAI,OAAO,WAAW,IAAI;AACtF,QAAM,eAAe,MAAc,KAAK,KAAK,OAAO,eAAe,IAAI,eAAe,CAAC;AACvF,QAAM,aAAa,MAAc,KAAK,IAAI,GAAG,KAAK,MAAM,UAAU,IAAI,eAAe,CAAC,IAAI,QAAQ;AAClG,QAAM,WAAW,MAAc,KAAK,IAAI,OAAO,UAAU,GAAG,WAAW,IAAI,aAAa,IAAI,WAAW,CAAC;AACxG,QAAM,cAAc,MAAc,OAAO,UAAU,IAAI,eAAe;AACtE,QAAM,UAAU,MAAc,WAAW,IAAI,eAAe;AAE5D,SAAO,EAAE,YAAY,UAAU,aAAa,SAAS,SAAS;AAChE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/primitives/mergeRefs.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Solid `ref` props are always compiled to callbacks (or `undefined`), so a\n * forwarded `props.ref` plus a local `let el` can both be satisfied by calling\n * each function ref. Replaces React's useForkRef/setRef.\n *\n * Usage: `<div ref={mergeRefs(props.ref, (el) => (local = el))} />`\n */\nexport type RefCallback<T> = (el: T) => void;\nexport type Ref<T> = RefCallback<T> | T | undefined;\n\nexport function mergeRefs<T>(...refs: Array<Ref<T>>): RefCallback<T> {\n return (el: T) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n (ref as RefCallback<T>)(el);\n }\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAUO,SAAS,aAAgB,MAAqC;AACnE,SAAO,CAAC,OAAU;AAChB,eAAW,OAAO,MAAM;AACtB,UAAI,OAAO,QAAQ,YAAY;AAC7B,QAAC,IAAuB,EAAE;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { isServer, renderToString } from "solid-js/web";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
const require2 = createRequire(import.meta.url);
|
|
7
|
+
const pkg = JSON.parse(
|
|
8
|
+
readFileSync(require2.resolve("@smwb/ui-solid/package.json"), "utf8")
|
|
9
|
+
);
|
|
10
|
+
describe("ui-solid published exports", () => {
|
|
11
|
+
it("exposes a solid condition for the main entry", () => {
|
|
12
|
+
expect(pkg.exports["."].solid).toBe("./dist/source/index.js");
|
|
13
|
+
expect(pkg.exports["./headless"].solid).toBe("./dist/headless/source/index.js");
|
|
14
|
+
});
|
|
15
|
+
it("imports the DOM bundle animateHeight module on the server and throws", async () => {
|
|
16
|
+
const root = path.dirname(require2.resolve("@smwb/ui-solid/package.json"));
|
|
17
|
+
const domEntry = path.join(root, pkg.exports["."].import.replace(/^\.\//, ""));
|
|
18
|
+
const domAnimateHeight = path.join(
|
|
19
|
+
root,
|
|
20
|
+
"dist/components/base/animateHeight/animateHeight.jsx"
|
|
21
|
+
);
|
|
22
|
+
expect(() => readFileSync(domEntry, "utf8")).not.toThrow();
|
|
23
|
+
const domCode = readFileSync(domAnimateHeight, "utf8");
|
|
24
|
+
expect(domCode).not.toMatch(/return\s*</);
|
|
25
|
+
await expect(import(domAnimateHeight)).rejects.toThrow(/Client-only API called on the server side/);
|
|
26
|
+
});
|
|
27
|
+
it("renders AnimateHeight from the solid source entry on the server", async () => {
|
|
28
|
+
expect(isServer).toBe(true);
|
|
29
|
+
const { AnimateHeight } = await import("@smwb/ui-solid");
|
|
30
|
+
expect(
|
|
31
|
+
() => renderToString(() => <AnimateHeight height="auto">grow</AnimateHeight>)
|
|
32
|
+
).not.toThrow();
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=ssr-published.ssr-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ssr-published.ssr-spec.tsx"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { isServer, renderToString } from \"solid-js/web\";\nimport { readFileSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\n\nconst require = createRequire(import.meta.url);\nconst pkg = JSON.parse(\n readFileSync(require.resolve(\"@smwb/ui-solid/package.json\"), \"utf8\"),\n) as {\n exports: {\n \".\": { solid: string; import: string };\n \"./headless\": { solid: string; import: string };\n };\n};\n\ndescribe(\"ui-solid published exports\", () => {\n it(\"exposes a solid condition for the main entry\", () => {\n expect(pkg.exports[\".\"].solid).toBe(\"./dist/source/index.js\");\n expect(pkg.exports[\"./headless\"].solid).toBe(\"./dist/headless/source/index.js\");\n });\n\n it(\"imports the DOM bundle animateHeight module on the server and throws\", async () => {\n const root = path.dirname(require.resolve(\"@smwb/ui-solid/package.json\"));\n const domEntry = path.join(root, pkg.exports[\".\"].import.replace(/^\\.\\//, \"\"));\n const domAnimateHeight = path.join(\n root,\n \"dist/components/base/animateHeight/animateHeight.js\",\n );\n expect(() => readFileSync(domEntry, \"utf8\")).not.toThrow();\n const domCode = readFileSync(domAnimateHeight, \"utf8\");\n expect(domCode).not.toMatch(/return\\s*</);\n await expect(import(domAnimateHeight)).rejects.toThrow(/Client-only API called on the server side/);\n });\n\n it(\"renders AnimateHeight from the solid source entry on the server\", async () => {\n expect(isServer).toBe(true);\n const { AnimateHeight } = await import(\"@smwb/ui-solid\");\n expect(() =>\n renderToString(() => <AnimateHeight height=\"auto\">grow</AnimateHeight>),\n ).not.toThrow();\n });\n});\n"],"mappings":"AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,UAAU,sBAAsB;AACzC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,YAAY,UAAU;AAEtB,MAAMA,WAAU,cAAc,YAAY,GAAG;AAC7C,MAAM,MAAM,KAAK;AAAA,EACf,aAAaA,SAAQ,QAAQ,6BAA6B,GAAG,MAAM;AACrE;AAOA,SAAS,8BAA8B,MAAM;AAC3C,KAAG,gDAAgD,MAAM;AACvD,WAAO,IAAI,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,wBAAwB;AAC5D,WAAO,IAAI,QAAQ,YAAY,EAAE,KAAK,EAAE,KAAK,iCAAiC;AAAA,EAChF,CAAC;AAED,KAAG,wEAAwE,YAAY;AACrF,UAAM,OAAO,KAAK,QAAQA,SAAQ,QAAQ,6BAA6B,CAAC;AACxE,UAAM,WAAW,KAAK,KAAK,MAAM,IAAI,QAAQ,GAAG,EAAE,OAAO,QAAQ,SAAS,EAAE,CAAC;AAC7E,UAAM,mBAAmB,KAAK;AAAA,MAC5B;AAAA,MACA;AAAA,IACF;AACA,WAAO,MAAM,aAAa,UAAU,MAAM,CAAC,EAAE,IAAI,QAAQ;AACzD,UAAM,UAAU,aAAa,kBAAkB,MAAM;AACrD,WAAO,OAAO,EAAE,IAAI,QAAQ,YAAY;AACxC,UAAM,OAAO,OAAO,iBAAiB,EAAE,QAAQ,QAAQ,2CAA2C;AAAA,EACpG,CAAC;AAED,KAAG,mEAAmE,YAAY;AAChF,WAAO,QAAQ,EAAE,KAAK,IAAI;AAC1B,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,gBAAgB;AACvD;AAAA,MAAO,MACL,eAAe,MAAM,CAAC,cAAc,OAAO,OAAO,IAAI,EAAhC,cAAgD;AAAA,IACxE,EAAE,IAAI,QAAQ;AAAA,EAChB,CAAC;AACH,CAAC;","names":["require"],"file":"ssr-published.ssr-spec.jsx"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { isServer, renderToString } from "solid-js/web";
|
|
3
|
+
import {
|
|
4
|
+
Accordion,
|
|
5
|
+
AnimateHeight,
|
|
6
|
+
Avatar,
|
|
7
|
+
AvatarGroup,
|
|
8
|
+
Badge,
|
|
9
|
+
Breadcrumbs,
|
|
10
|
+
Button,
|
|
11
|
+
ButtonGroup,
|
|
12
|
+
Card,
|
|
13
|
+
Carousel,
|
|
14
|
+
Checkbox,
|
|
15
|
+
Chip,
|
|
16
|
+
CircularProgress,
|
|
17
|
+
Divider,
|
|
18
|
+
ExpansionPanel,
|
|
19
|
+
FloatingButton,
|
|
20
|
+
Icon,
|
|
21
|
+
List,
|
|
22
|
+
ListItem,
|
|
23
|
+
Message,
|
|
24
|
+
Modal,
|
|
25
|
+
Pagination,
|
|
26
|
+
ProgressIndicator,
|
|
27
|
+
RadioButton,
|
|
28
|
+
Rating,
|
|
29
|
+
Ripple,
|
|
30
|
+
ScreenDivider,
|
|
31
|
+
SelectField,
|
|
32
|
+
Sheet,
|
|
33
|
+
Skeleton,
|
|
34
|
+
Slider,
|
|
35
|
+
SnackbarProvider,
|
|
36
|
+
Stack,
|
|
37
|
+
Stepper,
|
|
38
|
+
Tab,
|
|
39
|
+
Tabs,
|
|
40
|
+
TextField,
|
|
41
|
+
Toggle,
|
|
42
|
+
Tooltip,
|
|
43
|
+
TreeView,
|
|
44
|
+
Typography
|
|
45
|
+
} from "./index";
|
|
46
|
+
import { FileDrop } from "./components/inputs/fileDrop";
|
|
47
|
+
const cases = [
|
|
48
|
+
["Accordion", () => <Accordion title="More">body</Accordion>],
|
|
49
|
+
["AnimateHeight", () => <AnimateHeight height="auto">grow</AnimateHeight>],
|
|
50
|
+
["Avatar", () => <Avatar>AB</Avatar>],
|
|
51
|
+
["AvatarGroup", () => <AvatarGroup><Avatar>A</Avatar><Avatar>B</Avatar></AvatarGroup>],
|
|
52
|
+
["Badge", () => <Badge badgeContent={3}>x</Badge>],
|
|
53
|
+
[
|
|
54
|
+
"Breadcrumbs",
|
|
55
|
+
() => <Breadcrumbs>
|
|
56
|
+
<a href="/">Home</a>
|
|
57
|
+
<span>Page</span>
|
|
58
|
+
</Breadcrumbs>
|
|
59
|
+
],
|
|
60
|
+
["Button", () => <Button>Save</Button>],
|
|
61
|
+
["ButtonGroup", () => <ButtonGroup><Button>A</Button></ButtonGroup>],
|
|
62
|
+
["Card", () => <Card>body</Card>],
|
|
63
|
+
[
|
|
64
|
+
"Carousel",
|
|
65
|
+
() => <Carousel>
|
|
66
|
+
<img src="/a.jpg" alt="a" />
|
|
67
|
+
<img src="/b.jpg" alt="b" />
|
|
68
|
+
</Carousel>
|
|
69
|
+
],
|
|
70
|
+
["Checkbox", () => <Checkbox label="ok" />],
|
|
71
|
+
["Chip", () => <Chip label="tag" />],
|
|
72
|
+
["CircularProgress", () => <CircularProgress />],
|
|
73
|
+
["Divider", () => <Divider />],
|
|
74
|
+
["ExpansionPanel(fullscreen)", () => <ExpansionPanel mode="fullscreen">content</ExpansionPanel>],
|
|
75
|
+
["FileDrop", () => <FileDrop onDrop={() => {
|
|
76
|
+
}} />],
|
|
77
|
+
["FloatingButton", () => <FloatingButton><Icon name="add" /></FloatingButton>],
|
|
78
|
+
["Icon", () => <Icon name="home" />],
|
|
79
|
+
["List", () => <List><ListItem>one</ListItem></List>],
|
|
80
|
+
["Message", () => <Message>note</Message>],
|
|
81
|
+
["Modal(open)", () => <Modal open onClose={() => {
|
|
82
|
+
}}><div>content</div></Modal>],
|
|
83
|
+
["Pagination", () => <Pagination count={5} page={1} />],
|
|
84
|
+
["ProgressIndicator", () => <ProgressIndicator variant="linear" type="indeterminate" />],
|
|
85
|
+
["RadioButton", () => <RadioButton label="r" value="r" />],
|
|
86
|
+
["Rating", () => <Rating value={3} />],
|
|
87
|
+
["Ripple", () => <Ripple />],
|
|
88
|
+
["ScreenDivider", () => <ScreenDivider><div>l</div><div>r</div></ScreenDivider>],
|
|
89
|
+
["SelectField", () => <SelectField items={[{ text: "A", value: "a" }]} />],
|
|
90
|
+
["Sheet(open)", () => <Sheet isOpen onClose={() => {
|
|
91
|
+
}}><div>content</div></Sheet>],
|
|
92
|
+
["Skeleton", () => <Skeleton />],
|
|
93
|
+
["Slider", () => <Slider value={50} />],
|
|
94
|
+
["SnackbarProvider", () => <SnackbarProvider>app</SnackbarProvider>],
|
|
95
|
+
["Stack", () => <Stack>child</Stack>],
|
|
96
|
+
["Stepper", () => <Stepper steps={[{ label: "One" }, { label: "Two" }]} activeStep={0} />],
|
|
97
|
+
["Tabs+Tab", () => <Tabs value={0} onChange={() => {
|
|
98
|
+
}}><Tab>A</Tab><Tab>B</Tab></Tabs>],
|
|
99
|
+
["TextField", () => <TextField label="Name" />],
|
|
100
|
+
["Toggle", () => <Toggle />],
|
|
101
|
+
["Tooltip", () => <Tooltip message="hint">trigger</Tooltip>],
|
|
102
|
+
["TreeView", () => <TreeView data={[{ id: "1", label: "root" }]} />],
|
|
103
|
+
["Typography", () => <Typography variant="h1">Title</Typography>]
|
|
104
|
+
];
|
|
105
|
+
describe("ui-solid SSR smoke test", () => {
|
|
106
|
+
it("runs against the server build of solid-js (isServer === true)", () => {
|
|
107
|
+
expect(isServer).toBe(true);
|
|
108
|
+
});
|
|
109
|
+
it.each(cases)("renders <%s> on the server without throwing", (_name, thunk) => {
|
|
110
|
+
expect(() => renderToString(thunk)).not.toThrow();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=ssr.ssr-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ssr.ssr-spec.tsx"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { isServer, renderToString } from \"solid-js/web\";\nimport {\n Accordion,\n AnimateHeight,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Carousel,\n Checkbox,\n Chip,\n CircularProgress,\n Divider,\n ExpansionPanel,\n FloatingButton,\n Icon,\n List,\n ListItem,\n Message,\n Modal,\n Pagination,\n ProgressIndicator,\n RadioButton,\n Rating,\n Ripple,\n ScreenDivider,\n SelectField,\n Sheet,\n Skeleton,\n Slider,\n SnackbarProvider,\n Stack,\n Stepper,\n Tab,\n Tabs,\n TextField,\n Toggle,\n Tooltip,\n TreeView,\n Typography,\n} from \"./index\";\nimport { FileDrop } from \"./components/inputs/fileDrop\";\n\n// Each entry renders to an HTML string under true SSR. The assertion is \"does\n// not throw\" — a component reading a browser global (window/document/Node/…) at\n// module load or during render throws here. Overlays (Modal/Sheet) are rendered\n// OPEN so their Portal `mount` expression is evaluated on the server.\nconst cases: Array<[string, () => unknown]> = [\n [\"Accordion\", () => <Accordion title=\"More\">body</Accordion>],\n [\"AnimateHeight\", () => <AnimateHeight height=\"auto\">grow</AnimateHeight>],\n [\"Avatar\", () => <Avatar>AB</Avatar>],\n [\"AvatarGroup\", () => <AvatarGroup><Avatar>A</Avatar><Avatar>B</Avatar></AvatarGroup>],\n [\"Badge\", () => <Badge badgeContent={3}>x</Badge>],\n [\n \"Breadcrumbs\",\n () => (\n <Breadcrumbs>\n <a href=\"/\">Home</a>\n <span>Page</span>\n </Breadcrumbs>\n ),\n ],\n [\"Button\", () => <Button>Save</Button>],\n [\"ButtonGroup\", () => <ButtonGroup><Button>A</Button></ButtonGroup>],\n [\"Card\", () => <Card>body</Card>],\n [\n \"Carousel\",\n () => (\n <Carousel>\n <img src=\"/a.jpg\" alt=\"a\" />\n <img src=\"/b.jpg\" alt=\"b\" />\n </Carousel>\n ),\n ],\n [\"Checkbox\", () => <Checkbox label=\"ok\" />],\n [\"Chip\", () => <Chip label=\"tag\" />],\n [\"CircularProgress\", () => <CircularProgress />],\n [\"Divider\", () => <Divider />],\n [\"ExpansionPanel(fullscreen)\", () => <ExpansionPanel mode=\"fullscreen\">content</ExpansionPanel>],\n [\"FileDrop\", () => <FileDrop onDrop={() => {}} />],\n [\"FloatingButton\", () => <FloatingButton><Icon name=\"add\" /></FloatingButton>],\n [\"Icon\", () => <Icon name=\"home\" />],\n [\"List\", () => <List><ListItem>one</ListItem></List>],\n [\"Message\", () => <Message>note</Message>],\n [\"Modal(open)\", () => <Modal open onClose={() => {}}><div>content</div></Modal>],\n [\"Pagination\", () => <Pagination count={5} page={1} />],\n [\"ProgressIndicator\", () => <ProgressIndicator variant=\"linear\" type=\"indeterminate\" />],\n [\"RadioButton\", () => <RadioButton label=\"r\" value=\"r\" />],\n [\"Rating\", () => <Rating value={3} />],\n [\"Ripple\", () => <Ripple />],\n [\"ScreenDivider\", () => <ScreenDivider><div>l</div><div>r</div></ScreenDivider>],\n [\"SelectField\", () => <SelectField items={[{ text: \"A\", value: \"a\" }]} />],\n [\"Sheet(open)\", () => <Sheet isOpen onClose={() => {}}><div>content</div></Sheet>],\n [\"Skeleton\", () => <Skeleton />],\n [\"Slider\", () => <Slider value={50} />],\n [\"SnackbarProvider\", () => <SnackbarProvider>app</SnackbarProvider>],\n [\"Stack\", () => <Stack>child</Stack>],\n [\"Stepper\", () => <Stepper steps={[{ label: \"One\" }, { label: \"Two\" }]} activeStep={0} />],\n [\"Tabs+Tab\", () => <Tabs value={0} onChange={() => {}}><Tab>A</Tab><Tab>B</Tab></Tabs>],\n [\"TextField\", () => <TextField label=\"Name\" />],\n [\"Toggle\", () => <Toggle />],\n [\"Tooltip\", () => <Tooltip message=\"hint\">trigger</Tooltip>],\n [\"TreeView\", () => <TreeView data={[{ id: \"1\", label: \"root\" }]} />],\n [\"Typography\", () => <Typography variant=\"h1\">Title</Typography>],\n];\n\ndescribe(\"ui-solid SSR smoke test\", () => {\n it(\"runs against the server build of solid-js (isServer === true)\", () => {\n expect(isServer).toBe(true);\n });\n\n it.each(cases)(\"renders <%s> on the server without throwing\", (_name, thunk) => {\n expect(() => renderToString(thunk as () => never)).not.toThrow();\n });\n});\n"],"mappings":"AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,UAAU,sBAAsB;AACzC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAgB;AAMzB,MAAM,QAAwC;AAAA,EAC5C,CAAC,aAAa,MAAM,CAAC,UAAU,MAAM,OAAO,IAAI,EAA3B,UAAuC;AAAA,EAC5D,CAAC,iBAAiB,MAAM,CAAC,cAAc,OAAO,OAAO,IAAI,EAAhC,cAAgD;AAAA,EACzE,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE,EAAT,OAAkB;AAAA,EACpC,CAAC,eAAe,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAR,OAAiB,CAAC,OAAO,CAAC,EAAR,OAAiB,EAAhD,YAA8D;AAAA,EACrF,CAAC,SAAS,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAxB,MAAgC;AAAA,EACjD;AAAA,IACE;AAAA,IACA,MACE,CAAC,YAAY;AAAA,QACX,CAAC,EAAE,KAAK,IAAI,IAAI,EAAf,EAAmB;AAAA,QACpB,CAAC,KAAK,IAAI,EAAT,KAAgB;AAAA,MACnB,EAHC;AAAA,EAKL;AAAA,EACA,CAAC,UAAU,MAAM,CAAC,OAAO,IAAI,EAAX,OAAoB;AAAA,EACtC,CAAC,eAAe,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAR,OAAiB,EAA9B,YAA4C;AAAA,EACnE,CAAC,QAAQ,MAAM,CAAC,KAAK,IAAI,EAAT,KAAgB;AAAA,EAChC;AAAA,IACE;AAAA,IACA,MACE,CAAC,SAAS;AAAA,QACR,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;AAAA,QAC5B,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;AAAA,MAC9B,EAHC;AAAA,EAKL;AAAA,EACA,CAAC,YAAY,MAAM,CAAC,SAAS,MAAM,KAAK,EAAE;AAAA,EAC1C,CAAC,QAAQ,MAAM,CAAC,KAAK,MAAM,MAAM,EAAE;AAAA,EACnC,CAAC,oBAAoB,MAAM,CAAC,iBAAiB,EAAE;AAAA,EAC/C,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE;AAAA,EAC7B,CAAC,8BAA8B,MAAM,CAAC,eAAe,KAAK,aAAa,OAAO,EAAxC,eAAyD;AAAA,EAC/F,CAAC,YAAY,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,EAAC,GAAG,EAAE;AAAA,EACjD,CAAC,kBAAkB,MAAM,CAAC,eAAe,CAAC,KAAK,KAAK,MAAM,EAAE,EAAlC,eAAmD;AAAA,EAC7E,CAAC,QAAQ,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;AAAA,EACnC,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,EAAZ,SAAuB,EAA7B,KAAoC;AAAA,EACpD,CAAC,WAAW,MAAM,CAAC,QAAQ,IAAI,EAAZ,QAAsB;AAAA,EACzC,CAAC,eAAe,MAAM,CAAC,MAAM,KAAK,SAAS,MAAM;AAAA,EAAC,GAAG,CAAC,IAAI,OAAO,EAAX,IAAiB,EAAhD,MAAwD;AAAA,EAC/E,CAAC,cAAc,MAAM,CAAC,WAAW,OAAO,GAAG,MAAM,GAAG,EAAE;AAAA,EACtD,CAAC,qBAAqB,MAAM,CAAC,kBAAkB,QAAQ,SAAS,KAAK,gBAAgB,EAAE;AAAA,EACvF,CAAC,eAAe,MAAM,CAAC,YAAY,MAAM,IAAI,MAAM,IAAI,EAAE;AAAA,EACzD,CAAC,UAAU,MAAM,CAAC,OAAO,OAAO,GAAG,EAAE;AAAA,EACrC,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE;AAAA,EAC3B,CAAC,iBAAiB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAL,IAAW,CAAC,IAAI,CAAC,EAAL,IAAW,EAAtC,cAAsD;AAAA,EAC/E,CAAC,eAAe,MAAM,CAAC,YAAY,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE;AAAA,EACzE,CAAC,eAAe,MAAM,CAAC,MAAM,OAAO,SAAS,MAAM;AAAA,EAAC,GAAG,CAAC,IAAI,OAAO,EAAX,IAAiB,EAAlD,MAA0D;AAAA,EACjF,CAAC,YAAY,MAAM,CAAC,SAAS,EAAE;AAAA,EAC/B,CAAC,UAAU,MAAM,CAAC,OAAO,OAAO,IAAI,EAAE;AAAA,EACtC,CAAC,oBAAoB,MAAM,CAAC,iBAAiB,GAAG,EAApB,iBAAuC;AAAA,EACnE,CAAC,SAAS,MAAM,CAAC,MAAM,KAAK,EAAX,MAAmB;AAAA,EACpC,CAAC,WAAW,MAAM,CAAC,QAAQ,OAAO,CAAC,EAAE,OAAO,MAAM,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,YAAY,GAAG,EAAE;AAAA,EACzF,CAAC,YAAY,MAAM,CAAC,KAAK,OAAO,GAAG,UAAU,MAAM;AAAA,EAAC,GAAG,CAAC,IAAI,CAAC,EAAL,IAAW,CAAC,IAAI,CAAC,EAAL,IAAW,EAA3D,KAAkE;AAAA,EACtF,CAAC,aAAa,MAAM,CAAC,UAAU,MAAM,OAAO,EAAE;AAAA,EAC9C,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE;AAAA,EAC3B,CAAC,WAAW,MAAM,CAAC,QAAQ,QAAQ,OAAO,OAAO,EAA9B,QAAwC;AAAA,EAC3D,CAAC,YAAY,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,KAAK,OAAO,OAAO,CAAC,GAAG,EAAE;AAAA,EACnE,CAAC,cAAc,MAAM,CAAC,WAAW,QAAQ,KAAK,KAAK,EAA7B,WAA0C;AAClE;AAEA,SAAS,2BAA2B,MAAM;AACxC,KAAG,iEAAiE,MAAM;AACxE,WAAO,QAAQ,EAAE,KAAK,IAAI;AAAA,EAC5B,CAAC;AAED,KAAG,KAAK,KAAK,EAAE,+CAA+C,CAAC,OAAO,UAAU;AAC9E,WAAO,MAAM,eAAe,KAAoB,CAAC,EAAE,IAAI,QAAQ;AAAA,EACjE,CAAC;AACH,CAAC;","names":[],"file":"ssr.ssr-spec.jsx"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const easeInOutSin = (time) => (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;
|
|
2
|
+
function animate(element, property, to, options = {}, cb = () => void 0) {
|
|
3
|
+
const ease = options.ease ?? easeInOutSin;
|
|
4
|
+
const duration = options.duration ?? 300;
|
|
5
|
+
let start = null;
|
|
6
|
+
const from = element[property];
|
|
7
|
+
let cancelled = false;
|
|
8
|
+
const cancel = () => {
|
|
9
|
+
cancelled = true;
|
|
10
|
+
};
|
|
11
|
+
const step = (timestamp) => {
|
|
12
|
+
if (cancelled) {
|
|
13
|
+
cb(new Error("Animation cancelled"));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (start === null) start = timestamp;
|
|
17
|
+
const time = Math.min(1, (timestamp - start) / duration);
|
|
18
|
+
element[property] = ease(time) * (to - from) + from;
|
|
19
|
+
if (time >= 1) {
|
|
20
|
+
requestAnimationFrame(() => cb(null));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
requestAnimationFrame(step);
|
|
24
|
+
};
|
|
25
|
+
if (from === to) {
|
|
26
|
+
cb(new Error("Element already at target position"));
|
|
27
|
+
return cancel;
|
|
28
|
+
}
|
|
29
|
+
requestAnimationFrame(step);
|
|
30
|
+
return cancel;
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
animate
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=animate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/utils/animate.ts"],
|
|
4
|
+
"sourcesContent": ["const easeInOutSin = (time: number): number => (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n\ninterface AnimateOptions {\n ease?: (time: number) => number;\n duration?: number;\n}\n\n/**\n * rAF-based numeric property tween (used for smooth tab scrolling). Returns a\n * cancel function. Narrowed to scroll properties \u2014 the only use sites.\n */\nexport function animate(\n element: HTMLElement,\n property: \"scrollLeft\" | \"scrollTop\",\n to: number,\n options: AnimateOptions = {},\n cb: (arg: null | Error) => void = () => undefined\n): () => void {\n const ease = options.ease ?? easeInOutSin;\n const duration = options.duration ?? 300;\n\n let start: number | null = null;\n const from = element[property];\n let cancelled = false;\n\n const cancel = (): void => {\n cancelled = true;\n };\n\n const step = (timestamp: number): void => {\n if (cancelled) {\n cb(new Error(\"Animation cancelled\"));\n return;\n }\n if (start === null) start = timestamp;\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => cb(null));\n return;\n }\n requestAnimationFrame(step);\n };\n\n if (from === to) {\n cb(new Error(\"Element already at target position\"));\n return cancel;\n }\n\n requestAnimationFrame(step);\n return cancel;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,MAAM,eAAe,CAAC,UAA0B,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,KAAK,KAAK,CAAC,KAAK;AAWvF,SAAS,QACd,SACA,UACA,IACA,UAA0B,CAAC,GAC3B,KAAkC,MAAM,QAC5B;AACZ,QAAM,OAAO,QAAQ,QAAQ;AAC7B,QAAM,WAAW,QAAQ,YAAY;AAErC,MAAI,QAAuB;AAC3B,QAAM,OAAO,QAAQ,QAAQ;AAC7B,MAAI,YAAY;AAEhB,QAAM,SAAS,MAAY;AACzB,gBAAY;AAAA,EACd;AAEA,QAAM,OAAO,CAAC,cAA4B;AACxC,QAAI,WAAW;AACb,SAAG,IAAI,MAAM,qBAAqB,CAAC;AACnC;AAAA,IACF;AACA,QAAI,UAAU,KAAM,SAAQ;AAC5B,UAAM,OAAO,KAAK,IAAI,IAAI,YAAY,SAAS,QAAQ;AACvD,YAAQ,QAAQ,IAAI,KAAK,IAAI,KAAK,KAAK,QAAQ;AAC/C,QAAI,QAAQ,GAAG;AACb,4BAAsB,MAAM,GAAG,IAAI,CAAC;AACpC;AAAA,IACF;AACA,0BAAsB,IAAI;AAAA,EAC5B;AAEA,MAAI,SAAS,IAAI;AACf,OAAG,IAAI,MAAM,oCAAoC,CAAC;AAClD,WAAO;AAAA,EACT;AAEA,wBAAsB,IAAI;AAC1B,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|