@ebscn/ui 1.0.0 → 1.0.1-beta.1
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 +6 -28
- package/assets/images/delete.png +0 -0
- package/assets/images/hand.png +0 -0
- package/assets/images/loading.webp +0 -0
- package/assets/images/pull_loading_grey.png +0 -0
- package/assets/images/pull_loading_refreshing_grey.gif +0 -0
- package/assets/images/pull_loading_refreshing_white.gif +0 -0
- package/assets/images/pull_loading_white.png +0 -0
- package/cjs/assets/images/delete.png +0 -0
- package/cjs/assets/images/hand.png +0 -0
- package/cjs/assets/images/loading.webp +0 -0
- package/cjs/assets/images/pull_loading_grey.png +0 -0
- package/cjs/assets/images/pull_loading_refreshing_grey.gif +0 -0
- package/cjs/assets/images/pull_loading_refreshing_white.gif +0 -0
- package/cjs/assets/images/pull_loading_white.png +0 -0
- package/cjs/components/alphabet-keyboard/alphabet-keyboard.css +1 -1
- package/cjs/components/alphabet-keyboard/alphabet-keyboard.d.ts +1 -1
- package/cjs/components/alphabet-keyboard/alphabet-keyboard.js +1 -1
- package/cjs/components/auto-center/auto-center.css +7 -0
- package/cjs/components/auto-center/auto-center.d.ts +6 -0
- package/cjs/components/auto-center/auto-center.js +18 -0
- package/cjs/components/auto-center/index.d.ts +4 -0
- package/cjs/components/auto-center/index.js +9 -0
- package/cjs/components/button/button.d.ts +2 -2
- package/cjs/components/button/button.js +2 -2
- package/cjs/components/button/index.d.ts +3 -1
- package/cjs/components/button/index.js +13 -2
- package/cjs/components/button/selectorButton.css +15 -0
- package/cjs/components/button/selectorButton.d.ts +11 -0
- package/cjs/components/button/selectorButton.js +157 -0
- package/cjs/components/card/card.css +2 -2
- package/cjs/components/card/card.d.ts +1 -1
- package/cjs/components/checkbox/checkbox.css +1 -0
- package/cjs/components/checkbox/checkbox.js +3 -3
- package/cjs/components/date-picker/date-picker-date-utils.d.ts +7 -0
- package/cjs/components/date-picker/date-picker-date-utils.js +178 -0
- package/cjs/components/date-picker/date-picker-utils.d.ts +10 -0
- package/cjs/components/date-picker/date-picker-utils.js +51 -0
- package/cjs/components/date-picker/date-picker-week-utils.d.ts +7 -0
- package/cjs/components/date-picker/date-picker-week-utils.js +115 -0
- package/cjs/components/date-picker/date-picker.css +0 -0
- package/cjs/components/date-picker/date-picker.d.ts +40 -0
- package/cjs/components/date-picker/date-picker.js +92 -0
- package/cjs/components/date-picker/index.d.ts +28 -0
- package/cjs/components/date-picker/index.js +15 -0
- package/cjs/components/date-picker/prompt.d.ts +3 -0
- package/cjs/components/date-picker/prompt.js +53 -0
- package/cjs/components/date-picker/util.d.ts +4 -0
- package/cjs/components/date-picker/util.js +7 -0
- package/cjs/components/date-picker-view/date-picker-view.d.ts +18 -0
- package/cjs/components/date-picker-view/date-picker-view.js +60 -0
- package/cjs/components/date-picker-view/index.d.ts +4 -0
- package/cjs/components/date-picker-view/index.js +8 -0
- package/cjs/components/date-picker-view/useRenderLabel.d.ts +2 -0
- package/cjs/components/date-picker-view/useRenderLabel.js +25 -0
- package/cjs/components/date-range-picker/date-range-picker.css +94 -0
- package/cjs/components/date-range-picker/date-range-picker.d.ts +78 -0
- package/cjs/components/date-range-picker/date-range-picker.js +339 -0
- package/cjs/components/date-range-picker/index.d.ts +79 -0
- package/cjs/components/date-range-picker/index.js +13 -0
- package/cjs/components/divider/divider.css +39 -0
- package/cjs/components/divider/divider.d.ts +9 -0
- package/cjs/components/divider/divider.js +36 -0
- package/cjs/components/divider/index.d.ts +4 -0
- package/cjs/components/divider/index.js +9 -0
- package/cjs/components/grid/grid.css +2 -2
- package/cjs/components/grid/grid.js +1 -1
- package/cjs/components/handRead/handRead.css +54 -0
- package/cjs/components/handRead/handRead.d.ts +6 -0
- package/cjs/components/handRead/handRead.js +242 -0
- package/cjs/components/handRead/index.d.ts +25 -0
- package/cjs/components/handRead/index.js +9 -0
- package/cjs/components/header/header.css +62 -0
- package/cjs/components/header/header.d.ts +14 -0
- package/cjs/components/header/header.js +39 -0
- package/cjs/components/header/index.d.ts +4 -0
- package/cjs/components/header/index.js +10 -0
- package/cjs/components/icons/back-icon.d.ts +4 -0
- package/cjs/components/icons/back-icon.js +38 -0
- package/cjs/components/icons/check-icon.js +2 -1
- package/cjs/components/icons/check-only-icon.js +2 -1
- package/cjs/components/icons/clear-icon.js +1 -1
- package/cjs/components/icons/close-icon.d.ts +4 -0
- package/cjs/components/icons/close-icon.js +36 -0
- package/cjs/components/icons/gdlogo-icon.d.ts +4 -0
- package/cjs/components/icons/gdlogo-icon.js +41 -0
- package/cjs/components/icons/indeterminate-icon.js +2 -1
- package/cjs/components/icons/index.d.ts +7 -0
- package/cjs/components/icons/index.js +49 -0
- package/cjs/components/icons/loading-icon.js +2 -1
- package/cjs/components/icons/notice-icon.d.ts +4 -0
- package/cjs/components/icons/notice-icon.js +24 -0
- package/cjs/components/icons/right-icon.d.ts +4 -0
- package/cjs/components/icons/right-icon.js +24 -0
- package/cjs/components/icons/search-icon.js +1 -1
- package/cjs/components/icons/selector-icon.d.ts +4 -0
- package/cjs/components/icons/selector-icon.js +33 -0
- package/cjs/components/icons/spin-icon.js +2 -1
- package/cjs/components/icons/uncheck-icon.js +2 -1
- package/cjs/components/icons/warning-icon.d.ts +4 -0
- package/cjs/components/icons/warning-icon.js +34 -0
- package/cjs/components/mask/index.d.ts +4 -0
- package/cjs/components/mask/index.js +9 -0
- package/cjs/components/mask/mask.css +22 -0
- package/cjs/components/mask/mask.d.ts +20 -0
- package/cjs/components/mask/mask.js +113 -0
- package/cjs/components/mask/mask.patch.css +3 -0
- package/cjs/components/notice-bar/index.d.ts +10 -0
- package/cjs/components/notice-bar/index.js +20 -0
- package/cjs/components/notice-bar/notice-bar-graph-item.d.ts +10 -0
- package/cjs/components/notice-bar/notice-bar-graph-item.js +16 -0
- package/cjs/components/notice-bar/notice-bar-graph.d.ts +19 -0
- package/cjs/components/notice-bar/notice-bar-graph.js +237 -0
- package/cjs/components/notice-bar/notice-bar.css +109 -0
- package/cjs/components/notice-bar/notice-bar.d.ts +19 -0
- package/cjs/components/notice-bar/notice-bar.js +132 -0
- package/cjs/components/number-keyboard/number-keyboard.css +2 -2
- package/cjs/components/number-keyboard/number-keyboard.d.ts +2 -1
- package/cjs/components/number-keyboard/number-keyboard.js +2 -2
- package/cjs/components/page-indicator/index.d.ts +4 -0
- package/cjs/components/page-indicator/index.js +9 -0
- package/cjs/components/page-indicator/page-indicator.css +47 -0
- package/cjs/components/page-indicator/page-indicator.d.ts +9 -0
- package/cjs/components/page-indicator/page-indicator.js +32 -0
- package/cjs/components/pdfLink/pdfLink.js +3 -4
- package/cjs/components/picker/index.d.ts +59 -0
- package/cjs/components/picker/index.js +13 -0
- package/cjs/components/picker/picker-utils.d.ts +3 -0
- package/cjs/components/picker/picker-utils.js +10 -0
- package/cjs/components/picker/picker.css +55 -0
- package/cjs/components/picker/picker.d.ts +57 -0
- package/cjs/components/picker/picker.js +160 -0
- package/cjs/components/picker/prompt.d.ts +2 -0
- package/cjs/components/picker/prompt.js +53 -0
- package/cjs/components/picker-view/columns-extend.d.ts +3 -0
- package/cjs/components/picker-view/columns-extend.js +46 -0
- package/cjs/components/picker-view/index.d.ts +4 -0
- package/cjs/components/picker-view/index.js +9 -0
- package/cjs/components/picker-view/picker-view.css +129 -0
- package/cjs/components/picker-view/picker-view.d.ts +25 -0
- package/cjs/components/picker-view/picker-view.js +94 -0
- package/cjs/components/picker-view/wheel.d.ts +13 -0
- package/cjs/components/picker-view/wheel.js +252 -0
- package/cjs/components/popup/index.d.ts +4 -0
- package/cjs/components/popup/index.js +9 -0
- package/cjs/components/popup/popup-base-props.d.ts +51 -0
- package/cjs/components/popup/popup-base-props.js +19 -0
- package/cjs/components/popup/popup.css +57 -0
- package/cjs/components/popup/popup.d.ts +8 -0
- package/cjs/components/popup/popup.js +145 -0
- package/cjs/components/pro-selector/index.d.ts +30 -0
- package/cjs/components/pro-selector/index.js +12 -0
- package/cjs/components/pro-selector/pro-selector.css +11 -0
- package/cjs/components/pro-selector/pro-selector.d.ts +60 -0
- package/cjs/components/pro-selector/pro-selector.js +310 -0
- package/cjs/components/protocol/protocol.js +4 -4
- package/cjs/components/pull-to-refresh/index.d.ts +4 -0
- package/cjs/components/pull-to-refresh/index.js +9 -0
- package/cjs/components/pull-to-refresh/pull-to-refresh.css +58 -0
- package/cjs/components/pull-to-refresh/pull-to-refresh.d.ts +26 -0
- package/cjs/components/pull-to-refresh/pull-to-refresh.js +345 -0
- package/cjs/components/radio/group.d.ts +1 -1
- package/cjs/components/radio/radio.css +1 -0
- package/cjs/components/radio/radio.js +3 -3
- package/cjs/components/safe-area/index.d.ts +4 -0
- package/cjs/components/safe-area/index.js +9 -0
- package/cjs/components/safe-area/safe-area.css +11 -0
- package/cjs/components/safe-area/safe-area.d.ts +6 -0
- package/cjs/components/safe-area/safe-area.js +17 -0
- package/cjs/components/search/search.js +3 -3
- package/cjs/components/selector/check-mark.d.ts +2 -0
- package/cjs/components/selector/check-mark.js +37 -0
- package/cjs/components/selector/index.d.ts +4 -0
- package/cjs/components/selector/index.js +9 -0
- package/cjs/components/selector/selector.css +71 -0
- package/cjs/components/selector/selector.d.ts +27 -0
- package/cjs/components/selector/selector.js +94 -0
- package/cjs/components/skeleton/index.d.ts +11 -0
- package/cjs/components/skeleton/index.js +16 -0
- package/cjs/components/skeleton/skeleton.css +65 -0
- package/cjs/components/skeleton/skeleton.d.ts +29 -0
- package/cjs/components/skeleton/skeleton.js +71 -0
- package/cjs/components/space/index.d.ts +4 -0
- package/cjs/components/space/index.js +9 -0
- package/cjs/components/space/space.css +70 -0
- package/cjs/components/space/space.d.ts +13 -0
- package/cjs/components/space/space.js +30 -0
- package/cjs/components/squared-grid/index.d.ts +7 -0
- package/cjs/components/squared-grid/index.js +12 -0
- package/cjs/components/squared-grid/squared-grid.css +30 -0
- package/cjs/components/squared-grid/squared-grid.d.ts +17 -0
- package/cjs/components/squared-grid/squared-grid.js +91 -0
- package/cjs/components/stock-count-keyboard/stock-count-keyboard.css +2 -2
- package/cjs/components/stock-keyboard/stock-keyboard.css +2 -2
- package/cjs/components/swiper/index.d.ts +35 -0
- package/cjs/components/swiper/index.js +13 -0
- package/cjs/components/swiper/swiper-item.d.ts +9 -0
- package/cjs/components/swiper/swiper-item.js +16 -0
- package/cjs/components/swiper/swiper.css +80 -0
- package/cjs/components/swiper/swiper.d.ts +68 -0
- package/cjs/components/swiper/swiper.js +378 -0
- package/cjs/components/switch/switch.js +2 -2
- package/cjs/components/tabs/index.d.ts +7 -0
- package/cjs/components/tabs/index.js +12 -0
- package/cjs/components/tabs/tabs.css +76 -0
- package/cjs/components/tabs/tabs.d.ts +27 -0
- package/cjs/components/tabs/tabs.js +294 -0
- package/cjs/components/tabs/tabs.patch.css +23 -0
- package/cjs/components/tip/index.d.ts +4 -0
- package/cjs/components/tip/index.js +9 -0
- package/cjs/components/tip/tip.css +22 -0
- package/cjs/components/tip/tip.d.ts +7 -0
- package/cjs/components/tip/tip.js +31 -0
- package/cjs/components/toastLoading/toastLoading.css +0 -1
- package/cjs/components/toastLoading/toastLoading.js +9 -3
- package/cjs/global/global.css +4 -1
- package/cjs/global/theme-default.css +1 -1
- package/cjs/hooks/index.d.ts +5 -0
- package/cjs/hooks/index.js +12 -0
- package/cjs/hooks/useFieldNames.d.ts +7 -0
- package/cjs/hooks/useFieldNames.js +25 -0
- package/cjs/index.d.ts +33 -12
- package/cjs/index.js +206 -24
- package/cjs/utils/convert-px.js +2 -2
- package/cjs/utils/use-lock-scroll.js +1 -1
- package/es/assets/images/delete.png +0 -0
- package/es/assets/images/hand.png +0 -0
- package/es/assets/images/loading.webp +0 -0
- package/es/assets/images/pull_loading_grey.png +0 -0
- package/es/assets/images/pull_loading_refreshing_grey.gif +0 -0
- package/es/assets/images/pull_loading_refreshing_white.gif +0 -0
- package/es/assets/images/pull_loading_white.png +0 -0
- package/es/components/alphabet-keyboard/alphabet-keyboard.css +1 -1
- package/es/components/alphabet-keyboard/alphabet-keyboard.d.ts +1 -1
- package/es/components/alphabet-keyboard/alphabet-keyboard.js +1 -1
- package/es/components/auto-center/auto-center.css +7 -0
- package/es/components/auto-center/auto-center.d.ts +6 -0
- package/es/components/auto-center/auto-center.js +10 -0
- package/es/components/auto-center/index.d.ts +4 -0
- package/es/components/auto-center/index.js +3 -0
- package/es/components/button/button.d.ts +2 -2
- package/es/components/button/button.js +1 -1
- package/es/components/button/index.d.ts +3 -1
- package/es/components/button/index.js +2 -1
- package/es/components/button/selectorButton.css +15 -0
- package/es/components/button/selectorButton.d.ts +11 -0
- package/es/components/button/selectorButton.js +149 -0
- package/es/components/card/card.css +2 -2
- package/es/components/card/card.d.ts +1 -1
- package/es/components/checkbox/checkbox.css +1 -0
- package/es/components/checkbox/checkbox.js +1 -1
- package/es/components/date-picker/date-picker-date-utils.d.ts +7 -0
- package/es/components/date-picker/date-picker-date-utils.js +169 -0
- package/es/components/date-picker/date-picker-utils.d.ts +10 -0
- package/es/components/date-picker/date-picker-utils.js +40 -0
- package/es/components/date-picker/date-picker-week-utils.d.ts +7 -0
- package/es/components/date-picker/date-picker-week-utils.js +106 -0
- package/es/components/date-picker/date-picker.css +0 -0
- package/es/components/date-picker/date-picker.d.ts +40 -0
- package/es/components/date-picker/date-picker.js +83 -0
- package/es/components/date-picker/index.d.ts +28 -0
- package/es/components/date-picker/index.js +9 -0
- package/es/components/date-picker/prompt.d.ts +3 -0
- package/es/components/date-picker/prompt.js +45 -0
- package/es/components/date-picker/util.d.ts +4 -0
- package/es/components/date-picker/util.js +1 -0
- package/es/components/date-picker-view/date-picker-view.d.ts +18 -0
- package/es/components/date-picker-view/date-picker-view.js +50 -0
- package/es/components/date-picker-view/index.d.ts +4 -0
- package/es/components/date-picker-view/index.js +2 -0
- package/es/components/date-picker-view/useRenderLabel.d.ts +2 -0
- package/es/components/date-picker-view/useRenderLabel.js +19 -0
- package/es/components/date-range-picker/date-range-picker.css +94 -0
- package/es/components/date-range-picker/date-range-picker.d.ts +78 -0
- package/es/components/date-range-picker/date-range-picker.js +330 -0
- package/es/components/date-range-picker/index.d.ts +79 -0
- package/es/components/date-range-picker/index.js +7 -0
- package/es/components/divider/divider.css +39 -0
- package/es/components/divider/divider.d.ts +9 -0
- package/es/components/divider/divider.js +28 -0
- package/es/components/divider/index.d.ts +4 -0
- package/es/components/divider/index.js +3 -0
- package/es/components/grid/grid.css +2 -2
- package/es/components/grid/grid.js +1 -1
- package/es/components/handRead/handRead.css +54 -0
- package/es/components/handRead/handRead.d.ts +6 -0
- package/es/components/handRead/handRead.js +233 -0
- package/es/components/handRead/index.d.ts +25 -0
- package/es/components/handRead/index.js +2 -0
- package/es/components/header/header.css +62 -0
- package/es/components/header/header.d.ts +14 -0
- package/es/components/header/header.js +32 -0
- package/es/components/header/index.d.ts +4 -0
- package/es/components/header/index.js +3 -0
- package/es/components/icons/back-icon.d.ts +4 -0
- package/es/components/icons/back-icon.js +30 -0
- package/es/components/icons/check-icon.js +2 -1
- package/es/components/icons/check-only-icon.js +2 -1
- package/es/components/icons/clear-icon.js +1 -1
- package/es/components/icons/close-icon.d.ts +4 -0
- package/es/components/icons/close-icon.js +28 -0
- package/es/components/icons/gdlogo-icon.d.ts +4 -0
- package/es/components/icons/gdlogo-icon.js +33 -0
- package/es/components/icons/indeterminate-icon.js +2 -1
- package/es/components/icons/index.d.ts +7 -0
- package/es/components/icons/index.js +8 -1
- package/es/components/icons/loading-icon.js +2 -1
- package/es/components/icons/notice-icon.d.ts +4 -0
- package/es/components/icons/notice-icon.js +16 -0
- package/es/components/icons/right-icon.d.ts +4 -0
- package/es/components/icons/right-icon.js +16 -0
- package/es/components/icons/search-icon.js +1 -1
- package/es/components/icons/selector-icon.d.ts +4 -0
- package/es/components/icons/selector-icon.js +25 -0
- package/es/components/icons/spin-icon.js +2 -1
- package/es/components/icons/uncheck-icon.js +2 -1
- package/es/components/icons/warning-icon.d.ts +4 -0
- package/es/components/icons/warning-icon.js +26 -0
- package/es/components/mask/index.d.ts +4 -0
- package/es/components/mask/index.js +3 -0
- package/es/components/mask/mask.css +22 -0
- package/es/components/mask/mask.d.ts +20 -0
- package/es/components/mask/mask.js +104 -0
- package/es/components/mask/mask.patch.css +3 -0
- package/es/components/notice-bar/index.d.ts +10 -0
- package/es/components/notice-bar/index.js +9 -0
- package/es/components/notice-bar/notice-bar-graph-item.d.ts +10 -0
- package/es/components/notice-bar/notice-bar-graph-item.js +8 -0
- package/es/components/notice-bar/notice-bar-graph.d.ts +19 -0
- package/es/components/notice-bar/notice-bar-graph.js +228 -0
- package/es/components/notice-bar/notice-bar.css +109 -0
- package/es/components/notice-bar/notice-bar.d.ts +19 -0
- package/es/components/notice-bar/notice-bar.js +123 -0
- package/es/components/number-keyboard/number-keyboard.css +2 -2
- package/es/components/number-keyboard/number-keyboard.d.ts +2 -1
- package/es/components/number-keyboard/number-keyboard.js +2 -2
- package/es/components/page-indicator/index.d.ts +4 -0
- package/es/components/page-indicator/index.js +3 -0
- package/es/components/page-indicator/page-indicator.css +47 -0
- package/es/components/page-indicator/page-indicator.d.ts +9 -0
- package/es/components/page-indicator/page-indicator.js +23 -0
- package/es/components/pdfLink/pdfLink.js +1 -2
- package/es/components/picker/index.d.ts +59 -0
- package/es/components/picker/index.js +7 -0
- package/es/components/picker/picker-utils.d.ts +3 -0
- package/es/components/picker/picker-utils.js +3 -0
- package/es/components/picker/picker.css +55 -0
- package/es/components/picker/picker.d.ts +57 -0
- package/es/components/picker/picker.js +151 -0
- package/es/components/picker/prompt.d.ts +2 -0
- package/es/components/picker/prompt.js +45 -0
- package/es/components/picker-view/columns-extend.d.ts +3 -0
- package/es/components/picker-view/columns-extend.js +39 -0
- package/es/components/picker-view/index.d.ts +4 -0
- package/es/components/picker-view/index.js +3 -0
- package/es/components/picker-view/picker-view.css +129 -0
- package/es/components/picker-view/picker-view.d.ts +25 -0
- package/es/components/picker-view/picker-view.js +86 -0
- package/es/components/picker-view/wheel.d.ts +13 -0
- package/es/components/picker-view/wheel.js +243 -0
- package/es/components/popup/index.d.ts +4 -0
- package/es/components/popup/index.js +3 -0
- package/es/components/popup/popup-base-props.d.ts +51 -0
- package/es/components/popup/popup-base-props.js +13 -0
- package/es/components/popup/popup.css +57 -0
- package/es/components/popup/popup.d.ts +8 -0
- package/es/components/popup/popup.js +135 -0
- package/es/components/pro-selector/index.d.ts +30 -0
- package/es/components/pro-selector/index.js +6 -0
- package/es/components/pro-selector/pro-selector.css +11 -0
- package/es/components/pro-selector/pro-selector.d.ts +60 -0
- package/es/components/pro-selector/pro-selector.js +299 -0
- package/es/components/protocol/protocol.js +1 -1
- package/es/components/pull-to-refresh/index.d.ts +4 -0
- package/es/components/pull-to-refresh/index.js +3 -0
- package/es/components/pull-to-refresh/pull-to-refresh.css +58 -0
- package/es/components/pull-to-refresh/pull-to-refresh.d.ts +26 -0
- package/es/components/pull-to-refresh/pull-to-refresh.js +335 -0
- package/es/components/radio/group.d.ts +1 -1
- package/es/components/radio/radio.css +1 -0
- package/es/components/radio/radio.js +1 -1
- package/es/components/safe-area/index.d.ts +4 -0
- package/es/components/safe-area/index.js +3 -0
- package/es/components/safe-area/safe-area.css +11 -0
- package/es/components/safe-area/safe-area.d.ts +6 -0
- package/es/components/safe-area/safe-area.js +9 -0
- package/es/components/search/search.js +1 -1
- package/es/components/selector/check-mark.d.ts +2 -0
- package/es/components/selector/check-mark.js +29 -0
- package/es/components/selector/index.d.ts +4 -0
- package/es/components/selector/index.js +3 -0
- package/es/components/selector/selector.css +71 -0
- package/es/components/selector/selector.d.ts +27 -0
- package/es/components/selector/selector.js +86 -0
- package/es/components/skeleton/index.d.ts +11 -0
- package/es/components/skeleton/index.js +10 -0
- package/es/components/skeleton/skeleton.css +65 -0
- package/es/components/skeleton/skeleton.d.ts +29 -0
- package/es/components/skeleton/skeleton.js +58 -0
- package/es/components/space/index.d.ts +4 -0
- package/es/components/space/index.js +3 -0
- package/es/components/space/space.css +70 -0
- package/es/components/space/space.d.ts +13 -0
- package/es/components/space/space.js +22 -0
- package/es/components/squared-grid/index.d.ts +7 -0
- package/es/components/squared-grid/index.js +6 -0
- package/es/components/squared-grid/squared-grid.css +30 -0
- package/es/components/squared-grid/squared-grid.d.ts +17 -0
- package/es/components/squared-grid/squared-grid.js +82 -0
- package/es/components/stock-count-keyboard/stock-count-keyboard.css +2 -2
- package/es/components/stock-keyboard/stock-keyboard.css +2 -2
- package/es/components/swiper/index.d.ts +35 -0
- package/es/components/swiper/index.js +7 -0
- package/es/components/swiper/swiper-item.d.ts +9 -0
- package/es/components/swiper/swiper-item.js +8 -0
- package/es/components/swiper/swiper.css +80 -0
- package/es/components/swiper/swiper.d.ts +68 -0
- package/es/components/swiper/swiper.js +369 -0
- package/es/components/switch/switch.js +1 -1
- package/es/components/tabs/index.d.ts +7 -0
- package/es/components/tabs/index.js +6 -0
- package/es/components/tabs/tabs.css +76 -0
- package/es/components/tabs/tabs.d.ts +27 -0
- package/es/components/tabs/tabs.js +283 -0
- package/es/components/tabs/tabs.patch.css +23 -0
- package/es/components/tip/index.d.ts +4 -0
- package/es/components/tip/index.js +3 -0
- package/es/components/tip/tip.css +22 -0
- package/es/components/tip/tip.d.ts +7 -0
- package/es/components/tip/tip.js +23 -0
- package/es/components/toastLoading/toastLoading.css +0 -1
- package/es/components/toastLoading/toastLoading.js +8 -3
- package/es/global/global.css +4 -1
- package/es/global/theme-default.css +1 -1
- package/es/hooks/index.d.ts +5 -0
- package/es/hooks/index.js +1 -0
- package/es/hooks/useFieldNames.d.ts +7 -0
- package/es/hooks/useFieldNames.js +18 -0
- package/es/index.d.ts +33 -12
- package/es/index.js +33 -12
- package/es/utils/convert-px.js +2 -2
- package/es/utils/use-lock-scroll.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import React, { memo, useCallback, useEffect, useState } from 'react';
|
|
11
|
+
import { mergeProps } from '../../utils/with-default-props';
|
|
12
|
+
import { Wheel } from './wheel';
|
|
13
|
+
import { useColumnsExtend } from './columns-extend';
|
|
14
|
+
import { withNativeProps } from '../../utils/native-props';
|
|
15
|
+
import { useDebounceEffect } from 'ahooks';
|
|
16
|
+
import { defaultRenderLabel } from '../picker/picker-utils';
|
|
17
|
+
var classPrefix = "ebscn-picker-view";
|
|
18
|
+
var defaultProps = {
|
|
19
|
+
defaultValue: [],
|
|
20
|
+
renderLabel: defaultRenderLabel,
|
|
21
|
+
mouseWheel: false,
|
|
22
|
+
loadingContent: React.createElement(React.Fragment, null)
|
|
23
|
+
};
|
|
24
|
+
export var PickerView = memo(function (p) {
|
|
25
|
+
var props = mergeProps(defaultProps, p);
|
|
26
|
+
var _a = useState(props.value === undefined ? props.defaultValue : props.value),
|
|
27
|
+
innerValue = _a[0],
|
|
28
|
+
setInnerValue = _a[1];
|
|
29
|
+
// Sync `value` to `innerValue`
|
|
30
|
+
useEffect(function () {
|
|
31
|
+
if (props.value === undefined) return; // Uncontrolled mode
|
|
32
|
+
if (props.value === innerValue) return;
|
|
33
|
+
setInnerValue(props.value);
|
|
34
|
+
}, [props.value]);
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
if (props.value === innerValue) return;
|
|
37
|
+
var timeout = window.setTimeout(function () {
|
|
38
|
+
if (props.value !== undefined && props.value !== innerValue) {
|
|
39
|
+
setInnerValue(props.value);
|
|
40
|
+
}
|
|
41
|
+
}, 1000);
|
|
42
|
+
return function () {
|
|
43
|
+
window.clearTimeout(timeout);
|
|
44
|
+
};
|
|
45
|
+
}, [props.value, innerValue]);
|
|
46
|
+
var extend = useColumnsExtend(props.columns, innerValue);
|
|
47
|
+
var columns = extend.columns;
|
|
48
|
+
useDebounceEffect(function () {
|
|
49
|
+
var _a;
|
|
50
|
+
if (props.value === innerValue) return;
|
|
51
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, innerValue, extend);
|
|
52
|
+
}, [innerValue], {
|
|
53
|
+
wait: 0,
|
|
54
|
+
leading: false,
|
|
55
|
+
trailing: true
|
|
56
|
+
});
|
|
57
|
+
var handleSelect = useCallback(function (val, index) {
|
|
58
|
+
setInnerValue(function (prev) {
|
|
59
|
+
var next = __spreadArray([], prev, true);
|
|
60
|
+
next[index] = val;
|
|
61
|
+
return next;
|
|
62
|
+
});
|
|
63
|
+
}, []);
|
|
64
|
+
return withNativeProps(props, React.createElement("div", {
|
|
65
|
+
className: "".concat(classPrefix)
|
|
66
|
+
}, props.loading ? props.loadingContent : React.createElement(React.Fragment, null, columns.map(function (column, index) {
|
|
67
|
+
return React.createElement(Wheel, {
|
|
68
|
+
key: index,
|
|
69
|
+
index: index,
|
|
70
|
+
column: column,
|
|
71
|
+
value: innerValue[index],
|
|
72
|
+
onSelect: handleSelect,
|
|
73
|
+
renderLabel: props.renderLabel,
|
|
74
|
+
mouseWheel: props.mouseWheel
|
|
75
|
+
});
|
|
76
|
+
}), React.createElement("div", {
|
|
77
|
+
className: "".concat(classPrefix, "-mask")
|
|
78
|
+
}, React.createElement("div", {
|
|
79
|
+
className: "".concat(classPrefix, "-mask-top")
|
|
80
|
+
}), React.createElement("div", {
|
|
81
|
+
className: "".concat(classPrefix, "-mask-middle")
|
|
82
|
+
}), React.createElement("div", {
|
|
83
|
+
className: "".concat(classPrefix, "-mask-bottom")
|
|
84
|
+
})))));
|
|
85
|
+
});
|
|
86
|
+
PickerView.displayName = 'PickerView';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import { PickerColumnItem, PickerValue } from './index';
|
|
4
|
+
type Props = {
|
|
5
|
+
index: number;
|
|
6
|
+
column: PickerColumnItem[];
|
|
7
|
+
value: PickerValue;
|
|
8
|
+
onSelect: (value: PickerValue, index: number) => void;
|
|
9
|
+
renderLabel: (item: PickerColumnItem) => ReactNode;
|
|
10
|
+
mouseWheel: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare const Wheel: React.NamedExoticComponent<Props>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import React, { memo, useRef } from 'react';
|
|
2
|
+
import { useSpring, animated } from '@react-spring/web';
|
|
3
|
+
import { useDrag, useWheel } from '@use-gesture/react';
|
|
4
|
+
import { rubberbandIfOutOfBounds } from '../../utils/rubberband';
|
|
5
|
+
import { bound } from '../../utils/bound';
|
|
6
|
+
import isEqual from 'react-fast-compare';
|
|
7
|
+
import { useIsomorphicLayoutEffect } from 'ahooks';
|
|
8
|
+
import { measureCSSLength } from '../../utils/measure-css-length';
|
|
9
|
+
import { supportsPassive } from '../../utils/supports-passive';
|
|
10
|
+
var classPrefix = "ebscn-picker-view";
|
|
11
|
+
export var Wheel = memo(function (props) {
|
|
12
|
+
var value = props.value,
|
|
13
|
+
column = props.column,
|
|
14
|
+
renderLabel = props.renderLabel;
|
|
15
|
+
function onSelect(val) {
|
|
16
|
+
props.onSelect(val, props.index);
|
|
17
|
+
}
|
|
18
|
+
var _a = useSpring(function () {
|
|
19
|
+
return {
|
|
20
|
+
from: {
|
|
21
|
+
y: 0
|
|
22
|
+
},
|
|
23
|
+
config: {
|
|
24
|
+
tension: 400,
|
|
25
|
+
mass: 0.8
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}),
|
|
29
|
+
y = _a[0].y,
|
|
30
|
+
api = _a[1];
|
|
31
|
+
var draggingRef = useRef(false);
|
|
32
|
+
var rootRef = useRef(null);
|
|
33
|
+
var itemHeightMeasureRef = useRef(null);
|
|
34
|
+
var itemHeight = useRef(34);
|
|
35
|
+
useIsomorphicLayoutEffect(function () {
|
|
36
|
+
var itemHeightMeasure = itemHeightMeasureRef.current;
|
|
37
|
+
if (!itemHeightMeasure) return;
|
|
38
|
+
itemHeight.current = measureCSSLength(window.getComputedStyle(itemHeightMeasure).getPropertyValue('height'));
|
|
39
|
+
});
|
|
40
|
+
useIsomorphicLayoutEffect(function () {
|
|
41
|
+
if (draggingRef.current) return;
|
|
42
|
+
if (value === null) return;
|
|
43
|
+
var targetIndex = column.findIndex(function (item) {
|
|
44
|
+
return item.value === value;
|
|
45
|
+
});
|
|
46
|
+
if (targetIndex < 0) return;
|
|
47
|
+
var finalPosition = targetIndex * -itemHeight.current;
|
|
48
|
+
api.start({
|
|
49
|
+
y: finalPosition,
|
|
50
|
+
immediate: y.goal !== finalPosition
|
|
51
|
+
});
|
|
52
|
+
}, [value, column]);
|
|
53
|
+
useIsomorphicLayoutEffect(function () {
|
|
54
|
+
if (column.length === 0) {
|
|
55
|
+
if (value !== null) {
|
|
56
|
+
onSelect(null);
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
if (!column.some(function (item) {
|
|
60
|
+
return item.value === value;
|
|
61
|
+
})) {
|
|
62
|
+
var firstItem = column[0];
|
|
63
|
+
onSelect(firstItem.value);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}, [column, value]);
|
|
67
|
+
function scrollSelect(index) {
|
|
68
|
+
var finalPosition = index * -itemHeight.current;
|
|
69
|
+
api.start({
|
|
70
|
+
y: finalPosition
|
|
71
|
+
});
|
|
72
|
+
var item = column[index];
|
|
73
|
+
if (!item) return;
|
|
74
|
+
onSelect(item.value);
|
|
75
|
+
}
|
|
76
|
+
var handleGestureState = function (state) {
|
|
77
|
+
var _a = state.direction,
|
|
78
|
+
direction = _a[1],
|
|
79
|
+
_b = state.distance,
|
|
80
|
+
distance = _b[1],
|
|
81
|
+
_c = state.velocity,
|
|
82
|
+
velocity = _c[1],
|
|
83
|
+
_d = state.offset,
|
|
84
|
+
offset = _d[1],
|
|
85
|
+
last = state.last;
|
|
86
|
+
return {
|
|
87
|
+
direction: direction,
|
|
88
|
+
distance: distance,
|
|
89
|
+
velocity: velocity,
|
|
90
|
+
offset: offset,
|
|
91
|
+
last: last
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
var handleDrag = function (state) {
|
|
95
|
+
draggingRef.current = true;
|
|
96
|
+
var min = -((column.length - 1) * itemHeight.current);
|
|
97
|
+
var max = 0;
|
|
98
|
+
var _a = handleGestureState(state),
|
|
99
|
+
direction = _a.direction,
|
|
100
|
+
last = _a.last,
|
|
101
|
+
velocity = _a.velocity,
|
|
102
|
+
offset = _a.offset;
|
|
103
|
+
if (last) {
|
|
104
|
+
draggingRef.current = false;
|
|
105
|
+
var position = offset + velocity * direction * 50;
|
|
106
|
+
var boundNum = bound(position, min, max);
|
|
107
|
+
var targetIndex = -Math.round(boundNum / itemHeight.current);
|
|
108
|
+
scrollSelect(targetIndex);
|
|
109
|
+
} else {
|
|
110
|
+
var position = offset;
|
|
111
|
+
api.start({
|
|
112
|
+
y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var handleWheel = function (state) {
|
|
117
|
+
draggingRef.current = true;
|
|
118
|
+
var min = -((column.length - 1) * itemHeight.current);
|
|
119
|
+
var max = 0;
|
|
120
|
+
var _a = handleGestureState(state),
|
|
121
|
+
direction = _a.direction,
|
|
122
|
+
last = _a.last,
|
|
123
|
+
velocity = _a.velocity,
|
|
124
|
+
distance = _a.distance;
|
|
125
|
+
var whellDir = -direction; // 取反
|
|
126
|
+
var scrollY = y.get();
|
|
127
|
+
if (last) {
|
|
128
|
+
draggingRef.current = false;
|
|
129
|
+
var speed = velocity * whellDir * 50;
|
|
130
|
+
var position = scrollY + distance * whellDir + speed;
|
|
131
|
+
var boundNum = bound(position, min, max);
|
|
132
|
+
var targetIndex = -Math.round(boundNum / itemHeight.current);
|
|
133
|
+
scrollSelect(targetIndex);
|
|
134
|
+
} else {
|
|
135
|
+
var position = scrollY + distance * whellDir;
|
|
136
|
+
api.start({
|
|
137
|
+
y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
useDrag(function (state) {
|
|
142
|
+
state.event.stopPropagation();
|
|
143
|
+
handleDrag(state);
|
|
144
|
+
}, {
|
|
145
|
+
axis: 'y',
|
|
146
|
+
from: function () {
|
|
147
|
+
return [0, y.get()];
|
|
148
|
+
},
|
|
149
|
+
filterTaps: true,
|
|
150
|
+
pointer: {
|
|
151
|
+
touch: true
|
|
152
|
+
},
|
|
153
|
+
target: rootRef
|
|
154
|
+
});
|
|
155
|
+
useWheel(function (state) {
|
|
156
|
+
state.event.stopPropagation();
|
|
157
|
+
handleWheel(state);
|
|
158
|
+
}, {
|
|
159
|
+
target: props.mouseWheel ? rootRef : undefined,
|
|
160
|
+
axis: 'y',
|
|
161
|
+
from: function () {
|
|
162
|
+
return [0, y.get()];
|
|
163
|
+
},
|
|
164
|
+
preventDefault: true,
|
|
165
|
+
eventOptions: supportsPassive ? {
|
|
166
|
+
passive: false
|
|
167
|
+
} : undefined
|
|
168
|
+
});
|
|
169
|
+
var selectedIndex = null;
|
|
170
|
+
function renderAccessible() {
|
|
171
|
+
if (selectedIndex === null) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
var current = column[selectedIndex];
|
|
175
|
+
var previousIndex = selectedIndex - 1;
|
|
176
|
+
var nextIndex = selectedIndex + 1;
|
|
177
|
+
var previous = column[previousIndex];
|
|
178
|
+
var next = column[nextIndex];
|
|
179
|
+
return React.createElement("div", {
|
|
180
|
+
className: "".concat(classPrefix, "-column-accessible")
|
|
181
|
+
}, React.createElement("div", {
|
|
182
|
+
className: "".concat(classPrefix, "-column-accessible-current"),
|
|
183
|
+
role: 'button',
|
|
184
|
+
"aria-label": current ? "\u5F53\u524D\u9009\u62E9\u7684\u662F\uFF1A".concat(current.label) : '当前未选择'
|
|
185
|
+
}, "-"), React.createElement("div", {
|
|
186
|
+
className: "".concat(classPrefix, "-column-accessible-button"),
|
|
187
|
+
onClick: function () {
|
|
188
|
+
if (!previous) return;
|
|
189
|
+
scrollSelect(previousIndex);
|
|
190
|
+
},
|
|
191
|
+
role: previous ? 'button' : 'text',
|
|
192
|
+
"aria-label": !previous ? '没有上一项' : "\u9009\u62E9\u4E0A\u4E00\u9879\uFF1A".concat(previous.label)
|
|
193
|
+
}, "-"), React.createElement("div", {
|
|
194
|
+
className: "".concat(classPrefix, "-column-accessible-button"),
|
|
195
|
+
onClick: function () {
|
|
196
|
+
if (!next) return;
|
|
197
|
+
scrollSelect(nextIndex);
|
|
198
|
+
},
|
|
199
|
+
role: next ? 'button' : 'text',
|
|
200
|
+
"aria-label": !next ? '没有下一项' : "\u9009\u62E9\u4E0B\u4E00\u9879\uFF1A".concat(next.label)
|
|
201
|
+
}, "-"));
|
|
202
|
+
}
|
|
203
|
+
return React.createElement("div", {
|
|
204
|
+
className: "".concat(classPrefix, "-column")
|
|
205
|
+
}, React.createElement("div", {
|
|
206
|
+
className: "".concat(classPrefix, "-item-height-measure"),
|
|
207
|
+
ref: itemHeightMeasureRef
|
|
208
|
+
}), React.createElement(animated.div, {
|
|
209
|
+
ref: rootRef,
|
|
210
|
+
style: {
|
|
211
|
+
translateY: y
|
|
212
|
+
},
|
|
213
|
+
className: "".concat(classPrefix, "-column-wheel"),
|
|
214
|
+
"aria-hidden": true
|
|
215
|
+
}, column.map(function (item, index) {
|
|
216
|
+
var _a;
|
|
217
|
+
var selected = props.value === item.value;
|
|
218
|
+
if (selected) selectedIndex = index;
|
|
219
|
+
function handleClick() {
|
|
220
|
+
draggingRef.current = false;
|
|
221
|
+
scrollSelect(index);
|
|
222
|
+
}
|
|
223
|
+
return React.createElement("div", {
|
|
224
|
+
key: (_a = item.key) !== null && _a !== void 0 ? _a : item.value,
|
|
225
|
+
"data-selected": item.value === value,
|
|
226
|
+
className: "".concat(classPrefix, "-column-item"),
|
|
227
|
+
onClick: handleClick,
|
|
228
|
+
"aria-hidden": !selected,
|
|
229
|
+
"aria-label": selected ? 'active' : ''
|
|
230
|
+
}, React.createElement("div", {
|
|
231
|
+
className: "".concat(classPrefix, "-column-item-label")
|
|
232
|
+
}, renderLabel(item)));
|
|
233
|
+
})), renderAccessible());
|
|
234
|
+
}, function (prev, next) {
|
|
235
|
+
if (prev.index !== next.index) return false;
|
|
236
|
+
if (prev.value !== next.value) return false;
|
|
237
|
+
if (prev.onSelect !== next.onSelect) return false;
|
|
238
|
+
if (prev.renderLabel !== next.renderLabel) return false;
|
|
239
|
+
if (prev.mouseWheel !== next.mouseWheel) return false;
|
|
240
|
+
if (!isEqual(prev.column, next.column)) return false;
|
|
241
|
+
return true;
|
|
242
|
+
});
|
|
243
|
+
Wheel.displayName = 'Wheel';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { GetContainer } from '../../utils/render-to-container';
|
|
4
|
+
import { PropagationEvent } from '../../utils/with-stop-propagation';
|
|
5
|
+
import { NativeProps } from '@ebscn/ui/utils/native-props';
|
|
6
|
+
type MaskProps = {
|
|
7
|
+
visible?: boolean;
|
|
8
|
+
onMaskClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
9
|
+
destroyOnClose?: boolean;
|
|
10
|
+
forceRender?: boolean;
|
|
11
|
+
disableBodyScroll?: boolean;
|
|
12
|
+
color?: 'white' | 'black' | (string & {});
|
|
13
|
+
opacity?: 'default' | 'thin' | 'thick' | number;
|
|
14
|
+
getContainer?: GetContainer;
|
|
15
|
+
afterShow?: () => void;
|
|
16
|
+
afterClose?: () => void;
|
|
17
|
+
stopPropagation?: PropagationEvent[];
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
} & NativeProps<'--z-index'>;
|
|
20
|
+
export type PopupBaseProps = {
|
|
21
|
+
afterClose?: () => void;
|
|
22
|
+
afterShow?: () => void;
|
|
23
|
+
bodyClassName?: string;
|
|
24
|
+
bodyStyle?: CSSProperties;
|
|
25
|
+
closeOnMaskClick?: boolean;
|
|
26
|
+
destroyOnClose?: boolean;
|
|
27
|
+
disableBodyScroll?: boolean;
|
|
28
|
+
forceRender?: boolean;
|
|
29
|
+
getContainer?: GetContainer;
|
|
30
|
+
mask?: boolean;
|
|
31
|
+
maskClassName?: string;
|
|
32
|
+
maskStyle?: MaskProps['style'];
|
|
33
|
+
onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
34
|
+
onClose?: () => void;
|
|
35
|
+
onMaskClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
36
|
+
showCloseButton?: boolean;
|
|
37
|
+
stopPropagation?: PropagationEvent[];
|
|
38
|
+
visible?: boolean;
|
|
39
|
+
};
|
|
40
|
+
export declare const defaultPopupBaseProps: {
|
|
41
|
+
closeOnMaskClick: boolean;
|
|
42
|
+
destroyOnClose: boolean;
|
|
43
|
+
disableBodyScroll: boolean;
|
|
44
|
+
forceRender: boolean;
|
|
45
|
+
getContainer: () => HTMLElement;
|
|
46
|
+
mask: boolean;
|
|
47
|
+
showCloseButton: boolean;
|
|
48
|
+
stopPropagation: string[];
|
|
49
|
+
visible: boolean;
|
|
50
|
+
};
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export var defaultPopupBaseProps = {
|
|
2
|
+
closeOnMaskClick: false,
|
|
3
|
+
destroyOnClose: false,
|
|
4
|
+
disableBodyScroll: true,
|
|
5
|
+
forceRender: false,
|
|
6
|
+
getContainer: function () {
|
|
7
|
+
return document.body;
|
|
8
|
+
},
|
|
9
|
+
mask: true,
|
|
10
|
+
showCloseButton: false,
|
|
11
|
+
stopPropagation: ['click'],
|
|
12
|
+
visible: false
|
|
13
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.ebscn-popup {
|
|
2
|
+
--z-index: var(--ebscn-popup-z-index, 1000);
|
|
3
|
+
position: fixed;
|
|
4
|
+
z-index: var(--z-index);
|
|
5
|
+
}
|
|
6
|
+
.ebscn-popup-body {
|
|
7
|
+
position: fixed;
|
|
8
|
+
background-color: var(--ebscn-color-background);
|
|
9
|
+
z-index: calc(var(--z-index) + 10);
|
|
10
|
+
}
|
|
11
|
+
.ebscn-popup-body .ebscn-popup-close-icon {
|
|
12
|
+
position: absolute;
|
|
13
|
+
z-index: 100;
|
|
14
|
+
}
|
|
15
|
+
.ebscn-popup-body-position-bottom {
|
|
16
|
+
width: 100%;
|
|
17
|
+
bottom: 0;
|
|
18
|
+
left: 0;
|
|
19
|
+
}
|
|
20
|
+
.ebscn-popup-body-position-bottom .ebscn-popup-close-icon {
|
|
21
|
+
left: 8px;
|
|
22
|
+
top: 8px;
|
|
23
|
+
}
|
|
24
|
+
.ebscn-popup-body-position-top {
|
|
25
|
+
width: 100%;
|
|
26
|
+
top: 0;
|
|
27
|
+
left: 0;
|
|
28
|
+
}
|
|
29
|
+
.ebscn-popup-body-position-top .ebscn-popup-close-icon {
|
|
30
|
+
left: 8px;
|
|
31
|
+
bottom: 8px;
|
|
32
|
+
}
|
|
33
|
+
.ebscn-popup-body-position-left {
|
|
34
|
+
height: 100%;
|
|
35
|
+
top: 0;
|
|
36
|
+
left: 0;
|
|
37
|
+
}
|
|
38
|
+
.ebscn-popup-body-position-left .ebscn-popup-close-icon {
|
|
39
|
+
left: 8px;
|
|
40
|
+
top: 8px;
|
|
41
|
+
}
|
|
42
|
+
.ebscn-popup-body-position-right {
|
|
43
|
+
height: 100%;
|
|
44
|
+
top: 0;
|
|
45
|
+
right: 0;
|
|
46
|
+
}
|
|
47
|
+
.ebscn-popup-body-position-right .ebscn-popup-close-icon {
|
|
48
|
+
left: 8px;
|
|
49
|
+
top: 8px;
|
|
50
|
+
}
|
|
51
|
+
.ebscn-popup-close-icon {
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
padding: 4px;
|
|
54
|
+
font-size: 18px;
|
|
55
|
+
line-height: 1;
|
|
56
|
+
color: var(--ebscn-color-weak);
|
|
57
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FC, PropsWithChildren } from 'react';
|
|
2
|
+
import { NativeProps } from '../../utils/native-props';
|
|
3
|
+
import { PopupBaseProps } from './popup-base-props';
|
|
4
|
+
export type PopupProps = PopupBaseProps & PropsWithChildren<{
|
|
5
|
+
position?: 'bottom' | 'top' | 'left' | 'right';
|
|
6
|
+
closeOnSwipe?: boolean;
|
|
7
|
+
}> & NativeProps<'--z-index'>;
|
|
8
|
+
export declare const Popup: FC<PopupProps>;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
var __assign = this && this.__assign || function () {
|
|
2
|
+
__assign = Object.assign || function (t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
6
|
+
}
|
|
7
|
+
return t;
|
|
8
|
+
};
|
|
9
|
+
return __assign.apply(this, arguments);
|
|
10
|
+
};
|
|
11
|
+
import { animated, useSpring } from '@react-spring/web';
|
|
12
|
+
import { useDrag } from '@use-gesture/react';
|
|
13
|
+
import { useIsomorphicLayoutEffect, useUnmountedRef } from 'ahooks';
|
|
14
|
+
import Mask from '../mask';
|
|
15
|
+
import { CloseOutline } from 'antd-mobile-icons';
|
|
16
|
+
import classNames from 'classnames';
|
|
17
|
+
import React, { useRef, useState } from 'react';
|
|
18
|
+
import { withNativeProps } from '../../utils/native-props';
|
|
19
|
+
import { renderToContainer } from '../../utils/render-to-container';
|
|
20
|
+
import { ShouldRender } from '../../utils/should-render';
|
|
21
|
+
import { useInnerVisible } from '../../utils/use-inner-visible';
|
|
22
|
+
import { useLockScroll } from '../../utils/use-lock-scroll';
|
|
23
|
+
import { mergeProps } from '../../utils/with-default-props';
|
|
24
|
+
import { withStopPropagation } from '../../utils/with-stop-propagation';
|
|
25
|
+
import { defaultPopupBaseProps } from './popup-base-props';
|
|
26
|
+
var classPrefix = "ebscn-popup";
|
|
27
|
+
var defaultProps = __assign(__assign({}, defaultPopupBaseProps), {
|
|
28
|
+
closeOnSwipe: false,
|
|
29
|
+
position: 'bottom'
|
|
30
|
+
});
|
|
31
|
+
export var Popup = function (p) {
|
|
32
|
+
var props = mergeProps(defaultProps, p);
|
|
33
|
+
var bodyCls = classNames("".concat(classPrefix, "-body"), props.bodyClassName, "".concat(classPrefix, "-body-position-").concat(props.position));
|
|
34
|
+
var _a = useState(props.visible),
|
|
35
|
+
active = _a[0],
|
|
36
|
+
setActive = _a[1];
|
|
37
|
+
var ref = useRef(null);
|
|
38
|
+
useLockScroll(ref, props.disableBodyScroll && active ? 'strict' : false);
|
|
39
|
+
useIsomorphicLayoutEffect(function () {
|
|
40
|
+
if (props.visible) {
|
|
41
|
+
setActive(true);
|
|
42
|
+
}
|
|
43
|
+
}, [props.visible]);
|
|
44
|
+
var unmountedRef = useUnmountedRef();
|
|
45
|
+
var percent = useSpring({
|
|
46
|
+
percent: props.visible ? 0 : 100,
|
|
47
|
+
config: {
|
|
48
|
+
precision: 0.1,
|
|
49
|
+
mass: 0.4,
|
|
50
|
+
tension: 300,
|
|
51
|
+
friction: 30
|
|
52
|
+
},
|
|
53
|
+
onRest: function () {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
if (unmountedRef.current) return;
|
|
56
|
+
setActive(props.visible);
|
|
57
|
+
if (props.visible) {
|
|
58
|
+
(_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
59
|
+
} else {
|
|
60
|
+
(_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}).percent;
|
|
64
|
+
var bind = useDrag(function (_a) {
|
|
65
|
+
var _b;
|
|
66
|
+
var _c = _a.swipe,
|
|
67
|
+
swipeY = _c[1];
|
|
68
|
+
if (!props.closeOnSwipe) return;
|
|
69
|
+
if (swipeY === 1 && props.position === 'bottom' || swipeY === -1 && props.position === 'top') {
|
|
70
|
+
(_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
axis: 'y',
|
|
74
|
+
enabled: ['top', 'bottom'].includes(props.position)
|
|
75
|
+
});
|
|
76
|
+
var maskVisible = useInnerVisible(active && props.visible);
|
|
77
|
+
var node = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement("div", __assign({
|
|
78
|
+
className: classPrefix,
|
|
79
|
+
onClick: props.onClick,
|
|
80
|
+
style: {
|
|
81
|
+
display: active ? undefined : 'none',
|
|
82
|
+
touchAction: ['top', 'bottom'].includes(props.position) ? 'none' : 'auto'
|
|
83
|
+
}
|
|
84
|
+
}, bind()), props.mask && React.createElement(Mask, {
|
|
85
|
+
visible: maskVisible,
|
|
86
|
+
forceRender: props.forceRender,
|
|
87
|
+
destroyOnClose: props.destroyOnClose,
|
|
88
|
+
onMaskClick: function (e) {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
(_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
91
|
+
if (props.closeOnMaskClick) {
|
|
92
|
+
(_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
className: props.maskClassName,
|
|
96
|
+
style: props.maskStyle,
|
|
97
|
+
disableBodyScroll: false,
|
|
98
|
+
stopPropagation: props.stopPropagation
|
|
99
|
+
}), React.createElement(animated.div, {
|
|
100
|
+
className: bodyCls,
|
|
101
|
+
style: __assign(__assign({}, props.bodyStyle), {
|
|
102
|
+
pointerEvents: percent.to(function (v) {
|
|
103
|
+
return v === 0 ? 'unset' : 'none';
|
|
104
|
+
}),
|
|
105
|
+
transform: percent.to(function (v) {
|
|
106
|
+
if (props.position === 'bottom') {
|
|
107
|
+
return "translate(0, ".concat(v, "%)");
|
|
108
|
+
}
|
|
109
|
+
if (props.position === 'top') {
|
|
110
|
+
return "translate(0, -".concat(v, "%)");
|
|
111
|
+
}
|
|
112
|
+
if (props.position === 'left') {
|
|
113
|
+
return "translate(-".concat(v, "%, 0)");
|
|
114
|
+
}
|
|
115
|
+
if (props.position === 'right') {
|
|
116
|
+
return "translate(".concat(v, "%, 0)");
|
|
117
|
+
}
|
|
118
|
+
return 'none';
|
|
119
|
+
})
|
|
120
|
+
}),
|
|
121
|
+
ref: ref
|
|
122
|
+
}, props.showCloseButton && React.createElement("a", {
|
|
123
|
+
className: classNames("".concat(classPrefix, "-close-icon"), 'ebscn-plain-anchor'),
|
|
124
|
+
onClick: function () {
|
|
125
|
+
var _a;
|
|
126
|
+
(_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
127
|
+
},
|
|
128
|
+
role: "button"
|
|
129
|
+
}, React.createElement(CloseOutline, null)), props.children))));
|
|
130
|
+
return React.createElement(ShouldRender, {
|
|
131
|
+
active: active,
|
|
132
|
+
forceRender: props.forceRender,
|
|
133
|
+
destroyOnClose: props.destroyOnClose
|
|
134
|
+
}, renderToContainer(props.getContainer, node));
|
|
135
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './pro-selector.less';
|
|
3
|
+
export type { ProSelectorProps } from './pro-selector';
|
|
4
|
+
declare const _default: (<V extends string | number>(props: {
|
|
5
|
+
defaultValue?: V[] | undefined;
|
|
6
|
+
label?: import("react").ReactNode;
|
|
7
|
+
head?: import("react").ReactNode;
|
|
8
|
+
value?: V[] | undefined;
|
|
9
|
+
options: import("../selector").SelectorOption<V>[];
|
|
10
|
+
fieldNames?: import("../../hooks").FieldNamesType | undefined;
|
|
11
|
+
multiple?: boolean | undefined;
|
|
12
|
+
disabled?: boolean | undefined;
|
|
13
|
+
selectorButtonProps?: import("../button").SelectorButtonProps | undefined;
|
|
14
|
+
selectorProps?: Pick<import("../selector").SelectorProps<V>, "className" | "style" | "showCheckMark"> | undefined;
|
|
15
|
+
checkBoxProps?: Pick<import("../checkbox").CheckboxProps, "className" | "style" | "size" | "icon"> | undefined;
|
|
16
|
+
radioProps?: Pick<import("../radio").RadioProps, "className" | "style" | "size" | "icon"> | undefined;
|
|
17
|
+
popupProps?: import("../popup").PopupProps | undefined;
|
|
18
|
+
onChange?: ((v: V[], extend: {
|
|
19
|
+
items: import("../selector").SelectorOption<V>[];
|
|
20
|
+
}) => void) | undefined;
|
|
21
|
+
} & {
|
|
22
|
+
className?: string | undefined;
|
|
23
|
+
style?: (import("react").CSSProperties & Partial<Record<never, string>>) | undefined;
|
|
24
|
+
tabIndex?: number | undefined;
|
|
25
|
+
} & import("react").AriaAttributes & {
|
|
26
|
+
onClick?: ((event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => unknown) | undefined;
|
|
27
|
+
}) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) & {
|
|
28
|
+
Body: <T extends string | number>(p: import("./pro-selector").ProSelectorProps<T>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
29
|
+
};
|
|
30
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
.ebscn-pro-selector-option-line:not(:last-child) {
|
|
2
|
+
border-bottom: 1px solid var(--ebscn-color-split-line);
|
|
3
|
+
}
|
|
4
|
+
.ebscn-pro-selector-head {
|
|
5
|
+
text-align: center;
|
|
6
|
+
}
|
|
7
|
+
.ebscn-pro-selector-footer {
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: space-between;
|
|
10
|
+
gap: 12px;
|
|
11
|
+
}
|