carbon-react 109.3.5 → 109.4.0

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 (45) hide show
  1. package/esm/__internal__/full-screen-heading/full-screen-heading.component.d.ts +7 -0
  2. package/esm/__internal__/full-screen-heading/full-screen-heading.component.js +7 -3
  3. package/esm/__internal__/full-screen-heading/full-screen-heading.style.d.ts +6 -0
  4. package/esm/__internal__/full-screen-heading/index.d.ts +2 -0
  5. package/esm/components/box/box.component.d.ts +3 -0
  6. package/esm/components/box/box.component.js +6 -0
  7. package/esm/components/heading/heading.style.d.ts +15 -0
  8. package/esm/components/pages/index.d.ts +4 -2
  9. package/esm/components/pages/page/index.d.ts +2 -0
  10. package/esm/components/pages/page/index.js +1 -0
  11. package/esm/components/pages/page/page.component.d.ts +15 -0
  12. package/esm/components/pages/page/page.component.js +174 -19
  13. package/esm/components/pages/page/page.style.d.ts +3 -0
  14. package/esm/components/pages/page/page.style.js +5 -1
  15. package/esm/components/pages/pages.component.d.ts +23 -0
  16. package/esm/components/pages/pages.component.js +50 -13
  17. package/esm/components/pages/pages.config.d.ts +3 -0
  18. package/esm/components/pages/pages.style.d.ts +3 -0
  19. package/esm/components/pages/pages.style.js +2 -2
  20. package/lib/__internal__/full-screen-heading/full-screen-heading.component.d.ts +7 -0
  21. package/lib/__internal__/full-screen-heading/full-screen-heading.component.js +7 -3
  22. package/lib/__internal__/full-screen-heading/full-screen-heading.style.d.ts +6 -0
  23. package/lib/__internal__/full-screen-heading/index.d.ts +2 -0
  24. package/lib/components/box/box.component.d.ts +3 -0
  25. package/lib/components/box/box.component.js +6 -0
  26. package/lib/components/heading/heading.style.d.ts +15 -0
  27. package/lib/components/pages/index.d.ts +4 -2
  28. package/lib/components/pages/page/index.d.ts +2 -0
  29. package/lib/components/pages/page/index.js +15 -0
  30. package/lib/components/pages/page/package.json +5 -2
  31. package/lib/components/pages/page/page.component.d.ts +15 -0
  32. package/lib/components/pages/page/page.component.js +175 -19
  33. package/lib/components/pages/page/page.style.d.ts +3 -0
  34. package/lib/components/pages/page/page.style.js +6 -1
  35. package/lib/components/pages/pages.component.d.ts +23 -0
  36. package/lib/components/pages/pages.component.js +50 -13
  37. package/lib/components/pages/pages.config.d.ts +3 -0
  38. package/lib/components/pages/pages.style.d.ts +3 -0
  39. package/lib/components/pages/pages.style.js +2 -2
  40. package/package.json +1 -1
  41. package/esm/components/pages/page/package.json +0 -3
  42. package/esm/components/pages/page/page.d.ts +0 -12
  43. package/esm/components/pages/pages.d.ts +0 -23
  44. package/lib/components/pages/page/page.d.ts +0 -12
  45. package/lib/components/pages/pages.d.ts +0 -23
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { StyledFullScreenHeadingProps } from "./full-screen-heading.style";
3
+ export interface FullScreenHeadingProps extends StyledFullScreenHeadingProps {
4
+ children?: React.ReactNode;
5
+ }
6
+ declare const FullScreenHeading: React.ForwardRefExoticComponent<FullScreenHeadingProps & React.RefAttributes<HTMLDivElement>>;
7
+ export default FullScreenHeading;
@@ -7,13 +7,17 @@ import StyledFullScreenHeading, { StyledHeaderContainer } from "./full-screen-he
7
7
  const FullScreenHeading = /*#__PURE__*/React.forwardRef((props, ref) => {
8
8
  const {
9
9
  children,
10
- ...otherProps
10
+ hasContent
11
11
  } = props;
12
- return /*#__PURE__*/React.createElement(StyledFullScreenHeading, _extends({}, otherProps, tagComponent("full-screen-heading", props), {
12
+ return /*#__PURE__*/React.createElement(StyledFullScreenHeading, _extends({
13
+ hasContent: hasContent
14
+ }, tagComponent("full-screen-heading", props), {
13
15
  ref: ref
14
16
  }), /*#__PURE__*/React.createElement(StyledHeaderContainer, null, children));
15
17
  });
16
18
  FullScreenHeading.propTypes = {
17
- children: PropTypes.node
19
+ "children": PropTypes.node,
20
+ "hasContent": PropTypes.bool
18
21
  };
22
+ FullScreenHeading.displayName = "FullScreenHeading";
19
23
  export default FullScreenHeading;
@@ -0,0 +1,6 @@
1
+ export interface StyledFullScreenHeadingProps {
2
+ hasContent?: boolean;
3
+ }
4
+ export declare const StyledHeaderContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ declare const StyledFullScreenHeading: import("styled-components").StyledComponent<"div", any, StyledFullScreenHeadingProps, never>;
6
+ export default StyledFullScreenHeading;
@@ -0,0 +1,2 @@
1
+ export { default } from "./full-screen-heading.component";
2
+ export type { FullScreenHeadingProps } from "./full-screen-heading.component";
@@ -2,12 +2,15 @@ import React from "react";
2
2
  import { SpaceProps, LayoutProps, FlexboxProps, ColorProps } from "styled-system";
3
3
  export declare type OverflowWrap = "break-word" | "anywhere";
4
4
  export declare type ScrollVariant = "light" | "dark";
5
+ export declare type BoxSizing = "content-box" | "border-box";
5
6
  export interface BoxProps extends SpaceProps, LayoutProps, FlexboxProps, ColorProps {
6
7
  as?: keyof JSX.IntrinsicElements | React.ComponentType<any>;
7
8
  /** String to set Box content break strategy. Note "anywhere" is not supported in Safari */
8
9
  overflowWrap?: OverflowWrap;
9
10
  /** scroll styling attribute */
10
11
  scrollVariant?: ScrollVariant;
12
+ /** set the box-sizing attribute of the Box component */
13
+ boxSizing?: BoxSizing;
11
14
  }
12
15
  declare const Box: import("styled-components").StyledComponent<"div", any, BoxProps, never>;
13
16
  export default Box;
@@ -41,6 +41,12 @@ const Box = styled.div`
41
41
  background-color: ${boxConfig[scrollVariant].thumb};
42
42
  }
43
43
  `}
44
+
45
+ ${({
46
+ boxSizing
47
+ }) => boxSizing && css`
48
+ box-sizing: ${boxSizing};
49
+ `}
44
50
  `;
45
51
  Box.defaultProps = {
46
52
  theme: BaseTheme
@@ -0,0 +1,15 @@
1
+ export const StyledHeadingIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../icon").IconProps & import("react").RefAttributes<HTMLSpanElement>>, any, {}, never>;
2
+ export const StyledHeading: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export const StyledSubHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export const StyledHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export const StyledSeparator: import("styled-components").StyledComponent<"hr", any, {}, never>;
6
+ export const StyledHeaderHelp: import("styled-components").StyledComponent<{
7
+ ({ as, ariaLabel, children, className, href, helpId, isFocused, tabIndex, tooltipBgColor, tooltipFontColor, tooltipFlipOverrides, tooltipId, tooltipPosition, type, ...rest }: import("../help").HelpProps): JSX.Element;
8
+ displayName: string;
9
+ }, any, {}, never>;
10
+ export const StyledHeadingTitle: import("styled-components").StyledComponent<typeof Typography, any, {}, never>;
11
+ export const StyledDivider: import("styled-components").StyledComponent<({ adaptiveMxBreakpoint, ml, mr, ...rest }: import("../hr").HrProps) => JSX.Element, any, {}, never>;
12
+ export const StyledHeaderContent: import("styled-components").StyledComponent<"div", any, {}, never>;
13
+ export const StyledHeadingBackButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../link").LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, {}, never>;
14
+ export const StyledHeadingPills: import("styled-components").StyledComponent<"span", any, {}, never>;
15
+ import Typography from "../typography";
@@ -1,2 +1,4 @@
1
- export { default } from "./pages";
2
- export { default as Page } from "./page/page";
1
+ export { default } from "./pages.component";
2
+ export { default as Page } from "./page/page.component";
3
+ export type { PagesProps } from "./pages.component";
4
+ export type { PageProps } from "./page";
@@ -0,0 +1,2 @@
1
+ export { default } from "./page.component";
2
+ export type { PageProps } from "./page.component";
@@ -0,0 +1 @@
1
+ export { default } from "./page.component";
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { PaddingProps } from "styled-system";
3
+ export interface PageProps extends PaddingProps {
4
+ /** The title for the page, normally a Heading component. */
5
+ title: React.ReactNode;
6
+ /** This component supports children. */
7
+ children: React.ReactNode;
8
+ /** @ignore @private */
9
+ transitionName?: () => string;
10
+ }
11
+ declare const Page: {
12
+ ({ title, children, ...rest }: PageProps): JSX.Element;
13
+ displayName: string;
14
+ };
15
+ export default Page;
@@ -7,30 +7,36 @@ import tagComponent from "../../../__internal__/utils/helpers/tags/tags";
7
7
  import FullScreenHeading from "../../../__internal__/full-screen-heading";
8
8
  import Box from "../../box";
9
9
  import { StyledPage, StyledPageContent } from "./page.style";
10
+ import { filterStyledSystemPaddingProps } from "../../../style/utils";
10
11
 
11
12
  const Page = ({
12
13
  title,
13
14
  children,
14
- ...props
15
+ ...rest
15
16
  }) => {
16
- const styledPageNodeRef = useRef();
17
+ const styledPageNodeRef = useRef(null);
18
+ const {
19
+ transitionName
20
+ } = rest;
17
21
  return /*#__PURE__*/React.createElement(CSSTransition, _extends({
18
22
  className: "carbon-carousel__transition",
19
23
  timeout: {
20
24
  appear: 0,
21
25
  enter: 0,
22
26
  exit: 0
23
- } // eslint-disable-next-line react/prop-types
24
- ,
25
- classNames: props.transitionName(),
27
+ }
28
+ }, transitionName && {
29
+ classNames: transitionName()
30
+ }, {
26
31
  nodeRef: styledPageNodeRef
27
- }, props), /*#__PURE__*/React.createElement(StyledPage, _extends({}, tagComponent("page", props), {
32
+ }, rest), /*#__PURE__*/React.createElement(StyledPage, _extends({}, tagComponent("page", rest), {
28
33
  ref: styledPageNodeRef
29
34
  }), /*#__PURE__*/React.createElement(FullScreenHeading, {
30
- hasContent: title
31
- }, title), /*#__PURE__*/React.createElement(StyledPageContent, {
32
- "data-element": "carbon-page-content"
33
- }, /*#__PURE__*/React.createElement(Box, {
35
+ hasContent: true
36
+ }, title), /*#__PURE__*/React.createElement(StyledPageContent, _extends({
37
+ "data-element": "carbon-page-content",
38
+ p: "30px 40px"
39
+ }, filterStyledSystemPaddingProps(rest)), /*#__PURE__*/React.createElement(Box, {
34
40
  boxSizing: "border-box",
35
41
  maxWidth: "100%",
36
42
  minWidth: "auto",
@@ -40,14 +46,163 @@ const Page = ({
40
46
  };
41
47
 
42
48
  Page.propTypes = {
43
- /**
44
- * The title for the page, normally a Heading component.
45
- */
46
- title: PropTypes.node.isRequired,
47
-
48
- /**
49
- * This component supports children.
50
- */
51
- children: PropTypes.node.isRequired
49
+ "children": PropTypes.node,
50
+ "p": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
51
+ "__@toStringTag": PropTypes.string.isRequired,
52
+ "description": PropTypes.string,
53
+ "toString": PropTypes.func.isRequired,
54
+ "valueOf": PropTypes.func.isRequired
55
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
56
+ "__@toStringTag": PropTypes.string.isRequired,
57
+ "description": PropTypes.string,
58
+ "toString": PropTypes.func.isRequired,
59
+ "valueOf": PropTypes.func.isRequired
60
+ }), PropTypes.string]),
61
+ "padding": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
62
+ "__@toStringTag": PropTypes.string.isRequired,
63
+ "description": PropTypes.string,
64
+ "toString": PropTypes.func.isRequired,
65
+ "valueOf": PropTypes.func.isRequired
66
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
67
+ "__@toStringTag": PropTypes.string.isRequired,
68
+ "description": PropTypes.string,
69
+ "toString": PropTypes.func.isRequired,
70
+ "valueOf": PropTypes.func.isRequired
71
+ }), PropTypes.string]),
72
+ "paddingBottom": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
73
+ "__@toStringTag": PropTypes.string.isRequired,
74
+ "description": PropTypes.string,
75
+ "toString": PropTypes.func.isRequired,
76
+ "valueOf": PropTypes.func.isRequired
77
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
78
+ "__@toStringTag": PropTypes.string.isRequired,
79
+ "description": PropTypes.string,
80
+ "toString": PropTypes.func.isRequired,
81
+ "valueOf": PropTypes.func.isRequired
82
+ }), PropTypes.string]),
83
+ "paddingLeft": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
84
+ "__@toStringTag": PropTypes.string.isRequired,
85
+ "description": PropTypes.string,
86
+ "toString": PropTypes.func.isRequired,
87
+ "valueOf": PropTypes.func.isRequired
88
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
89
+ "__@toStringTag": PropTypes.string.isRequired,
90
+ "description": PropTypes.string,
91
+ "toString": PropTypes.func.isRequired,
92
+ "valueOf": PropTypes.func.isRequired
93
+ }), PropTypes.string]),
94
+ "paddingRight": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
95
+ "__@toStringTag": PropTypes.string.isRequired,
96
+ "description": PropTypes.string,
97
+ "toString": PropTypes.func.isRequired,
98
+ "valueOf": PropTypes.func.isRequired
99
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
100
+ "__@toStringTag": PropTypes.string.isRequired,
101
+ "description": PropTypes.string,
102
+ "toString": PropTypes.func.isRequired,
103
+ "valueOf": PropTypes.func.isRequired
104
+ }), PropTypes.string]),
105
+ "paddingTop": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
106
+ "__@toStringTag": PropTypes.string.isRequired,
107
+ "description": PropTypes.string,
108
+ "toString": PropTypes.func.isRequired,
109
+ "valueOf": PropTypes.func.isRequired
110
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
111
+ "__@toStringTag": PropTypes.string.isRequired,
112
+ "description": PropTypes.string,
113
+ "toString": PropTypes.func.isRequired,
114
+ "valueOf": PropTypes.func.isRequired
115
+ }), PropTypes.string]),
116
+ "paddingX": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
117
+ "__@toStringTag": PropTypes.string.isRequired,
118
+ "description": PropTypes.string,
119
+ "toString": PropTypes.func.isRequired,
120
+ "valueOf": PropTypes.func.isRequired
121
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
122
+ "__@toStringTag": PropTypes.string.isRequired,
123
+ "description": PropTypes.string,
124
+ "toString": PropTypes.func.isRequired,
125
+ "valueOf": PropTypes.func.isRequired
126
+ }), PropTypes.string]),
127
+ "paddingY": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
128
+ "__@toStringTag": PropTypes.string.isRequired,
129
+ "description": PropTypes.string,
130
+ "toString": PropTypes.func.isRequired,
131
+ "valueOf": PropTypes.func.isRequired
132
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
133
+ "__@toStringTag": PropTypes.string.isRequired,
134
+ "description": PropTypes.string,
135
+ "toString": PropTypes.func.isRequired,
136
+ "valueOf": PropTypes.func.isRequired
137
+ }), PropTypes.string]),
138
+ "pb": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
139
+ "__@toStringTag": PropTypes.string.isRequired,
140
+ "description": PropTypes.string,
141
+ "toString": PropTypes.func.isRequired,
142
+ "valueOf": PropTypes.func.isRequired
143
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
144
+ "__@toStringTag": PropTypes.string.isRequired,
145
+ "description": PropTypes.string,
146
+ "toString": PropTypes.func.isRequired,
147
+ "valueOf": PropTypes.func.isRequired
148
+ }), PropTypes.string]),
149
+ "pl": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
150
+ "__@toStringTag": PropTypes.string.isRequired,
151
+ "description": PropTypes.string,
152
+ "toString": PropTypes.func.isRequired,
153
+ "valueOf": PropTypes.func.isRequired
154
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
155
+ "__@toStringTag": PropTypes.string.isRequired,
156
+ "description": PropTypes.string,
157
+ "toString": PropTypes.func.isRequired,
158
+ "valueOf": PropTypes.func.isRequired
159
+ }), PropTypes.string]),
160
+ "pr": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
161
+ "__@toStringTag": PropTypes.string.isRequired,
162
+ "description": PropTypes.string,
163
+ "toString": PropTypes.func.isRequired,
164
+ "valueOf": PropTypes.func.isRequired
165
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
166
+ "__@toStringTag": PropTypes.string.isRequired,
167
+ "description": PropTypes.string,
168
+ "toString": PropTypes.func.isRequired,
169
+ "valueOf": PropTypes.func.isRequired
170
+ }), PropTypes.string]),
171
+ "pt": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
172
+ "__@toStringTag": PropTypes.string.isRequired,
173
+ "description": PropTypes.string,
174
+ "toString": PropTypes.func.isRequired,
175
+ "valueOf": PropTypes.func.isRequired
176
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
177
+ "__@toStringTag": PropTypes.string.isRequired,
178
+ "description": PropTypes.string,
179
+ "toString": PropTypes.func.isRequired,
180
+ "valueOf": PropTypes.func.isRequired
181
+ }), PropTypes.string]),
182
+ "px": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
183
+ "__@toStringTag": PropTypes.string.isRequired,
184
+ "description": PropTypes.string,
185
+ "toString": PropTypes.func.isRequired,
186
+ "valueOf": PropTypes.func.isRequired
187
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
188
+ "__@toStringTag": PropTypes.string.isRequired,
189
+ "description": PropTypes.string,
190
+ "toString": PropTypes.func.isRequired,
191
+ "valueOf": PropTypes.func.isRequired
192
+ }), PropTypes.string]),
193
+ "py": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
194
+ "__@toStringTag": PropTypes.string.isRequired,
195
+ "description": PropTypes.string,
196
+ "toString": PropTypes.func.isRequired,
197
+ "valueOf": PropTypes.func.isRequired
198
+ }), PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.shape({
199
+ "__@toStringTag": PropTypes.string.isRequired,
200
+ "description": PropTypes.string,
201
+ "toString": PropTypes.func.isRequired,
202
+ "valueOf": PropTypes.func.isRequired
203
+ }), PropTypes.string]),
204
+ "title": PropTypes.node,
205
+ "transitionName": PropTypes.func
52
206
  };
207
+ Page.displayName = "Page";
53
208
  export default Page;
@@ -0,0 +1,3 @@
1
+ declare const StyledPage: import("styled-components").StyledComponent<"article", any, {}, never>;
2
+ declare const StyledPageContent: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export { StyledPage, StyledPageContent };
@@ -1,12 +1,13 @@
1
1
  import styled from "styled-components";
2
+ import { padding } from "styled-system";
2
3
  import BaseTheme from "../../../style/themes/base";
3
4
  const StyledPage = styled.article`
4
5
  width: 100%;
5
6
  height: 100%;
6
7
  `;
7
8
  const StyledPageContent = styled.div`
9
+ ${padding}
8
10
  box-sizing: border-box;
9
- padding: 30px 40px;
10
11
  width: 100%;
11
12
  height: 100%;
12
13
  overflow-y: auto;
@@ -14,4 +15,7 @@ const StyledPageContent = styled.div`
14
15
  StyledPage.defaultProps = {
15
16
  theme: BaseTheme
16
17
  };
18
+ StyledPageContent.defaultProps = {
19
+ theme: BaseTheme
20
+ };
17
21
  export { StyledPage, StyledPageContent };
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import Page from "./page";
3
+ import { ThemeObject } from "../../style/themes/base";
4
+ export interface PagesProps {
5
+ /** [legacy] Custom className */
6
+ className?: string;
7
+ /** The selected tab on page load */
8
+ initialpageIndex?: number | string;
9
+ /** The current page's index */
10
+ pageIndex?: number | string;
11
+ /** Individual Page components */
12
+ children?: React.ReactNode;
13
+ /** Controls which transition to use (fade or slide). */
14
+ transition?: string;
15
+ /** @ignore @private */
16
+ theme?: Partial<ThemeObject>;
17
+ }
18
+ declare const Pages: {
19
+ ({ pageIndex: incomingPageIndex, initialpageIndex, transition, children, ...props }: PagesProps): JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default Pages;
23
+ export { Page };
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { TransitionGroup } from "react-transition-group";
4
4
  import tagComponent from "../../__internal__/utils/helpers/tags/tags";
5
- import Page from "./page/page.component";
5
+ import Page from "./page";
6
6
  import { PagesWrapperStyle, PagesContent } from "./pages.style";
7
7
  const NEXT = "next";
8
8
  const PREVIOUS = "previous";
@@ -29,6 +29,9 @@ const Pages = ({
29
29
  const handleVisiblePage = () => {
30
30
  let index = pageIndex;
31
31
  const visiblePage = React.Children.toArray(children)[index];
32
+ /* istanbul ignore if */
33
+
34
+ if (! /*#__PURE__*/React.isValidElement(visiblePage)) return visiblePage;
32
35
  index = visiblePage.props.id || index;
33
36
  const additionalProps = {
34
37
  transitionName,
@@ -82,18 +85,52 @@ const Pages = ({
82
85
  };
83
86
 
84
87
  Pages.propTypes = {
85
- /** [legacy] Custom className */
86
- className: PropTypes.string,
87
-
88
- /** The selected tab on page load */
89
- initialpageIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
90
- pageIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
91
-
92
- /** Individual tabs */
93
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
94
-
95
- /** Controls which transition to use. */
96
- transition: PropTypes.string
88
+ "children": PropTypes.node,
89
+ "className": PropTypes.string,
90
+ "initialpageIndex": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
91
+ "pageIndex": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
92
+ "theme": PropTypes.shape({
93
+ "colors": PropTypes.shape({
94
+ "destructive": PropTypes.shape({
95
+ "hover": PropTypes.string.isRequired
96
+ }),
97
+ "error": PropTypes.string,
98
+ "focus": PropTypes.string,
99
+ "info": PropTypes.string,
100
+ "loadingBarBackground": PropTypes.string,
101
+ "placeholder": PropTypes.string,
102
+ "primary": PropTypes.string,
103
+ "secondary": PropTypes.string,
104
+ "tertiary": PropTypes.string,
105
+ "warning": PropTypes.string,
106
+ "warningText": PropTypes.string,
107
+ "white": PropTypes.oneOf(["#FFFFFF"])
108
+ }),
109
+ "compatibility": PropTypes.object,
110
+ "disabled": PropTypes.shape({
111
+ "background": PropTypes.string.isRequired
112
+ }),
113
+ "name": PropTypes.string,
114
+ "palette": PropTypes.shape({
115
+ "blackOpacity": PropTypes.func.isRequired,
116
+ "whiteOpacity": PropTypes.func.isRequired
117
+ }),
118
+ "space": PropTypes.arrayOf(PropTypes.string),
119
+ "spacing": PropTypes.number,
120
+ "zIndex": PropTypes.shape({
121
+ "aboveAll": PropTypes.number.isRequired,
122
+ "fullScreenModal": PropTypes.number.isRequired,
123
+ "header": PropTypes.number.isRequired,
124
+ "modal": PropTypes.number.isRequired,
125
+ "nav": PropTypes.number.isRequired,
126
+ "notification": PropTypes.number.isRequired,
127
+ "overlay": PropTypes.number.isRequired,
128
+ "popover": PropTypes.number.isRequired,
129
+ "smallOverlay": PropTypes.number.isRequired
130
+ })
131
+ }),
132
+ "transition": PropTypes.string
97
133
  };
134
+ Pages.displayName = "Pages";
98
135
  export default Pages;
99
136
  export { Page };
@@ -0,0 +1,3 @@
1
+ declare const slideAnimation: import("styled-components").FlattenSimpleInterpolation;
2
+ declare const fadeAnimation: import("styled-components").FlattenSimpleInterpolation;
3
+ export { slideAnimation, fadeAnimation };
@@ -0,0 +1,3 @@
1
+ declare const PagesContent: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ declare const PagesWrapperStyle: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export { PagesWrapperStyle, PagesContent };
@@ -19,8 +19,8 @@ const PagesWrapperStyle = styled.div`
19
19
  overflow: hidden;
20
20
  position: relative;
21
21
  }
22
- ${slideAnimation};
23
- ${fadeAnimation};
22
+ ${slideAnimation}
23
+ ${fadeAnimation}
24
24
  `;
25
25
  PagesContent.defaultProps = {
26
26
  theme: BaseTheme
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { StyledFullScreenHeadingProps } from "./full-screen-heading.style";
3
+ export interface FullScreenHeadingProps extends StyledFullScreenHeadingProps {
4
+ children?: React.ReactNode;
5
+ }
6
+ declare const FullScreenHeading: React.ForwardRefExoticComponent<FullScreenHeadingProps & React.RefAttributes<HTMLDivElement>>;
7
+ export default FullScreenHeading;
@@ -24,15 +24,19 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
24
24
  const FullScreenHeading = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
25
25
  const {
26
26
  children,
27
- ...otherProps
27
+ hasContent
28
28
  } = props;
29
- return /*#__PURE__*/_react.default.createElement(_fullScreenHeading.default, _extends({}, otherProps, (0, _tags.default)("full-screen-heading", props), {
29
+ return /*#__PURE__*/_react.default.createElement(_fullScreenHeading.default, _extends({
30
+ hasContent: hasContent
31
+ }, (0, _tags.default)("full-screen-heading", props), {
30
32
  ref: ref
31
33
  }), /*#__PURE__*/_react.default.createElement(_fullScreenHeading.StyledHeaderContainer, null, children));
32
34
  });
33
35
 
34
36
  FullScreenHeading.propTypes = {
35
- children: _propTypes.default.node
37
+ "children": _propTypes.default.node,
38
+ "hasContent": _propTypes.default.bool
36
39
  };
40
+ FullScreenHeading.displayName = "FullScreenHeading";
37
41
  var _default = FullScreenHeading;
38
42
  exports.default = _default;
@@ -0,0 +1,6 @@
1
+ export interface StyledFullScreenHeadingProps {
2
+ hasContent?: boolean;
3
+ }
4
+ export declare const StyledHeaderContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ declare const StyledFullScreenHeading: import("styled-components").StyledComponent<"div", any, StyledFullScreenHeadingProps, never>;
6
+ export default StyledFullScreenHeading;
@@ -0,0 +1,2 @@
1
+ export { default } from "./full-screen-heading.component";
2
+ export type { FullScreenHeadingProps } from "./full-screen-heading.component";
@@ -2,12 +2,15 @@ import React from "react";
2
2
  import { SpaceProps, LayoutProps, FlexboxProps, ColorProps } from "styled-system";
3
3
  export declare type OverflowWrap = "break-word" | "anywhere";
4
4
  export declare type ScrollVariant = "light" | "dark";
5
+ export declare type BoxSizing = "content-box" | "border-box";
5
6
  export interface BoxProps extends SpaceProps, LayoutProps, FlexboxProps, ColorProps {
6
7
  as?: keyof JSX.IntrinsicElements | React.ComponentType<any>;
7
8
  /** String to set Box content break strategy. Note "anywhere" is not supported in Safari */
8
9
  overflowWrap?: OverflowWrap;
9
10
  /** scroll styling attribute */
10
11
  scrollVariant?: ScrollVariant;
12
+ /** set the box-sizing attribute of the Box component */
13
+ boxSizing?: BoxSizing;
11
14
  }
12
15
  declare const Box: import("styled-components").StyledComponent<"div", any, BoxProps, never>;
13
16
  export default Box;
@@ -59,6 +59,12 @@ const Box = _styledComponents.default.div`
59
59
  background-color: ${_box.default[scrollVariant].thumb};
60
60
  }
