@atlaskit/page-layout 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/components/index.js +2 -2
  3. package/dist/cjs/components/slots/{banner.js → banner-slot.js} +0 -0
  4. package/dist/cjs/version.json +1 -1
  5. package/dist/es2019/components/index.js +1 -1
  6. package/dist/es2019/components/slots/{banner.js → banner-slot.js} +0 -0
  7. package/dist/es2019/version.json +1 -1
  8. package/dist/esm/components/index.js +1 -1
  9. package/dist/esm/components/slots/{banner.js → banner-slot.js} +0 -0
  10. package/dist/esm/version.json +1 -1
  11. package/dist/types/components/index.d.ts +1 -1
  12. package/dist/types/components/slots/banner-slot.d.ts +12 -0
  13. package/dist/types-ts4.0/common/constants.d.ts +47 -0
  14. package/dist/types-ts4.0/common/hooks/index.d.ts +2 -0
  15. package/dist/types-ts4.0/common/hooks/use-is-sidebar-collapsing.d.ts +2 -0
  16. package/dist/types-ts4.0/common/hooks/use-is-sidebar-dragging.d.ts +2 -0
  17. package/dist/types-ts4.0/common/safe-local-storage.d.ts +2 -0
  18. package/dist/types-ts4.0/common/types.d.ts +117 -0
  19. package/dist/types-ts4.0/common/utils.d.ts +13 -0
  20. package/dist/types-ts4.0/components/index.d.ts +12 -0
  21. package/dist/types-ts4.0/components/resize-control/grab-area.d.ts +9 -0
  22. package/dist/types-ts4.0/components/resize-control/index.d.ts +4 -0
  23. package/dist/types-ts4.0/components/resize-control/resize-button.d.ts +4 -0
  24. package/dist/types-ts4.0/components/resize-control/shadow.d.ts +6 -0
  25. package/dist/types-ts4.0/components/resize-control/types.d.ts +25 -0
  26. package/dist/types-ts4.0/components/skip-links/index.d.ts +2 -0
  27. package/dist/types-ts4.0/components/skip-links/skip-link-components.d.ts +11 -0
  28. package/dist/types-ts4.0/components/skip-links/types.d.ts +8 -0
  29. package/dist/types-ts4.0/components/skip-links/use-custom-skip-link.d.ts +2 -0
  30. package/dist/{types/components/slots/banner.d.ts → types-ts4.0/components/slots/banner-slot.d.ts} +0 -0
  31. package/dist/types-ts4.0/components/slots/content.d.ts +23 -0
  32. package/dist/types-ts4.0/components/slots/internal/left-sidebar-inner.d.ts +10 -0
  33. package/dist/types-ts4.0/components/slots/internal/left-sidebar-outer.d.ts +13 -0
  34. package/dist/types-ts4.0/components/slots/internal/resizable-children-wrapper.d.ts +11 -0
  35. package/dist/types-ts4.0/components/slots/internal/slot-focus-ring.d.ts +20 -0
  36. package/dist/types-ts4.0/components/slots/left-panel.d.ts +12 -0
  37. package/dist/types-ts4.0/components/slots/left-sidebar-without-resize.d.ts +12 -0
  38. package/dist/types-ts4.0/components/slots/left-sidebar.d.ts +12 -0
  39. package/dist/types-ts4.0/components/slots/main.d.ts +12 -0
  40. package/dist/types-ts4.0/components/slots/page-layout.d.ts +12 -0
  41. package/dist/types-ts4.0/components/slots/right-panel.d.ts +12 -0
  42. package/dist/types-ts4.0/components/slots/right-sidebar.d.ts +12 -0
  43. package/dist/types-ts4.0/components/slots/slot-dimensions.d.ts +7 -0
  44. package/dist/types-ts4.0/components/slots/top-navigation.d.ts +12 -0
  45. package/dist/types-ts4.0/controllers/index.d.ts +6 -0
  46. package/dist/types-ts4.0/controllers/sidebar-resize-context.d.ts +42 -0
  47. package/dist/types-ts4.0/controllers/sidebar-resize-controller.d.ts +3 -0
  48. package/dist/types-ts4.0/controllers/skip-link-context.d.ts +5 -0
  49. package/dist/types-ts4.0/controllers/skip-link-controller.d.ts +2 -0
  50. package/dist/types-ts4.0/controllers/types.d.ts +22 -0
  51. package/dist/types-ts4.0/controllers/use-page-layout-grid.d.ts +3 -0
  52. package/dist/types-ts4.0/controllers/use-update-css-vars.d.ts +2 -0
  53. package/dist/types-ts4.0/index.d.ts +4 -0
  54. package/package.json +19 -12
  55. package/report.api.md +170 -41
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/page-layout
2
2
 
3
+ ## 1.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`522a27e6119`](https://bitbucket.org/atlassian/atlassian-frontend/commits/522a27e6119) - Remove `isOpen` prop from @atlaskit/banner, it is now open by default.
8
+ - Updated dependencies
9
+
10
+ ## 1.3.1
11
+
12
+ ### Patch Changes
13
+
14
+ - [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
15
+
3
16
  ## 1.3.0
4
17
 
5
18
  ### Minor Changes
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  Object.defineProperty(exports, "Banner", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _banner.default;
11
+ return _bannerSlot.default;
12
12
  }
13
13
  });
14
14
  Object.defineProperty(exports, "Content", {
@@ -92,7 +92,7 @@ var _leftSidebar = _interopRequireDefault(require("./slots/left-sidebar"));
92
92
 
93
93
  var _leftSidebarWithoutResize = _interopRequireDefault(require("./slots/left-sidebar-without-resize"));
94
94
 
95
- var _banner = _interopRequireDefault(require("./slots/banner"));
95
+ var _bannerSlot = _interopRequireDefault(require("./slots/banner-slot"));
96
96
 
97
97
  var _topNavigation = _interopRequireDefault(require("./slots/top-navigation"));
98
98
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/page-layout",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "sideEffects": false
5
5
  }
@@ -5,7 +5,7 @@ export { default as LeftPanel } from './slots/left-panel';
5
5
  export { default as RightSidebar } from './slots/right-sidebar';
6
6
  export { default as LeftSidebar } from './slots/left-sidebar';
7
7
  export { default as LeftSidebarWithoutResize } from './slots/left-sidebar-without-resize';
8
- export { default as Banner } from './slots/banner';
8
+ export { default as Banner } from './slots/banner-slot';
9
9
  export { default as TopNavigation } from './slots/top-navigation';
10
10
  export { default as Content } from './slots/content';
11
11
  export { default as ResizeControl } from './resize-control';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/page-layout",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "sideEffects": false
5
5
  }
