@atlaskit/page-layout 3.2.2 → 3.3.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 (78) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/__perf__/examples.tsx +3 -2
  3. package/__perf__/utils/product-integration/atlassian-navigation.tsx +1 -1
  4. package/__perf__/utils/product-integration/create.tsx +1 -0
  5. package/__perf__/utils/product-integration/profile-popup.tsx +1 -0
  6. package/__perf__/utils/product-integration/sample-footer.tsx +1 -1
  7. package/__perf__/utils/product-integration/sample-header.tsx +1 -1
  8. package/dist/cjs/components/skip-links/skip-link-components.js +14 -19
  9. package/dist/cjs/components/slots/banner-slot.js +3 -1
  10. package/dist/cjs/components/slots/internal/left-sidebar-outer.js +3 -1
  11. package/dist/cjs/components/slots/left-panel.js +3 -1
  12. package/dist/cjs/components/slots/main.js +3 -1
  13. package/dist/cjs/components/slots/right-panel.js +3 -1
  14. package/dist/cjs/components/slots/right-sidebar.js +3 -1
  15. package/dist/cjs/components/slots/top-navigation.js +3 -1
  16. package/dist/es2019/components/skip-links/skip-link-components.js +14 -19
  17. package/dist/es2019/components/slots/banner-slot.js +3 -1
  18. package/dist/es2019/components/slots/internal/left-sidebar-outer.js +3 -1
  19. package/dist/es2019/components/slots/left-panel.js +3 -1
  20. package/dist/es2019/components/slots/main.js +3 -1
  21. package/dist/es2019/components/slots/right-panel.js +3 -1
  22. package/dist/es2019/components/slots/right-sidebar.js +3 -1
  23. package/dist/es2019/components/slots/top-navigation.js +3 -1
  24. package/dist/esm/components/skip-links/skip-link-components.js +14 -19
  25. package/dist/esm/components/slots/banner-slot.js +3 -1
  26. package/dist/esm/components/slots/internal/left-sidebar-outer.js +3 -1
  27. package/dist/esm/components/slots/left-panel.js +3 -1
  28. package/dist/esm/components/slots/main.js +3 -1
  29. package/dist/esm/components/slots/right-panel.js +3 -1
  30. package/dist/esm/components/slots/right-sidebar.js +3 -1
  31. package/dist/esm/components/slots/top-navigation.js +3 -1
  32. package/dist/types/common/types.d.ts +3 -3
  33. package/dist/types/common/utils.d.ts +1 -1
  34. package/dist/types/components/resize-control/grab-area.d.ts +2 -2
  35. package/dist/types/components/resize-control/index.d.ts +1 -1
  36. package/dist/types/components/resize-control/resize-button.d.ts +1 -1
  37. package/dist/types/components/resize-control/types.d.ts +2 -2
  38. package/dist/types/components/skip-links/skip-link-components.d.ts +4 -4
  39. package/dist/types/components/skip-links/use-custom-skip-link.d.ts +1 -1
  40. package/dist/types/components/slots/banner-slot.d.ts +1 -1
  41. package/dist/types/components/slots/content.d.ts +1 -1
  42. package/dist/types/components/slots/internal/left-sidebar-outer.d.ts +1 -1
  43. package/dist/types/components/slots/left-panel.d.ts +1 -1
  44. package/dist/types/components/slots/left-sidebar-without-resize.d.ts +1 -1
  45. package/dist/types/components/slots/left-sidebar.d.ts +1 -1
  46. package/dist/types/components/slots/page-layout.d.ts +1 -1
  47. package/dist/types/components/slots/right-panel.d.ts +1 -1
  48. package/dist/types/components/slots/right-sidebar.d.ts +1 -1
  49. package/dist/types/components/slots/top-navigation.d.ts +1 -1
  50. package/dist/types/controllers/sidebar-resize-context.d.ts +1 -1
  51. package/dist/types/controllers/sidebar-resize-controller.d.ts +2 -2
  52. package/dist/types/controllers/skip-link-context.d.ts +1 -1
  53. package/dist/types/controllers/skip-link-controller.d.ts +1 -1
  54. package/dist/types/controllers/use-page-layout-grid.d.ts +1 -1
  55. package/dist/types-ts4.5/common/types.d.ts +3 -3
  56. package/dist/types-ts4.5/common/utils.d.ts +1 -1
  57. package/dist/types-ts4.5/components/resize-control/grab-area.d.ts +2 -2
  58. package/dist/types-ts4.5/components/resize-control/index.d.ts +1 -1
  59. package/dist/types-ts4.5/components/resize-control/resize-button.d.ts +1 -1
  60. package/dist/types-ts4.5/components/resize-control/types.d.ts +2 -2
  61. package/dist/types-ts4.5/components/skip-links/skip-link-components.d.ts +4 -4
  62. package/dist/types-ts4.5/components/skip-links/use-custom-skip-link.d.ts +1 -1
  63. package/dist/types-ts4.5/components/slots/banner-slot.d.ts +1 -1
  64. package/dist/types-ts4.5/components/slots/content.d.ts +1 -1
  65. package/dist/types-ts4.5/components/slots/internal/left-sidebar-outer.d.ts +1 -1
  66. package/dist/types-ts4.5/components/slots/left-panel.d.ts +1 -1
  67. package/dist/types-ts4.5/components/slots/left-sidebar-without-resize.d.ts +1 -1
  68. package/dist/types-ts4.5/components/slots/left-sidebar.d.ts +1 -1
  69. package/dist/types-ts4.5/components/slots/page-layout.d.ts +1 -1
  70. package/dist/types-ts4.5/components/slots/right-panel.d.ts +1 -1
  71. package/dist/types-ts4.5/components/slots/right-sidebar.d.ts +1 -1
  72. package/dist/types-ts4.5/components/slots/top-navigation.d.ts +1 -1
  73. package/dist/types-ts4.5/controllers/sidebar-resize-context.d.ts +1 -1
  74. package/dist/types-ts4.5/controllers/sidebar-resize-controller.d.ts +2 -2
  75. package/dist/types-ts4.5/controllers/skip-link-context.d.ts +1 -1
  76. package/dist/types-ts4.5/controllers/skip-link-controller.d.ts +1 -1
  77. package/dist/types-ts4.5/controllers/use-page-layout-grid.d.ts +1 -1
  78. package/package.json +14 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/page-layout