61
61
  `}
62
+
63
+ ${({
64
+ boxSizing
65
+ }) => boxSizing && (0, _styledComponents.css)`
66
+ box-sizing: ${boxSizing};
67
+ `}
62
68
  `;
63
69
  Box.defaultProps = {
64
70
  theme: _base.default
@@ -0,0 +1,15 @@
1
+ export const StyledHeadingIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../icon").IconProps & import("react").RefAttributes<HTMLSpanElement>>, any, {}, never>;
2
+ export const StyledHeading: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export const StyledSubHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export const StyledHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export const StyledSeparator: import("styled-components").StyledComponent<"hr", any, {}, never>;
6
+ export const StyledHeaderHelp: import("styled-components").StyledComponent<{
7
+ ({ as, ariaLabel, children, className, href, helpId, isFocused, tabIndex, tooltipBgColor, tooltipFontColor, tooltipFlipOverrides, tooltipId, tooltipPosition, type, ...rest }: import("../help").HelpProps): JSX.Element;
8
+ displayName: string;
9
+ }, any, {}, never>;
10
+ export const StyledHeadingTitle: import("styled-components").StyledComponent<typeof Typography, any, {}, never>;
11
+ export const StyledDivider: import("styled-components").StyledComponent<({ adaptiveMxBreakpoint, ml, mr, ...rest }: import("../hr").HrProps) => JSX.Element, any, {}, never>;
12
+ export const StyledHeaderContent: import("styled-components").StyledComponent<"div", any, {}, never>;
13
+ export const StyledHeadingBackButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../link").LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, {}, never>;
14
+ export const StyledHeadingPills: import("styled-components").StyledComponent<"span", any, {}, never>;
15
+ import Typography from "../typography";
@@ -1,2 +1,4 @@
1
- export { default } from "./pages";
2
- export { default as Page } from "./page/page";
1
+ export { default } from "./pages.component";
2
+ export { default as Page } from "./page/page.component";
3
+ export type { PagesProps } from "./pages.component";
4
+ export type { PageProps } from "./page";
@@ -0,0 +1,2 @@
1
+ export { default } from "./page.component";
2
+ export type { PageProps } from "./page.component";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _page.default;
10
+ }
11
+ });
12
+
13
+ var _page = _interopRequireDefault(require("./page.component"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,3 +1,6 @@
1
1
  {
2
- "main": "./page.js"
3
- }
2
+ "sideEffects": false,
3
+ "module": "../../../../esm/components/pages/page/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { PaddingProps } from "styled-system";
3
+ export interface PageProps extends PaddingProps {
4
+ /** The title for the page, normally a Heading component. */
5
+ title: React.ReactNode;
6
+ /** This component supports children. */
7
+ children: React.ReactNode;
8
+ /** @ignore @private */
9
+ transitionName?: () => string;
10
+ }
11
+ declare const Page: {
12
+ ({ title, children, ...rest }: PageProps): JSX.Element;
13
+ displayName: string;
14
+ };
15
+ export default Page;
@@ -19,6 +19,8 @@ var _box = _interopRequireDefault(require("../../box"));
19
19
 
20
20
  var _page = require("./page.style");
21
21
 
22
+ var _utils = require("../../../style/utils");
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -30,26 +32,31 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
30
32
  const Page = ({
31
33
  title,
32
34
  children,
33
- ...props
35
+ ...rest
34
36
  }) => {
35
- const styledPageNodeRef = (0, _react.useRef)();
37
+ const styledPageNodeRef = (0, _react.useRef)(null);
38
+ const {
39
+ transitionName
40
+ } = rest;
36
41
  return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, _extends({
37
42
  className: "carbon-carousel__transition",
38
43
  timeout: {
39
44
  appear: 0,
40
45
  enter: 0,
41
46
  exit: 0
42
- } // eslint-disable-next-line react/prop-types
43
- ,
44
- classNames: props.transitionName(),
47
+ }
48
+ }, transitionName && {
49
+ classNames: transitionName()
50
+ }, {
45
51
  nodeRef: styledPageNodeRef
46
- }, props), /*#__PURE__*/_react.default.createElement(_page.StyledPage, _extends({}, (0, _tags.default)("page", props), {
52
+ }, rest), /*#__PURE__*/_react.default.createElement(_page.StyledPage, _extends({}, (0, _tags.default)("page", rest), {
47
53
  ref: styledPageNodeRef
48
54
  }), /*#__PURE__*/_react.default.createElement(_fullScreenHeading.default, {
49
- hasContent: title
50
- }, title), /*#__PURE__*/_react.default.createElement(_page.StyledPageContent, {
51
- "data-element": "carbon-page-content"
52
- }, /*#__PURE__*/_react.default.createElement(_box.default, {
55
+ hasContent: true
56
+ }, title), /*#__PURE__*/_react.default.createElement(_page.StyledPageContent, _extends({
57
+ "data-element": "carbon-page-content",
58
+ p: "30px 40px"
59
+ }, (0, _utils.filterStyledSystemPaddingProps)(rest)), /*#__PURE__*/_react.default.createElement(_box.default, {
53
60
  boxSizing: "border-box",
54
61
  maxWidth: "100%",
55
62
  minWidth: "auto",
@@ -59,15 +66,164 @@ const Page = ({
59
66
  };
60
67
 
61
68
  Page.propTypes = {
62
- /**
63
- * The title for the page, normally a Heading component.
64
- */
65
- title: _propTypes.default.node.isRequired,
66
-
67
- /**
68
- * This component supports children.
69
- */
70
- children: _propTypes.default.node.isRequired
69
+ "children": _propTypes.default.node,
70
+ "p": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
71
+ "__@toStringTag": _propTypes.default.string.isRequired,
72
+ "description": _propTypes.default.string,
73
+ "toString": _propTypes.default.func.isRequired,
74
+ "valueOf": _propTypes.default.func.isRequired
75
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
76
+ "__@toStringTag": _propTypes.default.string.isRequired,
77
+ "description": _propTypes.default.string,
78
+ "toString": _propTypes.default.func.isRequired,
79
+ "valueOf": _propTypes.default.func.isRequired
80
+ }), _propTypes.default.string]),
81
+ "padding": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
82
+ "__@toStringTag": _propTypes.default.string.isRequired,
83
+ "description": _propTypes.default.string,
84
+ "toString": _propTypes.default.func.isRequired,
85
+ "valueOf": _propTypes.default.func.isRequired
86
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
87
+ "__@toStringTag": _propTypes.default.string.isRequired,
88
+ "description": _propTypes.default.string,
89
+ "toString": _propTypes.default.func.isRequired,
90
+ "valueOf": _propTypes.default.func.isRequired
91
+ }), _propTypes.default.string]),
92
+ "paddingBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
93
+ "__@toStringTag": _propTypes.default.string.isRequired,
94
+ "description": _propTypes.default.string,
95
+ "toString": _propTypes.default.func.isRequired,
96
+ "valueOf": _propTypes.default.func.isRequired
97
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
98
+ "__@toStringTag": _propTypes.default.string.isRequired,
99
+ "description": _propTypes.default.string,
100
+ "toString": _propTypes.default.func.isRequired,
101
+ "valueOf": _propTypes.default.func.isRequired
102
+ }), _propTypes.default.string]),
103
+ "paddingLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
104
+ "__@toStringTag": _propTypes.default.string.isRequired,
105
+ "description": _propTypes.default.string,
106
+ "toString": _propTypes.default.func.isRequired,
107
+ "valueOf": _propTypes.default.func.isRequired
108
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
109
+ "__@toStringTag": _propTypes.default.string.isRequired,
110
+ "description": _propTypes.default.string,
111
+ "toString": _propTypes.default.func.isRequired,
112
+ "valueOf": _propTypes.default.func.isRequired
113
+ }), _propTypes.default.string]),
114
+ "paddingRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
115
+ "__@toStringTag": _propTypes.default.string.isRequired,
116
+ "description": _propTypes.default.string,
117
+ "toString": _propTypes.default.func.isRequired,
118
+ "valueOf": _propTypes.default.func.isRequired
119
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
120
+ "__@toStringTag": _propTypes.default.string.isRequired,
121
+ "description": _propTypes.default.string,
122
+ "toString": _propTypes.default.func.isRequired,
123
+ "valueOf": _propTypes.default.func.isRequired
124
+ }), _propTypes.default.string]),
125
+ "paddingTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
126
+ "__@toStringTag": _propTypes.default.string.isRequired,
127
+ "description": _propTypes.default.string,
128
+ "toString": _propTypes.default.func.isRequired,
129
+ "valueOf": _propTypes.default.func.isRequired
130
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
131
+ "__@toStringTag": _propTypes.default.string.isRequired,
132
+ "description": _propTypes.default.string,
133
+ "toString": _propTypes.default.func.isRequired,
134
+ "valueOf": _propTypes.default.func.isRequired
135
+ }), _propTypes.default.string]),
136
+ "paddingX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
137
+ "__@toStringTag": _propTypes.default.string.isRequired,
138
+ "description": _propTypes.default.string,
139
+ "toString": _propTypes.default.func.isRequired,
140
+ "valueOf": _propTypes.default.func.isRequired
141
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
142
+ "__@toStringTag": _propTypes.default.string.isRequired,
143
+ "description": _propTypes.default.string,
144
+ "toString": _propTypes.default.func.isRequired,
145
+ "valueOf": _propTypes.default.func.isRequired
146
+ }), _propTypes.default.string]),
147
+ "paddingY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
148
+ "__@toStringTag": _propTypes.default.string.isRequired,
149
+ "description": _propTypes.default.string,
150
+ "toString": _propTypes.default.func.isRequired,
151
+ "valueOf": _propTypes.default.func.isRequired
152
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
153
+ "__@toStringTag": _propTypes.default.string.isRequired,
154
+ "description": _propTypes.default.string,
155
+ "toString": _propTypes.default.func.isRequired,
156
+ "valueOf": _propTypes.default.func.isRequired
157
+ }), _propTypes.default.string]),
158
+ "pb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
159
+ "__@toStringTag": _propTypes.default.string.isRequired,
160
+ "description": _propTypes.default.string,
161
+ "toString": _propTypes.default.func.isRequired,
162
+ "valueOf": _propTypes.default.func.isRequired
163
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
164
+ "__@toStringTag": _propTypes.default.string.isRequired,
165
+ "description": _propTypes.default.string,
166
+ "toString": _propTypes.default.func.isRequired,
167
+ "valueOf": _propTypes.default.func.isRequired
168
+ }), _propTypes.default.string]),
169
+ "pl": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
170
+ "__@toStringTag": _propTypes.default.string.isRequired,
171
+ "description": _propTypes.default.string,
172
+ "toString": _propTypes.default.func.isRequired,
173
+ "valueOf": _propTypes.default.func.isRequired
174
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
175
+ "__@toStringTag": _propTypes.default.string.isRequired,
176
+ "description": _propTypes.default.string,
177
+ "toString": _propTypes.default.func.isRequired,
178
+ "valueOf": _propTypes.default.func.isRequired
179
+ }), _propTypes.default.string]),
180
+ "pr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
181
+ "__@toStringTag": _propTypes.default.string.isRequired,
182
+ "description": _propTypes.default.string,
183
+ "toString": _propTypes.default.func.isRequired,
184
+ "valueOf": _propTypes.default.func.isRequired
185
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
186
+ "__@toStringTag": _propTypes.default.string.isRequired,
187
+ "description": _propTypes.default.string,
188
+ "toString": _propTypes.default.func.isRequired,
189
+ "valueOf": _propTypes.default.func.isRequired
190
+ }), _propTypes.default.string]),
191
+ "pt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
192
+ "__@toStringTag": _propTypes.default.string.isRequired,
193
+ "description": _propTypes.default.string,
194
+ "toString": _propTypes.default.func.isRequired,
195
+ "valueOf": _propTypes.default.func.isRequired
196
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
197
+ "__@toStringTag": _propTypes.default.string.isRequired,
198
+ "description": _propTypes.default.string,
199
+ "toString": _propTypes.default.func.isRequired,
200
+ "valueOf": _propTypes.default.func.isRequired
201
+ }), _propTypes.default.string]),
202
+ "px": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
203
+ "__@toStringTag": _propTypes.default.string.isRequired,
204
+ "description": _propTypes.default.string,
205
+ "toString": _propTypes.default.func.isRequired,
206
+ "valueOf": _propTypes.default.func.isRequired
207
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
208
+ "__@toStringTag": _propTypes.default.string.isRequired,
209
+ "description": _propTypes.default.string,
210
+ "toString": _propTypes.default.func.isRequired,
211
+ "valueOf": _propTypes.default.func.isRequired
212
+ }), _propTypes.default.string]),
213
+ "py": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
214
+ "__@toStringTag": _propTypes.default.string.isRequired,
215
+ "description": _propTypes.default.string,
216
+ "toString": _propTypes.default.func.isRequired,
217
+ "valueOf": _propTypes.default.func.isRequired
218
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
219
+ "__@toStringTag": _propTypes.default.string.isRequired,
220
+ "description": _propTypes.default.string,
221
+ "toString": _propTypes.default.func.isRequired,
222
+ "valueOf": _propTypes.default.func.isRequired
223
+ }), _propTypes.default.string]),
224
+ "title": _propTypes.default.node,
225
+ "transitionName": _propTypes.default.func
71
226
  };
