@atlaskit/drawer 10.1.5 → 11.0.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.
Files changed (120) hide show
  1. package/CHANGELOG.md +15 -6
  2. package/dist/cjs/constants.js +2 -7
  3. package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-close-button.js +1 -1
  4. package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-content.js +2 -2
  5. package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-panel.js +1 -1
  6. package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.js +1 -1
  7. package/dist/cjs/{compiled/drawer.js → drawer.js} +3 -3
  8. package/dist/cjs/index.js +29 -3
  9. package/dist/es2019/constants.js +1 -6
  10. package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-close-button.js +1 -1
  11. package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-content.js +2 -2
  12. package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-panel.js +1 -1
  13. package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.js +1 -1
  14. package/dist/es2019/{compiled/drawer.js → drawer.js} +3 -3
  15. package/dist/es2019/index.js +5 -1
  16. package/dist/esm/constants.js +1 -6
  17. package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-close-button.js +1 -1
  18. package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-content.js +2 -2
  19. package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-panel.js +1 -1
  20. package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.js +1 -1
  21. package/dist/esm/{compiled/drawer.js → drawer.js} +3 -3
  22. package/dist/esm/index.js +5 -1
  23. package/dist/types/constants.d.ts +1 -2
  24. package/dist/types/index.d.ts +6 -2
  25. package/dist/types/{compiled/types.d.ts → types.d.ts} +1 -2
  26. package/dist/types-ts4.5/constants.d.ts +1 -2
  27. package/dist/types-ts4.5/index.d.ts +6 -2
  28. package/dist/types-ts4.5/{compiled/types.d.ts → types.d.ts} +1 -2
  29. package/package.json +7 -26
  30. package/compiled/package.json +0 -17
  31. package/dist/cjs/components/blanket.js +0 -62
  32. package/dist/cjs/components/index.js +0 -148
  33. package/dist/cjs/components/primitives/content.js +0 -69
  34. package/dist/cjs/components/primitives/drawer-wrapper.js +0 -90
  35. package/dist/cjs/components/primitives/focus-lock.js +0 -60
  36. package/dist/cjs/components/primitives/index.js +0 -125
  37. package/dist/cjs/components/primitives/sidebar.js +0 -45
  38. package/dist/cjs/components/types.js +0 -5
  39. package/dist/cjs/components/utils.js +0 -38
  40. package/dist/cjs/entry-points/compiled.js +0 -33
  41. package/dist/es2019/components/blanket.js +0 -53
  42. package/dist/es2019/components/index.js +0 -129
  43. package/dist/es2019/components/primitives/content.js +0 -56
  44. package/dist/es2019/components/primitives/drawer-wrapper.js +0 -86
  45. package/dist/es2019/components/primitives/focus-lock.js +0 -49
  46. package/dist/es2019/components/primitives/index.js +0 -113
  47. package/dist/es2019/components/primitives/sidebar.js +0 -36
  48. package/dist/es2019/components/utils.js +0 -44
  49. package/dist/es2019/entry-points/compiled.js +0 -4
  50. package/dist/esm/compiled/types.js +0 -1
  51. package/dist/esm/components/blanket.js +0 -54
  52. package/dist/esm/components/index.js +0 -138
  53. package/dist/esm/components/primitives/content.js +0 -64
  54. package/dist/esm/components/primitives/drawer-wrapper.js +0 -82
  55. package/dist/esm/components/primitives/focus-lock.js +0 -51
  56. package/dist/esm/components/primitives/index.js +0 -117
  57. package/dist/esm/components/primitives/sidebar.js +0 -39
  58. package/dist/esm/components/types.js +0 -1
  59. package/dist/esm/components/utils.js +0 -32
  60. package/dist/esm/entry-points/compiled.js +0 -4
  61. package/dist/types/components/blanket.d.ts +0 -16
  62. package/dist/types/components/index.d.ts +0 -13
  63. package/dist/types/components/primitives/content.d.ts +0 -11
  64. package/dist/types/components/primitives/drawer-wrapper.d.ts +0 -26
  65. package/dist/types/components/primitives/focus-lock.d.ts +0 -10
  66. package/dist/types/components/primitives/index.d.ts +0 -4
  67. package/dist/types/components/primitives/sidebar.d.ts +0 -12
  68. package/dist/types/components/types.d.ts +0 -172
  69. package/dist/types/components/utils.d.ts +0 -7
  70. package/dist/types/entry-points/compiled.d.ts +0 -5
  71. package/dist/types-ts4.5/components/blanket.d.ts +0 -16
  72. package/dist/types-ts4.5/components/index.d.ts +0 -13
  73. package/dist/types-ts4.5/components/primitives/content.d.ts +0 -11
  74. package/dist/types-ts4.5/components/primitives/drawer-wrapper.d.ts +0 -29
  75. package/dist/types-ts4.5/components/primitives/focus-lock.d.ts +0 -10
  76. package/dist/types-ts4.5/components/primitives/index.d.ts +0 -4
  77. package/dist/types-ts4.5/components/primitives/sidebar.d.ts +0 -12
  78. package/dist/types-ts4.5/components/types.d.ts +0 -172
  79. package/dist/types-ts4.5/components/utils.d.ts +0 -7
  80. package/dist/types-ts4.5/entry-points/compiled.d.ts +0 -5
  81. /package/dist/cjs/{compiled/blanket.compiled.css → blanket.compiled.css} +0 -0
  82. /package/dist/cjs/{compiled/blanket.js → blanket.js} +0 -0
  83. /package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-content.compiled.css +0 -0
  84. /package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-panel.compiled.css +0 -0
  85. /package/dist/cjs/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.compiled.css +0 -0
  86. /package/dist/cjs/{compiled/drawer-panel → drawer-panel}/focus-lock.js +0 -0
  87. /package/dist/cjs/{hooks → drawer-panel/hooks}/use-prevent-programmatic-scroll.js +0 -0
  88. /package/dist/cjs/{compiled/types.js → types.js} +0 -0
  89. /package/dist/es2019/{compiled/blanket.compiled.css → blanket.compiled.css} +0 -0
  90. /package/dist/es2019/{compiled/blanket.js → blanket.js} +0 -0
  91. /package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-content.compiled.css +0 -0
  92. /package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-panel.compiled.css +0 -0
  93. /package/dist/es2019/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.compiled.css +0 -0
  94. /package/dist/es2019/{compiled/drawer-panel → drawer-panel}/focus-lock.js +0 -0
  95. /package/dist/es2019/{hooks → drawer-panel/hooks}/use-prevent-programmatic-scroll.js +0 -0
  96. /package/dist/es2019/{compiled/types.js → types.js} +0 -0
  97. /package/dist/esm/{compiled/blanket.compiled.css → blanket.compiled.css} +0 -0
  98. /package/dist/esm/{compiled/blanket.js → blanket.js} +0 -0
  99. /package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-content.compiled.css +0 -0
  100. /package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-panel.compiled.css +0 -0
  101. /package/dist/esm/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.compiled.css +0 -0
  102. /package/dist/esm/{compiled/drawer-panel → drawer-panel}/focus-lock.js +0 -0
  103. /package/dist/esm/{hooks → drawer-panel/hooks}/use-prevent-programmatic-scroll.js +0 -0
  104. /package/dist/{es2019/components → esm}/types.js +0 -0
  105. /package/dist/types/{compiled/blanket.d.ts → blanket.d.ts} +0 -0
  106. /package/dist/types/{compiled/drawer-panel → drawer-panel}/drawer-close-button.d.ts +0 -0
  107. /package/dist/types/{compiled/drawer-panel → drawer-panel}/drawer-content.d.ts +0 -0
  108. /package/dist/types/{compiled/drawer-panel → drawer-panel}/drawer-panel.d.ts +0 -0
  109. /package/dist/types/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.d.ts +0 -0
  110. /package/dist/types/{compiled/drawer-panel → drawer-panel}/focus-lock.d.ts +0 -0
  111. /package/dist/types/{hooks → drawer-panel/hooks}/use-prevent-programmatic-scroll.d.ts +0 -0
  112. /package/dist/types/{compiled/drawer.d.ts → drawer.d.ts} +0 -0
  113. /package/dist/types-ts4.5/{compiled/blanket.d.ts → blanket.d.ts} +0 -0
  114. /package/dist/types-ts4.5/{compiled/drawer-panel → drawer-panel}/drawer-close-button.d.ts +0 -0
  115. /package/dist/types-ts4.5/{compiled/drawer-panel → drawer-panel}/drawer-content.d.ts +0 -0
  116. /package/dist/types-ts4.5/{compiled/drawer-panel → drawer-panel}/drawer-panel.d.ts +0 -0
  117. /package/dist/types-ts4.5/{compiled/drawer-panel → drawer-panel}/drawer-sidebar.d.ts +0 -0
  118. /package/dist/types-ts4.5/{compiled/drawer-panel → drawer-panel}/focus-lock.d.ts +0 -0
  119. /package/dist/types-ts4.5/{hooks → drawer-panel/hooks}/use-prevent-programmatic-scroll.d.ts +0 -0
  120. /package/dist/types-ts4.5/{compiled/drawer.d.ts → drawer.d.ts} +0 -0
