@atlaskit/drawer 7.1.8 → 7.1.11

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/constants/package.json +1 -0
  3. package/dist/cjs/components/blanket.js +54 -0
  4. package/dist/cjs/components/index.js +8 -31
  5. package/dist/cjs/components/primitives/content.js +1 -1
  6. package/dist/cjs/components/primitives/icon-button.js +2 -1
  7. package/dist/cjs/components/primitives/index.js +90 -93
  8. package/dist/cjs/components/primitives/sidebar.js +1 -1
  9. package/dist/cjs/components/utils.js +2 -0
  10. package/dist/cjs/constants.js +12 -3
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/es2019/components/blanket.js +41 -0
  13. package/dist/es2019/components/index.js +11 -28
  14. package/dist/es2019/components/primitives/content.js +1 -1
  15. package/dist/es2019/components/primitives/icon-button.js +2 -1
  16. package/dist/es2019/components/primitives/index.js +81 -48
  17. package/dist/es2019/components/primitives/sidebar.js +1 -1
  18. package/dist/es2019/components/utils.js +5 -2
  19. package/dist/es2019/constants.js +4 -2
  20. package/dist/es2019/version.json +1 -1
  21. package/dist/esm/components/blanket.js +41 -0
  22. package/dist/esm/components/index.js +10 -29
  23. package/dist/esm/components/primitives/content.js +1 -1
  24. package/dist/esm/components/primitives/icon-button.js +2 -1
  25. package/dist/esm/components/primitives/index.js +90 -90
  26. package/dist/esm/components/primitives/sidebar.js +1 -1
  27. package/dist/esm/components/utils.js +2 -0
  28. package/dist/esm/constants.js +6 -2
  29. package/dist/esm/version.json +1 -1
  30. package/dist/types/components/blanket.d.ts +10 -0
  31. package/dist/types/components/index.d.ts +2 -2
  32. package/dist/types/components/primitives/index.d.ts +3 -4
  33. package/dist/types/components/types.d.ts +51 -18
  34. package/dist/types/constants.d.ts +2 -1
  35. package/package.json +13 -7
  36. package/report.api.md +196 -0
  37. package/dist/cjs/components/transitions.js +0 -185
  38. package/dist/es2019/components/transitions.js +0 -118
  39. package/dist/esm/components/transitions.js +0 -161
  40. package/dist/types/components/transitions.d.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/drawer
2
2
 
