diff --git a/sandbox/grommet-app/src/components/ContentPane/index.jsx b/sandbox/grommet-app/src/components/ContentPane/index.jsx
index f423c15eb..21824ba79 100644
--- a/sandbox/grommet-app/src/components/ContentPane/index.jsx
+++ b/sandbox/grommet-app/src/components/ContentPane/index.jsx
@@ -55,10 +55,4 @@ ContentPane.propTypes = {
]),
};
-ContentPane.defaultProps = {
- actions: undefined,
- contain: undefined,
- skeleton: undefined,
-};
-
export default ContentPane;
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/components/Compare.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/components/Compare.jsx
new file mode 100644
index 000000000..e6bfe0ffb
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/components/Compare.jsx
@@ -0,0 +1,69 @@
+import React, { useContext } from 'react';
+import PropTypes from 'prop-types';
+import { Box, Grommet, Stack, ThemeContext } from 'grommet';
+import { hpe } from 'grommet-theme-hpe';
+import { current as hpeCurrent } from '../../../themes/theme';
+import { ModeContext } from './ModeContext';
+
+export const Compare = ({ children, ...rest }) => {
+ const { mode, direction } = React.useContext(ModeContext);
+ const theme = useContext(ThemeContext);
+
+ if (direction === 'row') {
+ return (
+
+
+ {children}
+
+
+ {children}
+
+
+ );
+ }
+
+ return (
+
+
+
+ {children}
+
+
+
+
+
+ {children}
+
+
+
+ );
+};
+
+Compare.propTypes = {
+ children: PropTypes.oneOfType([
+ PropTypes.string,
+ PropTypes.array,
+ PropTypes.element,
+ ]),
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/components/ModeContext.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/components/ModeContext.jsx
new file mode 100644
index 000000000..6f5f8014d
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/components/ModeContext.jsx
@@ -0,0 +1,3 @@
+import React from 'react';
+
+export const ModeContext = React.createContext({});
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/components/StyleInProgress.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/components/StyleInProgress.jsx
new file mode 100644
index 000000000..1fb647dd5
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/components/StyleInProgress.jsx
@@ -0,0 +1,9 @@
+import { Notification } from 'grommet';
+
+export const StyleInProgress = () => (
+
+);
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/components/TabContent.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/components/TabContent.jsx
new file mode 100644
index 000000000..c72d79d01
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/components/TabContent.jsx
@@ -0,0 +1,14 @@
+import PropTypes from 'prop-types';
+import { Box } from 'grommet';
+
+export const TabContent = ({ children }) => {
+ return (
+
+ {children}
+
+ );
+};
+
+TabContent.propTypes = {
+ children: PropTypes.node.isRequired,
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/components/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/components/index.js
new file mode 100644
index 000000000..a21ff1336
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/components/index.js
@@ -0,0 +1,4 @@
+export * from './Compare';
+export * from './ModeContext';
+export * from './StyleInProgress';
+export * from './TabContent';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Accordions.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Accordions.jsx
new file mode 100644
index 000000000..26650fe89
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Accordions.jsx
@@ -0,0 +1,16 @@
+import { Accordion, AccordionPanel } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Accordions = () => {
+ return (
+
+
+
+ hi
+ hi
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Buttons.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Buttons.jsx
new file mode 100644
index 000000000..df2bf50c4
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Buttons.jsx
@@ -0,0 +1,46 @@
+import { Box, Button } from 'grommet';
+import { User } from 'grommet-icons';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components/Compare';
+
+const kinds = ['default', 'toolbar', 'secondary', 'primary'];
+const states = ['enabled', 'active', 'disabled'];
+const sizes = ['xsmall', 'small', 'medium', 'large', 'xlarge'];
+
+export const Buttons = () => {
+ return (
+
+
+ {kinds.map(kind =>
+ sizes.map(size =>
+ states.map(state => (
+
+
+
+ )),
+ ),
+ )}
+
+
+
+ } size="small" />
+
+
+ } />
+
+
+ } size="large" />
+
+
+ } size="xlarge" />
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Menus.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Menus.jsx
new file mode 100644
index 000000000..2d1ef6881
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Menus.jsx
@@ -0,0 +1,29 @@
+import { Menu } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components/Compare';
+
+export const Menus = () => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Paginations.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Paginations.jsx
new file mode 100644
index 000000000..53da0c8e4
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Paginations.jsx
@@ -0,0 +1,16 @@
+import { Pagination } from 'grommet';
+import { Compare } from '../../components/Compare';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Paginations = () => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Tabs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Tabs.jsx
new file mode 100644
index 000000000..e11410f64
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/Tabs.jsx
@@ -0,0 +1,20 @@
+import { Tab, Tabs } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+const TabsCompare = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export { TabsCompare as Tabs };
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/ToggleGroups.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/ToggleGroups.jsx
new file mode 100644
index 000000000..6895d11f0
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/ToggleGroups.jsx
@@ -0,0 +1,36 @@
+import { Box, ToggleGroup } from 'grommet';
+import { List, MapLocation, Table } from 'grommet-icons';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components/Compare';
+
+export const ToggleGroups = () => {
+ return (
+
+
+
+ ,
+ value: 'list',
+ tip: 'List',
+ },
+ {
+ icon: ,
+ value: 'table',
+ tip: 'Table',
+ },
+ {
+ icon: ,
+ value: 'map',
+ tip: 'Map',
+ },
+ ]}
+ defaultValue="list"
+ />
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/index.js
new file mode 100644
index 000000000..16e6de1c7
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Controls/index.js
@@ -0,0 +1,6 @@
+export * from './Accordions';
+export * from './Buttons';
+export * from './Menus';
+export * from './Paginations';
+export * from './Tabs';
+export * from './ToggleGroups';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/CheckboxGroups.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/CheckboxGroups.jsx
new file mode 100644
index 000000000..17d689036
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/CheckboxGroups.jsx
@@ -0,0 +1,28 @@
+import { CheckBoxGroup, FormField } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const CheckboxGroups = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Checkboxes.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Checkboxes.jsx
new file mode 100644
index 000000000..65fb0abb8
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Checkboxes.jsx
@@ -0,0 +1,23 @@
+import { CheckBox, FormField } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const Checkboxes = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/DateInputs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/DateInputs.jsx
new file mode 100644
index 000000000..de1928ce9
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/DateInputs.jsx
@@ -0,0 +1,20 @@
+import { DateInput } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const DateInputs = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/FileInputs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/FileInputs.jsx
new file mode 100644
index 000000000..ba91146fc
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/FileInputs.jsx
@@ -0,0 +1,13 @@
+import { FileInput } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const FileInputs = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RadioButtonGroups.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RadioButtonGroups.jsx
new file mode 100644
index 000000000..7152d290e
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RadioButtonGroups.jsx
@@ -0,0 +1,27 @@
+import { FormField, RadioButtonGroup } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare, StyleInProgress } from '../../components';
+
+export const RadioButtonGroups = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RangeInputs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RangeInputs.jsx
new file mode 100644
index 000000000..e51bb231a
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/RangeInputs.jsx
@@ -0,0 +1,13 @@
+import { RangeInput } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const RangeInputs = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/SelectMultiples.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/SelectMultiples.jsx
new file mode 100644
index 000000000..8cc7f54df
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/SelectMultiples.jsx
@@ -0,0 +1,17 @@
+import { SelectMultiple } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const SelectMultiples = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Selects.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Selects.jsx
new file mode 100644
index 000000000..e2b6da604
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Selects.jsx
@@ -0,0 +1,16 @@
+import { Select } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const Selects = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/StarRatings.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/StarRatings.jsx
new file mode 100644
index 000000000..b5efc8f30
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/StarRatings.jsx
@@ -0,0 +1,13 @@
+import { StarRating } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const StarRatings = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Switches.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Switches.jsx
new file mode 100644
index 000000000..1ed76eea8
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/Switches.jsx
@@ -0,0 +1,16 @@
+import { CheckBox } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare, StyleInProgress } from '../../components';
+
+export const Switches = () => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextAreas.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextAreas.jsx
new file mode 100644
index 000000000..57ab641e7
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextAreas.jsx
@@ -0,0 +1,13 @@
+import { TextArea } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const TextAreas = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextInputs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextInputs.jsx
new file mode 100644
index 000000000..681e82567
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/TextInputs.jsx
@@ -0,0 +1,24 @@
+import { FormField, TextInput } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const TextInputs = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/ThumbsRatings.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/ThumbsRatings.jsx
new file mode 100644
index 000000000..1cb86d127
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/ThumbsRatings.jsx
@@ -0,0 +1,13 @@
+import { ThumbsRating } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const ThumbsRatings = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/index.js
new file mode 100644
index 000000000..733147467
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Inputs/index.js
@@ -0,0 +1,13 @@
+export * from './Checkboxes';
+export * from './CheckboxGroups';
+export * from './DateInputs';
+export * from './FileInputs';
+export * from './RadioButtonGroups';
+export * from './RangeInputs';
+export * from './Selects';
+export * from './SelectMultiples';
+export * from './StarRatings';
+export * from './Switches';
+export * from './TextAreas';
+export * from './TextInputs';
+export * from './ThumbsRatings';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/ContentSizes.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/ContentSizes.jsx
new file mode 100644
index 000000000..bef209180
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/ContentSizes.jsx
@@ -0,0 +1,36 @@
+import PropTypes from 'prop-types';
+import { Box, Text } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const ContentSizes = ({ theme }) => {
+ return (
+
+
+ {Object.keys(theme.global.size).map(
+ size =>
+ size !== 'responsiveBreakpoint' && (
+
+
+
+ {size}
+
+
+ ),
+ )}
+
+
+ );
+};
+
+ContentSizes.propTypes = {
+ theme: PropTypes.object,
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/PageHeaders.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/PageHeaders.jsx
new file mode 100644
index 000000000..42a308b04
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/PageHeaders.jsx
@@ -0,0 +1,16 @@
+import { PageHeader } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const PageHeaders = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/Spacing.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/Spacing.jsx
new file mode 100644
index 000000000..b6ef755a8
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/Spacing.jsx
@@ -0,0 +1,37 @@
+import PropTypes from 'prop-types';
+import { Box, Text } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Spacing = ({ theme }) => {
+ return (
+
+
+ {Object.keys(theme.global.edgeSize).map(
+ size =>
+ size !== 'responsiveBreakpoint' && (
+
+
+
+ {size}
+
+
+ ),
+ )}
+
+
+ );
+};
+
+Spacing.propTypes = {
+ theme: PropTypes.object,
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/index.js
new file mode 100644
index 000000000..1e54c06bc
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Layouts/index.js
@@ -0,0 +1,3 @@
+export * from './ContentSizes';
+export * from './PageHeaders';
+export * from './Spacing';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Anchors.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Anchors.jsx
new file mode 100644
index 000000000..346345847
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Anchors.jsx
@@ -0,0 +1,24 @@
+import PropTypes from 'prop-types';
+import { Anchor, Box } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const Anchors = ({ textSizes }) => {
+ return (
+
+
+ {textSizes.map(size => (
+
+
+ Anchor {size}
+
+
+ ))}
+
+
+ );
+};
+
+Anchors.propTypes = {
+ textSizes: PropTypes.arrayOf(PropTypes.string).isRequired,
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Headings.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Headings.jsx
new file mode 100644
index 000000000..952f0e834
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Headings.jsx
@@ -0,0 +1,33 @@
+import { Box, Heading } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+const HEADING_LEVELS = [1, 2, 3, 4, 5, 6];
+
+export const Headings = () => {
+ return (
+
+
+ {HEADING_LEVELS.map(level => (
+
+ {/* Heading sizes are not relevant to product teams because our guidance
+ discourages use of them. */}
+ {/* {['small', 'medium', 'large', 'xlarge'].map(size => ( */}
+
+
+ Heading {level}
+
+
+ {/* ))} */}
+
+ ))}
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Paragraphs.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Paragraphs.jsx
new file mode 100644
index 000000000..7ff539bee
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Paragraphs.jsx
@@ -0,0 +1,22 @@
+import { Box, Paragraph } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+const PARAGRAPH_SIZES = ['small', 'medium', 'large', 'xlarge', 'xxlarge'];
+
+export const Paragraphs = () => {
+ return (
+
+
+ {PARAGRAPH_SIZES.map(size => (
+
+
+ Paragraph {size} with some extra text so we can see how it is when
+ it wraps
+
+
+ ))}
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Tags.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Tags.jsx
new file mode 100644
index 000000000..39ff7a527
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Tags.jsx
@@ -0,0 +1,16 @@
+import { Box, Tag } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Tags = () => {
+ return (
+
+
+
+
+ {}} />
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Texts.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Texts.jsx
new file mode 100644
index 000000000..f59973714
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/Texts.jsx
@@ -0,0 +1,24 @@
+import PropTypes from 'prop-types';
+import { Box, Text } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components/Compare';
+
+export const Texts = ({ textSizes }) => {
+ return (
+
+
+ {textSizes.map(size => (
+
+
+ Text {size}
+
+
+ ))}
+
+
+ );
+};
+
+Texts.propTypes = {
+ textSizes: PropTypes.arrayOf(PropTypes.string).isRequired,
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/index.js
new file mode 100644
index 000000000..3c0d5f733
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Type/index.js
@@ -0,0 +1,5 @@
+export * from './Anchors';
+export * from './Headings';
+export * from './Paragraphs';
+export * from './Tags';
+export * from './Texts';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/DataTables.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/DataTables.jsx
new file mode 100644
index 000000000..46053bd4d
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/DataTables.jsx
@@ -0,0 +1,52 @@
+import { DataTable } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const DataTables = () => {
+ return (
+
+
+ {}}
+ select={['4352351']}
+ columns={[
+ {
+ property: 'id',
+ header: 'ID',
+ },
+ {
+ property: 'firstName',
+ header: 'First name',
+ },
+ {
+ property: 'lastName',
+ header: 'Last name',
+ units: 'GB',
+ },
+ ]}
+ data={[
+ {
+ id: '2341234',
+ firstName: 'Taylor',
+ lastName: 'Seamans',
+ },
+ {
+ id: '4352351',
+ firstName: 'Oliver',
+ lastName: 'Plunkett',
+ },
+ {
+ id: '6439201',
+ firstName: 'Joelle',
+ lastName: 'Gregory',
+ },
+ ]}
+ sort={{
+ property: 'firstName',
+ direction: 'asc',
+ }}
+ />
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Icons.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Icons.jsx
new file mode 100644
index 000000000..9e09261cc
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Icons.jsx
@@ -0,0 +1,25 @@
+import ContentPane from '../../../../components/ContentPane';
+import { Box } from 'grommet';
+import { User } from 'grommet-icons';
+import { Compare } from '../../components';
+
+export const Icons = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Meters.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Meters.jsx
new file mode 100644
index 000000000..3aa1da218
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Meters.jsx
@@ -0,0 +1,35 @@
+import { Meter } from 'grommet';
+import ContentPane from '../../../../components/ContentPane';
+import { Compare } from '../../components';
+
+export const Meters = () => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/NameValueLists.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/NameValueLists.jsx
new file mode 100644
index 000000000..ed4a8d5df
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/NameValueLists.jsx
@@ -0,0 +1,16 @@
+import { NameValueList, NameValuePair } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const NameValueLists = () => {
+ return (
+
+
+
+ San Francisco
+ California
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Notifications.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Notifications.jsx
new file mode 100644
index 000000000..e21f54517
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Notifications.jsx
@@ -0,0 +1,51 @@
+import { Box, Notification } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Notifications = () => {
+ return (
+
+
+
+
+
+
+ {}}
+ />
+
+
+ {}}
+ />
+
+
+ {}}
+ />
+
+
+ {}}
+ />
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Spinners.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Spinners.jsx
new file mode 100644
index 000000000..72d7ffa63
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/Spinners.jsx
@@ -0,0 +1,24 @@
+import { Box, Spinner } from 'grommet';
+import { Compare } from '../../components';
+import ContentPane from '../../../../components/ContentPane';
+
+export const Spinners = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/index.js
new file mode 100644
index 000000000..ba2029b18
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/Visualizations/index.js
@@ -0,0 +1,6 @@
+export * from './DataTables';
+export * from './Icons';
+export * from './Meters';
+export * from './NameValueLists';
+export * from './Notifications';
+export * from './Spinners';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/content/index.js b/sandbox/grommet-app/src/pages/sticker-sheet/content/index.js
new file mode 100644
index 000000000..644d8a1d3
--- /dev/null
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/content/index.js
@@ -0,0 +1,5 @@
+export * from './Controls';
+export * from './Inputs';
+export * from './Layouts';
+export * from './Type';
+export * from './Visualizations';
diff --git a/sandbox/grommet-app/src/pages/sticker-sheet/index.jsx b/sandbox/grommet-app/src/pages/sticker-sheet/index.jsx
index f98f2d451..963a573f7 100644
--- a/sandbox/grommet-app/src/pages/sticker-sheet/index.jsx
+++ b/sandbox/grommet-app/src/pages/sticker-sheet/index.jsx
@@ -1,60 +1,59 @@
/* eslint-disable react/jsx-key */
-import React, { useContext, useMemo } from 'react';
-import PropTypes from 'prop-types';
+import React, { useContext, useEffect, useMemo } from 'react';
import { Link } from 'react-router-dom';
import {
Anchor,
Box,
- Button,
CheckBox,
- RangeInput,
- Menu,
Grommet,
Page,
- Heading,
- Tab,
PageContent,
PageHeader,
- Text,
- Stack,
ThemeContext,
- Paragraph,
- Accordion,
- AccordionPanel,
- Notification,
- DateInput,
- Pagination,
- Spinner,
- Tag,
Select,
FormField,
- CheckBoxGroup,
- RadioButtonGroup,
- TextInput,
- SelectMultiple,
+ Tab,
Tabs,
- TextArea,
- NameValueList,
- NameValuePair,
- FileInput,
- StarRating,
- ThumbsRating,
- DataTable,
- Meter,
- ToggleGroup,
} from 'grommet';
-import { User, Table, List, MapLocation, Previous } from 'grommet-icons';
+import { Previous } from 'grommet-icons';
import { hpe } from 'grommet-theme-hpe';
import { current as hpeCurrent } from '../../themes/theme';
-import ContentPane from '../../components/ContentPane';
-
-const StyleInProgress = () => (
-
-);
+import { ModeContext, TabContent } from './components';
+import {
+ Accordions,
+ Anchors,
+ Buttons,
+ Checkboxes,
+ CheckboxGroups,
+ ContentSizes,
+ DataTables,
+ DateInputs,
+ FileInputs,
+ Headings,
+ Icons,
+ Menus,
+ Meters,
+ NameValueLists,
+ Notifications,
+ PageHeaders,
+ Paginations,
+ Paragraphs,
+ RadioButtonGroups,
+ RangeInputs,
+ SelectMultiples,
+ Selects,
+ Spacing,
+ Spinners,
+ StarRatings,
+ Switches,
+ Tabs as TabsContent,
+ Tags,
+ TextAreas,
+ TextInputs,
+ Texts,
+ ThumbsRatings,
+ ToggleGroups,
+} from './content';
const textSizes = [
'xsmall',
@@ -69,78 +68,12 @@ const textSizes = [
'6xl',
];
-const kinds = ['default', 'toolbar', 'secondary', 'primary'];
-const states = ['enabled', 'active', 'disabled'];
-const sizes = ['xsmall', 'small', 'medium', 'large', 'xlarge'];
-
-const ModeContext = React.createContext({});
-
-const Compare = ({ children, ...rest }) => {
- const { mode, direction } = React.useContext(ModeContext);
- const theme = useContext(ThemeContext);
-
- if (direction === 'row') {
- return (
-
-
- {children}
-
-
- {children}
-
-
- );
- }
-
- return (
-
-
-
- {children}
-
-
-
-
-
- {children}
-
-
-
- );
-};
-
-Compare.propTypes = {
- children: PropTypes.oneOfType([
- PropTypes.string,
- PropTypes.array,
- PropTypes.element,
- ]),
-};
-
const StickerSheet = () => {
const [mode, setMode] = React.useState('Compare diffs');
const [direction, setDirection] = React.useState('row');
+ const [activeIndex, setActiveIndex] = React.useState(
+ Number.parseInt(sessionStorage.getItem('activeIndex'), 10) || 0,
+ );
const theme = useContext(ThemeContext);
const contextValue = useMemo(() => {
return {
@@ -148,6 +81,11 @@ const StickerSheet = () => {
direction,
};
}, [mode, direction]);
+
+ useEffect(() => {
+ sessionStorage.setItem('activeIndex', activeIndex);
+ }, [activeIndex]);
+
return (
{
} />
}
actions={
- // eslint-disable-next-line max-len
{
}
width="100%"
/>
-
-
- {textSizes.map(size => (
-
-
- Anchor {size}
-
-
- ))}
-
-
-
-
- {textSizes.map(size => (
-
-
- Text {size}
-
-
- ))}
-
-
-
-
- {['small', 'medium', 'large', 'xlarge', 'xxlarge'].map(size => (
-
-
- Paragraph {size} with some extra text so we can see how it
- is when it wraps
-
-
- ))}
-
-
-
-
- {[1, 2, 3, 4, 5, 6].map(level => (
-
- {/* Heading sizes are not relevant to product teams because our guidance
- discourages use of them. */}
- {/* {['small', 'medium', 'large', 'xlarge'].map(size => ( */}
-
-
- Heading {level}
-
-
- {/* ))} */}
-
- ))}
-
-
-
-
- {kinds.map(kind =>
- sizes.map(size =>
- states.map(state => (
-
-
-
- )),
- ),
- )}
-
-
-
- } size="small" />
-
-
- } />
-
-
- } size="large" />
-
-
- } size="xlarge" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ,
- value: 'list',
- tip: 'List',
- },
- {
- icon: ,
- value: 'table',
- tip: 'Table',
- },
- {
- icon: ,
- value: 'map',
- tip: 'Map',
- },
- ]}
- defaultValue="list"
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- hi
- hi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ setActiveIndex(index)}
+ alignControls="start"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- {/*
+ {/*
TS
@@ -386,328 +201,7 @@ const StickerSheet = () => {
TS
*/}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {}} />
-
-
-
-
-
-
- San Francisco
- California
-
-
-
-
-
-
-
-
-
- {}}
- />
-
-
- {}}
- />
-
-
- {}}
- />
-
-
- {}}
- />
-
-
-
-
-
-
-
-
-
-
- {}}
- select={['4352351']}
- columns={[
- {
- property: 'id',
- header: 'ID',
- },
- {
- property: 'firstName',
- header: 'First name',
- },
- {
- property: 'lastName',
- header: 'Last name',
- units: 'GB',
- },
- ]}
- data={[
- {
- id: '2341234',
- firstName: 'Taylor',
- lastName: 'Seamans',
- },
- {
- id: '4352351',
- firstName: 'Oliver',
- lastName: 'Plunkett',
- },
- {
- id: '6439201',
- firstName: 'Joelle',
- lastName: 'Gregory',
- },
- ]}
- sort={{
- property: 'firstName',
- direction: 'asc',
- }}
- />
-
-
-
-
-
-
-
-
-
- {Object.keys(hpeCurrent.global.edgeSize).map(
- size =>
- size !== 'responsiveBreakpoint' && (
-
-
-
- ),
- )}
-
-
-
-
- {Object.keys(hpeCurrent.global.size).map(
- size =>
- size !== 'responsiveBreakpoint' && (
-
-
-
- ),
- )}
-
-
+