@@ -5,7 +5,7 @@ export { default as LeftPanel } from './slots/left-panel';
5
5
  export { default as RightSidebar } from './slots/right-sidebar';
6
6
  export { default as LeftSidebar } from './slots/left-sidebar';
7
7
  export { default as LeftSidebarWithoutResize } from './slots/left-sidebar-without-resize';
8
- export { default as Banner } from './slots/banner';
8
+ export { default as Banner } from './slots/banner-slot';
9
9
  export { default as TopNavigation } from './slots/top-navigation';
10
10
  export { default as Content } from './slots/content';
11
11
  export { default as ResizeControl } from './resize-control';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/page-layout",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "sideEffects": false
5
5
  }
@@ -5,7 +5,7 @@ export { default as LeftPanel } from './slots/left-panel';
5
5
  export { default as RightSidebar } from './slots/right-sidebar';
6
6
  export { default as LeftSidebar } from './slots/left-sidebar';
7
7
  export { default as LeftSidebarWithoutResize } from './slots/left-sidebar-without-resize';
8
- export { default as Banner } from './slots/banner';
8
+ export { default as Banner } from './slots/banner-slot';
9
9
  export { default as TopNavigation } from './slots/top-navigation';
10
10
  export { default as Content } from './slots/content';
11
11
  export { default as ResizeControl } from './resize-control';
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotHeightProps } from '../../common/types';
3
+ /**
4
+ * __Banner__
5
+ *
6
+ * Provides a slot for a Banner within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const Banner: (props: SlotHeightProps) => jsx.JSX.Element;
12
+ export default Banner;
@@ -0,0 +1,47 @@
1
+ export declare const VAR_LEFT_PANEL_WIDTH = "leftPanelWidth";
2
+ export declare const VAR_LEFT_SIDEBAR_WIDTH = "leftSidebarWidth";
3
+ export declare const VAR_RIGHT_SIDEBAR_WIDTH = "rightSidebarWidth";
4
+ export declare const VAR_RIGHT_PANEL_WIDTH = "rightPanelWidth";
5
+ export declare const VAR_TOP_NAVIGATION_HEIGHT = "topNavigationHeight";
6
+ export declare const VAR_BANNER_HEIGHT = "bannerHeight";
7
+ export declare const VAR_LEFT_SIDEBAR_FLYOUT = "leftSidebarFlyoutWidth";
8
+ export declare const DIMENSIONS: string[];
9
+ export declare const LEFT_PANEL = "left-panel";
10
+ export declare const RIGHT_PANEL = "right-panel";
11
+ export declare const BANNER = "banner";
12
+ export declare const TOP_NAVIGATION = "top-navigation";
13
+ export declare const CONTENT = "content";
14
+ export declare const MAIN = "main";
15
+ export declare const LEFT_SIDEBAR = "left-sidebar";
16
+ export declare const RIGHT_SIDEBAR = "right-sidebar";
17
+ export declare const DEFAULT_BANNER_HEIGHT = 56;
18
+ export declare const DEFAULT_TOP_NAVIGATION_HEIGHT = 56;
19
+ export declare const DEFAULT_LEFT_SIDEBAR_WIDTH = 240;
20
+ export declare const DEFAULT_RIGHT_SIDEBAR_WIDTH = 280;
21
+ export declare const DEFAULT_RIGHT_PANEL_WIDTH = 368;
22
+ export declare const DEFAULT_LEFT_PANEL_WIDTH = 368;
23
+ export declare const COLLAPSED_LEFT_SIDEBAR_WIDTH = 20;
24
+ export declare const MIN_LEFT_SIDEBAR_WIDTH = 80;
25
+ export declare const DEFAULT_LEFT_SIDEBAR_FLYOUT_WIDTH = 240;
26
+ export declare const MIN_LEFT_SIDEBAR_DRAG_THRESHOLD = 200;
27
+ export declare const TRANSITION_DURATION = 300;
28
+ export declare const FLYOUT_DELAY = 200;
29
+ export declare const LEFT_SIDEBAR_EXPANDED_WIDTH = "expandedLeftSidebarWidth";
30
+ export declare const PAGE_LAYOUT_LS_KEY = "DS_PAGE_LAYOUT_UI_STATE";
31
+ export declare const IS_SIDEBAR_DRAGGING = "data-is-sidebar-dragging";
32
+ export declare const IS_SIDEBAR_COLLAPSING = "data-is-sidebar-collapsing";
33
+ export declare const IS_FLYOUT_OPEN = "data-is-flyout-open";
34
+ export declare const GRAB_AREA_LINE_SELECTOR = "data-grab-area-line";
35
+ export declare const GRAB_AREA_SELECTOR = "data-grab-area";
36
+ export declare const RESIZE_BUTTON_SELECTOR = "data-resize-button";
37
+ export declare const RESIZE_CONTROL_SELECTOR = "data-resize-control";
38
+ export declare const PAGE_LAYOUT_SLOT_SELECTOR = "data-ds--page-layout--slot";
39
+ export declare const DEFAULT_I18N_PROPS_SKIP_LINKS = "Skip to:";
40
+ export declare const PAGE_LAYOUT_CONTAINER_SELECTOR = "data-layout-container";
41
+ export declare const LEFT_PANEL_WIDTH: string;
42
+ export declare const RIGHT_PANEL_WIDTH: string;
43
+ export declare const LEFT_SIDEBAR_WIDTH: string;
44
+ export declare const RIGHT_SIDEBAR_WIDTH: string;
45
+ export declare const TOP_NAVIGATION_HEIGHT: string;
46
+ export declare const BANNER_HEIGHT: string;
47
+ export declare const LEFT_SIDEBAR_FLYOUT_WIDTH: string;
@@ -0,0 +1,2 @@
1
+ export { default as useIsSidebarCollapsing } from './use-is-sidebar-collapsing';
2
+ export { default as useIsSidebarDragging } from './use-is-sidebar-dragging';
@@ -0,0 +1,2 @@
1
+ declare const useIsSidebarCollapsing: () => boolean;
2
+ export default useIsSidebarCollapsing;
@@ -0,0 +1,2 @@
1
+ declare const useIsSidebarDragging: () => boolean;
2
+ export default useIsSidebarDragging;
@@ -0,0 +1,2 @@
1
+ declare const safeLocalStorage: () => Storage;
2
+ export default safeLocalStorage;
@@ -0,0 +1,117 @@
1
+ import { ElementType, ReactElement, ReactNode } from 'react';
2
+ import { ResizeButtonProps } from '../components/resize-control/types';
3
+ import { LeftSidebarState } from '../controllers/sidebar-resize-context';
4
+ interface SlotProps {
5
+ /**
6
+ * Sets positon to fixed.
7
+ */
8
+ isFixed?: boolean;
9
+ /**
10
+ * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests .
11
+ */
12
+ testId?: string;
13
+ /**
14
+ * React Children!
15
+ */
16
+ children: ReactNode;
17
+ id?: string;
18
+ skipLinkTitle?: string;
19
+ }
20
+ export interface SlotHeightProps extends SlotProps {
21
+ /**
22
+ * It save height in local storage.
23
+ */
24
+ shouldPersistHeight?: boolean;
25
+ /**
26
+ * Height!
27
+ */
28
+ height?: number;
29
+ }
30
+ export interface SlotWidthProps extends SlotProps {
31
+ /**
32
+ * It save width in local storage.
33
+ */
34
+ shouldPersistWidth?: boolean;
35
+ /**
36
+ * Width!
37
+ */
38
+ width?: number;
39
+ }
40
+ export interface LeftSidebarProps extends SlotWidthProps {
41
+ /**
42
+ * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
43
+ */
44
+ testId?: string;
45
+ /**
46
+ * You can override prop(s) for the mentioned component(s).
47
+ */
48
+ overrides?: {
49
+ ResizeButton?: {
50
+ render?: (Component: ElementType<ResizeButtonProps>, props: ResizeButtonProps) => ReactElement;
51
+ };
52
+ };
53
+ /**
54
+ * Display label for grab area. This will be announced to the screenreaders when the grab area receives focus
55
+ */
56
+ resizeGrabAreaLabel?: string;
57
+ /**
58
+ * Display label for resize button.
59
+ */
60
+ resizeButtonLabel?: string;
61
+ /**
62
+ * Called when left-sidebar is collapsed.
63
+ */
64
+ onCollapse?: () => void;
65
+ /**
66
+ * Called when left-sidebar is expanded.
67
+ */
68
+ onExpand?: () => void;
69
+ /**
70
+ * Called when left-sidebar resize starts using mouse or touch.
71
+ */
72
+ onResizeStart?: (leftSidebarState: LeftSidebarState) => void;
73
+ /**
74
+ * Called when left-sidebar resize ends using mouse or touch.
75
+ */
76
+ onResizeEnd?: (leftSidebarState: LeftSidebarState) => void;
77
+ /**
78
+ * Called when left-sidebar is collapsed and mouse leaves the area.
79
+ */
80
+ onFlyoutCollapse?: () => void;
81
+ /**
82
+ * Called after flyout delay when left-sidebar is collapsed and mouse enters the area.
83
+ */
84
+ onFlyoutExpand?: () => void;
85
+ /**
86
+ * Controls whether the LeftSidebar mounts in a collapsed state, this will override the setting in localStorage
87
+ */
88
+ collapsedState?: 'collapsed' | 'expanded';
89
+ /**
90
+ * Controls the width when LeftSidebar mounts, this will override the setting in localStorage
91
+ */
92
+ width?: number;
93
+ }
94
+ export declare type SidebarResizeControllerProps = {
95
+ /**
96
+ * Called when left-sidebar expanded.
97
+ */
98
+ onLeftSidebarExpand?: (leftSidebarState: LeftSidebarState) => void;
99
+ /**
100
+ * Called when left-sidebar collapsed.
101
+ */
102
+ onLeftSidebarCollapse?: (leftSidebarState: LeftSidebarState) => void;
103
+ };
104
+ export declare type DimensionNames = 'leftPanelWidth' | 'bannerHeight' | 'topNavigationHeight' | 'leftSidebarWidth' | 'leftSidebarFlyoutWidth' | 'rightSidebarWidth' | 'rightPanelWidth';
105
+ export declare type Dimensions = Partial<Record<DimensionNames, number>>;
106
+ export interface PageLayoutProps extends SidebarResizeControllerProps {
107
+ /**
108
+ * React children!
109
+ */
110
+ children: ReactNode;
111
+ skipLinksLabel?: string;
112
+ /**
113
+ * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
114
+ */
115
+ testId?: string;
116
+ }
117
+ export type { LeftSidebarState } from '../controllers/sidebar-resize-context';
@@ -0,0 +1,13 @@
1
+ import { DimensionNames, Dimensions } from './types';
2
+ declare const emptyGridState: Dimensions;
3
+ declare const mergeGridStateIntoStorage: (key: string, value: any) => void;
4
+ declare const getGridStateFromStorage: (key: string) => any;
5
+ declare const removeFromGridStateInStorage: (key: string, secondKey?: string | undefined) => void;
6
+ declare const resolveDimension: (key: DimensionNames, dimension?: number, shouldPersist?: boolean) => any;
7
+ declare const getLeftPanelWidth: () => number;
8
+ declare const getLeftSidebarPercentage: (currentWidth: number, maxWidth: number) => number;
9
+ declare const getPageLayoutSlotSelector: (slotName: string) => {
10
+ "data-ds--page-layout--slot": string;
11
+ };
12
+ declare const getPageLayoutSlotCSSSelector: (slotName: string) => string;
13
+ export { emptyGridState, mergeGridStateIntoStorage, getGridStateFromStorage, removeFromGridStateInStorage, resolveDimension, getLeftPanelWidth, getLeftSidebarPercentage, getPageLayoutSlotSelector, getPageLayoutSlotCSSSelector, };
@@ -0,0 +1,12 @@
1
+ export { default as PageLayout } from './slots/page-layout';
2
+ export { default as Main } from './slots/main';
3
+ export { default as RightPanel } from './slots/right-panel';
4
+ export { default as LeftPanel } from './slots/left-panel';
5
+ export { default as RightSidebar } from './slots/right-sidebar';
6
+ export { default as LeftSidebar } from './slots/left-sidebar';
7
+ export { default as LeftSidebarWithoutResize } from './slots/left-sidebar-without-resize';
8
+ export { default as Banner } from './slots/banner-slot';
9
+ export { default as TopNavigation } from './slots/top-navigation';
10
+ export { default as Content } from './slots/content';
11
+ export { default as ResizeControl } from './resize-control';
12
+ export { useCustomSkipLink } from './skip-links';
@@ -0,0 +1,9 @@
1
+ /** @jsx jsx */
2
+ import { ComponentProps } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ export declare type GrabAreaProps = {
5
+ testId?: string;
6
+ isLeftSidebarCollapsed: boolean;
7
+ } & ComponentProps<'button'>;
8
+ declare const GrabArea: ({ testId, isLeftSidebarCollapsed, ...rest }: GrabAreaProps) => jsx.JSX.Element;
9
+ export default GrabArea;
@@ -0,0 +1,4 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { ResizeControlProps } from './types';
3
+ declare const ResizeControl: ({ testId, overrides, resizeButtonLabel, resizeGrabAreaLabel, onResizeStart, onResizeEnd, }: ResizeControlProps) => jsx.JSX.Element;
4
+ export default ResizeControl;
@@ -0,0 +1,4 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { ResizeButtonProps } from './types';
3
+ declare const ResizeButton: ({ isLeftSidebarCollapsed, label, testId, ...props }: ResizeButtonProps) => jsx.JSX.Element;
4
+ export default ResizeButton;
@@ -0,0 +1,6 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ declare const Shadow: ({ testId }: {
4
+ testId?: string | undefined;
5
+ }) => jsx.JSX.Element;
6
+ export default Shadow;
@@ -0,0 +1,25 @@
1
+ import { ButtonHTMLAttributes, ElementType, ReactElement } from 'react';
2
+ import { LeftSidebarState } from '../../controllers/sidebar-resize-context';
3
+ export declare type ResizeButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
4
+ isLeftSidebarCollapsed: boolean;
5
+ label: string;
6
+ testId?: string;
7
+ };
8
+ export declare type ResizeControlProps = {
9
+ testId?: string;
10
+ overrides?: {
11
+ ResizeButton?: {
12
+ render?: (Component: ElementType<ResizeButtonProps>, props: ResizeButtonProps) => ReactElement;
13
+ };
14
+ };
15
+ resizeGrabAreaLabel?: string;
16
+ resizeButtonLabel?: string;
17
+ onCollapse?: (leftSidebarState: LeftSidebarState) => void;
18
+ onExpand?: (leftSidebarState: LeftSidebarState) => void;
19
+ onResizeStart?: (leftSidebarState: LeftSidebarState) => void;
20
+ onResizeEnd?: (leftSidebarState: LeftSidebarState) => void;
21
+ onFlyoutCollapse?: () => void;
22
+ onFlyoutExpand?: () => void;
23
+ leftSidebarState: LeftSidebarState;
24
+ setLeftSidebarState: (leftSidebarState: LeftSidebarState) => void;
25
+ };
@@ -0,0 +1,2 @@
1
+ export { SkipLinkWrapper, SkipLink } from './skip-link-components';
2
+ export { useCustomSkipLink } from './use-custom-skip-link';
@@ -0,0 +1,11 @@
1
+ /** @jsx jsx */
2
+ import { ReactNode } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ import { SkipLinkWrapperProps } from './types';
5
+ export declare const SkipLinkWrapper: ({ skipLinksLabel }: SkipLinkWrapperProps) => jsx.JSX.Element | null;
6
+ export declare const SkipLink: ({ href, children, isFocusable, title, }: {
7
+ href: string;
8
+ children: ReactNode;
9
+ isFocusable: boolean;
10
+ title: string;
11
+ }) => jsx.JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare type SkipLinkData = {
2
+ id: string;
3
+ name: string;
4
+ ref?: undefined;
5
+ };
6
+ export declare type SkipLinkWrapperProps = {
7
+ skipLinksLabel: string;
8
+ };
@@ -0,0 +1,2 @@
1
+ import { SkipLinkData } from '../../controllers';
2
+ export declare const useCustomSkipLink: (id: SkipLinkData['id'], skipLinkTitle: SkipLinkData['skipLinkTitle'], listIndex?: SkipLinkData['listIndex']) => void;
@@ -0,0 +1,23 @@
1
+ /** @jsx jsx */
2
+ import { ReactNode } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ interface ContentProps {
5
+ /**
6
+ * React children
7
+ */
8
+ children: ReactNode;
9
+ /**
10
+ * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
11
+ */
12
+ testId?: string;
13
+ }
14
+ /**
15
+ * __Content__
16
+ *
17
+ * Provides a slot for your application content within the PageLayout.
18
+ *
19
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
20
+ * - [Code](https://atlassian.design/components/page-layout/code)
21
+ */
22
+ declare const Content: (props: ContentProps) => jsx.JSX.Element;
23
+ export default Content;
@@ -0,0 +1,10 @@
1
+ /** @jsx jsx */
2
+ import type { ReactNode } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ declare type LeftSidebarInnerProps = {
5
+ children: ReactNode;
6
+ isFixed?: boolean;
7
+ isFlyoutOpen?: boolean;
8
+ };
9
+ declare const LeftSidebarInner: ({ children, isFixed, isFlyoutOpen, }: LeftSidebarInnerProps) => jsx.JSX.Element;
10
+ export default LeftSidebarInner;
@@ -0,0 +1,13 @@
1
+ /** @jsx jsx */
2
+ import { MouseEventHandler, ReactNode } from 'react';
3
+ declare type LeftSidebarOuterProps = {
4
+ children: ReactNode;
5
+ isFixed?: boolean;
6
+ isFlyoutOpen?: boolean;
7
+ testId?: string;
8
+ id?: string;
9
+ onMouseOver?: MouseEventHandler;
10
+ onMouseLeave?: MouseEventHandler;
11
+ };
12
+ declare const _default: import("react").ForwardRefExoticComponent<LeftSidebarOuterProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ export default _default;
@@ -0,0 +1,11 @@
1
+ /** @jsx jsx */
2
+ import type { ReactNode } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ declare type ResizableChildrenWrapperProps = {
5
+ children: ReactNode;
6
+ isFlyoutOpen?: boolean;
7
+ isLeftSidebarCollapsed?: boolean;
8
+ hasCollapsedState?: boolean;
9
+ };
10
+ declare const ResizableChildrenWrapper: ({ children, isLeftSidebarCollapsed, hasCollapsedState, isFlyoutOpen, }: ResizableChildrenWrapperProps) => jsx.JSX.Element;
11
+ export default ResizableChildrenWrapper;
@@ -0,0 +1,20 @@
1
+ /** @jsx jsx */
2
+ import type { ReactNode } from 'react';
3
+ import { jsx } from '@emotion/react';
4
+ declare type SlotFocusRingProps = {
5
+ children: (props: {
6
+ className: string;
7
+ }) => ReactNode;
8
+ isSidebar?: boolean;
9
+ };
10
+ /**
11
+ * We don't use `@atlaskit/focus-ring` here,
12
+ * because we need inset focus styles and:
13
+ *
14
+ * 1. If we set them directly to the layout element,
15
+ * then any child element's background will cover the shadow.
16
+ * 2. We cannot wrap `children` in `FocusRing`,
17
+ * because there's no guarantee the passed child takes `className`.
18
+ */
19
+ declare const SlotFocusRing: ({ children, isSidebar }: SlotFocusRingProps) => jsx.JSX.Element;
20
+ export default SlotFocusRing;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotWidthProps } from '../../common/types';
3
+ /**
4
+ * __Left panel__
5
+ *
6
+ * Provides a slot for a left panel within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const LeftPanel: (props: SlotWidthProps) => jsx.JSX.Element;
12
+ export default LeftPanel;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotWidthProps } from '../../common/types';
3
+ /**
4
+ * __Left sidebar without resize__
5
+ *
6
+ * Provides a slot for a left sidebar without resize within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const LeftSidebarWithoutResize: (props: SlotWidthProps) => jsx.JSX.Element;
12
+ export default LeftSidebarWithoutResize;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { LeftSidebarProps } from '../../common/types';
3
+ /**
4
+ * __Left sidebar__
5
+ *
6
+ * Provides a slot for a left sidebar within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const LeftSidebar: (props: LeftSidebarProps) => jsx.JSX.Element;
12
+ export default LeftSidebar;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotWidthProps } from '../../common/types';
3
+ /**
4
+ * __Main__
5
+ *
6
+ * Provides a slot for main content within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const Main: (props: SlotWidthProps) => jsx.JSX.Element;
12
+ export default Main;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { PageLayoutProps } from '../../common/types';
3
+ /**
4
+ * __Page layout__
5
+ *
6
+ * A collection of components which let you compose an application's page layout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const PageLayout: ({ skipLinksLabel, children, testId, onLeftSidebarExpand, onLeftSidebarCollapse, }: PageLayoutProps) => jsx.JSX.Element;
12
+ export default PageLayout;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotWidthProps } from '../../common/types';
3
+ /**
4
+ * __Right panel__
5
+ *
6
+ * Provides a slot for a right panel within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const RightPanel: (props: SlotWidthProps) => jsx.JSX.Element;
12
+ export default RightPanel;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotWidthProps } from '../../common/types';
3
+ /**
4
+ * __Right sidebar__
5
+ *
6
+ * Provides a slot for a right sidebar within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const RightSidebar: (props: SlotWidthProps) => jsx.JSX.Element;
12
+ export default RightSidebar;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface SlotDimensionsProps {
3
+ variableName: string;
4
+ value?: number;
5
+ }
6
+ declare const _default: ({ variableName, value }: SlotDimensionsProps) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { jsx } from '@emotion/react';
2
+ import { SlotHeightProps } from '../../common/types';
3
+ /**
4
+ * __Top navigation__
5
+ *
6
+ * Provides a slot for top navigation within the PageLayout.
7
+ *
8
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
9
+ * - [Code](https://atlassian.design/components/page-layout/code)
10
+ */
11
+ declare const TopNavigation: (props: SlotHeightProps) => jsx.JSX.Element;
12
+ export default TopNavigation;
@@ -0,0 +1,6 @@
1
+ export type { SkipLinkData } from './types';
2
+ export { default as publishGridState } from './use-page-layout-grid';
3
+ export { SidebarResizeContext, usePageLayoutResize, useLeftSidebarFlyoutLock, } from './sidebar-resize-context';
4
+ export { SidebarResizeController } from './sidebar-resize-controller';
5
+ export { useSkipLinks, useSkipLink } from './skip-link-context';
6
+ export { SkipLinksController } from './skip-link-controller';
@@ -0,0 +1,42 @@
1
+ import { KeyboardEvent, MouseEvent } from 'react';
2
+ export declare type LeftSidebarState = {
3
+ isFlyoutOpen: boolean;
4
+ isResizing: boolean;
5
+ isLeftSidebarCollapsed: boolean;
6
+ leftSidebarWidth: number;
7
+ lastLeftSidebarWidth: number;
8
+ flyoutLockCount: number;
9
+ isFixed: boolean;
10
+ };
11
+ export declare type SidebarResizeContextValue = {
12
+ isLeftSidebarCollapsed: boolean;
13
+ expandLeftSidebar: () => void;
14
+ collapseLeftSidebar: (event?: MouseEvent | KeyboardEvent, collapseWithoutTransition?: boolean) => void;
15
+ leftSidebarState: LeftSidebarState;
16
+ setLeftSidebarState: (value: LeftSidebarState | ((prevState: LeftSidebarState) => LeftSidebarState)) => void;
17
+ };
18
+ export declare const SidebarResizeContext: import("react").Context<SidebarResizeContextValue>;
19
+ export declare const usePageLayoutResize: () => {
20
+ isLeftSidebarCollapsed: boolean;
21
+ expandLeftSidebar: () => void;
22
+ collapseLeftSidebar: (event?: MouseEvent<Element, globalThis.MouseEvent> | KeyboardEvent<Element> | undefined, collapseWithoutTransition?: boolean | undefined) => void;
23
+ leftSidebarState: LeftSidebarState;
24
+ };
25
+ /**
26
+ * _**WARNING:**_ This hook is intended as a temporary solution and
27
+ * is likely to be removed in a future version of page-layout.
28
+ *
29
+ * ---
30
+ *
31
+ * This hook will prevent the left sidebar from automatically collapsing
32
+ * when it is in a flyout state.
33
+ *
34
+ * The intended use case for this hook is to allow popup menus in the
35
+ * left sidebar to be usable while it is in a flyout state.
36
+ *
37
+ * ## Usage
38
+ * The intended usage is to use this hook within the popup component
39
+ * you are rendering. This way the left sidebar will be locked for
40
+ * as long as the popup is open.
41
+ */
42
+ export declare const useLeftSidebarFlyoutLock: () => void;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { SidebarResizeControllerProps } from '../common/types';
3
+ export declare const SidebarResizeController: FC<SidebarResizeControllerProps>;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { SkipLinkContextProps } from './types';
3
+ export declare const SkipLinksContext: import("react").Context<SkipLinkContextProps>;
4
+ export declare const useSkipLinks: () => SkipLinkContextProps;
5
+ export declare const useSkipLink: (id?: string | undefined, skipLinkTitle?: string | undefined) => void;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const SkipLinksController: FC;
@@ -0,0 +1,22 @@
1
+ export declare type SkipLinkContextProps = {
2
+ skipLinksData: SkipLinkData[];
3
+ registerSkipLink: (skipLinkDate: SkipLinkData) => void;
4
+ unregisterSkipLink: (id: string | undefined) => void;
5
+ };
6
+ export declare type SkipLinkData = {
7
+ /**
8
+ * id for the element that will be skipped to
9
+ */
10
+ id: string;
11
+ /**
12
+ * Text for the link that will appear in the skip link menu
13
+ */
14
+ skipLinkTitle: string;
15
+ /**
16
+ * Desired position in the skip link menu
17
+ */
18
+ listIndex?: number;
19
+ };
20
+ export declare type SkipLinkI18n = {
21
+ title: string;
22
+ };
@@ -0,0 +1,3 @@
1
+ import { Dimensions } from '../common/types';
2
+ declare const publishGridState: (gridState: Dimensions) => void;
3
+ export default publishGridState;
@@ -0,0 +1,2 @@
1
+ declare function useUpdateCssVar(cssVar: string, value: number | string): void;
2
+ export default useUpdateCssVar;
@@ -0,0 +1,4 @@
1
+ export { PageLayout, Main, Content, RightSidebar, LeftSidebar, LeftSidebarWithoutResize, RightPanel, LeftPanel, Banner, TopNavigation, useCustomSkipLink, } from './components';
2
+ export { LEFT_PANEL_WIDTH, RIGHT_PANEL_WIDTH, BANNER_HEIGHT, TOP_NAVIGATION_HEIGHT, LEFT_SIDEBAR_WIDTH, RIGHT_SIDEBAR_WIDTH, } from './common/constants';
3
+ export { usePageLayoutResize, useLeftSidebarFlyoutLock } from './controllers';
4
+ export type { SlotHeightProps, SlotWidthProps, Dimensions, LeftSidebarState, } from './common/types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/page-layout",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
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/"
@@ -12,6 +12,13 @@
12
12
  "module": "dist/esm/index.js",
