sard 1.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/Item.d.ts +17 -0
- package/dist/accordion/Item.js +25 -0
- package/dist/accordion/index.d.ts +26 -0
- package/dist/accordion/index.js +27 -0
- package/dist/accordion/index.scss +49 -0
- package/dist/action-sheet/ActionSheet.d.ts +24 -0
- package/dist/action-sheet/ActionSheet.js +79 -0
- package/dist/action-sheet/Agent.d.ts +6 -0
- package/dist/action-sheet/Agent.js +7 -0
- package/dist/action-sheet/Item.d.ts +16 -0
- package/dist/action-sheet/Item.js +22 -0
- package/dist/action-sheet/imperative.d.ts +10 -0
- package/dist/action-sheet/imperative.js +22 -0
- package/dist/action-sheet/index.d.ts +12 -0
- package/dist/action-sheet/index.js +10 -0
- package/dist/action-sheet/index.scss +148 -0
- package/dist/animated/index.d.ts +62 -0
- package/dist/animated/index.js +101 -0
- package/dist/animated/index.rn.d.ts +4 -0
- package/dist/animated/index.rn.js +35 -0
- package/dist/avatar/Group.d.ts +9 -0
- package/dist/avatar/Group.js +27 -0
- package/dist/avatar/index.d.ts +17 -0
- package/dist/avatar/index.js +22 -0
- package/dist/avatar/index.scss +82 -0
- package/dist/badge/index.d.ts +13 -0
- package/dist/badge/index.js +16 -0
- package/dist/badge/index.scss +81 -0
- package/dist/base.d.ts +11 -0
- package/dist/base.js +1 -0
- package/dist/button/CustomButton.d.ts +9 -0
- package/dist/button/CustomButton.js +23 -0
- package/dist/button/index.d.ts +21 -0
- package/dist/button/index.js +34 -0
- package/dist/button/index.scss +346 -0
- package/dist/calendar/Day.d.ts +23 -0
- package/dist/calendar/Day.js +70 -0
- package/dist/calendar/MonthPicker.d.ts +13 -0
- package/dist/calendar/MonthPicker.js +22 -0
- package/dist/calendar/Toolbar.d.ts +11 -0
- package/dist/calendar/Toolbar.js +18 -0
- package/dist/calendar/Weeks.d.ts +6 -0
- package/dist/calendar/Weeks.js +18 -0
- package/dist/calendar/index.d.ts +48 -0
- package/dist/calendar/index.js +193 -0
- package/dist/calendar/index.scss +210 -0
- package/dist/card/index.d.ts +15 -0
- package/dist/card/index.js +14 -0
- package/dist/card/index.scss +64 -0
- package/dist/cascader/index.d.ts +43 -0
- package/dist/cascader/index.js +216 -0
- package/dist/cascader/index.scss +130 -0
- package/dist/checkbox/Group.d.ts +5 -0
- package/dist/checkbox/Group.js +5 -0
- package/dist/checkbox/index.d.ts +10 -0
- package/dist/checkbox/index.js +8 -0
- package/dist/checkbox/index.scss +78 -0
- package/dist/collapse/index.d.ts +14 -0
- package/dist/collapse/index.js +61 -0
- package/dist/collapse/index.rn.d.ts +14 -0
- package/dist/collapse/index.rn.js +76 -0
- package/dist/collapse/index.scss +31 -0
- package/dist/components.d.ts +66 -0
- package/dist/components.js +66 -0
- package/dist/components.scss +65 -0
- package/dist/config-provider/index.d.ts +21 -0
- package/dist/config-provider/index.js +20 -0
- package/dist/count-down/index.d.ts +26 -0
- package/dist/count-down/index.js +95 -0
- package/dist/datetime-picker/index.d.ts +36 -0
- package/dist/datetime-picker/index.js +230 -0
- package/dist/dialog/Agent.d.ts +6 -0
- package/dist/dialog/Agent.js +7 -0
- package/dist/dialog/Dialog.d.ts +31 -0
- package/dist/dialog/Dialog.js +103 -0
- package/dist/dialog/imperative.d.ts +17 -0
- package/dist/dialog/imperative.js +35 -0
- package/dist/dialog/index.d.ts +14 -0
- package/dist/dialog/index.js +12 -0
- package/dist/dialog/index.scss +156 -0
- package/dist/dropdown/Item.d.ts +33 -0
- package/dist/dropdown/Item.js +164 -0
- package/dist/dropdown/Option.d.ts +10 -0
- package/dist/dropdown/Option.js +12 -0
- package/dist/dropdown/index.d.ts +20 -0
- package/dist/dropdown/index.js +59 -0
- package/dist/dropdown/index.scss +236 -0
- package/dist/ellipsis/index.d.ts +8 -0
- package/dist/ellipsis/index.js +18 -0
- package/dist/ellipsis/index.scss +23 -0
- package/dist/empty/index.d.ts +10 -0
- package/dist/empty/index.js +14 -0
- package/dist/empty/index.scss +59 -0
- package/dist/footer-bar/index.d.ts +8 -0
- package/dist/footer-bar/index.js +15 -0
- package/dist/footer-bar/index.scss +29 -0
- package/dist/form/CustomForm.d.ts +13 -0
- package/dist/form/CustomForm.js +26 -0
- package/dist/form/ErrorList.d.ts +6 -0
- package/dist/form/ErrorList.js +15 -0
- package/dist/form/Field.d.ts +41 -0
- package/dist/form/Field.js +124 -0
- package/dist/form/FieldContext.d.ts +18 -0
- package/dist/form/FieldContext.js +8 -0
- package/dist/form/List.d.ts +31 -0
- package/dist/form/List.js +87 -0
- package/dist/form/Map.d.ts +17 -0
- package/dist/form/Map.js +24 -0
- package/dist/form/NodeContext.d.ts +12 -0
- package/dist/form/NodeContext.js +14 -0
- package/dist/form/Validator.d.ts +88 -0
- package/dist/form/Validator.js +268 -0
- package/dist/form/createFormStore.d.ts +36 -0
- package/dist/form/createFormStore.js +249 -0
- package/dist/form/index.d.ts +43 -0
- package/dist/form/index.js +109 -0
- package/dist/form/index.scss +200 -0
- package/dist/form/store/Context.d.ts +4 -0
- package/dist/form/store/Context.js +3 -0
- package/dist/form/store/createStore.d.ts +6 -0
- package/dist/form/store/createStore.js +28 -0
- package/dist/form/store/useDispatch.d.ts +2 -0
- package/dist/form/store/useDispatch.js +10 -0
- package/dist/form/store/useSelector.d.ts +7 -0
- package/dist/form/store/useSelector.js +35 -0
- package/dist/form/type.d.ts +20 -0
- package/dist/form/type.js +1 -0
- package/dist/form/useForm.d.ts +27 -0
- package/dist/form/useForm.js +14 -0
- package/dist/form/useInternalWatch.d.ts +3 -0
- package/dist/form/useInternalWatch.js +27 -0
- package/dist/form/useNode.d.ts +49 -0
- package/dist/form/useNode.js +284 -0
- package/dist/form/useValidator.d.ts +23 -0
- package/dist/form/useValidator.js +74 -0
- package/dist/form/useWatch.d.ts +4 -0
- package/dist/form/useWatch.js +24 -0
- package/dist/grid/Col.d.ts +9 -0
- package/dist/grid/Col.js +20 -0
- package/dist/grid/Row.d.ts +11 -0
- package/dist/grid/Row.js +34 -0
- package/dist/grid/index.d.ts +2 -0
- package/dist/grid/index.js +2 -0
- package/dist/grid/index.scss +56 -0
- package/dist/halfline/index.d.ts +10 -0
- package/dist/halfline/index.js +27 -0
- package/dist/halfline/index.scss +80 -0
- package/dist/icon/common.d.ts +15 -0
- package/dist/icon/common.js +1 -0
- package/dist/icon/font/iconfont.json +275 -0
- package/dist/icon/font/iconfont.rn.scss +0 -0
- package/dist/icon/font/iconfont.scss +164 -0
- package/dist/icon/font/iconfont.ttf +0 -0
- package/dist/icon/fontLoader.d.ts +7 -0
- package/dist/icon/fontLoader.js +14 -0
- package/dist/icon/fontLoader.rn.d.ts +6 -0
- package/dist/icon/fontLoader.rn.js +52 -0
- package/dist/icon/index.d.ts +21 -0
- package/dist/icon/index.js +41 -0
- package/dist/icon/index.scss +23 -0
- package/dist/index-bar/Item.d.ts +9 -0
- package/dist/index-bar/Item.js +11 -0
- package/dist/index-bar/Nav.d.ts +13 -0
- package/dist/index-bar/Nav.js +75 -0
- package/dist/index-bar/index.d.ts +19 -0
- package/dist/index-bar/index.js +142 -0
- package/dist/index-bar/index.scss +153 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.scss +1 -0
- package/dist/input/index.d.ts +37 -0
- package/dist/input/index.js +116 -0
- package/dist/input/index.scss +249 -0
- package/dist/linear-gradient/index.d.ts +14 -0
- package/dist/linear-gradient/index.js +30 -0
- package/dist/linear-gradient/index.rn.d.ts +3 -0
- package/dist/linear-gradient/index.rn.js +3 -0
- package/dist/list/Item.d.ts +22 -0
- package/dist/list/Item.js +26 -0
- package/dist/list/ListContext.d.ts +9 -0
- package/dist/list/ListContext.js +2 -0
- package/dist/list/OrderContext.d.ts +8 -0
- package/dist/list/OrderContext.js +6 -0
- package/dist/list/index.d.ts +19 -0
- package/dist/list/index.js +29 -0
- package/dist/list/index.scss +257 -0
- package/dist/loading/index.d.ts +10 -0
- package/dist/loading/index.js +47 -0
- package/dist/loading/index.scss +25 -0
- package/dist/locale/index.d.ts +199 -0
- package/dist/locale/index.js +36 -0
- package/dist/locale/lang/en-US.d.ts +92 -0
- package/dist/locale/lang/en-US.js +92 -0
- package/dist/locale/lang/zh-CN.d.ts +92 -0
- package/dist/locale/lang/zh-CN.js +92 -0
- package/dist/locale/useTranslate.d.ts +7 -0
- package/dist/locale/useTranslate.js +41 -0
- package/dist/mask/index.d.ts +13 -0
- package/dist/mask/index.js +26 -0
- package/dist/mask/index.scss +24 -0
- package/dist/menu/Item.d.ts +15 -0
- package/dist/menu/Item.js +17 -0
- package/dist/menu/index.d.ts +17 -0
- package/dist/menu/index.js +15 -0
- package/dist/menu/index.scss +128 -0
- package/dist/mesh/Item.d.ts +16 -0
- package/dist/mesh/Item.js +16 -0
- package/dist/mesh/index.d.ts +14 -0
- package/dist/mesh/index.js +69 -0
- package/dist/mesh/index.scss +131 -0
- package/dist/mesh/type.d.ts +9 -0
- package/dist/mesh/type.js +1 -0
- package/dist/modal/index.d.ts +8 -0
- package/dist/modal/index.js +9 -0
- package/dist/modal/index.rn.d.ts +8 -0
- package/dist/modal/index.rn.js +8 -0
- package/dist/navbar/Item.d.ts +8 -0
- package/dist/navbar/Item.js +11 -0
- package/dist/navbar/index.d.ts +15 -0
- package/dist/navbar/index.js +16 -0
- package/dist/navbar/index.scss +128 -0
- package/dist/notice-bar/index.d.ts +28 -0
- package/dist/notice-bar/index.js +135 -0
- package/dist/notice-bar/index.scss +109 -0
- package/dist/notify/Agent.d.ts +6 -0
- package/dist/notify/Agent.js +7 -0
- package/dist/notify/Notify.d.ts +22 -0
- package/dist/notify/Notify.js +48 -0
- package/dist/notify/imperative.d.ts +18 -0
- package/dist/notify/imperative.js +35 -0
- package/dist/notify/index.d.ts +15 -0
- package/dist/notify/index.js +13 -0
- package/dist/notify/index.scss +65 -0
- package/dist/number-keyboard/index.d.ts +10 -0
- package/dist/number-keyboard/index.js +51 -0
- package/dist/number-keyboard/index.scss +93 -0
- package/dist/pagination/index.d.ts +20 -0
- package/dist/pagination/index.js +65 -0
- package/dist/pagination/index.scss +131 -0
- package/dist/pan-gesture-detector/index.d.ts +8 -0
- package/dist/pan-gesture-detector/index.js +11 -0
- package/dist/pan-gesture-detector/index.rn.d.ts +8 -0
- package/dist/pan-gesture-detector/index.rn.js +23 -0
- package/dist/pan-gesture-detector/usePan.d.ts +47 -0
- package/dist/pan-gesture-detector/usePan.js +146 -0
- package/dist/password-input/index.d.ts +22 -0
- package/dist/password-input/index.js +91 -0
- package/dist/password-input/index.scss +189 -0
- package/dist/picker/InertialMotion.d.ts +20 -0
- package/dist/picker/InertialMotion.js +141 -0
- package/dist/picker/PickerView.d.ts +1 -0
- package/dist/picker/PickerView.h5.d.ts +17 -0
- package/dist/picker/PickerView.h5.js +36 -0
- package/dist/picker/PickerView.js +1 -0
- package/dist/picker/PickerViewColumn copy.d.ts +9 -0
- package/dist/picker/PickerViewColumn copy.js +143 -0
- package/dist/picker/PickerViewColumn.d.ts +12 -0
- package/dist/picker/PickerViewColumn.js +238 -0
- package/dist/picker/index.d.ts +38 -0
- package/dist/picker/index.js +224 -0
- package/dist/picker/index.rn.scss +0 -0
- package/dist/picker/index.scss +138 -0
- package/dist/popout/index.d.ts +25 -0
- package/dist/popout/index.js +87 -0
- package/dist/popout/index.scss +136 -0
- package/dist/popout-input/index.d.ts +29 -0
- package/dist/popout-input/index.js +91 -0
- package/dist/popout-input/index.scss +53 -0
- package/dist/popover/index.d.ts +35 -0
- package/dist/popover/index.js +193 -0
- package/dist/popover/index.scss +94 -0
- package/dist/popover/utils.d.ts +23 -0
- package/dist/popover/utils.js +124 -0
- package/dist/popup/index.d.ts +29 -0
- package/dist/popup/index.js +60 -0
- package/dist/popup/index.scss +60 -0
- package/dist/pressable/index.d.ts +13 -0
- package/dist/pressable/index.js +58 -0
- package/dist/pressable/index.rn.d.ts +13 -0
- package/dist/pressable/index.rn.js +50 -0
- package/dist/progress-bar/index.d.ts +10 -0
- package/dist/progress-bar/index.js +22 -0
- package/dist/progress-bar/index.scss +45 -0
- package/dist/progress-circle/index.d.ts +11 -0
- package/dist/progress-circle/index.js +54 -0
- package/dist/progress-circle/index.scss +141 -0
- package/dist/radio/Group.d.ts +5 -0
- package/dist/radio/Group.js +5 -0
- package/dist/radio/index.d.ts +10 -0
- package/dist/radio/index.js +8 -0
- package/dist/radio/index.scss +77 -0
- package/dist/rate/index.d.ts +23 -0
- package/dist/rate/index.js +116 -0
- package/dist/rate/index.scss +99 -0
- package/dist/result/index.d.ts +12 -0
- package/dist/result/index.js +19 -0
- package/dist/result/index.scss +88 -0
- package/dist/safe-area/index.d.ts +7 -0
- package/dist/safe-area/index.js +35 -0
- package/dist/safe-area/index.scss +24 -0
- package/dist/scroll-view/index.d.ts +24 -0
- package/dist/scroll-view/index.js +72 -0
- package/dist/scroll-view/index.rn.d.ts +21 -0
- package/dist/scroll-view/index.rn.js +51 -0
- package/dist/search/index.d.ts +26 -0
- package/dist/search/index.js +35 -0
- package/dist/search/index.scss +75 -0
- package/dist/share-sheet/Item.d.ts +15 -0
- package/dist/share-sheet/Item.js +26 -0
- package/dist/share-sheet/Row.d.ts +10 -0
- package/dist/share-sheet/Row.js +26 -0
- package/dist/share-sheet/index.d.ts +26 -0
- package/dist/share-sheet/index.js +76 -0
- package/dist/share-sheet/index.scss +230 -0
- package/dist/skeleton/Avatar.d.ts +7 -0
- package/dist/skeleton/Avatar.js +17 -0
- package/dist/skeleton/Block.d.ts +8 -0
- package/dist/skeleton/Block.js +44 -0
- package/dist/skeleton/Paragraph.d.ts +7 -0
- package/dist/skeleton/Paragraph.js +13 -0
- package/dist/skeleton/Title.d.ts +7 -0
- package/dist/skeleton/Title.js +16 -0
- package/dist/skeleton/index.d.ts +28 -0
- package/dist/skeleton/index.js +22 -0
- package/dist/skeleton/index.scss +108 -0
- package/dist/slider/index.d.ts +36 -0
- package/dist/slider/index.js +187 -0
- package/dist/slider/index.scss +138 -0
- package/dist/space/index.d.ts +13 -0
- package/dist/space/index.js +33 -0
- package/dist/space/index.scss +36 -0
- package/dist/stepper/index.d.ts +26 -0
- package/dist/stepper/index.js +138 -0
- package/dist/stepper/index.scss +106 -0
- package/dist/steps/Step.d.ts +23 -0
- package/dist/steps/Step.js +41 -0
- package/dist/steps/index.d.ts +23 -0
- package/dist/steps/index.js +38 -0
- package/dist/steps/index.scss +300 -0
- package/dist/style/base.scss +3 -0
- package/dist/style/functions.scss +54 -0
- package/dist/style/index.d.ts +2 -0
- package/dist/style/index.js +2 -0
- package/dist/style/index.scss +0 -0
- package/dist/style/mixins/bem.scss +63 -0
- package/dist/style/mixins/border.scss +80 -0
- package/dist/style/mixins/disabled.scss +9 -0
- package/dist/style/mixins/env.rn.scss +11 -0
- package/dist/style/mixins/env.scss +11 -0
- package/dist/style/mixins/fixed.rn.scss +3 -0
- package/dist/style/mixins/fixed.scss +3 -0
- package/dist/style/mixins/sticky.rn.scss +3 -0
- package/dist/style/mixins/sticky.scss +3 -0
- package/dist/style/mixins/theme.scss +11 -0
- package/dist/style/mixins/universal.rn.scss +2 -0
- package/dist/style/mixins/universal.scss +6 -0
- package/dist/style/mixins.scss +8 -0
- package/dist/style/utils.scss +130 -0
- package/dist/style/variables.scss +422 -0
- package/dist/swiper/Item.d.ts +8 -0
- package/dist/swiper/Item.js +10 -0
- package/dist/swiper/index.d.ts +12 -0
- package/dist/swiper/index.js +13 -0
- package/dist/swiper/index.scss +10 -0
- package/dist/switch/index.d.ts +19 -0
- package/dist/switch/index.js +78 -0
- package/dist/switch/index.scss +106 -0
- package/dist/tabbar/Item.d.ts +17 -0
- package/dist/tabbar/Item.js +24 -0
- package/dist/tabbar/index.d.ts +17 -0
- package/dist/tabbar/index.js +33 -0
- package/dist/tabbar/index.scss +89 -0
- package/dist/tabs/Tab.d.ts +12 -0
- package/dist/tabs/Tab.js +17 -0
- package/dist/tabs/index.d.ts +23 -0
- package/dist/tabs/index.js +258 -0
- package/dist/tabs/index.scss +113 -0
- package/dist/tag/index.d.ts +17 -0
- package/dist/tag/index.js +21 -0
- package/dist/tag/index.scss +93 -0
- package/dist/template/index.d.ts +6 -0
- package/dist/template/index.js +10 -0
- package/dist/template/index.scss +16 -0
- package/dist/toast/Agent.d.ts +6 -0
- package/dist/toast/Agent.js +7 -0
- package/dist/toast/Toast.d.ts +24 -0
- package/dist/toast/Toast.js +43 -0
- package/dist/toast/imperative.d.ts +18 -0
- package/dist/toast/imperative.js +35 -0
- package/dist/toast/index.d.ts +15 -0
- package/dist/toast/index.js +13 -0
- package/dist/toast/index.scss +96 -0
- package/dist/transition/CSSTransition.d.ts +7 -0
- package/dist/transition/CSSTransition.js +49 -0
- package/dist/transition/CSSTransition.rn.d.ts +7 -0
- package/dist/transition/CSSTransition.rn.js +312 -0
- package/dist/transition/index.d.ts +43 -0
- package/dist/transition/index.js +156 -0
- package/dist/transition/index.rn.scss +0 -0
- package/dist/transition/index.scss +158 -0
- package/dist/upload/Preview.d.ts +35 -0
- package/dist/upload/Preview.js +41 -0
- package/dist/upload/PreviewVideo.d.ts +7 -0
- package/dist/upload/PreviewVideo.js +38 -0
- package/dist/upload/PreviewVideo.rn.d.ts +6 -0
- package/dist/upload/PreviewVideo.rn.js +24 -0
- package/dist/upload/chooseMedia.d.ts +26 -0
- package/dist/upload/chooseMedia.h5.d.ts +25 -0
- package/dist/upload/chooseMedia.h5.js +117 -0
- package/dist/upload/chooseMedia.js +55 -0
- package/dist/upload/index.d.ts +37 -0
- package/dist/upload/index.js +167 -0
- package/dist/upload/index.scss +247 -0
- package/dist/use/index.d.ts +20 -0
- package/dist/use/index.js +20 -0
- package/dist/use/useAutoplay.d.ts +1 -0
- package/dist/use/useAutoplay.js +34 -0
- package/dist/use/useBem.d.ts +9 -0
- package/dist/use/useBem.js +52 -0
- package/dist/use/useBrush.d.ts +23 -0
- package/dist/use/useBrush.js +61 -0
- package/dist/use/useControllableValue.d.ts +12 -0
- package/dist/use/useControllableValue.js +59 -0
- package/dist/use/useEvent.d.ts +4 -0
- package/dist/use/useEvent.js +12 -0
- package/dist/use/useForceRender.d.ts +5 -0
- package/dist/use/useForceRender.js +8 -0
- package/dist/use/useIndexableMap.d.ts +21 -0
- package/dist/use/useIndexableMap.js +65 -0
- package/dist/use/useInertRef.d.ts +7 -0
- package/dist/use/useInertRef.js +15 -0
- package/dist/use/useInternalSelect.d.ts +42 -0
- package/dist/use/useInternalSelect.js +64 -0
- package/dist/use/useLayoutUpdateEffect.d.ts +5 -0
- package/dist/use/useLayoutUpdateEffect.js +18 -0
- package/dist/use/usePropRef.d.ts +5 -0
- package/dist/use/usePropRef.js +9 -0
- package/dist/use/useResize.d.ts +2 -0
- package/dist/use/useResize.js +14 -0
- package/dist/use/useResizeObserver.d.ts +5 -0
- package/dist/use/useResizeObserver.js +38 -0
- package/dist/use/useSelect.d.ts +15 -0
- package/dist/use/useSelect.js +56 -0
- package/dist/use/useSelectorId.d.ts +1 -0
- package/dist/use/useSelectorId.js +5 -0
- package/dist/use/useSetTimeout.d.ts +10 -0
- package/dist/use/useSetTimeout.js +34 -0
- package/dist/use/useStopMovePropagate.d.ts +5 -0
- package/dist/use/useStopMovePropagate.js +28 -0
- package/dist/use/useThrottle.d.ts +8 -0
- package/dist/use/useThrottle.js +11 -0
- package/dist/use/useUpdateEffect.d.ts +5 -0
- package/dist/use/useUpdateEffect.js +18 -0
- package/dist/use/useUpdateWatchSync.d.ts +5 -0
- package/dist/use/useUpdateWatchSync.js +18 -0
- package/dist/use/useWatchStateSync.d.ts +4 -0
- package/dist/use/useWatchStateSync.js +18 -0
- package/dist/utils/animate.d.ts +28 -0
- package/dist/utils/animate.js +81 -0
- package/dist/utils/createPubSub.d.ts +8 -0
- package/dist/utils/createPubSub.js +53 -0
- package/dist/utils/date.d.ts +13 -0
- package/dist/utils/date.js +87 -0
- package/dist/utils/dom.d.ts +149 -0
- package/dist/utils/dom.js +297 -0
- package/dist/utils/file.d.ts +18 -0
- package/dist/utils/file.js +57 -0
- package/dist/utils/imperative.d.ts +20 -0
- package/dist/utils/imperative.js +37 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/is.d.ts +16 -0
- package/dist/utils/is.js +57 -0
- package/dist/utils/measure.d.ts +8 -0
- package/dist/utils/measure.js +13 -0
- package/dist/utils/measure.rn.d.ts +8 -0
- package/dist/utils/measure.rn.js +15 -0
- package/dist/utils/platform.android.d.ts +2 -0
- package/dist/utils/platform.android.js +2 -0
- package/dist/utils/platform.d.ts +2 -0
- package/dist/utils/platform.ios.d.ts +2 -0
- package/dist/utils/platform.ios.js +2 -0
- package/dist/utils/platform.js +2 -0
- package/dist/utils/style.d.ts +10 -0
- package/dist/utils/style.js +34 -0
- package/dist/utils/utils.d.ts +199 -0
- package/dist/utils/utils.js +639 -0
- package/package.json +30 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const typeTemplate = '${label} is not a valid ${type}';
|
|
2
|
+
export default {
|
|
3
|
+
calendar: {
|
|
4
|
+
weeks: {
|
|
5
|
+
0: 'Sun',
|
|
6
|
+
1: 'Mon',
|
|
7
|
+
2: 'Tue',
|
|
8
|
+
3: 'Wed',
|
|
9
|
+
4: 'Thu',
|
|
10
|
+
5: 'Fri',
|
|
11
|
+
6: 'Sat',
|
|
12
|
+
},
|
|
13
|
+
monthTitle: '${year}/${month}',
|
|
14
|
+
start: 'start',
|
|
15
|
+
end: 'end',
|
|
16
|
+
},
|
|
17
|
+
cascader: {
|
|
18
|
+
pleaseSelect: 'Please select',
|
|
19
|
+
},
|
|
20
|
+
datetimePicker: {
|
|
21
|
+
y: '',
|
|
22
|
+
M: '',
|
|
23
|
+
d: '',
|
|
24
|
+
h: '',
|
|
25
|
+
m: '',
|
|
26
|
+
s: '',
|
|
27
|
+
},
|
|
28
|
+
dialog: {
|
|
29
|
+
confirm: 'Ok',
|
|
30
|
+
cancel: 'Cancel',
|
|
31
|
+
},
|
|
32
|
+
empty: {
|
|
33
|
+
noData: 'No data',
|
|
34
|
+
},
|
|
35
|
+
form: {
|
|
36
|
+
defaultValidateMessages: {
|
|
37
|
+
default: 'Field validation error for ${label}',
|
|
38
|
+
required: '${label} is required',
|
|
39
|
+
enum: '${label} must be one of [${enum}]',
|
|
40
|
+
whitespace: '${label} cannot be a blank character',
|
|
41
|
+
date: {
|
|
42
|
+
format: '${label} date format is invalid',
|
|
43
|
+
parse: '${label} cannot be converted to a date',
|
|
44
|
+
invalid: '${label} is an invalid date',
|
|
45
|
+
},
|
|
46
|
+
types: {
|
|
47
|
+
string: typeTemplate,
|
|
48
|
+
function: typeTemplate,
|
|
49
|
+
array: typeTemplate,
|
|
50
|
+
object: typeTemplate,
|
|
51
|
+
number: typeTemplate,
|
|
52
|
+
date: typeTemplate,
|
|
53
|
+
boolean: typeTemplate,
|
|
54
|
+
integer: typeTemplate,
|
|
55
|
+
float: typeTemplate,
|
|
56
|
+
regexp: typeTemplate,
|
|
57
|
+
email: typeTemplate,
|
|
58
|
+
url: typeTemplate,
|
|
59
|
+
hex: typeTemplate,
|
|
60
|
+
},
|
|
61
|
+
string: {
|
|
62
|
+
len: '${label} must be ${len} characters',
|
|
63
|
+
min: '${label} must be at least ${min} characters',
|
|
64
|
+
max: '${label} must be up to ${max} characters',
|
|
65
|
+
range: '${label} must be between ${min}-${max} characters',
|
|
66
|
+
},
|
|
67
|
+
number: {
|
|
68
|
+
len: '${label} must be equal to ${len}',
|
|
69
|
+
min: '${label} must be minimum ${min}',
|
|
70
|
+
max: '${label} must be maximum ${max}',
|
|
71
|
+
range: '${label} must be between ${min}-${max}',
|
|
72
|
+
},
|
|
73
|
+
array: {
|
|
74
|
+
len: 'Must be ${len} ${label}',
|
|
75
|
+
min: 'At least ${min} ${label}',
|
|
76
|
+
max: 'At most ${max} ${label}',
|
|
77
|
+
range: 'The amount of ${label} must be between ${min}-${max}',
|
|
78
|
+
},
|
|
79
|
+
pattern: {
|
|
80
|
+
mismatch: '${label} does not match the pattern ${pattern}',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
pagination: {
|
|
85
|
+
previous: 'Previous',
|
|
86
|
+
next: 'Next',
|
|
87
|
+
},
|
|
88
|
+
popout: {
|
|
89
|
+
confirm: 'Ok',
|
|
90
|
+
cancel: 'Cancel',
|
|
91
|
+
},
|
|
92
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
calendar: {
|
|
3
|
+
weeks: {
|
|
4
|
+
0: string;
|
|
5
|
+
1: string;
|
|
6
|
+
2: string;
|
|
7
|
+
3: string;
|
|
8
|
+
4: string;
|
|
9
|
+
5: string;
|
|
10
|
+
6: string;
|
|
11
|
+
};
|
|
12
|
+
monthTitle: string;
|
|
13
|
+
start: string;
|
|
14
|
+
end: string;
|
|
15
|
+
};
|
|
16
|
+
cascader: {
|
|
17
|
+
pleaseSelect: string;
|
|
18
|
+
};
|
|
19
|
+
datetimePicker: {
|
|
20
|
+
y: string;
|
|
21
|
+
M: string;
|
|
22
|
+
d: string;
|
|
23
|
+
h: string;
|
|
24
|
+
m: string;
|
|
25
|
+
s: string;
|
|
26
|
+
};
|
|
27
|
+
dialog: {
|
|
28
|
+
confirm: string;
|
|
29
|
+
cancel: string;
|
|
30
|
+
};
|
|
31
|
+
empty: {
|
|
32
|
+
noData: string;
|
|
33
|
+
};
|
|
34
|
+
form: {
|
|
35
|
+
defaultValidateMessages: {
|
|
36
|
+
default: string;
|
|
37
|
+
required: string;
|
|
38
|
+
enum: string;
|
|
39
|
+
whitespace: string;
|
|
40
|
+
date: {
|
|
41
|
+
format: string;
|
|
42
|
+
parse: string;
|
|
43
|
+
invalid: string;
|
|
44
|
+
};
|
|
45
|
+
types: {
|
|
46
|
+
string: string;
|
|
47
|
+
function: string;
|
|
48
|
+
array: string;
|
|
49
|
+
object: string;
|
|
50
|
+
number: string;
|
|
51
|
+
date: string;
|
|
52
|
+
boolean: string;
|
|
53
|
+
integer: string;
|
|
54
|
+
float: string;
|
|
55
|
+
regexp: string;
|
|
56
|
+
email: string;
|
|
57
|
+
url: string;
|
|
58
|
+
hex: string;
|
|
59
|
+
};
|
|
60
|
+
string: {
|
|
61
|
+
len: string;
|
|
62
|
+
min: string;
|
|
63
|
+
max: string;
|
|
64
|
+
range: string;
|
|
65
|
+
};
|
|
66
|
+
number: {
|
|
67
|
+
len: string;
|
|
68
|
+
min: string;
|
|
69
|
+
max: string;
|
|
70
|
+
range: string;
|
|
71
|
+
};
|
|
72
|
+
array: {
|
|
73
|
+
len: string;
|
|
74
|
+
min: string;
|
|
75
|
+
max: string;
|
|
76
|
+
range: string;
|
|
77
|
+
};
|
|
78
|
+
pattern: {
|
|
79
|
+
mismatch: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
pagination: {
|
|
84
|
+
previous: string;
|
|
85
|
+
next: string;
|
|
86
|
+
};
|
|
87
|
+
popout: {
|
|
88
|
+
confirm: string;
|
|
89
|
+
cancel: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export default _default;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const typeTemplate = '${label}不是一个有效的${type}';
|
|
2
|
+
export default {
|
|
3
|
+
calendar: {
|
|
4
|
+
weeks: {
|
|
5
|
+
0: '日',
|
|
6
|
+
1: '一',
|
|
7
|
+
2: '二',
|
|
8
|
+
3: '三',
|
|
9
|
+
4: '四',
|
|
10
|
+
5: '五',
|
|
11
|
+
6: '六',
|
|
12
|
+
},
|
|
13
|
+
monthTitle: '${year}年${month}月',
|
|
14
|
+
start: '开始',
|
|
15
|
+
end: '结束',
|
|
16
|
+
},
|
|
17
|
+
cascader: {
|
|
18
|
+
pleaseSelect: '请选择',
|
|
19
|
+
},
|
|
20
|
+
datetimePicker: {
|
|
21
|
+
y: '年',
|
|
22
|
+
M: '月',
|
|
23
|
+
d: '日',
|
|
24
|
+
h: '时',
|
|
25
|
+
m: '分',
|
|
26
|
+
s: '秒',
|
|
27
|
+
},
|
|
28
|
+
dialog: {
|
|
29
|
+
confirm: '确定',
|
|
30
|
+
cancel: '取消',
|
|
31
|
+
},
|
|
32
|
+
empty: {
|
|
33
|
+
noData: '暂无数据',
|
|
34
|
+
},
|
|
35
|
+
form: {
|
|
36
|
+
defaultValidateMessages: {
|
|
37
|
+
default: '字段验证错误${label}',
|
|
38
|
+
required: '${label}是必需的',
|
|
39
|
+
enum: '${label}必须是其中一个[${enum}]',
|
|
40
|
+
whitespace: '${label}不能为空字符',
|
|
41
|
+
date: {
|
|
42
|
+
format: '${label}日期格式无效',
|
|
43
|
+
parse: '${label}不能转换为日期',
|
|
44
|
+
invalid: '${label}是一个无效日期',
|
|
45
|
+
},
|
|
46
|
+
types: {
|
|
47
|
+
string: typeTemplate,
|
|
48
|
+
function: typeTemplate,
|
|
49
|
+
array: typeTemplate,
|
|
50
|
+
object: typeTemplate,
|
|
51
|
+
number: typeTemplate,
|
|
52
|
+
date: typeTemplate,
|
|
53
|
+
boolean: typeTemplate,
|
|
54
|
+
integer: typeTemplate,
|
|
55
|
+
float: typeTemplate,
|
|
56
|
+
regexp: typeTemplate,
|
|
57
|
+
email: typeTemplate,
|
|
58
|
+
url: typeTemplate,
|
|
59
|
+
hex: typeTemplate,
|
|
60
|
+
},
|
|
61
|
+
string: {
|
|
62
|
+
len: '${label}须为${len}个字符',
|
|
63
|
+
min: '${label}最少${min}个字符',
|
|
64
|
+
max: '${label}最多${max}个字符',
|
|
65
|
+
range: '${label}须在${min}-${max}字符之间',
|
|
66
|
+
},
|
|
67
|
+
number: {
|
|
68
|
+
len: '${label}必须等于${len}',
|
|
69
|
+
min: '${label}最小值为${min}',
|
|
70
|
+
max: '${label}最大值为${max}',
|
|
71
|
+
range: '${label}须在${min}-${max}之间',
|
|
72
|
+
},
|
|
73
|
+
array: {
|
|
74
|
+
len: '须为${len}个${label}',
|
|
75
|
+
min: '最少${min}个${label}',
|
|
76
|
+
max: '最多${max}个${label}',
|
|
77
|
+
range: '${label}数量须在${min}-${max}之间',
|
|
78
|
+
},
|
|
79
|
+
pattern: {
|
|
80
|
+
mismatch: '${label}与模式不匹配${pattern}',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
pagination: {
|
|
85
|
+
previous: '上一页',
|
|
86
|
+
next: '下一页',
|
|
87
|
+
},
|
|
88
|
+
popout: {
|
|
89
|
+
confirm: '确定',
|
|
90
|
+
cancel: '取消',
|
|
91
|
+
},
|
|
92
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function useTranslate(prefix?: string): {
|
|
2
|
+
t: (chain?: string | Record<string, number | string | object>, data?: Record<string, number | string | object>) => string;
|
|
3
|
+
translate: (chain?: string | Record<string, number | string | object>, data?: Record<string, number | string | object>) => string;
|
|
4
|
+
select: (chain?: string) => any;
|
|
5
|
+
lang: string;
|
|
6
|
+
};
|
|
7
|
+
export default useTranslate;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { LocaleContext, langMap } from './index';
|
|
3
|
+
import { useEvent } from '../use';
|
|
4
|
+
import { chainSelect, isString } from '../utils';
|
|
5
|
+
export function useTranslate(prefix) {
|
|
6
|
+
const { lang } = useContext(LocaleContext);
|
|
7
|
+
const translate = useEvent((chain, data) => {
|
|
8
|
+
const mergedChain = isString(chain)
|
|
9
|
+
? prefix
|
|
10
|
+
? prefix + '.' + chain
|
|
11
|
+
: chain
|
|
12
|
+
: prefix;
|
|
13
|
+
data = chain && typeof chain === 'object' ? chain : data;
|
|
14
|
+
const result = chainSelect(langMap[lang], mergedChain);
|
|
15
|
+
if (isString(result)) {
|
|
16
|
+
if (data) {
|
|
17
|
+
return result.replace(/\${([^}]*)}/g, (_, p1) => {
|
|
18
|
+
return data[p1];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
return mergedChain;
|
|
24
|
+
});
|
|
25
|
+
const select = useEvent((chain) => {
|
|
26
|
+
const mergedChain = isString(chain)
|
|
27
|
+
? prefix
|
|
28
|
+
? prefix + '.' + chain
|
|
29
|
+
: chain
|
|
30
|
+
: prefix;
|
|
31
|
+
const result = chainSelect(langMap[lang], mergedChain);
|
|
32
|
+
return result;
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
t: translate,
|
|
36
|
+
translate,
|
|
37
|
+
select,
|
|
38
|
+
lang,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export default useTranslate;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ITouchEvent } from '@tarojs/components';
|
|
3
|
+
import { BaseProps } from '../base';
|
|
4
|
+
import { TransitionTimeout } from '../transition';
|
|
5
|
+
export interface MaskProps extends BaseProps {
|
|
6
|
+
visible?: boolean;
|
|
7
|
+
zIndex?: number;
|
|
8
|
+
timeout?: TransitionTimeout;
|
|
9
|
+
transparent?: boolean;
|
|
10
|
+
onClick?: (event: ITouchEvent) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const Mask: FC<MaskProps>;
|
|
13
|
+
export default Mask;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { View } from '@tarojs/components';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { useBem, useEvent } from '../use';
|
|
6
|
+
import { CSSTransition } from '../transition/CSSTransition';
|
|
7
|
+
import { filterNullish } from '../utils';
|
|
8
|
+
export const Mask = (props) => {
|
|
9
|
+
const { className, style, visible, zIndex, timeout, transparent, onClick, ...restProps } = props;
|
|
10
|
+
const [bem] = useBem('mask');
|
|
11
|
+
const [realVisible, setRealVisible] = useState(visible);
|
|
12
|
+
const handleEnter = useEvent(() => {
|
|
13
|
+
setRealVisible(true);
|
|
14
|
+
});
|
|
15
|
+
const handleExited = useEvent(() => {
|
|
16
|
+
setRealVisible(false);
|
|
17
|
+
});
|
|
18
|
+
return (_jsx(CSSTransition, { in: visible, appear: true, timeout: timeout, effect: "fade", onEnter: handleEnter, onExited: handleExited, ...restProps, className: classNames(bem.b(), bem.m('transparent', transparent), className), style: {
|
|
19
|
+
...style,
|
|
20
|
+
...filterNullish({
|
|
21
|
+
zIndex,
|
|
22
|
+
}),
|
|
23
|
+
display: realVisible ? 'flex' : 'none',
|
|
24
|
+
}, catchMove: true, children: _jsx(View, { onClick: onClick, style: { width: '100%', height: '100%' } }) }));
|
|
25
|
+
};
|
|
26
|
+
export default Mask;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@import '../style/base.scss';
|
|
2
|
+
// #variables
|
|
3
|
+
$sar-mask-bg-color: $sar-mask !default;
|
|
4
|
+
// #endvariables
|
|
5
|
+
|
|
6
|
+
@include bem(mask) {
|
|
7
|
+
@include b() {
|
|
8
|
+
position: absolute;
|
|
9
|
+
top: 0;
|
|
10
|
+
right: 0;
|
|
11
|
+
bottom: 0;
|
|
12
|
+
left: 0;
|
|
13
|
+
display: none;
|
|
14
|
+
background-color: $sar-mask-bg-color;
|
|
15
|
+
pointer-events: auto;
|
|
16
|
+
@include ifweb {
|
|
17
|
+
touch-action: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@include m(transparent) {
|
|
21
|
+
background-color: transparent;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { BaseProps } from '../base';
|
|
3
|
+
import { IconProps } from '../icon';
|
|
4
|
+
export interface MenuItemProps extends BaseProps {
|
|
5
|
+
text?: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
iconProps?: IconProps;
|
|
8
|
+
direction?: 'vertical' | 'horizontal';
|
|
9
|
+
theme?: 'dark' | 'light';
|
|
10
|
+
index?: number;
|
|
11
|
+
count?: number;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const MenuItem: FC<MenuItemProps>;
|
|
15
|
+
export default MenuItem;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createElement as _createElement } from "react";
|
|
3
|
+
import { View } from '@tarojs/components';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { useBem } from '../use';
|
|
6
|
+
import Icon from '../icon';
|
|
7
|
+
import Halfline from '../halfline';
|
|
8
|
+
import Pressable from '../pressable';
|
|
9
|
+
export const MenuItem = (props) => {
|
|
10
|
+
const { className, style, text, disabled, iconProps, direction, theme, onClick, index, count, ...restProps } = props;
|
|
11
|
+
const [bem] = useBem('menu');
|
|
12
|
+
return (_jsx(Pressable, { disabled: disabled, children: ({ pressed }) => (_createElement(View, { ...restProps, className: classNames(bem.e('item'), bem.em('item', direction), bem.em('item', `${direction}-first`, index === 0), bem.em('item', `${direction}-last`, index === count - 1), bem.em('item', `${theme}-active`, pressed), bem.em('item', `${theme}-${direction}-later`, index > 0), bem.em('item', 'disabled', disabled), className), style: style, key: index, onClick: onClick },
|
|
13
|
+
index > 0 && direction === 'horizontal' && (_jsx(Halfline, { direction: "left", className: bem.em('divider', theme) })),
|
|
14
|
+
iconProps && (_jsx(Icon, { ...iconProps, className: classNames(bem.e('icon'), bem.em('icon', direction), bem.em('icon', theme)) })),
|
|
15
|
+
_jsxs(View, { className: classNames(bem.e('text'), bem.em('text', `${theme}-${direction}-later`, index > 0), bem.em('text', theme), bem.em('text', 'has-icon', !!iconProps)), children: [index > 0 && direction === 'vertical' && (_jsx(Halfline, { direction: "top", className: bem.em('divider', theme) })), text] }))) }));
|
|
16
|
+
};
|
|
17
|
+
export default MenuItem;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { BaseProps } from '../base';
|
|
3
|
+
import { IconProps } from '../icon';
|
|
4
|
+
export interface MenuOption {
|
|
5
|
+
text?: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
iconProps?: IconProps;
|
|
8
|
+
[key: PropertyKey]: any;
|
|
9
|
+
}
|
|
10
|
+
export interface MenuProps extends Omit<BaseProps, 'children'> {
|
|
11
|
+
options?: MenuOption[];
|
|
12
|
+
direction?: 'vertical' | 'horizontal';
|
|
13
|
+
theme?: 'dark' | 'light';
|
|
14
|
+
onSelect?: (option: MenuOption) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const Menu: FC<MenuProps>;
|
|
17
|
+
export default Menu;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createElement as _createElement } from "react";
|
|
3
|
+
import { View } from '@tarojs/components';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { useBem } from '../use';
|
|
6
|
+
import MenuItem from './Item';
|
|
7
|
+
const defaultOptions = [];
|
|
8
|
+
export const Menu = (props) => {
|
|
9
|
+
const { className, style, options = defaultOptions, direction, theme, onSelect, ...restProps } = props;
|
|
10
|
+
const [bem] = useBem('menu');
|
|
11
|
+
return (_jsx(View, { ...restProps, className: classNames(bem.b(), bem.m(direction), className), style: style, children: options.map((option, index) => {
|
|
12
|
+
return (_createElement(MenuItem, { ...option, key: index, index: index, direction: direction, count: options.length, theme: theme, onClick: () => !option.disabled && onSelect?.(option) }));
|
|
13
|
+
}) }));
|
|
14
|
+
};
|
|
15
|
+
export default Menu;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@import '../style/base.scss';
|
|
2
|
+
// #variables
|
|
3
|
+
$sar-menu-item-border-radius: $sar-rounded !default;
|
|
4
|
+
$sar-menu-item-height: 44px !default;
|
|
5
|
+
$sar-menu-item-padding-x: 16px !default;
|
|
6
|
+
$sar-menu-item-font-size: $sar-text-base !default;
|
|
7
|
+
$sar-menu-item-active-bg-color: $sar-active-bg-color !default;
|
|
8
|
+
|
|
9
|
+
$sar-menu-item-dark-active-bg-color: $sar-gray-900 !default;
|
|
10
|
+
$sar-menu-item-dark-color: $sar-white !default;
|
|
11
|
+
$sar-menu-dark-border-color: $sar-dark-border-color !default;
|
|
12
|
+
|
|
13
|
+
$sar-menu-item-horizontal-height: 34px !default;
|
|
14
|
+
|
|
15
|
+
$sar-menu-icon-margin-right: 12px !default;
|
|
16
|
+
$sar-menu-icon-horizontal-margin-right: 8px !default;
|
|
17
|
+
// #endvariables
|
|
18
|
+
|
|
19
|
+
@include bem(menu) {
|
|
20
|
+
@include b() {
|
|
21
|
+
@include universal;
|
|
22
|
+
|
|
23
|
+
@include m(vertical) {
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@include m(horizontal) {
|
|
28
|
+
flex-direction: row;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@include e(item) {
|
|
33
|
+
@include universal;
|
|
34
|
+
flex-direction: row;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
align-items: center;
|
|
37
|
+
height: $sar-menu-item-height;
|
|
38
|
+
padding-left: $sar-menu-item-padding-x;
|
|
39
|
+
padding-right: $sar-menu-item-padding-x;
|
|
40
|
+
font-size: $sar-menu-item-font-size;
|
|
41
|
+
|
|
42
|
+
@include ifweb {
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@include m(vertical-first) {
|
|
47
|
+
border-top-left-radius: $sar-menu-item-border-radius;
|
|
48
|
+
border-top-right-radius: $sar-menu-item-border-radius;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@include m(vertical-last) {
|
|
52
|
+
border-bottom-left-radius: $sar-menu-item-border-radius;
|
|
53
|
+
border-bottom-right-radius: $sar-menu-item-border-radius;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@include m(horizontal-first) {
|
|
57
|
+
border-top-left-radius: $sar-menu-item-border-radius;
|
|
58
|
+
border-bottom-left-radius: $sar-menu-item-border-radius;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@include m(horizontal-last) {
|
|
62
|
+
border-top-right-radius: $sar-menu-item-border-radius;
|
|
63
|
+
border-bottom-right-radius: $sar-menu-item-border-radius;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@include m(disabled) {
|
|
67
|
+
@include disabled;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@include m(light-active) {
|
|
71
|
+
background-color: $sar-menu-item-active-bg-color;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@include m(dark-active) {
|
|
75
|
+
background-color: $sar-menu-item-dark-active-bg-color;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@include m(horizontal) {
|
|
79
|
+
height: $sar-menu-item-horizontal-height;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@include e(divider) {
|
|
84
|
+
@include m(dark) {
|
|
85
|
+
background-color: $sar-menu-dark-border-color;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@include e(icon) {
|
|
90
|
+
@include universal;
|
|
91
|
+
margin-right: $sar-menu-icon-margin-right;
|
|
92
|
+
|
|
93
|
+
@include m(horizontal) {
|
|
94
|
+
margin-right: $sar-menu-icon-horizontal-margin-right;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@include m(dark) {
|
|
98
|
+
color: $sar-menu-item-dark-color;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@include e(text) {
|
|
103
|
+
@include universal;
|
|
104
|
+
flex-direction: row;
|
|
105
|
+
justify-content: center;
|
|
106
|
+
align-items: center;
|
|
107
|
+
height: 100%;
|
|
108
|
+
flex-grow: 1;
|
|
109
|
+
|
|
110
|
+
@include m(has-icon) {
|
|
111
|
+
justify-content: flex-start;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@include m(dark) {
|
|
115
|
+
color: $sar-menu-item-dark-color;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@include theme(dark) {
|
|
121
|
+
@include bem(menu) {
|
|
122
|
+
@include e(item) {
|
|
123
|
+
@include m(light-active) {
|
|
124
|
+
background-color: $sar-menu-item-dark-active-bg-color;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CSSProperties, FC, ReactNode } from 'react';
|
|
2
|
+
import { ITouchEvent } from '@tarojs/components';
|
|
3
|
+
import { IconProps } from '../icon';
|
|
4
|
+
import { BaseProps } from '../base';
|
|
5
|
+
import { MeshCommonProps } from './type';
|
|
6
|
+
export interface MeshItemProps extends BaseProps, MeshCommonProps {
|
|
7
|
+
text?: ReactNode;
|
|
8
|
+
iconProps?: IconProps;
|
|
9
|
+
onClick?: (event: ITouchEvent) => void;
|
|
10
|
+
wrapperStyle?: CSSProperties;
|
|
11
|
+
wrapperClass?: string;
|
|
12
|
+
_isBottom?: boolean;
|
|
13
|
+
_isRight?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const MeshItem: FC<MeshItemProps>;
|
|
16
|
+
export default MeshItem;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { View } from '@tarojs/components';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import Icon from '../icon';
|
|
5
|
+
import { useBem } from '../use';
|
|
6
|
+
import Halfline from '../halfline';
|
|
7
|
+
import Pressable from '../pressable';
|
|
8
|
+
export const MeshItem = (props) => {
|
|
9
|
+
const { children, className, style, text, iconProps, onClick, wrapperStyle, wrapperClass, _isRight, _isBottom, gap = 0, border, square, center, clickable, direction = 'vertical', reverse, ...restProps } = props;
|
|
10
|
+
const [bem] = useBem('mesh');
|
|
11
|
+
const renderContent = () => {
|
|
12
|
+
return (_jsx(View, { className: classNames(bem.e('item-content'), bem.m('center', center), bem.em('item-content', 'square', square), bem.m(direction, !reverse), bem.m(`${direction}-reverse`, reverse), wrapperClass), style: wrapperStyle, children: children ?? (_jsxs(_Fragment, { children: [iconProps && (_jsx(View, { className: bem.e('item-icon'), children: _jsx(Icon, { size: 24, ...iconProps }) })), text && (_jsx(View, { className: classNames(bem.e('item-text'), bem.em('item-text', direction, iconProps && !reverse), bem.em('item-text', `${direction}-reverse`, iconProps && reverse)), children: text }))] })) }));
|
|
13
|
+
};
|
|
14
|
+
return (_jsx(Pressable, { disabled: !clickable, children: ({ pressed }) => (_jsxs(View, { ...restProps, className: classNames(bem.e('item'), bem.m('pressed', pressed), bem.m('clickable', clickable), className), style: style, onClick: onClick, children: [square ? (_jsx(View, { className: classNames(bem.e('item-wrapper')), children: renderContent() })) : (renderContent()), border && !gap && !_isRight && _jsx(Halfline, { direction: "right" }), border && !gap && !_isBottom && _jsx(Halfline, { direction: "bottom" }), border && !!gap && _jsx(Halfline, {})] })) }));
|
|
15
|
+
};
|
|
16
|
+
export default MeshItem;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { BaseProps } from '../base';
|
|
3
|
+
import { MeshCommonProps } from './type';
|
|
4
|
+
import { MeshItem } from './Item';
|
|
5
|
+
export interface Mesh extends BaseProps, MeshCommonProps {
|
|
6
|
+
columns?: number;
|
|
7
|
+
outline?: boolean;
|
|
8
|
+
outlineVertical?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface MeshFC extends FC<Mesh> {
|
|
11
|
+
Item: typeof MeshItem;
|
|
12
|
+
}
|
|
13
|
+
export declare const Mesh: MeshFC;
|
|
14
|
+
export default Mesh;
|