solid-tom-ui 1.0.5 → 1.0.7
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/README.md +246 -237
- package/components/avatar/avatar.js.map +1 -0
- package/components/badge/badge.js.map +1 -0
- package/components/breadcrumb/breadcrumb.js.map +1 -0
- package/components/button/button.js.map +1 -0
- package/components/carousel/carousel.js.map +1 -0
- package/components/chat-bubble/chatBubble.js.map +1 -0
- package/components/checkbox/checkbox.js.map +1 -0
- package/components/collapse/collapse.js.map +1 -0
- package/components/context-menu/context-menu.js.map +1 -0
- package/components/context-menu/context-menu.store.js.map +1 -0
- package/components/divider/divider.js.map +1 -0
- package/components/dropdown/dropdown.js.map +1 -0
- package/components/dropdown/dropdown.store.js.map +1 -0
- package/components/float-button/float-button.js.map +1 -0
- package/components/hover-3d-image/hover-3d-image.js.map +1 -0
- package/components/image-preview/image-preview.js.map +1 -0
- package/components/input/input.js.map +1 -0
- package/components/input/input.utils.js.map +1 -0
- package/components/input/variants/input-color.js.map +1 -0
- package/components/input/variants/input-date.js.map +1 -0
- package/components/input/variants/input-number.js.map +1 -0
- package/components/input/variants/input-otp.js.map +1 -0
- package/components/input/variants/input-password.js.map +1 -0
- package/components/input/variants/input-radio.js.map +1 -0
- package/components/input/variants/input-range.js.map +1 -0
- package/components/input/variants/input-text.js.map +1 -0
- package/components/input/variants/input-textarea.js.map +1 -0
- package/components/loading/loading.js.map +1 -0
- package/components/mansory/mansory.js.map +1 -0
- package/components/menu/menu.js.map +1 -0
- package/components/modal/modal.js.map +1 -0
- package/components/modal/modalContext.js.map +1 -0
- package/components/pagination/pagination.js.map +1 -0
- package/components/progress-bar/progress-bar.js.map +1 -0
- package/components/qr-code/qr-code.js.map +1 -0
- package/components/select/select.js.map +1 -0
- package/components/select-zone/select-zone.js.map +1 -0
- package/components/skeleton/skeleton.js.map +1 -0
- package/components/slider/slider.js.map +1 -0
- package/components/splitter/splitter.js.map +1 -0
- package/components/steps/steps.js.map +1 -0
- package/components/swap/swap.js.map +1 -0
- package/components/switch/switch.js.map +1 -0
- package/components/tab/tab.js.map +1 -0
- package/components/table/table.js.map +1 -0
- package/components/timeline/timeline.js.map +1 -0
- package/components/toast/icons/ErrorIcon.js.map +1 -0
- package/components/toast/icons/IconCircle.js.map +1 -0
- package/components/toast/icons/InfoIcon.js.map +1 -0
- package/components/toast/icons/LoaderIcon.js.map +1 -0
- package/components/toast/icons/SuccessIcon.js.map +1 -0
- package/components/toast/icons/WarningIcon.js.map +1 -0
- package/components/toast/toast.js.map +1 -0
- package/components/toast/toast.store.js.map +1 -0
- package/components/tooltip/tooltip.js.map +1 -0
- package/components/tour/tour.js.map +1 -0
- package/components/upload/upload.js.map +1 -0
- package/components/z-index/z-index.context.js.map +1 -0
- package/components/z-index/z-index.js.map +1 -0
- package/components/z-index/z-index.store.js.map +1 -0
- package/components/z-index/z-index.types.js.map +1 -0
- package/package.json +14 -96
- package/utils/cn.js.map +1 -0
- package/utils/element-tracker.js.map +1 -0
- package/utils/helper.js.map +1 -0
- package/utils/hoc.js.map +1 -0
- package/workspace.code-workspace +8 -0
- package/dist/components/avatar/avatar.js.map +0 -1
- package/dist/components/badge/badge.js.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.js.map +0 -1
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/carousel/carousel.js.map +0 -1
- package/dist/components/chat-bubble/chatBubble.js.map +0 -1
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/collapse/collapse.js.map +0 -1
- package/dist/components/context-menu/context-menu.js.map +0 -1
- package/dist/components/context-menu/context-menu.store.js.map +0 -1
- package/dist/components/divider/divider.js.map +0 -1
- package/dist/components/dropdown/dropdown.js.map +0 -1
- package/dist/components/dropdown/dropdown.store.js.map +0 -1
- package/dist/components/float-button/float-button.js.map +0 -1
- package/dist/components/hover-3d-image/hover-3d-image.js.map +0 -1
- package/dist/components/image-preview/image-preview.js.map +0 -1
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/input/input.utils.js.map +0 -1
- package/dist/components/input/variants/input-color.js.map +0 -1
- package/dist/components/input/variants/input-date.js.map +0 -1
- package/dist/components/input/variants/input-number.js.map +0 -1
- package/dist/components/input/variants/input-otp.js.map +0 -1
- package/dist/components/input/variants/input-password.js.map +0 -1
- package/dist/components/input/variants/input-radio.js.map +0 -1
- package/dist/components/input/variants/input-range.js.map +0 -1
- package/dist/components/input/variants/input-text.js.map +0 -1
- package/dist/components/input/variants/input-textarea.js.map +0 -1
- package/dist/components/loading/loading.js.map +0 -1
- package/dist/components/mansory/mansory.js.map +0 -1
- package/dist/components/menu/menu.js.map +0 -1
- package/dist/components/modal/modal.js.map +0 -1
- package/dist/components/modal/modalContext.js.map +0 -1
- package/dist/components/pagination/pagination.js.map +0 -1
- package/dist/components/progress-bar/progress-bar.js.map +0 -1
- package/dist/components/qr-code/qr-code.js.map +0 -1
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/select-zone/select-zone.js.map +0 -1
- package/dist/components/skeleton/skeleton.js.map +0 -1
- package/dist/components/slider/slider.js.map +0 -1
- package/dist/components/splitter/splitter.js.map +0 -1
- package/dist/components/steps/steps.js.map +0 -1
- package/dist/components/swap/swap.js.map +0 -1
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tab/tab.js.map +0 -1
- package/dist/components/table/table.js.map +0 -1
- package/dist/components/timeline/timeline.js.map +0 -1
- package/dist/components/toast/icons/ErrorIcon.js.map +0 -1
- package/dist/components/toast/icons/IconCircle.js.map +0 -1
- package/dist/components/toast/icons/InfoIcon.js.map +0 -1
- package/dist/components/toast/icons/LoaderIcon.js.map +0 -1
- package/dist/components/toast/icons/SuccessIcon.js.map +0 -1
- package/dist/components/toast/icons/WarningIcon.js.map +0 -1
- package/dist/components/toast/toast.js.map +0 -1
- package/dist/components/toast/toast.store.js.map +0 -1
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/tour/tour.js.map +0 -1
- package/dist/components/upload/upload.js.map +0 -1
- package/dist/components/z-index/z-index.context.js.map +0 -1
- package/dist/components/z-index/z-index.js.map +0 -1
- package/dist/components/z-index/z-index.store.js.map +0 -1
- package/dist/components/z-index/z-index.types.js.map +0 -1
- package/dist/utils/cn.js.map +0 -1
- package/dist/utils/element-tracker.js.map +0 -1
- package/dist/utils/helper.js.map +0 -1
- package/dist/utils/hoc.js.map +0 -1
- /package/{dist/components → components}/avatar/avatar.d.ts +0 -0
- /package/{dist/components → components}/avatar/avatar.d.ts.map +0 -0
- /package/{dist/components → components}/avatar/avatar.js +0 -0
- /package/{dist/components → components}/avatar/avatar.types.d.ts +0 -0
- /package/{dist/components → components}/avatar/avatar.types.d.ts.map +0 -0
- /package/{dist/components → components}/avatar/index.d.ts +0 -0
- /package/{dist/components → components}/avatar/index.d.ts.map +0 -0
- /package/{dist/components → components}/badge/badge.d.ts +0 -0
- /package/{dist/components → components}/badge/badge.d.ts.map +0 -0
- /package/{dist/components → components}/badge/badge.js +0 -0
- /package/{dist/components → components}/badge/badge.types.d.ts +0 -0
- /package/{dist/components → components}/badge/badge.types.d.ts.map +0 -0
- /package/{dist/components → components}/badge/index.d.ts +0 -0
- /package/{dist/components → components}/badge/index.d.ts.map +0 -0
- /package/{dist/components → components}/blank/blank.d.ts +0 -0
- /package/{dist/components → components}/blank/blank.d.ts.map +0 -0
- /package/{dist/components → components}/blank/index.d.ts +0 -0
- /package/{dist/components → components}/blank/index.d.ts.map +0 -0
- /package/{dist/components → components}/breadcrumb/breadcrumb.d.ts +0 -0
- /package/{dist/components → components}/breadcrumb/breadcrumb.d.ts.map +0 -0
- /package/{dist/components → components}/breadcrumb/breadcrumb.js +0 -0
- /package/{dist/components → components}/breadcrumb/index.d.ts +0 -0
- /package/{dist/components → components}/breadcrumb/index.d.ts.map +0 -0
- /package/{dist/components → components}/button/button.d.ts +0 -0
- /package/{dist/components → components}/button/button.d.ts.map +0 -0
- /package/{dist/components → components}/button/button.js +0 -0
- /package/{dist/components → components}/button/button.types.d.ts +0 -0
- /package/{dist/components → components}/button/button.types.d.ts.map +0 -0
- /package/{dist/components → components}/button/index.d.ts +0 -0
- /package/{dist/components → components}/button/index.d.ts.map +0 -0
- /package/{dist/components → components}/carousel/carousel.d.ts +0 -0
- /package/{dist/components → components}/carousel/carousel.d.ts.map +0 -0
- /package/{dist/components → components}/carousel/carousel.js +0 -0
- /package/{dist/components → components}/carousel/carousel.types.d.ts +0 -0
- /package/{dist/components → components}/carousel/carousel.types.d.ts.map +0 -0
- /package/{dist/components → components}/carousel/index.d.ts +0 -0
- /package/{dist/components → components}/carousel/index.d.ts.map +0 -0
- /package/{dist/components → components}/chat-bubble/chatBubble.d.ts +0 -0
- /package/{dist/components → components}/chat-bubble/chatBubble.d.ts.map +0 -0
- /package/{dist/components → components}/chat-bubble/chatBubble.js +0 -0
- /package/{dist/components → components}/chat-bubble/chatBubble.type.d.ts +0 -0
- /package/{dist/components → components}/chat-bubble/chatBubble.type.d.ts.map +0 -0
- /package/{dist/components → components}/chat-bubble/index.d.ts +0 -0
- /package/{dist/components → components}/chat-bubble/index.d.ts.map +0 -0
- /package/{dist/components → components}/checkbox/checkbox.d.ts +0 -0
- /package/{dist/components → components}/checkbox/checkbox.d.ts.map +0 -0
- /package/{dist/components → components}/checkbox/checkbox.js +0 -0
- /package/{dist/components → components}/checkbox/index.d.ts +0 -0
- /package/{dist/components → components}/checkbox/index.d.ts.map +0 -0
- /package/{dist/components → components}/collapse/collapse.d.ts +0 -0
- /package/{dist/components → components}/collapse/collapse.d.ts.map +0 -0
- /package/{dist/components → components}/collapse/collapse.js +0 -0
- /package/{dist/components → components}/collapse/collapse.types.d.ts +0 -0
- /package/{dist/components → components}/collapse/collapse.types.d.ts.map +0 -0
- /package/{dist/components → components}/collapse/index.d.ts +0 -0
- /package/{dist/components → components}/collapse/index.d.ts.map +0 -0
- /package/{dist/components → components}/context-menu/context-menu.d.ts +0 -0
- /package/{dist/components → components}/context-menu/context-menu.d.ts.map +0 -0
- /package/{dist/components → components}/context-menu/context-menu.js +0 -0
- /package/{dist/components → components}/context-menu/context-menu.store.d.ts +0 -0
- /package/{dist/components → components}/context-menu/context-menu.store.d.ts.map +0 -0
- /package/{dist/components → components}/context-menu/context-menu.store.js +0 -0
- /package/{dist/components → components}/context-menu/context-menu.types.d.ts +0 -0
- /package/{dist/components → components}/context-menu/context-menu.types.d.ts.map +0 -0
- /package/{dist/components → components}/context-menu/index.d.ts +0 -0
- /package/{dist/components → components}/context-menu/index.d.ts.map +0 -0
- /package/{dist/components → components}/diff/diff.d.ts +0 -0
- /package/{dist/components → components}/diff/diff.d.ts.map +0 -0
- /package/{dist/components → components}/diff/diff.js +0 -0
- /package/{dist/components → components}/diff/diff.js.map +0 -0
- /package/{dist/components → components}/diff/index.d.ts +0 -0
- /package/{dist/components → components}/diff/index.d.ts.map +0 -0
- /package/{dist/components → components}/divider/divider.d.ts +0 -0
- /package/{dist/components → components}/divider/divider.d.ts.map +0 -0
- /package/{dist/components → components}/divider/divider.js +0 -0
- /package/{dist/components → components}/divider/divider.types.d.ts +0 -0
- /package/{dist/components → components}/divider/divider.types.d.ts.map +0 -0
- /package/{dist/components → components}/divider/index.d.ts +0 -0
- /package/{dist/components → components}/divider/index.d.ts.map +0 -0
- /package/{dist/components → components}/drawer/drawer.d.ts +0 -0
- /package/{dist/components → components}/drawer/drawer.d.ts.map +0 -0
- /package/{dist/components → components}/drawer/drawer.js +0 -0
- /package/{dist/components → components}/drawer/drawer.js.map +0 -0
- /package/{dist/components → components}/drawer/drawer.types.d.ts +0 -0
- /package/{dist/components → components}/drawer/drawer.types.d.ts.map +0 -0
- /package/{dist/components → components}/drawer/index.d.ts +0 -0
- /package/{dist/components → components}/drawer/index.d.ts.map +0 -0
- /package/{dist/components → components}/dropdown/dropdown.d.ts +0 -0
- /package/{dist/components → components}/dropdown/dropdown.d.ts.map +0 -0
- /package/{dist/components → components}/dropdown/dropdown.js +0 -0
- /package/{dist/components → components}/dropdown/dropdown.store.d.ts +0 -0
- /package/{dist/components → components}/dropdown/dropdown.store.d.ts.map +0 -0
- /package/{dist/components → components}/dropdown/dropdown.store.js +0 -0
- /package/{dist/components → components}/dropdown/dropdown.types.d.ts +0 -0
- /package/{dist/components → components}/dropdown/dropdown.types.d.ts.map +0 -0
- /package/{dist/components → components}/dropdown/index.d.ts +0 -0
- /package/{dist/components → components}/dropdown/index.d.ts.map +0 -0
- /package/{dist/components → components}/float-button/float-button.d.ts +0 -0
- /package/{dist/components → components}/float-button/float-button.d.ts.map +0 -0
- /package/{dist/components → components}/float-button/float-button.js +0 -0
- /package/{dist/components → components}/float-button/float-button.types.d.ts +0 -0
- /package/{dist/components → components}/float-button/float-button.types.d.ts.map +0 -0
- /package/{dist/components → components}/float-button/index.d.ts +0 -0
- /package/{dist/components → components}/float-button/index.d.ts.map +0 -0
- /package/{dist/components → components}/hover-3d-image/hover-3d-example.d.ts +0 -0
- /package/{dist/components → components}/hover-3d-image/hover-3d-example.d.ts.map +0 -0
- /package/{dist/components → components}/hover-3d-image/hover-3d-image.d.ts +0 -0
- /package/{dist/components → components}/hover-3d-image/hover-3d-image.d.ts.map +0 -0
- /package/{dist/components → components}/hover-3d-image/hover-3d-image.js +0 -0
- /package/{dist/components → components}/hover-3d-image/index.d.ts +0 -0
- /package/{dist/components → components}/hover-3d-image/index.d.ts.map +0 -0
- /package/{dist/components → components}/image-preview/image-preview.d.ts +0 -0
- /package/{dist/components → components}/image-preview/image-preview.d.ts.map +0 -0
- /package/{dist/components → components}/image-preview/image-preview.js +0 -0
- /package/{dist/components → components}/image-preview/index.d.ts +0 -0
- /package/{dist/components → components}/image-preview/index.d.ts.map +0 -0
- /package/{dist/components → components}/indicator/index.d.ts +0 -0
- /package/{dist/components → components}/indicator/index.d.ts.map +0 -0
- /package/{dist/components → components}/indicator/indicator.d.ts +0 -0
- /package/{dist/components → components}/indicator/indicator.d.ts.map +0 -0
- /package/{dist/components → components}/indicator/indicator.js +0 -0
- /package/{dist/components → components}/indicator/indicator.js.map +0 -0
- /package/{dist/components → components}/indicator/indicator.types.d.ts +0 -0
- /package/{dist/components → components}/indicator/indicator.types.d.ts.map +0 -0
- /package/{dist/components → components}/input/index.d.ts +0 -0
- /package/{dist/components → components}/input/index.d.ts.map +0 -0
- /package/{dist/components → components}/input/input.d.ts +0 -0
- /package/{dist/components → components}/input/input.d.ts.map +0 -0
- /package/{dist/components → components}/input/input.js +0 -0
- /package/{dist/components → components}/input/input.types.d.ts +0 -0
- /package/{dist/components → components}/input/input.types.d.ts.map +0 -0
- /package/{dist/components → components}/input/input.utils.d.ts +0 -0
- /package/{dist/components → components}/input/input.utils.d.ts.map +0 -0
- /package/{dist/components → components}/input/input.utils.js +0 -0
- /package/{dist/components → components}/input/variants/input-color.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-color.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-color.js +0 -0
- /package/{dist/components → components}/input/variants/input-date.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-date.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-date.js +0 -0
- /package/{dist/components → components}/input/variants/input-number.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-number.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-number.js +0 -0
- /package/{dist/components → components}/input/variants/input-otp.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-otp.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-otp.js +0 -0
- /package/{dist/components → components}/input/variants/input-password.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-password.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-password.js +0 -0
- /package/{dist/components → components}/input/variants/input-radio.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-radio.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-radio.js +0 -0
- /package/{dist/components → components}/input/variants/input-range.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-range.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-range.js +0 -0
- /package/{dist/components → components}/input/variants/input-text.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-text.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-text.js +0 -0
- /package/{dist/components → components}/input/variants/input-textarea.d.ts +0 -0
- /package/{dist/components → components}/input/variants/input-textarea.d.ts.map +0 -0
- /package/{dist/components → components}/input/variants/input-textarea.js +0 -0
- /package/{dist/components → components}/loading/index.d.ts +0 -0
- /package/{dist/components → components}/loading/index.d.ts.map +0 -0
- /package/{dist/components → components}/loading/loading.d.ts +0 -0
- /package/{dist/components → components}/loading/loading.d.ts.map +0 -0
- /package/{dist/components → components}/loading/loading.js +0 -0
- /package/{dist/components → components}/mansory/index.d.ts +0 -0
- /package/{dist/components → components}/mansory/index.d.ts.map +0 -0
- /package/{dist/components → components}/mansory/mansory.d.ts +0 -0
- /package/{dist/components → components}/mansory/mansory.d.ts.map +0 -0
- /package/{dist/components → components}/mansory/mansory.js +0 -0
- /package/{dist/components → components}/mansory/mansory.types.d.ts +0 -0
- /package/{dist/components → components}/mansory/mansory.types.d.ts.map +0 -0
- /package/{dist/components → components}/menu/index.d.ts +0 -0
- /package/{dist/components → components}/menu/index.d.ts.map +0 -0
- /package/{dist/components → components}/menu/menu.d.ts +0 -0
- /package/{dist/components → components}/menu/menu.d.ts.map +0 -0
- /package/{dist/components → components}/menu/menu.data-example.d.ts +0 -0
- /package/{dist/components → components}/menu/menu.data-example.d.ts.map +0 -0
- /package/{dist/components → components}/menu/menu.js +0 -0
- /package/{dist/components → components}/menu/menu.types.d.ts +0 -0
- /package/{dist/components → components}/menu/menu.types.d.ts.map +0 -0
- /package/{dist/components → components}/modal/index.d.ts +0 -0
- /package/{dist/components → components}/modal/index.d.ts.map +0 -0
- /package/{dist/components → components}/modal/modal.d.ts +0 -0
- /package/{dist/components → components}/modal/modal.d.ts.map +0 -0
- /package/{dist/components → components}/modal/modal.js +0 -0
- /package/{dist/components → components}/modal/modalContext.d.ts +0 -0
- /package/{dist/components → components}/modal/modalContext.d.ts.map +0 -0
- /package/{dist/components → components}/modal/modalContext.js +0 -0
- /package/{dist/components → components}/pagination/index.d.ts +0 -0
- /package/{dist/components → components}/pagination/index.d.ts.map +0 -0
- /package/{dist/components → components}/pagination/pagination.d.ts +0 -0
- /package/{dist/components → components}/pagination/pagination.d.ts.map +0 -0
- /package/{dist/components → components}/pagination/pagination.js +0 -0
- /package/{dist/components → components}/pagination/pagination.types.d.ts +0 -0
- /package/{dist/components → components}/pagination/pagination.types.d.ts.map +0 -0
- /package/{dist/components → components}/progress-bar/index.d.ts +0 -0
- /package/{dist/components → components}/progress-bar/index.d.ts.map +0 -0
- /package/{dist/components → components}/progress-bar/progress-bar.d.ts +0 -0
- /package/{dist/components → components}/progress-bar/progress-bar.d.ts.map +0 -0
- /package/{dist/components → components}/progress-bar/progress-bar.js +0 -0
- /package/{dist/components → components}/progress-bar/progress-bar.types.d.ts +0 -0
- /package/{dist/components → components}/progress-bar/progress-bar.types.d.ts.map +0 -0
- /package/{dist/components → components}/qr-code/index.d.ts +0 -0
- /package/{dist/components → components}/qr-code/index.d.ts.map +0 -0
- /package/{dist/components → components}/qr-code/qr-code.d.ts +0 -0
- /package/{dist/components → components}/qr-code/qr-code.d.ts.map +0 -0
- /package/{dist/components → components}/qr-code/qr-code.js +0 -0
- /package/{dist/components → components}/qr-code/qr-code.types.d.ts +0 -0
- /package/{dist/components → components}/qr-code/qr-code.types.d.ts.map +0 -0
- /package/{dist/components → components}/rating/index.d.ts +0 -0
- /package/{dist/components → components}/rating/index.d.ts.map +0 -0
- /package/{dist/components → components}/rating/rating.d.ts +0 -0
- /package/{dist/components → components}/rating/rating.d.ts.map +0 -0
- /package/{dist/components → components}/rating/rating.js +0 -0
- /package/{dist/components → components}/rating/rating.js.map +0 -0
- /package/{dist/components → components}/rating/rating.types.d.ts +0 -0
- /package/{dist/components → components}/rating/rating.types.d.ts.map +0 -0
- /package/{dist/components → components}/select/index.d.ts +0 -0
- /package/{dist/components → components}/select/index.d.ts.map +0 -0
- /package/{dist/components → components}/select/select.d.ts +0 -0
- /package/{dist/components → components}/select/select.d.ts.map +0 -0
- /package/{dist/components → components}/select/select.js +0 -0
- /package/{dist/components → components}/select/select.types.d.ts +0 -0
- /package/{dist/components → components}/select/select.types.d.ts.map +0 -0
- /package/{dist/components → components}/select-zone/index.d.ts +0 -0
- /package/{dist/components → components}/select-zone/index.d.ts.map +0 -0
- /package/{dist/components → components}/select-zone/select-zone.d.ts +0 -0
- /package/{dist/components → components}/select-zone/select-zone.d.ts.map +0 -0
- /package/{dist/components → components}/select-zone/select-zone.js +0 -0
- /package/{dist/components → components}/select-zone/select-zone.types.d.ts +0 -0
- /package/{dist/components → components}/select-zone/select-zone.types.d.ts.map +0 -0
- /package/{dist/components → components}/skeleton/index.d.ts +0 -0
- /package/{dist/components → components}/skeleton/index.d.ts.map +0 -0
- /package/{dist/components → components}/skeleton/skeleton.d.ts +0 -0
- /package/{dist/components → components}/skeleton/skeleton.d.ts.map +0 -0
- /package/{dist/components → components}/skeleton/skeleton.js +0 -0
- /package/{dist/components → components}/slider/index.d.ts +0 -0
- /package/{dist/components → components}/slider/index.d.ts.map +0 -0
- /package/{dist/components → components}/slider/slider.d.ts +0 -0
- /package/{dist/components → components}/slider/slider.d.ts.map +0 -0
- /package/{dist/components → components}/slider/slider.js +0 -0
- /package/{dist/components → components}/slider/slider.types.d.ts +0 -0
- /package/{dist/components → components}/slider/slider.types.d.ts.map +0 -0
- /package/{dist/components → components}/splitter/index.d.ts +0 -0
- /package/{dist/components → components}/splitter/index.d.ts.map +0 -0
- /package/{dist/components → components}/splitter/splitter.d.ts +0 -0
- /package/{dist/components → components}/splitter/splitter.d.ts.map +0 -0
- /package/{dist/components → components}/splitter/splitter.js +0 -0
- /package/{dist/components → components}/splitter/splitter.types.d.ts +0 -0
- /package/{dist/components → components}/splitter/splitter.types.d.ts.map +0 -0
- /package/{dist/components → components}/steps/index.d.ts +0 -0
- /package/{dist/components → components}/steps/index.d.ts.map +0 -0
- /package/{dist/components → components}/steps/steps.d.ts +0 -0
- /package/{dist/components → components}/steps/steps.d.ts.map +0 -0
- /package/{dist/components → components}/steps/steps.js +0 -0
- /package/{dist/components → components}/swap/index.d.ts +0 -0
- /package/{dist/components → components}/swap/index.d.ts.map +0 -0
- /package/{dist/components → components}/swap/swap.d.ts +0 -0
- /package/{dist/components → components}/swap/swap.d.ts.map +0 -0
- /package/{dist/components → components}/swap/swap.js +0 -0
- /package/{dist/components → components}/switch/index.d.ts +0 -0
- /package/{dist/components → components}/switch/index.d.ts.map +0 -0
- /package/{dist/components → components}/switch/switch.d.ts +0 -0
- /package/{dist/components → components}/switch/switch.d.ts.map +0 -0
- /package/{dist/components → components}/switch/switch.js +0 -0
- /package/{dist/components → components}/switch/switch.types.d.ts +0 -0
- /package/{dist/components → components}/switch/switch.types.d.ts.map +0 -0
- /package/{dist/components → components}/tab/index.d.ts +0 -0
- /package/{dist/components → components}/tab/index.d.ts.map +0 -0
- /package/{dist/components → components}/tab/tab.d.ts +0 -0
- /package/{dist/components → components}/tab/tab.d.ts.map +0 -0
- /package/{dist/components → components}/tab/tab.js +0 -0
- /package/{dist/components → components}/tab/tab.types.d.ts +0 -0
- /package/{dist/components → components}/tab/tab.types.d.ts.map +0 -0
- /package/{dist/components → components}/table/index.d.ts +0 -0
- /package/{dist/components → components}/table/index.d.ts.map +0 -0
- /package/{dist/components → components}/table/index.js +0 -0
- /package/{dist/components → components}/table/table.d.ts +0 -0
- /package/{dist/components → components}/table/table.d.ts.map +0 -0
- /package/{dist/components → components}/table/table.js +0 -0
- /package/{dist/components → components}/table/table.types.d.ts +0 -0
- /package/{dist/components → components}/table/table.types.d.ts.map +0 -0
- /package/{dist/components → components}/text-rotate/index.d.ts +0 -0
- /package/{dist/components → components}/text-rotate/index.d.ts.map +0 -0
- /package/{dist/components → components}/text-rotate/text-rotate.d.ts +0 -0
- /package/{dist/components → components}/text-rotate/text-rotate.d.ts.map +0 -0
- /package/{dist/components → components}/text-rotate/text-rotate.js +0 -0
- /package/{dist/components → components}/text-rotate/text-rotate.js.map +0 -0
- /package/{dist/components → components}/timeline/index.d.ts +0 -0
- /package/{dist/components → components}/timeline/index.d.ts.map +0 -0
- /package/{dist/components → components}/timeline/timeline.d.ts +0 -0
- /package/{dist/components → components}/timeline/timeline.d.ts.map +0 -0
- /package/{dist/components → components}/timeline/timeline.js +0 -0
- /package/{dist/components → components}/timeline/timeline.types.d.ts +0 -0
- /package/{dist/components → components}/timeline/timeline.types.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/ErrorIcon.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/ErrorIcon.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/ErrorIcon.js +0 -0
- /package/{dist/components → components}/toast/icons/IconCircle.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/IconCircle.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/IconCircle.js +0 -0
- /package/{dist/components → components}/toast/icons/InfoIcon.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/InfoIcon.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/InfoIcon.js +0 -0
- /package/{dist/components → components}/toast/icons/LoaderIcon.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/LoaderIcon.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/LoaderIcon.js +0 -0
- /package/{dist/components → components}/toast/icons/SuccessIcon.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/SuccessIcon.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/SuccessIcon.js +0 -0
- /package/{dist/components → components}/toast/icons/WarningIcon.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/WarningIcon.d.ts.map +0 -0
- /package/{dist/components → components}/toast/icons/WarningIcon.js +0 -0
- /package/{dist/components → components}/toast/icons/index.d.ts +0 -0
- /package/{dist/components → components}/toast/icons/index.d.ts.map +0 -0
- /package/{dist/components → components}/toast/index.d.ts +0 -0
- /package/{dist/components → components}/toast/index.d.ts.map +0 -0
- /package/{dist/components → components}/toast/toast.d.ts +0 -0
- /package/{dist/components → components}/toast/toast.d.ts.map +0 -0
- /package/{dist/components → components}/toast/toast.js +0 -0
- /package/{dist/components → components}/toast/toast.store.d.ts +0 -0
- /package/{dist/components → components}/toast/toast.store.d.ts.map +0 -0
- /package/{dist/components → components}/toast/toast.store.js +0 -0
- /package/{dist/components → components}/toast/toast.type.d.ts +0 -0
- /package/{dist/components → components}/toast/toast.type.d.ts.map +0 -0
- /package/{dist/components → components}/tooltip/index.d.ts +0 -0
- /package/{dist/components → components}/tooltip/index.d.ts.map +0 -0
- /package/{dist/components → components}/tooltip/tooltip.d.ts +0 -0
- /package/{dist/components → components}/tooltip/tooltip.d.ts.map +0 -0
- /package/{dist/components → components}/tooltip/tooltip.js +0 -0
- /package/{dist/components → components}/tooltip/tooltip.types.d.ts +0 -0
- /package/{dist/components → components}/tooltip/tooltip.types.d.ts.map +0 -0
- /package/{dist/components → components}/tour/index.d.ts +0 -0
- /package/{dist/components → components}/tour/index.d.ts.map +0 -0
- /package/{dist/components → components}/tour/tour.d.ts +0 -0
- /package/{dist/components → components}/tour/tour.d.ts.map +0 -0
- /package/{dist/components → components}/tour/tour.js +0 -0
- /package/{dist/components → components}/tour/tour.types.d.ts +0 -0
- /package/{dist/components → components}/tour/tour.types.d.ts.map +0 -0
- /package/{dist/components → components}/upload/index.d.ts +0 -0
- /package/{dist/components → components}/upload/index.d.ts.map +0 -0
- /package/{dist/components → components}/upload/upload.d.ts +0 -0
- /package/{dist/components → components}/upload/upload.d.ts.map +0 -0
- /package/{dist/components → components}/upload/upload.js +0 -0
- /package/{dist/components → components}/upload/upload.types.d.ts +0 -0
- /package/{dist/components → components}/upload/upload.types.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/index.d.ts +0 -0
- /package/{dist/components → components}/z-index/index.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/z-index.context.d.ts +0 -0
- /package/{dist/components → components}/z-index/z-index.context.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/z-index.context.js +0 -0
- /package/{dist/components → components}/z-index/z-index.d.ts +0 -0
- /package/{dist/components → components}/z-index/z-index.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/z-index.js +0 -0
- /package/{dist/components → components}/z-index/z-index.store.d.ts +0 -0
- /package/{dist/components → components}/z-index/z-index.store.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/z-index.store.js +0 -0
- /package/{dist/components → components}/z-index/z-index.types.d.ts +0 -0
- /package/{dist/components → components}/z-index/z-index.types.d.ts.map +0 -0
- /package/{dist/components → components}/z-index/z-index.types.js +0 -0
- /package/{dist/lib.d.ts → lib.d.ts} +0 -0
- /package/{dist/lib.d.ts.map → lib.d.ts.map} +0 -0
- /package/{dist/lib.js → lib.js} +0 -0
- /package/{dist/solid-ui.css → solid-ui.css} +0 -0
- /package/{dist/type.d.ts → type.d.ts} +0 -0
- /package/{dist/type.d.ts.map → type.d.ts.map} +0 -0
- /package/{dist/utils → utils}/cn.d.ts +0 -0
- /package/{dist/utils → utils}/cn.d.ts.map +0 -0
- /package/{dist/utils → utils}/cn.js +0 -0
- /package/{dist/utils → utils}/element-tracker.js +0 -0
- /package/{dist/utils → utils}/helper.d.ts +0 -0
- /package/{dist/utils → utils}/helper.d.ts.map +0 -0
- /package/{dist/utils → utils}/helper.js +0 -0
- /package/{dist/utils → utils}/hoc.js +0 -0
package/README.md
CHANGED
|
@@ -1,237 +1,246 @@
|
|
|
1
|
-
# solid-ui
|
|
2
|
-
|
|
3
|
-
> A
|
|
4
|
-
|
|
5
|
-
Built on **Tailwind CSS 4** and **DaisyUI 5**,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
import
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
import
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
--color-
|
|
93
|
-
--color-
|
|
94
|
-
|
|
95
|
-
--color-
|
|
96
|
-
--color-
|
|
97
|
-
|
|
98
|
-
--color-
|
|
99
|
-
--color-
|
|
100
|
-
|
|
101
|
-
--color-
|
|
102
|
-
--color-
|
|
103
|
-
|
|
104
|
-
--color-
|
|
105
|
-
--color-
|
|
106
|
-
|
|
107
|
-
--color-
|
|
108
|
-
--color-
|
|
109
|
-
|
|
110
|
-
--
|
|
111
|
-
--
|
|
112
|
-
|
|
113
|
-
--
|
|
114
|
-
--
|
|
115
|
-
|
|
116
|
-
--
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
|
139
|
-
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
|
148
|
-
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
158
|
-
| `
|
|
159
|
-
| `
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
|
166
|
-
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
179
|
-
| `
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
|
187
|
-
|
|
188
|
-
| `
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
###
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
```tsx
|
|
214
|
-
|
|
215
|
-
<
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
/>
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","names":["cn","cva","VariantProps","Component","createMemo","For","Match","mergeProps","ParentComponent","Show","Switch","AvatarGroup","AvatarProps","variants","mask","heart","hexagon","squircle","square","circle","status","online","offline","AvatarVariantsProps","Avatar","p","ReturnType","const","effect","_el$","_tmpl$","_$insert","_$createComponent","children","when","placeholder","Element","image","_el$2","_c$","_$memo","_el$3","_tmpl$2","_$effect","_$setAttribute","_p$","_v$","class","avatar","_v$2","width","e","_$className","t","_$setStyleProperty","undefined","root","Group","props","renderWidth","_el$4","each","avatars","_$mergeProps","counter","_el$5","_tmpl$3","_el$6","firstChild","_el$7","_v$3","_v$4","_v$5","a","group"],"sources":["../../../src/components/avatar/avatar.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, VariantProps } from 'class-variance-authority';\r\nimport {\r\n Component,\r\n createMemo,\r\n For,\r\n Match,\r\n mergeProps,\r\n ParentComponent,\r\n Show,\r\n Switch,\r\n} from 'solid-js';\r\nimport type { AvatarGroup, AvatarProps } from './avatar.types';\r\n\r\nconst variants = cva('', {\r\n variants: {\r\n mask: {\r\n heart: 'mask mask-heart',\r\n hexagon: 'mask mask-hexagon',\r\n squircle: 'mask mask-squircle',\r\n square: 'rounded-lg',\r\n circle: 'rounded-full',\r\n },\r\n status: {\r\n online: 'avatar-online',\r\n offline: 'avatar-offline',\r\n },\r\n },\r\n});\r\n\r\nexport type AvatarVariantsProps = VariantProps<typeof variants>;\r\n\r\nexport function Avatar(p: AvatarProps): ReturnType<Component<AvatarProps>> {\r\n p = mergeProps(\r\n {\r\n mask: 'circle' as const,\r\n effect: true,\r\n },\r\n p,\r\n );\r\n\r\n return (\r\n <div\r\n class={cn(\r\n 'avatar',\r\n p.placeholder && 'avatar-placeholder',\r\n variants({ status: p.status }),\r\n p.effect && 'avatar-effect',\r\n p.class?.root,\r\n )}\r\n >\r\n <Switch>\r\n <Match when={p.placeholder}>{p.placeholder as Element}</Match>\r\n <Match when={p.image}>\r\n <div\r\n class={cn(variants({ mask: p.mask }), p.class?.avatar)}\r\n style={{ width: typeof p.width === 'string' ? p.width : `${p.width}px` }}\r\n >\r\n {p.image && <img src={p.image} />}\r\n </div>\r\n </Match>\r\n </Switch>\r\n </div>\r\n );\r\n}\r\n\r\nAvatar.Group = (props: AvatarGroup): ReturnType<ParentComponent> => {\r\n const renderWidth = createMemo(() => {\r\n return typeof props.width === 'string' ? props.width : `${props.width}px`;\r\n });\r\n return (\r\n <div class={cn('avatar-group -space-x-6', props.class?.group)}>\r\n <For each={props.avatars}>{avatar => <Avatar {...avatar} width={renderWidth()} />}</For>\r\n <Show when={props.counter}>\r\n <div class={cn('avatar avatar-placeholder', props.class?.placeholder)}>\r\n <div\r\n class={cn('bg-neutral text-neutral-content', props.class?.counter)}\r\n style={{\r\n width: renderWidth(),\r\n }}\r\n >\r\n +{props.counter}\r\n </div>\r\n </div>\r\n </Show>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":["cn","cva","VariantProps","Component","mergeProps","BadgeProps","getColor","variants","size","xs","sm","md","lg","xl","outline","soft","dashed","BadgeVariantsProps","Badge","p","color","content","const","_el$","_tmpl$","_$insert","_c$","_$memo","_el$2","_tmpl$2","_$effect","_$className","class","child","_el$3","Element","root"],"sources":["../../../src/components/badge/badge.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, VariantProps } from 'class-variance-authority';\r\nimport { Component, mergeProps } from 'solid-js';\r\nimport type { BadgeProps } from './badge.types';\r\nimport { getColor } from '@/utils/helper';\r\n\r\nconst variants = cva('', {\r\n variants: {\r\n size: {\r\n '3xs': 'bad-3xs',\r\n '2xs': 'bad-2xs',\r\n xs: 'bad-xs',\r\n sm: 'bad-sm',\r\n md: 'bad-md',\r\n lg: 'bad-lg',\r\n xl: 'bad-xl',\r\n '2xl': 'bad-2xl',\r\n '3xl': 'bad-3xl',\r\n },\r\n variants: {\r\n outline: 'bad03',\r\n soft: 'bad02',\r\n dashed: 'bad04',\r\n },\r\n },\r\n});\r\nexport type BadgeVariantsProps = VariantProps<typeof variants>;\r\n\r\nexport const Badge: Component<BadgeProps> = p => {\r\n p = mergeProps({ size: 'md', color: 'primary', content: 'lorem', variants: 'soft' } as const, p);\r\n\r\n return (\r\n <div\r\n class={cn(\r\n 'bad00',\r\n variants({ size: p.size, variants: p.variants }),\r\n getColor(p.color),\r\n p.class?.root,\r\n )}\r\n >\r\n {typeof p.content === 'string' ? (\r\n <span class={cn('bad01', p.class?.child)}>{p.content}</span>\r\n ) : (\r\n <div class={p.class?.child}>{p.content as Element}</div>\r\n )}\r\n </div>\r\n );\r\n};\r\n"],"mappings":"qSAMMO,EAAWN,EAAI,GAAI,CACvBM,SAAU,CACRC,KAAM,CACJ,MAAO,UACP,MAAO,UACPC,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,SACJ,MAAO,UACP,MAAO,UACR,CACDN,SAAU,CACRO,QAAS,QACTC,KAAM,QACNC,OAAQ,QACV,CACF,CACD,CAAC,CAGWE,EAA+BC,IAC1CA,EAAIf,EAAW,CAAEI,KAAM,KAAMY,MAAO,UAAWC,QAAS,QAASd,SAAU,OAAQ,CAAWY,EAAE,MAEhG,CAAA,IAAAI,EAAAC,GAAA,CAOK,OAPLC,EAAAF,OAAA,CAAA,IAAAG,EAAAC,MASK,OAAOR,EAAEE,SAAY,SAAQ,CAAA,UAA7BK,GAAA,MAAA,CAAA,IAAAE,EAAAC,GAAA,CACyC,OADzCJ,EAAAG,MAC4CT,EAAEE,QAAO,CAAAS,MAAAC,EAAAH,EAAvC5B,EAAG,QAASmB,EAAEa,OAAOC,MAAM,CAAA,CAAA,CAAAL,KAAA,MAAA,CAAA,IAAAM,EAAAV,GAAA,CAEd,OAFcC,EAAAS,MAEXf,EAAEE,QAAkB,CAAAS,MAAAC,EAAAG,EAArCf,EAAEa,OAAOC,MAAK,CAAA,CAAAC,KAC3B,IAAA,CAAA,CAAAJ,MAAAC,EAAAR,EAXMvB,EACL,QACAO,EAAS,CAAEC,KAAMW,EAAEX,KAAMD,SAAUY,EAAEZ,SAAU,CAAC,CAChDD,EAASa,EAAEC,MAAM,CACjBD,EAAEa,OAAOI,KACV,CAAA,CAAA,CAAAb,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.js","names":["SolidComponent","cn","Component","createMemo","For","BreadcrumbProps","items","class","Partial","Record","separate","onItemClick","e","MouseEvent","Breadcrumb","p","length","_el$","_tmpl$","_el$2","firstChild","$$click","target","tagName","_$insert","_$createComponent","each","children","item","index","_el$3","_tmpl$2","Element","_$effect","_$className","_$memo","root","_$delegateEvents"],"sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { SolidComponent } from '@/type';\r\nimport { cn } from '@/utils/cn';\r\nimport { Component, createMemo, For } from 'solid-js';\r\n\r\ntype BreadcrumbProps = {\r\n items: SolidComponent[];\r\n class?: Partial<Record<'root' | 'item', string>>;\r\n separate?: SolidComponent;\r\n onItemClick?: (e: MouseEvent) => void;\r\n};\r\nexport const Breadcrumb: Component<BreadcrumbProps> = p => {\r\n const length = createMemo(() => p.items.length - 1);\r\n return (\r\n <div class={cn('breadcrumbs', p.separate && 'separate', p.class?.root)}>\r\n <ul\r\n onClick={e => {\r\n if (e.target.tagName !== 'UL' && p.onItemClick) {\r\n p.onItemClick(e);\r\n }\r\n }}\r\n >\r\n <For each={p.items}>\r\n {(item, index) => {\r\n return (\r\n <>\r\n <li class={p.class?.item}>{item as Element}</li>\r\n {index() < length() && p.separate}\r\n </>\r\n );\r\n }}\r\n </For>\r\n </ul>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"yPAUac,EAAyCC,GAAK,CACzD,IAAMC,EAASb,MAAiBY,EAAET,MAAMU,OAAS,EAAE,CACnD,WAAA,CAAA,IAAAC,EAAAC,GAAA,CAAAC,EAAAF,EAAAG,WACwE,MADxED,GAAAE,QAGeT,GAAK,CACRA,EAAEU,OAAOC,UAAY,MAAQR,EAAEJ,aACjCI,EAAEJ,YAAYC,EAAE,EAEnBY,EAAAL,EAAAM,EAEArB,EAAG,CAAA,IAACsB,MAAI,CAAA,OAAEX,EAAET,OAAKqB,UACdC,EAAMC,IACN,MAAA,CAAA,IAAAC,EAAAC,GAAA,CAE4B,OAF5BP,EAAAM,EAE+BF,EAAe,CAAAK,MAAAC,EAAAJ,EAA/Bf,EAAER,OAAOqB,KAAI,CAAA,CAAAE,KAAA,CAAAK,MACvBA,MAAAN,GAAO,CAAGb,GAAQ,CAAA,EAAA,EAAID,EAAEL,SAAQ,CAAA,CAGtC,CAAA,CAAA,CAAAuB,MAAAC,EAAAjB,EAhBKhB,EAAG,cAAec,EAAEL,UAAY,WAAYK,EAAER,OAAO6B,KAAK,CAAA,CAAA,CAAAnB,KAAA,EAqBxEoB,EAAA,CAAA,QAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","names":["cn","cva","VariantProps","Component","Match","mergeProps","splitProps","Switch","ButtonProps","Opacity","from","to","rippleAnimate","target","HTMLButtonElement","duration","opacity","animate","boxShadow","easing","variants","size","xs","sm","md","lg","xl","color","neutral","primary","secondary","accent","info","success","warning","error","variant","default","simple","solid","outline","dashed","soft","text","link","shape","circle","square","loadingType","dots","ring","ball","bars","infinity","spinner","ButtonVariantsProps","Button","props","merge","const","disabled","loading","class","iconPlacement","loadingOptions","type","isShape","p","nativeProps","handleClick","e","MouseEvent","onClick","currentTarget","_el$","_tmpl$2","_$spread","_$mergeProps","icon","_$insert","_$createComponent","children","when","_el$2","_tmpl$","_$effect","_p$","_v$","_v$2","_$className","t","_$setStyleProperty","undefined","_$memo","Element","_c$","_el$3","_tmpl$3"],"sources":["../../../src/components/button/button.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\nimport { Component, Match, mergeProps, splitProps, Switch } from 'solid-js';\r\nimport { ButtonProps } from './button.types';\r\n\r\ntype Opacity = {\r\n from: string;\r\n to: string;\r\n};\r\nexport function rippleAnimate(\r\n target: HTMLButtonElement,\r\n duration: number = 300,\r\n opacity: Opacity = { from: '20%', to: '10%' },\r\n) {\r\n if (!target) return;\r\n target.animate(\r\n [\r\n { boxShadow: `0 0 0 0 rgba(from var(--btn-color) r g b / ${opacity.from})` },\r\n { boxShadow: `0 0 0 6px rgba(from var(--btn-color) r g b / ${opacity.to})` },\r\n ],\r\n {\r\n duration,\r\n easing: 'linear',\r\n },\r\n );\r\n}\r\nconst variants = cva('', {\r\n variants: {\r\n size: {\r\n '4xs': 'bt-4xs',\r\n '3xs': 'bt-3xs',\r\n '2xs': 'bt-2xs',\r\n xs: 'bt-xs',\r\n sm: 'bt-sm',\r\n md: 'bt-md',\r\n lg: 'bt-lg',\r\n xl: 'bt-xl',\r\n '2xl': 'bt-2xl',\r\n '3xl': 'bt-3xl',\r\n '4xl': 'bt-4xl',\r\n },\r\n color: {\r\n neutral: 'btn-neutral',\r\n primary: 'btn-primary',\r\n secondary: 'btn-secondary',\r\n accent: 'btn-accent',\r\n info: 'btn-info',\r\n success: 'btn-success',\r\n warning: 'btn-warning',\r\n error: 'btn-error',\r\n },\r\n variant: {\r\n default: 'btn-default',\r\n simple: 'btn-default border-transparent',\r\n solid: '',\r\n outline: 'btn-outline',\r\n dashed: 'btn-dash',\r\n soft: 'btn-soft',\r\n text: 'btn-ghost',\r\n link: 'btn-link',\r\n },\r\n shape: {\r\n circle: 'aspect-square rounded-full',\r\n square: 'aspect-square',\r\n },\r\n loadingType: {\r\n dots: 'loading-dots',\r\n ring: 'loading-ring',\r\n ball: 'loading-ball',\r\n bars: 'loading-bars',\r\n infinity: 'loading-infinity',\r\n spinner: 'loading-spinner',\r\n },\r\n },\r\n});\r\nexport type ButtonVariantsProps = VariantProps<typeof variants>;\r\n\r\nexport const Button: Component<ButtonProps> = props => {\r\n const merge = mergeProps(\r\n {\r\n size: 'sm' as const,\r\n disabled: false,\r\n loading: false,\r\n color: 'secondary' as const,\r\n class: void 0,\r\n iconPlacement: 'start',\r\n loadingOptions: {\r\n type: 'spinner' as const,\r\n size: 20,\r\n },\r\n animate: 'ripple' as const,\r\n },\r\n props,\r\n );\r\n const isShape = merge.shape === 'square' || merge.shape === 'circle';\r\n const [p, nativeProps] = splitProps(merge, [\r\n 'size',\r\n 'iconPlacement',\r\n 'loading',\r\n 'variant',\r\n 'color',\r\n 'shape',\r\n 'icon',\r\n 'children',\r\n 'class',\r\n 'disabled',\r\n 'onClick',\r\n 'loadingOptions',\r\n 'animate',\r\n ]);\r\n const handleClick = (e: MouseEvent) => {\r\n p.onClick?.(e);\r\n if (p.animate === 'ripple') {\r\n const target = e.currentTarget as HTMLButtonElement;\r\n switch (p.variant) {\r\n case 'default':\r\n case 'simple':\r\n case 'link':\r\n return rippleAnimate(target, 300, { from: '8%', to: '2%' });\r\n default:\r\n return rippleAnimate(target);\r\n }\r\n }\r\n };\r\n return (\r\n <button\r\n {...nativeProps}\r\n class={cn(\r\n 'sbt',\r\n variants({ size: p.size, color: p.color, variant: p.variant, shape: p.shape }),\r\n !isShape && p.icon && (p.iconPlacement === 'start' ? 'flex-row' : 'flex-row-reverse'),\r\n p.icon && '[&_svg]:shrink-0',\r\n p.animate !== 'translate' && 'active:translate-none',\r\n p.class,\r\n )}\r\n {...(p.shape && { 'data-shape': p.shape })}\r\n onClick={handleClick}\r\n disabled={p.disabled || p.loading}\r\n >\r\n <Switch>\r\n <Match when={p.loading}>\r\n <span\r\n class={cn('loading shrink-0', variants({ loadingType: p.loadingOptions?.type }))}\r\n style={{ width: `${p.loadingOptions?.size}px` }}\r\n ></span>\r\n </Match>\r\n\r\n <Match when={!p.loading && p.icon}>{p.icon! as Element}</Match>\r\n </Switch>\r\n {!isShape && p.children && <span class=\"mb-px\">{p.children}</span>}\r\n </button>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel.js","names":["cn","ChevronLeft","ChevronRight","Component","createEffect","createMemo","createSignal","For","mergeProps","on","onCleanup","onMount","Show","CarouselFunction","CarouselProps","VARIANTS","horizontal","vertical","Carousel","_p","p","arrows","autoplay","autoplaySpeed","dots","infinite","effect","const","currentIndex","setCurrentIndex","isPlaying","setIsPlaying","isAnimating","setIsAnimating","containerRef","HTMLDivElement","slidesRef","autoplayTimer","ReturnType","setInterval","totalSlides","images","length","transitionDuration","clearAutoplay","clearInterval","undefined","animateTransition","from","to","slides","querySelectorAll","fromSlide","HTMLElement","toSlide","direction","translateProp","style","zIndex","transition","opacity","offsetHeight","transitionValue","setTimeout","forEach","slide","index","el","size","offsetWidth","isWrapping","actualDirection","transform","goToSlide","skipAnimation","current","targetIndex","beforeChange","afterChange","startAutoplay","next","prev","moveTo","pause","play","exportCarouselFunction","carouselFunction","setCarouselFunction","stopAutoplay","handleSlideClick","onClickSlide","showPrevArrow","showNextArrow","isVertical","dotPlacementClass","dotPlacement","hasDotDuration","dotDuration","_el$","_tmpl$4","_el$2","firstChild","_ref$","_$use","_ref$2","_$insert","_$createComponent","each","children","image","_el$6","_tmpl$5","_el$7","$$click","_$spread","_$mergeProps","class","_$effect","_$className","item","when","_el$3","_tmpl$","_el$4","_tmpl$2","_$memo","_el$5","_tmpl$3","_","_el$8","_tmpl$7","_tmpl$6","_p$","_v$3","_v$4","e","t","_$setAttribute","_v$","root","_v$2","_$setStyleProperty","_$delegateEvents"],"sources":["../../../src/components/carousel/carousel.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport ChevronLeft from 'lucide-solid/icons/chevron-left';\r\nimport ChevronRight from 'lucide-solid/icons/chevron-right';\r\nimport type { Component } from 'solid-js';\r\nimport {\r\n createEffect,\r\n createMemo,\r\n createSignal,\r\n For,\r\n mergeProps,\r\n on,\r\n onCleanup,\r\n onMount,\r\n Show,\r\n} from 'solid-js';\r\nimport type { CarouselFunction, CarouselProps } from './carousel.types';\r\nconst VARIANTS = {\r\n horizontal: 'car17',\r\n vertical: 'car18',\r\n};\r\n\r\nexport const Carousel: Component<CarouselProps> = _p => {\r\n const p = mergeProps(\r\n {\r\n arrows: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n dots: true,\r\n infinite: true,\r\n effect: 'scrollx' as const,\r\n },\r\n _p,\r\n );\r\n\r\n const [currentIndex, setCurrentIndex] = createSignal(0);\r\n const [isPlaying, setIsPlaying] = createSignal(!!p.autoplay);\r\n const [isAnimating, setIsAnimating] = createSignal(false);\r\n\r\n let containerRef: HTMLDivElement | undefined;\r\n let slidesRef: HTMLDivElement | undefined;\r\n let autoplayTimer: ReturnType<typeof setInterval> | undefined;\r\n\r\n const totalSlides = () => p.images.length;\r\n\r\n // Animation duration for slide transitions\r\n const transitionDuration = 400;\r\n\r\n // Clear autoplay timer\r\n const clearAutoplay = () => {\r\n if (autoplayTimer) {\r\n clearInterval(autoplayTimer);\r\n autoplayTimer = undefined;\r\n }\r\n };\r\n\r\n // Animate slide transition using CSS transitions\r\n const animateTransition = (from: number, to: number) => {\r\n if (!slidesRef || isAnimating()) return;\r\n\r\n setIsAnimating(true);\r\n\r\n const slides = slidesRef.querySelectorAll('.car03');\r\n const fromSlide = slides[from] as HTMLElement;\r\n const toSlide = slides[to] as HTMLElement;\r\n\r\n if (!fromSlide || !toSlide) {\r\n setIsAnimating(false);\r\n return;\r\n }\r\n\r\n const vertical = p.direction === 'vertical';\r\n const translateProp = vertical ? 'translateY' : 'translateX';\r\n\r\n if (p.effect === 'fade') {\r\n // Fade effect\r\n fromSlide.style.zIndex = '1';\r\n toSlide.style.zIndex = '2';\r\n toSlide.style.transition = 'none';\r\n fromSlide.style.transition = 'none';\r\n toSlide.style.opacity = '0';\r\n\r\n // Force reflow to apply initial state\r\n void toSlide.offsetHeight;\r\n\r\n // Apply CSS transition and target values\r\n const transitionValue = 'opacity var(--carousel-transition-duration) ease-in-out';\r\n fromSlide.style.transition = transitionValue;\r\n toSlide.style.transition = transitionValue;\r\n\r\n fromSlide.style.opacity = '0';\r\n toSlide.style.opacity = '1';\r\n\r\n setTimeout(() => {\r\n slides.forEach((slide, index) => {\r\n const el = slide as HTMLElement;\r\n el.style.transition = 'none';\r\n el.style.opacity = index === to ? '1' : '0';\r\n el.style.zIndex = index === to ? '1' : '0';\r\n });\r\n setIsAnimating(false);\r\n }, transitionDuration);\r\n } else {\r\n // Scrollx effect (default)\r\n // Use pixel-based transforms with 1px overlap to eliminate sub-pixel gap\r\n const size = vertical ? slidesRef.offsetHeight : slidesRef.offsetWidth;\r\n const direction = to > from ? -1 : 1;\r\n const isWrapping =\r\n (from === 0 && to === totalSlides() - 1) || (from === totalSlides() - 1 && to === 0);\r\n\r\n let actualDirection = direction;\r\n if (isWrapping) {\r\n actualDirection = from === 0 ? 1 : -1;\r\n }\r\n\r\n // Position the target slide without transition (1px overlap to prevent gap)\r\n toSlide.style.transition = 'none';\r\n fromSlide.style.transition = 'none';\r\n toSlide.style.transform = `${translateProp}(${-actualDirection * (size - 1)}px)`;\r\n toSlide.style.opacity = '1';\r\n\r\n // Force reflow to apply initial position\r\n void toSlide.offsetHeight;\r\n\r\n // Apply CSS transition and target values\r\n const transitionValue = 'transform var(--carousel-transition-duration) ease-in-out';\r\n fromSlide.style.transition = transitionValue;\r\n toSlide.style.transition = transitionValue;\r\n\r\n fromSlide.style.transform = `${translateProp}(${actualDirection * size}px)`;\r\n toSlide.style.transform = `${translateProp}(0px)`;\r\n\r\n setTimeout(() => {\r\n slides.forEach((slide, index) => {\r\n const el = slide as HTMLElement;\r\n el.style.transition = 'none';\r\n if (index === to) {\r\n el.style.transform = `${translateProp}(0px)`;\r\n el.style.opacity = '1';\r\n } else {\r\n el.style.transform = `${translateProp}(${size}px)`;\r\n el.style.opacity = '0';\r\n }\r\n });\r\n setIsAnimating(false);\r\n }, transitionDuration);\r\n }\r\n };\r\n\r\n // Go to specific slide\r\n const goToSlide = (index: number, skipAnimation = false) => {\r\n if (isAnimating() && !skipAnimation) return;\r\n\r\n const current = currentIndex();\r\n let targetIndex = index;\r\n\r\n // Handle boundaries\r\n if (p.infinite) {\r\n if (targetIndex < 0) targetIndex = totalSlides() - 1;\r\n if (targetIndex >= totalSlides()) targetIndex = 0;\r\n } else {\r\n if (targetIndex < 0) targetIndex = 0;\r\n if (targetIndex >= totalSlides()) targetIndex = totalSlides() - 1;\r\n }\r\n\r\n if (targetIndex === current && !skipAnimation) return;\r\n\r\n p.beforeChange?.(current, targetIndex);\r\n\r\n if (skipAnimation) {\r\n setCurrentIndex(targetIndex);\r\n p.afterChange?.(targetIndex);\r\n } else {\r\n animateTransition(current, targetIndex);\r\n setCurrentIndex(targetIndex);\r\n p.afterChange?.(targetIndex);\r\n }\r\n\r\n // Reset autoplay timer and progress animation when slide changes\r\n if (isPlaying() && p.autoplay) {\r\n clearAutoplay();\r\n startAutoplay();\r\n }\r\n };\r\n\r\n // Navigation functions\r\n const next = () => goToSlide(currentIndex() + 1);\r\n const prev = () => goToSlide(currentIndex() - 1);\r\n const moveTo = (index: number) => goToSlide(index);\r\n\r\n const pause = () => {\r\n setIsPlaying(false);\r\n clearAutoplay();\r\n return {};\r\n };\r\n\r\n const play = () => {\r\n if (!p.autoplay) return {};\r\n setIsPlaying(true);\r\n startAutoplay();\r\n return {};\r\n };\r\n\r\n // Start autoplay\r\n const startAutoplay = () => {\r\n if (!p.autoplay || !isPlaying()) return;\r\n\r\n clearAutoplay();\r\n\r\n autoplayTimer = setInterval(() => {\r\n if (!isAnimating()) {\r\n next();\r\n }\r\n }, p.autoplaySpeed);\r\n };\r\n\r\n // Export carousel functions\r\n createEffect(function exportCarouselFunction() {\r\n const carouselFunction: CarouselFunction = {\r\n next,\r\n prev,\r\n moveTo,\r\n pause,\r\n play,\r\n };\r\n p.setCarouselFunction?.(carouselFunction);\r\n });\r\n\r\n // Handle autoplay\r\n createEffect(\r\n on(\r\n () => [p.autoplay, isPlaying()],\r\n () => {\r\n if (p.autoplay && isPlaying()) {\r\n startAutoplay();\r\n } else {\r\n clearAutoplay();\r\n }\r\n },\r\n ),\r\n );\r\n\r\n // Initialize slides\r\n onMount(() => {\r\n if (slidesRef) {\r\n const slides = slidesRef.querySelectorAll('.car03');\r\n const vertical = p.direction === 'vertical';\r\n const translateProp = vertical ? 'translateY' : 'translateX';\r\n\r\n slides.forEach((slide, index) => {\r\n const el = slide as HTMLElement;\r\n if (p.effect === 'fade') {\r\n el.style.opacity = index === 0 ? '1' : '0';\r\n el.style.zIndex = index === 0 ? '1' : '0';\r\n } else {\r\n el.style.transform = index === 0 ? `${translateProp}(0%)` : `${translateProp}(100%)`;\r\n el.style.opacity = index === 0 ? '1' : '0';\r\n }\r\n });\r\n }\r\n\r\n if (p.autoplay) {\r\n startAutoplay();\r\n }\r\n });\r\n\r\n // Cleanup\r\n onCleanup(function stopAutoplay() {\r\n clearAutoplay();\r\n });\r\n\r\n // Handle click on slide\r\n const handleSlideClick = (index: number) => {\r\n if (index === currentIndex()) {\r\n p.onClickSlide?.(index);\r\n }\r\n };\r\n\r\n const showPrevArrow = () => p.infinite || currentIndex() > 0;\r\n const showNextArrow = () => p.infinite || currentIndex() < totalSlides() - 1;\r\n\r\n const isVertical = () => p.direction === 'vertical';\r\n\r\n // Constrain dotPlacement based on direction\r\n const dotPlacementClass = () => {\r\n if (isVertical()) {\r\n // Vertical: only 'start' or 'end' allowed\r\n if (p.dotPlacement === 'start') return 'car15';\r\n return 'car16'; // default for vertical\r\n } else {\r\n // Horizontal: only 'top' or 'bottom' allowed\r\n if (p.dotPlacement === 'top') return 'car14';\r\n return 'car13'; // default for horizontal\r\n }\r\n };\r\n\r\n const hasDotDuration = createMemo(\r\n () => isPlaying() && p.autoplay && typeof p.autoplay === 'object' && p.autoplay.dotDuration,\r\n );\r\n\r\n return (\r\n <div\r\n ref={containerRef}\r\n class={cn('car01', p.direction && VARIANTS[p.direction], dotPlacementClass(), p.class?.root)}\r\n style={{\r\n '--carousel-transition-duration': `${transitionDuration}ms`,\r\n '--carousel-autoplay-speed': `${p.autoplaySpeed}ms`,\r\n }}\r\n >\r\n {/* Slides container */}\r\n <div ref={slidesRef} class=\"car02\">\r\n <For each={p.images}>\r\n {(image, index) => (\r\n <div class={cn('car03', p.class?.item)} onClick={() => handleSlideClick(index())}>\r\n <img {...image} class={cn('car04', image.class)} draggable={false} />\r\n </div>\r\n )}\r\n </For>\r\n </div>\r\n\r\n {/* Arrows */}\r\n <Show when={p.arrows}>\r\n <Show when={showPrevArrow()}>\r\n <button type=\"button\" class=\"car05 car06\" onClick={prev} aria-label=\"Previous slide\">\r\n <ChevronLeft class=\"size-6\" />\r\n </button>\r\n </Show>\r\n <Show when={showNextArrow()}>\r\n <button type=\"button\" class=\"car05 car07\" onClick={next} aria-label=\"Next slide\">\r\n <ChevronRight class=\"size-6\" />\r\n </button>\r\n </Show>\r\n </Show>\r\n\r\n {/* Dots */}\r\n <Show when={p.dots && totalSlides() > 1}>\r\n <div class=\"car08\">\r\n <For each={p.images}>\r\n {(_, index) => (\r\n <button\r\n type=\"button\"\r\n class={cn(\r\n 'car09',\r\n currentIndex() === index() && 'car10',\r\n hasDotDuration() && 'car11',\r\n )}\r\n onClick={() => goToSlide(index())}\r\n aria-label={`Go to slide ${index() + 1}`}\r\n >\r\n <Show when={hasDotDuration()}>\r\n <div class=\"car12\" />\r\n </Show>\r\n </button>\r\n )}\r\n </For>\r\n </div>\r\n </Show>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatBubble.js","names":["cn","cva","VariantProps","Component","Show","ChatBubbleProps","variants","color","default","neutral","primary","secondary","accent","info","success","warning","error","align","start","end","ChatBubbleVariantsProps","ChatBubble","props","_el$","_tmpl$","_$insert","_$createComponent","when","avatar","children","_el$2","Element","_$effect","_$className","class","header","_el$3","bubble","_el$4","footer","_el$5"],"sources":["../../../src/components/chat-bubble/chatBubble.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, VariantProps } from 'class-variance-authority';\r\nimport { Component, Show } from 'solid-js';\r\nimport { ChatBubbleProps } from './chatBubble.type';\r\n\r\nconst variants = cva('', {\r\n variants: {\r\n color: {\r\n default: '',\r\n neutral: 'chat-bubble-neutral',\r\n primary: 'chat-bubble-primary',\r\n secondary: 'chat-bubble-secondary',\r\n accent: 'chat-bubble-accent',\r\n info: 'chat-bubble-info',\r\n success: 'chat-bubble-success',\r\n warning: 'chat-bubble-warning',\r\n error: 'chat-bubble-error',\r\n },\r\n align: {\r\n start: 'chat-start',\r\n end: 'chat-end',\r\n },\r\n },\r\n});\r\nexport type ChatBubbleVariantsProps = VariantProps<typeof variants>;\r\nexport const ChatBubble: Component<ChatBubbleProps> = props => {\r\n return (\r\n <>\r\n <div class={cn('chat', variants({ align: props.align }))}>\r\n <Show when={props.avatar}>\r\n <div class={cn('chat-image', props.class?.avatar)}>{props.avatar as Element}</div>\r\n </Show>\r\n <Show when={props.header}>\r\n <div class={cn('chat-header', props.class?.header)}>{props.header as Element}</div>\r\n </Show>\r\n <Show when={props.bubble}>\r\n <div class={cn('chat-bubble', variants({ color: props.color }), props.class?.bubble)}>\r\n {props.bubble as Element}\r\n </div>\r\n </Show>\r\n <Show when={props.footer}>\r\n <div class={cn('chat-footer', props.class?.footer)}>{props.bubble as Element}</div>\r\n </Show>\r\n </div>\r\n </>\r\n );\r\n};\r\n"],"mappings":"2OAKMM,EAAWL,EAAI,GAAI,CACvBK,SAAU,CACRC,MAAO,CACLC,QAAS,GACTC,QAAS,sBACTC,QAAS,sBACTC,UAAW,wBACXC,OAAQ,qBACRC,KAAM,mBACNC,QAAS,sBACTC,QAAS,sBACTC,MAAO,oBACR,CACDC,MAAO,CACLC,MAAO,aACPC,IAAK,WACP,CACF,CACD,CAAC,CAEWE,EAAyCC,QACpD,CAAA,IAAAC,EAAAC,GAAA,CAE4D,OAF5DC,EAAAF,EAAAG,EAGOtB,EAAI,CAAA,IAACuB,MAAI,CAAA,OAAEL,EAAMM,QAAM,IAAAC,UAAA,CAAA,IAAAC,EAAAN,GAAA,CAC2B,OAD3BC,EAAAK,MAC8BR,EAAMM,OAAiB,CAAAI,MAAAC,EAAAH,EAA/D9B,EAAG,aAAcsB,EAAMY,OAAON,OAAO,CAAA,CAAA,CAAAE,GAAA,CAAA,CAAA,KAAA,CAAAL,EAAAF,EAAAG,EAElDtB,EAAI,CAAA,IAACuB,MAAI,CAAA,OAAEL,EAAMa,QAAM,IAAAN,UAAA,CAAA,IAAAO,EAAAZ,GAAA,CAC4B,OAD5BC,EAAAW,MAC+Bd,EAAMa,OAAiB,CAAAH,MAAAC,EAAAG,EAAhEpC,EAAG,cAAesB,EAAMY,OAAOC,OAAO,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,KAAA,CAAAX,EAAAF,EAAAG,EAEnDtB,EAAI,CAAA,IAACuB,MAAI,CAAA,OAAEL,EAAMe,QAAM,IAAAR,UAAA,CAAA,IAAAS,EAAAd,GAAA,CAC8D,OAD9DC,EAAAa,MAEnBhB,EAAMe,OAAiB,CAAAL,MAAAC,EAAAK,EADdtC,EAAG,cAAeM,EAAS,CAAEC,MAAOe,EAAMf,MAAO,CAAC,CAAEe,EAAMY,OAAOG,OAAO,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,KAAA,CAAAb,EAAAF,EAAAG,EAIrFtB,EAAI,CAAA,IAACuB,MAAI,CAAA,OAAEL,EAAMiB,QAAM,IAAAV,UAAA,CAAA,IAAAW,EAAAhB,GAAA,CAC4B,OAD5BC,EAAAe,MAC+BlB,EAAMe,OAAiB,CAAAL,MAAAC,EAAAO,EAAhExC,EAAG,cAAesB,EAAMY,OAAOK,OAAO,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,KAAA,CAAAR,MAAAC,EAAAV,EAb1CvB,EAAG,OAAQM,EAAS,CAAEW,MAAOK,EAAML,MAAO,CAAC,CAAC,CAAA,CAAA,CAAAM,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","names":["cn","cva","VariantProps","Component","createEffect","createUniqueId","mergeProps","CheckboxProps","id","name","defaultChecked","indeterminate","class","size","CheckboxVariantsProps","color","disabled","onChange","checked","value","variants","xs","sm","md","lg","xl","default","neutral","primary","secondary","accent","info","success","warning","error","Checkbox","p","_el$","_tmpl$","_$use","ref","_$spread","_$mergeProps","e","preventDefault","target","_$memo"],"sources":["../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, VariantProps } from 'class-variance-authority';\r\nimport { Component, createEffect, createUniqueId, mergeProps } from 'solid-js';\r\n\r\ntype CheckboxProps = {\r\n id?: string;\r\n name?: string;\r\n defaultChecked: boolean;\r\n indeterminate?: boolean;\r\n class?: string;\r\n size?: CheckboxVariantsProps['size'];\r\n color?: CheckboxVariantsProps['color'];\r\n disabled?: boolean;\r\n onChange?: (checked: boolean | null) => void;\r\n value?: string;\r\n};\r\n\r\nconst variants = cva('checkbox', {\r\n variants: {\r\n size: {\r\n xs: 'checkbox-xs',\r\n sm: 'checkbox-sm',\r\n md: 'checkbox-md',\r\n lg: 'checkbox-lg',\r\n xl: 'checkbox-xl',\r\n },\r\n color: {\r\n default: '',\r\n neutral: 'checkbox-neutral',\r\n primary: 'checkbox-primary',\r\n secondary: 'checkbox-secondary',\r\n accent: 'checkbox-accent',\r\n info: 'checkbox-info',\r\n success: 'checkbox-success',\r\n warning: 'checkbox-warning',\r\n error: 'checkbox-error',\r\n },\r\n },\r\n});\r\n\r\nexport type CheckboxVariantsProps = VariantProps<typeof variants>;\r\n\r\nexport const Checkbox: Component<CheckboxProps> = p => {\r\n p = mergeProps(\r\n { size: 'xs', color: 'primary', id: createUniqueId(), defaultChecked: false } as CheckboxProps,\r\n p,\r\n );\r\n\r\n return (\r\n <input\r\n ref={ref => {\r\n if (!ref) return;\r\n ref.checked = p.defaultChecked;\r\n p.indeterminate && (ref.value = 'inteterminate');\r\n }}\r\n type=\"checkbox\"\r\n id={p.id}\r\n class={cn(variants({ size: p.size, color: p.color }), p.class)}\r\n disabled={p.disabled}\r\n {...(p.name && { name: p.name })}\r\n {...(p.indeterminate && { 'data-indeterminate': true })}\r\n onClick={e => {\r\n if (p.indeterminate || p.disabled) e.preventDefault();\r\n }}\r\n onChange={e => p.onChange && p.onChange(e.target.checked)}\r\n value={p.indeterminate ? 'inteterminate' : p.value}\r\n />\r\n );\r\n};\r\n"],"mappings":"wQAiBMoB,EAAWnB,EAAI,WAAY,CAC/BmB,SAAU,CACRP,KAAM,CACJQ,GAAI,cACJC,GAAI,cACJC,GAAI,cACJC,GAAI,cACJC,GAAI,cACL,CACDV,MAAO,CACLW,QAAS,GACTC,QAAS,mBACTC,QAAS,mBACTC,UAAW,qBACXC,OAAQ,kBACRC,KAAM,gBACNC,QAAS,mBACTC,QAAS,mBACTC,MAAO,iBACT,CACF,CACD,CAAC,CAIWC,EAAqCC,IAChDA,EAAI9B,EACF,CAAEO,KAAM,KAAME,MAAO,UAAWP,GAAIH,GAAgB,CAAEK,eAAgB,GAAO,CAC7E0B,EACD,MAED,CAAA,IAAAC,EAAAC,GAAA,CAiBsD,OAjBtDC,EAESC,GAAO,CACLA,IACLA,EAAItB,QAAUkB,EAAE1B,eAChB0B,EAAEzB,gBAAkB6B,EAAIrB,MAAQ,mBACjCkB,EAAA,CAAAI,EAAAJ,EAAAK,EAAA,CAAA,IAEDlC,IAAE,CAAA,OAAE4B,EAAE5B,IAAE,IAAA,OAAA,CAAA,OACDR,EAAGoB,EAAS,CAAEP,KAAMuB,EAAEvB,KAAME,MAAOqB,EAAErB,MAAO,CAAC,CAAEqB,EAAExB,MAAM,EAAA,IAC9DI,UAAQ,CAAA,OAAEoB,EAAEpB,UAAQ,KACfoB,EAAE3B,MAAQ,CAAEA,KAAM2B,EAAE3B,KAAM,KAC1B2B,EAAEzB,eAAiB,CAAE,qBAAsB,GAAM,CAAA,CAAA,QAC7CgC,GAAK,EACRP,EAAEzB,eAAiByB,EAAEpB,WAAU2B,EAAEC,gBAAgB,EACtD,SACSD,GAAKP,EAAEnB,UAAYmB,EAAEnB,SAAS0B,EAAEE,OAAO3B,QAAQ,CAAA,IACzDC,OAAK,CAAA,OAAE2B,MAAA,CAAA,CAAAV,EAAEzB,cAAa,EAAA,CAAG,gBAAkByB,EAAEjB,OAAK,CAAA,CAAA,GAAA,GAAA,CAAAkB,KAAA"}
|