solid-tom-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +247 -0
- package/dist/components/avatar/avatar.d.ts +14 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +2 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/avatar.types.d.ts +18 -0
- package/dist/components/avatar/avatar.types.d.ts.map +1 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/badge/badge.d.ts +12 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +2 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.types.d.ts +10 -0
- package/dist/components/badge/badge.types.d.ts.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/blank/blank.d.ts +5 -0
- package/dist/components/blank/blank.d.ts.map +1 -0
- package/dist/components/blank/blank.js +2 -0
- package/dist/components/blank/blank.js.map +1 -0
- package/dist/components/blank/index.d.ts +2 -0
- package/dist/components/blank/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +11 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +2 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/button/button.d.ts +19 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +2 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.types.d.ts +30 -0
- package/dist/components/button/button.types.d.ts.map +1 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/carousel/carousel.d.ts +4 -0
- package/dist/components/carousel/carousel.d.ts.map +1 -0
- package/dist/components/carousel/carousel.js +2 -0
- package/dist/components/carousel/carousel.js.map +1 -0
- package/dist/components/carousel/carousel.types.d.ts +36 -0
- package/dist/components/carousel/carousel.types.d.ts.map +1 -0
- package/dist/components/carousel/index.d.ts +3 -0
- package/dist/components/carousel/index.d.ts.map +1 -0
- package/dist/components/chat-bubble/chatBubble.d.ts +11 -0
- package/dist/components/chat-bubble/chatBubble.d.ts.map +1 -0
- package/dist/components/chat-bubble/chatBubble.js +2 -0
- package/dist/components/chat-bubble/chatBubble.js.map +1 -0
- package/dist/components/chat-bubble/chatBubble.type.d.ts +12 -0
- package/dist/components/chat-bubble/chatBubble.type.d.ts.map +1 -0
- package/dist/components/chat-bubble/index.d.ts +2 -0
- package/dist/components/chat-bubble/index.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +22 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +2 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/collapse/collapse.d.ts +12 -0
- package/dist/components/collapse/collapse.d.ts.map +1 -0
- package/dist/components/collapse/collapse.js +2 -0
- package/dist/components/collapse/collapse.js.map +1 -0
- package/dist/components/collapse/collapse.types.d.ts +17 -0
- package/dist/components/collapse/collapse.types.d.ts.map +1 -0
- package/dist/components/collapse/index.d.ts +2 -0
- package/dist/components/collapse/index.d.ts.map +1 -0
- package/dist/components/context-menu/context-menu.d.ts +4 -0
- package/dist/components/context-menu/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu/context-menu.js +2 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/context-menu.store.d.ts +14 -0
- package/dist/components/context-menu/context-menu.store.d.ts.map +1 -0
- package/dist/components/context-menu/context-menu.store.js +2 -0
- package/dist/components/context-menu/context-menu.store.js.map +1 -0
- package/dist/components/context-menu/context-menu.types.d.ts +51 -0
- package/dist/components/context-menu/context-menu.types.d.ts.map +1 -0
- package/dist/components/context-menu/index.d.ts +4 -0
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/diff/diff.d.ts +9 -0
- package/dist/components/diff/diff.d.ts.map +1 -0
- package/dist/components/diff/diff.js +2 -0
- package/dist/components/diff/diff.js.map +1 -0
- package/dist/components/diff/index.d.ts +2 -0
- package/dist/components/diff/index.d.ts.map +1 -0
- package/dist/components/divider/divider.d.ts +5 -0
- package/dist/components/divider/divider.d.ts.map +1 -0
- package/dist/components/divider/divider.js +2 -0
- package/dist/components/divider/divider.js.map +1 -0
- package/dist/components/divider/divider.types.d.ts +16 -0
- package/dist/components/divider/divider.types.d.ts.map +1 -0
- package/dist/components/divider/index.d.ts +3 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/drawer/drawer.d.ts +6 -0
- package/dist/components/drawer/drawer.d.ts.map +1 -0
- package/dist/components/drawer/drawer.js +2 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/drawer.types.d.ts +19 -0
- package/dist/components/drawer/drawer.types.d.ts.map +1 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown.d.ts +11 -0
- package/dist/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown.js +2 -0
- package/dist/components/dropdown/dropdown.js.map +1 -0
- package/dist/components/dropdown/dropdown.store.d.ts +8 -0
- package/dist/components/dropdown/dropdown.store.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown.store.js +2 -0
- package/dist/components/dropdown/dropdown.store.js.map +1 -0
- package/dist/components/dropdown/dropdown.types.d.ts +15 -0
- package/dist/components/dropdown/dropdown.types.d.ts.map +1 -0
- package/dist/components/dropdown/index.d.ts +3 -0
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/dynamic-icon/DynamicIcon.d.ts +8 -0
- package/dist/components/dynamic-icon/DynamicIcon.d.ts.map +1 -0
- package/dist/components/dynamic-icon/index.d.ts +2 -0
- package/dist/components/dynamic-icon/index.d.ts.map +1 -0
- package/dist/components/float-button/float-button.d.ts +5 -0
- package/dist/components/float-button/float-button.d.ts.map +1 -0
- package/dist/components/float-button/float-button.js +2 -0
- package/dist/components/float-button/float-button.js.map +1 -0
- package/dist/components/float-button/float-button.types.d.ts +42 -0
- package/dist/components/float-button/float-button.types.d.ts.map +1 -0
- package/dist/components/float-button/index.d.ts +2 -0
- package/dist/components/float-button/index.d.ts.map +1 -0
- package/dist/components/hover-3d-image/hover-3d-example.d.ts +3 -0
- package/dist/components/hover-3d-image/hover-3d-example.d.ts.map +1 -0
- package/dist/components/hover-3d-image/hover-3d-image.d.ts +13 -0
- package/dist/components/hover-3d-image/hover-3d-image.d.ts.map +1 -0
- package/dist/components/hover-3d-image/hover-3d-image.js +2 -0
- package/dist/components/hover-3d-image/hover-3d-image.js.map +1 -0
- package/dist/components/hover-3d-image/index.d.ts +2 -0
- package/dist/components/hover-3d-image/index.d.ts.map +1 -0
- package/dist/components/iframe/index.d.ts +7 -0
- package/dist/components/iframe/index.d.ts.map +1 -0
- package/dist/components/image-preview/image-preview.d.ts +25 -0
- package/dist/components/image-preview/image-preview.d.ts.map +1 -0
- package/dist/components/image-preview/image-preview.js +2 -0
- package/dist/components/image-preview/image-preview.js.map +1 -0
- package/dist/components/image-preview/index.d.ts +3 -0
- package/dist/components/image-preview/index.d.ts.map +1 -0
- package/dist/components/indicator/index.d.ts +3 -0
- package/dist/components/indicator/index.d.ts.map +1 -0
- package/dist/components/indicator/indicator.d.ts +4 -0
- package/dist/components/indicator/indicator.d.ts.map +1 -0
- package/dist/components/indicator/indicator.js +2 -0
- package/dist/components/indicator/indicator.js.map +1 -0
- package/dist/components/indicator/indicator.types.d.ts +18 -0
- package/dist/components/indicator/indicator.types.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/input.d.ts +17 -0
- package/dist/components/input/input.d.ts.map +1 -0
- package/dist/components/input/input.js +2 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/input.types.d.ts +76 -0
- package/dist/components/input/input.types.d.ts.map +1 -0
- package/dist/components/input/input.utils.d.ts +16 -0
- package/dist/components/input/input.utils.d.ts.map +1 -0
- package/dist/components/input/input.utils.js +2 -0
- package/dist/components/input/input.utils.js.map +1 -0
- package/dist/components/input/variants/input-color.d.ts +4 -0
- package/dist/components/input/variants/input-color.d.ts.map +1 -0
- package/dist/components/input/variants/input-color.js +2 -0
- package/dist/components/input/variants/input-color.js.map +1 -0
- package/dist/components/input/variants/input-date.d.ts +4 -0
- package/dist/components/input/variants/input-date.d.ts.map +1 -0
- package/dist/components/input/variants/input-date.js +2 -0
- package/dist/components/input/variants/input-date.js.map +1 -0
- package/dist/components/input/variants/input-number.d.ts +4 -0
- package/dist/components/input/variants/input-number.d.ts.map +1 -0
- package/dist/components/input/variants/input-number.js +2 -0
- package/dist/components/input/variants/input-number.js.map +1 -0
- package/dist/components/input/variants/input-otp.d.ts +5 -0
- package/dist/components/input/variants/input-otp.d.ts.map +1 -0
- package/dist/components/input/variants/input-otp.js +2 -0
- package/dist/components/input/variants/input-otp.js.map +1 -0
- package/dist/components/input/variants/input-password.d.ts +4 -0
- package/dist/components/input/variants/input-password.d.ts.map +1 -0
- package/dist/components/input/variants/input-password.js +2 -0
- package/dist/components/input/variants/input-password.js.map +1 -0
- package/dist/components/input/variants/input-radio.d.ts +22 -0
- package/dist/components/input/variants/input-radio.d.ts.map +1 -0
- package/dist/components/input/variants/input-radio.js +2 -0
- package/dist/components/input/variants/input-radio.js.map +1 -0
- package/dist/components/input/variants/input-range.d.ts +4 -0
- package/dist/components/input/variants/input-range.d.ts.map +1 -0
- package/dist/components/input/variants/input-range.js +2 -0
- package/dist/components/input/variants/input-range.js.map +1 -0
- package/dist/components/input/variants/input-text.d.ts +4 -0
- package/dist/components/input/variants/input-text.d.ts.map +1 -0
- package/dist/components/input/variants/input-text.js +2 -0
- package/dist/components/input/variants/input-text.js.map +1 -0
- package/dist/components/input/variants/input-textarea.d.ts +4 -0
- package/dist/components/input/variants/input-textarea.d.ts.map +1 -0
- package/dist/components/input/variants/input-textarea.js +2 -0
- package/dist/components/input/variants/input-textarea.js.map +1 -0
- package/dist/components/loading/index.d.ts +3 -0
- package/dist/components/loading/index.d.ts.map +1 -0
- package/dist/components/loading/loading.d.ts +32 -0
- package/dist/components/loading/loading.d.ts.map +1 -0
- package/dist/components/loading/loading.js +2 -0
- package/dist/components/loading/loading.js.map +1 -0
- package/dist/components/mansory/index.d.ts +3 -0
- package/dist/components/mansory/index.d.ts.map +1 -0
- package/dist/components/mansory/mansory.d.ts +4 -0
- package/dist/components/mansory/mansory.d.ts.map +1 -0
- package/dist/components/mansory/mansory.js +2 -0
- package/dist/components/mansory/mansory.js.map +1 -0
- package/dist/components/mansory/mansory.types.d.ts +27 -0
- package/dist/components/mansory/mansory.types.d.ts.map +1 -0
- package/dist/components/menu/index.d.ts +4 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/menu.d.ts +11 -0
- package/dist/components/menu/menu.d.ts.map +1 -0
- package/dist/components/menu/menu.data-example.d.ts +7 -0
- package/dist/components/menu/menu.data-example.d.ts.map +1 -0
- package/dist/components/menu/menu.js +2 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/menu/menu.types.d.ts +74 -0
- package/dist/components/menu/menu.types.d.ts.map +1 -0
- package/dist/components/modal/index.d.ts +3 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/modal.d.ts +28 -0
- package/dist/components/modal/modal.d.ts.map +1 -0
- package/dist/components/modal/modal.js +2 -0
- package/dist/components/modal/modal.js.map +1 -0
- package/dist/components/modal/modalContext.d.ts +8 -0
- package/dist/components/modal/modalContext.d.ts.map +1 -0
- package/dist/components/modal/modalContext.js +2 -0
- package/dist/components/modal/modalContext.js.map +1 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/pagination.d.ts +4 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/pagination/pagination.js +2 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.types.d.ts +88 -0
- package/dist/components/pagination/pagination.types.d.ts.map +1 -0
- package/dist/components/progress-bar/index.d.ts +4 -0
- package/dist/components/progress-bar/index.d.ts.map +1 -0
- package/dist/components/progress-bar/progress-bar.d.ts +8 -0
- package/dist/components/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/progress-bar/progress-bar.js +2 -0
- package/dist/components/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/progress-bar/progress-bar.types.d.ts +20 -0
- package/dist/components/progress-bar/progress-bar.types.d.ts.map +1 -0
- package/dist/components/qr-code/index.d.ts +3 -0
- package/dist/components/qr-code/index.d.ts.map +1 -0
- package/dist/components/qr-code/qr-code.d.ts +4 -0
- package/dist/components/qr-code/qr-code.d.ts.map +1 -0
- package/dist/components/qr-code/qr-code.js +2 -0
- package/dist/components/qr-code/qr-code.js.map +1 -0
- package/dist/components/qr-code/qr-code.types.d.ts +42 -0
- package/dist/components/qr-code/qr-code.types.d.ts.map +1 -0
- package/dist/components/rating/index.d.ts +2 -0
- package/dist/components/rating/index.d.ts.map +1 -0
- package/dist/components/rating/rating.d.ts +4 -0
- package/dist/components/rating/rating.d.ts.map +1 -0
- package/dist/components/rating/rating.js +2 -0
- package/dist/components/rating/rating.js.map +1 -0
- package/dist/components/rating/rating.types.d.ts +33 -0
- package/dist/components/rating/rating.types.d.ts.map +1 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/select.d.ts +12 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/select/select.js +2 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.types.d.ts +134 -0
- package/dist/components/select/select.types.d.ts.map +1 -0
- package/dist/components/select-zone/index.d.ts +3 -0
- package/dist/components/select-zone/index.d.ts.map +1 -0
- package/dist/components/select-zone/select-zone.d.ts +5 -0
- package/dist/components/select-zone/select-zone.d.ts.map +1 -0
- package/dist/components/select-zone/select-zone.js +2 -0
- package/dist/components/select-zone/select-zone.js.map +1 -0
- package/dist/components/select-zone/select-zone.types.d.ts +58 -0
- package/dist/components/select-zone/select-zone.types.d.ts.map +1 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts +25 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.js +2 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/slider.d.ts +4 -0
- package/dist/components/slider/slider.d.ts.map +1 -0
- package/dist/components/slider/slider.js +2 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/slider/slider.types.d.ts +32 -0
- package/dist/components/slider/slider.types.d.ts.map +1 -0
- package/dist/components/splitter/index.d.ts +3 -0
- package/dist/components/splitter/index.d.ts.map +1 -0
- package/dist/components/splitter/splitter.d.ts +7 -0
- package/dist/components/splitter/splitter.d.ts.map +1 -0
- package/dist/components/splitter/splitter.js +2 -0
- package/dist/components/splitter/splitter.js.map +1 -0
- package/dist/components/splitter/splitter.types.d.ts +64 -0
- package/dist/components/splitter/splitter.types.d.ts.map +1 -0
- package/dist/components/steps/index.d.ts +3 -0
- package/dist/components/steps/index.d.ts.map +1 -0
- package/dist/components/steps/steps.d.ts +29 -0
- package/dist/components/steps/steps.d.ts.map +1 -0
- package/dist/components/steps/steps.js +2 -0
- package/dist/components/steps/steps.js.map +1 -0
- package/dist/components/swap/index.d.ts +2 -0
- package/dist/components/swap/index.d.ts.map +1 -0
- package/dist/components/swap/swap.d.ts +11 -0
- package/dist/components/swap/swap.d.ts.map +1 -0
- package/dist/components/swap/swap.js +2 -0
- package/dist/components/swap/swap.js.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/switch.d.ts +11 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +2 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.types.d.ts +23 -0
- package/dist/components/switch/switch.types.d.ts.map +1 -0
- package/dist/components/tab/index.d.ts +3 -0
- package/dist/components/tab/index.d.ts.map +1 -0
- package/dist/components/tab/tab.d.ts +4 -0
- package/dist/components/tab/tab.d.ts.map +1 -0
- package/dist/components/tab/tab.js +2 -0
- package/dist/components/tab/tab.js.map +1 -0
- package/dist/components/tab/tab.types.d.ts +51 -0
- package/dist/components/tab/tab.types.d.ts.map +1 -0
- package/dist/components/table/index.d.ts +4 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/table/table.d.ts +10 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/table/table.js +2 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/table/table.types.d.ts +155 -0
- package/dist/components/table/table.types.d.ts.map +1 -0
- package/dist/components/text-rotate/index.d.ts +3 -0
- package/dist/components/text-rotate/index.d.ts.map +1 -0
- package/dist/components/text-rotate/text-rotate.d.ts +12 -0
- package/dist/components/text-rotate/text-rotate.d.ts.map +1 -0
- package/dist/components/text-rotate/text-rotate.js +2 -0
- package/dist/components/text-rotate/text-rotate.js.map +1 -0
- package/dist/components/timeline/index.d.ts +3 -0
- package/dist/components/timeline/index.d.ts.map +1 -0
- package/dist/components/timeline/timeline.d.ts +4 -0
- package/dist/components/timeline/timeline.d.ts.map +1 -0
- package/dist/components/timeline/timeline.js +2 -0
- package/dist/components/timeline/timeline.js.map +1 -0
- package/dist/components/timeline/timeline.types.d.ts +55 -0
- package/dist/components/timeline/timeline.types.d.ts.map +1 -0
- package/dist/components/toast/icons/ErrorIcon.d.ts +4 -0
- package/dist/components/toast/icons/ErrorIcon.d.ts.map +1 -0
- package/dist/components/toast/icons/ErrorIcon.js +2 -0
- package/dist/components/toast/icons/ErrorIcon.js.map +1 -0
- package/dist/components/toast/icons/IconCircle.d.ts +9 -0
- package/dist/components/toast/icons/IconCircle.d.ts.map +1 -0
- package/dist/components/toast/icons/IconCircle.js +2 -0
- package/dist/components/toast/icons/IconCircle.js.map +1 -0
- package/dist/components/toast/icons/InfoIcon.d.ts +4 -0
- package/dist/components/toast/icons/InfoIcon.d.ts.map +1 -0
- package/dist/components/toast/icons/InfoIcon.js +2 -0
- package/dist/components/toast/icons/InfoIcon.js.map +1 -0
- package/dist/components/toast/icons/LoaderIcon.d.ts +4 -0
- package/dist/components/toast/icons/LoaderIcon.d.ts.map +1 -0
- package/dist/components/toast/icons/LoaderIcon.js +2 -0
- package/dist/components/toast/icons/LoaderIcon.js.map +1 -0
- package/dist/components/toast/icons/SuccessIcon.d.ts +4 -0
- package/dist/components/toast/icons/SuccessIcon.d.ts.map +1 -0
- package/dist/components/toast/icons/SuccessIcon.js +2 -0
- package/dist/components/toast/icons/SuccessIcon.js.map +1 -0
- package/dist/components/toast/icons/WarningIcon.d.ts +4 -0
- package/dist/components/toast/icons/WarningIcon.d.ts.map +1 -0
- package/dist/components/toast/icons/WarningIcon.js +2 -0
- package/dist/components/toast/icons/WarningIcon.js.map +1 -0
- package/dist/components/toast/icons/index.d.ts +4 -0
- package/dist/components/toast/icons/index.d.ts.map +1 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/toast.d.ts +7 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +2 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/toast.store.d.ts +17 -0
- package/dist/components/toast/toast.store.d.ts.map +1 -0
- package/dist/components/toast/toast.store.js +2 -0
- package/dist/components/toast/toast.store.js.map +1 -0
- package/dist/components/toast/toast.type.d.ts +72 -0
- package/dist/components/toast/toast.type.d.ts.map +1 -0
- package/dist/components/tooltip/index.d.ts +4 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts +11 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.js +2 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip.types.d.ts +39 -0
- package/dist/components/tooltip/tooltip.types.d.ts.map +1 -0
- package/dist/components/tour/index.d.ts +3 -0
- package/dist/components/tour/index.d.ts.map +1 -0
- package/dist/components/tour/tour.d.ts +3 -0
- package/dist/components/tour/tour.d.ts.map +1 -0
- package/dist/components/tour/tour.js +9 -0
- package/dist/components/tour/tour.js.map +1 -0
- package/dist/components/tour/tour.types.d.ts +35 -0
- package/dist/components/tour/tour.types.d.ts.map +1 -0
- package/dist/components/upload/index.d.ts +3 -0
- package/dist/components/upload/index.d.ts.map +1 -0
- package/dist/components/upload/upload.d.ts +3 -0
- package/dist/components/upload/upload.d.ts.map +1 -0
- package/dist/components/upload/upload.js +2 -0
- package/dist/components/upload/upload.js.map +1 -0
- package/dist/components/upload/upload.types.d.ts +95 -0
- package/dist/components/upload/upload.types.d.ts.map +1 -0
- package/dist/components/z-index/index.d.ts +4 -0
- package/dist/components/z-index/index.d.ts.map +1 -0
- package/dist/components/z-index/z-index.context.d.ts +17 -0
- package/dist/components/z-index/z-index.context.d.ts.map +1 -0
- package/dist/components/z-index/z-index.context.js +2 -0
- package/dist/components/z-index/z-index.context.js.map +1 -0
- package/dist/components/z-index/z-index.d.ts +20 -0
- package/dist/components/z-index/z-index.d.ts.map +1 -0
- package/dist/components/z-index/z-index.js +2 -0
- package/dist/components/z-index/z-index.js.map +1 -0
- package/dist/components/z-index/z-index.store.d.ts +14 -0
- package/dist/components/z-index/z-index.store.d.ts.map +1 -0
- package/dist/components/z-index/z-index.store.js +2 -0
- package/dist/components/z-index/z-index.store.js.map +1 -0
- package/dist/components/z-index/z-index.types.d.ts +51 -0
- package/dist/components/z-index/z-index.types.d.ts.map +1 -0
- package/dist/components/z-index/z-index.types.js +2 -0
- package/dist/components/z-index/z-index.types.js.map +1 -0
- package/dist/lib.d.ts +48 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +1 -0
- package/dist/solid-ui.css +94 -0
- package/dist/type.d.ts +4 -0
- package/dist/type.d.ts.map +1 -0
- package/dist/utils/cn.d.ts +3 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +2 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/element-tracker.js +2 -0
- package/dist/utils/element-tracker.js.map +1 -0
- package/dist/utils/helper.d.ts +32 -0
- package/dist/utils/helper.d.ts.map +1 -0
- package/dist/utils/helper.js +2 -0
- package/dist/utils/helper.js.map +1 -0
- package/dist/utils/hoc.js +2 -0
- package/dist/utils/hoc.js.map +1 -0
- package/package.json +131 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.js","names":["cn","getColor","Component","createEffect","createMemo","createSignal","For","mergeProps","on","Show","ParentComponent","SliderProps","SliderTooltipProps","SliderTooltipInternalProps","content","open","SliderTooltip","p","_el$","_tmpl$","_$insert","children","_$effect","_p$","_v$","position","color","class","_v$2","e","_$className","t","_$setAttribute","undefined","DEFAULT_PROPS","Partial","min","max","step","disabled","reverse","orientation","dots","included","tooltip","hidden","Slider","activeThumb","setActiveThumb","hoveredThumb","setHoveredThumb","railRef","HTMLDivElement","isRange","range","getInitialValue","value","defaultValue","internalValue","setInternalValue","newValue","currentValue","valuesArray","val","Array","isArray","valueToPercent","percent","percentToValue","actualPercent","Math","round","marks","markValues","Object","keys","map","Number","push","reduce","prev","curr","abs","getPositionFromEvent","event","MouseEvent","TouchEvent","rect","getBoundingClientRect","isVertical","clientPos","touches","clientY","clientX","bottom","height","left","width","updateValue","thumbIndex","finalValue","current","newValues","onChange","handleThumbMouseDown","preventDefault","stopPropagation","handleMove","handleEnd","document","removeEventListener","addEventListener","handleRailClick","clickedValue","v0","v1","dist0","dist1","closestThumb","marksList","entries","key","numKey","markData","label","style","dotsList","v","isInRange","trackStyle","start","length","p0","p1","thumbPositions","formatTooltip","formatter","String","shouldShowTooltip","forceOpen","getTooltipProps","rest","_el$2","_tmpl$4","_el$3","firstChild","_el$7","$$click","_ref$","_$use","_$createComponent","when","_el$4","_v$3","track","_v$4","_$style","each","dot","_el$9","_v$19","_v$20","mark","_el$0","_v$21","_v$22","_el$1","_tmpl$5","_v$23","markText","_v$24","_el$5","_tmpl$3","fallback","_el$10","_tmpl$2","$$touchstart","$$mousedown","_v$25","handle","_v$26","_v$27","_v$28","_v$29","_v$30","a","o","i","n","_$mergeProps","_el$6","_v$5","_v$6","_v$7","_v$8","_v$9","_v$0","_$p","_el$11","_v$31","_v$32","_v$33","_v$34","_v$35","_v$36","_el$8","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","root","_v$16","_v$17","rail","_v$18","_$delegateEvents"],"sources":["../../../src/components/slider/slider.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { getColor } from '@/utils/helper';\r\nimport {\r\n Component,\r\n createEffect,\r\n createMemo,\r\n createSignal,\r\n For,\r\n mergeProps,\r\n on,\r\n Show,\r\n type ParentComponent,\r\n} from 'solid-js';\r\nimport type { SliderProps, SliderTooltipProps } from './slider.types';\r\n\r\ntype SliderTooltipInternalProps = SliderTooltipProps & {\r\n content: string;\r\n open: boolean;\r\n};\r\n\r\nconst SliderTooltip: ParentComponent<SliderTooltipInternalProps> = p => (\r\n <div\r\n class={cn(\r\n 'tooltip',\r\n p.position === 'bottom' && 'tooltip-bottom',\r\n p.position === 'left' && 'tooltip-left',\r\n p.position === 'right' && 'tooltip-right',\r\n p.color && `tooltip-${p.color}`,\r\n p.open && 'tooltip-open',\r\n p.class,\r\n )}\r\n data-tip={p.content}\r\n >\r\n {p.children}\r\n </div>\r\n);\r\n\r\nconst DEFAULT_PROPS: Partial<SliderProps> = {\r\n color: 'primary',\r\n min: 0,\r\n max: 100,\r\n step: 1,\r\n disabled: false,\r\n reverse: false,\r\n orientation: 'horizontal',\r\n dots: false,\r\n included: true,\r\n tooltip: {\r\n hidden: false,\r\n },\r\n};\r\n\r\nexport const Slider: Component<SliderProps> = p => {\r\n p = mergeProps(DEFAULT_PROPS, p);\r\n\r\n // Internal state\r\n const [activeThumb, setActiveThumb] = createSignal<0 | 1 | null>(null);\r\n const [hoveredThumb, setHoveredThumb] = createSignal<0 | 1 | null>(null);\r\n\r\n // Refs\r\n let railRef: HTMLDivElement | undefined;\r\n\r\n // Determine if range mode\r\n const isRange = createMemo(() => p.range === true);\r\n\r\n // Internal value state (for uncontrolled mode)\r\n const getInitialValue = (): number | [number, number] => {\r\n if (p.value !== undefined) return p.value;\r\n if (p.defaultValue !== undefined) return p.defaultValue;\r\n return isRange() ? ([p.min!, p.max!] as [number, number]) : p.min!;\r\n };\r\n\r\n const [internalValue, setInternalValue] = createSignal<number | [number, number]>(\r\n getInitialValue(),\r\n );\r\n\r\n // Sync with controlled value\r\n createEffect(\r\n on(\r\n () => p.value,\r\n newValue => {\r\n if (newValue !== undefined) {\r\n setInternalValue(newValue);\r\n }\r\n },\r\n ),\r\n );\r\n\r\n // Current value getter\r\n const currentValue = createMemo(() => {\r\n return p.value !== undefined ? p.value : internalValue();\r\n });\r\n\r\n // Get values as array for easy handling\r\n const valuesArray = createMemo<[number, number]>(() => {\r\n const val = currentValue();\r\n if (Array.isArray(val)) {\r\n return val as [number, number];\r\n }\r\n return [p.min!, val] as [number, number];\r\n });\r\n\r\n // Calculate percentage from value\r\n const valueToPercent = (value: number): number => {\r\n const { min, max } = p;\r\n const percent = ((value - min!) / (max! - min!)) * 100;\r\n return p.reverse ? 100 - percent : percent;\r\n };\r\n\r\n // Calculate value from percentage\r\n const percentToValue = (percent: number): number => {\r\n const { min, max, step } = p;\r\n const actualPercent = p.reverse ? 100 - percent : percent;\r\n let value = min! + (actualPercent / 100) * (max! - min!);\r\n\r\n // Snap to step if defined\r\n if (step !== null && step !== undefined) {\r\n value = Math.round(value / step) * step;\r\n }\r\n\r\n // Snap to marks if step is null\r\n if (step === null && p.marks) {\r\n const markValues = Object.keys(p.marks).map(Number);\r\n markValues.push(min!, max!);\r\n value = markValues.reduce((prev, curr) =>\r\n Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev,\r\n );\r\n }\r\n\r\n return Math.max(min!, Math.min(max!, value));\r\n };\r\n\r\n // Get position from mouse/touch event\r\n const getPositionFromEvent = (event: MouseEvent | TouchEvent): number => {\r\n if (!railRef) return 0;\r\n\r\n const rect = railRef.getBoundingClientRect();\r\n const isVertical = p.orientation === 'vertical';\r\n\r\n let clientPos: number;\r\n if ('touches' in event) {\r\n clientPos = isVertical ? event.touches[0].clientY : event.touches[0].clientX;\r\n } else {\r\n clientPos = isVertical ? event.clientY : event.clientX;\r\n }\r\n\r\n let percent: number;\r\n if (isVertical) {\r\n percent = ((rect.bottom - clientPos) / rect.height) * 100;\r\n } else {\r\n percent = ((clientPos - rect.left) / rect.width) * 100;\r\n }\r\n\r\n return Math.max(0, Math.min(100, percent));\r\n };\r\n\r\n // Update value\r\n const updateValue = (newValue: number, thumbIndex: 0 | 1) => {\r\n let finalValue: number | [number, number];\r\n\r\n if (isRange()) {\r\n const current = valuesArray();\r\n const newValues: [number, number] = [...current];\r\n newValues[thumbIndex] = newValue;\r\n\r\n // Ensure min <= max for range\r\n if (thumbIndex === 0 && newValue > newValues[1]) {\r\n newValues[0] = newValues[1];\r\n } else if (thumbIndex === 1 && newValue < newValues[0]) {\r\n newValues[1] = newValues[0];\r\n }\r\n\r\n finalValue = newValues;\r\n } else {\r\n finalValue = newValue;\r\n }\r\n\r\n // Update internal state (for uncontrolled mode)\r\n if (p.value === undefined) {\r\n setInternalValue(finalValue);\r\n }\r\n\r\n // Call onChange callback\r\n p.onChange?.(finalValue);\r\n };\r\n\r\n // Handle mouse/touch start on thumb\r\n const handleThumbMouseDown = (event: MouseEvent | TouchEvent, thumbIndex: 0 | 1) => {\r\n if (p.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n setActiveThumb(thumbIndex);\r\n\r\n const handleMove = (e: MouseEvent | TouchEvent) => {\r\n const percent = getPositionFromEvent(e);\r\n const value = percentToValue(percent);\r\n updateValue(value, thumbIndex);\r\n };\r\n\r\n const handleEnd = () => {\r\n setActiveThumb(null);\r\n document.removeEventListener('mousemove', handleMove);\r\n document.removeEventListener('mouseup', handleEnd);\r\n document.removeEventListener('touchmove', handleMove);\r\n document.removeEventListener('touchend', handleEnd);\r\n };\r\n\r\n document.addEventListener('mousemove', handleMove);\r\n document.addEventListener('mouseup', handleEnd);\r\n document.addEventListener('touchmove', handleMove);\r\n document.addEventListener('touchend', handleEnd);\r\n };\r\n\r\n // Handle click on rail\r\n const handleRailClick = (event: MouseEvent) => {\r\n if (p.disabled) return;\r\n\r\n const percent = getPositionFromEvent(event);\r\n const clickedValue = percentToValue(percent);\r\n\r\n if (isRange()) {\r\n // Find closest thumb\r\n const [v0, v1] = valuesArray();\r\n const dist0 = Math.abs(clickedValue - v0);\r\n const dist1 = Math.abs(clickedValue - v1);\r\n const closestThumb: 0 | 1 = dist0 <= dist1 ? 0 : 1;\r\n updateValue(clickedValue, closestThumb);\r\n } else {\r\n updateValue(clickedValue, 1);\r\n }\r\n };\r\n\r\n // Calculate marks\r\n const marksList = createMemo(() => {\r\n if (!p.marks) return [];\r\n return Object.entries(p.marks).map(([key, value]) => {\r\n const numKey = Number(key);\r\n const percent = valueToPercent(numKey);\r\n const markData = typeof value === 'string' ? { label: value, style: undefined } : value;\r\n return {\r\n value: numKey,\r\n percent,\r\n ...markData,\r\n };\r\n });\r\n });\r\n\r\n // Calculate dots\r\n const dotsList = createMemo(() => {\r\n if (!p.dots) return [];\r\n const { min, max, step } = p;\r\n if (!step || step <= 0) return [];\r\n\r\n const dots: { value: number; percent: number }[] = [];\r\n for (let v = min!; v <= max!; v += step) {\r\n dots.push({\r\n value: v,\r\n percent: valueToPercent(v),\r\n });\r\n }\r\n return dots;\r\n });\r\n\r\n // Check if value is in range (for included styling)\r\n const isInRange = (value: number): boolean => {\r\n if (!p.included) return false;\r\n const [v0, v1] = valuesArray();\r\n if (isRange()) {\r\n return value >= v0 && value <= v1;\r\n }\r\n return value >= p.min! && value <= v1;\r\n };\r\n\r\n // Track styles\r\n const trackStyle = createMemo(() => {\r\n const [v0, v1] = valuesArray();\r\n const isVertical = p.orientation === 'vertical';\r\n\r\n let start: number, length: number;\r\n\r\n if (isRange()) {\r\n const p0 = valueToPercent(v0);\r\n const p1 = valueToPercent(v1);\r\n start = Math.min(p0, p1);\r\n length = Math.abs(p1 - p0);\r\n } else {\r\n if (p.reverse) {\r\n const p1 = valueToPercent(v1);\r\n start = p1;\r\n length = 100 - p1;\r\n } else {\r\n start = 0;\r\n length = valueToPercent(v1);\r\n }\r\n }\r\n\r\n if (isVertical) {\r\n return { bottom: `${start}%`, height: `${length}%` };\r\n }\r\n return { left: `${start}%`, width: `${length}%` };\r\n });\r\n\r\n // Thumb positions\r\n const thumbPositions = createMemo(() => {\r\n const [v0, v1] = valuesArray();\r\n const isVertical = p.orientation === 'vertical';\r\n\r\n const p0 = valueToPercent(v0);\r\n const p1 = valueToPercent(v1);\r\n\r\n if (isVertical) {\r\n return [{ bottom: `${p0}%` }, { bottom: `${p1}%` }];\r\n }\r\n return [{ left: `${p0}%` }, { left: `${p1}%` }];\r\n });\r\n\r\n // Tooltip formatter\r\n const formatTooltip = (value: number): string => {\r\n if (p.tooltip?.formatter === null) return '';\r\n if (typeof p.tooltip?.formatter === 'function') {\r\n return String(p.tooltip.formatter(value));\r\n }\r\n return String(value);\r\n };\r\n\r\n // Should show tooltip\r\n const shouldShowTooltip = (thumbIndex: 0 | 1): boolean => {\r\n if (p.tooltip?.forceOpen === false) return false;\r\n if (p.tooltip?.forceOpen === true) return true;\r\n return activeThumb() === thumbIndex || hoveredThumb() === thumbIndex;\r\n };\r\n\r\n // Get tooltip props excluding internal ones\r\n const getTooltipProps = () => {\r\n if (!p.tooltip) return {};\r\n const { forceOpen, formatter, hidden, ...rest } = p.tooltip;\r\n return rest;\r\n };\r\n\r\n const isVertical = () => p.orientation === 'vertical';\r\n\r\n return (\r\n <div\r\n class={cn(\r\n 'sli01',\r\n getColor(p.color!),\r\n isVertical() && 'sli02',\r\n p.disabled && 'sli03',\r\n p.class?.root,\r\n )}\r\n data-disabled={p.disabled || undefined}\r\n >\r\n {/* Rail */}\r\n <div ref={railRef} class={cn('sli04', p.class?.rail)} onClick={handleRailClick}>\r\n {/* Track */}\r\n <Show when={p.included !== false}>\r\n <div class={cn('sli05', p.class?.track)} style={trackStyle()} />\r\n </Show>\r\n\r\n {/* Dots */}\r\n <For each={dotsList()}>\r\n {dot => (\r\n <div\r\n class={cn('sli09', isInRange(dot.value) && 'sli10', p.class?.dot)}\r\n style={isVertical() ? { bottom: `${dot.percent}%` } : { left: `${dot.percent}%` }}\r\n />\r\n )}\r\n </For>\r\n\r\n {/* Marks */}\r\n <For each={marksList()}>\r\n {mark => (\r\n <>\r\n <div\r\n class={cn('sli11', isInRange(mark.value) && 'sli12', p.class?.mark)}\r\n style={isVertical() ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` }}\r\n />\r\n <span\r\n class={cn('sli13', isInRange(mark.value) && 'sli14', p.class?.markText)}\r\n style={{\r\n ...(isVertical() ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` }),\r\n ...mark.style,\r\n }}\r\n >\r\n {mark.label}\r\n </span>\r\n </>\r\n )}\r\n </For>\r\n\r\n {/* Thumbs */}\r\n <Show when={isRange()}>\r\n <div class=\"sli06\" style={thumbPositions()[0]}>\r\n <Show\r\n when={!p.tooltip?.hidden}\r\n fallback={\r\n <div\r\n class={cn('sli07', activeThumb() === 0 && 'sli08', p.class?.handle)}\r\n tabIndex={p.disabled ? -1 : 0}\r\n role=\"slider\"\r\n aria-valuemin={p.min}\r\n aria-valuemax={p.max}\r\n aria-valuenow={valuesArray()[0]}\r\n aria-disabled={p.disabled}\r\n onMouseDown={e => handleThumbMouseDown(e, 0)}\r\n onTouchStart={e => handleThumbMouseDown(e, 0)}\r\n onMouseEnter={() => setHoveredThumb(0)}\r\n onMouseLeave={() => setHoveredThumb(null)}\r\n onFocus={() => setHoveredThumb(0)}\r\n onBlur={() => setHoveredThumb(null)}\r\n />\r\n }\r\n >\r\n <SliderTooltip\r\n content={formatTooltip(valuesArray()[0])}\r\n open={shouldShowTooltip(0)}\r\n position={isVertical() ? 'right' : 'top'}\r\n {...getTooltipProps()}\r\n >\r\n <div\r\n class={cn('sli07', activeThumb() === 0 && 'sli08', p.class?.handle)}\r\n tabIndex={p.disabled ? -1 : 0}\r\n role=\"slider\"\r\n aria-valuemin={p.min}\r\n aria-valuemax={p.max}\r\n aria-valuenow={valuesArray()[0]}\r\n aria-disabled={p.disabled}\r\n onMouseDown={e => handleThumbMouseDown(e, 0)}\r\n onTouchStart={e => handleThumbMouseDown(e, 0)}\r\n onMouseEnter={() => setHoveredThumb(0)}\r\n onMouseLeave={() => setHoveredThumb(null)}\r\n onFocus={() => setHoveredThumb(0)}\r\n onBlur={() => setHoveredThumb(null)}\r\n />\r\n </SliderTooltip>\r\n </Show>\r\n </div>\r\n </Show>\r\n\r\n <div class=\"sli06\" style={thumbPositions()[1]}>\r\n <Show\r\n when={!p.tooltip?.hidden}\r\n fallback={\r\n <div\r\n class={cn('sli07', activeThumb() === 1 && 'sli08', p.class?.handle)}\r\n tabIndex={p.disabled ? -1 : 0}\r\n role=\"slider\"\r\n aria-valuemin={p.min}\r\n aria-valuemax={p.max}\r\n aria-valuenow={valuesArray()[1]}\r\n aria-disabled={p.disabled}\r\n onMouseDown={e => handleThumbMouseDown(e, 1)}\r\n onTouchStart={e => handleThumbMouseDown(e, 1)}\r\n onMouseEnter={() => setHoveredThumb(1)}\r\n onMouseLeave={() => setHoveredThumb(null)}\r\n onFocus={() => setHoveredThumb(1)}\r\n onBlur={() => setHoveredThumb(null)}\r\n />\r\n }\r\n >\r\n <SliderTooltip\r\n content={formatTooltip(valuesArray()[1])}\r\n open={shouldShowTooltip(1)}\r\n position={isVertical() ? 'right' : 'top'}\r\n {...getTooltipProps()}\r\n >\r\n <div\r\n class={cn('sli07', activeThumb() === 1 && 'sli08', p.class?.handle)}\r\n tabIndex={p.disabled ? -1 : 0}\r\n role=\"slider\"\r\n aria-valuemin={p.min}\r\n aria-valuemax={p.max}\r\n aria-valuenow={valuesArray()[1]}\r\n aria-disabled={p.disabled}\r\n onMouseDown={e => handleThumbMouseDown(e, 1)}\r\n onTouchStart={e => handleThumbMouseDown(e, 1)}\r\n onMouseEnter={() => setHoveredThumb(1)}\r\n onMouseLeave={() => setHoveredThumb(null)}\r\n onFocus={() => setHoveredThumb(1)}\r\n onBlur={() => setHoveredThumb(null)}\r\n />\r\n </SliderTooltip>\r\n </Show>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { BaseColorProps } from '../../type';
|
|
3
|
+
export interface SliderTooltipProps {
|
|
4
|
+
hidden?: boolean;
|
|
5
|
+
forceOpen?: boolean;
|
|
6
|
+
formatter?: ((value: number) => string | number) | null;
|
|
7
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
8
|
+
color?: BaseColorProps;
|
|
9
|
+
class?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SliderProps {
|
|
12
|
+
class?: Partial<Record<'root' | 'dot' | 'handle' | 'mark' | 'markText' | 'rail' | 'track', string>>;
|
|
13
|
+
color?: BaseColorProps;
|
|
14
|
+
range?: boolean;
|
|
15
|
+
defaultValue?: number | [number, number];
|
|
16
|
+
value?: number | [number, number];
|
|
17
|
+
min?: number;
|
|
18
|
+
max?: number;
|
|
19
|
+
step?: number | null;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
reverse?: boolean;
|
|
22
|
+
orientation?: 'horizontal' | 'vertical';
|
|
23
|
+
dots?: boolean;
|
|
24
|
+
included?: boolean;
|
|
25
|
+
marks?: Record<number, string | {
|
|
26
|
+
style?: JSX.CSSProperties;
|
|
27
|
+
label: string;
|
|
28
|
+
}>;
|
|
29
|
+
tooltip?: SliderTooltipProps;
|
|
30
|
+
onChange?: (value: number | [number, number]) => void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=slider.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.types.d.ts","sourceRoot":"","sources":["../../../src/components/slider/slider.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CACb,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CACnF,CAAC;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9E,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,YAAY,EACV,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACZ,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Component } from 'solid-js';
|
|
2
|
+
import { PanelProps, SplitterProps } from './splitter.types';
|
|
3
|
+
export declare const SplitterPanel: Component<PanelProps>;
|
|
4
|
+
export declare const Splitter: Component<SplitterProps> & {
|
|
5
|
+
Panel: Component<PanelProps>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=splitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/splitter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,EAaV,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAEV,UAAU,EAGV,aAAa,EACd,MAAM,kBAAkB,CAAC;AAiG1B,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,UAAU,CAW/C,CAAC;AAiIF,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;CA4U/E,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{className as n,createComponent as r,delegateEvents as i,effect as a,insert as o,memo as s,setAttribute as c,style as l,template as u,use as d}from"solid-js/web";import{For as f,Show as p,children as m,createContext as h,createEffect as g,createMemo as _,createSignal as v,createUniqueId as y,mergeProps as b,on as x,onCleanup as S,useContext as C}from"solid-js";var w=u(`<svg width=10 height=10 viewBox="0 0 10 10"fill=currentColor><path d="M6 2L3 5l3 3V2z">`),T=u(`<svg width=10 height=10 viewBox="0 0 10 10"fill=currentColor><path d="M4 2l3 3-3 3V2z">`),E=u(`<svg width=10 height=10 viewBox="0 0 10 10"fill=currentColor><path d="M2 6l3-3 3 3H2z">`),D=u(`<svg width=10 height=10 viewBox="0 0 10 10"fill=currentColor><path d="M2 4l3 3 3-3H2z">`),O=u(`<button>`),k=u(`<div><div>`),A=u(`<div class=hidden>`),j=u(`<div class=sp09>`),M=u(`<div>`),N=h({orientation:`horizontal`}),P=h(null);function F(e){return typeof e==`function`?e():e}var I=()=>w(),L=()=>T(),R=()=>E(),z=()=>D();function B(e,t,n){return Math.min(Math.max(e,t),n)}function V(e,t,n,r,i){let a=t;for(;a>=0&&i[a];)a--;let o=t+1;for(;o<e.length&&i[o];)o++;if(a<0||o>=e.length)return e;let s=[...e],c=r[a]?.props,l=r[o]?.props,u=c?.min??0,d=c?.max??100,f=l?.min??0,p=l?.max??100,m=s[a]+s[o],h=B(s[a]+n,u,Math.min(d,m-f)),g=m-h;return g>p&&(g=p,h=m-g,h<u||h>d)||g<f?e:(s[a]=h,s[o]=g,s)}var H=e=>{let t=C(P),n=y();return t&&(t.register({id:n,props:e}),S(function(){t.unregister(n)})),null},U=t=>{let i=t.dIdx,l=_(()=>t.getPanelList()[i]?.props.resizable!==!1),u=_(()=>t.getPanelList()[i+1]?.props.resizable!==!1),d=_(()=>l()&&u()),f=_(()=>t.getDraggingIdx()===i),m=_(()=>t.getPanelList()[i]?.props.collapsible??!1),h=_(()=>t.getPanelList()[i+1]?.props.collapsible??!1),g=_(()=>m()||h()),v=_(()=>t.getCollapsed()[i]??!1),y=_(()=>t.getCollapsed()[i+1]??!1),b=_(()=>t.showCollapsibleIcon()===!0),x=_(()=>t.orientation()===`horizontal`),S=_(()=>t.collapsedControlled()||t.showCollapsibleIcon()===!1||!g()?!1:h()||v()),C=_(()=>t.collapsedControlled()||t.showCollapsibleIcon()===!1||!g()?!1:m()||y());return(()=>{var l=k(),u=l.firstChild;return l.$$dblclick=()=>t.onDblClick(i),l.$$mousedown=e=>t.onMouseDown(i,e),o(u,(()=>{var e=s(()=>!!t.draggerIcon);return()=>e()?F(t.draggerIcon):null})()),o(l,r(p,{get when(){return C()},get children(){var l=O();return l.$$click=e=>{e.stopPropagation(),y()?t.onCollapse(i+1):t.onCollapse(i)},o(l,(()=>{var e=s(()=>!!v());return()=>e()?F(t.collapsibleIcon?.expand??(x()?r(L,{}):r(z,{}))):s(()=>!!y())()?F(t.collapsibleIcon?.expand??(x()?r(I,{}):r(R,{}))):F(t.collapsibleIcon?.collapse??(x()?r(I,{}):r(R,{})))})()),a(r=>{var i=e(`sp10`,`sp11`,b()&&`sp13`,(v()||y())&&`sp14`,t.class?.collapseBtn),a=v()||y()?`Expand`:`Collapse`;return i!==r.e&&n(l,r.e=i),a!==r.t&&c(l,`title`,r.t=a),r},{e:void 0,t:void 0}),l}}),null),o(l,r(p,{get when(){return S()},get children(){var l=O();return l.$$click=e=>{e.stopPropagation(),v()?t.onCollapse(i):t.onCollapse(i+1)},o(l,(()=>{var e=s(()=>!!y());return()=>e()?F(t.collapsibleIcon?.expand??(x()?r(I,{}):r(R,{}))):s(()=>!!v())()?F(t.collapsibleIcon?.expand??(x()?r(L,{}):r(z,{}))):F(t.collapsibleIcon?.collapse??(x()?r(L,{}):r(z,{})))})()),a(r=>{var i=e(`sp10`,`sp12`,b()&&`sp13`,(y()||v())&&`sp14`,t.class?.collapseBtn),a=y()?`Collapse`:`Expand`;return i!==r.e&&n(l,r.e=i),a!==r.t&&c(l,`title`,r.t=a),r},{e:void 0,t:void 0}),l}}),null),a(r=>{var i=e(`sp06`,!d()&&`sp07`,f()&&`sp08`,t.class?.dragger),a=e(`sp15`,t.class?.draggerBar);return i!==r.e&&n(l,r.e=i),a!==r.t&&n(u,r.t=a),r},{e:void 0,t:void 0}),l})()},W=i=>{let s=b({orientation:`horizontal`,lazy:!1,color:`primary`},i),u=_(()=>s.vertical?`vertical`:s.orientation??`horizontal`),[h,y]=v([]),C={register(e){y(t=>{let n=t.findIndex(t=>t.id===e.id);if(n>=0){let r=[...t];return r[n]=e,r}return[...t,e]})},unregister(e){y(t=>t.filter(t=>t.id!==e))}},w=m(()=>r(P.Provider,{value:C,get children(){return s.children}}));function T(e){let t=e.length;if(t===0)return[];if(s.size&&s.size.length===t)return[...s.size];let n=e.map(e=>e.props.size??e.props.defaultSize);if(n.every(e=>e!==void 0)){let e=n.reduce((e,t)=>e+t,0);return n.map(t=>t/e*100)}let r=n.filter(e=>e!==void 0).reduce((e,t)=>e+t,0),i=n.filter(e=>e===void 0).length,a=i>0?Math.max(0,100-r)/i:0;return n.map(e=>e===void 0?a:e)}let E=_(()=>Array.isArray(s.collapsed)),[D,O]=v([]),[k,F]=v([]),[I,L]=v(null),R=_(()=>E()?s.collapsed:k()),z=e=>{E()||F(e)},[B,H]=v(null);g(x(h,e=>{e.length!==0&&(O(T(e)),F(e.map(()=>!1)))})),g(x(()=>s.size,e=>{e&&e.length===h().length&&O([...e])}));let W,G=0;g(function(){if(!W)return;let e=u()===`horizontal`,t=new ResizeObserver(t=>{let n=t[0];n&&(G=e?n.contentRect.width:n.contentRect.height)});t.observe(W),S(function(){t.disconnect()})});function K(){return G}function q(){let e=R(),t=D(),n=t.reduce((t,n,r)=>t+(e[r]?0:n),0);return n===0?t.map(()=>0):t.map((t,r)=>e[r]?t:t/n*100)}let J=0,Y=[],X=[];function ee(e,t){let n=h();n[e]?.props.resizable!==!1&&n[e+1]?.props.resizable!==!1&&(t.preventDefault(),L(e),J=u()===`horizontal`?t.clientX:t.clientY,Y=q(),X=[...R()],s.onResizeStart?.({sizes:Y,index:e}),document.addEventListener(`mousemove`,Q),document.addEventListener(`mouseup`,$))}function Z(e,t){let n=[...R()],r=!1;n[t]&&e[t]>0&&(n[t]=!1,r=!0),n[t+1]&&e[t+1]>0&&(n[t+1]=!1,r=!0),r&&z(n),O(e)}function Q(e){let t=I();if(t===null)return;let n=u()===`horizontal`?e.clientX:e.clientY,r=K();if(r===0)return;let i=(n-J)/r*100,a=V(Y,t,i,h(),X);s.lazy?H(a.slice(0,t+1).reduce((e,t)=>e+t,0)/100*r):(Z(a,t),s.onResize?.({sizes:a,index:t}))}function $(e){let t=I();if(t!==null){if(s.lazy){let n=u()===`horizontal`?e.clientX:e.clientY,r=K();if(r>0){let e=(n-J)/r*100,i=V(Y,t,e,h(),X);Z(i,t),s.onResize?.({sizes:i,index:t}),s.onResizeEnd?.({sizes:i,index:t})}H(null)}else s.onResizeEnd?.({sizes:D(),index:t});L(null),document.removeEventListener(`mousemove`,Q),document.removeEventListener(`mouseup`,$)}}S(function(){document.removeEventListener(`mousemove`,Q),document.removeEventListener(`mouseup`,$)});function te(e){if(!h()[e]?.props.collapsible)return;let t=R(),n=[...t];t[e]?(n[e]=!1,z(n),s.onCollapse?.({sizes:D(),collapsed:n,index:e})):(n[e]=!0,z(n),s.onCollapse?.({sizes:D(),collapsed:n,index:e}))}let ne=_(()=>{let e=B();return e===null?{display:`none`}:u()===`horizontal`?{display:`block`,left:`${e}px`}:{display:`block`,top:`${e}px`}});return r(N.Provider,{get value(){return{orientation:u()}},get children(){return[(()=>{var e=A();return o(e,w),e})(),(()=>{var i=M(),m=W;return typeof m==`function`?d(m,i):W=i,o(i,r(f,{get each(){return h()},children:(t,i)=>{let d=_(()=>R()[i()]??!1),f=_(()=>{if(d())return{display:`none`};let e=R(),n=D(),r=n.reduce((t,n,r)=>t+(e[r]?0:n),0),a=n[i()]??0,o=r>0?a/r*100:0;return u()===`horizontal`?{"flex-basis":`${o}%`,"min-width":`${t.props.min??0}%`}:{"flex-basis":`${o}%`,"min-height":`${t.props.min??0}%`}}),m=_(()=>{if(i()>=h().length-1)return!1;let e=R();if(E())return!e[i()]&&!(e[i()+1]??!1);let t=!1;for(let n=i();n>=0;n--)if(!e[n]){t=!0;break}let n=!1;for(let t=i()+1;t<h().length;t++)if(!e[t]){n=!0;break}return t||n});return[(()=>{var r=M();return o(r,()=>t.props.children),a(i=>{var a=e(`sp04`,d()&&`sp05`,t.props.class,s.class?.panel),o=f(),u=t.id;return a!==i.e&&n(r,i.e=a),i.t=l(r,o,i.t),u!==i.a&&c(r,`data-panel-id`,i.a=u),i},{e:void 0,t:void 0,a:void 0}),r})(),r(p,{get when(){return m()},get children(){return r(U,{get dIdx(){return i()},getPanelList:h,getCollapsed:R,getDraggingIdx:I,orientation:u,get draggerIcon(){return s.draggerIcon},showCollapsibleIcon:()=>s.showCollapsibleIcon??`auto`,get collapsibleIcon(){return s.collapsibleIcon},collapsedControlled:E,get class(){return s.class},onMouseDown:ee,onDblClick:e=>s.onDraggerDoubleClick?.(e,D()),onCollapse:te})}})]}}),null),o(i,r(p,{get when(){return s.lazy},get children(){var e=j();return a(t=>l(e,ne(),t)),e}}),null),a(()=>n(i,e(`sp01`,u()===`vertical`?`sp02`:`sp03`,t(s.color),s.class?.root))),i})()]}})};W.Panel=H,i([`mousedown`,`dblclick`,`click`]);export{W as Splitter,H as SplitterPanel};
|
|
2
|
+
//# sourceMappingURL=splitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter.js","names":["cn","getColor","children","Component","createContext","createEffect","createMemo","createSignal","createUniqueId","For","JSX","mergeProps","on","onCleanup","Show","useContext","CollapsibleConfig","PanelProps","SplitterContextValue","SplitterOrientation","SplitterProps","SplitterContext","orientation","PanelRegistration","id","props","PanelRegistryContextValue","register","reg","unregister","PanelRegistryContext","renderIcon","icon","Element","CollapseLeft","_tmpl$","CollapseRight","_tmpl$2","CollapseUp","_tmpl$3","CollapseDown","_tmpl$4","clamp","v","min","max","Math","redistributeSizes","sizes","draggerIdx","delta","panelMetas","collapsed","leftIdx","rightIdx","length","next","leftMeta","rightMeta","leftMin","leftMax","rightMin","rightMax","totalAvail","newLeft","newRight","SplitterPanel","rawProps","registry","unregisterPanel","DraggerItemProps","dIdx","getPanelList","getCollapsed","getDraggingIdx","draggerIcon","showCollapsibleIcon","collapsibleIcon","collapse","expand","collapsedControlled","class","onMouseDown","idx","e","MouseEvent","onDblClick","onCollapse","panelIdx","DraggerItem","p","leftResizable","resizable","rightResizable","canResize","isDragging","leftCollapsible","collapsible","rightCollapsible","hasCollapse","isLeftCollapsed","isRightCollapsed","iconAlwaysShow","isH","showBtnNext","cfg","showBtnPrevFull","_el$5","_tmpl$6","_el$6","firstChild","$$dblclick","$$mousedown","_$insert","_c$","_$memo","_$createComponent","when","_el$7","_tmpl$5","$$click","stopPropagation","_c$2","_$effect","_p$","_v$","collapseBtn","_v$2","_$className","t","_$setAttribute","undefined","_el$8","_c$3","_v$3","_v$4","_v$5","dragger","_v$6","draggerBar","Splitter","Panel","lazy","color","const","vertical","setPanelMetas","prev","findIndex","r","filter","resolvedChildren","Provider","value","initSizes","metas","n","size","raw","map","m","defaultSize","hasAll","every","total","reduce","s","definedTotal","undefinedCount","eachUndefined","isCollapsedControlled","Array","isArray","setSizes","collapsedInternal","setCollapsedInternal","draggingIdx","setDraggingIdx","setCollapsed","lazyGhostPos","setLazyGhostPos","controlled","containerRef","HTMLDivElement","cachedContainerSize","observeContainerSize","observer","ResizeObserver","entries","entry","contentRect","width","height","observe","disconnectContainerObserver","disconnect","getContainerSize","getNormalizedSizes","col","visibleTotal","sum","i","dragStartPos","dragStartSizes","dragStartCollapsed","onDraggerMouseDown","preventDefault","clientX","clientY","onResizeStart","index","document","addEventListener","onMouseMove","onMouseUp","applyNewSizes","newSizes","changed","pos","containerSize","deltaPct","leftSumPct","slice","onResize","onResizeEnd","removeEventListener","removeDragListeners","collapsePanel","currentCollapsed","newCollapsed","ghostStyle","CSSProperties","display","left","top","_el$9","_tmpl$7","_el$0","_tmpl$9","_ref$","_$use","each","meta","isCollapsed","panelStyle","rawSizes","normalized","showDragger","hasVisibleLeft","hasVisibleRight","_el$10","_v$7","panel","_v$8","_v$9","_$style","a","onDraggerDoubleClick","_el$1","_tmpl$8","_$p","root","_$delegateEvents"],"sources":["../../../src/components/splitter/splitter.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { getColor } from '@utils/helper';\r\nimport {\r\n children,\r\n Component,\r\n createContext,\r\n createEffect,\r\n createMemo,\r\n createSignal,\r\n createUniqueId,\r\n For,\r\n JSX,\r\n mergeProps,\r\n on,\r\n onCleanup,\r\n Show,\r\n useContext,\r\n} from 'solid-js';\r\nimport type {\r\n CollapsibleConfig,\r\n PanelProps,\r\n SplitterContextValue,\r\n SplitterOrientation,\r\n SplitterProps,\r\n} from './splitter.types';\r\n\r\nconst SplitterContext = createContext<SplitterContextValue>({ orientation: 'horizontal' });\r\n\r\ntype PanelRegistration = {\r\n id: string;\r\n props: PanelProps;\r\n};\r\n\r\ntype PanelRegistryContextValue = {\r\n register: (reg: PanelRegistration) => void;\r\n unregister: (id: string) => void;\r\n};\r\n\r\nconst PanelRegistryContext = createContext<PanelRegistryContextValue | null>(null);\r\n\r\nfunction renderIcon(icon: JSX.Element | (() => JSX.Element) | undefined): JSX.Element {\r\n if (typeof icon === 'function') return (icon as () => JSX.Element)();\r\n return icon as JSX.Element;\r\n}\r\n\r\nconst CollapseLeft = () => (\r\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\">\r\n <path d=\"M6 2L3 5l3 3V2z\" />\r\n </svg>\r\n);\r\n\r\nconst CollapseRight = () => (\r\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\">\r\n <path d=\"M4 2l3 3-3 3V2z\" />\r\n </svg>\r\n);\r\n\r\nconst CollapseUp = () => (\r\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\">\r\n <path d=\"M2 6l3-3 3 3H2z\" />\r\n </svg>\r\n);\r\n\r\nconst CollapseDown = () => (\r\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\">\r\n <path d=\"M2 4l3 3 3-3H2z\" />\r\n </svg>\r\n);\r\n\r\nfunction clamp(v: number, min: number, max: number) {\r\n return Math.min(Math.max(v, min), max);\r\n}\r\n\r\nfunction redistributeSizes(\r\n sizes: number[],\r\n draggerIdx: number,\r\n delta: number,\r\n panelMetas: PanelRegistration[],\r\n collapsed: boolean[],\r\n): number[] {\r\n // Tìm panel visible thực sự ở hai phía của dragger.\r\n // Bỏ qua các panel đang collapsed vì chúng bị CSS force về 0 và không\r\n // đóng góp vào tổng width thực tế — redistribute vào chúng sẽ tạo gap.\r\n let leftIdx = draggerIdx;\r\n while (leftIdx >= 0 && collapsed[leftIdx]) leftIdx--;\r\n\r\n let rightIdx = draggerIdx + 1;\r\n while (rightIdx < sizes.length && collapsed[rightIdx]) rightIdx++;\r\n\r\n if (leftIdx < 0 || rightIdx >= sizes.length) return sizes;\r\n\r\n const next = [...sizes];\r\n\r\n const leftMeta = panelMetas[leftIdx]?.props;\r\n const rightMeta = panelMetas[rightIdx]?.props;\r\n\r\n const leftMin = leftMeta?.min ?? 0;\r\n const leftMax = leftMeta?.max ?? 100;\r\n const rightMin = rightMeta?.min ?? 0;\r\n const rightMax = rightMeta?.max ?? 100;\r\n\r\n const totalAvail = next[leftIdx] + next[rightIdx];\r\n\r\n // Clamp newLeft trong khoảng [leftMin, leftMax] và đảm bảo right có đủ chỗ tối thiểu\r\n let newLeft = clamp(next[leftIdx] + delta, leftMin, Math.min(leftMax, totalAvail - rightMin));\r\n let newRight = totalAvail - newLeft;\r\n\r\n // Nếu right vượt quá rightMax, clamp right lại và tính lại left\r\n if (newRight > rightMax) {\r\n newRight = rightMax;\r\n newLeft = totalAvail - newRight;\r\n if (newLeft < leftMin || newLeft > leftMax) return sizes;\r\n }\r\n\r\n if (newRight < rightMin) return sizes;\r\n\r\n next[leftIdx] = newLeft;\r\n next[rightIdx] = newRight;\r\n return next;\r\n}\r\n\r\nexport const SplitterPanel: Component<PanelProps> = rawProps => {\r\n const registry = useContext(PanelRegistryContext);\r\n const id = createUniqueId();\r\n\r\n if (registry) {\r\n registry.register({ id, props: rawProps });\r\n onCleanup(function unregisterPanel() {\r\n registry.unregister(id);\r\n });\r\n }\r\n return null;\r\n};\r\n\r\ntype DraggerItemProps = {\r\n dIdx: number;\r\n getPanelList: () => PanelRegistration[];\r\n getCollapsed: () => boolean[];\r\n getDraggingIdx: () => number | null;\r\n orientation: () => SplitterOrientation;\r\n draggerIcon?: JSX.Element | (() => JSX.Element);\r\n showCollapsibleIcon: () => CollapsibleConfig;\r\n collapsibleIcon?: {\r\n collapse?: JSX.Element | (() => JSX.Element);\r\n expand?: JSX.Element | (() => JSX.Element);\r\n };\r\n collapsedControlled: () => boolean;\r\n class?: SplitterProps['class'];\r\n onMouseDown: (idx: number, e: MouseEvent) => void;\r\n onDblClick: (idx: number) => void;\r\n onCollapse: (panelIdx: number) => void;\r\n};\r\n\r\nconst DraggerItem: Component<DraggerItemProps> = p => {\r\n const dIdx = p.dIdx;\r\n\r\n const leftResizable = createMemo(() => p.getPanelList()[dIdx]?.props.resizable !== false);\r\n const rightResizable = createMemo(() => p.getPanelList()[dIdx + 1]?.props.resizable !== false);\r\n const canResize = createMemo(() => leftResizable() && rightResizable());\r\n const isDragging = createMemo(() => p.getDraggingIdx() === dIdx);\r\n\r\n const leftCollapsible = createMemo(() => p.getPanelList()[dIdx]?.props.collapsible ?? false);\r\n const rightCollapsible = createMemo(() => p.getPanelList()[dIdx + 1]?.props.collapsible ?? false);\r\n const hasCollapse = createMemo(() => leftCollapsible() || rightCollapsible());\r\n\r\n const isLeftCollapsed = createMemo(() => p.getCollapsed()[dIdx] ?? false);\r\n const isRightCollapsed = createMemo(() => p.getCollapsed()[dIdx + 1] ?? false);\r\n\r\n const iconAlwaysShow = createMemo(() => p.showCollapsibleIcon() === true);\r\n const isH = createMemo(() => p.orientation() === 'horizontal');\r\n\r\n const showBtnNext = createMemo(() => {\r\n if (p.collapsedControlled()) return false;\r\n const cfg = p.showCollapsibleIcon();\r\n if (cfg === false) return false;\r\n if (!hasCollapse()) return false;\r\n\r\n return rightCollapsible() || isLeftCollapsed();\r\n });\r\n\r\n const showBtnPrevFull = createMemo(() => {\r\n if (p.collapsedControlled()) return false;\r\n const cfg = p.showCollapsibleIcon();\r\n if (cfg === false) return false;\r\n if (!hasCollapse()) return false;\r\n return leftCollapsible() || isRightCollapsed();\r\n });\r\n\r\n return (\r\n <div\r\n class={cn('sp06', !canResize() && 'sp07', isDragging() && 'sp08', p.class?.dragger)}\r\n onMouseDown={e => p.onMouseDown(dIdx, e)}\r\n onDblClick={() => p.onDblClick(dIdx)}\r\n >\r\n <div class={cn('sp15', p.class?.draggerBar)}>\r\n {p.draggerIcon ? renderIcon(p.draggerIcon) : null}\r\n </div>\r\n\r\n <Show when={showBtnPrevFull()}>\r\n <button\r\n class={cn(\r\n 'sp10',\r\n 'sp11',\r\n iconAlwaysShow() && 'sp13',\r\n\r\n (isLeftCollapsed() || isRightCollapsed()) && 'sp14',\r\n p.class?.collapseBtn,\r\n )}\r\n title={isLeftCollapsed() || isRightCollapsed() ? 'Expand' : 'Collapse'}\r\n onClick={e => {\r\n e.stopPropagation();\r\n\r\n if (isRightCollapsed()) p.onCollapse(dIdx + 1);\r\n else p.onCollapse(dIdx);\r\n }}\r\n >\r\n {isLeftCollapsed()\r\n ? renderIcon(\r\n p.collapsibleIcon?.expand ?? (isH() ? <CollapseRight /> : <CollapseDown />),\r\n )\r\n : isRightCollapsed()\r\n ? renderIcon(p.collapsibleIcon?.expand ?? (isH() ? <CollapseLeft /> : <CollapseUp />))\r\n : renderIcon(\r\n p.collapsibleIcon?.collapse ?? (isH() ? <CollapseLeft /> : <CollapseUp />),\r\n )}\r\n </button>\r\n </Show>\r\n\r\n <Show when={showBtnNext()}>\r\n <button\r\n class={cn(\r\n 'sp10',\r\n 'sp12',\r\n iconAlwaysShow() && 'sp13',\r\n\r\n (isRightCollapsed() || isLeftCollapsed()) && 'sp14',\r\n p.class?.collapseBtn,\r\n )}\r\n title={isRightCollapsed() ? 'Collapse' : 'Expand'}\r\n onClick={e => {\r\n e.stopPropagation();\r\n\r\n if (isLeftCollapsed()) p.onCollapse(dIdx);\r\n else p.onCollapse(dIdx + 1);\r\n }}\r\n >\r\n {isRightCollapsed()\r\n ? renderIcon(p.collapsibleIcon?.expand ?? (isH() ? <CollapseLeft /> : <CollapseUp />))\r\n : isLeftCollapsed()\r\n ? renderIcon(\r\n p.collapsibleIcon?.expand ?? (isH() ? <CollapseRight /> : <CollapseDown />),\r\n )\r\n : renderIcon(\r\n p.collapsibleIcon?.collapse ?? (isH() ? <CollapseRight /> : <CollapseDown />),\r\n )}\r\n </button>\r\n </Show>\r\n </div>\r\n );\r\n};\r\n\r\nexport const Splitter: Component<SplitterProps> & { Panel: Component<PanelProps> } = rawProps => {\r\n const p = mergeProps(\r\n {\r\n orientation: 'horizontal' as SplitterOrientation,\r\n lazy: false,\r\n color: 'primary' as const,\r\n },\r\n rawProps,\r\n );\r\n\r\n const orientation = createMemo<SplitterOrientation>(() =>\r\n p.vertical ? 'vertical' : (p.orientation ?? 'horizontal'),\r\n );\r\n\r\n const [panelMetas, setPanelMetas] = createSignal<PanelRegistration[]>([]);\r\n\r\n const registry: PanelRegistryContextValue = {\r\n register(reg) {\r\n setPanelMetas(prev => {\r\n const idx = prev.findIndex(r => r.id === reg.id);\r\n if (idx >= 0) {\r\n const next = [...prev];\r\n next[idx] = reg;\r\n return next;\r\n }\r\n return [...prev, reg];\r\n });\r\n },\r\n unregister(id) {\r\n setPanelMetas(prev => prev.filter(r => r.id !== id));\r\n },\r\n };\r\n\r\n const resolvedChildren = children(() => (\r\n <PanelRegistryContext.Provider value={registry}>{p.children}</PanelRegistryContext.Provider>\r\n ));\r\n\r\n function initSizes(metas: PanelRegistration[]): number[] {\r\n const n = metas.length;\r\n if (n === 0) return [];\r\n if (p.size && p.size.length === n) return [...p.size];\r\n\r\n const raw = metas.map(m => m.props.size ?? m.props.defaultSize);\r\n const hasAll = raw.every(v => v !== undefined);\r\n if (hasAll) {\r\n const total = raw.reduce((s, v) => s + v!, 0);\r\n return raw.map(v => (v! / total) * 100);\r\n }\r\n\r\n const definedTotal = (raw.filter(v => v !== undefined) as number[]).reduce((s, v) => s + v, 0);\r\n const undefinedCount = raw.filter(v => v === undefined).length;\r\n const eachUndefined = undefinedCount > 0 ? Math.max(0, 100 - definedTotal) / undefinedCount : 0;\r\n return raw.map(v => (v !== undefined ? v : eachUndefined));\r\n }\r\n\r\n const isCollapsedControlled = createMemo(() => Array.isArray(p.collapsed));\r\n\r\n const [sizes, setSizes] = createSignal<number[]>([]);\r\n const [collapsedInternal, setCollapsedInternal] = createSignal<boolean[]>([]);\r\n const [draggingIdx, setDraggingIdx] = createSignal<number | null>(null);\r\n\r\n const collapsed = createMemo(() =>\r\n isCollapsedControlled() ? (p.collapsed as boolean[]) : collapsedInternal(),\r\n );\r\n const setCollapsed = (next: boolean[]) => {\r\n if (!isCollapsedControlled()) setCollapsedInternal(next);\r\n };\r\n\r\n const [lazyGhostPos, setLazyGhostPos] = createSignal<number | null>(null);\r\n\r\n createEffect(\r\n on(panelMetas, metas => {\r\n if (metas.length === 0) return;\r\n setSizes(initSizes(metas));\r\n setCollapsedInternal(metas.map(() => false));\r\n }),\r\n );\r\n\r\n createEffect(\r\n on(\r\n () => p.size,\r\n controlled => {\r\n if (!controlled) return;\r\n if (controlled.length === panelMetas().length) setSizes([...controlled]);\r\n },\r\n ),\r\n );\r\n\r\n let containerRef: HTMLDivElement | undefined;\r\n let cachedContainerSize = 0;\r\n\r\n createEffect(function observeContainerSize() {\r\n if (!containerRef) return;\r\n const isH = orientation() === 'horizontal';\r\n const observer = new ResizeObserver(entries => {\r\n const entry = entries[0];\r\n if (!entry) return;\r\n cachedContainerSize = isH ? entry.contentRect.width : entry.contentRect.height;\r\n });\r\n observer.observe(containerRef);\r\n onCleanup(function disconnectContainerObserver() {\r\n observer.disconnect();\r\n });\r\n });\r\n\r\n function getContainerSize(): number {\r\n return cachedContainerSize;\r\n }\r\n\r\n // Trả về sizes đã normalize: tổng 100% chỉ tính trên panel visible\r\n function getNormalizedSizes(): number[] {\r\n const col = collapsed();\r\n const raw = sizes();\r\n const visibleTotal = raw.reduce((sum, s, i) => sum + (col[i] ? 0 : s), 0);\r\n if (visibleTotal === 0) return raw.map(() => 0);\r\n return raw.map((s, i) => (col[i] ? s : (s / visibleTotal) * 100));\r\n }\r\n\r\n let dragStartPos = 0;\r\n let dragStartSizes: number[] = [];\r\n let dragStartCollapsed: boolean[] = [];\r\n\r\n function onDraggerMouseDown(idx: number, e: MouseEvent) {\r\n const metas = panelMetas();\r\n if (metas[idx]?.props.resizable === false) return;\r\n if (metas[idx + 1]?.props.resizable === false) return;\r\n\r\n e.preventDefault();\r\n setDraggingIdx(idx);\r\n dragStartPos = orientation() === 'horizontal' ? e.clientX : e.clientY;\r\n dragStartSizes = getNormalizedSizes();\r\n dragStartCollapsed = [...collapsed()];\r\n p.onResizeStart?.({ sizes: dragStartSizes, index: idx });\r\n\r\n document.addEventListener('mousemove', onMouseMove);\r\n document.addEventListener('mouseup', onMouseUp);\r\n }\r\n\r\n function applyNewSizes(newSizes: number[], idx: number) {\r\n const col = [...collapsed()];\r\n let changed = false;\r\n if (col[idx] && newSizes[idx] > 0) {\r\n col[idx] = false;\r\n changed = true;\r\n }\r\n if (col[idx + 1] && newSizes[idx + 1] > 0) {\r\n col[idx + 1] = false;\r\n changed = true;\r\n }\r\n if (changed) setCollapsed(col);\r\n setSizes(newSizes);\r\n }\r\n\r\n function onMouseMove(e: MouseEvent) {\r\n const idx = draggingIdx();\r\n if (idx === null) return;\r\n\r\n const pos = orientation() === 'horizontal' ? e.clientX : e.clientY;\r\n const containerSize = getContainerSize();\r\n if (containerSize === 0) return;\r\n\r\n const deltaPct = ((pos - dragStartPos) / containerSize) * 100;\r\n const newSizes = redistributeSizes(dragStartSizes, idx, deltaPct, panelMetas(), dragStartCollapsed);\r\n\r\n if (p.lazy) {\r\n const leftSumPct = newSizes.slice(0, idx + 1).reduce((s, v) => s + v, 0);\r\n setLazyGhostPos((leftSumPct / 100) * containerSize);\r\n } else {\r\n applyNewSizes(newSizes, idx);\r\n p.onResize?.({ sizes: newSizes, index: idx });\r\n }\r\n }\r\n\r\n function onMouseUp(e: MouseEvent) {\r\n const idx = draggingIdx();\r\n if (idx === null) return;\r\n\r\n if (p.lazy) {\r\n const pos = orientation() === 'horizontal' ? e.clientX : e.clientY;\r\n const containerSize = getContainerSize();\r\n if (containerSize > 0) {\r\n const deltaPct = ((pos - dragStartPos) / containerSize) * 100;\r\n const newSizes = redistributeSizes(dragStartSizes, idx, deltaPct, panelMetas(), dragStartCollapsed);\r\n applyNewSizes(newSizes, idx);\r\n p.onResize?.({ sizes: newSizes, index: idx });\r\n p.onResizeEnd?.({ sizes: newSizes, index: idx });\r\n }\r\n setLazyGhostPos(null);\r\n } else {\r\n p.onResizeEnd?.({ sizes: sizes(), index: idx });\r\n }\r\n\r\n setDraggingIdx(null);\r\n document.removeEventListener('mousemove', onMouseMove);\r\n document.removeEventListener('mouseup', onMouseUp);\r\n }\r\n\r\n onCleanup(function removeDragListeners() {\r\n document.removeEventListener('mousemove', onMouseMove);\r\n document.removeEventListener('mouseup', onMouseUp);\r\n });\r\n\r\n function collapsePanel(panelIdx: number) {\r\n const metas = panelMetas();\r\n if (!metas[panelIdx]?.props.collapsible) return;\r\n\r\n const currentCollapsed = collapsed();\r\n const newCollapsed = [...currentCollapsed];\r\n\r\n if (currentCollapsed[panelIdx]) {\r\n // Expand: chỉ bỏ collapsed flag — render tự normalize sizes\r\n newCollapsed[panelIdx] = false;\r\n setCollapsed(newCollapsed);\r\n p.onCollapse?.({ sizes: sizes(), collapsed: newCollapsed, index: panelIdx });\r\n } else {\r\n // Collapse: chỉ đánh dấu collapsed — render tự normalize sizes\r\n newCollapsed[panelIdx] = true;\r\n setCollapsed(newCollapsed);\r\n p.onCollapse?.({ sizes: sizes(), collapsed: newCollapsed, index: panelIdx });\r\n }\r\n }\r\n\r\n const ghostStyle = createMemo<JSX.CSSProperties>(() => {\r\n const pos = lazyGhostPos();\r\n\r\n if (pos === null) return { display: 'none' };\r\n return orientation() === 'horizontal'\r\n ? { display: 'block', left: `${pos}px` }\r\n : { display: 'block', top: `${pos}px` };\r\n });\r\n\r\n return (\r\n <SplitterContext.Provider value={{ orientation: orientation() }}>\r\n <div class=\"hidden\">{resolvedChildren()}</div>\r\n\r\n <div\r\n ref={containerRef}\r\n class={cn(\r\n 'sp01',\r\n orientation() === 'vertical' ? 'sp02' : 'sp03',\r\n getColor(p.color),\r\n p.class?.root,\r\n )}\r\n >\r\n <For each={panelMetas()}>\r\n {(meta, idx) => {\r\n const isCollapsed = createMemo(() => collapsed()[idx()] ?? false);\r\n\r\n // Tính normalized size: chia đều 100% cho các panel visible\r\n const panelStyle = createMemo<JSX.CSSProperties>(() => {\r\n if (isCollapsed()) return { display: 'none' };\r\n\r\n const col = collapsed();\r\n const rawSizes = sizes();\r\n\r\n // Tính tổng size của các panel visible\r\n const visibleTotal = rawSizes.reduce(\r\n (sum, s, i) => sum + (col[i] ? 0 : s),\r\n 0,\r\n );\r\n\r\n const s = rawSizes[idx()] ?? 0;\r\n const normalized = visibleTotal > 0 ? (s / visibleTotal) * 100 : 0;\r\n\r\n return orientation() === 'horizontal'\r\n ? { 'flex-basis': `${normalized}%`, 'min-width': `${meta.props.min ?? 0}%` }\r\n : { 'flex-basis': `${normalized}%`, 'min-height': `${meta.props.min ?? 0}%` };\r\n });\r\n\r\n // Dragger sau panel idx() — ẩn chỉ khi cả hai phía đều không có panel visible.\r\n // Trong controlled mode: ẩn dragger nếu một trong hai panel kề trực tiếp bị ẩn,\r\n // vì nút collapse/expand đã bị tắt và thanh chỉ còn dùng để resize (vô nghĩa khi\r\n // một bên không hiển thị).\r\n const showDragger = createMemo(() => {\r\n if (idx() >= panelMetas().length - 1) return false;\r\n const col = collapsed();\r\n\r\n if (isCollapsedControlled()) {\r\n return !col[idx()] && !(col[idx() + 1] ?? false);\r\n }\r\n\r\n // Tìm panel visible gần nhất bên trái (bao gồm idx())\r\n let hasVisibleLeft = false;\r\n for (let i = idx(); i >= 0; i--) {\r\n if (!col[i]) { hasVisibleLeft = true; break; }\r\n }\r\n // Tìm panel visible gần nhất bên phải (idx()+1 trở đi)\r\n let hasVisibleRight = false;\r\n for (let i = idx() + 1; i < panelMetas().length; i++) {\r\n if (!col[i]) { hasVisibleRight = true; break; }\r\n }\r\n return hasVisibleLeft || hasVisibleRight;\r\n });\r\n\r\n return (\r\n <>\r\n <div\r\n class={cn('sp04', isCollapsed() && 'sp05', meta.props.class, p.class?.panel)}\r\n style={panelStyle()}\r\n data-panel-id={meta.id}\r\n >\r\n {meta.props.children}\r\n </div>\r\n\r\n <Show when={showDragger()}>\r\n <DraggerItem\r\n dIdx={idx()}\r\n getPanelList={panelMetas}\r\n getCollapsed={collapsed}\r\n getDraggingIdx={draggingIdx}\r\n orientation={orientation}\r\n draggerIcon={p.draggerIcon}\r\n showCollapsibleIcon={() => p.showCollapsibleIcon ?? 'auto'}\r\n collapsibleIcon={p.collapsibleIcon}\r\n collapsedControlled={isCollapsedControlled}\r\n class={p.class}\r\n onMouseDown={onDraggerMouseDown}\r\n onDblClick={dIdx => p.onDraggerDoubleClick?.(dIdx, sizes())}\r\n onCollapse={collapsePanel}\r\n />\r\n </Show>\r\n </>\r\n );\r\n }}\r\n </For>\r\n\r\n <Show when={p.lazy}>\r\n <div class=\"sp09\" style={ghostStyle()} />\r\n </Show>\r\n </div>\r\n </SplitterContext.Provider>\r\n );\r\n};\r\n\r\nSplitter.Panel = SplitterPanel;\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { BaseColorProps } from '../../type';
|
|
3
|
+
export type SplitterOrientation = 'horizontal' | 'vertical';
|
|
4
|
+
export type CollapsibleConfig = boolean | 'auto';
|
|
5
|
+
export type ResizeEvent = {
|
|
6
|
+
sizes: number[];
|
|
7
|
+
index: number;
|
|
8
|
+
};
|
|
9
|
+
export type CollapseEvent = {
|
|
10
|
+
sizes: number[];
|
|
11
|
+
collapsed: boolean[];
|
|
12
|
+
index: number;
|
|
13
|
+
};
|
|
14
|
+
export interface PanelProps {
|
|
15
|
+
defaultSize?: number;
|
|
16
|
+
size?: number;
|
|
17
|
+
min?: number;
|
|
18
|
+
max?: number;
|
|
19
|
+
resizable?: boolean;
|
|
20
|
+
collapsible?: boolean;
|
|
21
|
+
children?: JSX.Element;
|
|
22
|
+
class?: string;
|
|
23
|
+
}
|
|
24
|
+
type SplitterBaseProps = {
|
|
25
|
+
orientation?: SplitterOrientation;
|
|
26
|
+
vertical?: boolean;
|
|
27
|
+
lazy?: boolean;
|
|
28
|
+
size?: number[];
|
|
29
|
+
onResizeStart?: (e: ResizeEvent) => void;
|
|
30
|
+
onResize?: (e: ResizeEvent) => void;
|
|
31
|
+
onResizeEnd?: (e: ResizeEvent) => void;
|
|
32
|
+
onDraggerDoubleClick?: (index: number, sizes: number[]) => void;
|
|
33
|
+
draggerIcon?: JSX.Element | (() => JSX.Element);
|
|
34
|
+
color?: BaseColorProps;
|
|
35
|
+
children?: JSX.Element;
|
|
36
|
+
class?: Partial<Record<'root' | 'panel' | 'dragger' | 'draggerBar' | 'collapseBtn', string>>;
|
|
37
|
+
};
|
|
38
|
+
/** Uncontrolled collapse: icon buttons hoạt động bình thường */
|
|
39
|
+
type SplitterUncontrolledCollapse = SplitterBaseProps & {
|
|
40
|
+
collapsed?: never;
|
|
41
|
+
onCollapsedChange?: never;
|
|
42
|
+
onCollapse?: (e: CollapseEvent) => void;
|
|
43
|
+
collapsibleIcon?: {
|
|
44
|
+
collapse?: JSX.Element | (() => JSX.Element);
|
|
45
|
+
expand?: JSX.Element | (() => JSX.Element);
|
|
46
|
+
};
|
|
47
|
+
showCollapsibleIcon?: CollapsibleConfig;
|
|
48
|
+
};
|
|
49
|
+
/** Controlled collapse: caller tự quản lý trạng thái, icon buttons bị tắt */
|
|
50
|
+
type SplitterControlledCollapse = SplitterBaseProps & {
|
|
51
|
+
/** Mảng boolean tương ứng với từng panel — true = ẩn, false = hiện */
|
|
52
|
+
collapsed: boolean[];
|
|
53
|
+
/** Callback khi nội bộ muốn thay đổi (không dùng khi controlled) */
|
|
54
|
+
onCollapsedChange?: never;
|
|
55
|
+
onCollapse?: never;
|
|
56
|
+
collapsibleIcon?: never;
|
|
57
|
+
showCollapsibleIcon?: never;
|
|
58
|
+
};
|
|
59
|
+
export type SplitterProps = SplitterUncontrolledCollapse | SplitterControlledCollapse;
|
|
60
|
+
export interface SplitterContextValue {
|
|
61
|
+
orientation: SplitterOrientation;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=splitter.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter.types.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/splitter.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseColorProps } from '../../type';
|
|
2
|
+
import { Accessor, Component, JSX, Setter } from 'solid-js';
|
|
3
|
+
export type StepItem = {
|
|
4
|
+
title?: JSX.Element;
|
|
5
|
+
description?: JSX.Element;
|
|
6
|
+
icon?: JSX.Element;
|
|
7
|
+
};
|
|
8
|
+
export type StepsProps = {
|
|
9
|
+
type?: 'default' | 'navigation' | 'dot';
|
|
10
|
+
color?: BaseColorProps;
|
|
11
|
+
orientation?: 'horizontal' | 'vertical';
|
|
12
|
+
total?: number;
|
|
13
|
+
items?: StepItem[];
|
|
14
|
+
current?: Accessor<number>;
|
|
15
|
+
setCurrent?: Setter<number>;
|
|
16
|
+
onChange?: (index: number) => void;
|
|
17
|
+
disabled?: number[];
|
|
18
|
+
activeIndex?: number[];
|
|
19
|
+
class?: {
|
|
20
|
+
root?: string;
|
|
21
|
+
step?: string;
|
|
22
|
+
icon?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
connector?: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare const Steps: Component<StepsProps>;
|
|
29
|
+
//# sourceMappingURL=steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/components/steps/steps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAKxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAmB,GAAG,EAAc,MAAM,EAAQ,MAAM,UAAU,CAAC;AAI/F,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,KAAK,CAAC;IACxC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAiOF,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,UAAU,CAmDvC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{className as n,createComponent as r,delegateEvents as i,effect as a,insert as o,memo as s,mergeProps as c,setAttribute as l,template as u}from"solid-js/web";import{For as d,Show as f,createMemo as p,mergeProps as m}from"solid-js";import h from"lucide-solid/icons/check";import g from"lucide-solid/icons/arrow-right";var _=u(`<div>`),v=u(`<span class=ste17>`),y=u(`<div class=ste16>`),b=u(`<div><div class=ste18>`),x=u(`<span class=ste11 aria-hidden=true>`),S=u(`<div><div class=ste10><div class=ste18>`),C=u(`<div class=ste13><div>`),w=(e,t,n,r)=>n.includes(e)?`disabled`:r?.includes(e)||e===t?`active`:e<t?`done`:`upcoming`,T=t=>(()=>{var i=_();return o(i,r(f,{get when(){return s(()=>t.status===`done`)()&&!t.icon},get fallback(){return r(f,{get when(){return t.icon},get fallback(){return(()=>{var e=v();return o(e,()=>t.index+1),e})()},get children(){return t.icon}})},get children(){return r(h,{size:16,"stroke-width":3})}})),a(()=>n(i,e(`ste15`,t.class))),i})(),E=t=>(()=>{var i=_();return o(i,r(d,{get each(){return t.items},children:(i,c)=>{let u=()=>w(c(),t.current,t.disabled,t.activeIndex);return[r(f,{get when(){return s(()=>!t.isVertical)()&&c()>0},get children(){var r=_();return a(()=>n(r,e(`ste21 ste22`,`ste-s-${u()}`,t.class?.connector))),r}}),(()=>{var s=b(),d=s.firstChild;return s.$$click=()=>u()!==`disabled`&&t.onStepClick(c()),o(s,r(f,{get when(){return t.isVertical},get children(){var s=y();return o(s,r(T,{get index(){return c()},get status(){return u()},get icon(){return i.icon},get class(){return t.class?.icon}}),null),o(s,r(f,{get when(){return c()<t.items.length-1},get children(){var r=_();return a(()=>n(r,e(`ste21 ste23`,t.class?.connector))),r}}),null),s}}),d),o(s,r(f,{get when(){return!t.isVertical},get children(){return r(T,{get index(){return c()},get status(){return u()},get icon(){return i.icon},get class(){return t.class?.icon}})}}),d),o(d,r(f,{get when(){return i.title},get children(){var r=_();return o(r,()=>i.title),a(()=>n(r,e(`ste19`,t.class?.title))),r}}),null),o(d,r(f,{get when(){return i.description},get children(){var r=_();return o(r,()=>i.description),a(()=>n(r,e(`ste20`,t.class?.description))),r}}),null),a(r=>{var i=e(`ste07 ste08`,`ste-s-${u()}`,t.class?.step),a=u();return i!==r.e&&n(s,r.e=i),a!==r.t&&l(s,`data-status`,r.t=a),r},{e:void 0,t:void 0}),s})()]}})),a(()=>n(i,e(`ste01 ste02`,t.colorClass,t.isVertical?`ste06`:`ste05`,t.class?.root))),i})(),D=t=>(()=>{var i=_();return o(i,r(d,{get each(){return t.items},children:(i,c)=>{let u=()=>w(c(),t.current,t.disabled,t.activeIndex);return[r(f,{get when(){return s(()=>!t.isVertical)()&&c()>0},get children(){var e=x();return o(e,r(g,{size:14,"stroke-width":3,get color(){return u()===`active`||u()===`done`?`var(--color)`:`currentColor`}})),e}}),(()=>{var s=S(),d=s.firstChild,p=d.firstChild;return s.$$click=()=>u()!==`disabled`&&t.onStepClick(c()),o(d,r(T,{get index(){return c()},get status(){return u()},get icon(){return i.icon},get class(){return t.class?.icon}}),p),o(p,r(f,{get when(){return i.title},get children(){var r=_();return o(r,()=>i.title),a(()=>n(r,e(`ste19`,t.class?.title))),r}}),null),o(p,r(f,{get when(){return i.description},get children(){var r=_();return o(r,()=>i.description),a(()=>n(r,e(`ste20`,t.class?.description))),r}}),null),a(r=>{var i=e(`ste07 ste09`,`ste-s-${u()}`,t.class?.step),a=u();return i!==r.e&&n(s,r.e=i),a!==r.t&&l(s,`data-status`,r.t=a),r},{e:void 0,t:void 0}),s})()]}})),a(()=>n(i,e(`ste01 ste03`,t.colorClass,t.isVertical?`ste06`:`ste05`,t.class?.root))),i})(),O=t=>(()=>{var i=_();return o(i,r(d,{get each(){return t.items},children:(i,c)=>{let u=()=>w(c(),t.current,t.disabled,t.activeIndex);return[r(f,{get when(){return s(()=>!t.isVertical)()&&c()>0},get children(){var r=_();return a(()=>n(r,e(`ste21 ste22 ste24`,`ste-s-${u()}`,t.class?.connector))),r}}),(()=>{var s=b(),d=s.firstChild;return s.$$click=()=>u()!==`disabled`&&t.onStepClick(c()),o(s,r(f,{get when(){return t.isVertical},get children(){var i=C(),s=i.firstChild;return o(i,r(f,{get when(){return c()<t.items.length-1},get children(){var r=_();return a(()=>n(r,e(`ste21 ste23`,t.class?.connector))),r}}),null),a(()=>n(s,e(`ste14`,t.class?.icon))),i}}),d),o(s,r(f,{get when(){return!t.isVertical},get children(){var r=_();return a(()=>n(r,e(`ste14`,t.class?.icon))),r}}),d),o(d,r(f,{get when(){return i.title},get children(){var r=_();return o(r,()=>i.title),a(()=>n(r,e(`ste19`,t.class?.title))),r}}),null),o(d,r(f,{get when(){return i.description},get children(){var r=_();return o(r,()=>i.description),a(()=>n(r,e(`ste20`,t.class?.description))),r}}),null),a(r=>{var i=e(`ste07 ste12`,`ste-s-${u()}`,t.class?.step),a=u();return i!==r.e&&n(s,r.e=i),a!==r.t&&l(s,`data-status`,r.t=a),r},{e:void 0,t:void 0}),s})()]}})),a(()=>n(i,e(`ste01 ste04`,t.colorClass,t.isVertical?`ste06`:`ste05`,t.class?.root))),i})(),k=e=>{e=m({type:`default`,orientation:`horizontal`,color:`primary`,disabled:[],items:[]},e);let n=()=>e.current?.()??0,i=p(()=>e.items&&e.items.length>0?e.items:e.total&&e.total>0?Array.from({length:e.total},(e,t)=>({title:`Step ${t+1}`})):[]),a=t=>{e.setCurrent?.(t),e.onChange?.(t)},o=p(()=>({items:i(),current:n(),disabled:e.disabled??[],activeIndex:e.activeIndex,isVertical:e.orientation===`vertical`,colorClass:t(e.color,`color-primary`),onStepClick:a,class:e.class}));return r(f,{get when(){return e.type===`navigation`},get fallback(){return r(f,{get when(){return e.type===`dot`},get fallback(){return r(E,c(o))},get children(){return r(O,c(o))}})},get children(){return r(D,c(o))}})};i([`click`]);export{k as Steps};
|
|
2
|
+
//# sourceMappingURL=steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steps.js","names":["BaseColorProps","cn","getColor","ArrowRight","Check","Accessor","Component","createMemo","For","JSX","mergeProps","Setter","Show","StepItem","title","Element","description","icon","StepsProps","type","color","orientation","total","items","current","setCurrent","onChange","index","disabled","activeIndex","class","root","step","connector","StepStatus","getStepStatus","includes","StepIconProps","status","StepIconContent","p","_el$","_tmpl$","_$insert","_$createComponent","when","_$memo","fallback","_el$2","_tmpl$2","children","size","_$effect","_$className","InternalProps","isVertical","colorClass","onStepClick","TypeDefault","_el$3","each","item","i","_el$4","_el$5","_tmpl$4","_el$8","firstChild","$$click","_el$6","_tmpl$3","length","_el$7","_el$9","_el$0","_p$","_v$","_v$2","e","t","_$setAttribute","undefined","TypeNavigation","_el$1","_el$10","_tmpl$5","_el$11","_tmpl$6","_el$12","_el$13","_el$14","_el$15","_v$3","_v$4","TypeDot","_el$16","_el$17","_el$18","_el$23","_el$19","_tmpl$7","_el$20","_el$21","_el$22","_el$24","_el$25","_v$5","_v$6","Steps","resolvedItems","Array","from","_","handleClick","shared","_$mergeProps","_$delegateEvents"],"sources":["../../../src/components/steps/steps.tsx"],"sourcesContent":["import { BaseColorProps } from '@/type';\r\nimport { cn } from '@/utils/cn';\r\nimport { getColor } from '@/utils/helper';\r\nimport ArrowRight from 'lucide-solid/icons/arrow-right';\r\nimport Check from 'lucide-solid/icons/check';\r\nimport { Accessor, Component, createMemo, For, JSX, mergeProps, Setter, Show } from 'solid-js';\r\n\r\n// ─── Types ────────────────────────────────────────────────────────────────────\r\n\r\nexport type StepItem = {\r\n title?: JSX.Element;\r\n description?: JSX.Element;\r\n icon?: JSX.Element;\r\n};\r\n\r\nexport type StepsProps = {\r\n type?: 'default' | 'navigation' | 'dot';\r\n color?: BaseColorProps;\r\n orientation?: 'horizontal' | 'vertical';\r\n total?: number;\r\n items?: StepItem[];\r\n current?: Accessor<number>;\r\n setCurrent?: Setter<number>;\r\n onChange?: (index: number) => void;\r\n disabled?: number[];\r\n activeIndex?: number[];\r\n class?: {\r\n root?: string;\r\n step?: string;\r\n icon?: string;\r\n title?: string;\r\n description?: string;\r\n connector?: string;\r\n };\r\n};\r\n\r\n// ─── Helpers ──────────────────────────────────────────────────────────────────\r\n\r\ntype StepStatus = 'active' | 'done' | 'upcoming' | 'disabled';\r\n\r\nconst getStepStatus = (\r\n index: number,\r\n current: number,\r\n disabled: number[],\r\n activeIndex?: number[],\r\n): StepStatus => {\r\n if (disabled.includes(index)) return 'disabled';\r\n if (activeIndex?.includes(index)) return 'active';\r\n if (index === current) return 'active';\r\n if (index < current) return 'done';\r\n return 'upcoming';\r\n};\r\n\r\n// ─── StepIcon — reusable icon renderer ───────────────────────────────────────\r\n// Renders: checkmark (done, no custom icon) | custom icon | step number\r\n\r\ntype StepIconProps = {\r\n index: number;\r\n status: StepStatus;\r\n icon?: JSX.Element;\r\n class?: string;\r\n};\r\n\r\nconst StepIconContent: Component<StepIconProps> = p => (\r\n <div class={cn('ste15', p.class)}>\r\n <Show\r\n when={p.status === 'done' && !p.icon}\r\n fallback={\r\n <Show when={p.icon} fallback={<span class=\"ste17\">{p.index + 1}</span>}>\r\n {p.icon}\r\n </Show>\r\n }\r\n >\r\n <Check size={16} stroke-width={3} />\r\n </Show>\r\n </div>\r\n);\r\n\r\n// ─── Internal props shared across sub-components ──────────────────────────────\r\n\r\ntype InternalProps = {\r\n items: StepItem[];\r\n current: number;\r\n disabled: number[];\r\n activeIndex?: number[];\r\n isVertical: boolean;\r\n colorClass: string;\r\n onStepClick: (index: number) => void;\r\n class?: StepsProps['class'];\r\n};\r\n\r\n// ─── Sub-component: Default ───────────────────────────────────────────────────\r\n\r\nconst TypeDefault: Component<InternalProps> = p => (\r\n <div class={cn('ste01 ste02', p.colorClass, p.isVertical ? 'ste06' : 'ste05', p.class?.root)}>\r\n <For each={p.items}>\r\n {(item, i) => {\r\n const status = () => getStepStatus(i(), p.current, p.disabled, p.activeIndex);\r\n\r\n return (\r\n <>\r\n {/* Connector nằm giữa hai step (horizontal), trước mỗi step từ index 1 */}\r\n <Show when={!p.isVertical && i() > 0}>\r\n <div class={cn('ste21 ste22', `ste-s-${status()}`, p.class?.connector)} />\r\n </Show>\r\n\r\n <div\r\n class={cn('ste07 ste08', `ste-s-${status()}`, p.class?.step)}\r\n data-status={status()}\r\n onClick={() => status() !== 'disabled' && p.onStepClick(i())}\r\n >\r\n {/* ── Vertical: icon col + connector ── */}\r\n <Show when={p.isVertical}>\r\n <div class=\"ste16\">\r\n <StepIconContent\r\n index={i()}\r\n status={status()}\r\n icon={item.icon}\r\n class={p.class?.icon}\r\n />\r\n <Show when={i() < p.items.length - 1}>\r\n <div class={cn('ste21 ste23', p.class?.connector)} />\r\n </Show>\r\n </div>\r\n </Show>\r\n\r\n {/* ── Horizontal: chỉ icon (connector đã là sibling bên ngoài) ── */}\r\n <Show when={!p.isVertical}>\r\n <StepIconContent\r\n index={i()}\r\n status={status()}\r\n icon={item.icon}\r\n class={p.class?.icon}\r\n />\r\n </Show>\r\n\r\n {/* ── Content ── */}\r\n <div class=\"ste18\">\r\n <Show when={item.title}>\r\n <div class={cn('ste19', p.class?.title)}>{item.title}</div>\r\n </Show>\r\n <Show when={item.description}>\r\n <div class={cn('ste20', p.class?.description)}>{item.description}</div>\r\n </Show>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }}\r\n </For>\r\n </div>\r\n);\r\n\r\n// ─── Sub-component: Navigation ────────────────────────────────────────────────\r\n\r\nconst TypeNavigation: Component<InternalProps> = p => (\r\n <div class={cn('ste01 ste03', p.colorClass, p.isVertical ? 'ste06' : 'ste05', p.class?.root)}>\r\n <For each={p.items}>\r\n {(item, i) => {\r\n const status = () => getStepStatus(i(), p.current, p.disabled, p.activeIndex);\r\n\r\n return (\r\n <>\r\n {/* Separator giữa các step — horizontal only */}\r\n <Show when={!p.isVertical && i() > 0}>\r\n <span class=\"ste11\" aria-hidden=\"true\">\r\n <ArrowRight\r\n size={14}\r\n stroke-width={3}\r\n color={\r\n status() === 'active' || status() === 'done' ? 'var(--color)' : 'currentColor'\r\n }\r\n />\r\n </span>\r\n </Show>\r\n\r\n <div\r\n class={cn('ste07 ste09', `ste-s-${status()}`, p.class?.step)}\r\n data-status={status()}\r\n onClick={() => status() !== 'disabled' && p.onStepClick(i())}\r\n >\r\n <div class=\"ste10\">\r\n <StepIconContent\r\n index={i()}\r\n status={status()}\r\n icon={item.icon}\r\n class={p.class?.icon}\r\n />\r\n <div class=\"ste18\">\r\n <Show when={item.title}>\r\n <div class={cn('ste19', p.class?.title)}>{item.title}</div>\r\n </Show>\r\n <Show when={item.description}>\r\n <div class={cn('ste20', p.class?.description)}>{item.description}</div>\r\n </Show>\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }}\r\n </For>\r\n </div>\r\n);\r\n\r\n// ─── Sub-component: Dot ───────────────────────────────────────────────────────\r\n\r\nconst TypeDot: Component<InternalProps> = p => (\r\n <div class={cn('ste01 ste04', p.colorClass, p.isVertical ? 'ste06' : 'ste05', p.class?.root)}>\r\n <For each={p.items}>\r\n {(item, i) => {\r\n const status = () => getStepStatus(i(), p.current, p.disabled, p.activeIndex);\r\n\r\n return (\r\n <>\r\n {/* Connector sibling — horizontal only, trước mỗi step từ index 1 */}\r\n <Show when={!p.isVertical && i() > 0}>\r\n <div class={cn('ste21 ste22 ste24', `ste-s-${status()}`, p.class?.connector)} />\r\n </Show>\r\n\r\n <div\r\n class={cn('ste07 ste12', `ste-s-${status()}`, p.class?.step)}\r\n data-status={status()}\r\n onClick={() => status() !== 'disabled' && p.onStepClick(i())}\r\n >\r\n {/* ── Vertical: dot col + connector ── */}\r\n <Show when={p.isVertical}>\r\n <div class=\"ste13\">\r\n <div class={cn('ste14', p.class?.icon)} />\r\n <Show when={i() < p.items.length - 1}>\r\n <div class={cn('ste21 ste23', p.class?.connector)} />\r\n </Show>\r\n </div>\r\n </Show>\r\n\r\n {/* ── Horizontal: chỉ dot (connector là sibling bên ngoài) ── */}\r\n <Show when={!p.isVertical}>\r\n <div class={cn('ste14', p.class?.icon)} />\r\n </Show>\r\n\r\n {/* Content */}\r\n <div class=\"ste18\">\r\n <Show when={item.title}>\r\n <div class={cn('ste19', p.class?.title)}>{item.title}</div>\r\n </Show>\r\n <Show when={item.description}>\r\n <div class={cn('ste20', p.class?.description)}>{item.description}</div>\r\n </Show>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }}\r\n </For>\r\n </div>\r\n);\r\n\r\n// ─── Main Component ───────────────────────────────────────────────────────────\r\n\r\nexport const Steps: Component<StepsProps> = p => {\r\n p = mergeProps(\r\n {\r\n type: 'default',\r\n orientation: 'horizontal',\r\n color: 'primary',\r\n disabled: [],\r\n items: [],\r\n } as StepsProps,\r\n p,\r\n );\r\n\r\n const current = () => p.current?.() ?? 0;\r\n\r\n const resolvedItems = createMemo((): StepItem[] => {\r\n if (p.items && p.items.length > 0) return p.items;\r\n if (p.total && p.total > 0)\r\n return Array.from({ length: p.total }, (_, i) => ({ title: `Step ${i + 1}` }));\r\n return [];\r\n });\r\n\r\n const handleClick = (index: number) => {\r\n p.setCurrent?.(index);\r\n p.onChange?.(index);\r\n };\r\n\r\n const shared = createMemo(\r\n (): InternalProps => ({\r\n items: resolvedItems(),\r\n current: current(),\r\n disabled: p.disabled ?? [],\r\n activeIndex: p.activeIndex,\r\n isVertical: p.orientation === 'vertical',\r\n colorClass: getColor(p.color, 'color-primary'),\r\n onStepClick: handleClick,\r\n class: p.class,\r\n }),\r\n );\r\n\r\n return (\r\n <Show\r\n when={p.type === 'navigation'}\r\n fallback={\r\n <Show when={p.type === 'dot'} fallback={<TypeDefault {...shared()} />}>\r\n <TypeDot {...shared()} />\r\n </Show>\r\n }\r\n >\r\n <TypeNavigation {...shared()} />\r\n </Show>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/swap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SolidComponent } from '../../type';
|
|
2
|
+
import { Component } from 'solid-js';
|
|
3
|
+
type SwapType = {
|
|
4
|
+
item1: SolidComponent;
|
|
5
|
+
item2: SolidComponent;
|
|
6
|
+
effect?: 'rotate' | 'flip' | 'none';
|
|
7
|
+
onChange?: (value: boolean) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const Swap: Component<SwapType>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=swap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/components/swap/swap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,CAAC;AACF,eAAO,MAAM,IAAI,EAAE,SAAS,CAAC,QAAQ,CAmBpC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"../../utils/cn.js";import{className as t,effect as n,insert as r,template as i}from"solid-js/web";var a=i(`<label><input type=checkbox><div class=swap-on></div><div class=swap-off></div><div class=swap-indeterminate>`),o=i=>(()=>{var o=a(),s=o.firstChild,c=s.nextSibling,l=c.nextSibling;return s.addEventListener(`change`,e=>{i?.onChange?.(e.target.checked)}),r(c,()=>i.item1),r(l,()=>i.item2),n(()=>t(o,e(`swap`,i.effect===`flip`?`swap-flip`:i.effect===`rotate`?`swap-rotate`:``))),o})();export{o as Swap};
|
|
2
|
+
//# sourceMappingURL=swap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swap.js","names":["SolidComponent","cn","Component","SwapType","item1","item2","effect","onChange","value","Swap","p","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","addEventListener","e","target","checked","_$insert","Element","_$effect","_$className"],"sources":["../../../src/components/swap/swap.tsx"],"sourcesContent":["import { SolidComponent } from '@/type';\r\nimport { cn } from '@/utils/cn';\r\nimport { Component } from 'solid-js';\r\n\r\ntype SwapType = {\r\n item1: SolidComponent;\r\n item2: SolidComponent;\r\n effect?: 'rotate' | 'flip' | 'none';\r\n onChange?: (value: boolean) => void;\r\n};\r\nexport const Swap: Component<SwapType> = p => {\r\n return (\r\n <label\r\n class={cn(\r\n 'swap',\r\n p.effect === 'flip' ? 'swap-flip' : p.effect === 'rotate' ? 'swap-rotate' : '',\r\n )}\r\n >\r\n <input\r\n type=\"checkbox\"\r\n onChange={e => {\r\n p?.onChange?.(e.target.checked);\r\n }}\r\n />\r\n <div class=\"swap-on\">{p.item1 as Element}</div>\r\n <div class=\"swap-off\">{p.item2 as Element}</div>\r\n <div class=\"swap-indeterminate\"></div>\r\n </label>\r\n );\r\n};\r\n"],"mappings":"+OAUaS,EAA4BC,QACvC,CAAA,IAAAC,EAAAC,GAAA,CAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAG,YAAAC,EAAAF,EAAAC,YAKK,OALLH,EAAAK,iBAAA,SASgBC,GAAK,CACbT,GAAGH,WAAWY,EAAEC,OAAOC,QAAQ,EAChC,CAAAC,EAAAP,MAEmBL,EAAEN,MAAgB,CAAAkB,EAAAL,MACjBP,EAAEL,MAAgB,CAAAmB,MAAAC,EAAAd,EAZlCV,EACL,OACAS,EAAEJ,SAAW,OAAS,YAAcI,EAAEJ,SAAW,SAAW,cAAgB,GAC7E,CAAA,CAAA,CAAAK,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/switch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { Component } from 'solid-js';
|
|
3
|
+
import { SwitchProps } from './switch.types';
|
|
4
|
+
declare const variants: (props?: ({
|
|
5
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
6
|
+
color?: "primary" | "neutral" | "secondary" | "accent" | "info" | "success" | "warning" | "error" | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
export type SwitchVariantProps = VariantProps<typeof variants>;
|
|
9
|
+
export declare const Switch: Component<SwitchProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/switch/switch.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAgD,MAAM,UAAU,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,QAAA,MAAM,QAAQ;;;8EAoBZ,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE/D,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,WAAW,CAsEzC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"../../utils/cn.js";import{className as t,createComponent as n,delegateEvents as r,effect as i,insert as a,setAttribute as o,template as s}from"solid-js/web";import{cva as c}from"class-variance-authority";import{Show as l,createEffect as u,createSignal as d,mergeProps as f}from"solid-js";var p=s(`<span class="flex size-full animate-spin">`),m=s(`<button type=button role=switch><div>`),h=s(`<svg class=size-full xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=#ccc stroke-width=4></circle><path class=opacity-90 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">`),g=c(``,{variants:{size:{xs:`h-4 w-7`,sm:`h-5 w-9`,md:`h-6 w-11`,lg:`h-7 w-14`,xl:`h-8 w-16`},color:{primary:`bg-primary text-primary`,secondary:`bg-secondary text-secondary`,accent:`bg-accent text-accent`,neutral:`bg-neutral text-neutral`,info:`bg-info text-info`,success:`bg-success text-success`,warning:`bg-warning text-warning`,error:`bg-error text-error`}}}),_=r=>{let s=f({className:``,defaultChecked:!1,disabled:!1,loading:!1,size:`md`,color:`primary`},r),[c,h]=d(s.defaultChecked),_=()=>s.checked!==void 0,y=()=>_()?s.checked:c();u(function(){_()&&h(s.checked)});let b=()=>s.disabled||s.loading,x=e=>{if(b())return;let t=!y();_()||h(t),s.onClick?.(t),s.onChange?.(t)};return(()=>{var r=m(),c=r.firstChild;return r.$$click=x,a(c,n(l,{get when(){return s.loading},get children(){var e=p();return a(e,n(v,{})),e}})),i(n=>{var i=y(),a=b(),l=e(`sui_switch @container relative flex cursor-pointer items-center rounded-full border-2 border-transparent p-px`,g({size:s.size,color:s.color}),`transition duration-400`,!y()&&`bg-gray-300`,b()&&`cursor-not-allowed opacity-50`,s.class?.root),u=e(`sui_thumb aspect-square h-full rounded-full bg-white transition-transform duration-400 ease-in-out`,y()&&`translate-x-[calc(100cqw-100%)]`);return i!==n.e&&o(r,`aria-checked`,n.e=i),a!==n.t&&(r.disabled=n.t=a),l!==n.a&&t(r,n.a=l),u!==n.o&&t(c,n.o=u),n},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()},v=()=>h();r([`click`]);export{_ as Switch};
|
|
2
|
+
//# sourceMappingURL=switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.js","names":["cn","cva","VariantProps","Component","createEffect","createSignal","mergeProps","Show","SwitchProps","variants","size","xs","sm","md","lg","xl","color","primary","secondary","accent","neutral","info","success","warning","error","SwitchVariantProps","Switch","props","p","className","defaultChecked","disabled","loading","const","internalChecked","setInternalChecked","isControlled","checked","undefined","syncControlledChecked","mergedDisabled","handleClick","e","MouseEvent","newChecked","onClick","onChange","_el$","_tmpl$2","_el$2","firstChild","$$click","_$insert","_$createComponent","when","children","_el$3","_tmpl$","IconLoading","_$effect","_p$","_v$","_v$2","_v$3","class","root","_v$4","_$setAttribute","t","a","_$className","o","_tmpl$3","_$delegateEvents"],"sources":["../../../src/components/switch/switch.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\nimport { Component, createEffect, createSignal, mergeProps, Show } from 'solid-js';\r\nimport type { SwitchProps } from './switch.types';\r\n\r\nconst variants = cva('', {\r\n variants: {\r\n size: {\r\n xs: 'h-4 w-7',\r\n sm: 'h-5 w-9',\r\n md: 'h-6 w-11',\r\n lg: 'h-7 w-14',\r\n xl: 'h-8 w-16',\r\n },\r\n color: {\r\n primary: 'bg-primary text-primary',\r\n secondary: 'bg-secondary text-secondary',\r\n accent: 'bg-accent text-accent',\r\n neutral: 'bg-neutral text-neutral',\r\n info: 'bg-info text-info',\r\n success: 'bg-success text-success',\r\n warning: 'bg-warning text-warning',\r\n error: 'bg-error text-error',\r\n },\r\n },\r\n});\r\n\r\nexport type SwitchVariantProps = VariantProps<typeof variants>;\r\n\r\nexport const Switch: Component<SwitchProps> = props => {\r\n const p = mergeProps(\r\n {\r\n className: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n loading: false,\r\n size: 'md' as const,\r\n color: 'primary' as const,\r\n },\r\n props,\r\n );\r\n\r\n const [internalChecked, setInternalChecked] = createSignal(p.defaultChecked);\r\n\r\n const isControlled = () => p.checked !== undefined;\r\n const checked = () => (isControlled() ? p.checked! : internalChecked());\r\n\r\n createEffect(function syncControlledChecked() {\r\n if (isControlled()) {\r\n setInternalChecked(p.checked!);\r\n }\r\n });\r\n\r\n const mergedDisabled = () => p.disabled || p.loading;\r\n\r\n const handleClick = (e: MouseEvent) => {\r\n if (mergedDisabled()) return;\r\n\r\n const newChecked = !checked();\r\n\r\n if (!isControlled()) {\r\n setInternalChecked(newChecked);\r\n }\r\n\r\n p.onClick?.(newChecked);\r\n p.onChange?.(newChecked);\r\n };\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n role=\"switch\"\r\n aria-checked={checked()}\r\n disabled={mergedDisabled()}\r\n class={cn(\r\n 'sui_switch @container relative flex cursor-pointer items-center rounded-full border-2 border-transparent p-px',\r\n variants({ size: p.size, color: p.color }),\r\n 'transition duration-400',\r\n !checked() && 'bg-gray-300',\r\n mergedDisabled() && 'cursor-not-allowed opacity-50',\r\n p.class?.root,\r\n )}\r\n onClick={handleClick}\r\n >\r\n <div\r\n class={cn(\r\n 'sui_thumb aspect-square h-full rounded-full bg-white transition-transform duration-400 ease-in-out',\r\n\r\n checked() && 'translate-x-[calc(100cqw-100%)]',\r\n )}\r\n >\r\n <Show when={p.loading}>\r\n <span class=\"flex size-full animate-spin\">\r\n <IconLoading />\r\n </span>\r\n </Show>\r\n </div>\r\n </button>\r\n );\r\n};\r\n\r\nconst IconLoading = () => {\r\n return (\r\n <svg class=\"size-full\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#ccc\" stroke-width=\"4\"></circle>\r\n <path\r\n class=\"opacity-90\"\r\n fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\r\n ></path>\r\n </svg>\r\n );\r\n};\r\n"],"mappings":"8tBAKMS,EAAWR,EAAI,GAAI,CACvBQ,SAAU,CACRC,KAAM,CACJC,GAAI,UACJC,GAAI,UACJC,GAAI,WACJC,GAAI,WACJC,GAAI,WACL,CACDC,MAAO,CACLC,QAAS,0BACTC,UAAW,8BACXC,OAAQ,wBACRC,QAAS,0BACTC,KAAM,oBACNC,QAAS,0BACTC,QAAS,0BACTC,MAAO,sBACT,CACF,CACD,CAAC,CAIWE,EAAiCC,GAAS,CACrD,IAAMC,EAAItB,EACR,CACEuB,UAAW,GACXC,eAAgB,GAChBC,SAAU,GACVC,QAAS,GACTtB,KAAM,KACNM,MAAO,UACR,CACDW,EACD,CAEK,CAACO,EAAiBC,GAAsB9B,EAAauB,EAAEE,eAAe,CAEtEM,MAAqBR,EAAES,UAAYC,IAAAA,GACnCD,MAAiBD,GAAc,CAAGR,EAAES,QAAWH,GAAkB,CAEvE9B,EAAa,UAAiC,CACxCgC,GAAc,EAChBD,EAAmBP,EAAES,QAAS,EAEhC,CAEF,IAAMG,MAAuBZ,EAAEG,UAAYH,EAAEI,QAEvCS,EAAeC,GAAkB,CACrC,GAAIF,GAAgB,CAAE,OAEtB,IAAMI,EAAa,CAACP,GAAS,CAExBD,GAAc,EACjBD,EAAmBS,EAAW,CAGhChB,EAAEiB,UAAUD,EAAW,CACvBhB,EAAEkB,WAAWF,EAAW,EAG1B,WAAA,CAAA,IAAAG,EAAAC,GAAA,CAAAC,EAAAF,EAAAG,WAqBO,MArBPH,GAAAI,QAcaV,EAAWW,EAAAH,EAAAI,EASjB9C,EAAI,CAAA,IAAC+C,MAAI,CAAA,OAAE1B,EAAEI,SAAO,IAAAuB,UAAA,CAAA,IAAAC,EAAAC,GAAA,CAEL,OAFKL,EAAAI,EAAAH,EAEhBK,EAAW,EAAA,CAAA,CAAA,CAAAF,GAAA,CAAA,CAAA,CAAAG,EAAAC,GAAA,CAAA,IAAAC,EArBJxB,GAAS,CAAAyB,EACbtB,GAAgB,CAAAuB,EACnB/D,EACL,gHACAS,EAAS,CAAEC,KAAMkB,EAAElB,KAAMM,MAAOY,EAAEZ,MAAO,CAAC,CAC1C,0BACA,CAACqB,GAAS,EAAI,cACdG,GAAgB,EAAI,gCACpBZ,EAAEoC,OAAOC,KACV,CAAAC,EAIQlE,EACL,qGAEAqC,GAAS,EAAI,kCACd,CAAA,OAAAwB,IAAAD,EAAAlB,GAAAyB,EAAApB,EAAA,eAAAa,EAAAlB,EAAAmB,EAAA,CAAAC,IAAAF,EAAAQ,IAAArB,EAAAhB,SAAA6B,EAAAQ,EAAAN,GAAAC,IAAAH,EAAAS,GAAAC,EAAAvB,EAAAa,EAAAS,EAAAN,EAAA,CAAAG,IAAAN,EAAAW,GAAAD,EAAArB,EAAAW,EAAAW,EAAAL,EAAA,CAAAN,GAAA,CAAAlB,EAAAJ,IAAAA,GAAA8B,EAAA9B,IAAAA,GAAA+B,EAAA/B,IAAAA,GAAAiC,EAAAjC,IAAAA,GAAA,CAAA,CAAAS,KAAA,EAYHW,MACJc,GAAA,CAUAC,EAAA,CAAA,QAAA,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseColorProps } from '../../type';
|
|
2
|
+
import { SwitchVariantProps } from './switch';
|
|
3
|
+
type SwitchBaseProps = {
|
|
4
|
+
class?: Partial<Record<'root' | 'content', string>>;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
size?: SwitchVariantProps['size'];
|
|
8
|
+
color?: BaseColorProps;
|
|
9
|
+
onChange?: (checked: boolean) => void;
|
|
10
|
+
onClick?: (checked: boolean) => void;
|
|
11
|
+
};
|
|
12
|
+
export type SwitchProps = SwitchBaseProps & ({
|
|
13
|
+
checked: boolean;
|
|
14
|
+
defaultChecked?: never;
|
|
15
|
+
} | {
|
|
16
|
+
checked?: never;
|
|
17
|
+
defaultChecked: boolean;
|
|
18
|
+
} | {
|
|
19
|
+
checked?: never;
|
|
20
|
+
defaultChecked?: never;
|
|
21
|
+
});
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=switch.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.types.d.ts","sourceRoot":"","sources":["../../../src/components/switch/switch.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GACvC,CACI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5C;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,CAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tab/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/components/tab/tab.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EAUV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAW,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqDhD,eAAO,MAAM,GAAG,EAAE,SAAS,CAAC,QAAQ,CAqXnC,CAAC"}
|