13
13
  "module:es2019": "dist/es2019/index.js",
14
14
  "types": "dist/types/index.d.ts",
15
+ "typesVersions": {
16
+ ">=4.0 <4.5": {
17
+ "*": [
18
+ "dist/types-ts4.0/*"
19
+ ]
20
+ }
21
+ },
15
22
  "sideEffects": false,
16
23
  "atlaskit:src": "src/index.tsx",
17
24
  "atlassian": {
@@ -26,7 +33,7 @@
26
33
  "homepage": "https://atlassian.design/components/page-layout/",
27
34
  "dependencies": {
28
35
  "@atlaskit/ds-lib": "^2.1.0",
29
- "@atlaskit/icon": "^21.10.0",
36
+ "@atlaskit/icon": "^21.11.0",
30
37
  "@atlaskit/motion": "^1.2.0",
31
38
  "@atlaskit/theme": "^12.2.0",
32
39
  "@atlaskit/tokens": "^0.10.0",
@@ -44,29 +51,29 @@
44
51
  "@atlaskit/atlassian-notifications": "^0.3.0",
45
52
  "@atlaskit/button": "^16.3.0",
46
53
  "@atlaskit/docs": "*",
47
- "@atlaskit/drawer": "^7.2.0",
54
+ "@atlaskit/drawer": "^7.3.0",
48
55
  "@atlaskit/icon": "*",
49
- "@atlaskit/logo": "^13.9.0",
56
+ "@atlaskit/logo": "^13.10.0",
50
57
  "@atlaskit/menu": "^1.3.0",
51
58
  "@atlaskit/notification-indicator": "^9.0.0",
52
59
  "@atlaskit/notification-log-client": "^6.0.0",
53
- "@atlaskit/onboarding": "^10.5.0",
54
- "@atlaskit/popup": "^1.4.0",
55
- "@atlaskit/section-message": "^6.2.0",
56
- "@atlaskit/side-navigation": "^1.2.0",
60
+ "@atlaskit/onboarding": "^10.6.0",
61
+ "@atlaskit/popup": "^1.5.0",
62
+ "@atlaskit/section-message": "^6.3.0",
63
+ "@atlaskit/side-navigation": "^1.3.0",
57
64
  "@atlaskit/ssr": "*",
58
65
  "@atlaskit/tooltip": "*",
59
66
  "@atlaskit/visual-regression": "*",
60
67
  "@atlaskit/webdriver-runner": "*",
61
68
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
62
- "@testing-library/dom": "^7.7.3",
63
- "@testing-library/react": "^8.0.1",
64
- "@testing-library/react-hooks": "^1.0.4",
69
+ "@testing-library/dom": "^8.17.1",
70
+ "@testing-library/react": "^12.1.5",
71
+ "@testing-library/react-hooks": "^8.0.1",
65
72
  "@types/raf-schd": "^4.0.1",
66
73
  "jest-emotion": "^10.0.32",
67
74
  "raf-stub": "^2.0.1",
68
75
  "storybook-addon-performance": "^0.16.0",
69
- "typescript": "4.3.5"
76
+ "typescript": "4.5.5"
70
77
  },
71
78
  "keywords": [
72
79
  "atlaskit",
package/report.api.md CHANGED
@@ -1,29 +1,48 @@
1
- ## API Report File for "@atlaskit/page-layout"
1
+ ## API Report File for "@atlaskit/page-layout".
2
2
 
3
- > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
3
+ > Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).
4
4
 
5
- ```ts
6
- /// <reference types="react" />
5
+ [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
7
6
 
7
+ ```ts
8
8
  import { ButtonHTMLAttributes } from 'react';
9
9
  import { ElementType } from 'react';
10
+ import { jsx } from '@emotion/react';
10
11
  import { KeyboardEvent as KeyboardEvent_2 } from 'react';
11
12
  import { MouseEvent as MouseEvent_2 } from 'react';
12
13
  import { ReactElement } from 'react';
13
14
  import { ReactNode } from 'react';
14
15
 
15
- export declare const Banner: (props: SlotHeightProps) => JSX.Element;
16
+ /**
17
+ * __Banner__
18
+ *
19
+ * Provides a slot for a Banner within the PageLayout.
20
+ *
21
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
22
+ * - [Code](https://atlassian.design/components/page-layout/code)
23
+ */
24
+ export declare const Banner: (props: SlotHeightProps) => jsx.JSX.Element;
16
25
 
17
26
  export declare const BANNER_HEIGHT: string;
18
27
 
19
- export declare const Content: (props: ContentProps) => JSX.Element;
28
+ /**
29
+ * __Content__
30
+ *
31
+ * Provides a slot for your application content within the PageLayout.
32
+ *
33
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
34
+ * - [Code](https://atlassian.design/components/page-layout/code)
35
+ */
36
+ export declare const Content: (props: ContentProps) => jsx.JSX.Element;
20
37
 
21
38
  declare interface ContentProps {
22
- /** React children! */
39
+ /**
40
+ * React children
41
+ */
23
42
  children: ReactNode;
24
43
  /**
25
44
  * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
26
- **/
45
+ */
27
46
  testId?: string;
28
47
  }
29
48
 
@@ -42,16 +61,34 @@ export declare const LEFT_PANEL_WIDTH: string;
42
61
 
43
62
  export declare const LEFT_SIDEBAR_WIDTH: string;
44
63
 
45
- export declare const LeftPanel: (props: SlotWidthProps) => JSX.Element;
64
+ /**
65
+ * __Left panel__
66
+ *
67
+ * Provides a slot for a left panel within the PageLayout.
68
+ *
69
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
70
+ * - [Code](https://atlassian.design/components/page-layout/code)
71
+ */
72
+ export declare const LeftPanel: (props: SlotWidthProps) => jsx.JSX.Element;
46
73
 
47
- export declare const LeftSidebar: (props: LeftSidebarProps) => JSX.Element;
74
+ /**
75
+ * __Left sidebar__
76
+ *
77
+ * Provides a slot for a left sidebar within the PageLayout.
78
+ *
79
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
80
+ * - [Code](https://atlassian.design/components/page-layout/code)
81
+ */
82
+ export declare const LeftSidebar: (props: LeftSidebarProps) => jsx.JSX.Element;
48
83
 
49
84
  declare interface LeftSidebarProps extends SlotWidthProps {
50
85
  /**
51
86
  * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
52
87
  */
53
88
  testId?: string;
54
- /** You can override prop(s) for the mentioned component(s). */
89
+ /**
90
+ * You can override prop(s) for the mentioned component(s).
91
+ */
55
92
  overrides?: {
56
93
  ResizeButton?: {
57
94
  render?: (
@@ -60,25 +97,45 @@ declare interface LeftSidebarProps extends SlotWidthProps {
60
97
  ) => ReactElement;
61
98
  };
62
99
  };
63
- /** Display label for grab area. This will be announced to the screenreaders when the grab area receives focus */
100
+ /**
101
+ * Display label for grab area. This will be announced to the screenreaders when the grab area receives focus
102
+ */
64
103
  resizeGrabAreaLabel?: string;
65
- /** Display label for resize button. */
104
+ /**
105
+ * Display label for resize button.
106
+ */
66
107
  resizeButtonLabel?: string;
67
- /** Called when left-sidebar is collapsed. */
108
+ /**
109
+ * Called when left-sidebar is collapsed.
110
+ */
68
111
  onCollapse?: () => void;
69
- /** Called when left-sidebar is expanded. */
112
+ /**
113
+ * Called when left-sidebar is expanded.
114
+ */
70
115
  onExpand?: () => void;
71
- /** Called when left-sidebar resize starts using mouse or touch. */
116
+ /**
117
+ * Called when left-sidebar resize starts using mouse or touch.
118
+ */
72
119
  onResizeStart?: (leftSidebarState: LeftSidebarState) => void;
73
- /** Called when left-sidebar resize ends using mouse or touch. */
120
+ /**
121
+ * Called when left-sidebar resize ends using mouse or touch.
122
+ */
74
123
  onResizeEnd?: (leftSidebarState: LeftSidebarState) => void;
75
- /** Called when left-sidebar is collapsed and mouse leaves the area. */
124
+ /**
125
+ * Called when left-sidebar is collapsed and mouse leaves the area.
126
+ */
76
127
  onFlyoutCollapse?: () => void;
77
- /** Called after flyout delay when left-sidebar is collapsed and mouse enters the area. */
128
+ /**
129
+ * Called after flyout delay when left-sidebar is collapsed and mouse enters the area.
130
+ */
78
131
  onFlyoutExpand?: () => void;
79
- /** Controls whether the LeftSidebar mounts in a collapsed state, this will override the setting in localStorage */
132
+ /**
133
+ * Controls whether the LeftSidebar mounts in a collapsed state, this will override the setting in localStorage
134
+ */
80
135
  collapsedState?: 'collapsed' | 'expanded';
81
- /** Controls the width when LeftSidebar mounts, this will override the setting in localStorage */
136
+ /**
137
+ * Controls the width when LeftSidebar mounts, this will override the setting in localStorage
138
+ */
82
139
  width?: number;
83
140
  }
84
141
 
@@ -92,27 +149,53 @@ export declare type LeftSidebarState = {
92
149
  isFixed: boolean;
93
150
  };
94
151
 
152
+ /**
153
+ * __Left sidebar without resize__
154
+ *
155
+ * Provides a slot for a left sidebar without resize within the PageLayout.
156
+ *
157
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
158
+ * - [Code](https://atlassian.design/components/page-layout/code)
159
+ */
95
160
  export declare const LeftSidebarWithoutResize: (
96
161
  props: SlotWidthProps,
97
- ) => JSX.Element;
162
+ ) => jsx.JSX.Element;
98
163
 
99
- export declare const Main: (props: SlotWidthProps) => JSX.Element;
164
+ /**
165
+ * __Main__
166
+ *
167
+ * Provides a slot for main content within the PageLayout.
168
+ *
169
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
170
+ * - [Code](https://atlassian.design/components/page-layout/code)
171
+ */
172
+ export declare const Main: (props: SlotWidthProps) => jsx.JSX.Element;
100
173
 
174
+ /**
175
+ * __Page layout__
176
+ *
177
+ * A collection of components which let you compose an application's page layout.
178
+ *
179
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
180
+ * - [Code](https://atlassian.design/components/page-layout/code)
181
+ */
101
182
  export declare const PageLayout: ({
102
183
  skipLinksLabel,
103
184
  children,
104
185
  testId,
105
186
  onLeftSidebarExpand,
106
187
  onLeftSidebarCollapse,
107
- }: PageLayoutProps) => JSX.Element;
188
+ }: PageLayoutProps) => jsx.JSX.Element;
108
189
 
