@gm-pc/react 1.13.0 → 1.13.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gm-pc/react",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "观麦前端基础组件库",
5
5
  "author": "liyatang <liyatang@qq.com>",
6
6
  "homepage": "https://github.com/gmfe/gm-pc#readme",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@gm-common/hooks": "^2.10.0",
26
26
  "@gm-common/tool": "^2.10.0",
27
- "@gm-pc/locales": "^1.13.0",
27
+ "@gm-pc/locales": "^1.13.1",
28
28
  "big.js": "^6.0.1",
29
29
  "classnames": "^2.2.5",
30
30
  "lodash": "^4.17.19",
@@ -48,5 +48,5 @@
48
48
  "react-router-dom": "^5.2.0",
49
49
  "react-window": "^1.8.5"
50
50
  },
51
- "gitHead": "d6b40976252d63a7efb06f2a80f8799880e53de3"
51
+ "gitHead": "a14b9e8f52d0066e83d03ac5f0f67f965e3cbf99"
52
52
  }
@@ -1,5 +1,5 @@
1
1
  import { reaction } from 'mobx'
2
- import React, { useEffect, useContext } from 'react'
2
+ import React, { useEffect, useContext, useRef } from 'react'
3
3
  import BrowserContext from '../context/browser'
4
4
  import BrowserWindowContext from '../context/browserWindow'
5
5
 
@@ -12,29 +12,46 @@ type Noop = () => void
12
12
  */
13
13
  export default function useWindowEffect(fn: () => Noop | void, deps: Array<any>) {
14
14
  const browser = useContext(BrowserContext)
15
+ /** hook所在窗口 */
15
16
  const browserWindow = useContext(BrowserWindowContext)
17
+ const cb = useRef<Noop | void>()
16
18
 
17
- let cb: Noop | void
18
19
  useEffect(() => {
19
20
  if (!browser || !browserWindow) {
20
21
  console.warn('useWindowEffect需要在VBrowser中使用, 否则将回退到useEffect')
21
- cb = fn()
22
- return cb
22
+ cb.current = fn()
23
+ return cb.current
23
24
  }
24
25
 
25
26
  const alive = browserWindow.path === browser.activeWindow?.path
26
27
  if (!alive) return
27
28
 
29
+ // 激活\失活
28
30
  const dispose = reaction(
29
31
  () => browser.activeWindow,
30
32
  (cur, pre) => {
33
+ if (pre?.path !== browserWindow.path && cur?.path !== browserWindow.path) {
34
+ return
35
+ }
31
36
  const activate = cur?.path === browserWindow.path
32
37
  const deactivate = pre?.path === browserWindow.path
33
- if (activate) cb = fn()
34
- if (deactivate) cb && cb()
38
+ if (activate) {
39
+ cb.current = fn()
40
+ console.log('activate', browserWindow.path)
41
+ }
42
+ if (deactivate) {
43
+ cb.current && cb.current()
44
+ console.log('deactivate', browserWindow.path)
45
+ }
35
46
  }
47
+ // { fireImmediately: true }
36
48
  )
37
- cb = fn()
38
- return dispose
49
+ cb.current = fn()
50
+ console.log('effect', browserWindow.path, deps)
51
+ return () => {
52
+ console.log('dispose', browserWindow.path)
53
+ dispose()
54
+ cb.current && cb.current()
55
+ }
39
56
  }, deps)
40
57
  }
@@ -17,8 +17,8 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
17
17
  ({ className, ...props }) => {
18
18
  const containerRef = createRef<HTMLDivElement>()
19
19
  const browser = useContext(Context)
20
- const leftInterval = useRef<number>()
21
- const rightInterval = useRef<number>()
20
+ // const leftInterval = useRef<number>()
21
+ // const rightInterval = useRef<number>()
22
22
 
23
23
  const [state, setState] = useState({ scrollLeft: 0, scrollWidth: 0, width: 0 })
24
24
 
@@ -55,6 +55,7 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
55
55
  if (!wrapper) return
56
56
  wrapper.scrollTo({
57
57
  left: clamp(wrapper.scrollLeft + offset, 0, wrapper.scrollWidth),
58
+ behavior: 'smooth',
58
59
  })
59
60
  }