2
2
 
3
+ ## 3.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#104255](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/104255)
8
+ [`8a21e4b04c50`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/8a21e4b04c50) -
9
+ Migration to ADS link components: Link and Anchor
10
+
11
+ ## 3.3.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#100748](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/100748)
16
+ [`ff76f4c7a63d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ff76f4c7a63d) -
17
+ Add support for React 18.
18
+
3
19
  ## 3.2.2
4
20
 
5
21
  ### Patch Changes
@@ -8,8 +8,8 @@ import {
8
8
  } from '@testing-library/dom'; // eslint-disable-line import/no-extraneous-dependencies
9
9
  // eslint-disable-next-line import/no-extraneous-dependencies
10
10
  import {
11
- InteractionTaskArgs,
12
- PublicInteractionTask,
11
+ type InteractionTaskArgs,
12
+ type PublicInteractionTask,
13
13
  } from 'storybook-addon-performance'; // eslint-disable-line import/no-extraneous-dependencies
14
14
 
15
15
  import ProductExample from './utils/perf-example';
@@ -69,6 +69,7 @@ const interactionTasks: PublicInteractionTask[] = [
69
69
 
70
70
  const performance = () => {
71
71
  return (
72
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
72
73
  <div style={{ margin: '-1rem 0 0 -1rem', height: '100vh' }}>
73
74
  <ProductExample />
74
75
  </div>
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { Fragment, MouseEvent, useState } from 'react';
2
+ import { Fragment, type MouseEvent, useState } from 'react';
3
3
 
4
4
  import { jsx } from '@emotion/react';
5
5
 
@@ -7,6 +7,7 @@ import { token } from '@atlaskit/tokens';
7
7
  const StyledTooltip = () => (
8
8
  <span>
9
9
  Create
10
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766 */}
10
11
  <span style={{ color: token('color.text.accent.orange', 'orange') }}>
11
12
  {' '}
12
13
  [c]
@@ -58,6 +58,7 @@ export const ProfilePopup = () => {
58
58
  <Profile
59
59
  icon={
60
60
  <img
61
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
61
62
  style={imgCSS}
62
63
  src={avatarUrl}
63
64
  alt="Your profile and settings"
@@ -3,7 +3,7 @@ import { Fragment } from 'react';
3
3
 
4
4
  import { css, jsx } from '@emotion/react';
5
5
 
6
- import { CustomItemComponentProps } from '@atlaskit/menu';
6
+ import { type CustomItemComponentProps } from '@atlaskit/menu';
7
7
  import { Footer } from '@atlaskit/side-navigation';
8
8
  import { B400, N200 } from '@atlaskit/theme/colors';
9
9
  import { token } from '@atlaskit/tokens';
@@ -2,7 +2,7 @@
2
2
  import { jsx } from '@emotion/react';
3
3
 
4
4
  import Icon from '@atlaskit/icon';
5
- import { CustomItemComponentProps } from '@atlaskit/menu';
5
+ import { type CustomItemComponentProps } from '@atlaskit/menu';
6
6
  import { Header } from '@atlaskit/side-navigation';
7
7
 
8
8
  const Container = (props: CustomItemComponentProps) => {
@@ -8,8 +8,10 @@ exports.SkipLinkWrapper = exports.SkipLink = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _react = require("@emotion/react");
11
+ var _link = _interopRequireDefault(require("@atlaskit/link"));
11
12
  var _motion = require("@atlaskit/motion");
12
13
  var _colors = require("@atlaskit/theme/colors");
14
+ var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
13
15
  var _constants = require("../../common/constants");
14
16
  var _controllers = require("../../controllers");
15
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -17,27 +19,21 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
17
19
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
18
20
  var prefersReducedMotionStyles = (0, _react.css)((0, _motion.prefersReducedMotion)());
19
21
  var skipLinkStyles = (0, _react.css)({
20
- // eslint-disable-next-line @atlaskit/design-system/use-tokens-space
21
- margin: 10,
22
+ margin: "var(--ds-space-250, 10px)",
22
23
  padding: '0.8rem 1rem',
23
24
  position: 'fixed',
24
25
  zIndex: -1,
25
- left: -999999,
26
26
  background: "var(--ds-surface-overlay, white)",
27
27
  border: 'none',
28
28
  borderRadius: "var(--ds-border-radius, 3px)",
29
29
  boxShadow: "var(--ds-shadow-overlay, ".concat("0 0 0 1px ".concat(_colors.N30A, ", 0 2px 10px ").concat(_colors.N30A, ", 0 0 20px -4px ").concat(_colors.N60A), ")"),
30
+ insetInlineStart: -999999,
30
31
  opacity: 0,
31
- /* Do the transform when focused */
32
32
  transform: 'translateY(-50%)',
33
33
  transition: "transform 0.3s ".concat(_motion.easeOut),
34
34
  ':focus-within': {
35
- /**
36
- * Max z-index is 2147483647. Skip links always be on top,
37
- * but giving a few digits extra space just in case there's a future need.
38
- */
39
35
  zIndex: 2147483640,
40
- left: 0,
36
+ insetInlineStart: 0,
41
37
  opacity: 1,
42
38
  transform: 'translateY(0%)'
43
39
  }
@@ -46,13 +42,13 @@ var skipLinkHeadingStyles = (0, _react.css)({
46
42
  fontWeight: 600
47
43
  });
48
44
  var skipLinkListStyles = (0, _react.css)({
49
- marginTop: "var(--ds-space-050, 4px)",
50
- paddingLeft: 0,
51
45
  listStylePosition: 'outside',
52
- listStyleType: 'none'
46
+ listStyleType: 'none',
47
+ marginBlockStart: "var(--ds-space-050, 4px)",
48
+ paddingInlineStart: 0
53
49
  });
54
50
  var skipLinkListItemStyles = (0, _react.css)({
55
- marginTop: 0
51
+ marginBlockStart: 0
56
52
  });
57
53
  var assignIndex = function assignIndex(num, arr) {
58
54
  if (!arr.includes(num)) {
@@ -130,7 +126,7 @@ var SkipLinkWrapper = exports.SkipLinkWrapper = function SkipLinkWrapper(_ref) {
130
126
  key: id,
131
127
  href: "#".concat(id),
132
128
  isFocusable: true,
133
- title: emptyLabelOverride ? "".concat(_constants.DEFAULT_I18N_PROPS_SKIP_LINKS, " ").concat(skipLinkTitle) : "".concat(label, " ").concat(skipLinkTitle)
129
+ skipToLabel: emptyLabelOverride ? "".concat(_constants.DEFAULT_I18N_PROPS_SKIP_LINKS, " ").concat(skipLinkTitle) : "".concat(label, " ").concat(skipLinkTitle)
134
130
  }, skipLinkTitle);
135
131
  })));
136
132
  };
@@ -172,13 +168,12 @@ var SkipLink = exports.SkipLink = function SkipLink(_ref3) {
172
168
  var href = _ref3.href,
173
169
  children = _ref3.children,
174
170
  isFocusable = _ref3.isFocusable,
175
- title = _ref3.title;
171
+ skipToLabel = _ref3.skipToLabel;
176
172
  return (0, _react.jsx)("li", {
177
173
  css: skipLinkListItemStyles
178
- }, (0, _react.jsx)("a", {
174
+ }, (0, _react.jsx)(_link.default, {
179
175
  tabIndex: isFocusable ? 0 : -1,
180
176
  href: href,
181
- onClick: focusTargetRef(href),
182
- title: title
183
- }, children));
177
+ onClick: focusTargetRef(href)
178
+ }, (0, _react.jsx)(_visuallyHidden.default, null, skipToLabel), children));
184
179
  };
@@ -59,7 +59,9 @@ var Banner = function Banner(props) {
59
59
  return (0, _react2.jsx)(_slotFocusRing.default, null, function (_ref) {
60
60
  var className = _ref.className;
61
61
  return (0, _react2.jsx)("div", (0, _extends2.default)({
62
- css: [bannerStyles, isFixed && bannerFixedStyles],
62
+ css: [bannerStyles, isFixed && bannerFixedStyles]
63
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
64
+ ,
63
65
  className: className,
64
66
  "data-testid": testId,
65
67
  id: id
@@ -99,7 +99,9 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
99
99
  // mobile viewport styles
100
100
  mobileStyles, isFlyoutOpen && mobileFlyoutStyles,
101
101
  // generic styles
102
- outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles],
102
+ outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles]
103
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
104
+ ,
103
105
  className: className,
104
106
  "data-testid": testId,
105
107
  id: id
@@ -55,7 +55,9 @@ var LeftPanel = function LeftPanel(props) {
55
55
  return (0, _react2.jsx)(_slotFocusRing.default, null, function (_ref) {
56
56
  var className = _ref.className;
57
57
  return (0, _react2.jsx)("div", (0, _extends2.default)({
58
- css: [leftPanelStyles, isFixed && leftPanelFixedStyles],
58
+ css: [leftPanelStyles, isFixed && leftPanelFixedStyles]
59
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
60
+ ,
59
61
  className: className,
60
62
  "data-testid": testId,
61
63
  id: id
@@ -64,7 +64,9 @@ var Main = function Main(props) {
64
64
  var className = _ref.className;
65
65
  return (0, _react2.jsx)("main", (0, _extends2.default)({
66
66
  "data-testid": testId,
67
- css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles],
67
+ css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles]
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
69
+ ,
68
70
  className: className,
69
71
  id: id
70
72
  }, (0, _utils.getPageLayoutSlotSelector)('main')), children);
@@ -55,7 +55,9 @@ var RightPanel = function RightPanel(props) {
55
55
  return (0, _react2.jsx)(_slotFocusRing.default, null, function (_ref) {
56
56
  var className = _ref.className;
57
57
  return (0, _react2.jsx)("div", (0, _extends2.default)({
58
- css: [baseStyles, isFixed && fixedStyles],
58
+ css: [baseStyles, isFixed && fixedStyles]
59
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
60
+ ,
59
61
  className: className,
60
62
  "data-testid": testId,
61
63
  id: id
@@ -86,7 +86,9 @@ var RightSidebar = function RightSidebar(props) {
86
86
  var className = _ref.className;
87
87
  return (0, _react2.jsx)("div", (0, _extends2.default)({
88
88
  "data-testid": testId,
89
- css: [outerStyles, isFixed && fixedOuterStyles],
89
+ css: [outerStyles, isFixed && fixedOuterStyles]
90
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
91
+ ,
90
92
  className: className,
91
93
  id: id
92
94
  }, (0, _utils.getPageLayoutSlotSelector)('right-sidebar')), (0, _react2.jsx)(_slotDimensions.default, {
@@ -60,7 +60,9 @@ var TopNavigation = function TopNavigation(props) {
60
60
  return (0, _react2.jsx)(_slotFocusRing.default, null, function (_ref) {
61
61
  var className = _ref.className;
62
62
  return (0, _react2.jsx)("div", (0, _extends2.default)({
63
- css: [topNavigationStyles, isFixed && fixedStyles],
63
+ css: [topNavigationStyles, isFixed && fixedStyles]
64
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
65
+ ,
64
66
  className: className,
65
67
  "data-testid": testId,
66
68
  id: id
@@ -2,34 +2,30 @@
2
2
  /** @jsx jsx */
3
3
 
4
4
  import { css, jsx } from '@emotion/react';
5
+ import Link from '@atlaskit/link';
5
6
  import { easeOut, prefersReducedMotion } from '@atlaskit/motion';
6
7
  import { N30A, N60A } from '@atlaskit/theme/colors';
8
+ import VisuallyHidden from '@atlaskit/visually-hidden';
7
9
  import { DEFAULT_I18N_PROPS_SKIP_LINKS, PAGE_LAYOUT_CONTAINER_SELECTOR } from '../../common/constants';
8
10
  import { useSkipLinks } from '../../controllers';
9
11
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
10
12
  const prefersReducedMotionStyles = css(prefersReducedMotion());
11
13
  const skipLinkStyles = css({
12
- // eslint-disable-next-line @atlaskit/design-system/use-tokens-space
13
- margin: 10,
14
+ margin: "var(--ds-space-250, 10px)",
14
15
  padding: '0.8rem 1rem',
15
16
  position: 'fixed',
16
17
  zIndex: -1,
17
- left: -999999,
18
18
  background: "var(--ds-surface-overlay, white)",
19
19
  border: 'none',
20
20
  borderRadius: "var(--ds-border-radius, 3px)",
21
21
  boxShadow: `var(--ds-shadow-overlay, ${`0 0 0 1px ${N30A}, 0 2px 10px ${N30A}, 0 0 20px -4px ${N60A}`})`,
22
+ insetInlineStart: -999999,
22
23
  opacity: 0,
23
- /* Do the transform when focused */
24
24
  transform: 'translateY(-50%)',
25
25
  transition: `transform 0.3s ${easeOut}`,
26
26
  ':focus-within': {
27
- /**
28
- * Max z-index is 2147483647. Skip links always be on top,
29
- * but giving a few digits extra space just in case there's a future need.
30
- */
31
27
  zIndex: 2147483640,
32
- left: 0,
28
+ insetInlineStart: 0,
33
29
  opacity: 1,
34
30
  transform: 'translateY(0%)'
35
31
  }
@@ -38,13 +34,13 @@ const skipLinkHeadingStyles = css({
38
34
  fontWeight: 600
39
35
  });
40
36
  const skipLinkListStyles = css({
41
- marginTop: "var(--ds-space-050, 4px)",
42
- paddingLeft: 0,
43
37
  listStylePosition: 'outside',
44
- listStyleType: 'none'
38
+ listStyleType: 'none',
39
+ marginBlockStart: "var(--ds-space-050, 4px)",
40
+ paddingInlineStart: 0
45
41
  });
46
42
  const skipLinkListItemStyles = css({
47
- marginTop: 0
43
+ marginBlockStart: 0
48
44
  });
49
45
  const assignIndex = (num, arr) => {
50
46
  if (!arr.includes(num)) {
@@ -113,7 +109,7 @@ export const SkipLinkWrapper = ({
113
109
  key: id,
114
110
  href: `#${id}`,
115
111
  isFocusable: true,
116
- title: emptyLabelOverride ? `${DEFAULT_I18N_PROPS_SKIP_LINKS} ${skipLinkTitle}` : `${label} ${skipLinkTitle}`
112
+ skipToLabel: emptyLabelOverride ? `${DEFAULT_I18N_PROPS_SKIP_LINKS} ${skipLinkTitle}` : `${label} ${skipLinkTitle}`
117
113
  }, skipLinkTitle))));
