@integreat-app/react-sticky-headroom 1.1.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -7
- package/index.d.ts +18 -0
- package/index.js +9 -9
- package/index.js.flow +34 -16
- package/package.json +55 -49
package/README.md
CHANGED
|
@@ -27,16 +27,16 @@ render () {
|
|
|
27
27
|
|
|
28
28
|
## Demo
|
|
29
29
|
|
|
30
|
-
Go to [https://
|
|
30
|
+
Go to [https://digitalfabrik.github.io/react-sticky-headroom/](https://digitalfabrik.github.io/react-sticky-headroom/) to view a demo:
|
|
31
31
|
|
|
32
|
-
[](https://digitalfabrik.github.io/react-sticky-headroom/)
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
## API
|
|
36
36
|
You can pass the following props to ReactStickyHeadroom:
|
|
37
37
|
* `children: React.Node` The header component, that should be hidden and revealed
|
|
38
38
|
* `scrollHeight: number` The maximum amount of px the header should move up when scrolling
|
|
39
|
-
* `pinStart: number` The minimum scrollTop position where the transform should start
|
|
39
|
+
* `pinStart: number` (Default: `0`) The minimum scrollTop position where the transform should start
|
|
40
40
|
* `height?: number` (Optional) The height of the `children` node. Used for calculating the stickyTop position for a sticky ancestor in `onStickyTopChanged`
|
|
41
41
|
* `onStickyTopChanged?: (number) => void` Fired, when Headroom changes its state and `height` is provided. Passes the calculated stickyTop position of an ancestor node.
|
|
42
42
|
* `positionStickyDisabled?: boolean` (Optional, Default: `false`) If true, the header will stay static (e.g. for edge 16 support)
|
|
@@ -45,10 +45,6 @@ You can pass the following props to ReactStickyHeadroom:
|
|
|
45
45
|
* `className?: string` (Optional) A classname for applying custom styles to the wrapper. Use at your own risk.
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
Edge 16 has had issues with css property `position: sticky` together with `direction: rtl`.
|
|
49
|
-
This has been fixed in Edge 17.
|
|
50
|
-
If you need Edge 16 as well as right-to-left support, you should use `positionStickyDisabled: true`, when detecting Edge 16.
|
|
51
|
-
|
|
52
48
|
## Support
|
|
53
49
|
The component generally supports:
|
|
54
50
|
* Internet Explorer 11
|
|
@@ -61,4 +57,6 @@ For hiding and revealing the header, the browser needs to support the css-proper
|
|
|
61
57
|
You can read about the browser support for that on [caniuse.com](https://caniuse.com/#feat=css-sticky).
|
|
62
58
|
'Partial-Support' is enough for ReactStickyHeadroom to work in most cases.
|
|
63
59
|
|
|
60
|
+
ReactStickyHeadroom offers types for both TypeScript and FlowJS which should work out of the box.
|
|
61
|
+
|
|
64
62
|
If there are any problems, please don't hesitate to open an issue on GitHub.
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react'
|
|
2
|
+
|
|
3
|
+
declare type PropsType = {
|
|
4
|
+
children: ReactNode,
|
|
5
|
+
scrollHeight: number,
|
|
6
|
+
pinStart?: number,
|
|
7
|
+
height?: number,
|
|
8
|
+
onStickyTopChanged?: (number) => void,
|
|
9
|
+
positionStickyDisabled?: boolean,
|
|
10
|
+
parent?: HTMLElement,
|
|
11
|
+
zIndex?: number,
|
|
12
|
+
className?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare class Headroom extends React.Component<PropsType> {
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default Headroom
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -11,27 +11,27 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
13
13
|
|
|
14
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
15
|
|
|
16
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
17
|
|
|
18
18
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
19
|
|
|
20
20
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
21
21
|
|
|
22
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
22
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
23
23
|
|
|
24
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
24
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
25
25
|
|
|
26
26
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
27
27
|
|
|
28
28
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
29
29
|
|
|
30
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
30
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
31
31
|
|
|
32
32
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
33
33
|
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
34
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
35
|
|
|
36
36
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
37
|
|
|
@@ -134,11 +134,11 @@ var Headroom = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
134
134
|
|
|
135
135
|
_createClass(Headroom, [{
|
|
136
136
|
key: "getScrollTop",
|
|
137
|
-
|
|
137
|
+
value:
|
|
138
138
|
/**
|
|
139
139
|
* @returns {number} the current scrollTop position of the window
|
|
140
140
|
*/
|
|
141
|
-
|
|
141
|
+
function getScrollTop() {
|
|
142
142
|
var parent = this.props.parent;
|
|
143
143
|
|
|
144
144
|
if (parent && parent.scrollTop !== undefined && parent !== document.documentElement) {
|
package/index.js.flow
CHANGED
|
@@ -20,7 +20,7 @@ type ModeType = 'pinned' | 'unpinned' | 'static'
|
|
|
20
20
|
type DirectionType = 'up' | 'down'
|
|
21
21
|
type TransitionType = 'none' | 'normal' | 'pinned-to-static'
|
|
22
22
|
|
|
23
|
-
type PropsType = {|
|
|
23
|
+
type PropsType = $ReadOnly<{|
|
|
24
24
|
/** The child node to be displayed as a header */
|
|
25
25
|
children: Node,
|
|
26
26
|
/** The maximum amount of px the header should move up when scrolling */
|
|
@@ -39,13 +39,13 @@ type PropsType = {|
|
|
|
39
39
|
zIndex?: number,
|
|
40
40
|
/** A classname for applying custom styles to the wrapper. Use at your own risk. */
|
|
41
41
|
className?: string
|
|
42
|
-
|}
|
|
42
|
+
|}>
|
|
43
43
|
|
|
44
|
-
type StateType = {|
|
|
44
|
+
type StateType = $ReadOnly<{|
|
|
45
45
|
mode: ModeType,
|
|
46
46
|
transition: TransitionType,
|
|
47
47
|
animateUpFrom: ?number
|
|
48
|
-
|}
|
|
48
|
+
|}>
|
|
49
49
|
|
|
50
50
|
const HeaderWrapper: StyledComponent<{|
|
|
51
51
|
positionStickyDisabled: boolean,
|
|
@@ -61,10 +61,13 @@ const HeaderWrapper: StyledComponent<{|
|
|
|
61
61
|
animation-duration: 0.2s;
|
|
62
62
|
animation-timing-function: ease-out;
|
|
63
63
|
${props => props.transition === NORMAL_TRANSITION && !props.static
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
? 'transition: transform 0.2s ease-out;'
|
|
65
|
+
: ''}
|
|
66
|
+
${props => props.transition === PINNED_TO_STATIC
|
|
67
|
+
? css`
|
|
66
68
|
animation-name: ${keyframesMoveUpFrom(props.animateUpFrom)};
|
|
67
|
-
`
|
|
69
|
+
`
|
|
70
|
+
: ''}
|
|
68
71
|
${props => props.static ? 'transition: none;' : ''}
|
|
69
72
|
`
|
|
70
73
|
|
|
@@ -85,7 +88,11 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
85
88
|
parent: window.document.documentElement
|
|
86
89
|
}
|
|
87
90
|
|
|
88
|
-
state: StateType = {
|
|
91
|
+
state: StateType = {
|
|
92
|
+
mode: STATIC,
|
|
93
|
+
transition: NO_TRANSITION,
|
|
94
|
+
animateUpFrom: null
|
|
95
|
+
}
|
|
89
96
|
|
|
90
97
|
/** the very last scrollTop which we know about (to determine direction changes) */
|
|
91
98
|
lastKnownScrollTop: number = 0
|
|
@@ -158,7 +165,7 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
158
165
|
*/
|
|
159
166
|
shouldSetStatic (scrollTop: number, direction: DirectionType): boolean {
|
|
160
167
|
if (this.state.mode === STATIC || (this.state.mode === PINNED && direction ===
|
|
161
|
-
|
|
168
|
+
DOWNWARDS)) {
|
|
162
169
|
return this.props.pinStart + this.props.scrollHeight >= scrollTop
|
|
163
170
|
} else {
|
|
164
171
|
return this.props.pinStart >= scrollTop
|
|
@@ -182,8 +189,7 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
182
189
|
/**
|
|
183
190
|
* @returns {TransitionType} determines the kind of transition
|
|
184
191
|
*/
|
|
185
|
-
determineTransition (mode: ModeType,
|
|
186
|
-
direction: DirectionType): TransitionType {
|
|
192
|
+
determineTransition (mode: ModeType, direction: DirectionType): TransitionType {
|
|
187
193
|
// Handle special case: If we're pinned and going to static, we need a special transition using css animation
|
|
188
194
|
if (this.state.mode === PINNED && mode === STATIC) {
|
|
189
195
|
return PINNED_TO_STATIC
|
|
@@ -191,12 +197,14 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
191
197
|
// If mode is static, then no transition, because we're already in the right spot
|
|
192
198
|
// (and want to change transform and top properties seamlessly)
|
|
193
199
|
if (mode === STATIC) {
|
|
194
|
-
return this.state.transition === NO_TRANSITION
|
|
200
|
+
return this.state.transition === NO_TRANSITION
|
|
201
|
+
? NO_TRANSITION
|
|
195
202
|
: PINNED_TO_STATIC
|
|
196
203
|
}
|
|
197
204
|
// mode is not static, transition when moving upwards or when we've lastly did the transition
|
|
198
205
|
return direction === UPWARDS || this.state.transition === NORMAL_TRANSITION
|
|
199
|
-
? NORMAL_TRANSITION
|
|
206
|
+
? NORMAL_TRANSITION
|
|
207
|
+
: NO_TRANSITION
|
|
200
208
|
}
|
|
201
209
|
|
|
202
210
|
/**
|
|
@@ -208,12 +216,18 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
208
216
|
if (currentScrollTop === this.lastKnownScrollTop) {
|
|
209
217
|
return
|
|
210
218
|
}
|
|
211
|
-
const direction = this.lastKnownScrollTop < currentScrollTop
|
|
219
|
+
const direction = this.lastKnownScrollTop < currentScrollTop
|
|
220
|
+
? DOWNWARDS
|
|
212
221
|
: UPWARDS
|
|
213
222
|
newState.mode = this.determineMode(currentScrollTop, direction)
|
|
214
223
|
newState.transition = this.determineTransition(newState.mode, direction)
|
|
215
224
|
|
|
216
|
-
const {
|
|
225
|
+
const {
|
|
226
|
+
onStickyTopChanged,
|
|
227
|
+
height,
|
|
228
|
+
scrollHeight,
|
|
229
|
+
pinStart
|
|
230
|
+
} = this.props
|
|
217
231
|
if (this.state.mode === PINNED && newState.mode === STATIC) {
|
|
218
232
|
// animation in the special case from pinned to static
|
|
219
233
|
newState.animateUpFrom = currentScrollTop - pinStart
|
|
@@ -245,7 +259,11 @@ class Headroom extends React.PureComponent<PropsType, StateType> {
|
|
|
245
259
|
zIndex,
|
|
246
260
|
className
|
|
247
261
|
} = this.props
|
|
248
|
-
const {
|
|
262
|
+
const {
|
|
263
|
+
mode,
|
|
264
|
+
transition,
|
|
265
|
+
animateUpFrom
|
|
266
|
+
} = this.state
|
|
249
267
|
const transform = mode === UNPINNED ? -scrollHeight : 0
|
|
250
268
|
const ownStickyTop = mode === STATIC ? -scrollHeight : 0
|
|
251
269
|
return <HeaderWrapper
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@integreat-app/react-sticky-headroom",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=6.9",
|
|
6
6
|
"npm": ">=3.8"
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"repository": "https://github.com/integreat/react-sticky-headroom",
|
|
19
19
|
"files": [
|
|
20
20
|
"index.js",
|
|
21
|
-
"index.js.flow"
|
|
21
|
+
"index.js.flow",
|
|
22
|
+
"index.d.ts"
|
|
22
23
|
],
|
|
23
24
|
"publishConfig": {
|
|
24
25
|
"access": "public"
|
|
@@ -29,7 +30,9 @@
|
|
|
29
30
|
"react",
|
|
30
31
|
"hide",
|
|
31
32
|
"header",
|
|
32
|
-
"styled-components"
|
|
33
|
+
"styled-components",
|
|
34
|
+
"typescript",
|
|
35
|
+
"flow"
|
|
33
36
|
],
|
|
34
37
|
"module": "index.js",
|
|
35
38
|
"scripts": {
|
|
@@ -48,60 +51,63 @@
|
|
|
48
51
|
"prepublishOnly": "yarn build && yarn build:demo && yarn test && yarn lint && yarn flow:check-now"
|
|
49
52
|
},
|
|
50
53
|
"peerDependencies": {
|
|
51
|
-
"react": "16.x.x || 17.x.x",
|
|
54
|
+
"react": "16.x.x || 17.x.x || 18.x.x",
|
|
52
55
|
"styled-components": "4.x.x || 5.x.x"
|
|
53
56
|
},
|
|
54
57
|
"devDependencies": {
|
|
55
|
-
"@babel/cli": "^7.
|
|
56
|
-
"@babel/core": "^7.
|
|
57
|
-
"@babel/
|
|
58
|
-
"@babel/plugin-proposal-
|
|
59
|
-
"@babel/plugin-proposal-
|
|
60
|
-
"@babel/plugin-proposal-export-
|
|
61
|
-
"@babel/plugin-proposal-
|
|
62
|
-
"@babel/plugin-proposal-
|
|
63
|
-
"@babel/plugin-proposal-
|
|
64
|
-
"@babel/plugin-proposal-
|
|
65
|
-
"@babel/plugin-proposal-
|
|
66
|
-
"@babel/plugin-proposal-
|
|
67
|
-
"@babel/plugin-proposal-
|
|
58
|
+
"@babel/cli": "^7.17.6",
|
|
59
|
+
"@babel/core": "^7.17.8",
|
|
60
|
+
"@babel/eslint-parser": "^7.17.0",
|
|
61
|
+
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
|
62
|
+
"@babel/plugin-proposal-do-expressions": "^7.16.7",
|
|
63
|
+
"@babel/plugin-proposal-export-default-from": "^7.16.7",
|
|
64
|
+
"@babel/plugin-proposal-export-namespace-from": "^7.16.7",
|
|
65
|
+
"@babel/plugin-proposal-json-strings": "^7.16.7",
|
|
66
|
+
"@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
|
|
67
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
|
|
68
|
+
"@babel/plugin-proposal-numeric-separator": "^7.16.7",
|
|
69
|
+
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
|
|
70
|
+
"@babel/plugin-proposal-pipeline-operator": "^7.17.6",
|
|
71
|
+
"@babel/plugin-proposal-throw-expressions": "^7.16.7",
|
|
68
72
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
69
|
-
"@babel/plugin-syntax-import-meta": "^7.
|
|
70
|
-
"@babel/plugin-transform-react-jsx": "^7.
|
|
71
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
72
|
-
"@babel/preset-env": "^7.
|
|
73
|
-
"@babel/preset-flow": "^7.
|
|
74
|
-
"@babel/preset-react": "^7.
|
|
75
|
-
"@babel/runtime": "^7.
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"@integreat-app/eslint-config-react": "^0.6.1",
|
|
81
|
-
"babel-core": "^7.0.0-bridge.0",
|
|
82
|
-
"babel-eslint": "^10.1.0",
|
|
83
|
-
"babel-jest": "^26.6.3",
|
|
84
|
-
"babel-loader": "^8.1.0",
|
|
85
|
-
"babel-plugin-styled-components": "^1.10.7",
|
|
73
|
+
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
|
74
|
+
"@babel/plugin-transform-react-jsx": "^7.17.3",
|
|
75
|
+
"@babel/plugin-transform-runtime": "^7.17.0",
|
|
76
|
+
"@babel/preset-env": "^7.16.11",
|
|
77
|
+
"@babel/preset-flow": "^7.16.7",
|
|
78
|
+
"@babel/preset-react": "^7.16.7",
|
|
79
|
+
"@babel/runtime": "^7.17.8",
|
|
80
|
+
"babel-jest": "^27.5.1",
|
|
81
|
+
"babel-loader": "^8.2.4",
|
|
82
|
+
"babel-plugin-styled-components": "^2.0.6",
|
|
83
|
+
"browserslist": "^4.20.2",
|
|
86
84
|
"enzyme": "^3.11.0",
|
|
87
|
-
"enzyme-adapter-react-16": "^1.15.
|
|
88
|
-
"enzyme-to-json": "^3.
|
|
89
|
-
"eslint": "^
|
|
90
|
-
"
|
|
85
|
+
"enzyme-adapter-react-16": "^1.15.6",
|
|
86
|
+
"enzyme-to-json": "^3.6.2",
|
|
87
|
+
"eslint": "^8.11.0",
|
|
88
|
+
"eslint-config-standard": "^16.0.3",
|
|
89
|
+
"eslint-plugin-flowtype": "^8.0.3",
|
|
90
|
+
"eslint-plugin-import": "^2.25.4",
|
|
91
|
+
"eslint-plugin-jest": "^26.1.3",
|
|
92
|
+
"eslint-plugin-node": "^11.1.0",
|
|
93
|
+
"eslint-plugin-promise": "^6.0.0",
|
|
94
|
+
"eslint-plugin-react": "^7.29.4",
|
|
95
|
+
"flow-bin": "~0.174.1",
|
|
91
96
|
"flow-copy-source": "^2.0.9",
|
|
92
|
-
"flow-typed": "^3.
|
|
93
|
-
"jest": "^
|
|
94
|
-
"jest-junit": "^
|
|
95
|
-
"jest-styled-components": "^7.0.
|
|
97
|
+
"flow-typed": "^3.7.0",
|
|
98
|
+
"jest": "^27.5.1",
|
|
99
|
+
"jest-junit": "^13.0.0",
|
|
100
|
+
"jest-styled-components": "^7.0.8",
|
|
96
101
|
"raf": "^3.4.1",
|
|
97
|
-
"react": "^16.
|
|
98
|
-
"react-dom": "^16.
|
|
102
|
+
"react": "^16.14.0",
|
|
103
|
+
"react-dom": "^16.14.0",
|
|
99
104
|
"rimraf": "^3.0.2",
|
|
100
|
-
"styled-components": "^5.
|
|
101
|
-
"stylelint": "^
|
|
102
|
-
"stylelint-config-recommended": "^
|
|
105
|
+
"styled-components": "^5.3.3",
|
|
106
|
+
"stylelint": "^14.6.0",
|
|
107
|
+
"stylelint-config-recommended": "^7.0.0",
|
|
103
108
|
"stylelint-config-styled-components": "^0.1.1",
|
|
104
109
|
"stylelint-processor-styled-components": "^1.10.0",
|
|
105
|
-
"webpack": "^5.
|
|
106
|
-
}
|
|
110
|
+
"webpack": "^5.70.0"
|
|
111
|
+
},
|
|
112
|
+
"packageManager": "yarn@3.2.0"
|
|
107
113
|
}
|