227
+ Page.displayName = "Page";
72
228
  var _default = Page;
73
229
  exports.default = _default;
@@ -0,0 +1,3 @@
1
+ declare const StyledPage: import("styled-components").StyledComponent<"article", any, {}, never>;
2
+ declare const StyledPageContent: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export { StyledPage, StyledPageContent };
@@ -7,6 +7,8 @@ exports.StyledPageContent = exports.StyledPage = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
+ var _styledSystem = require("styled-system");
11
+
10
12
  var _base = _interopRequireDefault(require("../../../style/themes/base"));
11
13
 
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -17,8 +19,8 @@ const StyledPage = _styledComponents.default.article`
17
19
  `;
18
20
  exports.StyledPage = StyledPage;
19
21
  const StyledPageContent = _styledComponents.default.div`
22
+ ${_styledSystem.padding}
20
23
  box-sizing: border-box;
21
- padding: 30px 40px;
22
24
  width: 100%;
23
25
  height: 100%;
24
26
  overflow-y: auto;
@@ -26,4 +28,7 @@ const StyledPageContent = _styledComponents.default.div`
26
28
  exports.StyledPageContent = StyledPageContent;
27
29
  StyledPage.defaultProps = {
28
30
  theme: _base.default
31
+ };
32
+ StyledPageContent.defaultProps = {
33
+ theme: _base.default
29
34
  };
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import Page from "./page";
3
+ import { ThemeObject } from "../../style/themes/base";
4
+ export interface PagesProps {
5
+ /** [legacy] Custom className */
6
+ className?: string;
7
+ /** The selected tab on page load */
8
+ initialpageIndex?: number | string;
9
+ /** The current page's index */
10
+ pageIndex?: number | string;
11
+ /** Individual Page components */
12
+ children?: React.ReactNode;
13
+ /** Controls which transition to use (fade or slide). */
14
+ transition?: string;
15
+ /** @ignore @private */
16
+ theme?: Partial<ThemeObject>;
17
+ }
18
+ declare const Pages: {
19
+ ({ pageIndex: incomingPageIndex, initialpageIndex, transition, children, ...props }: PagesProps): JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default Pages;
23
+ export { Page };
@@ -19,7 +19,7 @@ var _reactTransitionGroup = require("react-transition-group");
19
19
 
20
20
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
21
21
 
22
- var _page = _interopRequireDefault(require("./page/page.component"));
22
+ var _page = _interopRequireDefault(require("./page"));
23
23
 
24
24
  var _pages = require("./pages.style");
25
25
 
@@ -55,7 +55,10 @@ const Pages = ({
55
55
  let index = pageIndex;
56
56
 
57
57
  const visiblePage = _react.default.Children.toArray(children)[index];
58
+ /* istanbul ignore if */
58
59
 
60
+
61
+ if (! /*#__PURE__*/_react.default.isValidElement(visiblePage)) return visiblePage;
59
62
  index = visiblePage.props.id || index;
60
63
  const additionalProps = {
61
64
  transitionName,
@@ -109,18 +112,52 @@ const Pages = ({
109
112
  };
110
113
 
111
114
  Pages.propTypes = {
112
- /** [legacy] Custom className */
113
- className: _propTypes.default.string,
114
-
115
- /** The selected tab on page load */
116
- initialpageIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
117
- pageIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
118
-
119
- /** Individual tabs */
120
- children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]),
121
-
122
- /** Controls which transition to use. */
123
- transition: _propTypes.default.string
115
+ "children": _propTypes.default.node,
116
+ "className": _propTypes.default.string,
117
+ "initialpageIndex": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
118
+ "pageIndex": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
119
+ "theme": _propTypes.default.shape({
120
+ "colors": _propTypes.default.shape({
121
+ "destructive": _propTypes.default.shape({
122
+ "hover": _propTypes.default.string.isRequired
123
+ }),
124
+ "error": _propTypes.default.string,
125
+ "focus": _propTypes.default.string,
126
+ "info": _propTypes.default.string,
127
+ "loadingBarBackground": _propTypes.default.string,
128
+ "placeholder": _propTypes.default.string,
129
+ "primary": _propTypes.default.string,
130
+ "secondary": _propTypes.default.string,
131
+ "tertiary": _propTypes.default.string,
132
+ "warning": _propTypes.default.string,
133
+ "warningText": _propTypes.default.string,
134
+ "white": _propTypes.default.oneOf(["#FFFFFF"])
135
+ }),
136
+ "compatibility": _propTypes.default.object,
137
+ "disabled": _propTypes.default.shape({
138
+ "background": _propTypes.default.string.isRequired
139
+ }),
140
+ "name": _propTypes.default.string,
141
+ "palette": _propTypes.default.shape({
142
+ "blackOpacity": _propTypes.default.func.isRequired,
143
+ "whiteOpacity": _propTypes.default.func.isRequired
144
+ }),
145
+ "space": _propTypes.default.arrayOf(_propTypes.default.string),
146
+ "spacing": _propTypes.default.number,
147
+ "zIndex": _propTypes.default.shape({
148
+ "aboveAll": _propTypes.default.number.isRequired,
149
+ "fullScreenModal": _propTypes.default.number.isRequired,
150
+ "header": _propTypes.default.number.isRequired,
151
+ "modal": _propTypes.default.number.isRequired,
152
+ "nav": _propTypes.default.number.isRequired,
153
+ "notification": _propTypes.default.number.isRequired,
154
+ "overlay": _propTypes.default.number.isRequired,
155
+ "popover": _propTypes.default.number.isRequired,
156
+ "smallOverlay": _propTypes.default.number.isRequired
157
+ })
158
+ }),
159
+ "transition": _propTypes.default.string
124
160
  };
161
+ Pages.displayName = "Pages";
125
162
  var _default = Pages;
126
163
  exports.default = _default;
@@ -0,0 +1,3 @@
1
+ declare const slideAnimation: import("styled-components").FlattenSimpleInterpolation;
2
+ declare const fadeAnimation: import("styled-components").FlattenSimpleInterpolation;
3
+ export { slideAnimation, fadeAnimation };
@@ -0,0 +1,3 @@
1
+ declare const PagesContent: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ declare const PagesWrapperStyle: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export { PagesWrapperStyle, PagesContent };
@@ -33,8 +33,8 @@ const PagesWrapperStyle = _styledComponents.default.div`
33
33
  overflow: hidden;
34
34
  position: relative;
35
35
  }
36
- ${_pages.slideAnimation};
37
- ${_pages.fadeAnimation};
36
+ ${_pages.slideAnimation}
37
+ ${_pages.fadeAnimation}
38
38
  `;
39
39
  exports.PagesWrapperStyle = PagesWrapperStyle;
40
40
  PagesContent.defaultProps = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "109.3.5",
3
+ "version": "109.4.0",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "engineStrict": true,
6
6
  "engines": {
@@ -1,3 +0,0 @@
1
- {
2
- "main": "./page.js"
3
- }
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
-
3
- export interface PageProps {
4
- /** The title for the page, normally a Heading component. */
5
- title: React.ReactNode;
6
- /** This component supports children. */
7
- children: React.ReactNode;
8
- }
9
-
10
- declare function Page(props: PageProps): JSX.Element;
11
-
12
- export default Page;
@@ -1,23 +0,0 @@
1
- import * as React from "react";
2
- import Page from "./page/page";
3
- import { ThemeObject } from "../../style/themes/base";
4
-
5
- export interface PagesProps {
6
- /** [legacy] Custom className */
7
- className?: string;
8
- /** The selected tab on page load */
9
- initialpageIndex?: number | string;
10
- pageIndex?: number | string;
11
- /** Individual tabs */
12
- children?: React.ReactNode[] | React.ReactNode;
13
- /** Controls which transition to use. */
14
- transition?: string;
15
- }
16
-
17
- declare class Pages extends React.Component<PagesProps> {}
18
- declare function PagesWithTheme(
19
- props: PagesProps & { theme: ThemeObject }
20
- ): JSX.Element;
21
-
22
- export default Pages;
23
- export { PagesWithTheme as Pages, Page };
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
-
3
- export interface PageProps {
4
- /** The title for the page, normally a Heading component. */
5
- title: React.ReactNode;
6
- /** This component supports children. */
7
- children: React.ReactNode;
8
- }
9
-
10
- declare function Page(props: PageProps): JSX.Element;
11
-
12
- export default Page;
@@ -1,23 +0,0 @@
1
- import * as React from "react";
2
- import Page from "./page/page";
3
- import { ThemeObject } from "../../style/themes/base";
4
-
5
- export interface PagesProps {
6
- /** [legacy] Custom className */
7
- className?: string;
8
- /** The selected tab on page load */
9
- initialpageIndex?: number | string;
10
- pageIndex?: number | string;
11
- /** Individual tabs */
12
- children?: React.ReactNode[] | React.ReactNode;
13
- /** Controls which transition to use. */
14
- transition?: string;
15
- }
16
-
17
- declare class Pages extends React.Component<PagesProps> {}
18
- declare function PagesWithTheme(
19
- props: PagesProps & { theme: ThemeObject }
20
- ): JSX.Element;
21
-
22
- export default Pages;
23
- export { PagesWithTheme as Pages, Page };