118
114
  };
119
115
  const handleBlur = event => {
@@ -152,14 +148,13 @@ export const SkipLink = ({
152
148
  href,
153
149
  children,
154
150
  isFocusable,
155
- title
151
+ skipToLabel
156
152
  }) => {
157
153
  return jsx("li", {
158
154
  css: skipLinkListItemStyles
159
- }, jsx("a", {
155
+ }, jsx(Link, {
160
156
  tabIndex: isFocusable ? 0 : -1,
161
157
  href: href,
162
- onClick: focusTargetRef(href),
163
- title: title
164
- }, children));
158
+ onClick: focusTargetRef(href)
159
+ }, jsx(VisuallyHidden, null, skipToLabel), children));
165
160
  };
@@ -54,7 +54,9 @@ const Banner = props => {
54
54
  return jsx(SlotFocusRing, null, ({
55
55
  className
56
56
  }) => jsx("div", _extends({
57
- css: [bannerStyles, isFixed && bannerFixedStyles],
57
+ css: [bannerStyles, isFixed && bannerFixedStyles]
58
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
59
+ ,
58
60
  className: className,
59
61
  "data-testid": testId,
60
62
  id: id
@@ -100,7 +100,9 @@ const LeftSidebarOuter = ({
100
100
  // mobile viewport styles
101
101
  mobileStyles, isFlyoutOpen && mobileFlyoutStyles,
102
102
  // generic styles
103
- outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles],
103
+ outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles]
104
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
105
+ ,
104
106
  className: className,
105
107
  "data-testid": testId,
106
108
  id: id
@@ -51,7 +51,9 @@ const LeftPanel = props => {
51
51
  return jsx(SlotFocusRing, null, ({
52
52
  className
53
53
  }) => jsx("div", _extends({
54
- css: [leftPanelStyles, isFixed && leftPanelFixedStyles],
54
+ css: [leftPanelStyles, isFixed && leftPanelFixedStyles]
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
56
+ ,
55
57
  className: className,
56
58
  "data-testid": testId,
57
59
  id: id
@@ -61,7 +61,9 @@ const Main = props => {
61
61
  className
62
62
  }) => jsx("main", _extends({
63
63
  "data-testid": testId,
64
- css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles],
64
+ css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles]
65
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
66
+ ,
65
67
  className: className,
66
68
  id: id
67
69
  }, getPageLayoutSlotSelector('main')), children));
@@ -51,7 +51,9 @@ const RightPanel = props => {
51
51
  return jsx(SlotFocusRing, null, ({
52
52
  className
53
53
  }) => jsx("div", _extends({
54
- css: [baseStyles, isFixed && fixedStyles],
54
+ css: [baseStyles, isFixed && fixedStyles]
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
56
+ ,
55
57
  className: className,
56
58
  "data-testid": testId,
57
59
  id: id
@@ -83,7 +83,9 @@ const RightSidebar = props => {
83
83
  className
84
84
  }) => jsx("div", _extends({
85
85
  "data-testid": testId,
86
- css: [outerStyles, isFixed && fixedOuterStyles],
86
+ css: [outerStyles, isFixed && fixedOuterStyles]
87
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
88
+ ,
87
89
  className: className,
88
90
  id: id
89
91
  }, getPageLayoutSlotSelector('right-sidebar')), jsx(SlotDimensions, {
@@ -55,7 +55,9 @@ const TopNavigation = props => {
55
55
  return jsx(SlotFocusRing, null, ({
56
56
  className
57
57
  }) => jsx("div", _extends({
58
- css: [topNavigationStyles, isFixed && fixedStyles],
58
+ css: [topNavigationStyles, isFixed && fixedStyles]
59
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
60
+ ,
59
61
  className: className,
60
62
  "data-testid": testId,
61
63
  id: id
@@ -6,34 +6,30 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
6
6
  /** @jsx jsx */
7
7
 
8
8
  import { css, jsx } from '@emotion/react';
9
+ import Link from '@atlaskit/link';
9
10
  import { easeOut, prefersReducedMotion } from '@atlaskit/motion';
10
11
  import { N30A, N60A } from '@atlaskit/theme/colors';
12
+ import VisuallyHidden from '@atlaskit/visually-hidden';
11
13
  import { DEFAULT_I18N_PROPS_SKIP_LINKS, PAGE_LAYOUT_CONTAINER_SELECTOR } from '../../common/constants';
12
14
  import { useSkipLinks } from '../../controllers';
13
15
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
14
16
  var prefersReducedMotionStyles = css(prefersReducedMotion());
15
17
  var skipLinkStyles = css({
16
- // eslint-disable-next-line @atlaskit/design-system/use-tokens-space
17
- margin: 10,
18
+ margin: "var(--ds-space-250, 10px)",
18
19
  padding: '0.8rem 1rem',
19
20
  position: 'fixed',
20
21
  zIndex: -1,
21
- left: -999999,
22
22
  background: "var(--ds-surface-overlay, white)",
23
23
  border: 'none',
24
24
  borderRadius: "var(--ds-border-radius, 3px)",
25
25
  boxShadow: "var(--ds-shadow-overlay, ".concat("0 0 0 1px ".concat(N30A, ", 0 2px 10px ").concat(N30A, ", 0 0 20px -4px ").concat(N60A), ")"),
26
+ insetInlineStart: -999999,
26
27
  opacity: 0,
27
- /* Do the transform when focused */
28
28
  transform: 'translateY(-50%)',
29
29
  transition: "transform 0.3s ".concat(easeOut),
30
30
  ':focus-within': {
31
- /**
32
- * Max z-index is 2147483647. Skip links always be on top,
33
- * but giving a few digits extra space just in case there's a future need.
34
- */
35
31
  zIndex: 2147483640,
36
- left: 0,
32
+ insetInlineStart: 0,
37
33
  opacity: 1,
38
34
  transform: 'translateY(0%)'
39
35
  }
@@ -42,13 +38,13 @@ var skipLinkHeadingStyles = css({
42
38
  fontWeight: 600
43
39
  });
44
40
  var skipLinkListStyles = css({
45
- marginTop: "var(--ds-space-050, 4px)",
46
- paddingLeft: 0,
47
41
  listStylePosition: 'outside',
48
- listStyleType: 'none'
42
+ listStyleType: 'none',
43
+ marginBlockStart: "var(--ds-space-050, 4px)",
44
+ paddingInlineStart: 0
49
45
  });
50
46
  var skipLinkListItemStyles = css({
51
- marginTop: 0
47
+ marginBlockStart: 0
52
48
  });
53
49
  var assignIndex = function assignIndex(num, arr) {
54
50
  if (!arr.includes(num)) {
@@ -126,7 +122,7 @@ export var SkipLinkWrapper = function SkipLinkWrapper(_ref) {
126
122
  key: id,
127
123
  href: "#".concat(id),
128
124
  isFocusable: true,
129
- title: emptyLabelOverride ? "".concat(DEFAULT_I18N_PROPS_SKIP_LINKS, " ").concat(skipLinkTitle) : "".concat(label, " ").concat(skipLinkTitle)
125
+ skipToLabel: emptyLabelOverride ? "".concat(DEFAULT_I18N_PROPS_SKIP_LINKS, " ").concat(skipLinkTitle) : "".concat(label, " ").concat(skipLinkTitle)
130
126
  }, skipLinkTitle);
131
127
  })));
132
128
  };
@@ -168,13 +164,12 @@ export var SkipLink = function SkipLink(_ref3) {
168
164
  var href = _ref3.href,
169
165
  children = _ref3.children,
170
166
  isFocusable = _ref3.isFocusable,
171
- title = _ref3.title;
167
+ skipToLabel = _ref3.skipToLabel;
172
168
  return jsx("li", {
173
169
  css: skipLinkListItemStyles
174
- }, jsx("a", {
170
+ }, jsx(Link, {
175
171
  tabIndex: isFocusable ? 0 : -1,
176
172
  href: href,
177
- onClick: focusTargetRef(href),
178
- title: title
179
- }, children));
173
+ onClick: focusTargetRef(href)
174
+ }, jsx(VisuallyHidden, null, skipToLabel), children));
180
175
  };
@@ -51,7 +51,9 @@ var Banner = function Banner(props) {
51
51
  return jsx(SlotFocusRing, null, function (_ref) {
52
52
  var className = _ref.className;
53
53
  return jsx("div", _extends({
54
- css: [bannerStyles, isFixed && bannerFixedStyles],
54
+ css: [bannerStyles, isFixed && bannerFixedStyles]
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
56
+ ,
55
57
  className: className,
56
58
  "data-testid": testId,
57
59
  id: id
@@ -91,7 +91,9 @@ var LeftSidebarOuter = function LeftSidebarOuter(_ref, ref) {
91
91
  // mobile viewport styles
92
92
  mobileStyles, isFlyoutOpen && mobileFlyoutStyles,
93
93
  // generic styles
94
- outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles],
94
+ outerStyles, isFixed && fixedStyles, isFlyoutOpen && flyoutStyles, isFlyoutOpen && isFixed && flyoutFixedStyles, isDragging && draggingStyles, prefersReducedMotionStyles]
95
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
96
+ ,
95
97
  className: className,
96
98
  "data-testid": testId,
97
99
  id: id
@@ -47,7 +47,9 @@ var LeftPanel = function LeftPanel(props) {
47
47
  return jsx(SlotFocusRing, null, function (_ref) {
48
48
  var className = _ref.className;
49
49
  return jsx("div", _extends({
50
- css: [leftPanelStyles, isFixed && leftPanelFixedStyles],
50
+ css: [leftPanelStyles, isFixed && leftPanelFixedStyles]
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
52
+ ,
51
53
  className: className,
52
54
  "data-testid": testId,
53
55
  id: id
@@ -57,7 +57,9 @@ var Main = function Main(props) {
57
57
  var className = _ref.className;
58
58
  return jsx("main", _extends({
59
59
  "data-testid": testId,
60
- css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles],
60
+ css: [mainStyles, isDragging && draggingStyles, isFlyoutOpen && !isFixed && flyoutStyles, prefersReducedMotionStyles]
61
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
62
+ ,
61
63
  className: className,
62
64
  id: id
63
65
  }, getPageLayoutSlotSelector('main')), children);
@@ -47,7 +47,9 @@ var RightPanel = function RightPanel(props) {
47
47
  return jsx(SlotFocusRing, null, function (_ref) {
48
48
  var className = _ref.className;
49
49
  return jsx("div", _extends({
50
- css: [baseStyles, isFixed && fixedStyles],
50
+ css: [baseStyles, isFixed && fixedStyles]
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
52
+ ,
51
53
  className: className,
52
54
  "data-testid": testId,
53
55
  id: id
@@ -79,7 +79,9 @@ var RightSidebar = function RightSidebar(props) {
79
79
  var className = _ref.className;
80
80
  return jsx("div", _extends({
81
81
  "data-testid": testId,
82
- css: [outerStyles, isFixed && fixedOuterStyles],
82
+ css: [outerStyles, isFixed && fixedOuterStyles]
83
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
84
+ ,
83
85
  className: className,
84
86
  id: id
85
87
  }, getPageLayoutSlotSelector('right-sidebar')), jsx(SlotDimensions, {
@@ -52,7 +52,9 @@ var TopNavigation = function TopNavigation(props) {
52
52
  return jsx(SlotFocusRing, null, function (_ref) {
53
53
  var className = _ref.className;
54
54
  return jsx("div", _extends({
55
- css: [topNavigationStyles, isFixed && fixedStyles],
55
+ css: [topNavigationStyles, isFixed && fixedStyles]
56
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
57
+ ,
56
58
  className: className,
57
59
  "data-testid": testId,
58
60
  id: id
@@ -1,6 +1,6 @@
1
- import { ElementType, ReactElement, ReactNode } from 'react';
2
- import { ResizeButtonProps } from '../components/resize-control/types';
3
- import { LeftSidebarState } from '../controllers/sidebar-resize-context';
1
+ import { type ElementType, type ReactElement, type ReactNode } from 'react';
2
+ import { type ResizeButtonProps } from '../components/resize-control/types';
3
+ import { type LeftSidebarState } from '../controllers/sidebar-resize-context';
4
4
  interface SlotProps {
5
5
  /**
6
6
  * Sets the position to fixed.
@@ -1,4 +1,4 @@
1
- import { DimensionNames, Dimensions } from './types';
1
+ import { type DimensionNames, type Dimensions } from './types';
2
2
  declare const emptyGridState: Dimensions;
3
3
  declare const mergeGridStateIntoStorage: (key: string, value: any) => void;
4
4
  declare const getGridStateFromStorage: (key: string) => any;
@@ -1,7 +1,7 @@
1
1
  /** @jsx jsx */
2
- import { ComponentProps, FocusEvent, KeyboardEvent, MouseEvent } from 'react';
2
+ import { type ComponentProps, type FocusEvent, type KeyboardEvent, type MouseEvent } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
- import { LeftSidebarProps } from '../../common/types';
4
+ import { type LeftSidebarProps } from '../../common/types';
5
5
  export type GrabAreaProps = {
6
6
  isDisabled: boolean;
7
7
  isLeftSidebarCollapsed: boolean;
@@ -1,4 +1,4 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { ResizeControlProps } from './types';
2
+ import { type ResizeControlProps } from './types';
3
3
  declare const ResizeControl: ({ testId, overrides, resizeButtonLabel, valueTextLabel, resizeGrabAreaLabel, onResizeStart, onResizeEnd, }: ResizeControlProps) => jsx.JSX.Element;
4
4
  export default ResizeControl;
@@ -1,4 +1,4 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { ResizeButtonProps } from './types';
2
+ import { type ResizeButtonProps } from './types';
3
3
  declare const ResizeButton: ({ isLeftSidebarCollapsed, label, testId, ...props }: ResizeButtonProps) => jsx.JSX.Element;
4
4
  export default ResizeButton;
@@ -1,5 +1,5 @@
1
- import { ButtonHTMLAttributes, ElementType, ReactElement } from 'react';
2
- import { LeftSidebarState } from '../../controllers/sidebar-resize-context';
1
+ import { type ButtonHTMLAttributes, type ElementType, type ReactElement } from 'react';
2
+ import { type LeftSidebarState } from '../../controllers/sidebar-resize-context';
3
3
  export type ResizeButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
4
4
  isLeftSidebarCollapsed: boolean;
5
5
  label: string;
@@ -1,7 +1,7 @@
1
1
  /** @jsx jsx */
2
- import { ReactNode } from 'react';
2
+ import { type ReactNode } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
- import { SkipLinkWrapperProps } from './types';
4
+ import { type SkipLinkWrapperProps } from './types';
5
5
  /**
6
6
  * The default label will be used when the `skipLinksLabel` attribute is not
7
7
  * provided or the attribute is an empty string. If a string comprised only of
@@ -10,9 +10,9 @@ import { SkipLinkWrapperProps } from './types';
10
10
  * themselves.
11
11
  */
12
12
  export declare const SkipLinkWrapper: ({ skipLinksLabel }: SkipLinkWrapperProps) => jsx.JSX.Element | null;
13
- export declare const SkipLink: ({ href, children, isFocusable, title, }: {
13
+ export declare const SkipLink: ({ href, children, isFocusable, skipToLabel, }: {
14
14
  href: string;
15
15
  children: ReactNode;
16
16
  isFocusable: boolean;
17
- title: string;
17
+ skipToLabel: string;
18
18
  }) => jsx.JSX.Element;
@@ -1,2 +1,2 @@
1
- import { SkipLinkData } from '../../controllers';
1
+ import { type SkipLinkData } from '../../controllers';
2
2
  export declare const useCustomSkipLink: (id: SkipLinkData['id'], skipLinkTitle: SkipLinkData['skipLinkTitle'], listIndex?: SkipLinkData['listIndex']) => void;
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotHeightProps } from '../../common/types';
2
+ import { type SlotHeightProps } from '../../common/types';
3
3
  /**
4
4
  * __Banner__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { ReactNode } from 'react';
2
+ import { type ReactNode } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  interface ContentProps {
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { MouseEventHandler, ReactNode } from 'react';
2
+ import { type MouseEventHandler, type ReactNode } from 'react';
3
3
  type LeftSidebarOuterProps = {
4
4
  children: ReactNode;
5
5
  isFixed?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Left panel__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Left sidebar without resize__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { LeftSidebarProps } from '../../common/types';
2
+ import { type LeftSidebarProps } from '../../common/types';
3
3
  /**
4
4
  * __Left sidebar__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { PageLayoutProps } from '../../common/types';
2
+ import { type PageLayoutProps } from '../../common/types';
3
3
  /**
4
4
  * __Page layout__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Right panel__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Right sidebar__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotHeightProps } from '../../common/types';
2
+ import { type SlotHeightProps } from '../../common/types';
3
3
  /**
4
4
  * __Top navigation__
5
5
  *
@@ -1,4 +1,4 @@
1
- import { KeyboardEvent, MouseEvent } from 'react';
1
+ import { type KeyboardEvent, type MouseEvent } from 'react';
2
2
  export type LeftSidebarState = {
3
3
  isFlyoutOpen: boolean;
4
4
  isResizing: boolean;
@@ -1,3 +1,3 @@
1
- import { FC } from 'react';
2
- import { SidebarResizeControllerProps } from '../common/types';
1
+ import { type FC } from 'react';
2
+ import { type SidebarResizeControllerProps } from '../common/types';
3
3
  export declare const SidebarResizeController: FC<SidebarResizeControllerProps>;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { SkipLinkContextProps, SkipLinkData } from './types';
2
+ import { type SkipLinkContextProps, type SkipLinkData } from './types';
3
3
  export declare const SkipLinksContext: import("react").Context<SkipLinkContextProps>;
4
4
  export declare const useSkipLinks: () => SkipLinkContextProps;
5
5
  export declare const useSkipLink: (id?: SkipLinkData['id'], skipLinkTitle?: SkipLinkData['skipLinkTitle']) => void;
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { type FC, type ReactNode } from 'react';
2
2
  export declare const SkipLinksController: FC<{
3
3
  children: ReactNode;
4
4
  }>;
@@ -1,3 +1,3 @@
1
- import { Dimensions } from '../common/types';
1
+ import { type Dimensions } from '../common/types';
2
2
  declare const publishGridState: (gridState: Dimensions) => void;
3
3
  export default publishGridState;
@@ -1,6 +1,6 @@
1
- import { ElementType, ReactElement, ReactNode } from 'react';
2
- import { ResizeButtonProps } from '../components/resize-control/types';
3
- import { LeftSidebarState } from '../controllers/sidebar-resize-context';
1
+ import { type ElementType, type ReactElement, type ReactNode } from 'react';
2
+ import { type ResizeButtonProps } from '../components/resize-control/types';
3
+ import { type LeftSidebarState } from '../controllers/sidebar-resize-context';
4
4
  interface SlotProps {
5
5
  /**
6
6
  * Sets the position to fixed.
@@ -1,4 +1,4 @@
1
- import { DimensionNames, Dimensions } from './types';
1
+ import { type DimensionNames, type Dimensions } from './types';
2
2
  declare const emptyGridState: Dimensions;
3
3
  declare const mergeGridStateIntoStorage: (key: string, value: any) => void;
4
4
  declare const getGridStateFromStorage: (key: string) => any;
@@ -1,7 +1,7 @@
1
1
  /** @jsx jsx */
2
- import { ComponentProps, FocusEvent, KeyboardEvent, MouseEvent } from 'react';
2
+ import { type ComponentProps, type FocusEvent, type KeyboardEvent, type MouseEvent } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
- import { LeftSidebarProps } from '../../common/types';
4
+ import { type LeftSidebarProps } from '../../common/types';
5
5
  export type GrabAreaProps = {
6
6
  isDisabled: boolean;
7
7
  isLeftSidebarCollapsed: boolean;
@@ -1,4 +1,4 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { ResizeControlProps } from './types';
2
+ import { type ResizeControlProps } from './types';
3
3
  declare const ResizeControl: ({ testId, overrides, resizeButtonLabel, valueTextLabel, resizeGrabAreaLabel, onResizeStart, onResizeEnd, }: ResizeControlProps) => jsx.JSX.Element;
4
4
  export default ResizeControl;
@@ -1,4 +1,4 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { ResizeButtonProps } from './types';
2
+ import { type ResizeButtonProps } from './types';
3
3
  declare const ResizeButton: ({ isLeftSidebarCollapsed, label, testId, ...props }: ResizeButtonProps) => jsx.JSX.Element;
4
4
  export default ResizeButton;
@@ -1,5 +1,5 @@
1
- import { ButtonHTMLAttributes, ElementType, ReactElement } from 'react';
2
- import { LeftSidebarState } from '../../controllers/sidebar-resize-context';
1
+ import { type ButtonHTMLAttributes, type ElementType, type ReactElement } from 'react';
2
+ import { type LeftSidebarState } from '../../controllers/sidebar-resize-context';
3
3
  export type ResizeButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
4
4
  isLeftSidebarCollapsed: boolean;
5
5
  label: string;
@@ -1,7 +1,7 @@
1
1
  /** @jsx jsx */
2
- import { ReactNode } from 'react';
2
+ import { type ReactNode } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
- import { SkipLinkWrapperProps } from './types';
4
+ import { type SkipLinkWrapperProps } from './types';
5
5
  /**
6
6
  * The default label will be used when the `skipLinksLabel` attribute is not
7
7
  * provided or the attribute is an empty string. If a string comprised only of
@@ -10,9 +10,9 @@ import { SkipLinkWrapperProps } from './types';
10
10
  * themselves.
11
11
  */
12
12
  export declare const SkipLinkWrapper: ({ skipLinksLabel }: SkipLinkWrapperProps) => jsx.JSX.Element | null;
13
- export declare const SkipLink: ({ href, children, isFocusable, title, }: {
13
+ export declare const SkipLink: ({ href, children, isFocusable, skipToLabel, }: {
14
14
  href: string;
15
15
  children: ReactNode;
16
16
  isFocusable: boolean;
17
- title: string;
17
+ skipToLabel: string;
18
18
  }) => jsx.JSX.Element;
@@ -1,2 +1,2 @@
1
- import { SkipLinkData } from '../../controllers';
1
+ import { type SkipLinkData } from '../../controllers';
2
2
  export declare const useCustomSkipLink: (id: SkipLinkData['id'], skipLinkTitle: SkipLinkData['skipLinkTitle'], listIndex?: SkipLinkData['listIndex']) => void;
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotHeightProps } from '../../common/types';
2
+ import { type SlotHeightProps } from '../../common/types';
3
3
  /**
4
4
  * __Banner__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { ReactNode } from 'react';
2
+ import { type ReactNode } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  interface ContentProps {
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { MouseEventHandler, ReactNode } from 'react';
2
+ import { type MouseEventHandler, type ReactNode } from 'react';
3
3
  type LeftSidebarOuterProps = {
4
4
  children: ReactNode;
5
5
  isFixed?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Left panel__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Left sidebar without resize__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { LeftSidebarProps } from '../../common/types';
2
+ import { type LeftSidebarProps } from '../../common/types';
3
3
  /**
4
4
  * __Left sidebar__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { PageLayoutProps } from '../../common/types';
2
+ import { type PageLayoutProps } from '../../common/types';
3
3
  /**
4
4
  * __Page layout__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Right panel__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotWidthProps } from '../../common/types';
2
+ import { type SlotWidthProps } from '../../common/types';
3
3
  /**
4
4
  * __Right sidebar__
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { SlotHeightProps } from '../../common/types';
2
+ import { type SlotHeightProps } from '../../common/types';
3
3
  /**
4
4
  * __Top navigation__
5
5
  *
@@ -1,4 +1,4 @@
1
- import { KeyboardEvent, MouseEvent } from 'react';
1
+ import { type KeyboardEvent, type MouseEvent } from 'react';
2
2
  export type LeftSidebarState = {
3
3
  isFlyoutOpen: boolean;
4
4
  isResizing: boolean;
@@ -1,3 +1,3 @@
1
- import { FC } from 'react';
2
- import { SidebarResizeControllerProps } from '../common/types';
1
+ import { type FC } from 'react';
2
+ import { type SidebarResizeControllerProps } from '../common/types';
3
3
  export declare const SidebarResizeController: FC<SidebarResizeControllerProps>;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { SkipLinkContextProps, SkipLinkData } from './types';
2
+ import { type SkipLinkContextProps, type SkipLinkData } from './types';
3
3
  export declare const SkipLinksContext: import("react").Context<SkipLinkContextProps>;
4
4
  export declare const useSkipLinks: () => SkipLinkContextProps;
5
5
  export declare const useSkipLink: (id?: SkipLinkData['id'], skipLinkTitle?: SkipLinkData['skipLinkTitle']) => void;
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { type FC, type ReactNode } from 'react';
2
2
  export declare const SkipLinksController: FC<{
3
3
  children: ReactNode;
4
4
  }>;
@@ -1,3 +1,3 @@
1
- import { Dimensions } from '../common/types';
1
+ import { type Dimensions } from '../common/types';
2
2
  declare const publishGridState: (gridState: Dimensions) => void;
3
3
  export default publishGridState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/page-layout",
3
- "version": "3.2.2",
3
+ "version": "3.3.1",
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/"
@@ -34,24 +34,27 @@
34
34
  "website": {
35
35
  "name": "Page layout",
36
36
  "category": "Components"
37
- }
37
+ },
38
+ "runReact18": true
38
39
  },
39
40
  "homepage": "https://atlassian.design/components/page-layout/",
40
41
  "dependencies": {
41
42
  "@atlaskit/ds-lib": "^2.3.0",
42
- "@atlaskit/icon": "^22.1.0",
43
- "@atlaskit/motion": "^1.5.0",
43
+ "@atlaskit/icon": "^22.3.0",
44
+ "@atlaskit/link": "^0.3.0",
45
+ "@atlaskit/motion": "^1.6.0",
44
46
  "@atlaskit/platform-feature-flags": "^0.2.0",
45
- "@atlaskit/primitives": "^6.1.0",
47
+ "@atlaskit/primitives": "^6.3.0",
46
48
  "@atlaskit/theme": "^12.8.0",
47
- "@atlaskit/tokens": "^1.46.0",
49
+ "@atlaskit/tokens": "^1.49.0",
50
+ "@atlaskit/visually-hidden": "^1.3.0",
48
51
  "@babel/runtime": "^7.0.0",
49
52
  "@emotion/react": "^11.7.1",
50
53
  "bind-event-listener": "^3.0.0",
51
54
  "raf-schd": "^4.0.3"
52
55
  },
53
56
  "peerDependencies": {
54
- "react": "^16.8.0",
57
+ "react": "^16.8.0 || ^17.0.0 || ~18.2.0",
55
58
  "react-dom": "^16.8.0"
56
59
  },
57
60
  "devDependencies": {
@@ -59,16 +62,16 @@
59
62
  "@af/integration-testing": "*",
60
63
  "@atlaskit/atlassian-navigation": "^3.6.0",
61
64
  "@atlaskit/atlassian-notifications": "^0.4.0",
62
- "@atlaskit/drawer": "^7.8.0",
63
- "@atlaskit/logo": "^13.16.0",
64
- "@atlaskit/menu": "^2.2.0",
65
+ "@atlaskit/drawer": "^7.10.0",
66
+ "@atlaskit/logo": "^13.17.0",
67
+ "@atlaskit/menu": "^2.3.0",
65
68
  "@atlaskit/notification-indicator": "^9.2.0",
66
69
  "@atlaskit/notification-log-client": "^6.1.0",
67
70
  "@atlaskit/popup": "^1.17.0",
68
71
  "@atlaskit/side-navigation": "^3.1.0",
69
72
  "@atlaskit/ssr": "*",
70
73
  "@atlaskit/toggle": "^13.1.0",
71
- "@atlaskit/tooltip": "^18.3.0",
74
+ "@atlaskit/tooltip": "^18.4.0",
72
75
  "@atlaskit/visual-regression": "*",
73
76
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
74
77
  "@testing-library/dom": "^8.17.1",