109
190
  declare interface PageLayoutProps extends SidebarResizeControllerProps {
110
- /** React children! */
191
+ /**
192
+ * React children!
193
+ */
111
194
  children: ReactNode;
112
195
  skipLinksLabel?: string;
113
196
  /**
114
197
  * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
115
- **/
198
+ */
116
199
  testId?: string;
117
200
  }
118
201
 
@@ -126,56 +209,102 @@ export declare const RIGHT_PANEL_WIDTH: string;
126
209
 
127
210
  export declare const RIGHT_SIDEBAR_WIDTH: string;
128
211
 
129
- export declare const RightPanel: (props: SlotWidthProps) => JSX.Element;
212
+ /**
213
+ * __Right panel__
214
+ *
215
+ * Provides a slot for a right panel within the PageLayout.
216
+ *
217
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
218
+ * - [Code](https://atlassian.design/components/page-layout/code)
219
+ */
220
+ export declare const RightPanel: (props: SlotWidthProps) => jsx.JSX.Element;
130
221
 
131
- export declare const RightSidebar: (props: SlotWidthProps) => JSX.Element;
222
+ /**
223
+ * __Right sidebar__
224
+ *
225
+ * Provides a slot for a right sidebar within the PageLayout.
226
+ *
227
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
228
+ * - [Code](https://atlassian.design/components/page-layout/code)
229
+ */
230
+ export declare const RightSidebar: (props: SlotWidthProps) => jsx.JSX.Element;
132
231
 
