solid-tom-ui 1.0.8 → 1.0.10
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/README.md +246 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/{components → dist/components}/avatar/index.d.ts.map +1 -1
- package/dist/components/button/index.d.ts +3 -0
- package/{components → dist/components}/button/index.d.ts.map +1 -1
- package/dist/components/collapse/index.d.ts +3 -0
- package/{components → dist/components}/collapse/index.d.ts.map +1 -1
- package/dist/components/float-button/index.d.ts +3 -0
- package/{components → dist/components}/float-button/index.d.ts.map +1 -1
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/menu/index.d.ts +4 -0
- package/{components → dist/components}/menu/index.d.ts.map +1 -1
- package/{components → dist/components}/menu/menu.types.d.ts +7 -7
- package/{components → dist/components}/menu/menu.types.d.ts.map +1 -1
- package/dist/components/rating/index.d.ts +3 -0
- package/{components → dist/components}/rating/index.d.ts.map +1 -1
- package/dist/components/slider/index.d.ts +3 -0
- package/{components → dist/components}/slider/index.d.ts.map +1 -1
- package/{components → dist/components}/tour/tour.d.ts.map +1 -1
- package/{components → dist/components}/tour/tour.js +1 -1
- package/{components → dist/components}/tour/tour.js.map +1 -1
- package/{components → dist/components}/z-index/z-index.types.js.map +1 -1
- package/dist/package.json +45 -0
- package/dist/skill/avatar.skill.md.txt +255 -0
- package/dist/skill/badge.skill.md.txt +223 -0
- package/dist/skill/blank.skill.md.txt +0 -0
- package/dist/skill/breadcrumb.skill.md.txt +177 -0
- package/dist/skill/button.skill.md.txt +198 -0
- package/dist/skill/carousel.skill.md.txt +406 -0
- package/dist/skill/chat-bubble.skill.md.txt +342 -0
- package/dist/skill/checkbox.skill.md.txt +326 -0
- package/dist/skill/code-preview.skill.md.txt +240 -0
- package/dist/skill/collapse.skill.md.txt +329 -0
- package/dist/skill/context-menu.skill.md.txt +233 -0
- package/dist/skill/diff.skill.md.txt +244 -0
- package/dist/skill/divider.skill.md.txt +151 -0
- package/dist/skill/doc.skill.md.txt +191 -0
- package/dist/skill/drawer.skill.md.txt +157 -0
- package/dist/skill/dropdown.skill.md.txt +198 -0
- package/dist/skill/float-button.skill.md.txt +315 -0
- package/dist/skill/hover-3d-image.skill.md.txt +120 -0
- package/dist/skill/iframe.skill.md.txt +114 -0
- package/dist/skill/image-preview.skill.md.txt +162 -0
- package/dist/skill/indicator.skill.md.txt +60 -0
- package/dist/skill/input.skill.md.txt +489 -0
- package/dist/skill/loading.skill.md.txt +127 -0
- package/dist/skill/mansory.skill.md.txt +0 -0
- package/dist/skill/menu.skill.md.txt +476 -0
- package/dist/skill/modal.skill.md.txt +359 -0
- package/dist/skill/pagination.skill.md.txt +405 -0
- package/dist/skill/progress-bar.skill.md.txt +207 -0
- package/dist/skill/qr-code.skill.md.txt +136 -0
- package/dist/skill/rating.skill.md.txt +167 -0
- package/dist/skill/select-zone.skill.md.txt +93 -0
- package/dist/skill/select.skill.md.txt +663 -0
- package/dist/skill/skeleton.skill.md.txt +192 -0
- package/dist/skill/slider.skill.md.txt +404 -0
- package/dist/skill/splitter.skill.md.txt +411 -0
- package/dist/skill/steps.skill.md.txt +264 -0
- package/dist/skill/swap.skill.md.txt +139 -0
- package/dist/skill/switch.skill.md.txt +191 -0
- package/dist/skill/tab.skill.md.txt +484 -0
- package/dist/skill/table.example.header.md.txt +667 -0
- package/dist/skill/table.skill.md.txt +1407 -0
- package/dist/skill/text-rotate.skill.md.txt +186 -0
- package/dist/skill/timeline.skill.md.txt +247 -0
- package/dist/skill/toast.skill.md.txt +531 -0
- package/dist/skill/tooltip.skill.md.txt +222 -0
- package/dist/skill/tour.skill.md.txt +156 -0
- package/dist/skill/upload.skill.md.txt +358 -0
- package/dist/skill/z-index.skill.md.txt +0 -0
- package/{solid-ui.css → dist/solid-ui.css} +2 -2
- package/package.json +97 -9
- package/components/avatar/index.d.ts +0 -2
- package/components/button/index.d.ts +0 -2
- package/components/collapse/index.d.ts +0 -2
- package/components/float-button/index.d.ts +0 -2
- package/components/input/index.d.ts +0 -2
- package/components/input/index.d.ts.map +0 -1
- package/components/menu/index.d.ts +0 -4
- package/components/rating/index.d.ts +0 -2
- package/components/slider/index.d.ts +0 -2
- package/macos.code-workspace +0 -8
- /package/{components → dist/components}/avatar/avatar.d.ts +0 -0
- /package/{components → dist/components}/avatar/avatar.d.ts.map +0 -0
- /package/{components → dist/components}/avatar/avatar.js +0 -0
- /package/{components → dist/components}/avatar/avatar.js.map +0 -0
- /package/{components → dist/components}/avatar/avatar.types.d.ts +0 -0
- /package/{components → dist/components}/avatar/avatar.types.d.ts.map +0 -0
- /package/{components → dist/components}/badge/badge.d.ts +0 -0
- /package/{components → dist/components}/badge/badge.d.ts.map +0 -0
- /package/{components → dist/components}/badge/badge.js +0 -0
- /package/{components → dist/components}/badge/badge.js.map +0 -0
- /package/{components → dist/components}/badge/badge.types.d.ts +0 -0
- /package/{components → dist/components}/badge/badge.types.d.ts.map +0 -0
- /package/{components → dist/components}/badge/index.d.ts +0 -0
- /package/{components → dist/components}/badge/index.d.ts.map +0 -0
- /package/{components → dist/components}/blank/blank.d.ts +0 -0
- /package/{components → dist/components}/blank/blank.d.ts.map +0 -0
- /package/{components → dist/components}/blank/index.d.ts +0 -0
- /package/{components → dist/components}/blank/index.d.ts.map +0 -0
- /package/{components → dist/components}/breadcrumb/breadcrumb.d.ts +0 -0
- /package/{components → dist/components}/breadcrumb/breadcrumb.d.ts.map +0 -0
- /package/{components → dist/components}/breadcrumb/breadcrumb.js +0 -0
- /package/{components → dist/components}/breadcrumb/breadcrumb.js.map +0 -0
- /package/{components → dist/components}/breadcrumb/index.d.ts +0 -0
- /package/{components → dist/components}/breadcrumb/index.d.ts.map +0 -0
- /package/{components → dist/components}/button/button.d.ts +0 -0
- /package/{components → dist/components}/button/button.d.ts.map +0 -0
- /package/{components → dist/components}/button/button.js +0 -0
- /package/{components → dist/components}/button/button.js.map +0 -0
- /package/{components → dist/components}/button/button.types.d.ts +0 -0
- /package/{components → dist/components}/button/button.types.d.ts.map +0 -0
- /package/{components → dist/components}/carousel/carousel.d.ts +0 -0
- /package/{components → dist/components}/carousel/carousel.d.ts.map +0 -0
- /package/{components → dist/components}/carousel/carousel.js +0 -0
- /package/{components → dist/components}/carousel/carousel.js.map +0 -0
- /package/{components → dist/components}/carousel/carousel.types.d.ts +0 -0
- /package/{components → dist/components}/carousel/carousel.types.d.ts.map +0 -0
- /package/{components → dist/components}/carousel/index.d.ts +0 -0
- /package/{components → dist/components}/carousel/index.d.ts.map +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.d.ts +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.d.ts.map +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.js +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.js.map +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.type.d.ts +0 -0
- /package/{components → dist/components}/chat-bubble/chatBubble.type.d.ts.map +0 -0
- /package/{components → dist/components}/chat-bubble/index.d.ts +0 -0
- /package/{components → dist/components}/chat-bubble/index.d.ts.map +0 -0
- /package/{components → dist/components}/checkbox/checkbox.d.ts +0 -0
- /package/{components → dist/components}/checkbox/checkbox.d.ts.map +0 -0
- /package/{components → dist/components}/checkbox/checkbox.js +0 -0
- /package/{components → dist/components}/checkbox/checkbox.js.map +0 -0
- /package/{components → dist/components}/checkbox/index.d.ts +0 -0
- /package/{components → dist/components}/checkbox/index.d.ts.map +0 -0
- /package/{components → dist/components}/collapse/collapse.d.ts +0 -0
- /package/{components → dist/components}/collapse/collapse.d.ts.map +0 -0
- /package/{components → dist/components}/collapse/collapse.js +0 -0
- /package/{components → dist/components}/collapse/collapse.js.map +0 -0
- /package/{components → dist/components}/collapse/collapse.types.d.ts +0 -0
- /package/{components → dist/components}/collapse/collapse.types.d.ts.map +0 -0
- /package/{components → dist/components}/context-menu/context-menu.d.ts +0 -0
- /package/{components → dist/components}/context-menu/context-menu.d.ts.map +0 -0
- /package/{components → dist/components}/context-menu/context-menu.js +0 -0
- /package/{components → dist/components}/context-menu/context-menu.js.map +0 -0
- /package/{components → dist/components}/context-menu/context-menu.store.d.ts +0 -0
- /package/{components → dist/components}/context-menu/context-menu.store.d.ts.map +0 -0
- /package/{components → dist/components}/context-menu/context-menu.store.js +0 -0
- /package/{components → dist/components}/context-menu/context-menu.store.js.map +0 -0
- /package/{components → dist/components}/context-menu/context-menu.types.d.ts +0 -0
- /package/{components → dist/components}/context-menu/context-menu.types.d.ts.map +0 -0
- /package/{components → dist/components}/context-menu/index.d.ts +0 -0
- /package/{components → dist/components}/context-menu/index.d.ts.map +0 -0
- /package/{components → dist/components}/diff/diff.d.ts +0 -0
- /package/{components → dist/components}/diff/diff.d.ts.map +0 -0
- /package/{components → dist/components}/diff/diff.js +0 -0
- /package/{components → dist/components}/diff/diff.js.map +0 -0
- /package/{components → dist/components}/diff/index.d.ts +0 -0
- /package/{components → dist/components}/diff/index.d.ts.map +0 -0
- /package/{components → dist/components}/divider/divider.d.ts +0 -0
- /package/{components → dist/components}/divider/divider.d.ts.map +0 -0
- /package/{components → dist/components}/divider/divider.js +0 -0
- /package/{components → dist/components}/divider/divider.js.map +0 -0
- /package/{components → dist/components}/divider/divider.types.d.ts +0 -0
- /package/{components → dist/components}/divider/divider.types.d.ts.map +0 -0
- /package/{components → dist/components}/divider/index.d.ts +0 -0
- /package/{components → dist/components}/divider/index.d.ts.map +0 -0
- /package/{components → dist/components}/drawer/drawer.d.ts +0 -0
- /package/{components → dist/components}/drawer/drawer.d.ts.map +0 -0
- /package/{components → dist/components}/drawer/drawer.js +0 -0
- /package/{components → dist/components}/drawer/drawer.js.map +0 -0
- /package/{components → dist/components}/drawer/drawer.types.d.ts +0 -0
- /package/{components → dist/components}/drawer/drawer.types.d.ts.map +0 -0
- /package/{components → dist/components}/drawer/index.d.ts +0 -0
- /package/{components → dist/components}/drawer/index.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/dropdown.d.ts +0 -0
- /package/{components → dist/components}/dropdown/dropdown.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/dropdown.js +0 -0
- /package/{components → dist/components}/dropdown/dropdown.js.map +0 -0
- /package/{components → dist/components}/dropdown/dropdown.store.d.ts +0 -0
- /package/{components → dist/components}/dropdown/dropdown.store.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/dropdown.store.js +0 -0
- /package/{components → dist/components}/dropdown/dropdown.store.js.map +0 -0
- /package/{components → dist/components}/dropdown/dropdown.types.d.ts +0 -0
- /package/{components → dist/components}/dropdown/dropdown.types.d.ts.map +0 -0
- /package/{components → dist/components}/dropdown/index.d.ts +0 -0
- /package/{components → dist/components}/dropdown/index.d.ts.map +0 -0
- /package/{components → dist/components}/float-button/float-button.d.ts +0 -0
- /package/{components → dist/components}/float-button/float-button.d.ts.map +0 -0
- /package/{components → dist/components}/float-button/float-button.js +0 -0
- /package/{components → dist/components}/float-button/float-button.js.map +0 -0
- /package/{components → dist/components}/float-button/float-button.types.d.ts +0 -0
- /package/{components → dist/components}/float-button/float-button.types.d.ts.map +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-example.d.ts +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-example.d.ts.map +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-image.d.ts +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-image.d.ts.map +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-image.js +0 -0
- /package/{components → dist/components}/hover-3d-image/hover-3d-image.js.map +0 -0
- /package/{components → dist/components}/hover-3d-image/index.d.ts +0 -0
- /package/{components → dist/components}/hover-3d-image/index.d.ts.map +0 -0
- /package/{components → dist/components}/image-preview/image-preview.d.ts +0 -0
- /package/{components → dist/components}/image-preview/image-preview.d.ts.map +0 -0
- /package/{components → dist/components}/image-preview/image-preview.js +0 -0
- /package/{components → dist/components}/image-preview/image-preview.js.map +0 -0
- /package/{components → dist/components}/image-preview/index.d.ts +0 -0
- /package/{components → dist/components}/image-preview/index.d.ts.map +0 -0
- /package/{components → dist/components}/indicator/index.d.ts +0 -0
- /package/{components → dist/components}/indicator/index.d.ts.map +0 -0
- /package/{components → dist/components}/indicator/indicator.d.ts +0 -0
- /package/{components → dist/components}/indicator/indicator.d.ts.map +0 -0
- /package/{components → dist/components}/indicator/indicator.js +0 -0
- /package/{components → dist/components}/indicator/indicator.js.map +0 -0
- /package/{components → dist/components}/indicator/indicator.types.d.ts +0 -0
- /package/{components → dist/components}/indicator/indicator.types.d.ts.map +0 -0
- /package/{components → dist/components}/input/input.d.ts +0 -0
- /package/{components → dist/components}/input/input.d.ts.map +0 -0
- /package/{components → dist/components}/input/input.js +0 -0
- /package/{components → dist/components}/input/input.js.map +0 -0
- /package/{components → dist/components}/input/input.types.d.ts +0 -0
- /package/{components → dist/components}/input/input.types.d.ts.map +0 -0
- /package/{components → dist/components}/input/input.utils.d.ts +0 -0
- /package/{components → dist/components}/input/input.utils.d.ts.map +0 -0
- /package/{components → dist/components}/input/input.utils.js +0 -0
- /package/{components → dist/components}/input/input.utils.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-color.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-color.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-color.js +0 -0
- /package/{components → dist/components}/input/variants/input-color.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-date.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-date.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-date.js +0 -0
- /package/{components → dist/components}/input/variants/input-date.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-number.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-number.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-number.js +0 -0
- /package/{components → dist/components}/input/variants/input-number.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-otp.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-otp.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-otp.js +0 -0
- /package/{components → dist/components}/input/variants/input-otp.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-password.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-password.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-password.js +0 -0
- /package/{components → dist/components}/input/variants/input-password.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-radio.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-radio.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-radio.js +0 -0
- /package/{components → dist/components}/input/variants/input-radio.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-range.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-range.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-range.js +0 -0
- /package/{components → dist/components}/input/variants/input-range.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-text.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-text.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-text.js +0 -0
- /package/{components → dist/components}/input/variants/input-text.js.map +0 -0
- /package/{components → dist/components}/input/variants/input-textarea.d.ts +0 -0
- /package/{components → dist/components}/input/variants/input-textarea.d.ts.map +0 -0
- /package/{components → dist/components}/input/variants/input-textarea.js +0 -0
- /package/{components → dist/components}/input/variants/input-textarea.js.map +0 -0
- /package/{components → dist/components}/loading/index.d.ts +0 -0
- /package/{components → dist/components}/loading/index.d.ts.map +0 -0
- /package/{components → dist/components}/loading/loading.d.ts +0 -0
- /package/{components → dist/components}/loading/loading.d.ts.map +0 -0
- /package/{components → dist/components}/loading/loading.js +0 -0
- /package/{components → dist/components}/loading/loading.js.map +0 -0
- /package/{components → dist/components}/mansory/index.d.ts +0 -0
- /package/{components → dist/components}/mansory/index.d.ts.map +0 -0
- /package/{components → dist/components}/mansory/mansory.d.ts +0 -0
- /package/{components → dist/components}/mansory/mansory.d.ts.map +0 -0
- /package/{components → dist/components}/mansory/mansory.js +0 -0
- /package/{components → dist/components}/mansory/mansory.js.map +0 -0
- /package/{components → dist/components}/mansory/mansory.types.d.ts +0 -0
- /package/{components → dist/components}/mansory/mansory.types.d.ts.map +0 -0
- /package/{components → dist/components}/menu/menu.d.ts +0 -0
- /package/{components → dist/components}/menu/menu.d.ts.map +0 -0
- /package/{components → dist/components}/menu/menu.data-example.d.ts +0 -0
- /package/{components → dist/components}/menu/menu.data-example.d.ts.map +0 -0
- /package/{components → dist/components}/menu/menu.js +0 -0
- /package/{components → dist/components}/menu/menu.js.map +0 -0
- /package/{components → dist/components}/modal/index.d.ts +0 -0
- /package/{components → dist/components}/modal/index.d.ts.map +0 -0
- /package/{components → dist/components}/modal/modal.d.ts +0 -0
- /package/{components → dist/components}/modal/modal.d.ts.map +0 -0
- /package/{components → dist/components}/modal/modal.js +0 -0
- /package/{components → dist/components}/modal/modal.js.map +0 -0
- /package/{components → dist/components}/modal/modalContext.d.ts +0 -0
- /package/{components → dist/components}/modal/modalContext.d.ts.map +0 -0
- /package/{components → dist/components}/modal/modalContext.js +0 -0
- /package/{components → dist/components}/modal/modalContext.js.map +0 -0
- /package/{components → dist/components}/pagination/index.d.ts +0 -0
- /package/{components → dist/components}/pagination/index.d.ts.map +0 -0
- /package/{components → dist/components}/pagination/pagination.d.ts +0 -0
- /package/{components → dist/components}/pagination/pagination.d.ts.map +0 -0
- /package/{components → dist/components}/pagination/pagination.js +0 -0
- /package/{components → dist/components}/pagination/pagination.js.map +0 -0
- /package/{components → dist/components}/pagination/pagination.types.d.ts +0 -0
- /package/{components → dist/components}/pagination/pagination.types.d.ts.map +0 -0
- /package/{components → dist/components}/progress-bar/index.d.ts +0 -0
- /package/{components → dist/components}/progress-bar/index.d.ts.map +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.d.ts +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.d.ts.map +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.js +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.js.map +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.types.d.ts +0 -0
- /package/{components → dist/components}/progress-bar/progress-bar.types.d.ts.map +0 -0
- /package/{components → dist/components}/qr-code/index.d.ts +0 -0
- /package/{components → dist/components}/qr-code/index.d.ts.map +0 -0
- /package/{components → dist/components}/qr-code/qr-code.d.ts +0 -0
- /package/{components → dist/components}/qr-code/qr-code.d.ts.map +0 -0
- /package/{components → dist/components}/qr-code/qr-code.js +0 -0
- /package/{components → dist/components}/qr-code/qr-code.js.map +0 -0
- /package/{components → dist/components}/qr-code/qr-code.types.d.ts +0 -0
- /package/{components → dist/components}/qr-code/qr-code.types.d.ts.map +0 -0
- /package/{components → dist/components}/rating/rating.d.ts +0 -0
- /package/{components → dist/components}/rating/rating.d.ts.map +0 -0
- /package/{components → dist/components}/rating/rating.js +0 -0
- /package/{components → dist/components}/rating/rating.js.map +0 -0
- /package/{components → dist/components}/rating/rating.types.d.ts +0 -0
- /package/{components → dist/components}/rating/rating.types.d.ts.map +0 -0
- /package/{components → dist/components}/select/index.d.ts +0 -0
- /package/{components → dist/components}/select/index.d.ts.map +0 -0
- /package/{components → dist/components}/select/select.d.ts +0 -0
- /package/{components → dist/components}/select/select.d.ts.map +0 -0
- /package/{components → dist/components}/select/select.js +0 -0
- /package/{components → dist/components}/select/select.js.map +0 -0
- /package/{components → dist/components}/select/select.types.d.ts +0 -0
- /package/{components → dist/components}/select/select.types.d.ts.map +0 -0
- /package/{components → dist/components}/select-zone/index.d.ts +0 -0
- /package/{components → dist/components}/select-zone/index.d.ts.map +0 -0
- /package/{components → dist/components}/select-zone/select-zone.d.ts +0 -0
- /package/{components → dist/components}/select-zone/select-zone.d.ts.map +0 -0
- /package/{components → dist/components}/select-zone/select-zone.js +0 -0
- /package/{components → dist/components}/select-zone/select-zone.js.map +0 -0
- /package/{components → dist/components}/select-zone/select-zone.types.d.ts +0 -0
- /package/{components → dist/components}/select-zone/select-zone.types.d.ts.map +0 -0
- /package/{components → dist/components}/skeleton/index.d.ts +0 -0
- /package/{components → dist/components}/skeleton/index.d.ts.map +0 -0
- /package/{components → dist/components}/skeleton/skeleton.d.ts +0 -0
- /package/{components → dist/components}/skeleton/skeleton.d.ts.map +0 -0
- /package/{components → dist/components}/skeleton/skeleton.js +0 -0
- /package/{components → dist/components}/skeleton/skeleton.js.map +0 -0
- /package/{components → dist/components}/slider/slider.d.ts +0 -0
- /package/{components → dist/components}/slider/slider.d.ts.map +0 -0
- /package/{components → dist/components}/slider/slider.js +0 -0
- /package/{components → dist/components}/slider/slider.js.map +0 -0
- /package/{components → dist/components}/slider/slider.types.d.ts +0 -0
- /package/{components → dist/components}/slider/slider.types.d.ts.map +0 -0
- /package/{components → dist/components}/splitter/index.d.ts +0 -0
- /package/{components → dist/components}/splitter/index.d.ts.map +0 -0
- /package/{components → dist/components}/splitter/splitter.d.ts +0 -0
- /package/{components → dist/components}/splitter/splitter.d.ts.map +0 -0
- /package/{components → dist/components}/splitter/splitter.js +0 -0
- /package/{components → dist/components}/splitter/splitter.js.map +0 -0
- /package/{components → dist/components}/splitter/splitter.types.d.ts +0 -0
- /package/{components → dist/components}/splitter/splitter.types.d.ts.map +0 -0
- /package/{components → dist/components}/steps/index.d.ts +0 -0
- /package/{components → dist/components}/steps/index.d.ts.map +0 -0
- /package/{components → dist/components}/steps/steps.d.ts +0 -0
- /package/{components → dist/components}/steps/steps.d.ts.map +0 -0
- /package/{components → dist/components}/steps/steps.js +0 -0
- /package/{components → dist/components}/steps/steps.js.map +0 -0
- /package/{components → dist/components}/swap/index.d.ts +0 -0
- /package/{components → dist/components}/swap/index.d.ts.map +0 -0
- /package/{components → dist/components}/swap/swap.d.ts +0 -0
- /package/{components → dist/components}/swap/swap.d.ts.map +0 -0
- /package/{components → dist/components}/swap/swap.js +0 -0
- /package/{components → dist/components}/swap/swap.js.map +0 -0
- /package/{components → dist/components}/switch/index.d.ts +0 -0
- /package/{components → dist/components}/switch/index.d.ts.map +0 -0
- /package/{components → dist/components}/switch/switch.d.ts +0 -0
- /package/{components → dist/components}/switch/switch.d.ts.map +0 -0
- /package/{components → dist/components}/switch/switch.js +0 -0
- /package/{components → dist/components}/switch/switch.js.map +0 -0
- /package/{components → dist/components}/switch/switch.types.d.ts +0 -0
- /package/{components → dist/components}/switch/switch.types.d.ts.map +0 -0
- /package/{components → dist/components}/tab/index.d.ts +0 -0
- /package/{components → dist/components}/tab/index.d.ts.map +0 -0
- /package/{components → dist/components}/tab/tab.d.ts +0 -0
- /package/{components → dist/components}/tab/tab.d.ts.map +0 -0
- /package/{components → dist/components}/tab/tab.js +0 -0
- /package/{components → dist/components}/tab/tab.js.map +0 -0
- /package/{components → dist/components}/tab/tab.types.d.ts +0 -0
- /package/{components → dist/components}/tab/tab.types.d.ts.map +0 -0
- /package/{components → dist/components}/table/index.d.ts +0 -0
- /package/{components → dist/components}/table/index.d.ts.map +0 -0
- /package/{components → dist/components}/table/index.js +0 -0
- /package/{components → dist/components}/table/table.d.ts +0 -0
- /package/{components → dist/components}/table/table.d.ts.map +0 -0
- /package/{components → dist/components}/table/table.js +0 -0
- /package/{components → dist/components}/table/table.js.map +0 -0
- /package/{components → dist/components}/table/table.types.d.ts +0 -0
- /package/{components → dist/components}/table/table.types.d.ts.map +0 -0
- /package/{components → dist/components}/text-rotate/index.d.ts +0 -0
- /package/{components → dist/components}/text-rotate/index.d.ts.map +0 -0
- /package/{components → dist/components}/text-rotate/text-rotate.d.ts +0 -0
- /package/{components → dist/components}/text-rotate/text-rotate.d.ts.map +0 -0
- /package/{components → dist/components}/text-rotate/text-rotate.js +0 -0
- /package/{components → dist/components}/text-rotate/text-rotate.js.map +0 -0
- /package/{components → dist/components}/timeline/index.d.ts +0 -0
- /package/{components → dist/components}/timeline/index.d.ts.map +0 -0
- /package/{components → dist/components}/timeline/timeline.d.ts +0 -0
- /package/{components → dist/components}/timeline/timeline.d.ts.map +0 -0
- /package/{components → dist/components}/timeline/timeline.js +0 -0
- /package/{components → dist/components}/timeline/timeline.js.map +0 -0
- /package/{components → dist/components}/timeline/timeline.types.d.ts +0 -0
- /package/{components → dist/components}/timeline/timeline.types.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/ErrorIcon.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/ErrorIcon.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/ErrorIcon.js +0 -0
- /package/{components → dist/components}/toast/icons/ErrorIcon.js.map +0 -0
- /package/{components → dist/components}/toast/icons/IconCircle.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/IconCircle.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/IconCircle.js +0 -0
- /package/{components → dist/components}/toast/icons/IconCircle.js.map +0 -0
- /package/{components → dist/components}/toast/icons/InfoIcon.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/InfoIcon.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/InfoIcon.js +0 -0
- /package/{components → dist/components}/toast/icons/InfoIcon.js.map +0 -0
- /package/{components → dist/components}/toast/icons/LoaderIcon.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/LoaderIcon.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/LoaderIcon.js +0 -0
- /package/{components → dist/components}/toast/icons/LoaderIcon.js.map +0 -0
- /package/{components → dist/components}/toast/icons/SuccessIcon.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/SuccessIcon.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/SuccessIcon.js +0 -0
- /package/{components → dist/components}/toast/icons/SuccessIcon.js.map +0 -0
- /package/{components → dist/components}/toast/icons/WarningIcon.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/WarningIcon.d.ts.map +0 -0
- /package/{components → dist/components}/toast/icons/WarningIcon.js +0 -0
- /package/{components → dist/components}/toast/icons/WarningIcon.js.map +0 -0
- /package/{components → dist/components}/toast/icons/index.d.ts +0 -0
- /package/{components → dist/components}/toast/icons/index.d.ts.map +0 -0
- /package/{components → dist/components}/toast/index.d.ts +0 -0
- /package/{components → dist/components}/toast/index.d.ts.map +0 -0
- /package/{components → dist/components}/toast/toast.d.ts +0 -0
- /package/{components → dist/components}/toast/toast.d.ts.map +0 -0
- /package/{components → dist/components}/toast/toast.js +0 -0
- /package/{components → dist/components}/toast/toast.js.map +0 -0
- /package/{components → dist/components}/toast/toast.store.d.ts +0 -0
- /package/{components → dist/components}/toast/toast.store.d.ts.map +0 -0
- /package/{components → dist/components}/toast/toast.store.js +0 -0
- /package/{components → dist/components}/toast/toast.store.js.map +0 -0
- /package/{components → dist/components}/toast/toast.type.d.ts +0 -0
- /package/{components → dist/components}/toast/toast.type.d.ts.map +0 -0
- /package/{components → dist/components}/tooltip/index.d.ts +0 -0
- /package/{components → dist/components}/tooltip/index.d.ts.map +0 -0
- /package/{components → dist/components}/tooltip/tooltip.d.ts +0 -0
- /package/{components → dist/components}/tooltip/tooltip.d.ts.map +0 -0
- /package/{components → dist/components}/tooltip/tooltip.js +0 -0
- /package/{components → dist/components}/tooltip/tooltip.js.map +0 -0
- /package/{components → dist/components}/tooltip/tooltip.types.d.ts +0 -0
- /package/{components → dist/components}/tooltip/tooltip.types.d.ts.map +0 -0
- /package/{components → dist/components}/tour/index.d.ts +0 -0
- /package/{components → dist/components}/tour/index.d.ts.map +0 -0
- /package/{components → dist/components}/tour/tour.d.ts +0 -0
- /package/{components → dist/components}/tour/tour.types.d.ts +0 -0
- /package/{components → dist/components}/tour/tour.types.d.ts.map +0 -0
- /package/{components → dist/components}/upload/index.d.ts +0 -0
- /package/{components → dist/components}/upload/index.d.ts.map +0 -0
- /package/{components → dist/components}/upload/upload.d.ts +0 -0
- /package/{components → dist/components}/upload/upload.d.ts.map +0 -0
- /package/{components → dist/components}/upload/upload.js +0 -0
- /package/{components → dist/components}/upload/upload.js.map +0 -0
- /package/{components → dist/components}/upload/upload.types.d.ts +0 -0
- /package/{components → dist/components}/upload/upload.types.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/index.d.ts +0 -0
- /package/{components → dist/components}/z-index/index.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/z-index.context.d.ts +0 -0
- /package/{components → dist/components}/z-index/z-index.context.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/z-index.context.js +0 -0
- /package/{components → dist/components}/z-index/z-index.context.js.map +0 -0
- /package/{components → dist/components}/z-index/z-index.d.ts +0 -0
- /package/{components → dist/components}/z-index/z-index.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/z-index.js +0 -0
- /package/{components → dist/components}/z-index/z-index.js.map +0 -0
- /package/{components → dist/components}/z-index/z-index.store.d.ts +0 -0
- /package/{components → dist/components}/z-index/z-index.store.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/z-index.store.js +0 -0
- /package/{components → dist/components}/z-index/z-index.store.js.map +0 -0
- /package/{components → dist/components}/z-index/z-index.types.d.ts +0 -0
- /package/{components → dist/components}/z-index/z-index.types.d.ts.map +0 -0
- /package/{components → dist/components}/z-index/z-index.types.js +0 -0
- /package/{lib.d.ts → dist/lib.d.ts} +0 -0
- /package/{lib.d.ts.map → dist/lib.d.ts.map} +0 -0
- /package/{lib.js → dist/lib.js} +0 -0
- /package/{type.d.ts → dist/type.d.ts} +0 -0
- /package/{type.d.ts.map → dist/type.d.ts.map} +0 -0
- /package/{utils → dist/utils}/cn.d.ts +0 -0
- /package/{utils → dist/utils}/cn.d.ts.map +0 -0
- /package/{utils → dist/utils}/cn.js +0 -0
- /package/{utils → dist/utils}/cn.js.map +0 -0
- /package/{utils → dist/utils}/element-tracker.js +0 -0
- /package/{utils → dist/utils}/element-tracker.js.map +0 -0
- /package/{utils → dist/utils}/helper.d.ts +0 -0
- /package/{utils → dist/utils}/helper.d.ts.map +0 -0
- /package/{utils → dist/utils}/helper.js +0 -0
- /package/{utils → dist/utils}/helper.js.map +0 -0
- /package/{utils → dist/utils}/hoc.js +0 -0
- /package/{utils → dist/utils}/hoc.js.map +0 -0
package/dist/README.md
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# solid-tom-ui
|
|
2
|
+
|
|
3
|
+
> A blazing-fast, beautifully crafted UI component library for [SolidJS](https://solidjs.com), inspired by Ant Design.
|
|
4
|
+
|
|
5
|
+
**Entire library ships at just ~1.5 MB.** Built on **Tailwind CSS 4** and **DaisyUI 5**, solid-tom-ui harnesses SolidJS fine-grained reactivity to deliver buttery-smooth UIs with near-zero overhead — no virtual DOM, no unnecessary re-renders, just raw speed.
|
|
6
|
+
|
|
7
|
+
Customizing the look and feel is a first-class experience: swap the entire color scheme by overriding a handful of CSS variables, or dial in individual components through the unified `color` prop and per-slot `class` overrides — no CSS-in-JS, no build plugins, just plain CSS and Tailwind utilities you already know.
|
|
8
|
+
|
|
9
|
+
## Why solid-tom-ui?
|
|
10
|
+
|
|
11
|
+
- **Featherlight** — the full library (45+ components, styles included) weighs only ~1.5 MB, keeping your app fast on any network
|
|
12
|
+
- **Instant theming** — change primary colors, border radii, and shadows site-wide by editing a single CSS block; no rebuild required
|
|
13
|
+
- **Pixel-perfect by default** — every component is designed to look great out of the box, while remaining fully customizable via `class` props or CSS variables
|
|
14
|
+
- **SolidJS-native** — reactivity is handled at the signal level, so components update surgically without wasting a single render cycle
|
|
15
|
+
|
|
16
|
+
## Features
|
|
17
|
+
|
|
18
|
+
- **45+ components** — from simple buttons to complex data tables with virtual scrolling
|
|
19
|
+
- **Tree-shakeable** — each component is its own module; unused components are not bundled
|
|
20
|
+
- **Typed** — full TypeScript support with exported prop interfaces
|
|
21
|
+
- **Themeable** — DaisyUI color tokens + unified `color` prop across all components
|
|
22
|
+
- **Accessible** — semantic HTML, ARIA attributes, keyboard navigation
|
|
23
|
+
- **Zero CSS setup** — pre-compiled CSS bundle includes Tailwind + DaisyUI, no extra config needed
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install solid-tom-ui
|
|
29
|
+
or
|
|
30
|
+
pnpm install solid-tom-ui
|
|
31
|
+
or
|
|
32
|
+
bun install solid-tom-ui
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Peer dependencies
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm install solid-js
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Optional (only needed for specific components):
|
|
42
|
+
|
|
43
|
+
| Package | Component |
|
|
44
|
+
|---------|-----------|
|
|
45
|
+
| `imask` | `Input` with mask |
|
|
46
|
+
| `qrcode` | `QrCode` |
|
|
47
|
+
| `@tanstack/solid-table` | `Table` |
|
|
48
|
+
|
|
49
|
+
## Setup
|
|
50
|
+
|
|
51
|
+
### 1. Import the pre-compiled CSS bundle
|
|
52
|
+
|
|
53
|
+
```css
|
|
54
|
+
/* app.css */
|
|
55
|
+
@import 'solid-tom-ui/styles';
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Make sure this CSS file is imported in your app entry point:
|
|
59
|
+
|
|
60
|
+
```tsx
|
|
61
|
+
// src/index.tsx
|
|
62
|
+
import './app.css';
|
|
63
|
+
import { render } from 'solid-js/web';
|
|
64
|
+
import App from './App';
|
|
65
|
+
|
|
66
|
+
render(() => <App />, document.getElementById('root')!);
|
|
67
|
+
```
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### 2. Use components
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
import { Button, Modal, toast } from 'solid-tom-ui';
|
|
74
|
+
|
|
75
|
+
function App() {
|
|
76
|
+
return (
|
|
77
|
+
<Button color="primary" onClick={() => toast.success('Hello!')}>
|
|
78
|
+
Click me
|
|
79
|
+
</Button>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Advanced Setup (Custom Theme)
|
|
87
|
+
|
|
88
|
+
Overwrite css variable
|
|
89
|
+
|
|
90
|
+
```css
|
|
91
|
+
:root {
|
|
92
|
+
--color-base-100: white;
|
|
93
|
+
--color-base-content: black;
|
|
94
|
+
|
|
95
|
+
--color-primary: red;
|
|
96
|
+
--color-primary-content: white;
|
|
97
|
+
|
|
98
|
+
--color-secondary: red;
|
|
99
|
+
--color-secondary-content: white;
|
|
100
|
+
|
|
101
|
+
--color-accent: red;
|
|
102
|
+
--color-accent-content: white;
|
|
103
|
+
|
|
104
|
+
--color-neutral: red;
|
|
105
|
+
--color-neutral-content: white;
|
|
106
|
+
|
|
107
|
+
--color-info: red;
|
|
108
|
+
--color-info-content: white;
|
|
109
|
+
|
|
110
|
+
--color-success: red;
|
|
111
|
+
--color-success-content: white;
|
|
112
|
+
|
|
113
|
+
--color-warning: red;
|
|
114
|
+
--color-warning-content: white;
|
|
115
|
+
|
|
116
|
+
--color-error: red;
|
|
117
|
+
--color-error-content: white;
|
|
118
|
+
--radius-selector: 8px;
|
|
119
|
+
--radius-field: 4px;
|
|
120
|
+
--radius-box: 6px;
|
|
121
|
+
--size-selector: 4px;
|
|
122
|
+
--size-field: 4px;
|
|
123
|
+
--border: 1px;
|
|
124
|
+
--depth: 0;
|
|
125
|
+
--noise: 0;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Components
|
|
132
|
+
|
|
133
|
+
### Layout & Navigation
|
|
134
|
+
| Component | Description |
|
|
135
|
+
|-----------|-------------|
|
|
136
|
+
| `Breadcrumb` | Navigation breadcrumb trail |
|
|
137
|
+
| `Divider` | Horizontal or vertical divider |
|
|
138
|
+
| `Drawer` | Slide-in side panel |
|
|
139
|
+
| `Dropdown` | Dropdown menu |
|
|
140
|
+
| `Menu` | Vertical/horizontal navigation menu |
|
|
141
|
+
| `Pagination` | Page navigation |
|
|
142
|
+
| `Splitter` | Resizable split pane |
|
|
143
|
+
| `Steps` | Step-by-step progress indicator |
|
|
144
|
+
| `Tab` | Tabbed navigation |
|
|
145
|
+
|
|
146
|
+
### Data Display
|
|
147
|
+
| Component | Description |
|
|
148
|
+
|-----------|-------------|
|
|
149
|
+
| `Avatar` | User avatar with fallback |
|
|
150
|
+
| `Badge` | Status badge / tag |
|
|
151
|
+
| `Carousel` | Image/content carousel |
|
|
152
|
+
| `ChatBubble` | Chat message bubble |
|
|
153
|
+
| `Diff` | Side-by-side diff viewer |
|
|
154
|
+
| `Indicator` | Numeric badge overlay |
|
|
155
|
+
| `Skeleton` | Loading skeleton placeholder |
|
|
156
|
+
| `Table` | Feature-rich table (virtual scroll, sort, filter, pinned columns) |
|
|
157
|
+
| `Timeline` | Vertical timeline |
|
|
158
|
+
| `Tooltip` | Hover tooltip |
|
|
159
|
+
| `Tour` | Interactive product tour |
|
|
160
|
+
|
|
161
|
+
### Input & Forms
|
|
162
|
+
| Component | Description |
|
|
163
|
+
|-----------|-------------|
|
|
164
|
+
| `Checkbox` | Checkbox input |
|
|
165
|
+
| `Input` | Text, password, number, textarea, color, date, range, OTP, masked inputs |
|
|
166
|
+
| `Rating` | Star rating |
|
|
167
|
+
| `Select` | Dropdown select |
|
|
168
|
+
| `SelectZone` | Drag-to-select zone |
|
|
169
|
+
| `Slider` | Range slider |
|
|
170
|
+
| `Switch` | Toggle switch |
|
|
171
|
+
| `Upload` | File upload with drag & drop |
|
|
172
|
+
|
|
173
|
+
### Feedback
|
|
174
|
+
| Component | Description |
|
|
175
|
+
|-----------|-------------|
|
|
176
|
+
| `Loading` | Spinner / loading indicator |
|
|
177
|
+
| `Modal` | Dialog modal |
|
|
178
|
+
| `ProgressBar` | Progress bar |
|
|
179
|
+
| `Toast` | Toast notifications (`toast.success()`, `toast.error()`, …) |
|
|
180
|
+
|
|
181
|
+
### Visual & Effects
|
|
182
|
+
| Component | Description |
|
|
183
|
+
|-----------|-------------|
|
|
184
|
+
| `Collapse` | Collapsible content panel |
|
|
185
|
+
| `ContextMenu` | Right-click context menu |
|
|
186
|
+
| `FloatButton` | Floating action button |
|
|
187
|
+
| `Hover3dImage` | 3D parallax image on hover |
|
|
188
|
+
| `ImagePreview` | Lightbox image preview |
|
|
189
|
+
| `Mansory` | Masonry grid layout |
|
|
190
|
+
| `QrCode` | QR code generator |
|
|
191
|
+
| `Swap` | Flip between two states |
|
|
192
|
+
| `TextRotate` | Animated rotating text |
|
|
193
|
+
|
|
194
|
+
### Utilities
|
|
195
|
+
| Component | Description |
|
|
196
|
+
|-----------|-------------|
|
|
197
|
+
| `CodePreview` | Code preview |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## API
|
|
202
|
+
|
|
203
|
+
### Color prop
|
|
204
|
+
|
|
205
|
+
Most components accept a `color` prop:
|
|
206
|
+
|
|
207
|
+
```tsx
|
|
208
|
+
type BaseColorProps =
|
|
209
|
+
| 'primary' | 'secondary' | 'accent' | 'neutral'
|
|
210
|
+
| 'info' | 'success' | 'warning' | 'error';
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
```tsx
|
|
214
|
+
<Badge color="success">Active</Badge>
|
|
215
|
+
<Button color="warning">Caution</Button>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Class override (slot system)
|
|
219
|
+
|
|
220
|
+
Every component exposes a `class` prop to override individual slots:
|
|
221
|
+
|
|
222
|
+
```tsx
|
|
223
|
+
// Single-element components
|
|
224
|
+
<Badge class="font-bold text-lg" />
|
|
225
|
+
|
|
226
|
+
// Multi-slot components
|
|
227
|
+
<Modal
|
|
228
|
+
class={{
|
|
229
|
+
root: 'max-w-2xl',
|
|
230
|
+
header: 'bg-base-200',
|
|
231
|
+
body: 'p-8',
|
|
232
|
+
}}
|
|
233
|
+
/>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## TypeScript
|
|
237
|
+
|
|
238
|
+
All prop types are exported:
|
|
239
|
+
|
|
240
|
+
```tsx
|
|
241
|
+
import type { ButtonProps, ModalProps, BaseColorProps, SolidComponent } from 'solid-tom-ui';
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## License
|
|
245
|
+
|
|
246
|
+
MIT © [Truong Tom](https://github.com/truongtom1993)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/collapse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/collapse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/float-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/float-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,mBAAmB,cAAc,CAAC"}
|
|
@@ -38,7 +38,7 @@ export type ItemClickInfo = {
|
|
|
38
38
|
isExpanded?: boolean | undefined;
|
|
39
39
|
data?: Record<string, any>;
|
|
40
40
|
};
|
|
41
|
-
type BaseItem = {
|
|
41
|
+
export type BaseItem = {
|
|
42
42
|
id?: string;
|
|
43
43
|
content: SolidComponent;
|
|
44
44
|
disabled?: boolean;
|
|
@@ -51,20 +51,20 @@ type BaseFolderItem = BaseItem & {
|
|
|
51
51
|
type: 'folder';
|
|
52
52
|
defaultExpanded?: boolean;
|
|
53
53
|
};
|
|
54
|
-
type BaseTitleItem = BaseItem & {
|
|
54
|
+
export type BaseTitleItem = BaseItem & {
|
|
55
55
|
type: 'title';
|
|
56
56
|
};
|
|
57
|
-
type SyncFolder = BaseFolderItem & SyncItem;
|
|
58
|
-
type LazyFolder = BaseFolderItem & AsyncItem;
|
|
59
|
-
type TitleItem = BaseTitleItem & {
|
|
57
|
+
export type SyncFolder = BaseFolderItem & SyncItem;
|
|
58
|
+
export type LazyFolder = BaseFolderItem & AsyncItem;
|
|
59
|
+
export type TitleItem = BaseTitleItem & {
|
|
60
60
|
items: MenuTitleItems[];
|
|
61
61
|
};
|
|
62
62
|
type MenuTitleItems = FileItem | TitleItem | SyncFolder;
|
|
63
|
-
type SyncItem = {
|
|
63
|
+
export type SyncItem = {
|
|
64
64
|
items: MenuItem[];
|
|
65
65
|
lazyItems?: never;
|
|
66
66
|
};
|
|
67
|
-
type AsyncItem = {
|
|
67
|
+
export type AsyncItem = {
|
|
68
68
|
items?: never;
|
|
69
69
|
lazyItems: () => Promise<MenuItem[]>;
|
|
70
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.types.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,MAAM,MAAM,aAAa,GAAG;IAC1B,iFAAiF;IACjF,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACpD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAC3B,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"menu.types.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/rating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/rating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour.d.ts","sourceRoot":"","sources":["../../../src/components/tour/tour.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAiB,SAAS,EAAY,MAAM,cAAc,CAAC;AA+R3E,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,OAAO,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"tour.d.ts","sourceRoot":"","sources":["../../../src/components/tour/tour.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAiB,SAAS,EAAY,MAAM,cAAc,CAAC;AA+R3E,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,OAAO,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CA4EhG"}
|
|
@@ -5,5 +5,5 @@ import{cn as e}from"../../utils/cn.js";import{createThrottle as t}from"../../uti
|
|
|
5
5
|
${a}px ${o}px,
|
|
6
6
|
${a}px ${t}px,
|
|
7
7
|
${n}px ${t}px
|
|
8
|
-
)`}var M=12,N=340;function P(e,t,n){let r=window.innerWidth,i=window.innerHeight,{top:a,left:o,width:s,height:c}=e,l=0,u=0,d=`50%`,f=o+s/2,p=a+c/2;switch(t){case`bottom`:case`bottom-start`:case`bottom-end`:l=a+c+M,u=t===`bottom-start`?o:t===`bottom-end`?o+s-N:f-N/2,d=`${f-Math.max(16,Math.min(u,u))}px`;break;case`top`:case`top-start`:case`top-end`:l=a-n-M,u=t===`top-start`?o:t===`top-end`?o+s-N:f-N/2,d=`${f-Math.max(16,Math.min(u,u))}px`;break;case`left`:case`left-start`:case`left-end`:l=t===`left-start`?a:t===`left-end`?a+c-n:p-n/2,u=o-N-M,d=`${p-l}px`;break;case`right`:case`right-start`:case`right-end`:l=t===`right-start`?a:t===`right-end`?a+c-n:p-n/2,u=o+s+M,d=`${p-l}px`;break}return u=Math.max(16,Math.min(u,r-N-16)),l=Math.max(16,Math.min(l,i-n-16)),{top:l,left:u,arrowOffset:d}}var F=s=>{let d=b({showClose:!0,showProgress:!0,maskClosable:!1,prevLabel:`Prev`,nextLabel:`Next`,doneLabel:`Done`},s),[m,M]=y({top:0,left:0,width:0,height:0}),[F,I]=y({top:0,left:0,arrowOffset:`50%`}),[L,R]=y(200),z,B=()=>d.steps[d.activeStep()],V=()=>d.activeStep()===d.steps.length-1;function H(){let e=B();if(!e)return;let t=e.spotlightPadding??8,n=e.placement??`bottom`,r=z?.offsetHeight??L(),i=A(e.target,t);i&&(M(i),I(P(i,n,r)))}let U=t(H,60);v(function(){if(!d.visible())return;d.activeStep();let e=B();e?.target&&document.getElementById(e.target)?.scrollIntoView({block:`nearest`,behavior:`smooth`});let t=setTimeout(()=>{t=void 0,z&&R(z.offsetHeight),H()},80);x(function(){t!==void 0&&(clearTimeout(t),t=void 0)})}),S(function(){window.addEventListener(`resize`,U),window.addEventListener(`scroll`,U,!0),x(function(){window.removeEventListener(`resize`,U),window.removeEventListener(`scroll`,U,!0),U.cancel()})});let W=()=>({"clip-path":j(m())}),G=()=>{let{top:e,left:t,arrowOffset:n}=F();return{top:`${e}px`,left:`${t}px`,width:`${N}px`,"--arrow-offset":n}},K=()=>{d.maskClosable&&d.onClose()};return o(r,{get type(){return n.OVERLAY},get open(){return d.visible()},blockScroll:!0,get children(){return[(()=>{var t=w();return t.$$click=K,c(()=>a(t,e(`tr01`,d.class?.mask))),t})(),(()=>{var t=w();return c(n=>{var r=e(`tr02`,d.class?.spotlight),i=W();return r!==n.e&&a(t,n.e=r),n.t=p(t,i,n.t),n},{e:void 0,t:void 0}),t})(),(()=>{var t=O(),n=t.firstChild,r=n.firstChild,s=z;return typeof s==`function`?h(s,t):z=t,l(r,()=>B()?.title),l(n,o(_,{get when(){return d.showClose},get children(){var e=T();return i(e,`click`,d.onClose,!0),l(e,o(C,{size:14})),e}}),null),l(t,o(_,{get when(){return B()?.content},get children(){var t=w();return l(t,()=>B()?.content),c(()=>a(t,e(`tr05`,d.class?.body))),t}}),null),l(t,o(_,{get when(){return!B()?.footer},get fallback(){return(()=>{var t=w();return l(t,()=>B()?.footer),c(()=>a(t,e(`tr06`,d.class?.footer))),t})()},get children(){var t=D(),n=t.firstChild,r=n.firstChild;return l(t,o(_,{get when(){return d.showProgress},get children(){var t=w();return l(t,o(g,{get each(){return d.steps},children:(t,n)=>(()=>{var t=k();return c(()=>a(t,e(`tr07-dot`,n()===d.activeStep()&&`active`))),t})()})),c(()=>a(t,e(`tr07`,d.class?.progress))),t}}),n),l(n,o(_,{get when(){return d.activeStep()>0},get children(){var e=E();return i(e,`click`,d.onPrev,!0),l(e,()=>d.prevLabel),e}}),r),i(r,`click`,V()?d.onClose:d.onNext,!0),l(r,(()=>{var e=u(()=>!!V());return()=>e()?d.doneLabel:d.nextLabel})()),c(()=>a(t,e(`tr06`,d.class?.footer))),t}}),null),c(r=>{var i=e(`tr03`,d.class?.popup),o=G(),s=B()?.placement??`bottom`,c=e(`tr04`,d.class?.header);return i!==r.e&&a(t,r.e=i),r.t=p(t,o,r.t),s!==r.a&&f(t,`data-placement`,r.a=s),c!==r.o&&a(n,r.o=c),r},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()]}})};function I(e){let[t,n]=y(0),[r,i]=y(!1);function a(t=0){n(t),i(!0),e.steps[t]?.onEnter?.(t),e.onStepChange?.(t)}function s(){let n=t();e.steps[n]?.onLeave?.(n),i(!1),e.onClose?.(n)}function c(){let
|
|
8
|
+
)`}var M=12,N=340;function P(e,t,n){let r=window.innerWidth,i=window.innerHeight,{top:a,left:o,width:s,height:c}=e,l=0,u=0,d=`50%`,f=o+s/2,p=a+c/2;switch(t){case`bottom`:case`bottom-start`:case`bottom-end`:l=a+c+M,u=t===`bottom-start`?o:t===`bottom-end`?o+s-N:f-N/2,d=`${f-Math.max(16,Math.min(u,u))}px`;break;case`top`:case`top-start`:case`top-end`:l=a-n-M,u=t===`top-start`?o:t===`top-end`?o+s-N:f-N/2,d=`${f-Math.max(16,Math.min(u,u))}px`;break;case`left`:case`left-start`:case`left-end`:l=t===`left-start`?a:t===`left-end`?a+c-n:p-n/2,u=o-N-M,d=`${p-l}px`;break;case`right`:case`right-start`:case`right-end`:l=t===`right-start`?a:t===`right-end`?a+c-n:p-n/2,u=o+s+M,d=`${p-l}px`;break}return u=Math.max(16,Math.min(u,r-N-16)),l=Math.max(16,Math.min(l,i-n-16)),{top:l,left:u,arrowOffset:d}}var F=s=>{let d=b({showClose:!0,showProgress:!0,maskClosable:!1,prevLabel:`Prev`,nextLabel:`Next`,doneLabel:`Done`},s),[m,M]=y({top:0,left:0,width:0,height:0}),[F,I]=y({top:0,left:0,arrowOffset:`50%`}),[L,R]=y(200),z,B=()=>d.steps[d.activeStep()],V=()=>d.activeStep()===d.steps.length-1;function H(){let e=B();if(!e)return;let t=e.spotlightPadding??8,n=e.placement??`bottom`,r=z?.offsetHeight??L(),i=A(e.target,t);i&&(M(i),I(P(i,n,r)))}let U=t(H,60);v(function(){if(!d.visible())return;d.activeStep();let e=B();e?.target&&document.getElementById(e.target)?.scrollIntoView({block:`nearest`,behavior:`smooth`});let t=setTimeout(()=>{t=void 0,z&&R(z.offsetHeight),H()},80);x(function(){t!==void 0&&(clearTimeout(t),t=void 0)})}),S(function(){window.addEventListener(`resize`,U),window.addEventListener(`scroll`,U,!0),x(function(){window.removeEventListener(`resize`,U),window.removeEventListener(`scroll`,U,!0),U.cancel()})});let W=()=>({"clip-path":j(m())}),G=()=>{let{top:e,left:t,arrowOffset:n}=F();return{top:`${e}px`,left:`${t}px`,width:`${N}px`,"--arrow-offset":n}},K=()=>{d.maskClosable&&d.onClose()};return o(r,{get type(){return n.OVERLAY},get open(){return d.visible()},blockScroll:!0,get children(){return[(()=>{var t=w();return t.$$click=K,c(()=>a(t,e(`tr01`,d.class?.mask))),t})(),(()=>{var t=w();return c(n=>{var r=e(`tr02`,d.class?.spotlight),i=W();return r!==n.e&&a(t,n.e=r),n.t=p(t,i,n.t),n},{e:void 0,t:void 0}),t})(),(()=>{var t=O(),n=t.firstChild,r=n.firstChild,s=z;return typeof s==`function`?h(s,t):z=t,l(r,()=>B()?.title),l(n,o(_,{get when(){return d.showClose},get children(){var e=T();return i(e,`click`,d.onClose,!0),l(e,o(C,{size:14})),e}}),null),l(t,o(_,{get when(){return B()?.content},get children(){var t=w();return l(t,()=>B()?.content),c(()=>a(t,e(`tr05`,d.class?.body))),t}}),null),l(t,o(_,{get when(){return!B()?.footer},get fallback(){return(()=>{var t=w();return l(t,()=>B()?.footer),c(()=>a(t,e(`tr06`,d.class?.footer))),t})()},get children(){var t=D(),n=t.firstChild,r=n.firstChild;return l(t,o(_,{get when(){return d.showProgress},get children(){var t=w();return l(t,o(g,{get each(){return d.steps},children:(t,n)=>(()=>{var t=k();return c(()=>a(t,e(`tr07-dot`,n()===d.activeStep()&&`active`))),t})()})),c(()=>a(t,e(`tr07`,d.class?.progress))),t}}),n),l(n,o(_,{get when(){return d.activeStep()>0},get children(){var e=E();return i(e,`click`,d.onPrev,!0),l(e,()=>d.prevLabel),e}}),r),i(r,`click`,V()?d.onClose:d.onNext,!0),l(r,(()=>{var e=u(()=>!!V());return()=>e()?d.doneLabel:d.nextLabel})()),c(()=>a(t,e(`tr06`,d.class?.footer))),t}}),null),c(r=>{var i=e(`tr03`,d.class?.popup),o=G(),s=B()?.placement??`bottom`,c=e(`tr04`,d.class?.header);return i!==r.e&&a(t,r.e=i),r.t=p(t,o,r.t),s!==r.a&&f(t,`data-placement`,r.a=s),c!==r.o&&a(n,r.o=c),r},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()]}})};function I(e){let[t,n]=y(0),[r,i]=y(!1);function a(t=0){n(t),i(!0),e.steps[t]?.onEnter?.(t),e.onStepChange?.(t)}function s(){let n=t();e.steps[n]?.onLeave?.(n),i(!1),e.onClose?.(n)}function c(){let a=t();e.steps[a]?.onLeave?.(a);let o=a+1;if(o>=e.steps.length){i(!1),e.onFinish?.();return}n(o),r()||i(!0),e.steps[o]?.onEnter?.(o),e.onStepChange?.(o)}function l(){let a=t();if(a<=0)return;e.steps[a]?.onLeave?.(a);let o=a-1;n(o),r()||i(!0),e.steps[o]?.onEnter?.(o),e.onStepChange?.(o)}function u(a){if(a<0||a>=e.steps.length)return;let o=t();e.steps[o]?.onLeave?.(o),n(a),r()||i(!0),e.steps[a]?.onEnter?.(a),e.onStepChange?.(a)}return[{start:a,stop:s,next:c,prev:l,goTo:u,isActive:r,currentStep:t},()=>o(F,d(e,{activeStep:t,visible:r,onClose:s,onNext:c,onPrev:l}))]}s([`click`]);export{I as createTour};
|
|
9
9
|
//# sourceMappingURL=tour.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour.js","names":["ZIndex","ZIndexType","cn","createThrottle","X","createEffect","createSignal","For","mergeProps","onCleanup","onMount","Show","TourAPI","TourPlacement","TourProps","TourStep","SpotlightRect","top","left","width","height","getElementRect","targetId","padding","el","document","getElementById","rect","getBoundingClientRect","buildClipPath","right","bottom","PopupPosition","arrowOffset","POPUP_MARGIN","POPUP_WIDTH","computePopupPosition","spotRect","placement","popupHeight","vw","window","innerWidth","vh","innerHeight","pTop","pLeft","centerX","centerY","Math","max","min","InternalTourProps","activeStep","visible","onClose","onNext","onPrev","TourComponent","rawProps","props","showClose","showProgress","maskClosable","prevLabel","nextLabel","doneLabel","setSpotRect","popupPos","setPopupPos","setPopupHeight","popupRef","HTMLDivElement","currentStep","steps","isLastStep","length","recalculate","step","spotlightPadding","ph","offsetHeight","target","throttledRecalc","trackStepChange","_step","scrollIntoView","block","behavior","timer","ReturnType","setTimeout","undefined","cancelStepTimer","clearTimeout","registerResizeListener","addEventListener","removeResizeListener","removeEventListener","cancel","maskStyle","popupStyle","handleMaskClick","_$createComponent","type","OVERLAY","open","blockScroll","children","_el$","_tmpl$","$$click","_$effect","_$className","class","mask","_el$2","_p$","_v$","spotlight","_v$2","e","t","_$style","_el$3","_tmpl$5","_el$4","firstChild","_el$5","_ref$","_$use","_$insert","title","when","_el$6","_tmpl$2","_$addEventListener","size","content","_el$7","body","footer","fallback","_el$11","_el$8","_tmpl$4","_el$0","_el$10","_el$9","each","_","i","_el$12","_tmpl$6","progress","_el$1","_tmpl$3","_c$","_$memo","_v$3","popup","_v$4","_v$5","_v$6","header","a","_$setAttribute","o","createTour","tourProps","JSX","Element","setActiveStep","setVisible","start","stepIndex","onEnter","onStepChange","stop","onLeave","next","cur","nextStep","onFinish","prev","prevStep","goTo","api","isActive","TourRenderer","_$mergeProps","_$delegateEvents"],"sources":["../../../src/components/tour/tour.tsx"],"sourcesContent":["import { ZIndex, ZIndexType } from '@components/z-index';\nimport { cn } from '@utils/cn';\nimport { createThrottle } from '@utils/helper';\nimport X from 'lucide-solid/icons/x';\nimport { createEffect, createSignal, For, mergeProps, onCleanup, onMount, Show } from 'solid-js';\nimport { TourAPI, TourPlacement, TourProps, TourStep } from './tour.types';\n\ninterface SpotlightRect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nfunction getElementRect(targetId: string, padding: number): SpotlightRect | null {\n const el = document.getElementById(targetId);\n if (!el) return null;\n const rect = el.getBoundingClientRect();\n return {\n top: rect.top - padding,\n left: rect.left - padding,\n width: rect.width + padding * 2,\n height: rect.height + padding * 2,\n };\n}\n\nfunction buildClipPath(rect: SpotlightRect): string {\n const { top, left, width, height } = rect;\n const right = left + width;\n const bottom = top + height;\n\n return `polygon(\n 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%,\n ${left}px ${top}px,\n ${left}px ${bottom}px,\n ${right}px ${bottom}px,\n ${right}px ${top}px,\n ${left}px ${top}px\n )`;\n}\n\ninterface PopupPosition {\n top: number;\n left: number;\n arrowOffset: string;\n}\n\nconst POPUP_MARGIN = 12;\nconst POPUP_WIDTH = 340;\n\nfunction computePopupPosition(\n spotRect: SpotlightRect,\n placement: TourPlacement,\n popupHeight: number,\n): PopupPosition {\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n\n const { top, left, width, height } = spotRect;\n let pTop = 0;\n let pLeft = 0;\n let arrowOffset = '50%';\n\n const centerX = left + width / 2;\n const centerY = top + height / 2;\n\n switch (placement) {\n case 'bottom':\n case 'bottom-start':\n case 'bottom-end':\n pTop = top + height + POPUP_MARGIN;\n pLeft =\n placement === 'bottom-start'\n ? left\n : placement === 'bottom-end'\n ? left + width - POPUP_WIDTH\n : centerX - POPUP_WIDTH / 2;\n arrowOffset = `${centerX - Math.max(16, Math.min(pLeft, pLeft))}px`;\n break;\n\n case 'top':\n case 'top-start':\n case 'top-end':\n pTop = top - popupHeight - POPUP_MARGIN;\n pLeft =\n placement === 'top-start'\n ? left\n : placement === 'top-end'\n ? left + width - POPUP_WIDTH\n : centerX - POPUP_WIDTH / 2;\n arrowOffset = `${centerX - Math.max(16, Math.min(pLeft, pLeft))}px`;\n break;\n\n case 'left':\n case 'left-start':\n case 'left-end':\n pTop =\n placement === 'left-start'\n ? top\n : placement === 'left-end'\n ? top + height - popupHeight\n : centerY - popupHeight / 2;\n pLeft = left - POPUP_WIDTH - POPUP_MARGIN;\n arrowOffset = `${centerY - pTop}px`;\n break;\n\n case 'right':\n case 'right-start':\n case 'right-end':\n pTop =\n placement === 'right-start'\n ? top\n : placement === 'right-end'\n ? top + height - popupHeight\n : centerY - popupHeight / 2;\n pLeft = left + width + POPUP_MARGIN;\n arrowOffset = `${centerY - pTop}px`;\n break;\n }\n\n pLeft = Math.max(16, Math.min(pLeft, vw - POPUP_WIDTH - 16));\n pTop = Math.max(16, Math.min(pTop, vh - popupHeight - 16));\n\n return { top: pTop, left: pLeft, arrowOffset };\n}\n\ninterface InternalTourProps extends TourProps {\n activeStep: () => number;\n visible: () => boolean;\n onClose: () => void;\n onNext: () => void;\n onPrev: () => void;\n}\n\nconst TourComponent = (rawProps: InternalTourProps) => {\n const props = mergeProps(\n {\n showClose: true,\n showProgress: true,\n maskClosable: false,\n prevLabel: 'Prev',\n nextLabel: 'Next',\n doneLabel: 'Done',\n },\n rawProps,\n );\n\n const [spotRect, setSpotRect] = createSignal<SpotlightRect>({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [popupPos, setPopupPos] = createSignal<PopupPosition>({\n top: 0,\n left: 0,\n arrowOffset: '50%',\n });\n const [popupHeight, setPopupHeight] = createSignal(200);\n\n let popupRef: HTMLDivElement | undefined;\n\n const currentStep = (): TourStep | undefined => props.steps[props.activeStep()];\n const isLastStep = () => props.activeStep() === props.steps.length - 1;\n\n function recalculate() {\n const step = currentStep();\n if (!step) return;\n\n const padding = step.spotlightPadding ?? 8;\n const placement = step.placement ?? 'bottom';\n const ph = popupRef?.offsetHeight ?? popupHeight();\n\n const rect = getElementRect(step.target, padding);\n if (!rect) return;\n setSpotRect(rect);\n setPopupPos(computePopupPosition(rect, placement, ph));\n }\n\n const throttledRecalc = createThrottle(recalculate, 60);\n\n createEffect(function trackStepChange() {\n if (!props.visible()) return;\n\n const _step = props.activeStep();\n void _step;\n\n const step = currentStep();\n if (step?.target) {\n const el = document.getElementById(step.target);\n el?.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined = setTimeout(() => {\n timer = undefined;\n if (popupRef) setPopupHeight(popupRef.offsetHeight);\n recalculate();\n }, 80);\n onCleanup(function cancelStepTimer() {\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n });\n });\n\n onMount(function registerResizeListener() {\n window.addEventListener('resize', throttledRecalc);\n window.addEventListener('scroll', throttledRecalc, true);\n onCleanup(function removeResizeListener() {\n window.removeEventListener('resize', throttledRecalc);\n window.removeEventListener('scroll', throttledRecalc, true);\n throttledRecalc.cancel();\n });\n });\n\n const maskStyle = () => ({ 'clip-path': buildClipPath(spotRect()) });\n\n const popupStyle = () => {\n const { top, left, arrowOffset } = popupPos();\n return {\n top: `${top}px`,\n left: `${left}px`,\n width: `${POPUP_WIDTH}px`,\n '--arrow-offset': arrowOffset,\n };\n };\n\n const handleMaskClick = () => {\n if (props.maskClosable) props.onClose();\n };\n\n return (\n <ZIndex type={ZIndexType.OVERLAY} open={props.visible()} blockScroll>\n <div class={cn('tr01', props.class?.mask)} onClick={handleMaskClick} />\n\n <div class={cn('tr02', props.class?.spotlight)} style={maskStyle()} />\n\n <div\n ref={popupRef}\n class={cn('tr03', props.class?.popup)}\n style={popupStyle()}\n data-placement={currentStep()?.placement ?? 'bottom'}\n >\n <div class={cn('tr04', props.class?.header)}>\n <span class=\"tr04-title\">{currentStep()?.title}</span>\n <Show when={props.showClose}>\n <button class=\"tr04-close\" onClick={props.onClose} aria-label=\"Close tour\">\n <X size={14} />\n </button>\n </Show>\n </div>\n\n <Show when={currentStep()?.content}>\n <div class={cn('tr05', props.class?.body)}>{currentStep()?.content}</div>\n </Show>\n\n <Show\n when={!currentStep()?.footer}\n fallback={<div class={cn('tr06', props.class?.footer)}>{currentStep()?.footer}</div>}\n >\n <div class={cn('tr06', props.class?.footer)}>\n <Show when={props.showProgress}>\n <div class={cn('tr07', props.class?.progress)}>\n <For each={props.steps}>\n {(_, i) => (\n <span class={cn('tr07-dot', i() === props.activeStep() && 'active')} />\n )}\n </For>\n </div>\n </Show>\n\n <div class=\"ml-auto flex gap-2\">\n <Show when={props.activeStep() > 0}>\n <button class=\"btn btn-sm btn-ghost\" onClick={props.onPrev}>\n {props.prevLabel}\n </button>\n </Show>\n <button\n class=\"btn btn-sm btn-primary\"\n onClick={isLastStep() ? props.onClose : props.onNext}\n >\n {isLastStep() ? props.doneLabel : props.nextLabel}\n </button>\n </div>\n </div>\n </Show>\n </div>\n </ZIndex>\n );\n};\n\nexport function createTour(tourProps: TourProps): [TourAPI, () => import('solid-js').JSX.Element] {\n const [activeStep, setActiveStep] = createSignal(0);\n const [visible, setVisible] = createSignal(false);\n\n function start(stepIndex = 0) {\n setActiveStep(stepIndex);\n setVisible(true);\n tourProps.steps[stepIndex]?.onEnter?.(stepIndex);\n tourProps.onStepChange?.(stepIndex);\n }\n\n function stop() {\n const step = activeStep();\n tourProps.steps[step]?.onLeave?.(step);\n setVisible(false);\n tourProps.onClose?.(step);\n }\n\n function next() {\n const cur = activeStep();\n tourProps.steps[cur]?.onLeave?.(cur);\n const nextStep = cur + 1;\n if (nextStep >= tourProps.steps.length) {\n setVisible(false);\n tourProps.onFinish?.();\n return;\n }\n setActiveStep(nextStep);\n tourProps.steps[nextStep]?.onEnter?.(nextStep);\n tourProps.onStepChange?.(nextStep);\n }\n\n function prev() {\n const cur = activeStep();\n if (cur <= 0) return;\n tourProps.steps[cur]?.onLeave?.(cur);\n const prevStep = cur - 1;\n setActiveStep(prevStep);\n tourProps.steps[prevStep]?.onEnter?.(prevStep);\n tourProps.onStepChange?.(prevStep);\n }\n\n function goTo(stepIndex: number) {\n if (stepIndex < 0 || stepIndex >= tourProps.steps.length) return;\n const cur = activeStep();\n tourProps.steps[cur]?.onLeave?.(cur);\n setActiveStep(stepIndex);\n tourProps.steps[stepIndex]?.onEnter?.(stepIndex);\n tourProps.onStepChange?.(stepIndex);\n }\n\n const api: TourAPI = {\n start,\n stop,\n next,\n prev,\n goTo,\n isActive: visible,\n currentStep: activeStep,\n };\n\n const TourRenderer = () => (\n <TourComponent\n {...tourProps}\n activeStep={activeStep}\n visible={visible}\n onClose={stop}\n onNext={next}\n onPrev={prev}\n />\n );\n\n return [api, TourRenderer];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tour.js","names":["ZIndex","ZIndexType","cn","createThrottle","X","createEffect","createSignal","For","mergeProps","onCleanup","onMount","Show","TourAPI","TourPlacement","TourProps","TourStep","SpotlightRect","top","left","width","height","getElementRect","targetId","padding","el","document","getElementById","rect","getBoundingClientRect","buildClipPath","right","bottom","PopupPosition","arrowOffset","POPUP_MARGIN","POPUP_WIDTH","computePopupPosition","spotRect","placement","popupHeight","vw","window","innerWidth","vh","innerHeight","pTop","pLeft","centerX","centerY","Math","max","min","InternalTourProps","activeStep","visible","onClose","onNext","onPrev","TourComponent","rawProps","props","showClose","showProgress","maskClosable","prevLabel","nextLabel","doneLabel","setSpotRect","popupPos","setPopupPos","setPopupHeight","popupRef","HTMLDivElement","currentStep","steps","isLastStep","length","recalculate","step","spotlightPadding","ph","offsetHeight","target","throttledRecalc","trackStepChange","_step","scrollIntoView","block","behavior","timer","ReturnType","setTimeout","undefined","cancelStepTimer","clearTimeout","registerResizeListener","addEventListener","removeResizeListener","removeEventListener","cancel","maskStyle","popupStyle","handleMaskClick","_$createComponent","type","OVERLAY","open","blockScroll","children","_el$","_tmpl$","$$click","_$effect","_$className","class","mask","_el$2","_p$","_v$","spotlight","_v$2","e","t","_$style","_el$3","_tmpl$5","_el$4","firstChild","_el$5","_ref$","_$use","_$insert","title","when","_el$6","_tmpl$2","_$addEventListener","size","content","_el$7","body","footer","fallback","_el$11","_el$8","_tmpl$4","_el$0","_el$10","_el$9","each","_","i","_el$12","_tmpl$6","progress","_el$1","_tmpl$3","_c$","_$memo","_v$3","popup","_v$4","_v$5","_v$6","header","a","_$setAttribute","o","createTour","tourProps","JSX","Element","setActiveStep","setVisible","start","stepIndex","onEnter","onStepChange","stop","onLeave","next","cur","nextStep","onFinish","prev","prevStep","goTo","api","isActive","TourRenderer","_$mergeProps","_$delegateEvents"],"sources":["../../../src/components/tour/tour.tsx"],"sourcesContent":["import { ZIndex, ZIndexType } from '@components/z-index';\nimport { cn } from '@utils/cn';\nimport { createThrottle } from '@utils/helper';\nimport X from 'lucide-solid/icons/x';\nimport { createEffect, createSignal, For, mergeProps, onCleanup, onMount, Show } from 'solid-js';\nimport { TourAPI, TourPlacement, TourProps, TourStep } from './tour.types';\n\ninterface SpotlightRect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nfunction getElementRect(targetId: string, padding: number): SpotlightRect | null {\n const el = document.getElementById(targetId);\n if (!el) return null;\n const rect = el.getBoundingClientRect();\n return {\n top: rect.top - padding,\n left: rect.left - padding,\n width: rect.width + padding * 2,\n height: rect.height + padding * 2,\n };\n}\n\nfunction buildClipPath(rect: SpotlightRect): string {\n const { top, left, width, height } = rect;\n const right = left + width;\n const bottom = top + height;\n\n return `polygon(\n 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%,\n ${left}px ${top}px,\n ${left}px ${bottom}px,\n ${right}px ${bottom}px,\n ${right}px ${top}px,\n ${left}px ${top}px\n )`;\n}\n\ninterface PopupPosition {\n top: number;\n left: number;\n arrowOffset: string;\n}\n\nconst POPUP_MARGIN = 12;\nconst POPUP_WIDTH = 340;\n\nfunction computePopupPosition(\n spotRect: SpotlightRect,\n placement: TourPlacement,\n popupHeight: number,\n): PopupPosition {\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n\n const { top, left, width, height } = spotRect;\n let pTop = 0;\n let pLeft = 0;\n let arrowOffset = '50%';\n\n const centerX = left + width / 2;\n const centerY = top + height / 2;\n\n switch (placement) {\n case 'bottom':\n case 'bottom-start':\n case 'bottom-end':\n pTop = top + height + POPUP_MARGIN;\n pLeft =\n placement === 'bottom-start'\n ? left\n : placement === 'bottom-end'\n ? left + width - POPUP_WIDTH\n : centerX - POPUP_WIDTH / 2;\n arrowOffset = `${centerX - Math.max(16, Math.min(pLeft, pLeft))}px`;\n break;\n\n case 'top':\n case 'top-start':\n case 'top-end':\n pTop = top - popupHeight - POPUP_MARGIN;\n pLeft =\n placement === 'top-start'\n ? left\n : placement === 'top-end'\n ? left + width - POPUP_WIDTH\n : centerX - POPUP_WIDTH / 2;\n arrowOffset = `${centerX - Math.max(16, Math.min(pLeft, pLeft))}px`;\n break;\n\n case 'left':\n case 'left-start':\n case 'left-end':\n pTop =\n placement === 'left-start'\n ? top\n : placement === 'left-end'\n ? top + height - popupHeight\n : centerY - popupHeight / 2;\n pLeft = left - POPUP_WIDTH - POPUP_MARGIN;\n arrowOffset = `${centerY - pTop}px`;\n break;\n\n case 'right':\n case 'right-start':\n case 'right-end':\n pTop =\n placement === 'right-start'\n ? top\n : placement === 'right-end'\n ? top + height - popupHeight\n : centerY - popupHeight / 2;\n pLeft = left + width + POPUP_MARGIN;\n arrowOffset = `${centerY - pTop}px`;\n break;\n }\n\n pLeft = Math.max(16, Math.min(pLeft, vw - POPUP_WIDTH - 16));\n pTop = Math.max(16, Math.min(pTop, vh - popupHeight - 16));\n\n return { top: pTop, left: pLeft, arrowOffset };\n}\n\ninterface InternalTourProps extends TourProps {\n activeStep: () => number;\n visible: () => boolean;\n onClose: () => void;\n onNext: () => void;\n onPrev: () => void;\n}\n\nconst TourComponent = (rawProps: InternalTourProps) => {\n const props = mergeProps(\n {\n showClose: true,\n showProgress: true,\n maskClosable: false,\n prevLabel: 'Prev',\n nextLabel: 'Next',\n doneLabel: 'Done',\n },\n rawProps,\n );\n\n const [spotRect, setSpotRect] = createSignal<SpotlightRect>({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [popupPos, setPopupPos] = createSignal<PopupPosition>({\n top: 0,\n left: 0,\n arrowOffset: '50%',\n });\n const [popupHeight, setPopupHeight] = createSignal(200);\n\n let popupRef: HTMLDivElement | undefined;\n\n const currentStep = (): TourStep | undefined => props.steps[props.activeStep()];\n const isLastStep = () => props.activeStep() === props.steps.length - 1;\n\n function recalculate() {\n const step = currentStep();\n if (!step) return;\n\n const padding = step.spotlightPadding ?? 8;\n const placement = step.placement ?? 'bottom';\n const ph = popupRef?.offsetHeight ?? popupHeight();\n\n const rect = getElementRect(step.target, padding);\n if (!rect) return;\n setSpotRect(rect);\n setPopupPos(computePopupPosition(rect, placement, ph));\n }\n\n const throttledRecalc = createThrottle(recalculate, 60);\n\n createEffect(function trackStepChange() {\n if (!props.visible()) return;\n\n const _step = props.activeStep();\n void _step;\n\n const step = currentStep();\n if (step?.target) {\n const el = document.getElementById(step.target);\n el?.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined = setTimeout(() => {\n timer = undefined;\n if (popupRef) setPopupHeight(popupRef.offsetHeight);\n recalculate();\n }, 80);\n onCleanup(function cancelStepTimer() {\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n });\n });\n\n onMount(function registerResizeListener() {\n window.addEventListener('resize', throttledRecalc);\n window.addEventListener('scroll', throttledRecalc, true);\n onCleanup(function removeResizeListener() {\n window.removeEventListener('resize', throttledRecalc);\n window.removeEventListener('scroll', throttledRecalc, true);\n throttledRecalc.cancel();\n });\n });\n\n const maskStyle = () => ({ 'clip-path': buildClipPath(spotRect()) });\n\n const popupStyle = () => {\n const { top, left, arrowOffset } = popupPos();\n return {\n top: `${top}px`,\n left: `${left}px`,\n width: `${POPUP_WIDTH}px`,\n '--arrow-offset': arrowOffset,\n };\n };\n\n const handleMaskClick = () => {\n if (props.maskClosable) props.onClose();\n };\n\n return (\n <ZIndex type={ZIndexType.OVERLAY} open={props.visible()} blockScroll>\n <div class={cn('tr01', props.class?.mask)} onClick={handleMaskClick} />\n\n <div class={cn('tr02', props.class?.spotlight)} style={maskStyle()} />\n\n <div\n ref={popupRef}\n class={cn('tr03', props.class?.popup)}\n style={popupStyle()}\n data-placement={currentStep()?.placement ?? 'bottom'}\n >\n <div class={cn('tr04', props.class?.header)}>\n <span class=\"tr04-title\">{currentStep()?.title}</span>\n <Show when={props.showClose}>\n <button class=\"tr04-close\" onClick={props.onClose} aria-label=\"Close tour\">\n <X size={14} />\n </button>\n </Show>\n </div>\n\n <Show when={currentStep()?.content}>\n <div class={cn('tr05', props.class?.body)}>{currentStep()?.content}</div>\n </Show>\n\n <Show\n when={!currentStep()?.footer}\n fallback={<div class={cn('tr06', props.class?.footer)}>{currentStep()?.footer}</div>}\n >\n <div class={cn('tr06', props.class?.footer)}>\n <Show when={props.showProgress}>\n <div class={cn('tr07', props.class?.progress)}>\n <For each={props.steps}>\n {(_, i) => (\n <span class={cn('tr07-dot', i() === props.activeStep() && 'active')} />\n )}\n </For>\n </div>\n </Show>\n\n <div class=\"ml-auto flex gap-2\">\n <Show when={props.activeStep() > 0}>\n <button class=\"btn btn-sm btn-ghost\" onClick={props.onPrev}>\n {props.prevLabel}\n </button>\n </Show>\n <button\n class=\"btn btn-sm btn-primary\"\n onClick={isLastStep() ? props.onClose : props.onNext}\n >\n {isLastStep() ? props.doneLabel : props.nextLabel}\n </button>\n </div>\n </div>\n </Show>\n </div>\n </ZIndex>\n );\n};\n\nexport function createTour(tourProps: TourProps): [TourAPI, () => import('solid-js').JSX.Element] {\n const [activeStep, setActiveStep] = createSignal(0);\n const [visible, setVisible] = createSignal(false);\n\n function start(stepIndex = 0) {\n setActiveStep(stepIndex);\n setVisible(true);\n tourProps.steps[stepIndex]?.onEnter?.(stepIndex);\n tourProps.onStepChange?.(stepIndex);\n }\n\n function stop() {\n const step = activeStep();\n tourProps.steps[step]?.onLeave?.(step);\n setVisible(false);\n tourProps.onClose?.(step);\n }\n\n function next() {\n const cur = activeStep();\n tourProps.steps[cur]?.onLeave?.(cur);\n const nextStep = cur + 1;\n if (nextStep >= tourProps.steps.length) {\n setVisible(false);\n tourProps.onFinish?.();\n return;\n }\n setActiveStep(nextStep);\n if (!visible()) setVisible(true);\n tourProps.steps[nextStep]?.onEnter?.(nextStep);\n tourProps.onStepChange?.(nextStep);\n }\n\n function prev() {\n const cur = activeStep();\n if (cur <= 0) return;\n tourProps.steps[cur]?.onLeave?.(cur);\n const prevStep = cur - 1;\n setActiveStep(prevStep);\n if (!visible()) setVisible(true);\n tourProps.steps[prevStep]?.onEnter?.(prevStep);\n tourProps.onStepChange?.(prevStep);\n }\n\n function goTo(stepIndex: number) {\n if (stepIndex < 0 || stepIndex >= tourProps.steps.length) return;\n const cur = activeStep();\n tourProps.steps[cur]?.onLeave?.(cur);\n setActiveStep(stepIndex);\n if (!visible()) setVisible(true);\n tourProps.steps[stepIndex]?.onEnter?.(stepIndex);\n tourProps.onStepChange?.(stepIndex);\n }\n\n const api: TourAPI = {\n start,\n stop,\n next,\n prev,\n goTo,\n isActive: visible,\n currentStep: activeStep,\n };\n\n const TourRenderer = () => (\n <TourComponent\n {...tourProps}\n activeStep={activeStep}\n visible={visible}\n onClose={stop}\n onNext={next}\n onPrev={prev}\n />\n );\n\n return [api, TourRenderer];\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"z-index.types.js","names":[],"sources":["../../../src/components/z-index/z-index.types.ts"],"sourcesContent":["import { JSX } from 'solid-js';\n\nexport enum ZIndexType {\n DROPDOWN = 'dropdown',\n MODAL = 'modal',\n TOOLTIP = 'tooltip',\n TOAST = 'toast',\n POPOVER = 'popover',\n OVERLAY = 'overlay',\n}\n\ntype TypeDefault = {\n type: ZIndexType;\n startIndex?: never;\n};\n\ntype CustomType = {\n type: string;\n startIndex: number;\n};\n\nexport type ZIndexProps = {\n /** Controls Portal mounting. When false, no DOM is rendered and no z-index slot is occupied. */\n open: boolean;\n /** CSS position type for the wrapper div. Defaults to 'fixed'. */\n positioning?: 'fixed' | 'absolute';\n /** Inline position styles (top, left, right, bottom, width, height, etc.). */\n position?: JSX.CSSProperties;\n /** Additional class for the wrapper div. */\n class?: string;\n /** Callback that receives the computed z-index when the Portal mounts. */\n onZIndex?: (zIndex: number) => void;\n /**\n * When true, blocks scroll on document.body while this layer is open.\n * Scroll inside children remains functional.\n * Multiple concurrent layers with blockScroll share a reference counter,\n * so body scroll is only restored when all of them are closed.\n * Defaults to false.\n */\n blockScroll?: boolean;\n /**\n * When provided, this value is used directly as the z-index without going\n * through the auto-allocation registry. No slot is acquired or released.\n * Takes precedence over the type-based computation and startIndex.\n */\n customValue?: number;\n /**\n * When true, the Portal is always mounted in the DOM regardless of `open`.\n * Visibility is controlled via CSS (display:none when closed).\n * Z-index slot and scroll lock are still only active when `open` is true.\n */\n preRender?: boolean;\n} & (TypeDefault | CustomType);\n"],"mappings":"AAEA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,
|
|
1
|
+
{"version":3,"file":"z-index.types.js","names":[],"sources":["../../../src/components/z-index/z-index.types.ts"],"sourcesContent":["import { JSX } from 'solid-js';\n\nexport enum ZIndexType {\n DROPDOWN = 'dropdown',\n MODAL = 'modal',\n TOOLTIP = 'tooltip',\n TOAST = 'toast',\n POPOVER = 'popover',\n OVERLAY = 'overlay',\n}\n\ntype TypeDefault = {\n type: ZIndexType;\n startIndex?: never;\n};\n\ntype CustomType = {\n type: string;\n startIndex: number;\n};\n\nexport type ZIndexProps = {\n /** Controls Portal mounting. When false, no DOM is rendered and no z-index slot is occupied. */\n open: boolean;\n /** CSS position type for the wrapper div. Defaults to 'fixed'. */\n positioning?: 'fixed' | 'absolute';\n /** Inline position styles (top, left, right, bottom, width, height, etc.). */\n position?: JSX.CSSProperties;\n /** Additional class for the wrapper div. */\n class?: string;\n /** Callback that receives the computed z-index when the Portal mounts. */\n onZIndex?: (zIndex: number) => void;\n /**\n * When true, blocks scroll on document.body while this layer is open.\n * Scroll inside children remains functional.\n * Multiple concurrent layers with blockScroll share a reference counter,\n * so body scroll is only restored when all of them are closed.\n * Defaults to false.\n */\n blockScroll?: boolean;\n /**\n * When provided, this value is used directly as the z-index without going\n * through the auto-allocation registry. No slot is acquired or released.\n * Takes precedence over the type-based computation and startIndex.\n */\n customValue?: number;\n /**\n * When true, the Portal is always mounted in the DOM regardless of `open`.\n * Visibility is controlled via CSS (display:none when closed).\n * Z-index slot and scroll lock are still only active when `open` is true.\n */\n preRender?: boolean;\n} & (TypeDefault | CustomType);\n"],"mappings":"AAEA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,SAAW,WACX,EAAA,MAAQ,QACR,EAAA,QAAU,UACV,EAAA,MAAQ,QACR,EAAA,QAAU,UACV,EAAA,QAAU,gBACX"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "solid-tom-ui",
|
|
3
|
+
"version": "1.0.10",
|
|
4
|
+
"description": "SolidJS UI component library (Ant Design–inspired, Tailwind CSS + DaisyUI)",
|
|
5
|
+
"homepage": "https://solid-tom-ui.netlify.app/",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/truongtom1993/solid-tom-ui.git"
|
|
9
|
+
},
|
|
10
|
+
"author": "Truong Tom",
|
|
11
|
+
"type": "module",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"keywords": [
|
|
14
|
+
"solidjs",
|
|
15
|
+
"ui",
|
|
16
|
+
"components",
|
|
17
|
+
"tailwindcss",
|
|
18
|
+
"daisyui",
|
|
19
|
+
"ant-design"
|
|
20
|
+
],
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"import": "./lib.js",
|
|
24
|
+
"types": "./lib.d.ts"
|
|
25
|
+
},
|
|
26
|
+
"./styles": "./solid-ui.css"
|
|
27
|
+
},
|
|
28
|
+
"main": "./lib.js",
|
|
29
|
+
"module": "./lib.js",
|
|
30
|
+
"types": "./lib.d.ts",
|
|
31
|
+
"sideEffects": [
|
|
32
|
+
"**/*.css"
|
|
33
|
+
],
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"@tanstack/solid-table": ">=8.0.0",
|
|
36
|
+
"@tanstack/solid-virtual": ">=3.0.0",
|
|
37
|
+
"class-variance-authority": ">=0.7.0",
|
|
38
|
+
"clsx": ">=2.0.0",
|
|
39
|
+
"imask": ">=7.0.0",
|
|
40
|
+
"lucide-solid": ">=0.400.0",
|
|
41
|
+
"qrcode": ">=1.5.0",
|
|
42
|
+
"solid-js": ">=1.8.0",
|
|
43
|
+
"tailwind-merge": ">=3.0.0"
|
|
44
|
+
}
|
|
45
|
+
}
|