@atlaskit/page-layout 1.7.9 → 1.7.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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/components/resize-control/grab-area.js +1 -0
- package/dist/cjs/components/resize-control/index.js +1 -1
- package/dist/cjs/components/resize-control/resize-button.js +1 -1
- package/dist/cjs/components/slots/internal/left-sidebar-inner.js +2 -2
- package/dist/cjs/components/slots/internal/left-sidebar-outer.js +4 -5
- package/dist/cjs/components/slots/internal/resizable-children-wrapper.js +5 -2
- package/dist/cjs/components/slots/left-sidebar.js +14 -5
- package/dist/cjs/components/slots/page-layout.js +1 -1
- package/dist/cjs/components/slots/slot-dimensions.js +1 -1
- package/dist/cjs/controllers/sidebar-resize-controller.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/resize-control/grab-area.js +1 -0
- package/dist/es2019/components/resize-control/index.js +1 -1
- package/dist/es2019/components/resize-control/resize-button.js +1 -1
- package/dist/es2019/components/slots/internal/left-sidebar-inner.js +2 -2
- package/dist/es2019/components/slots/internal/left-sidebar-outer.js +4 -5
- package/dist/es2019/components/slots/internal/resizable-children-wrapper.js +5 -2
- package/dist/es2019/components/slots/left-sidebar.js +14 -5
- package/dist/es2019/components/slots/page-layout.js +1 -1
- package/dist/es2019/components/slots/slot-dimensions.js +1 -1
- package/dist/es2019/controllers/sidebar-resize-controller.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/resize-control/grab-area.js +1 -0
- package/dist/esm/components/resize-control/index.js +1 -1
- package/dist/esm/components/resize-control/resize-button.js +1 -1
- package/dist/esm/components/slots/internal/left-sidebar-inner.js +2 -2
- package/dist/esm/components/slots/internal/left-sidebar-outer.js +4 -5
- package/dist/esm/components/slots/internal/resizable-children-wrapper.js +5 -2
- package/dist/esm/components/slots/left-sidebar.js +14 -5
- package/dist/esm/components/slots/page-layout.js +1 -1
- package/dist/esm/components/slots/slot-dimensions.js +1 -1
- package/dist/esm/controllers/sidebar-resize-controller.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/components/slots/internal/resizable-children-wrapper.d.ts +2 -1
- package/dist/types-ts4.5/components/slots/internal/resizable-children-wrapper.d.ts +2 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/page-layout
|
|
2
2
|
|
|
3
|
+
## 1.7.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`edb659b9f7b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/edb659b9f7b) - Reverts changes that added aria-hidden to key interactive navigational elements
|
|
8
|
+
|
|
9
|
+
## 1.7.10
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`6263a07010c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6263a07010c) - Still behind a feature flag, reduces the breakpoint at which the new mobile functionality for our left sidebar "flyout mode" in mobile is applied (reduced from ~1024px to ~768px).
|
|
14
|
+
|
|
3
15
|
## 1.7.9
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -67,6 +67,7 @@ var GrabArea = function GrabArea(_ref) {
|
|
|
67
67
|
"aria-label": label,
|
|
68
68
|
"data-testid": testId,
|
|
69
69
|
disabled: isDisabled,
|
|
70
|
+
"aria-hidden": isLeftSidebarCollapsed,
|
|
70
71
|
type: "button"
|
|
71
72
|
// The separator role is applied to a button to utilize the native
|
|
72
73
|
// interactive and disabled functionality on the resize separator. While a
|
|
@@ -87,7 +87,7 @@ var ResizeControl = function ResizeControl(_ref) {
|
|
|
87
87
|
var unbindEvents = (0, _react.useRef)(null);
|
|
88
88
|
var mobileMediaQuery = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
89
89
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
90
|
-
(0, _responsive.UNSAFE_useMediaQuery)('below.
|
|
90
|
+
(0, _responsive.UNSAFE_useMediaQuery)('below.sm') : null;
|
|
91
91
|
|
|
92
92
|
// Used in some cases to ensure function references don't have to change
|
|
93
93
|
// TODO: more functions could use `stableSidebarState` rather than `leftSidebarState`
|
|
@@ -27,7 +27,7 @@ var increaseHitAreaStyles = (0, _react.css)({
|
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
30
|
-
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
30
|
+
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
31
31
|
opacity: 1
|
|
32
32
|
})) : undefined;
|
|
33
33
|
var resizeIconButtonStyles = (0, _react.css)({
|
|
@@ -18,7 +18,7 @@ var _hooks = require("../../../common/hooks");
|
|
|
18
18
|
var prefersReducedMotionStyles = (0, _react.css)((0, _motion.prefersReducedMotion)());
|
|
19
19
|
|
|
20
20
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
21
|
-
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
21
|
+
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
22
22
|
width: "".concat(_constants.MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH, "px"),
|
|
23
23
|
position: 'fixed',
|
|
24
24
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
@@ -30,7 +30,7 @@ var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-syst
|
|
|
30
30
|
})) : undefined;
|
|
31
31
|
|
|
32
32
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
33
|
-
var mobileInnerFlyoutStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
33
|
+
var mobileInnerFlyoutStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
34
34
|
width: "min(90vw, ".concat(_constants.MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH, "px)"),
|
|
35
35
|
maxWidth: _constants.MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH,
|
|
36
36
|
transition: "width ".concat(_constants.TRANSITION_DURATION, "ms ").concat(_motion.easeOut, " 0s, box-shadow ").concat(_constants.TRANSITION_DURATION, "ms ").concat(_motion.easeOut, " 0s")
|
|
@@ -23,7 +23,7 @@ var _slotFocusRing = _interopRequireDefault(require("./slot-focus-ring"));
|
|
|
23
23
|
var prefersReducedMotionStyles = (0, _react2.css)((0, _motion.prefersReducedMotion)());
|
|
24
24
|
|
|
25
25
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
26
|
-
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
26
|
+
var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
27
27
|
width: _constants.MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH,
|
|
28
28
|
cursor: 'pointer',
|
|
29
29
|
opacity: 1,
|
|
@@ -36,7 +36,7 @@ var mobileStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-syst
|
|
|
36
36
|
})) : undefined;
|
|
37
37
|
|
|
38
38
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
39
|
-
var mobileFlyoutStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
39
|
+
var mobileFlyoutStyles = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
40
40
|
cursor: 'revert'
|
|
41
41
|
})) : undefined;
|
|
42
42
|
var outerStyles = (0, _react2.css)({
|
|
@@ -98,7 +98,7 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
|
|
|
98
98
|
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
99
99
|
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
100
100
|
*/
|
|
101
|
-
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
101
|
+
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
102
102
|
(0, _react2.jsx)("div", (0, _extends2.default)({
|
|
103
103
|
css: [
|
|
104
104
|
// mobile breakpoint styles
|
|
@@ -111,8 +111,7 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
|
|
|
111
111
|
onMouseOver: onMouseOver,
|
|
112
112
|
onMouseLeave: onMouseLeave,
|
|
113
113
|
onClick: onClick,
|
|
114
|
-
ref: ref
|
|
115
|
-
"aria-hidden": "true"
|
|
114
|
+
ref: ref
|
|
116
115
|
}, selector), children)
|
|
117
116
|
);
|
|
118
117
|
});
|
|
@@ -43,12 +43,15 @@ var ResizableChildrenWrapper = function ResizableChildrenWrapper(_ref) {
|
|
|
43
43
|
_ref$hasCollapsedStat = _ref.hasCollapsedState,
|
|
44
44
|
hasCollapsedState = _ref$hasCollapsedStat === void 0 ? false : _ref$hasCollapsedStat,
|
|
45
45
|
_ref$isFlyoutOpen = _ref.isFlyoutOpen,
|
|
46
|
-
isFlyoutOpen = _ref$isFlyoutOpen === void 0 ? false : _ref$isFlyoutOpen
|
|
46
|
+
isFlyoutOpen = _ref$isFlyoutOpen === void 0 ? false : _ref$isFlyoutOpen,
|
|
47
|
+
testId = _ref.testId;
|
|
47
48
|
var isCollapsing = (0, _hooks.useIsSidebarCollapsing)();
|
|
48
49
|
var isCollapsed = isLeftSidebarCollapsed || hasCollapsedState;
|
|
49
50
|
var isHidden = isCollapsing || isCollapsed && !isFlyoutOpen;
|
|
50
51
|
return (0, _react.jsx)("div", {
|
|
51
|
-
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles]
|
|
52
|
+
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles],
|
|
53
|
+
"aria-hidden": isHidden,
|
|
54
|
+
"data-testid": testId
|
|
52
55
|
}, (0, _react.jsx)("div", {
|
|
53
56
|
css: fixedChildrenWrapperStyles
|
|
54
57
|
}, children));
|
|
@@ -229,7 +229,7 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
229
229
|
};
|
|
230
230
|
var mobileMediaQuery = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
231
231
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
232
|
-
(0, _responsive.UNSAFE_useMediaQuery)('below.
|
|
232
|
+
(0, _responsive.UNSAFE_useMediaQuery)('below.sm') : null;
|
|
233
233
|
var openMobileFlyout = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
234
234
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
235
235
|
(0, _react.useCallback)(function () {
|
|
@@ -264,7 +264,7 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
264
264
|
}, [setLeftSidebarState, onCollapse, mobileMediaQuery]) : undefined;
|
|
265
265
|
if ((0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g')) {
|
|
266
266
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
267
|
-
(0, _responsive.UNSAFE_useMediaQuery)('below.
|
|
267
|
+
(0, _responsive.UNSAFE_useMediaQuery)('below.sm', function (event) {
|
|
268
268
|
setLeftSidebarState(function (current) {
|
|
269
269
|
if (event.matches && !current.isLeftSidebarCollapsed) {
|
|
270
270
|
// Sidebar was previously open when resizing downwards, convert the sidebar being open to a flyout being open
|
|
@@ -297,8 +297,16 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
297
297
|
isDisabled: !isFlyoutOpen
|
|
298
298
|
});
|
|
299
299
|
}
|
|
300
|
-
return (0, _react2.jsx)(_react.Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
301
|
-
|
|
300
|
+
return (0, _react2.jsx)(_react.Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
301
|
+
/**
|
|
302
|
+
* On desktop, the `onClick` handlers controls the temporary flyout behavior.
|
|
303
|
+
* This is an intentionally mouse-only experience, it may even be disruptive with keyboard navigation.
|
|
304
|
+
*
|
|
305
|
+
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
306
|
+
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
307
|
+
*/
|
|
308
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
309
|
+
(0, _react2.jsx)("div", {
|
|
302
310
|
css: [hiddenBackdropStyles, isFlyoutOpen && openBackdropStyles],
|
|
303
311
|
onClick: closeMobileFlyout
|
|
304
312
|
}), (0, _react2.jsx)(_leftSidebarOuter.default, {
|
|
@@ -319,7 +327,8 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
319
327
|
}, (0, _react2.jsx)(_resizableChildrenWrapper.default, {
|
|
320
328
|
isFlyoutOpen: isFlyoutOpen,
|
|
321
329
|
isLeftSidebarCollapsed: isLeftSidebarCollapsed,
|
|
322
|
-
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed'
|
|
330
|
+
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed',
|
|
331
|
+
testId: testId && "".concat(testId, "-resize-children-wrapper")
|
|
323
332
|
}, children), (0, _react2.jsx)(_resizeControl.default, {
|
|
324
333
|
testId: testId,
|
|
325
334
|
resizeGrabAreaLabel: resizeGrabAreaLabel,
|
|
@@ -29,7 +29,7 @@ var gridStyles = (0, _react2.css)({
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
32
|
-
var gridStylesMobile = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.
|
|
32
|
+
var gridStylesMobile = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? (0, _react2.css)((0, _defineProperty2.default)({}, _responsive.UNSAFE_media.below.sm, {
|
|
33
33
|
gridTemplateAreas: gridTemplateAreasMobile,
|
|
34
34
|
gridTemplateColumns: "".concat(_constants.LEFT_PANEL_WIDTH, " minmax(0, 1fr)")
|
|
35
35
|
})) : undefined;
|
|
@@ -12,6 +12,6 @@ var _default = function _default(_ref) {
|
|
|
12
12
|
var variableName = _ref.variableName,
|
|
13
13
|
value = _ref.value,
|
|
14
14
|
mobileValue = _ref.mobileValue;
|
|
15
|
-
return /*#__PURE__*/_react.default.createElement("style", null, ":root{--".concat(variableName, ":").concat(value, "px;}"), (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && "".concat(_responsive.UNSAFE_media.below.
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement("style", null, ":root{--".concat(variableName, ":").concat(value, "px;}"), (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && "".concat(_responsive.UNSAFE_media.below.sm, " { :root{--").concat(variableName, ":").concat(mobileValue, "px;} }"));
|
|
16
16
|
};
|
|
17
17
|
exports.default = _default;
|
|
@@ -65,7 +65,7 @@ var SidebarResizeController = function SidebarResizeController(_ref) {
|
|
|
65
65
|
var transition = (0, _react.useRef)(null);
|
|
66
66
|
var mobileMediaQuery = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
67
67
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
68
|
-
(0, _responsive.UNSAFE_useMediaQuery)('below.
|
|
68
|
+
(0, _responsive.UNSAFE_useMediaQuery)('below.sm') : null;
|
|
69
69
|
var isOpen = mobileMediaQuery !== null && mobileMediaQuery !== void 0 && mobileMediaQuery.matches ? isFlyoutOpen : !isLeftSidebarCollapsed;
|
|
70
70
|
var expandLeftSidebar = (0, _react.useCallback)(function () {
|
|
71
71
|
var _transition$current2, _transition$current3;
|
package/dist/cjs/version.json
CHANGED
|
@@ -66,6 +66,7 @@ const GrabArea = ({
|
|
|
66
66
|
"aria-label": label,
|
|
67
67
|
"data-testid": testId,
|
|
68
68
|
disabled: isDisabled,
|
|
69
|
+
"aria-hidden": isLeftSidebarCollapsed,
|
|
69
70
|
type: "button"
|
|
70
71
|
// The separator role is applied to a button to utilize the native
|
|
71
72
|
// interactive and disabled functionality on the resize separator. While a
|
|
@@ -80,7 +80,7 @@ const ResizeControl = ({
|
|
|
80
80
|
const unbindEvents = useRef(null);
|
|
81
81
|
const mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
82
82
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
83
|
-
useMediaQuery('below.
|
|
83
|
+
useMediaQuery('below.sm') : null;
|
|
84
84
|
|
|
85
85
|
// Used in some cases to ensure function references don't have to change
|
|
86
86
|
// TODO: more functions could use `stableSidebarState` rather than `leftSidebarState`
|
|
@@ -20,7 +20,7 @@ const increaseHitAreaStyles = css({
|
|
|
20
20
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
21
21
|
const mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
22
22
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
23
|
-
[UNSAFE_media.below.
|
|
23
|
+
[UNSAFE_media.below.sm]: {
|
|
24
24
|
opacity: 1
|
|
25
25
|
}
|
|
26
26
|
}) : undefined;
|
|
@@ -12,7 +12,7 @@ const prefersReducedMotionStyles = css(prefersReducedMotion());
|
|
|
12
12
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
13
13
|
const mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
14
14
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
15
|
-
[UNSAFE_media.below.
|
|
15
|
+
[UNSAFE_media.below.sm]: {
|
|
16
16
|
width: `${MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH}px`,
|
|
17
17
|
position: 'fixed',
|
|
18
18
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
@@ -27,7 +27,7 @@ const mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-l
|
|
|
27
27
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
28
28
|
const mobileInnerFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
29
29
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
30
|
-
[UNSAFE_media.below.
|
|
30
|
+
[UNSAFE_media.below.sm]: {
|
|
31
31
|
width: `min(90vw, ${MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH}px)`,
|
|
32
32
|
maxWidth: MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH,
|
|
33
33
|
transition: `width ${TRANSITION_DURATION}ms ${easeOut} 0s, box-shadow ${TRANSITION_DURATION}ms ${easeOut} 0s`
|
|
@@ -16,7 +16,7 @@ const prefersReducedMotionStyles = css(prefersReducedMotion());
|
|
|
16
16
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
17
17
|
const mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
18
18
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
19
|
-
[UNSAFE_media.below.
|
|
19
|
+
[UNSAFE_media.below.sm]: {
|
|
20
20
|
width: MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH,
|
|
21
21
|
cursor: 'pointer',
|
|
22
22
|
opacity: 1,
|
|
@@ -32,7 +32,7 @@ const mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-l
|
|
|
32
32
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
33
33
|
const mobileFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
34
34
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
35
|
-
[UNSAFE_media.below.
|
|
35
|
+
[UNSAFE_media.below.sm]: {
|
|
36
36
|
cursor: 'revert'
|
|
37
37
|
}
|
|
38
38
|
}) : undefined;
|
|
@@ -99,7 +99,7 @@ const LeftSidebarOuter = ({
|
|
|
99
99
|
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
100
100
|
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
101
101
|
*/
|
|
102
|
-
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
102
|
+
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
103
103
|
jsx("div", _extends({
|
|
104
104
|
css: [
|
|
105
105
|
// mobile breakpoint styles
|
|
@@ -112,8 +112,7 @@ const LeftSidebarOuter = ({
|
|
|
112
112
|
onMouseOver: onMouseOver,
|
|
113
113
|
onMouseLeave: onMouseLeave,
|
|
114
114
|
onClick: onClick,
|
|
115
|
-
ref: ref
|
|
116
|
-
"aria-hidden": "true"
|
|
115
|
+
ref: ref
|
|
117
116
|
}, selector), children));
|
|
118
117
|
};
|
|
119
118
|
export default /*#__PURE__*/forwardRef(LeftSidebarOuter);
|
|
@@ -34,13 +34,16 @@ const ResizableChildrenWrapper = ({
|
|
|
34
34
|
children,
|
|
35
35
|
isLeftSidebarCollapsed = false,
|
|
36
36
|
hasCollapsedState = false,
|
|
37
|
-
isFlyoutOpen = false
|
|
37
|
+
isFlyoutOpen = false,
|
|
38
|
+
testId
|
|
38
39
|
}) => {
|
|
39
40
|
const isCollapsing = useIsSidebarCollapsing();
|
|
40
41
|
const isCollapsed = isLeftSidebarCollapsed || hasCollapsedState;
|
|
41
42
|
const isHidden = isCollapsing || isCollapsed && !isFlyoutOpen;
|
|
42
43
|
return jsx("div", {
|
|
43
|
-
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles]
|
|
44
|
+
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles],
|
|
45
|
+
"aria-hidden": isHidden,
|
|
46
|
+
"data-testid": testId
|
|
44
47
|
}, jsx("div", {
|
|
45
48
|
css: fixedChildrenWrapperStyles
|
|
46
49
|
}, children));
|
|
@@ -224,7 +224,7 @@ const LeftSidebar = props => {
|
|
|
224
224
|
};
|
|
225
225
|
const mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
226
226
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
227
|
-
useMediaQuery('below.
|
|
227
|
+
useMediaQuery('below.sm') : null;
|
|
228
228
|
const openMobileFlyout = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
229
229
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
230
230
|
useCallback(() => {
|
|
@@ -261,7 +261,7 @@ const LeftSidebar = props => {
|
|
|
261
261
|
}, [setLeftSidebarState, onCollapse, mobileMediaQuery]) : undefined;
|
|
262
262
|
if (getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g')) {
|
|
263
263
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
264
|
-
useMediaQuery('below.
|
|
264
|
+
useMediaQuery('below.sm', event => {
|
|
265
265
|
setLeftSidebarState(current => {
|
|
266
266
|
if (event.matches && !current.isLeftSidebarCollapsed) {
|
|
267
267
|
// Sidebar was previously open when resizing downwards, convert the sidebar being open to a flyout being open
|
|
@@ -296,8 +296,16 @@ const LeftSidebar = props => {
|
|
|
296
296
|
isDisabled: !isFlyoutOpen
|
|
297
297
|
});
|
|
298
298
|
}
|
|
299
|
-
return jsx(Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
300
|
-
|
|
299
|
+
return jsx(Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
300
|
+
/**
|
|
301
|
+
* On desktop, the `onClick` handlers controls the temporary flyout behavior.
|
|
302
|
+
* This is an intentionally mouse-only experience, it may even be disruptive with keyboard navigation.
|
|
303
|
+
*
|
|
304
|
+
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
305
|
+
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
306
|
+
*/
|
|
307
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
308
|
+
jsx("div", {
|
|
301
309
|
css: [hiddenBackdropStyles, isFlyoutOpen && openBackdropStyles],
|
|
302
310
|
onClick: closeMobileFlyout
|
|
303
311
|
}), jsx(LeftSidebarOuter, {
|
|
@@ -318,7 +326,8 @@ const LeftSidebar = props => {
|
|
|
318
326
|
}, jsx(ResizableChildrenWrapper, {
|
|
319
327
|
isFlyoutOpen: isFlyoutOpen,
|
|
320
328
|
isLeftSidebarCollapsed: isLeftSidebarCollapsed,
|
|
321
|
-
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed'
|
|
329
|
+
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed',
|
|
330
|
+
testId: testId && `${testId}-resize-children-wrapper`
|
|
322
331
|
}, children), jsx(ResizeControl, {
|
|
323
332
|
testId: testId,
|
|
324
333
|
resizeGrabAreaLabel: resizeGrabAreaLabel,
|
|
@@ -32,7 +32,7 @@ const gridStyles = css({
|
|
|
32
32
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
33
33
|
const gridStylesMobile = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css({
|
|
34
34
|
// eslint-disable-next-line @atlaskit/design-system/no-nested-styles
|
|
35
|
-
[UNSAFE_media.below.
|
|
35
|
+
[UNSAFE_media.below.sm]: {
|
|
36
36
|
gridTemplateAreas: gridTemplateAreasMobile,
|
|
37
37
|
gridTemplateColumns: `${LEFT_PANEL_WIDTH} minmax(0, 1fr)`
|
|
38
38
|
}
|
|
@@ -5,4 +5,4 @@ export default (({
|
|
|
5
5
|
variableName,
|
|
6
6
|
value,
|
|
7
7
|
mobileValue
|
|
8
|
-
}) => /*#__PURE__*/React.createElement("style", null, `:root{--${variableName}:${value}px;}`, getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && `${UNSAFE_media.below.
|
|
8
|
+
}) => /*#__PURE__*/React.createElement("style", null, `:root{--${variableName}:${value}px;}`, getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && `${UNSAFE_media.below.sm} { :root{--${variableName}:${mobileValue}px;} }`));
|
|
@@ -52,7 +52,7 @@ export const SidebarResizeController = ({
|
|
|
52
52
|
const transition = useRef(null);
|
|
53
53
|
const mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
54
54
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
55
|
-
useMediaQuery('below.
|
|
55
|
+
useMediaQuery('below.sm') : null;
|
|
56
56
|
const isOpen = mobileMediaQuery !== null && mobileMediaQuery !== void 0 && mobileMediaQuery.matches ? isFlyoutOpen : !isLeftSidebarCollapsed;
|
|
57
57
|
const expandLeftSidebar = useCallback(() => {
|
|
58
58
|
var _transition$current2, _transition$current3;
|
package/dist/es2019/version.json
CHANGED
|
@@ -61,6 +61,7 @@ var GrabArea = function GrabArea(_ref) {
|
|
|
61
61
|
"aria-label": label,
|
|
62
62
|
"data-testid": testId,
|
|
63
63
|
disabled: isDisabled,
|
|
64
|
+
"aria-hidden": isLeftSidebarCollapsed,
|
|
64
65
|
type: "button"
|
|
65
66
|
// The separator role is applied to a button to utilize the native
|
|
66
67
|
// interactive and disabled functionality on the resize separator. While a
|
|
@@ -83,7 +83,7 @@ var ResizeControl = function ResizeControl(_ref) {
|
|
|
83
83
|
var unbindEvents = useRef(null);
|
|
84
84
|
var mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
85
85
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
86
|
-
useMediaQuery('below.
|
|
86
|
+
useMediaQuery('below.sm') : null;
|
|
87
87
|
|
|
88
88
|
// Used in some cases to ensure function references don't have to change
|
|
89
89
|
// TODO: more functions could use `stableSidebarState` rather than `leftSidebarState`
|
|
@@ -21,7 +21,7 @@ var increaseHitAreaStyles = css({
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
24
|
-
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
24
|
+
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
25
25
|
opacity: 1
|
|
26
26
|
})) : undefined;
|
|
27
27
|
var resizeIconButtonStyles = css({
|
|
@@ -11,7 +11,7 @@ import { useIsSidebarDragging } from '../../../common/hooks';
|
|
|
11
11
|
var prefersReducedMotionStyles = css(prefersReducedMotion());
|
|
12
12
|
|
|
13
13
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
14
|
-
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
14
|
+
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
15
15
|
width: "".concat(MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH, "px"),
|
|
16
16
|
position: 'fixed',
|
|
17
17
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
@@ -23,7 +23,7 @@ var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-lay
|
|
|
23
23
|
})) : undefined;
|
|
24
24
|
|
|
25
25
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
26
|
-
var mobileInnerFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
26
|
+
var mobileInnerFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
27
27
|
width: "min(90vw, ".concat(MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH, "px)"),
|
|
28
28
|
maxWidth: MAX_MOBILE_SIDEBAR_FLYOUT_WIDTH,
|
|
29
29
|
transition: "width ".concat(TRANSITION_DURATION, "ms ").concat(easeOut, " 0s, box-shadow ").concat(TRANSITION_DURATION, "ms ").concat(easeOut, " 0s")
|
|
@@ -15,7 +15,7 @@ import SlotFocusRing from './slot-focus-ring';
|
|
|
15
15
|
var prefersReducedMotionStyles = css(prefersReducedMotion());
|
|
16
16
|
|
|
17
17
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
18
|
-
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
18
|
+
var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
19
19
|
width: MOBILE_COLLAPSED_LEFT_SIDEBAR_WIDTH,
|
|
20
20
|
cursor: 'pointer',
|
|
21
21
|
opacity: 1,
|
|
@@ -28,7 +28,7 @@ var mobileStyles = getBooleanFF('platform.design-system-team.responsive-page-lay
|
|
|
28
28
|
})) : undefined;
|
|
29
29
|
|
|
30
30
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
31
|
-
var mobileFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
31
|
+
var mobileFlyoutStyles = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
32
32
|
cursor: 'revert'
|
|
33
33
|
})) : undefined;
|
|
34
34
|
var outerStyles = css({
|
|
@@ -90,7 +90,7 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
|
|
|
90
90
|
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
91
91
|
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
92
92
|
*/
|
|
93
|
-
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
93
|
+
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
94
94
|
jsx("div", _extends({
|
|
95
95
|
css: [
|
|
96
96
|
// mobile breakpoint styles
|
|
@@ -103,8 +103,7 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
|
|
|
103
103
|
onMouseOver: onMouseOver,
|
|
104
104
|
onMouseLeave: onMouseLeave,
|
|
105
105
|
onClick: onClick,
|
|
106
|
-
ref: ref
|
|
107
|
-
"aria-hidden": "true"
|
|
106
|
+
ref: ref
|
|
108
107
|
}, selector), children)
|
|
109
108
|
);
|
|
110
109
|
});
|
|
@@ -37,12 +37,15 @@ var ResizableChildrenWrapper = function ResizableChildrenWrapper(_ref) {
|
|
|
37
37
|
_ref$hasCollapsedStat = _ref.hasCollapsedState,
|
|
38
38
|
hasCollapsedState = _ref$hasCollapsedStat === void 0 ? false : _ref$hasCollapsedStat,
|
|
39
39
|
_ref$isFlyoutOpen = _ref.isFlyoutOpen,
|
|
40
|
-
isFlyoutOpen = _ref$isFlyoutOpen === void 0 ? false : _ref$isFlyoutOpen
|
|
40
|
+
isFlyoutOpen = _ref$isFlyoutOpen === void 0 ? false : _ref$isFlyoutOpen,
|
|
41
|
+
testId = _ref.testId;
|
|
41
42
|
var isCollapsing = useIsSidebarCollapsing();
|
|
42
43
|
var isCollapsed = isLeftSidebarCollapsed || hasCollapsedState;
|
|
43
44
|
var isHidden = isCollapsing || isCollapsed && !isFlyoutOpen;
|
|
44
45
|
return jsx("div", {
|
|
45
|
-
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles]
|
|
46
|
+
css: [resizableChildrenWrapperStyles, isHidden && hideLeftSidebarContentsStyles, prefersReducedMotionStyles],
|
|
47
|
+
"aria-hidden": isHidden,
|
|
48
|
+
"data-testid": testId
|
|
46
49
|
}, jsx("div", {
|
|
47
50
|
css: fixedChildrenWrapperStyles
|
|
48
51
|
}, children));
|
|
@@ -225,7 +225,7 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
225
225
|
};
|
|
226
226
|
var mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
227
227
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
228
|
-
useMediaQuery('below.
|
|
228
|
+
useMediaQuery('below.sm') : null;
|
|
229
229
|
var openMobileFlyout = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
230
230
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
231
231
|
useCallback(function () {
|
|
@@ -260,7 +260,7 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
260
260
|
}, [setLeftSidebarState, onCollapse, mobileMediaQuery]) : undefined;
|
|
261
261
|
if (getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g')) {
|
|
262
262
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Does not apply to being feature flagged.
|
|
263
|
-
useMediaQuery('below.
|
|
263
|
+
useMediaQuery('below.sm', function (event) {
|
|
264
264
|
setLeftSidebarState(function (current) {
|
|
265
265
|
if (event.matches && !current.isLeftSidebarCollapsed) {
|
|
266
266
|
// Sidebar was previously open when resizing downwards, convert the sidebar being open to a flyout being open
|
|
@@ -293,8 +293,16 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
293
293
|
isDisabled: !isFlyoutOpen
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
|
-
return jsx(Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
297
|
-
|
|
296
|
+
return jsx(Fragment, null, (mobileMediaQuery === null || mobileMediaQuery === void 0 ? void 0 : mobileMediaQuery.matches) && getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') &&
|
|
297
|
+
/**
|
|
298
|
+
* On desktop, the `onClick` handlers controls the temporary flyout behavior.
|
|
299
|
+
* This is an intentionally mouse-only experience, it may even be disruptive with keyboard navigation.
|
|
300
|
+
*
|
|
301
|
+
* On mobile, the `onClick` handler controls the toggled flyout behaviour.
|
|
302
|
+
* This is not intended to be how you use this with a keyboard, there is a ResizeButton for this intentionally instead.
|
|
303
|
+
*/
|
|
304
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
305
|
+
jsx("div", {
|
|
298
306
|
css: [hiddenBackdropStyles, isFlyoutOpen && openBackdropStyles],
|
|
299
307
|
onClick: closeMobileFlyout
|
|
300
308
|
}), jsx(LeftSidebarOuter, {
|
|
@@ -315,7 +323,8 @@ var LeftSidebar = function LeftSidebar(props) {
|
|
|
315
323
|
}, jsx(ResizableChildrenWrapper, {
|
|
316
324
|
isFlyoutOpen: isFlyoutOpen,
|
|
317
325
|
isLeftSidebarCollapsed: isLeftSidebarCollapsed,
|
|
318
|
-
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed'
|
|
326
|
+
hasCollapsedState: !notFirstRun.current && collapsedState === 'collapsed',
|
|
327
|
+
testId: testId && "".concat(testId, "-resize-children-wrapper")
|
|
319
328
|
}, children), jsx(ResizeControl, {
|
|
320
329
|
testId: testId,
|
|
321
330
|
resizeGrabAreaLabel: resizeGrabAreaLabel,
|
|
@@ -21,7 +21,7 @@ var gridStyles = css({
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- With a feature flag, this does not apply
|
|
24
|
-
var gridStylesMobile = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.
|
|
24
|
+
var gridStylesMobile = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ? css(_defineProperty({}, UNSAFE_media.below.sm, {
|
|
25
25
|
gridTemplateAreas: gridTemplateAreasMobile,
|
|
26
26
|
gridTemplateColumns: "".concat(LEFT_PANEL_WIDTH, " minmax(0, 1fr)")
|
|
27
27
|
})) : undefined;
|
|
@@ -5,5 +5,5 @@ export default (function (_ref) {
|
|
|
5
5
|
var variableName = _ref.variableName,
|
|
6
6
|
value = _ref.value,
|
|
7
7
|
mobileValue = _ref.mobileValue;
|
|
8
|
-
return /*#__PURE__*/React.createElement("style", null, ":root{--".concat(variableName, ":").concat(value, "px;}"), getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && "".concat(UNSAFE_media.below.
|
|
8
|
+
return /*#__PURE__*/React.createElement("style", null, ":root{--".concat(variableName, ":").concat(value, "px;}"), getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') && mobileValue && "".concat(UNSAFE_media.below.sm, " { :root{--").concat(variableName, ":").concat(mobileValue, "px;} }"));
|
|
9
9
|
});
|
|
@@ -55,7 +55,7 @@ export var SidebarResizeController = function SidebarResizeController(_ref) {
|
|
|
55
55
|
var transition = useRef(null);
|
|
56
56
|
var mobileMediaQuery = getBooleanFF('platform.design-system-team.responsive-page-layout-left-sidebar_p8r7g') ?
|
|
57
57
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- With the feature flag, this does not apply as it should be static.
|
|
58
|
-
useMediaQuery('below.
|
|
58
|
+
useMediaQuery('below.sm') : null;
|
|
59
59
|
var isOpen = mobileMediaQuery !== null && mobileMediaQuery !== void 0 && mobileMediaQuery.matches ? isFlyoutOpen : !isLeftSidebarCollapsed;
|
|
60
60
|
var expandLeftSidebar = useCallback(function () {
|
|
61
61
|
var _transition$current2, _transition$current3;
|
package/dist/esm/version.json
CHANGED
|
@@ -6,6 +6,7 @@ type ResizableChildrenWrapperProps = {
|
|
|
6
6
|
isFlyoutOpen?: boolean;
|
|
7
7
|
isLeftSidebarCollapsed?: boolean;
|
|
8
8
|
hasCollapsedState?: boolean;
|
|
9
|
+
testId?: string;
|
|
9
10
|
};
|
|
10
|
-
declare const ResizableChildrenWrapper: ({ children, isLeftSidebarCollapsed, hasCollapsedState, isFlyoutOpen, }: ResizableChildrenWrapperProps) => jsx.JSX.Element;
|
|
11
|
+
declare const ResizableChildrenWrapper: ({ children, isLeftSidebarCollapsed, hasCollapsedState, isFlyoutOpen, testId, }: ResizableChildrenWrapperProps) => jsx.JSX.Element;
|
|
11
12
|
export default ResizableChildrenWrapper;
|
|
@@ -6,6 +6,7 @@ type ResizableChildrenWrapperProps = {
|
|
|
6
6
|
isFlyoutOpen?: boolean;
|
|
7
7
|
isLeftSidebarCollapsed?: boolean;
|
|
8
8
|
hasCollapsedState?: boolean;
|
|
9
|
+
testId?: string;
|
|
9
10
|
};
|
|
10
|
-
declare const ResizableChildrenWrapper: ({ children, isLeftSidebarCollapsed, hasCollapsedState, isFlyoutOpen, }: ResizableChildrenWrapperProps) => jsx.JSX.Element;
|
|
11
|
+
declare const ResizableChildrenWrapper: ({ children, isLeftSidebarCollapsed, hasCollapsedState, isFlyoutOpen, testId, }: ResizableChildrenWrapperProps) => jsx.JSX.Element;
|
|
11
12
|
export default ResizableChildrenWrapper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/page-layout",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.11",
|
|
4
4
|
"description": "A collection of components which let you compose an application's page layout.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@atlaskit/menu": "^1.9.0",
|
|
59
59
|
"@atlaskit/notification-indicator": "^9.1.0",
|
|
60
60
|
"@atlaskit/notification-log-client": "^6.1.0",
|
|
61
|
-
"@atlaskit/popup": "^1.
|
|
61
|
+
"@atlaskit/popup": "^1.9.0",
|
|
62
62
|
"@atlaskit/side-navigation": "^1.10.0",
|
|
63
63
|
"@atlaskit/ssr": "*",
|
|
64
64
|
"@atlaskit/tooltip": "*",
|