133
232
  declare type SidebarResizeControllerProps = {
134
- /** Called when left-sidebar expanded. */
233
+ /**
234
+ * Called when left-sidebar expanded.
235
+ */
135
236
  onLeftSidebarExpand?: (leftSidebarState: LeftSidebarState) => void;
136
- /** Called when left-sidebar collapsed. */
237
+ /**
238
+ * Called when left-sidebar collapsed.
239
+ */
137
240
  onLeftSidebarCollapse?: (leftSidebarState: LeftSidebarState) => void;
138
241
  };
139
242
 
140
243
  declare type SkipLinkData = {
141
- /** id for the element that will be skipped to */
244
+ /**
245
+ * id for the element that will be skipped to
246
+ */
142
247
  id: string;
143
- /** Text for the link that will appear in the skip link menu */
248
+ /**
249
+ * Text for the link that will appear in the skip link menu
250
+ */
144
251
  skipLinkTitle: string;
145
- /** Desired position in the skip link menu */
252
+ /**
253
+ * Desired position in the skip link menu
254
+ */
146
255
  listIndex?: number;
147
256
  };
148
257
 
149
258
  export declare interface SlotHeightProps extends SlotProps {
150
- /** It save height in local storage. */
259
+ /**
260
+ * It save height in local storage.
261
+ */
151
262
  shouldPersistHeight?: boolean;
152
- /** Height! */
263
+ /**
264
+ * Height!
265
+ */
153
266
  height?: number;
154
267
  }