@@ -1,148 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _exenv = require("exenv");
11
- var _analyticsNext = require("@atlaskit/analytics-next");
12
- var _layering = require("@atlaskit/layering");
13
- var _portal = _interopRequireDefault(require("@atlaskit/portal"));
14
- var _blanket = _interopRequireDefault(require("./blanket"));
15
- var _primitives = _interopRequireDefault(require("./primitives"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
- /* eslint-disable @repo/internal/dom-events/no-unsafe-event-listeners */
18
-
19
- // escape close manager for layering
20
- var EscapeCloseManager = function EscapeCloseManager(_ref) {
21
- var onClose = _ref.onClose;
22
- // wrap so that we can cast the event to a React.KeyboardEvent
23
- var handleClose = (0, _react.useCallback)(function (evt) {
24
- onClose && onClose(evt);
25
- }, [onClose]);
26
- (0, _layering.useCloseOnEscapePress)({
27
- onClose: handleClose
28
- });
29
- return /*#__PURE__*/_react.default.createElement("span", null);
30
- };
31
-
32
- /**
33
- * __Drawer__
34
- *
35
- * A drawer is a panel that slides in from the left side of the screen.
36
- *
37
- * - [Examples](https://atlassian.design/components/drawer/examples)
38
- * - [Code](https://atlassian.design/components/drawer/code)
39
- * - [Usage](https://atlassian.design/components/drawer/usage)
40
- */
41
- var Drawer = function Drawer(_ref2) {
42
- var _ref2$width = _ref2.width,
43
- width = _ref2$width === void 0 ? 'narrow' : _ref2$width,
44
- isOpen = _ref2.isOpen,
45
- _ref2$isFocusLockEnab = _ref2.isFocusLockEnabled,
46
- isFocusLockEnabled = _ref2$isFocusLockEnab === void 0 ? true : _ref2$isFocusLockEnab,
47
- _ref2$shouldReturnFoc = _ref2.shouldReturnFocus,
48
- shouldReturnFocus = _ref2$shouldReturnFoc === void 0 ? true : _ref2$shouldReturnFoc,
49
- _ref2$autoFocusFirstE = _ref2.autoFocusFirstElem,
50
- autoFocusFirstElem = _ref2$autoFocusFirstE === void 0 ? true : _ref2$autoFocusFirstE,
51
- onKeyDown = _ref2.onKeyDown,
52
- onClose = _ref2.onClose,
53
- testId = _ref2.testId,
54
- children = _ref2.children,
55
- icon = _ref2.icon,
56
- closeLabel = _ref2.closeLabel,
57
- scrollContentLabel = _ref2.scrollContentLabel,
58
- onCloseComplete = _ref2.onCloseComplete,
59
- onOpenComplete = _ref2.onOpenComplete,
60
- overrides = _ref2.overrides,
61
- _ref2$zIndex = _ref2.zIndex,
62
- zIndex = _ref2$zIndex === void 0 ? 'unset' : _ref2$zIndex,
63
- label = _ref2.label,
64
- titleId = _ref2.titleId,
65
- enterFrom = _ref2.enterFrom;
66
- var body = _exenv.canUseDOM ? document.querySelector('body') : undefined;
67
- var handleClose = (0, _analyticsNext.usePlatformLeafEventHandler)({
68
- fn: function fn(evt, analyticsEvent) {
69
- return onClose && onClose(evt, analyticsEvent);
70
- },
71
- action: 'dismissed',
72
- componentName: 'drawer',
73
- packageName: "@atlaskit/drawer",
74
- packageVersion: "10.1.5",
75
- analyticsData: {
76
- trigger: 'escKey'
77
- }
78
- });
79
- var handleKeyDown = (0, _react.useCallback)(function (evt) {
80
- onKeyDown && onKeyDown(evt);
81
- }, [onKeyDown]);
82
- (0, _react.useEffect)(function () {
83
- if (isOpen) {
84
- window.addEventListener('keydown', handleKeyDown);
85
- }
86
- return function () {
87
- window.removeEventListener('keydown', handleKeyDown);
88
- };
89
- }, [handleKeyDown, isOpen]);
90
- var handleBlanketClick = (0, _analyticsNext.usePlatformLeafEventHandler)({
91
- fn: function fn(evt, analyticsEvent) {
92
- return onClose && onClose(evt, analyticsEvent);
93
- },
94
- action: 'dismissed',
95
- componentName: 'drawer',
96
- packageName: "@atlaskit/drawer",
97
- packageVersion: "10.1.5",
98
- analyticsData: {
99
- trigger: 'blanket'
100
- }
101
- });
102
- var handleBackButtonClick = (0, _analyticsNext.usePlatformLeafEventHandler)({
103
- fn: function fn(evt, analyticsEvent) {
104
- return onClose && onClose(evt, analyticsEvent);
105
- },
106
- action: 'dismissed',
107
- componentName: 'drawer',
108
- packageName: "@atlaskit/drawer",
109
- packageVersion: "10.1.5",
110
- analyticsData: {
111
- trigger: 'backButton'
112
- }
113
- });
114
- if (!body) {
115
- return null;
116
- }
117
- return /*#__PURE__*/_react.default.createElement(_portal.default, {
118
- zIndex: zIndex
119
- }, /*#__PURE__*/_react.default.createElement(_blanket.default, {
120
- isOpen: isOpen,
121
- onBlanketClicked: handleBlanketClick,
122
- testId: testId && "".concat(testId, "--blanket")
123
- }), /*#__PURE__*/_react.default.createElement(_primitives.default, {
124
- testId: testId,
125
- icon: icon,
126
- closeLabel: closeLabel,
127
- in: isOpen,
128
- onClose: handleBackButtonClick,
129
- onCloseComplete: onCloseComplete,
130
- onOpenComplete: onOpenComplete,
131
- width: width,
132
- enterFrom: enterFrom,
133
- label: label,
134
- titleId: titleId
135
- // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
136
- ,
137
- overrides: overrides,
138
- autoFocusFirstElem: autoFocusFirstElem,
139
- isFocusLockEnabled: isFocusLockEnabled,
140
- shouldReturnFocus: shouldReturnFocus,
141
- scrollContentLabel: scrollContentLabel
142
- }, isOpen ? /*#__PURE__*/_react.default.createElement(_layering.Layering, {
143
- isDisabled: false
144
- }, children, /*#__PURE__*/_react.default.createElement(EscapeCloseManager, {
145
- onClose: handleClose
146
- })) : children));
147
- };
148
- var _default = exports.default = Drawer;
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = require("react");
12
- var _react2 = require("@emotion/react");
13
- var _excluded = ["cssFn", "scrollContentLabel"];
14
- /**
15
- * @jsxRuntime classic
16
- * @jsx jsx
17
- */
18
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
19
- var defaultStyles = {
20
- flex: 1,
21
- overflow: 'auto',
22
- marginTop: "var(--ds-space-300, 24px)"
23
- };
24
- var contentCSS = function contentCSS() {
25
- return defaultStyles;
26
- };
27
- var Content = function Content(_ref) {
28
- var cssFn = _ref.cssFn,
29
- _ref$scrollContentLab = _ref.scrollContentLabel,
30
- scrollContentLabel = _ref$scrollContentLab === void 0 ? 'Scrollable content' : _ref$scrollContentLab,
31
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
32
- var _useState = (0, _react.useState)(false),
33
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
- showContentFocus = _useState2[0],
35
- setContentFocus = _useState2[1];
36
- var scrollableRef = (0, _react.useRef)(null);
37
- (0, _react.useEffect)(function () {
38
- var setLazyContentFocus = function setLazyContentFocus() {
39
- var target = scrollableRef.current;
40
- target && setContentFocus(target.scrollHeight > target.clientHeight);
41
- };
42
- setLazyContentFocus();
43
- }, []);
44
-
45
- /**
46
- * I noticed the implementation at @atlaskit/checkbox would send the props to cssFn rather
47
- * than the defaultStyles as the overrides guide suggests. I went with what the overrides
48
- * guide suggested as it made more sense as a transformer of the current styles rather than
49
- * a complete override with no chance of partially changing styles.
50
- */
51
- return (0, _react2.jsx)("div", (0, _extends2.default)({
52
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
53
- css: (0, _react2.css)(cssFn(defaultStyles)),
54
- ref: scrollableRef
55
- // tabindex is allowed here so that keyboard users can scroll content
56
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
57
- ,
58
- tabIndex: showContentFocus ? 0 : undefined,
59
- role: showContentFocus ? 'region' : undefined,
60
- "aria-label": showContentFocus ? scrollContentLabel : undefined,
61
- "data-testid": "drawer-contents"
62
- // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
63
- }, props));
64
- };
65
- var contentDefaults = {
66
- component: Content,
67
- cssFn: contentCSS
68
- };
69
- var _default = exports.default = contentDefaults;
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.wrapperWidth = exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = require("react");
10
- var _react2 = require("@emotion/react");
11
- var _useCallbackRef = require("use-callback-ref");
12
- var _colors = require("@atlaskit/theme/colors");
13
- var _tokens = require("@atlaskit/tokens");
14
- var _usePreventProgrammaticScroll = _interopRequireDefault(require("../../hooks/use-prevent-programmatic-scroll"));
15
- /**
16
- * @jsxRuntime classic
17
- * @jsx jsx
18
- */
19
-
20
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
21
-
22
- var wrapperWidth = exports.wrapperWidth = {
23
- full: {
24
- width: '100vw'
25
- },
26
- extended: {
27
- width: '95vw'
28
- },
29
- narrow: {
30
- width: 360
31
- },
32
- medium: {
33
- width: 480
34
- },
35
- wide: {
36
- width: 600
37
- }
38
- };
39
- var wrapperStyles = (0, _react2.css)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
40
- display: 'flex',
41
- height: '100vh',
42
- position: 'fixed',
43
- zIndex: 500,
44
- backgroundColor: "var(--ds-surface-overlay, ".concat(_colors.N0, ")")
45
- }, _tokens.CURRENT_SURFACE_CSS_VAR, "var(--ds-surface-overlay, ".concat(_colors.N0, ")")), "fontFamily", "var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"), "insetBlockStart", 0), "insetInlineStart", 0), "overflow", 'hidden'));
46
- /**
47
- * A wrapper that controls the styling of the drawer with a few hacks with refs to get our Touch±Scroll locks working.
48
- */
49
- var DrawerWrapper = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, scrollRef) {
50
- var children = _ref.children,
51
- className = _ref.className,
52
- _ref$width = _ref.width,
53
- width = _ref$width === void 0 ? 'narrow' : _ref$width,
54
- testId = _ref.testId,
55
- drawerRef = _ref.drawerRef,
56
- label = _ref.label,
57
- titleId = _ref.titleId;
58
- /**
59
- * We use a callback ref to assign the `<Content />` component to the forwarded `scrollRef`.
60
- * This ref comes from `react-scrolllock` to allow touch scrolling, eg.: `<ScrollLock><TouchScrollable>{children}</TouchScrollable><ScrollLock>`
61
- *
62
- * This is because we do not control the `<Content />` component in order to forward a ref to it (given it can be overriden via `DrawerPrimitiveProps['overrides']['Content']['component']`).
63
- * Additionally, we target the last child because with `props.overrides.Sidebar.component = () => null` you only have one child.
64
- * If both `Sidebar.component` and `Content.component` return null you will have no children and this will throw an error, but that doesn't seem valid.
65
- */
66
- var assignSecondChildRef = (0, _react.useCallback)(function (node) {
67
- var _node$children;
68
- if (node !== null && node !== void 0 && (_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length && typeof scrollRef === 'function') {
69
- scrollRef(node.children[node.children.length - 1]);
70
- }
71
- }, [scrollRef]);
72
- var ref = (0, _useCallbackRef.useMergeRefs)([drawerRef, assignSecondChildRef]);
73
- (0, _usePreventProgrammaticScroll.default)();
74
- return (0, _react2.jsx)("div", {
75
- css: wrapperStyles
76
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
77
- ,
78
- style: wrapperWidth[width]
79
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
80
- ,
81
- className: className,
82
- "data-testid": testId,
83
- ref: ref,
84
- "aria-modal": true,
85
- role: "dialog",
86
- "aria-label": label,
87
- "aria-labelledby": titleId
88
- }, children);
89
- });
90
- var _default = exports.default = DrawerWrapper;
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactFocusLock = _interopRequireDefault(require("react-focus-lock"));
11
- var _reactScrolllock = _interopRequireDefault(require("react-scrolllock"));
12
- var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
13
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
- /**
15
- * __Focus lock__
16
- *
17
- * Thin wrapper over react-focus-lock. This wrapper only exists to ensure API compatibility.
18
- * This component should be deleted during https://ecosystem.atlassian.net/browse/AK-5658
19
- */
20
- var FocusLock = function FocusLock(_ref) {
21
- var _ref$isFocusLockEnabl = _ref.isFocusLockEnabled,
22
- isFocusLockEnabled = _ref$isFocusLockEnabl === void 0 ? true : _ref$isFocusLockEnabl,
23
- _ref$autoFocusFirstEl = _ref.autoFocusFirstElem,
24
- autoFocusFirstElem = _ref$autoFocusFirstEl === void 0 ? true : _ref$autoFocusFirstEl,
25
- _ref$shouldReturnFocu = _ref.shouldReturnFocus,
26
- shouldReturnFocus = _ref$shouldReturnFocu === void 0 ? true : _ref$shouldReturnFocu,
27
- children = _ref.children;
28
- (0, _react.useEffect)(function () {
29
- if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' && !process.env.CI) {
30
- (0, _tinyInvariant.default)(typeof autoFocusFirstElem === 'boolean', '@atlaskit/drawer: Passing a function as autoFocus is deprecated. Instead call focus on the element ref or use the autofocus property.');
31
- }
32
- if (typeof autoFocusFirstElem === 'function' && isFocusLockEnabled) {
33
- var elem = autoFocusFirstElem();
34
- if (elem && elem.focus) {
35
- elem.focus();
36
- }
37
- }
38
- }, [autoFocusFirstElem, isFocusLockEnabled]);
39
- var getFocusTarget = function getFocusTarget() {
40
- if (typeof shouldReturnFocus === 'boolean') {
41
- return shouldReturnFocus;
42
- }
43
- return false;
44
- };
45
- var onDeactivation = function onDeactivation() {
46
- if (typeof shouldReturnFocus !== 'boolean') {
47
- window.setTimeout(function () {
48
- var _shouldReturnFocus$cu;
49
- shouldReturnFocus === null || shouldReturnFocus === void 0 || (_shouldReturnFocus$cu = shouldReturnFocus.current) === null || _shouldReturnFocus$cu === void 0 || _shouldReturnFocus$cu.focus();
50
- }, 0);
51
- }
52
- };
53
- return /*#__PURE__*/_react.default.createElement(_reactFocusLock.default, {
54
- disabled: !isFocusLockEnabled,
55
- autoFocus: !!autoFocusFirstElem,
56
- returnFocus: getFocusTarget(),
57
- onDeactivation: onDeactivation
58
- }, /*#__PURE__*/_react.default.createElement(_reactScrolllock.default, null, children));
59
- };
60
- var _default = exports.default = FocusLock;
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _new = require("@atlaskit/button/new");
13
- var _arrowLeft = _interopRequireDefault(require("@atlaskit/icon/core/migration/arrow-left"));
14
- var _motion = require("@atlaskit/motion");
15
- var _utils = require("../utils");
16
- var _content = _interopRequireDefault(require("./content"));
17
- var _drawerWrapper = _interopRequireDefault(require("./drawer-wrapper"));
18
- var _focusLock = _interopRequireDefault(require("./focus-lock"));
19
- var _sidebar = _interopRequireDefault(require("./sidebar"));
20
- var _excluded = ["component"],
21
- _excluded2 = ["component"];
22
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
- // Misc.
24
- // ------------------------------
25
-
26
- var defaults = {
27
- Sidebar: _sidebar.default,
28
- Content: _content.default
29
- };
30
-
31
- /**
32
- * This wrapper is used to specify separate durations for enter and exit.
33
- */
34
- var CustomSlideIn = function CustomSlideIn(_ref) {
35
- var children = _ref.children,
36
- onFinish = _ref.onFinish,
37
- enterFrom = _ref.enterFrom;
38
- return /*#__PURE__*/_react.default.createElement(_motion.SlideIn, {
39
- animationTimingFunction: "ease-out",
40
- duration: "small",
41
- enterFrom: enterFrom,
42
- exitTo: enterFrom,
43
- fade: "none",
44
- onFinish: onFinish
45
- }, children);
46
- };
47
- var DrawerPrimitive = function DrawerPrimitive(_ref2) {
48
- var children = _ref2.children,
49
- Icon = _ref2.icon,
50
- _ref2$closeLabel = _ref2.closeLabel,
51
- closeLabel = _ref2$closeLabel === void 0 ? 'Close drawer' : _ref2$closeLabel,
52
- scrollContentLabel = _ref2.scrollContentLabel,
53
- onClose = _ref2.onClose,
54
- onCloseComplete = _ref2.onCloseComplete,
55
- onOpenComplete = _ref2.onOpenComplete,
56
- overrides = _ref2.overrides,
57
- testId = _ref2.testId,
58
- isOpen = _ref2.in,
59
- shouldReturnFocus = _ref2.shouldReturnFocus,
60
- autoFocusFirstElem = _ref2.autoFocusFirstElem,
61
- isFocusLockEnabled = _ref2.isFocusLockEnabled,
62
- width = _ref2.width,
63
- label = _ref2.label,
64
- titleId = _ref2.titleId,
65
- _ref2$enterFrom = _ref2.enterFrom,
66
- enterFrom = _ref2$enterFrom === void 0 ? 'left' : _ref2$enterFrom;
67
- var getOverrides = (0, _utils.createExtender)(defaults, overrides);
68
- var _getOverrides = getOverrides('Sidebar'),
69
- Sidebar = _getOverrides.component,
70
- sideBarOverrides = (0, _objectWithoutProperties2.default)(_getOverrides, _excluded);
71
- var _getOverrides2 = getOverrides('Content'),
72
- Content = _getOverrides2.component,
73
- contentOverrides = (0, _objectWithoutProperties2.default)(_getOverrides2, _excluded2);
74
-
75
- /**
76
- * A ref to point to our wrapper, passed to `onCloseComplete` and `onOpenComplete` callbacks.
77
- */
78
- var drawerRef = (0, _react.useRef)(null);
79
- var onFinish = (0, _react.useCallback)(function (state) {
80
- if (state === 'entering') {
81
- onOpenComplete === null || onOpenComplete === void 0 || onOpenComplete(drawerRef.current);
82
- } else if (state === 'exiting') {
83
- onCloseComplete === null || onCloseComplete === void 0 || onCloseComplete(drawerRef.current);
84
- }
85
- }, [onCloseComplete, onOpenComplete]);
86
- return /*#__PURE__*/_react.default.createElement(_motion.ExitingPersistence, {
87
- appear: true
88
- }, isOpen && /*#__PURE__*/_react.default.createElement(CustomSlideIn, {
89
- onFinish: onFinish,
90
- enterFrom: enterFrom
91
- }, function (_ref3) {
92
- var className = _ref3.className;
93
- return /*#__PURE__*/_react.default.createElement(_focusLock.default, {
94
- autoFocusFirstElem: autoFocusFirstElem,
95
- isFocusLockEnabled: isFocusLockEnabled,
96
- shouldReturnFocus: shouldReturnFocus
97
- }, /*#__PURE__*/_react.default.createElement(_drawerWrapper.default
98
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
99
- , {
100
- className: className,
101
- width: width,
102
- testId: testId,
103
- drawerRef: drawerRef,
104
- label: label,
105
- titleId: titleId
106
- }, /*#__PURE__*/_react.default.createElement(Sidebar, sideBarOverrides, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
107
- onClick: onClose,
108
- testId: testId && 'DrawerPrimitiveSidebarCloseButton',
109
- icon: Icon ? function (iconProps) {
110
- return /*#__PURE__*/_react.default.createElement(Icon, (0, _extends2.default)({}, iconProps, {
111
- size: "large",
112
- LEGACY_size: "large"
113
- }));
114
- } : _arrowLeft.default,
115
- label: closeLabel,
116
- shape: "circle",
117
- appearance: "subtle"
118
- })), /*#__PURE__*/_react.default.createElement(Content, (0, _extends2.default)({
119
- scrollContentLabel: scrollContentLabel
120
- }, contentOverrides), children)));
121
- }));
122
- };
123
-
124
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
125
- var _default = exports.default = DrawerPrimitive;
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = require("@emotion/react");
11
- var _colors = require("@atlaskit/theme/colors");
12
- var _excluded = ["cssFn"];
13
- /**
14
- * @jsxRuntime classic
15
- * @jsx jsx
16
- */
17
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
18
- var defaultStyle = {
19
- alignItems: 'center',
20
- boxSizing: 'border-box',
21
- color: "var(--ds-text-subtle, ".concat(_colors.N500, ")"),
22
- display: 'flex',
23
- flexShrink: 0,
24
- flexDirection: 'column',
25
- height: '100vh',
26
- paddingBottom: "var(--ds-space-200, 16px)",
27
- paddingTop: "var(--ds-space-300, 24px)",
28
- width: "var(--ds-space-800, 64px)"
29
- };
30
- var sidebarCSS = function sidebarCSS() {
31
- return defaultStyle;
32
- };
33
- var Sidebar = function Sidebar(_ref) {
34
- var cssFn = _ref.cssFn,
35
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
36
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @repo/internal/react/no-unsafe-spread-props, @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
37
- return (0, _react.jsx)("div", (0, _extends2.default)({
38
- css: (0, _react.css)(cssFn(defaultStyle))
39
- }, props));
40
- };
41
- var sidebarDefaults = {
42
- component: Sidebar,
43
- cssFn: sidebarCSS
44
- };
45
- var _default = exports.default = sidebarDefaults;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createExtender = void 0;
7
- // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
8
-
9
- /**
10
- * @deprecated Please avoid using this function as we intend to remote it in a future release. See DSP-2673 for more information.
11
- */
12
- var createExtender = exports.createExtender = function createExtender(defaults) {
13
- var overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Object.create(Object.prototype);
14
- if (!defaults) {
15
- throw new Error('a default set of overrides *must* be passed in as the first argument');
16
- }
17
- return function getOverrides(key) {
18
- var _defaults$key = defaults[key],
19
- defaultCssFn = _defaults$key.cssFn,
20
- defaultComponent = _defaults$key.component;
21
- if (!overrides[key]) {
22
- return {
23
- cssFn: defaultCssFn,
24
- component: defaultComponent
25
- };
26
- }
27
- var _overrides$key = overrides[key],
28
- customCssFn = _overrides$key.cssFn,
29
- customComponent = _overrides$key.component;
30
- var composedCssFn = function composedCssFn(state) {
31
- return customCssFn(defaultCssFn(state), state);
32
- };
33
- return {
34
- cssFn: customCssFn ? composedCssFn : defaultCssFn,
35
- component: customComponent || defaultComponent
36
- };
37
- };
38
- };
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Drawer", {
7
- enumerable: true,
8
- get: function get() {
9
- return _drawer.Drawer;
10
- }
11
- });
12
- Object.defineProperty(exports, "DrawerCloseButton", {
13
- enumerable: true,
14
- get: function get() {
15
- return _drawerCloseButton.DrawerCloseButton;
16
- }
17
- });
18
- Object.defineProperty(exports, "DrawerContent", {
19
- enumerable: true,
20
- get: function get() {
21
- return _drawerContent.DrawerContent;
22
- }
23
- });
24
- Object.defineProperty(exports, "DrawerSidebar", {
25
- enumerable: true,
26
- get: function get() {
27
- return _drawerSidebar.DrawerSidebar;
28
- }
29
- });
30
- var _drawer = require("../compiled/drawer");
31
- var _drawerContent = require("../compiled/drawer-panel/drawer-content");
32
- var _drawerSidebar = require("../compiled/drawer-panel/drawer-sidebar");
33
- var _drawerCloseButton = require("../compiled/drawer-panel/drawer-close-button");
@@ -1,53 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React from 'react';
6
-
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
- import { css, jsx } from '@emotion/react';
9
- import AkBlanket from '@atlaskit/blanket';
10
- import { ExitingPersistence, FadeIn } from '@atlaskit/motion';
11
- const blanketStyles = css({
12
- position: 'relative'
13
- });
14
-
15
- /**
16
- * A wrapper around `@atlaskit/blanket` that adds a fade in/out transition.
17
- */
18
- const Blanket = ({
19
- isOpen,
20
- onBlanketClicked,
21
- testId
22
- }) => {
23
- return jsx(ExitingPersistence, {
24
- appear: true
25
- }, isOpen && jsx(FadeIn
26
- /**
27
- * We double the duration because the fade in keyframes have
28
- * `opacity: 1` at `50%`.
29
- *
30
- * The fade out animation uses half the passed duration so it evens out.
31
- */, {
32
- duration: "large"
33
- /**
34
- * We don't expose this on `FadeIn` but it does get passed down.
35
- * TODO: figure out how we want to handle this...
36
- */
37
- // @ts-ignore
38
- ,
39
- animationTimingFunction: "ease-out"
40
- }, ({
41
- className
42
- }) =>
43
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
44
- jsx("div", {
45
- css: blanketStyles,
46
- className: className
47
- }, jsx(AkBlanket, {
48
- isTinted: true,
49
- onBlanketClicked: onBlanketClicked,
50
- testId: testId && testId
51
- }))));
52
- };
53
- export default Blanket;