3
+ ## 7.1.11
4
+
5
+ ### Patch Changes
6
+
7
+ - [`fd86b8e4c63`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fd86b8e4c63) - Internal code change turning on new linting rules.
8
+
9
+ ## 7.1.10
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 7.1.9
16
+
17
+ ### Patch Changes
18
+
19
+ - [`45e0af67ad3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/45e0af67ad3) - Internal change to make styles statically analyzable
20
+
3
21
  ## 7.1.8
4
22
 
5
23
  ### Patch Changes
@@ -3,5 +3,6 @@
3
3
  "main": "../dist/cjs/constants.js",
4
4
  "module": "../dist/esm/constants.js",
5
5
  "module:es2019": "../dist/es2019/constants.js",
6
+ "sideEffects": false,
6
7
  "types": "../dist/types/constants.d.ts"
7
8
  }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _blanket = _interopRequireDefault(require("@atlaskit/blanket"));
13
+
14
+ var _motion = require("@atlaskit/motion");
15
+
16
+ var _constants = require("../constants");
17
+
18
+ /**
19
+ * A wrapper around `@atlaskit/blanket` that adds a fade in/out transition.
20
+ */
21
+ var Blanket = function Blanket(_ref) {
22
+ var isOpen = _ref.isOpen,
23
+ onBlanketClicked = _ref.onBlanketClicked;
24
+ return /*#__PURE__*/_react.default.createElement(_motion.ExitingPersistence, {
25
+ appear: true
26
+ }, isOpen && /*#__PURE__*/_react.default.createElement(_motion.FadeIn
27
+ /**
28
+ * We double the duration because the fade in keyframes have
29
+ * `opacity: 1` at `50%`.
30
+ *
31
+ * The fade out animation uses half the passed duration so it evens out.
32
+ */
33
+ , {
34
+ duration: _constants.transitionDurationMs * 2
35
+ /**
36
+ * We don't expose this on `FadeIn` but it does get passed down.
37
+ * TODO: figure out how we want to handle this...
38
+ */
39
+ // @ts-ignore
40
+ ,
41
+ animationTimingFunction: _constants.animationTimingFunction
42
+ }, function (_ref2) {
43
+ var className = _ref2.className;
44
+ return /*#__PURE__*/_react.default.createElement("div", {
45
+ className: className
46
+ }, /*#__PURE__*/_react.default.createElement(_blanket.default, {
47
+ isTinted: true,
48
+ onBlanketClicked: onBlanketClicked
49
+ }));
50
+ }));
51
+ };
52
+
53
+ var _default = Blanket;
54
+ exports.default = _default;
@@ -27,22 +27,16 @@ var _react = _interopRequireWildcard(require("react"));
27
27
 
28
28
  var _exenv = require("exenv");
29
29
 
30
- var _reactTransitionGroup = require("react-transition-group");
31
-
32
30
  var _analyticsNext = require("@atlaskit/analytics-next");
33
31
 
34
- var _blanket = _interopRequireDefault(require("@atlaskit/blanket"));
35
-
36
32
  var _portal = _interopRequireDefault(require("@atlaskit/portal"));
37
33
 
38
- var _constants = require("../constants");
34
+ var _blanket = _interopRequireDefault(require("./blanket"));
39
35
 
40
36
  var _focusLock = _interopRequireDefault(require("./focus-lock"));
41
37
 
42
38
  var _primitives = _interopRequireDefault(require("./primitives"));
43
39
 
44
- var _transitions = require("./transitions");
45
-
46
40
  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); }
47
41
 
48
42
  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; }
@@ -52,13 +46,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
52
46
  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; } }
53
47
 
54
48
  var packageName = "@atlaskit/drawer";
55
- var packageVersion = "7.1.8";
56
-
57
- var OnlyChild = function OnlyChild(_ref) {
58
- var children = _ref.children;
59
- return _react.Children.toArray(children)[0] || null;
60
- };
61
-
49
+ var packageVersion = "7.1.11";
62
50
  var createAndFireEventOnAtlaskit = (0, _analyticsNext.createAndFireEvent)('atlaskit');
63
51
 
64
52
  var createAndFireOnClick = function createAndFireOnClick(createAnalyticsEvent, trigger) {
@@ -172,24 +160,12 @@ var DrawerBase = /*#__PURE__*/function (_Component) {
172
160
  isFocusLockEnabled = _this$props3.isFocusLockEnabled,
173
161
  shouldReturnFocus = _this$props3.shouldReturnFocus,
174
162
  overrides = _this$props3.overrides;
175
- return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, {
176
- in: isOpen,
177
- timeout: {
178
- enter: 0,
179
- exit: _constants.transitionDurationMs
180
- },
181
- mountOnEnter: true,
182
- unmountOnExit: true
183
- }, /*#__PURE__*/_react.default.createElement(_portal.default, {
163
+ return /*#__PURE__*/_react.default.createElement(_portal.default, {
184
164
  zIndex: "unset"
185
- }, /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.TransitionGroup, {
186
- component: OnlyChild
187
- }, /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_transitions.Fade, {
188
- in: isOpen
189
165
  }, /*#__PURE__*/_react.default.createElement(_blanket.default, {
190
- isTinted: true,
166
+ isOpen: isOpen,
191
167
  onBlanketClicked: this.handleBlanketClick
192
- })), /*#__PURE__*/_react.default.createElement(_focusLock.default, {
168
+ }), /*#__PURE__*/_react.default.createElement(_focusLock.default, {
193
169
  autoFocusFirstElem: autoFocusFirstElem,
194
170
  isFocusLockEnabled: isFocusLockEnabled,
195
171
  shouldReturnFocus: shouldReturnFocus
@@ -201,9 +177,10 @@ var DrawerBase = /*#__PURE__*/function (_Component) {
201
177
  onCloseComplete: onCloseComplete,
202
178
  onOpenComplete: onOpenComplete,
203
179
  width: width,
204
- shouldUnmountOnExit: shouldUnmountOnExit,
180
+ shouldUnmountOnExit: shouldUnmountOnExit // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
181
+ ,
205
182
  overrides: overrides
206
- }, children))))));
183
+ }, children)));
207
184
  }
208
185
  }]);
209
186
  return DrawerBase;
@@ -36,7 +36,7 @@ var Content = function Content(_ref) {
36
36
  * guide suggested as it made more sense as a transformer of the current styles rather than
37
37
  * a complete override with no chance of partially changing styles.
38
38
  */
39
- // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
39
+ // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage, @repo/internal/react/no-unsafe-spread-props
40
40
  (0, _core.jsx)("div", (0, _extends2.default)({
41
41
  css: cssFn(defaultStyles)
42
42
  }, props))
@@ -47,7 +47,8 @@ var IconButton = function IconButton(_ref) {
47
47
  onClick: onClick,
48
48
  "data-testid": testId
49
49
  }, children);
50
- };
50
+ }; // eslint-disable-next-line @repo/internal/react/require-jsdoc
51
+
51
52
 
52
53
  var _default = IconButton;
53
54
  exports.default = _default;
@@ -7,20 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
25
11
 
26
12
  var _react = require("react");
@@ -29,11 +15,13 @@ var _core = require("@emotion/core");
29
15
 
30
16
  var _arrowLeft = _interopRequireDefault(require("@atlaskit/icon/glyph/arrow-left"));
31
17
 
18
+ var _motion = require("@atlaskit/motion");
19
+
32
20
  var _colors = require("@atlaskit/theme/colors");
33
21
 
34
22
  var _constants = require("@atlaskit/theme/constants");
35
23
 
36
- var _transitions = require("../transitions");
24
+ var _constants2 = require("../../constants");
37
25
 
38
26
  var _utils = require("../utils");
39
27
 
@@ -43,19 +31,9 @@ var _iconButton = _interopRequireDefault(require("./icon-button"));
43
31
 
44
32
  var _sidebar = _interopRequireDefault(require("./sidebar"));
45
33
 
46
- var _excluded = ["width", "shouldUnmountOnExit", "style"],
47
- _excluded2 = ["children", "icon", "onClose", "onCloseComplete", "onOpenComplete", "overrides", "testId"],
48
- _excluded3 = ["component"],
49
- _excluded4 = ["component"];
50
-
51
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
52
-
53
- 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; } }
54
-
55
- 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; }
56
-
57
- 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) { (0, _defineProperty2.default)(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; }
58
-
34
+ var _excluded = ["children", "icon", "onClose", "onCloseComplete", "onOpenComplete", "overrides", "testId", "in"],
35
+ _excluded2 = ["component"],
36
+ _excluded3 = ["component"];
59
37
  // Misc.
60
38
  // ------------------------------
61
39
  var widths = {
@@ -75,74 +53,93 @@ var wrapperStyles = (0, _core.css)({
75
53
  backgroundColor: "var(--ds-surface-overlay, ".concat(_colors.N0, ")"),
76
54
  overflow: 'hidden'
77
55
  });
78
-
79
- var Wrapper = function Wrapper(_ref) {
80
- var _ref$width = _ref.width,
81
- width = _ref$width === void 0 ? 'narrow' : _ref$width,
82
- shouldUnmountOnExit = _ref.shouldUnmountOnExit,
83
- style = _ref.style,
84
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
85
- return (0, _core.jsx)("div", (0, _extends2.default)({
86
- style: _objectSpread(_objectSpread({}, style), {}, {
87
- width: widths[width]
88
- }),
89
- css: wrapperStyles
90
- }, props));
91
- };
92
-
93
56
  var defaults = {
94
57
  Sidebar: _sidebar.default,
95
58
  Content: _content.default
96
59
  };
60
+ /**
61
+ * This wrapper is used to specify separate durations for enter and exit.
62
+ */
63
+
64
+ var CustomSlideIn = function CustomSlideIn(_ref) {
65
+ var children = _ref.children,
66
+ onFinish = _ref.onFinish;
67
+
68
+ var _useExitingPersistenc = (0, _motion.useExitingPersistence)(),
69
+ isExiting = _useExitingPersistenc.isExiting;
70
+ /**
71
+ * The actual duration should be the same for both enter and exit,
72
+ * but motion halves the passed duration for exit animations,
73
+ * so we double it when exiting.
74
+ */
75
+
76
+
77
+ var duration = isExiting ? _constants2.transitionDurationMs * 2 : _constants2.transitionDurationMs;
78
+ return (0, _core.jsx)(_motion.SlideIn, {
79
+ animationTimingFunction: _constants2.animationTimingFunction,
80
+ duration: duration,
81
+ enterFrom: "left",
82
+ exitTo: "left",
83
+ fade: "none",
84
+ onFinish: onFinish
85
+ }, children);
86
+ };
97
87
 
98
- var DrawerPrimitive = /*#__PURE__*/function (_Component) {
99
- (0, _inherits2.default)(DrawerPrimitive, _Component);
100
-
101
- var _super = _createSuper(DrawerPrimitive);
102
-
103
- function DrawerPrimitive() {
104
- (0, _classCallCheck2.default)(this, DrawerPrimitive);
105
- return _super.apply(this, arguments);
106
- }
107
-
108
- (0, _createClass2.default)(DrawerPrimitive, [{
109
- key: "render",
110
- value: function render() {
111
- var _this$props = this.props,
112
- children = _this$props.children,
113
- Icon = _this$props.icon,
114
- onClose = _this$props.onClose,
115
- onCloseComplete = _this$props.onCloseComplete,
116
- onOpenComplete = _this$props.onOpenComplete,
117
- overrides = _this$props.overrides,
118
- testId = _this$props.testId,
119
- props = (0, _objectWithoutProperties2.default)(_this$props, _excluded2);
120
- var getOverrides = (0, _utils.createExtender)(defaults, overrides);
121
-
122
- var _getOverrides = getOverrides('Sidebar'),
123
- Sidebar = _getOverrides.component,
124
- sideBarOverrides = (0, _objectWithoutProperties2.default)(_getOverrides, _excluded3);
125
-
126
- var _getOverrides2 = getOverrides('Content'),
127
- Content = _getOverrides2.component,
128
- contentOverrides = (0, _objectWithoutProperties2.default)(_getOverrides2, _excluded4);
129
-
130
- return (0, _core.jsx)(_transitions.Slide, (0, _extends2.default)({
131
- component: Wrapper,
132
- onExited: onCloseComplete,
133
- onEntered: onOpenComplete,
134
- "data-testid": testId
135
- }, props), (0, _core.jsx)(Sidebar, sideBarOverrides, (0, _core.jsx)(_iconButton.default, {
136
- onClick: onClose,
137
- testId: testId && 'DrawerPrimitiveSidebarCloseButton'
138
- }, Icon ? (0, _core.jsx)(Icon, {
139
- size: "large"
140
- }) : (0, _core.jsx)(_arrowLeft.default, {
141
- label: "Close drawer"
142
- }))), (0, _core.jsx)(Content, contentOverrides, children));
88
+ var DrawerPrimitive = function DrawerPrimitive(_ref2) {
89
+ var children = _ref2.children,
90
+ Icon = _ref2.icon,
91
+ onClose = _ref2.onClose,
92
+ onCloseComplete = _ref2.onCloseComplete,
93
+ onOpenComplete = _ref2.onOpenComplete,
94
+ overrides = _ref2.overrides,
95
+ testId = _ref2.testId,
96
+ isOpen = _ref2.in,
97
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
98
+ var getOverrides = (0, _utils.createExtender)(defaults, overrides);
99
+
100
+ var _getOverrides = getOverrides('Sidebar'),
101
+ Sidebar = _getOverrides.component,
102
+ sideBarOverrides = (0, _objectWithoutProperties2.default)(_getOverrides, _excluded2);
103
+
104
+ var _getOverrides2 = getOverrides('Content'),
105
+ Content = _getOverrides2.component,
106
+ contentOverrides = (0, _objectWithoutProperties2.default)(_getOverrides2, _excluded3);
107
+
108
+ var ref = (0, _react.useRef)(null);
109
+ var onFinish = (0, _react.useCallback)(function (state) {
110
+ if (state === 'entering') {
111
+ onOpenComplete === null || onOpenComplete === void 0 ? void 0 : onOpenComplete(ref.current);
112
+ } else if (state === 'exiting') {
113
+ onCloseComplete === null || onCloseComplete === void 0 ? void 0 : onCloseComplete(ref.current);
143
114
  }
144
- }]);
145
- return DrawerPrimitive;
146
- }(_react.Component);
147
-
148
- exports.default = DrawerPrimitive;
115
+ }, [onCloseComplete, onOpenComplete]);
116
+ return (0, _core.jsx)(_motion.ExitingPersistence, {
117
+ appear: true
118
+ }, isOpen && (0, _core.jsx)(CustomSlideIn, {
119
+ onFinish: onFinish
120
+ }, function (_ref3) {
121
+ var _props$width;
122
+
123
+ var className = _ref3.className;
124
+ return (0, _core.jsx)("div", {
125
+ className: className,
126
+ css: wrapperStyles,
127
+ style: {
128
+ width: widths[(_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'narrow']
129
+ },
130
+ "data-testid": testId,
131
+ ref: ref
132
+ }, (0, _core.jsx)(Sidebar, sideBarOverrides, (0, _core.jsx)(_iconButton.default, {
133
+ onClick: onClose,
134
+ testId: testId && 'DrawerPrimitiveSidebarCloseButton'
135
+ }, Icon ? (0, _core.jsx)(Icon, {
136
+ size: "large"
137
+ }) : (0, _core.jsx)(_arrowLeft.default, {
138
+ label: "Close drawer"
139
+ }))), (0, _core.jsx)(Content, contentOverrides, children));
140
+ }));
141
+ }; // eslint-disable-next-line @repo/internal/react/require-jsdoc
142
+
143
+
144
+ var _default = DrawerPrimitive;
145
+ exports.default = _default;
@@ -38,7 +38,7 @@ var sidebarCSS = function sidebarCSS() {
38
38
  var Sidebar = function Sidebar(_ref) {
39
39
  var cssFn = _ref.cssFn,
40
40
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
- // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
41
+ // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage, @repo/internal/react/no-unsafe-spread-props
42
42
  return (0, _core.jsx)("div", (0, _extends2.default)({
43
43
  css: cssFn(defaultStyle)
44
44
  }, props));
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createExtender = void 0;
7
7
 
8
+ // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
9
+
8
10
  /**
9
11
  * @deprecated Please avoid using this function as we intend to remote it in a future release. See DSP-2673 for more information.
10
12
  */
@@ -3,12 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.widths = exports.transitionTimingFunction = exports.transitionDurationMs = exports.transitionDuration = void 0;
6
+ exports.widths = exports.transitionTimingFunction = exports.transitionDurationMs = exports.transitionDuration = exports.animationTimingFunction = void 0;
7
+
8
+ var _curves = require("@atlaskit/motion/curves");
9
+
7
10
  var transitionDuration = '0.22s';
8
11
  exports.transitionDuration = transitionDuration;
9
12
  var transitionDurationMs = 220;
10
13
  exports.transitionDurationMs = transitionDurationMs;
11
- var transitionTimingFunction = 'cubic-bezier(0.2, 0, 0, 1)';
14
+ var transitionTimingFunction = _curves.easeOut;
12
15
  exports.transitionTimingFunction = transitionTimingFunction;
13
16
  var widths = ['narrow', 'medium', 'wide', 'extended', 'full'];
14
- exports.widths = widths;
17
+ exports.widths = widths;
18
+
19
+ var animationTimingFunction = function animationTimingFunction() {
20
+ return _curves.easeOut;
21
+ };
22
+
23
+ exports.animationTimingFunction = animationTimingFunction;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/drawer",
3
- "version": "7.1.8",
3
+ "version": "7.1.11",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import AkBlanket from '@atlaskit/blanket';
3
+ import { ExitingPersistence, FadeIn } from '@atlaskit/motion';
4
+ import { animationTimingFunction, transitionDurationMs } from '../constants';
5
+
6
+ /**
7
+ * A wrapper around `@atlaskit/blanket` that adds a fade in/out transition.
8
+ */
9
+ const Blanket = ({
10
+ isOpen,
11
+ onBlanketClicked
12
+ }) => {
13
+ return /*#__PURE__*/React.createElement(ExitingPersistence, {
14
+ appear: true
15
+ }, isOpen && /*#__PURE__*/React.createElement(FadeIn
16
+ /**
17
+ * We double the duration because the fade in keyframes have
18
+ * `opacity: 1` at `50%`.
19
+ *
20
+ * The fade out animation uses half the passed duration so it evens out.
21
+ */
22
+ , {
23
+ duration: transitionDurationMs * 2
24
+ /**
25
+ * We don't expose this on `FadeIn` but it does get passed down.
26
+ * TODO: figure out how we want to handle this...
27
+ */
28
+ // @ts-ignore
29
+ ,
30
+ animationTimingFunction: animationTimingFunction
31
+ }, ({
32
+ className
33
+ }) => /*#__PURE__*/React.createElement("div", {
34
+ className: className
35
+ }, /*#__PURE__*/React.createElement(AkBlanket, {
36
+ isTinted: true,
37
+ onBlanketClicked: onBlanketClicked
38
+ }))));
39
+ };
40
+
41
+ export default Blanket;
@@ -1,21 +1,15 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import React, { Children, Component, Fragment } from 'react';
2
+
3
+ /* eslint-disable @repo/internal/dom-events/no-unsafe-event-listeners */
4
+ import React, { Component } from 'react';
3
5
  import { canUseDOM } from 'exenv';
4
- import { Transition, TransitionGroup } from 'react-transition-group';
5
6
  import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
6
- import Blanket from '@atlaskit/blanket';
7
7
  import Portal from '@atlaskit/portal';
8
- import { transitionDurationMs } from '../constants';
8
+ import Blanket from './blanket';
9
9
  import FocusLock from './focus-lock';
10
10
  import DrawerPrimitive from './primitives';
11
- import { Fade } from './transitions';
12
11
  const packageName = "@atlaskit/drawer";
13
- const packageVersion = "7.1.8";
14
-
15
- const OnlyChild = ({
16
- children
17
- }) => Children.toArray(children)[0] || null;
18
-
12
+ const packageVersion = "7.1.11";
19
13
  const createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');
20
14
 
21
15
  const createAndFireOnClick = (createAnalyticsEvent, trigger) => createAndFireEventOnAtlaskit({
@@ -122,24 +116,12 @@ export class DrawerBase extends Component {
122
116
  shouldReturnFocus,
123
117
  overrides
124
118
  } = this.props;
125
- return /*#__PURE__*/React.createElement(Transition, {
126
- in: isOpen,
127
- timeout: {
128
- enter: 0,
129
- exit: transitionDurationMs
130
- },
131
- mountOnEnter: true,
132
- unmountOnExit: true
133
- }, /*#__PURE__*/React.createElement(Portal, {
119
+ return /*#__PURE__*/React.createElement(Portal, {
134
120
  zIndex: "unset"
135
- }, /*#__PURE__*/React.createElement(TransitionGroup, {
136
- component: OnlyChild
137
- }, /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Fade, {
138
- in: isOpen
139
121
  }, /*#__PURE__*/React.createElement(Blanket, {
140
- isTinted: true,
122
+ isOpen: isOpen,
141
123
  onBlanketClicked: this.handleBlanketClick
142
- })), /*#__PURE__*/React.createElement(FocusLock, {
124
+ }), /*#__PURE__*/React.createElement(FocusLock, {
143
125
  autoFocusFirstElem: autoFocusFirstElem,
144
126
  isFocusLockEnabled: isFocusLockEnabled,
145
127
  shouldReturnFocus: shouldReturnFocus
@@ -151,9 +133,10 @@ export class DrawerBase extends Component {
151
133
  onCloseComplete: onCloseComplete,
152
134
  onOpenComplete: onOpenComplete,
153
135
  width: width,
154
- shouldUnmountOnExit: shouldUnmountOnExit,
136
+ shouldUnmountOnExit: shouldUnmountOnExit // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
137
+ ,
155
138
  overrides: overrides
156
- }, children))))));
139
+ }, children)));
157
140
  }
158
141
 
159
142
  }
@@ -21,7 +21,7 @@ const Content = ({
21
21
  * guide suggested as it made more sense as a transformer of the current styles rather than
22
22
  * a complete override with no chance of partially changing styles.
23
23
  */
24
- // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
24
+ // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage, @repo/internal/react/no-unsafe-spread-props
25
25
  jsx("div", _extends({
26
26
  css: cssFn(defaultStyles)
27
27
  }, props));
@@ -36,6 +36,7 @@ const IconButton = ({
36
36
  css: iconButtonStyles,
37
37
  onClick: onClick,
38
38
  "data-testid": testId
39
- }, children);
39
+ }, children); // eslint-disable-next-line @repo/internal/react/require-jsdoc
40
+
40
41
 
41
42
  export default IconButton;