60
61
  // #endregion
@@ -93,18 +94,18 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
93
94
  disabled: state.scrollLeft === 0,
94
95
  'tw-hidden': state.width === state.scrollWidth,
95
96
  })}
96
- // onClick={(e) => {
97
- // e.stopPropagation()
98
- // _handleScroll(-150)
99
- // }}
100
- onMouseEnter={() => {
101
- leftInterval.current = setInterval(() => {
102
- _handleScroll(-1)
103
- }, 0) as any
104
- }}
105
- onMouseLeave={() => {
106
- clearInterval(leftInterval.current)
97
+ onClick={(e) => {
98
+ e.stopPropagation()
99
+ _handleScroll(-160)
107
100
  }}
101
+ // onMouseEnter={() => {
102
+ // leftInterval.current = setInterval(() => {
103
+ // _handleScroll(-1)
104
+ // }, 0) as any
105
+ // }}
106
+ // onMouseLeave={() => {
107
+ // clearInterval(leftInterval.current)
108
+ // }}
108
109
  >
109
110
  <Left
110
111
  className={classNames(
@@ -116,53 +117,54 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
116
117
  <div className='v-browser-tabs-items tw-w-full tw-h-full tw-flex tw-items-center'>
117
118
  {browser.windows.map((w, i) => {
118
119
  return (
119
- <div
120
- key={i}
121
- className={classNames(
122
- 'v-browser-tabs-items-item tw-font-sm tw-px-2.5 tw-flex-shrink-0 tw-flex tw-items-center tw-truncate tw-w-min',
123
- {
124
- active: i === browser.activeIndex,
125
- border:
126
- i !== browser.windows.length - 1 &&
127
- i !== browser.activeIndex &&
128
- i !== browser.activeIndex - 1,
129
- }
130
- )}
131
- data-tab-id={w.path}
132
- onClick={() => browser.switchWindow(w)}
133
- >
120
+ <>
134
121
  <div
135
- className='tw-flex-grow tw-text-sm'
136
- style={{ minWidth: typeof w.title !== 'string' ? 'auto' : '100px' }}
122
+ key={i}
123
+ className={classNames(
124
+ 'v-browser-tabs-items-item tw-font-sm tw-px-2.5 tw-flex-shrink-0 tw-flex tw-items-center tw-truncate tw-w-min',
125
+ {
126
+ active: i === browser.activeIndex,
127
+ border:
128
+ i !== browser.activeIndex && i !== browser.activeIndex - 1,
129
+ }
130
+ )}
131
+ data-tab-id={w.path}
132
+ onClick={() => browser.switchWindow(w)}
137
133
  >
138
- <div className='tw-flex tw-items-center'>
139
- {w.faviconURL && (
140
- <img
141
- src={w.faviconURL}
142
- className={classNames('tw-w-3.5 tw-h-3.5 tw-mr-0.5', {
143
- 'tw-opacity-70': i !== browser.activeIndex,
144
- })}
145
- />
146
- )}
147
- <span>{w.title || '-'}</span>
134
+ <div
135
+ className='tw-flex-grow tw-text-sm'
136
+ style={{ minWidth: typeof w.title !== 'string' ? 'auto' : '100px' }}
137
+ >
138
+ <div className='tw-flex tw-items-center'>
139
+ {w.faviconURL && (
140
+ <img
141
+ src={w.faviconURL}
142
+ className={classNames('tw-w-3.5 tw-h-3.5 tw-mr-0.5', {
143
+ 'tw-opacity-70': i !== browser.activeIndex,
144
+ })}
145
+ />
146
+ )}
147
+ <span>{w.title || '-'}</span>
148
+ </div>
148
149
  </div>
149
- </div>
150
150
 
151
- <div className='tw-pl-2 tw-flex tw-items-center'>
152
- <Delete
153
- className={classNames(
154
- 'v-browser-tabs-items-item-close tw-w-3.5 tw-h-3.5',
155
- {
156
- 'tw-hidden': !w.closeable,
157
- }
158
- )}
159
- onClick={(e) => {
160
- e.stopPropagation()
161
- browser.close(w)
162
- }}
163
- />
151
+ <div className='tw-pl-2 tw-flex tw-items-center'>
152
+ <Delete
153
+ className={classNames(
154
+ 'v-browser-tabs-items-item-close tw-w-3.5 tw-h-3.5',
155
+ {
156
+ 'tw-hidden': !w.closeable,
157
+ }
158
+ )}
159
+ onClick={(e) => {
160
+ e.stopPropagation()
161
+ browser.close(w)
162
+ }}
163
+ />
164
+ </div>
164
165
  </div>
165
- </div>
166
+ <div key={`divider-${i}`} className='v-browser-tabs-items-divider' />
167
+ </>
166
168
  )
167
169
  })}
168
170
  </div>
@@ -172,18 +174,18 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
172
174
  disabled: state.scrollWidth - state.width - state.scrollLeft < 1,
173
175
  'tw-hidden': state.width === state.scrollWidth,
174
176
  })}
175
- // onClick={(e) => {
176
- // e.stopPropagation()
177
- // _handleScroll(150)
178
- // }}
179
- onMouseEnter={() => {
180
- rightInterval.current = setInterval(() => {
181
- _handleScroll(+1)
182
- }, 0) as any
183
- }}
184
- onMouseLeave={() => {
185
- clearInterval(rightInterval.current)
177
+ onClick={(e) => {
178
+ e.stopPropagation()
179
+ _handleScroll(160)
186
180
  }}
181
+ // onMouseEnter={() => {
182
+ // rightInterval.current = setInterval(() => {
183
+ // _handleScroll(+1)
184
+ // }, 0) as any
185
+ // }}
186
+ // onMouseLeave={() => {
187
+ // clearInterval(rightInterval.current)
188
+ // }}
187
189
  >
188
190
  <Right
189
191
  className={classNames(
@@ -57,23 +57,17 @@
57
57
  background-color: #dae7ff !important;
58
58
  }
59
59
 
60
- &.border::after {
61
- content: '';
62
- position: absolute;
63
- right: 0;
64
- width: 1px;
65
- height: 24px;
66
- background-color: #e8ecf3;
67
- }
68
-
69
- &:hover::after {
70
- content: none;
71
- }
72
-
73
60
  &-close:hover {
74
61
  filter: brightness(0);
75
62
  }
76
63
  }
64
+
65
+ &-divider {
66
+ width: 1px;
67
+ height: 24px;
68
+ background-color: #e8ecf3;
69
+ flex-shrink: 0;
70
+ }
77
71
  }
78
72
 
79
73
  &-left,
@@ -4,7 +4,7 @@ import VBrowserContainer from './ui/index'
4
4
  import BrowserContext from './context/browser'
5
5
  import { CacheItem, VBrowserProps, VBrowserWindow } from './types'
6
6
  import { parse, stringify } from 'querystring'
7
- import { isEqual } from 'lodash'
7
+ import { debounce, isEqual } from 'lodash'
8
8
 
9
9
  // @ts-ignore
10
10
  const req = require.context('@/pages', true, __AUTO_ROUTER_REG__, 'lazy')
@@ -35,6 +35,7 @@ class VBrowser implements VBrowser {
35
35
  <VBrowserContainer />
36
36
  </BrowserContext.Provider>
37
37
  )
38
+ // this.open = debounce(this.open).bind(this) as typeof this.open
38
39
  this._loadStash().then(async () => {
39
40
  await when(() => this.mounted)
40
41
  this.props.onReady && this.props.onReady()
@@ -222,20 +223,14 @@ class VBrowser implements VBrowser {
222
223
  }
223
224
 
224
225
  // 恢复已开窗口
225
- private _loadStash() {
226
- return new Promise((resolve, reject) => {
227
- const { windows = [], activeIndex = 0 } = JSON.parse(
228
- sessionStorage.getItem(STORAGE_KEY) || '{}'
229
- )
230
- if (windows.length === 0) return resolve(undefined)
231
- this.windows = windows
232
- const onShow = (w: VBrowserWindow) => {
233
- this.switchWindow(activeIndex)
234
- this.off('show', onShow)
235
- resolve(undefined)
236
- }
237
- this.on('show', onShow)
238
- })
226
+ private async _loadStash() {
227
+ await new Promise((resolve) => setTimeout(resolve, 100))
228
+ const { windows = [], activeIndex = 0 } = JSON.parse(
229
+ sessionStorage.getItem(STORAGE_KEY) || '{}'
230
+ )
231
+ if (windows.length === 0) return
232
+ this.windows = windows
233
+ this.open(windows[activeIndex])
239
234
  }
240
235
 
241
236
  /** 隐藏标签栏 */
package/yarn-error.log ADDED
@@ -0,0 +1,267 @@
1
+ Arguments:
2
+ /usr/local/bin/node /usr/local/bin/yarn add react-router-dom^5.2.0 --peer
3
+
4
+ PATH:
5
+ /opt/intel/openvino_2021/deployment_tools/model_optimizer:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/go/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Users/jawei/google-cloud-sdk/bin:/Users/jawei/opt/anaconda3/bin:/Users/jawei/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Users/jawei/flutter/bin:/Users/yuanzhiying/Library/flutter/bin:/usr/local/go/bin
6
+
7
+ Yarn version:
8
+ 1.22.10
9
+
10
+ Node version:
11
+ 14.15.1
12
+
13
+ Platform:
14
+ darwin x64
15
+
16
+ Trace:
17
+ Error: https://registry.npm.taobao.org/react-router-dom%5E5.2.0: [NOT_FOUND] react-router-dom^5.2.0 not found
18
+ at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66988:18)
19
+ at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140662:22)
20
+ at Request.emit (events.js:315:20)
21
+ at Request.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141634:10)
22
+ at Request.emit (events.js:315:20)
23
+ at Gunzip.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141556:12)
24
+ at Object.onceWrapper (events.js:421:28)
25
+ at Gunzip.emit (events.js:315:20)
26
+ at endReadableNT (_stream_readable.js:1327:12)
27
+ at processTicksAndRejections (internal/process/task_queues.js:80:21)
28
+
29
+ npm manifest:
30
+ {
31
+ "name": "@gm-pc/react",
32
+ "version": "1.7.4-alpha.0",
33
+ "description": "观麦前端基础组件库",
34
+ "author": "liyatang <liyatang@qq.com>",
35
+ "homepage": "https://github.com/gmfe/gm-pc#readme",
36
+ "license": "ISC",
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "main": "src/index.ts",
41
+ "module": "src/index.ts",
42
+ "types": "src/index.ts",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/gmfe/gm-pc.git"
46
+ },
47
+ "scripts": {
48
+ "test": "echo \"Error: run tests from root\" && exit 1"
49
+ },
50
+ "bugs": {
51
+ "url": "https://github.com/gmfe/gm-pc/issues"
52
+ },
53
+ "dependencies": {
54
+ "@gm-common/hooks": "^2.10.0",
55
+ "@gm-common/tool": "^2.10.0",
56
+ "@gm-pc/locales": "^1.7.4-alpha.0",
57
+ "big.js": "^6.0.1",
58
+ "classnames": "^2.2.5",
59
+ "lodash": "^4.17.19",
60
+ "modern-normalize": "^1.0.0",
61
+ "moment": "^2.29.1",
62
+ "react-window": "^1.8.5"
63
+ },
64
+ "devDependencies": {
65
+ "@types/react-router-dom": "^5.3.3",
66
+ "react": "^16.14.0",
67
+ "react-dom": "^16.14.0"
68
+ },
69
+ "peerDependencies": {
70
+ "big.js": "^6.0.1",
71
+ "classnames": "^2.2.5",
72
+ "lodash": "^4.17.19",
73
+ "modern-normalize": "^1.0.0",
74
+ "moment": "^2.29.1",
75
+ "react": "^16.14.0",
76
+ "react-dom": "^16.14.0",
77
+ "react-router-dom": "^5.2.0",
78
+ "react-window": "^1.8.5"
79
+ }
80
+ }
81
+
82
+ yarn manifest:
83
+ No manifest
84
+
85
+ Lockfile:
86
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
87
+ # yarn lockfile v1
88
+
89
+
90
+ "@babel/runtime@^7.0.0":
91
+ version "7.12.1"
92
+ resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.1.tgz?cache=0&sync_timestamp=1602799933339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740"
93
+ integrity sha1-tBFqa2cR0BCy2tO3tuQ78bmVR0A=
94
+ dependencies:
95
+ regenerator-runtime "^0.13.4"
96
+
97
+ "@gm-common/hooks@^2.10.0":
98
+ version "2.10.0"
99
+ resolved "https://registry.npmmirror.com/@gm-common/hooks/download/@gm-common/hooks-2.10.0.tgz#c67e02875b4d266ef911e7828257d957e923826b"
100
+ integrity sha1-xn4Ch1tNJm75EeeCglfZV+kjgms=
101
+ dependencies:
102
+ "@gm-common/tool" "^2.10.0"
103
+ ts-config-gm-react-app "^3.4.5"
104
+
105
+ "@gm-common/tool@^2.10.0":
106
+ version "2.10.0"
107
+ resolved "https://registry.npmmirror.com/@gm-common/tool/download/@gm-common/tool-2.10.0.tgz#f4f512233ff1118eff8bbdeca9762f0e65ce26bd"
108
+ integrity sha1-9PUSIz/xEY7/i73sqXYvDmXOJr0=
109
+ dependencies:
110
+ lodash "^4.17.20"
111
+
112
+ "@gm-pc/locales@^1.7.4-alpha.0":
113
+ version "1.8.6-alpha.0"
114
+ resolved "https://registry.npmmirror.com/@gm-pc/locales/-/locales-1.8.6-alpha.0.tgz#9fc9918454ee774c0d61ff41f5b33343411dd3c3"
115
+ integrity sha512-iNAdAuu8bg7F3xB7Vr0DgvY+jpJ1lxkOTAOw+2BK3ljI1eRTbIYkqvazX9ImrdcaB+7R0sbDGUMeR8Ca7iRY3w==
116
+
117
+ "@types/history@^4.7.11":
118
+ version "4.7.11"
119
+ resolved "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64"
120
+ integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==
121
+
122
+ "@types/prop-types@*":
123
+ version "15.7.4"
124
+ resolved "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
125
+ integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
126
+
127
+ "@types/react-router-dom@^5.3.3":
128
+ version "5.3.3"
129
+ resolved "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83"
130
+ integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==
131
+ dependencies:
132
+ "@types/history" "^4.7.11"
133
+ "@types/react" "*"
134
+ "@types/react-router" "*"
135
+
136
+ "@types/react-router@*":
137
+ version "5.1.18"
138
+ resolved "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3"
139
+ integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g==
140
+ dependencies:
141
+ "@types/history" "^4.7.11"
142
+ "@types/react" "*"
143
+
144
+ "@types/react@*":
145
+ version "17.0.39"
146
+ resolved "https://registry.npmmirror.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce"
147
+ integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==
148
+ dependencies:
149
+ "@types/prop-types" "*"
150
+ "@types/scheduler" "*"
151
+ csstype "^3.0.2"
152
+
153
+ "@types/scheduler@*":
154
+ version "0.16.2"
155
+ resolved "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
156
+ integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
157
+
158
+ big.js@^6.0.1:
159
+ version "6.0.1"
160
+ resolved "https://registry.npm.taobao.org/big.js/download/big.js-6.0.1.tgz#9e0a2e8b1825ce006cd4a096d6f294738cd5cff6"
161
+ integrity sha1-ngouixglzgBs1KCW1vKUc4zVz/Y=
162
+
163
+ classnames@^2.2.5:
164
+ version "2.2.6"
165
+ resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
166
+ integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=
167
+
168
+ csstype@^3.0.2:
169
+ version "3.0.10"
170
+ resolved "https://registry.npmmirror.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
171
+ integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
172
+
173
+ "js-tokens@^3.0.0 || ^4.0.0":
174
+ version "4.0.0"
175
+ resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
176
+ integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
177
+
178
+ lodash@^4.17.19, lodash@^4.17.20:
179
+ version "4.17.20"
180
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
181
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
182
+
183
+ loose-envify@^1.1.0, loose-envify@^1.4.0:
184
+ version "1.4.0"
185
+ resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
186
+ integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
187
+ dependencies:
188
+ js-tokens "^3.0.0 || ^4.0.0"
189
+
190
+ "memoize-one@>=3.1.1 <6":
191
+ version "5.1.1"
192
+ resolved "https://registry.npm.taobao.org/memoize-one/download/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
193
+ integrity sha1-BHtuMZm1COrsA1BN5xIpuOsddcA=
194
+
195
+ modern-normalize@^1.0.0:
196
+ version "1.0.0"
197
+ resolved "https://registry.npm.taobao.org/modern-normalize/download/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e"
198
+ integrity sha1-U52EoeFBM4sBs0bz4nOW0O0XYB4=
199
+
200
+ moment@^2.29.1:
201
+ version "2.29.1"
202
+ resolved "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
203
+ integrity sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=
204
+
205
+ object-assign@^4.1.1:
206
+ version "4.1.1"
207
+ resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
208
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
209
+
210
+ prop-types@^15.6.2:
211
+ version "15.7.2"
212
+ resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
213
+ integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU=
214
+ dependencies:
215
+ loose-envify "^1.4.0"
216
+ object-assign "^4.1.1"
217
+ react-is "^16.8.1"
218
+
219
+ react-dom@^16.14.0:
220
+ version "16.14.0"
221
+ resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.14.0.tgz?cache=0&sync_timestamp=1603367590403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dom%2Fdownload%2Freact-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
222
+ integrity sha1-etg47Cmnd/s8dcOhkPZhz5Kri4k=
223
+ dependencies:
224
+ loose-envify "^1.1.0"
225
+ object-assign "^4.1.1"
226
+ prop-types "^15.6.2"
227
+ scheduler "^0.19.1"
228
+
229
+ react-is@^16.8.1:
230
+ version "16.13.1"
231
+ resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1603367576715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
232
+ integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=
233
+
234
+ react-window@^1.8.5:
235
+ version "1.8.6"
236
+ resolved "https://registry.npm.taobao.org/react-window/download/react-window-1.8.6.tgz#d011950ac643a994118632665aad0c6382e2a112"
237
+ integrity sha1-0BGVCsZDqZQRhjJmWq0MY4LioRI=
238
+ dependencies:
239
+ "@babel/runtime" "^7.0.0"
240
+ memoize-one ">=3.1.1 <6"
241
+
242
+ react@^16.14.0:
243
+ version "16.14.0"
244
+ resolved "https://registry.npm.taobao.org/react/download/react-16.14.0.tgz?cache=0&sync_timestamp=1603367592109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact%2Fdownload%2Freact-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
245
+ integrity sha1-lNd23dCqo32j7aj8W2sYpMmjEU0=
246
+ dependencies:
247
+ loose-envify "^1.1.0"
248
+ object-assign "^4.1.1"
249
+ prop-types "^15.6.2"
250
+
251
+ regenerator-runtime@^0.13.4:
252
+ version "0.13.7"
253
+ resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456311465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
254
+ integrity sha1-ysLazIoepnX+qrrriugziYrkb1U=
255
+
256
+ scheduler@^0.19.1:
257
+ version "0.19.1"
258
+ resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1603367591660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
259
+ integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY=
260
+ dependencies:
261
+ loose-envify "^1.1.0"
262
+ object-assign "^4.1.1"
263
+
264
+ ts-config-gm-react-app@^3.4.5:
265
+ version "3.4.7"
266
+ resolved "https://registry.npmjs.org/ts-config-gm-react-app/-/ts-config-gm-react-app-3.4.7.tgz#51decbf847c991ae8e3bd950f3f84cfb0523ba4b"
267
+ integrity sha512-1XOMmAIEiUr2R0JTasF30zj5ZRZgVTOx/ycZJOh2xusQCYC4n1/wGbXfEzm8Dzhv2YSWHEWPVHpytAM3mYsu9Q==