@nutui/nutui-react 1.5.1 → 2.0.0-alpha.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/CHANGELOG.md +1 -35
- package/dist/esm/ActionSheet.js +62 -54
- package/dist/esm/Address/style/index.js +0 -1
- package/dist/esm/Address.js +235 -330
- package/dist/esm/Animate.js +43 -32
- package/dist/esm/AnimatingNumbers.js +88 -49
- package/dist/esm/Audio/style/index.js +0 -1
- package/dist/esm/Audio.js +104 -114
- package/dist/esm/Avatar.js +65 -78
- package/dist/esm/AvatarContext.js +5 -0
- package/dist/esm/AvatarGroup.js +46 -27
- package/dist/esm/BackTop/style/index.js +1 -1
- package/dist/esm/BackTop.js +74 -76
- package/dist/esm/Badge.js +57 -54
- package/dist/esm/Barrage.js +45 -32
- package/dist/esm/Button/style/index.js +1 -1
- package/dist/esm/Button.js +66 -87
- package/dist/esm/Calendar.js +80 -79
- package/dist/esm/CalendarItem.js +199 -231
- package/dist/esm/Card.js +44 -37
- package/dist/esm/Cascader.js +430 -433
- package/dist/esm/Cell/style/index.js +1 -1
- package/dist/esm/Cell.js +57 -87
- package/dist/esm/CellGroup.js +7 -5
- package/dist/esm/Checkbox/style/index.js +0 -1
- package/dist/esm/Checkbox.js +11 -8
- package/dist/esm/CheckboxGroup.js +78 -71
- package/dist/esm/CircleProgress.js +50 -40
- package/dist/esm/Col.js +46 -41
- package/dist/esm/Collapse.js +44 -44
- package/dist/esm/CollapseItem/style/index.js +1 -1
- package/dist/esm/CollapseItem.js +64 -104
- package/dist/esm/ConfigProvider.js +400 -101
- package/dist/esm/CountDown.js +90 -95
- package/dist/esm/DatePicker.js +104 -123
- package/dist/esm/Dialog.js +98 -104
- package/dist/esm/Divider.js +36 -27
- package/dist/esm/Drag.js +55 -59
- package/dist/esm/Elevator.js +77 -88
- package/dist/esm/Ellipsis.js +80 -79
- package/dist/esm/Empty.js +50 -44
- package/dist/esm/FixedNav/style/index.js +0 -1
- package/dist/esm/FixedNav.js +57 -65
- package/dist/esm/Form.js +1154 -123
- package/dist/esm/FormItem.js +7 -5
- package/dist/esm/Grid/style/index.js +1 -1
- package/dist/esm/Grid.js +51 -55
- package/dist/esm/GridItem.js +7 -124
- package/dist/esm/Icon.js +83 -5
- package/dist/esm/Image.js +123 -122
- package/dist/esm/ImagePreview.js +75 -93
- package/dist/esm/Indicator.js +41 -36
- package/dist/esm/Infiniteloading/style/index.js +1 -1
- package/dist/esm/Infiniteloading.js +77 -93
- package/dist/esm/Input/style/index.js +1 -1
- package/dist/esm/Input.js +120 -172
- package/dist/esm/InputNumber/style/index.js +1 -1
- package/dist/esm/InputNumber.js +133 -167
- package/dist/esm/Layout.js +27 -6
- package/dist/esm/Menu.js +84 -86
- package/dist/esm/MenuItem/style/index.js +0 -1
- package/dist/esm/MenuItem.js +76 -86
- package/dist/esm/NavBar/style/index.js +1 -1
- package/dist/esm/NavBar.js +59 -63
- package/dist/esm/NoticeBar/style/index.js +1 -1
- package/dist/esm/NoticeBar.js +173 -290
- package/dist/esm/Notify.js +112 -78
- package/dist/esm/NumberKeyboard.js +110 -109
- package/dist/esm/Overlay.js +7 -6
- package/dist/esm/Pagination.js +94 -135
- package/dist/esm/Picker.js +149 -201
- package/dist/esm/Popover/style/index.js +0 -1
- package/dist/esm/Popover.js +121 -116
- package/dist/esm/Popup/style/index.js +0 -1
- package/dist/esm/Popup.js +109 -119
- package/dist/esm/Price.js +51 -39
- package/dist/esm/Progress/style/index.js +1 -1
- package/dist/esm/Progress.js +59 -64
- package/dist/esm/PullToRefresh.js +173 -149
- package/dist/esm/Radio/style/index.js +0 -1
- package/dist/esm/Radio.js +8 -6
- package/dist/esm/RadioGroup.js +64 -84
- package/dist/esm/Range.js +93 -122
- package/dist/esm/Rate/style/index.js +1 -1
- package/dist/esm/Rate.js +77 -95
- package/dist/esm/Row.js +46 -35
- package/dist/esm/SearchBar/style/index.js +1 -1
- package/dist/esm/SearchBar.js +110 -120
- package/dist/esm/ShortPassword/style/index.js +0 -1
- package/dist/esm/ShortPassword.js +120 -116
- package/dist/esm/SideNavBar.js +39 -27
- package/dist/esm/SideNavBarItem.js +31 -14
- package/dist/esm/Signature.js +65 -61
- package/dist/esm/Skeleton.js +48 -40
- package/dist/esm/Step/style/index.js +1 -1
- package/dist/esm/Step.js +49 -49
- package/dist/esm/Steps.js +37 -23
- package/dist/esm/Sticky.js +111 -120
- package/dist/esm/SubSideNavBar.js +50 -38
- package/dist/esm/Swipe.js +75 -63
- package/dist/esm/Swiper.js +171 -206
- package/dist/esm/SwiperItem.js +39 -22
- package/dist/esm/Switch.js +46 -37
- package/dist/esm/TabPane.js +8 -6
- package/dist/esm/Tabbar.js +47 -39
- package/dist/esm/TabbarItem/style/index.js +1 -1
- package/dist/esm/TabbarItem.js +50 -52
- package/dist/esm/Table/style/index.js +1 -1
- package/dist/esm/Table.js +70 -70
- package/dist/esm/Tabs/style/index.js +1 -2
- package/dist/esm/Tabs.js +11 -9
- package/dist/esm/Tag/style/index.js +1 -1
- package/dist/esm/Tag.js +69 -70
- package/dist/esm/TextArea.js +70 -64
- package/dist/esm/TimeDetail.js +47 -38
- package/dist/esm/TimePannel.js +35 -19
- package/dist/esm/TimeSelect.js +60 -68
- package/dist/esm/Toast/style/index.js +1 -1
- package/dist/esm/Toast.js +126 -98
- package/dist/esm/TrendArrow/style/index.js +1 -1
- package/dist/esm/TrendArrow.js +59 -55
- package/dist/esm/Uploader/style/index.js +0 -1
- package/dist/esm/Uploader.js +180 -229
- package/dist/esm/UserContext.js +5 -0
- package/dist/esm/UserContext2.js +5 -0
- package/dist/esm/UserContext3.js +5 -0
- package/dist/esm/Video.js +49 -39
- package/dist/esm/VirtualList.js +111 -146
- package/dist/esm/WaterMark.js +57 -60
- package/dist/esm/bem.js +10 -0
- package/dist/esm/cellgroup2.js +49 -0
- package/dist/esm/checkbox2.js +145 -0
- package/dist/esm/{date-c7aad4c0.js → date.js} +13 -11
- package/dist/esm/{formitem-8a73a5fb.js → formitem2.js} +83 -50
- package/dist/esm/get-scroll-parent.js +26 -0
- package/dist/esm/griditem2.js +96 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/nutui-react.es.js +188 -94
- package/dist/esm/offsetContext.js +19 -0
- package/dist/esm/overlay2.js +98 -0
- package/dist/esm/px-check.js +6 -0
- package/dist/esm/radio2.js +129 -0
- package/dist/esm/render.js +95 -0
- package/dist/esm/tabpane2.js +44 -0
- package/dist/esm/tabs2.js +175 -0
- package/dist/esm/typings.js +7 -0
- package/dist/esm/use-client-rect.js +32 -0
- package/dist/esm/use-props-value.js +18 -0
- package/dist/esm/use-touch.js +74 -0
- package/dist/locales/base.d.ts +2 -2
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +3 -3
- package/dist/locales/id-ID.js +3 -3
- package/dist/locales/zh-CN.js +3 -3
- package/dist/locales/zh-TW.js +3 -3
- package/dist/locales/zh-UG.js +3 -3
- package/dist/nutui.react.mjs +8327 -4829
- package/dist/nutui.react.umd.js +8328 -4830
- package/dist/packages/actionsheet/actionsheet.scss +10 -2
- package/dist/packages/backtop/backtop.scss +0 -8
- package/dist/packages/badge/badge.scss +3 -4
- package/dist/packages/button/button.scss +80 -93
- package/dist/packages/cell/cell.scss +18 -90
- package/dist/packages/cellgroup/cellgroup.scss +26 -20
- package/dist/packages/collapseitem/collapseitem.scss +0 -1
- package/dist/packages/dialog/dialog.scss +1 -1
- package/dist/packages/divider/divider.scss +3 -17
- package/dist/packages/grid/grid.scss +1 -0
- package/dist/packages/griditem/griditem.scss +2 -17
- package/dist/packages/icon/icon.scss +0 -132
- package/dist/packages/image/image.scss +0 -12
- package/dist/packages/indicator/indicator.scss +21 -39
- package/dist/packages/infiniteloading/infiniteloading.scss +4 -12
- package/dist/packages/input/input.scss +4 -0
- package/dist/packages/inputnumber/inputnumber.scss +10 -26
- package/dist/packages/menuitem/menuitem.scss +2 -0
- package/dist/packages/navbar/navbar.scss +4 -5
- package/dist/packages/overlay/overlay.scss +0 -19
- package/dist/packages/picker/picker.scss +97 -103
- package/dist/packages/progress/progress.scss +0 -1
- package/dist/packages/radio/radio.scss +8 -0
- package/dist/packages/rate/rate.scss +29 -6
- package/dist/packages/searchbar/searchbar.scss +0 -1
- package/dist/packages/shortpassword/shortpassword.scss +4 -1
- package/dist/packages/step/step.scss +0 -1
- package/dist/packages/sticky/sticky.scss +1 -1
- package/dist/packages/swiper/swiper.scss +8 -0
- package/dist/packages/tabbaritem/tabbaritem.scss +0 -1
- package/dist/packages/table/table.scss +0 -1
- package/dist/packages/tag/tag.scss +9 -2
- package/dist/packages/timedetail/timedetail.scss +9 -3
- package/dist/packages/timeselect/timeselect.scss +1 -1
- package/dist/packages/toast/toast.scss +0 -1
- package/dist/style.css +1 -1
- package/dist/style.mjs +1 -1
- package/dist/styles/font-jmapp/config.json +175 -0
- package/dist/styles/font-jmapp/demo.css +539 -0
- package/dist/styles/font-jmapp/demo_index.html +1821 -0
- package/dist/styles/font-jmapp/iconfont.css +299 -0
- package/dist/styles/font-jmapp/iconfont.eot +0 -0
- package/dist/styles/font-jmapp/iconfont.js +68 -0
- package/dist/styles/font-jmapp/iconfont.json +506 -0
- package/dist/styles/font-jmapp/iconfont.svg +356 -0
- package/dist/styles/font-jmapp/iconfont.ttf +0 -0
- package/dist/styles/font-jmapp/iconfont.woff +0 -0
- package/dist/styles/font-jmapp/iconfont.woff2 +0 -0
- package/dist/styles/theme-default.scss +1 -0
- package/dist/styles/theme-jmapp.scss +41 -0
- package/dist/styles/themes/default.scss +0 -1
- package/dist/styles/variables-jmapp.scss +2601 -0
- package/dist/styles/variables.scss +49 -73
- package/dist/types/index.d.ts +147 -240
- package/package.json +23 -154
- package/dist/esm/AvatarContext-15733596.js +0 -3
- package/dist/esm/Icon/style/index.js +0 -4
- package/dist/esm/UserContext-101ad4a4.js +0 -3
- package/dist/esm/UserContext-2629d479.js +0 -3
- package/dist/esm/UserContext-b33bcf21.js +0 -3
- package/dist/esm/bem-3b438e61.js +0 -8
- package/dist/esm/cellgroup-fcc72767.js +0 -34
- package/dist/esm/checkbox-44e13cd0.js +0 -137
- package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
- package/dist/esm/grid.context-2ee27d95.js +0 -6
- package/dist/esm/icon-4ef1581c.js +0 -70
- package/dist/esm/index-030b7245.js +0 -11
- package/dist/esm/offsetContext-3ab00d40.js +0 -16
- package/dist/esm/overlay-de6c79d5.js +0 -83
- package/dist/esm/radio-9f141e6b.js +0 -118
- package/dist/esm/render-bbebb760.js +0 -79
- package/dist/esm/tabpane-01075e6c.js +0 -29
- package/dist/esm/tabs-e1b4e4b1.js +0 -181
- package/dist/esm/typings-f27b58f4.js +0 -8
- package/dist/esm/useClientRect-56bb675b.js +0 -39
- package/dist/esm/useTouch-cf73a407.js +0 -99
package/package.json
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nutui/nutui-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
|
+
"style": "dist/style.css",
|
|
5
|
+
"main": "dist/nutui.react.umd.js",
|
|
6
|
+
"module": "dist/esm/nutui-react.es.js",
|
|
7
|
+
"typings": "dist/types/index.d.ts",
|
|
8
|
+
"sideEffects": [
|
|
9
|
+
"*.scss",
|
|
10
|
+
"dist/esm/**/style/*",
|
|
11
|
+
"dist/style.css",
|
|
12
|
+
"dist/styles/font/*",
|
|
13
|
+
"dist/styles/font-jmapp/*"
|
|
14
|
+
],
|
|
4
15
|
"description": "京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序",
|
|
5
|
-
"title": "NutUI-React",
|
|
6
16
|
"keywords": [
|
|
7
17
|
"nutui",
|
|
8
18
|
"nutui2",
|
|
@@ -16,14 +26,8 @@
|
|
|
16
26
|
"jdcfe",
|
|
17
27
|
"taro"
|
|
18
28
|
],
|
|
19
|
-
"
|
|
20
|
-
"bugs": {
|
|
21
|
-
"url": "https://github.com/jdf2e/nutui-react/issues"
|
|
22
|
-
},
|
|
29
|
+
"author": "jdcfe",
|
|
23
30
|
"license": "MIT",
|
|
24
|
-
"contributors": [
|
|
25
|
-
"jdcfe"
|
|
26
|
-
],
|
|
27
31
|
"repository": {
|
|
28
32
|
"type": "git",
|
|
29
33
|
"url": "https://github.com/jdf2e/nutui-react.git"
|
|
@@ -35,158 +39,27 @@
|
|
|
35
39
|
"LICENSE",
|
|
36
40
|
"CHANGELOG.md"
|
|
37
41
|
],
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"sideEffects": [
|
|
43
|
-
"*.scss",
|
|
44
|
-
"dist/esm/**/style/*",
|
|
45
|
-
"dist/style.css",
|
|
46
|
-
"dist/styles/font/*"
|
|
47
|
-
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public",
|
|
44
|
+
"registry": "https://registry.npmjs.org/"
|
|
45
|
+
},
|
|
48
46
|
"scripts": {
|
|
49
|
-
"
|
|
50
|
-
"generate:file": "node scripts/generate-nutui.js",
|
|
51
|
-
"generate:themes": "node scripts/generate-themes.js",
|
|
52
|
-
"generate:themes-dev": "node scripts/generate-themes-dev.js",
|
|
53
|
-
"checked": "npm run generate:file && tsc",
|
|
54
|
-
"dev": "npm run checked && vite --open --force",
|
|
55
|
-
"dev:theme": "npm run generate:themes-dev && npm run checked && vite --force --config vite.config.theme.ts",
|
|
56
|
-
"replace:scss": "node scripts/replace-scss-alias.js",
|
|
57
|
-
"build:dts": "node scripts/export-props.js && npx rollup -c rollup.config.dts.mjs",
|
|
58
|
-
"build:loader-style": "node scripts/generate-loader-style.js",
|
|
59
|
-
"build:component:css": "node scripts/build-component-css.js",
|
|
60
|
-
"build:css": "npm run generate:themes && vite build --config vite.config.build.css.ts && npm run build:replace ",
|
|
61
|
-
"build:replace": "npm run replace:scss",
|
|
62
|
-
"build:es": "npx rollup -c rollup.config.es.js --bundleConfigAsCjs",
|
|
63
|
-
"build:locales": "vite build --config vite.config.build.locales.ts",
|
|
64
|
-
"build": "npm run checked && vite build --config vite.config.build.ts && npm run build:es && npm run build:css && npm run build:loader-style && npm run build:dts && npm run build:locales",
|
|
65
|
-
"build:site": "npm run checked && vite build --config vite.config.build.site.ts",
|
|
66
|
-
"build:taro:site": "npm run checked:taro && npm run generate:file:taro:pages && cd ./src/sites/mobile-taro && npm run build:h5",
|
|
67
|
-
"build:theme:site": "npm run checked && vite build --config vite.config.theme.ts && npm run generate:themes-dev",
|
|
68
|
-
"lint": "eslint ./src/packages/calendar",
|
|
69
|
-
"lint:fix": "eslint --fix ./src/packages/calendar",
|
|
70
|
-
"publish:beta": "npm publish --tag beta",
|
|
71
|
-
"prepare": "husky install",
|
|
72
|
-
"test": "jest",
|
|
73
|
-
"test:demo": "jest --testNamePattern=^should match snapshot$ --runTestsByPath ./src/packages/collapse/__test__/collapse.spec.tsx",
|
|
74
|
-
"generate:file:taro": "node scripts/taro/generate-nutui-taro.js",
|
|
75
|
-
"checked:taro": "npm run generate:file:taro && tsc --project ./tsconfig.taro.json",
|
|
76
|
-
"generate:file:taro:pages": "node scripts/taro/generate-taro-pages.js",
|
|
77
|
-
"dev:taro:weapp": "npm run checked:taro && npm run generate:file:taro:pages && cd ./src/sites/mobile-taro && npm run dev:weapp",
|
|
78
|
-
"dev:taro:jd": "npm run checked:taro && npm run generate:file:taro:pages && cd ./src/sites/mobile-taro && npm run dev:jd",
|
|
79
|
-
"dev:taro:h5": "npm run checked:taro && npm run generate:file:taro:pages && cd ./src/sites/mobile-taro && npm run dev:h5",
|
|
80
|
-
"replace:taro:types": "node scripts/taro/replace-taro-types-alias.js",
|
|
81
|
-
"build:taro": "npm run checked:taro && vite build --config vite.config.build.taro.ts && npm run build:taro:es && npm run build:css && npm run build:loader-style && npm --taro run build:dts && npm run build:locales",
|
|
82
|
-
"build:taro:es": "npx rollup -c rollup.config.taro.es.js --bundleConfigAsCjs",
|
|
83
|
-
"build:taro:weapp": "npm run checked:taro && vite build --config vite.config.build.taro.ts && npm run generate:file:taro:pages && cd ./src/sites/mobile-taro && npm run build:weapp",
|
|
84
|
-
"add:taro:config": "node scripts/taro/generate-taro-route.js"
|
|
47
|
+
"postpublish": "node scripts/postpublish.js"
|
|
85
48
|
},
|
|
86
49
|
"lint-staged": {
|
|
87
50
|
"*.md": "prettier --write",
|
|
88
51
|
"*.{ts,tsx,js,vue,scss}": "prettier --write"
|
|
89
52
|
},
|
|
90
53
|
"dependencies": {
|
|
91
|
-
"@babel/runtime": "^7.
|
|
92
|
-
"@bem-react/classname": "^1.
|
|
54
|
+
"@babel/runtime": "^7.21.0",
|
|
55
|
+
"@bem-react/classname": "^1.6.0",
|
|
56
|
+
"@nutui/icons-react": "0.0.1-beta.7",
|
|
93
57
|
"@react-spring/web": "~9.6.1",
|
|
94
58
|
"@use-gesture/react": "10.2.20",
|
|
95
59
|
"async-validator": "^4.2.5",
|
|
96
|
-
"classnames": "^2.3.
|
|
60
|
+
"classnames": "^2.3.2",
|
|
97
61
|
"lodash.kebabcase": "^4.1.1",
|
|
98
|
-
"react-transition-group": "^4.4.
|
|
99
|
-
},
|
|
100
|
-
"devDependencies": {
|
|
101
|
-
"@babel/plugin-proposal-class-properties": "^7.16.5",
|
|
102
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.16.5",
|
|
103
|
-
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
104
|
-
"@babel/plugin-transform-runtime": "^7.16.5",
|
|
105
|
-
"@babel/preset-env": "^7.16.5",
|
|
106
|
-
"@babel/preset-react": "^7.16.5",
|
|
107
|
-
"@babel/preset-typescript": "^7.16.5",
|
|
108
|
-
"@commitlint/cli": "^12.1.4",
|
|
109
|
-
"@commitlint/config-conventional": "^12.1.4",
|
|
110
|
-
"@loadable/component": "^5.15.0",
|
|
111
|
-
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
|
|
112
|
-
"@rollup/plugin-babel": "^5.3.0",
|
|
113
|
-
"@rollup/plugin-commonjs": "^21.0.1",
|
|
114
|
-
"@rollup/plugin-node-resolve": "^13.1.1",
|
|
115
|
-
"@rollup/plugin-typescript": "^8.3.0",
|
|
116
|
-
"@tarojs/components": "^3.6.0",
|
|
117
|
-
"@tarojs/plugin-framework-react": "^3.6.0",
|
|
118
|
-
"@tarojs/plugin-platform-h5": "^3.6.0",
|
|
119
|
-
"@tarojs/plugin-platform-weapp": "^3.6.0",
|
|
120
|
-
"@tarojs/react": "^3.6.0",
|
|
121
|
-
"@tarojs/taro": "^3.6.0",
|
|
122
|
-
"@tarojs/taro-h5": "^3.6.0",
|
|
123
|
-
"@tarojs/taro-loader": "^3.6.0",
|
|
124
|
-
"@testing-library/jest-dom": "^5.16.3",
|
|
125
|
-
"@testing-library/react": "^13.3.0",
|
|
126
|
-
"@types/jest": "^27.4.1",
|
|
127
|
-
"@types/loadable__component": "^5.13.3",
|
|
128
|
-
"@types/lodash.kebabcase": "^4.1.6",
|
|
129
|
-
"@types/node": "^15.3.1",
|
|
130
|
-
"@types/react": "^18.0.17",
|
|
131
|
-
"@types/react-dom": "^18.0.6",
|
|
132
|
-
"@types/react-router-dom": "^5.1.7",
|
|
133
|
-
"@types/react-syntax-highlighter": "^13.5.2",
|
|
134
|
-
"@types/react-test-renderer": "^18.0.0",
|
|
135
|
-
"@types/react-transition-group": "^4.4.4",
|
|
136
|
-
"@types/testing-library__jest-dom": "^5.14.5",
|
|
137
|
-
"@typescript-eslint/eslint-plugin": "^4.24.0",
|
|
138
|
-
"@typescript-eslint/parser": "^4.24.0",
|
|
139
|
-
"@vitejs/plugin-react": "^1.1.3",
|
|
140
|
-
"@vitejs/plugin-react-refresh": "^1.3.1",
|
|
141
|
-
"autoprefixer": "^10.4.0",
|
|
142
|
-
"axios": "^0.21.1",
|
|
143
|
-
"babel-plugin-react-scoped-css": "^1.1.1",
|
|
144
|
-
"eslint": "^7.26.0",
|
|
145
|
-
"eslint-config-airbnb": "^18.2.1",
|
|
146
|
-
"eslint-config-prettier": "^8.3.0",
|
|
147
|
-
"eslint-plugin-import": "^2.23.2",
|
|
148
|
-
"eslint-plugin-jsx-a11y": "^6.4.1",
|
|
149
|
-
"eslint-plugin-markdown": "^2.2.1",
|
|
150
|
-
"eslint-plugin-prettier": "^4.0.0",
|
|
151
|
-
"eslint-plugin-react": "^7.23.2",
|
|
152
|
-
"eslint-plugin-react-hooks": "^4.2.0",
|
|
153
|
-
"eslint-plugin-unused-imports": "^1.1.5",
|
|
154
|
-
"fs-extra": "^10.0.0",
|
|
155
|
-
"glob": "^7.2.0",
|
|
156
|
-
"husky": "^6.0.0",
|
|
157
|
-
"inquirer": "^8.0.0",
|
|
158
|
-
"jest": "^27.5.1",
|
|
159
|
-
"jest-canvas-mock": "^2.4.0",
|
|
160
|
-
"lint-staged": "^11.0.0",
|
|
161
|
-
"lzutf8": "0.6.0",
|
|
162
|
-
"map-stream": "0.0.7",
|
|
163
|
-
"marked": "^2.0.3",
|
|
164
|
-
"mobx": "^6.6.2",
|
|
165
|
-
"mobx-react-lite": "^3.4.0",
|
|
166
|
-
"postcss-import": "^14.0.2",
|
|
167
|
-
"postcss-modules": "^4.2.2",
|
|
168
|
-
"prettier": "2.3.0",
|
|
169
|
-
"react": "^18.2.0",
|
|
170
|
-
"react-color": "^2.19.3",
|
|
171
|
-
"react-dom": "^18.2.0",
|
|
172
|
-
"react-markdown": "^7.1.2",
|
|
173
|
-
"react-router-dom": "^5.3.4",
|
|
174
|
-
"react-syntax-highlighter": "^15.4.5",
|
|
175
|
-
"react-test-renderer": "^18.2.0",
|
|
176
|
-
"reactcss": "^1.2.3",
|
|
177
|
-
"remark-directive": "^2.0.1",
|
|
178
|
-
"remark-gfm": "^3.0.1",
|
|
179
|
-
"rollup-plugin-delete": "^2.0.0",
|
|
180
|
-
"rollup-plugin-dts": "^5.0.0",
|
|
181
|
-
"sass": "^1.45.0",
|
|
182
|
-
"shelljs": "^0.8.4",
|
|
183
|
-
"ts-jest": "^27.1.4",
|
|
184
|
-
"ts-node": "^10.7.0",
|
|
185
|
-
"typescript": "^4.8.2",
|
|
186
|
-
"unist-util-visit": "^4.1.0",
|
|
187
|
-
"vinyl-fs": "^3.0.3",
|
|
188
|
-
"vite": "^4.1.4",
|
|
189
|
-
"vite-plugin-dts": "^1.1.1"
|
|
62
|
+
"react-transition-group": "^4.4.5"
|
|
190
63
|
},
|
|
191
64
|
"peerDependencies": {
|
|
192
65
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
@@ -194,9 +67,5 @@
|
|
|
194
67
|
"resolutions": {
|
|
195
68
|
"@types/react": "18",
|
|
196
69
|
"@types/react-dom": "18"
|
|
197
|
-
},
|
|
198
|
-
"publishConfig": {
|
|
199
|
-
"access": "public",
|
|
200
|
-
"registry": "https://registry.npmjs.org/"
|
|
201
70
|
}
|
|
202
71
|
}
|
package/dist/esm/bem-3b438e61.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
import React__default from 'react';
|
|
5
|
-
import { c as cn } from './bem-3b438e61.js';
|
|
6
|
-
var defaultProps = {
|
|
7
|
-
title: '',
|
|
8
|
-
desc: '',
|
|
9
|
-
className: '',
|
|
10
|
-
titleSlot: null,
|
|
11
|
-
descSlot: null
|
|
12
|
-
};
|
|
13
|
-
var CellGroup = function CellGroup(props) {
|
|
14
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
15
|
-
children = _defaultProps$props.children,
|
|
16
|
-
className = _defaultProps$props.className,
|
|
17
|
-
title = _defaultProps$props.title,
|
|
18
|
-
desc = _defaultProps$props.desc,
|
|
19
|
-
titleSlot = _defaultProps$props.titleSlot,
|
|
20
|
-
descSlot = _defaultProps$props.descSlot;
|
|
21
|
-
var b = cn('cell-group');
|
|
22
|
-
return React__default.createElement("div", {
|
|
23
|
-
className: b(null, [className])
|
|
24
|
-
}, titleSlot || React__default.createElement(React__default.Fragment, null, title ? React__default.createElement("div", {
|
|
25
|
-
className: b('title')
|
|
26
|
-
}, title) : null), descSlot || React__default.createElement(React__default.Fragment, null, desc ? React__default.createElement("div", {
|
|
27
|
-
className: b('desc')
|
|
28
|
-
}, desc) : null), React__default.createElement("div", {
|
|
29
|
-
className: b('wrap')
|
|
30
|
-
}, children));
|
|
31
|
-
};
|
|
32
|
-
CellGroup.defaultProps = defaultProps;
|
|
33
|
-
CellGroup.displayName = 'NutCellGroup';
|
|
34
|
-
export { CellGroup as C };
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
var _excluded = ["iconName", "iconSize", "label", "className", "iconActiveName", "checked", "disabled", "onChange", "indeterminate", "iconClassPrefix", "iconFontClassName", "iconIndeterminateName"],
|
|
5
|
-
_excluded2 = ["textPosition"];
|
|
6
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
-
import React__default, { createContext, useContext, useState, useEffect } from 'react';
|
|
9
|
-
import Icon from './Icon.js';
|
|
10
|
-
import CheckboxGroup from './CheckboxGroup.js';
|
|
11
|
-
import { c as cn } from './bem-3b438e61.js';
|
|
12
|
-
import { C as ComponentDefaults } from './typings-f27b58f4.js';
|
|
13
|
-
var CheckboxGroupContext = createContext(null);
|
|
14
|
-
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
15
|
-
checked: false,
|
|
16
|
-
disabled: false,
|
|
17
|
-
textPosition: 'right',
|
|
18
|
-
iconSize: 18,
|
|
19
|
-
iconName: 'check-normal',
|
|
20
|
-
iconActiveName: 'checked',
|
|
21
|
-
iconClassPrefix: 'nut-icon',
|
|
22
|
-
iconFontClassName: 'nutui-iconfont',
|
|
23
|
-
iconIndeterminateName: 'check-disabled',
|
|
24
|
-
onChange: function onChange(state, label) {}
|
|
25
|
-
});
|
|
26
|
-
var Checkbox = function Checkbox(props) {
|
|
27
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
28
|
-
children = _defaultProps$props.children;
|
|
29
|
-
var b = cn('checkbox');
|
|
30
|
-
var iconName = props.iconName,
|
|
31
|
-
iconSize = props.iconSize,
|
|
32
|
-
label = props.label,
|
|
33
|
-
className = props.className,
|
|
34
|
-
iconActiveName = props.iconActiveName,
|
|
35
|
-
checked = props.checked,
|
|
36
|
-
disabled = props.disabled,
|
|
37
|
-
onChange = props.onChange,
|
|
38
|
-
indeterminate = props.indeterminate,
|
|
39
|
-
iconClassPrefix = props.iconClassPrefix,
|
|
40
|
-
iconFontClassName = props.iconFontClassName,
|
|
41
|
-
iconIndeterminateName = props.iconIndeterminateName,
|
|
42
|
-
others = _objectWithoutProperties(props, _excluded);
|
|
43
|
-
// eslint-disable-next-line prefer-const
|
|
44
|
-
var textPosition = others.textPosition,
|
|
45
|
-
rest = _objectWithoutProperties(others, _excluded2);
|
|
46
|
-
var ctx = useContext(CheckboxGroupContext);
|
|
47
|
-
var _useState = useState(checked),
|
|
48
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
49
|
-
innerChecked = _useState2[0],
|
|
50
|
-
setInnerChecked = _useState2[1];
|
|
51
|
-
// eslint-disable-next-line prefer-const
|
|
52
|
-
var _useState3 = useState(disabled),
|
|
53
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
54
|
-
innerDisabled = _useState4[0],
|
|
55
|
-
setDisabled = _useState4[1];
|
|
56
|
-
var _useState5 = useState(indeterminate),
|
|
57
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
58
|
-
_indeterminate = _useState6[0],
|
|
59
|
-
setIndeterminate = _useState6[1];
|
|
60
|
-
useEffect(function () {
|
|
61
|
-
!ctx && setInnerChecked(checked);
|
|
62
|
-
setDisabled(disabled);
|
|
63
|
-
setIndeterminate(indeterminate);
|
|
64
|
-
}, [disabled, checked, indeterminate]);
|
|
65
|
-
if (ctx) {
|
|
66
|
-
if (ctx.textPosition !== undefined) {
|
|
67
|
-
textPosition = ctx.textPosition;
|
|
68
|
-
}
|
|
69
|
-
innerDisabled = ctx.disabled;
|
|
70
|
-
innerChecked = ctx.checkedValue.includes(label);
|
|
71
|
-
setInnerChecked = function setInnerChecked(checked) {
|
|
72
|
-
if (ctx.disabled) return;
|
|
73
|
-
if (checked) ctx.check(label);
|
|
74
|
-
if (!checked) ctx.uncheck(label);
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
var getIconName = function getIconName() {
|
|
78
|
-
if (!innerChecked) {
|
|
79
|
-
return iconName;
|
|
80
|
-
}
|
|
81
|
-
if (_indeterminate) {
|
|
82
|
-
return iconIndeterminateName;
|
|
83
|
-
}
|
|
84
|
-
return iconActiveName;
|
|
85
|
-
};
|
|
86
|
-
var renderIcon = function renderIcon() {
|
|
87
|
-
return React__default.createElement(Icon, {
|
|
88
|
-
classPrefix: iconClassPrefix,
|
|
89
|
-
fontClassName: iconFontClassName,
|
|
90
|
-
name: getIconName(),
|
|
91
|
-
size: iconSize,
|
|
92
|
-
className: color()
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
var color = function color() {
|
|
96
|
-
if (innerDisabled) {
|
|
97
|
-
return 'nut-checkbox__icon--disable';
|
|
98
|
-
}
|
|
99
|
-
if (innerChecked) {
|
|
100
|
-
if (_indeterminate) {
|
|
101
|
-
return 'nut-checkbox__icon--indeterminate';
|
|
102
|
-
}
|
|
103
|
-
return 'nut-checkbox__icon';
|
|
104
|
-
}
|
|
105
|
-
return 'nut-checkbox__icon--unchecked';
|
|
106
|
-
};
|
|
107
|
-
var renderLabel = function renderLabel() {
|
|
108
|
-
return React__default.createElement("span", {
|
|
109
|
-
className: "".concat(b('label', {
|
|
110
|
-
disabled: innerDisabled
|
|
111
|
-
}), " ")
|
|
112
|
-
}, children || label);
|
|
113
|
-
};
|
|
114
|
-
var handleClick = function handleClick() {
|
|
115
|
-
// 禁用的时候直接返回
|
|
116
|
-
if (disabled) return;
|
|
117
|
-
// 先转换状态
|
|
118
|
-
var latestChecked = !innerChecked;
|
|
119
|
-
// 判断是不是有 context 和 max,有的话需要判断是不是超过最大限制
|
|
120
|
-
if (ctx && ctx.max !== undefined) {
|
|
121
|
-
if (latestChecked && ctx.checkedValue.length >= ctx.max) return;
|
|
122
|
-
}
|
|
123
|
-
onChange && onChange(latestChecked, label || children);
|
|
124
|
-
setInnerChecked(latestChecked);
|
|
125
|
-
};
|
|
126
|
-
return React__default.createElement("div", _objectSpread(_objectSpread({
|
|
127
|
-
className: "".concat(b({
|
|
128
|
-
reverse: textPosition === 'left'
|
|
129
|
-
}), " ").concat(className || '')
|
|
130
|
-
}, rest), {}, {
|
|
131
|
-
onClick: handleClick
|
|
132
|
-
}), renderIcon(), renderLabel());
|
|
133
|
-
};
|
|
134
|
-
Checkbox.defaultProps = defaultProps;
|
|
135
|
-
Checkbox.displayName = 'NutCheckBox';
|
|
136
|
-
Checkbox.Group = CheckboxGroup;
|
|
137
|
-
export { Checkbox as C, CheckboxGroupContext as a };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var canUseDom = !!(typeof window !== 'undefined' && typeof document !== 'undefined' && window.document && window.document.createElement);
|
|
2
|
-
var defaultRoot = canUseDom ? window : undefined;
|
|
3
|
-
var overflowStylePatterns = ['scroll', 'auto', 'overlay'];
|
|
4
|
-
function isElement(node) {
|
|
5
|
-
var ELEMENT_NODE_TYPE = 1;
|
|
6
|
-
return node.nodeType === ELEMENT_NODE_TYPE;
|
|
7
|
-
}
|
|
8
|
-
function getScrollParent(el) {
|
|
9
|
-
var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultRoot;
|
|
10
|
-
var node = el;
|
|
11
|
-
while (node && node !== root && isElement(node)) {
|
|
12
|
-
if (node === document.body) {
|
|
13
|
-
return root;
|
|
14
|
-
}
|
|
15
|
-
var _window$getComputedSt = window.getComputedStyle(node),
|
|
16
|
-
overflowY = _window$getComputedSt.overflowY;
|
|
17
|
-
if (overflowStylePatterns.includes(overflowY) && node.scrollHeight > node.clientHeight) {
|
|
18
|
-
return node;
|
|
19
|
-
}
|
|
20
|
-
node = node.parentNode;
|
|
21
|
-
}
|
|
22
|
-
return root;
|
|
23
|
-
}
|
|
24
|
-
export { canUseDom as c, getScrollParent as g };
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["name", "size", "classPrefix", "color", "tag", "children", "className", "fontClassName", "style", "onClick"];
|
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
-
import React__default from 'react';
|
|
7
|
-
import { c as cn } from './bem-3b438e61.js';
|
|
8
|
-
var defaultProps = {
|
|
9
|
-
name: '',
|
|
10
|
-
size: '',
|
|
11
|
-
classPrefix: 'nut-icon',
|
|
12
|
-
fontClassName: 'nutui-iconfont',
|
|
13
|
-
color: '',
|
|
14
|
-
tag: 'i',
|
|
15
|
-
onClick: function onClick(e) {},
|
|
16
|
-
className: ''
|
|
17
|
-
};
|
|
18
|
-
function pxCheck(value) {
|
|
19
|
-
if (value === '') {
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
if (Number.isNaN(Number(value))) {
|
|
23
|
-
return String(value);
|
|
24
|
-
}
|
|
25
|
-
return "".concat(value, "px");
|
|
26
|
-
}
|
|
27
|
-
function Icon(props) {
|
|
28
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
29
|
-
name = _defaultProps$props.name,
|
|
30
|
-
size = _defaultProps$props.size,
|
|
31
|
-
classPrefix = _defaultProps$props.classPrefix,
|
|
32
|
-
color = _defaultProps$props.color,
|
|
33
|
-
tag = _defaultProps$props.tag,
|
|
34
|
-
children = _defaultProps$props.children,
|
|
35
|
-
className = _defaultProps$props.className,
|
|
36
|
-
fontClassName = _defaultProps$props.fontClassName,
|
|
37
|
-
style = _defaultProps$props.style,
|
|
38
|
-
onClick = _defaultProps$props.onClick,
|
|
39
|
-
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
40
|
-
var isImage = name ? name.indexOf('/') !== -1 : false;
|
|
41
|
-
var type = isImage ? 'img' : tag;
|
|
42
|
-
var b = cn('icon');
|
|
43
|
-
var handleClick = function handleClick(e) {
|
|
44
|
-
if (onClick) {
|
|
45
|
-
onClick(e);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var hasSrc = function hasSrc() {
|
|
49
|
-
if (isImage) return {
|
|
50
|
-
src: name
|
|
51
|
-
};
|
|
52
|
-
return {};
|
|
53
|
-
};
|
|
54
|
-
var styles = {};
|
|
55
|
-
var checkedSize = pxCheck(size);
|
|
56
|
-
if (checkedSize) {
|
|
57
|
-
styles.width = styles.height = styles.fontSize = checkedSize;
|
|
58
|
-
}
|
|
59
|
-
return React__default.createElement(type, _objectSpread(_objectSpread({
|
|
60
|
-
className: isImage ? "".concat(b('img'), " ").concat(className || '', " ") : "".concat(fontClassName, " ").concat(b(null), " ").concat(classPrefix, "-").concat(name, " ").concat(className || ''),
|
|
61
|
-
style: _objectSpread(_objectSpread({
|
|
62
|
-
color: color
|
|
63
|
-
}, styles), style)
|
|
64
|
-
}, rest), {}, {
|
|
65
|
-
onClick: handleClick
|
|
66
|
-
}, hasSrc()), children);
|
|
67
|
-
}
|
|
68
|
-
Icon.defaultProps = defaultProps;
|
|
69
|
-
Icon.displayName = 'NutIcon';
|
|
70
|
-
export { Icon as I };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
-
var isObject = function isObject(val) {
|
|
3
|
-
return val !== null && _typeof(val) === 'object';
|
|
4
|
-
};
|
|
5
|
-
var isFunction = function isFunction(val) {
|
|
6
|
-
return typeof val === 'function';
|
|
7
|
-
};
|
|
8
|
-
var isPromise = function isPromise(val) {
|
|
9
|
-
return isObject(val) && isFunction(val.then) && isFunction(val["catch"]);
|
|
10
|
-
};
|
|
11
|
-
export { isObject as a, isPromise as i };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { createContext } from 'react';
|
|
2
|
-
var handleClick = function handleClick(e) {
|
|
3
|
-
e.stopPropagation();
|
|
4
|
-
var isIcon = e.target.className.includes('arrow-icon');
|
|
5
|
-
var isTitle = e.target.className.includes('__title') || isIcon;
|
|
6
|
-
var currentClass = e.currentTarget.className;
|
|
7
|
-
var isShow = currentClass.includes('nutShow');
|
|
8
|
-
var arrowIcon = e.currentTarget.querySelector('.arrow-icon');
|
|
9
|
-
var iconClass = arrowIcon.className;
|
|
10
|
-
if (isTitle) {
|
|
11
|
-
e.currentTarget.className = isShow ? currentClass.replace('nutShow', 'nutHide') : currentClass.replace('nutHide', 'nutShow');
|
|
12
|
-
arrowIcon.className = isShow ? iconClass.replace('arrow-down', 'arrow-up') : iconClass.replace('arrow-up', 'arrow-down');
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
var OffsetContext = createContext(20);
|
|
16
|
-
export { OffsetContext as O, handleClick as h };
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["children", "zIndex", "duration", "overlayClass", "closeOnClickOverlay", "visible", "lockScroll", "overlayStyle"];
|
|
5
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
-
import React__default, { useState, useRef, useEffect } from 'react';
|
|
8
|
-
import classNames from 'classnames';
|
|
9
|
-
import { c as cn } from './bem-3b438e61.js';
|
|
10
|
-
var defaultOverlayProps = {
|
|
11
|
-
zIndex: 1000,
|
|
12
|
-
duration: 0.3,
|
|
13
|
-
overlayClass: '',
|
|
14
|
-
closeOnClickOverlay: true,
|
|
15
|
-
visible: false,
|
|
16
|
-
lockScroll: true,
|
|
17
|
-
overlayStyle: {}
|
|
18
|
-
};
|
|
19
|
-
var Overlay = function Overlay(props) {
|
|
20
|
-
var _defaultOverlayProps$ = _objectSpread(_objectSpread({}, defaultOverlayProps), props),
|
|
21
|
-
children = _defaultOverlayProps$.children,
|
|
22
|
-
zIndex = _defaultOverlayProps$.zIndex,
|
|
23
|
-
duration = _defaultOverlayProps$.duration,
|
|
24
|
-
overlayClass = _defaultOverlayProps$.overlayClass,
|
|
25
|
-
closeOnClickOverlay = _defaultOverlayProps$.closeOnClickOverlay,
|
|
26
|
-
visible = _defaultOverlayProps$.visible,
|
|
27
|
-
lockScroll = _defaultOverlayProps$.lockScroll,
|
|
28
|
-
overlayStyle = _defaultOverlayProps$.overlayStyle,
|
|
29
|
-
rest = _objectWithoutProperties(_defaultOverlayProps$, _excluded);
|
|
30
|
-
var _useState = useState(visible),
|
|
31
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
-
show = _useState2[0],
|
|
33
|
-
setShow = _useState2[1];
|
|
34
|
-
var renderRef = useRef(true);
|
|
35
|
-
var intervalRef = useRef(0);
|
|
36
|
-
useEffect(function () {
|
|
37
|
-
visible && setShow(visible);
|
|
38
|
-
lock();
|
|
39
|
-
}, [visible]);
|
|
40
|
-
useEffect(function () {
|
|
41
|
-
return function () {
|
|
42
|
-
clearTimeout(intervalRef.current);
|
|
43
|
-
document.body.classList.remove('nut-overflow-hidden');
|
|
44
|
-
};
|
|
45
|
-
}, []);
|
|
46
|
-
var b = cn('overlay');
|
|
47
|
-
var classes = classNames({
|
|
48
|
-
'overlay-fade-leave-active': !renderRef.current && !visible,
|
|
49
|
-
'overlay-fade-enter-active': visible,
|
|
50
|
-
'first-render': renderRef.current && !visible,
|
|
51
|
-
'hidden-render': !visible
|
|
52
|
-
}, overlayClass, b(''));
|
|
53
|
-
var styles = _objectSpread({
|
|
54
|
-
zIndex: zIndex,
|
|
55
|
-
animationDuration: "".concat(props.duration, "s")
|
|
56
|
-
}, overlayStyle);
|
|
57
|
-
var lock = function lock() {
|
|
58
|
-
if (lockScroll && visible) {
|
|
59
|
-
document.body.classList.add('nut-overflow-hidden');
|
|
60
|
-
} else {
|
|
61
|
-
document.body.classList.remove('nut-overflow-hidden');
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
var handleClick = function handleClick(e) {
|
|
65
|
-
if (closeOnClickOverlay) {
|
|
66
|
-
props.onClick && props.onClick(e);
|
|
67
|
-
renderRef.current = false;
|
|
68
|
-
var id = window.setTimeout(function () {
|
|
69
|
-
setShow(!visible);
|
|
70
|
-
}, duration * 1000 * 0.8);
|
|
71
|
-
intervalRef.current = id;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", _objectSpread(_objectSpread({
|
|
75
|
-
className: classes,
|
|
76
|
-
style: styles
|
|
77
|
-
}, rest), {}, {
|
|
78
|
-
onClick: handleClick
|
|
79
|
-
}), children));
|
|
80
|
-
};
|
|
81
|
-
Overlay.defaultProps = defaultOverlayProps;
|
|
82
|
-
Overlay.displayName = 'NutOverlay';
|
|
83
|
-
export { Overlay as O, defaultOverlayProps as d };
|