155
268
 
156
269
  declare interface SlotProps {
157
- /** Sets positon to fixed. */
270
+ /**
271
+ * Sets positon to fixed.
272
+ */
158
273
  isFixed?: boolean;
159
274
  /**
160
275
  * A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests .
161
276
  */
162
277
  testId?: string;
163
- /** React Children! */
278
+ /**
279
+ * React Children!
280
+ */
164
281
  children: ReactNode;
165
282
  id?: string;
166
283
  skipLinkTitle?: string;
167
284
  }
168
285
 
169
286
  export declare interface SlotWidthProps extends SlotProps {
170
- /** It save width in local storage. */
287
+ /**
288
+ * It save width in local storage.
289
+ */
171
290
  shouldPersistWidth?: boolean;
172
- /** Width! */
291
+ /**
292
+ * Width!
293
+ */
173
294
  width?: number;
174
295
  }
175
296
 
176
297
  export declare const TOP_NAVIGATION_HEIGHT: string;
177
298
 
178
- export declare const TopNavigation: (props: SlotHeightProps) => JSX.Element;
299
+ /**
300
+ * __Top navigation__
301
+ *
302
+ * Provides a slot for top navigation within the PageLayout.
303
+ *
304
+ * - [Examples](https://atlassian.design/components/page-layout/examples)
305
+ * - [Code](https://atlassian.design/components/page-layout/code)
306
+ */
307
+ export declare const TopNavigation: (props: SlotHeightProps) => jsx.JSX.Element;
179
308
 
180
309
  export declare const useCustomSkipLink: (
181
310
  id: SkipLinkData['id'],
@@ -184,7 +313,7 @@ export declare const useCustomSkipLink: (
184
313
  ) => void;
185
314
 
186
315
  /**
187
- * **WARNING:** This hook is intended as a temporary solution and
316
+ * _**WARNING:**_ This hook is intended as a temporary solution and
188
317
  * is likely to be removed in a future version of page-layout.
189
318
  *
190
319
  * ---