braid-design-system 34.9.0 → 34.10.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.
- package/CHANGELOG.md +62 -0
- package/dist/color-mode/query-param.d.cts +1 -1
- package/dist/color-mode/query-param.d.mts +1 -1
- package/dist/lib/components/Accordion/Accordion.cjs +61 -13
- package/dist/lib/components/Accordion/Accordion.d.cts +56 -2
- package/dist/lib/components/Accordion/Accordion.d.mts +56 -2
- package/dist/lib/components/Accordion/Accordion.mjs +62 -14
- package/dist/lib/components/Accordion/AccordionContext.d.cts +7 -0
- package/dist/lib/components/Accordion/AccordionContext.d.mts +7 -0
- package/dist/lib/components/Accordion/AccordionItem.cjs +86 -12
- package/dist/lib/components/Accordion/AccordionItem.css.cjs +15 -0
- package/dist/lib/components/Accordion/AccordionItem.css.mjs +13 -1
- package/dist/lib/components/Accordion/AccordionItem.d.cts +5 -0
- package/dist/lib/components/Accordion/AccordionItem.d.mts +5 -0
- package/dist/lib/components/Accordion/AccordionItem.mjs +88 -14
- package/dist/lib/components/Accordion/AccordionItem.playroom.cjs +6 -2
- package/dist/lib/components/Accordion/AccordionItem.playroom.d.cts +1 -1
- package/dist/lib/components/Accordion/AccordionItem.playroom.d.mts +1 -1
- package/dist/lib/components/Accordion/AccordionItem.playroom.mjs +6 -2
- package/dist/lib/components/Avatar/Avatar.cjs +1 -1
- package/dist/lib/components/Avatar/Avatar.css.cjs +2 -1
- package/dist/lib/components/Avatar/Avatar.css.mjs +2 -1
- package/dist/lib/components/Avatar/Avatar.mjs +1 -1
- package/dist/lib/components/BraidPortal/BraidPortal.cjs +0 -1
- package/dist/lib/components/BraidPortal/BraidPortal.mjs +0 -1
- package/dist/lib/components/BraidProvider/BraidProvider.cjs +0 -1
- package/dist/lib/components/BraidProvider/BraidProvider.mjs +0 -1
- package/dist/lib/components/BraidProvider/VanillaThemeContainer.cjs +2 -2
- package/dist/lib/components/BraidProvider/VanillaThemeContainer.mjs +2 -2
- package/dist/lib/components/Drawer/Drawer.cjs +5 -0
- package/dist/lib/components/Drawer/Drawer.mjs +5 -0
- package/dist/lib/components/private/Modal/Modal.cjs +0 -10
- package/dist/lib/components/private/Modal/Modal.mjs +0 -10
- package/dist/lib/components/private/Modal/ModalContent.cjs +9 -4
- package/dist/lib/components/private/Modal/ModalContent.mjs +9 -4
- package/dist/lib/components/useToast/Toast.cjs +8 -3
- package/dist/lib/components/useToast/Toast.mjs +8 -3
- package/dist/lib/components/useToast/ToastTypes.d.cts +3 -1
- package/dist/lib/components/useToast/ToastTypes.d.mts +3 -1
- package/dist/lib/components/useToast/useFlipList.cjs +3 -3
- package/dist/lib/components/useToast/useFlipList.mjs +3 -3
- package/dist/lib/components/useToast/useTimeout.cjs +1 -1
- package/dist/lib/components/useToast/useTimeout.mjs +1 -1
- package/dist/lib/playroom/snippets/Accordion.cjs +8 -12
- package/dist/lib/playroom/snippets/Accordion.mjs +8 -12
- package/dist/lib/playroom/snippets/BulkActions.cjs +8 -0
- package/dist/lib/playroom/snippets/BulkActions.mjs +8 -0
- package/dist/lib/playroom/snippets/DividedLists.cjs +8 -0
- package/dist/lib/playroom/snippets/DividedLists.mjs +8 -0
- package/dist/lib/playroom/snippets/EmptyState.cjs +12 -0
- package/dist/lib/playroom/snippets/EmptyState.mjs +12 -0
- package/dist/lib/playroom/snippets/ErrorState.cjs +12 -0
- package/dist/lib/playroom/snippets/ErrorState.mjs +12 -0
- package/dist/lib/playroom/snippets/Forms.cjs +12 -0
- package/dist/lib/playroom/snippets/Forms.mjs +12 -0
- package/dist/lib/playroom/snippets/Nudge.cjs +20 -0
- package/dist/lib/playroom/snippets/Nudge.mjs +20 -0
- package/dist/lib/playroom/snippets/ServiceOutageBanner.cjs +12 -0
- package/dist/lib/playroom/snippets/ServiceOutageBanner.mjs +12 -0
- package/dist/lib/playroom/snippets/SkeletonLoader.cjs +8 -0
- package/dist/lib/playroom/snippets/SkeletonLoader.mjs +8 -0
- package/dist/lib/playroom/snippets/SocialShare.cjs +8 -0
- package/dist/lib/playroom/snippets/SocialShare.mjs +8 -0
- package/dist/lib/playroom/snippets.cjs +20 -1
- package/dist/lib/playroom/snippets.mjs +116 -97
- package/dist/playroom/FrameComponent.mjs +1 -2
- package/dist/playroom/components.d.cts +5 -0
- package/dist/playroom/components.d.mts +5 -0
- package/dist/playroom/scope.mjs +1 -2
- package/dist/playroom/snippets.mjs +1 -2
- package/dist/test.mjs +1 -2
- package/dist/themes/docs.mjs +1 -2
- package/dist/themes/seekBusiness.mjs +1 -2
- package/dist/themes/seekJobs.mjs +1 -2
- package/dist/themes/wireframe.mjs +1 -2
- package/package.json +4 -3
|
@@ -154,11 +154,11 @@ const useFlipList = (expanded) => {
|
|
|
154
154
|
property: "transform",
|
|
155
155
|
from: transform
|
|
156
156
|
},
|
|
157
|
-
{
|
|
157
|
+
...element.classList.contains(collapsed) ? [{
|
|
158
158
|
property: "className",
|
|
159
|
-
from:
|
|
159
|
+
from: collapsed,
|
|
160
160
|
to: void 0
|
|
161
|
-
}
|
|
161
|
+
}] : []
|
|
162
162
|
]
|
|
163
163
|
});
|
|
164
164
|
}
|
|
@@ -2,31 +2,27 @@
|
|
|
2
2
|
const snippets = [
|
|
3
3
|
{
|
|
4
4
|
description: "Large",
|
|
5
|
-
code: "<Accordion>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
5
|
+
code: "<Accordion>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
6
6
|
},
|
|
7
7
|
{
|
|
8
8
|
description: "Large, without dividers",
|
|
9
|
-
code: "<Accordion dividers={false}>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
9
|
+
code: "<Accordion dividers={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
description: "Standard",
|
|
13
|
-
code: "<Accordion size=\"standard\">\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
13
|
+
code: "<Accordion size=\"standard\">\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
description: "Standard, without dividers",
|
|
17
|
-
code: "<Accordion size=\"standard\" dividers={false}>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
17
|
+
code: "<Accordion size=\"standard\" dividers={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
description: "
|
|
21
|
-
code: "<AccordionItem label=\"
|
|
20
|
+
description: "Single open item",
|
|
21
|
+
code: "<Accordion multiple={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
description: "
|
|
25
|
-
code: "<AccordionItem label=\"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
description: "Standalone item with a badge",
|
|
29
|
-
code: "<AccordionItem\n label=\"Label\"\n badge={\n <Badge tone=\"promote\" weight=\"strong\">\n Badge\n </Badge>\n }\n>\n <Placeholder height={100} />\n</AccordionItem>"
|
|
24
|
+
description: "Single open item with a default value",
|
|
25
|
+
code: "<Accordion multiple={false} defaultValue=\"item-1\">\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
30
26
|
}
|
|
31
27
|
];
|
|
32
28
|
//#endregion
|
|
@@ -2,31 +2,27 @@
|
|
|
2
2
|
const snippets = [
|
|
3
3
|
{
|
|
4
4
|
description: "Large",
|
|
5
|
-
code: "<Accordion>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
5
|
+
code: "<Accordion>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
6
6
|
},
|
|
7
7
|
{
|
|
8
8
|
description: "Large, without dividers",
|
|
9
|
-
code: "<Accordion dividers={false}>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
9
|
+
code: "<Accordion dividers={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
description: "Standard",
|
|
13
|
-
code: "<Accordion size=\"standard\">\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
13
|
+
code: "<Accordion size=\"standard\">\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
description: "Standard, without dividers",
|
|
17
|
-
code: "<Accordion size=\"standard\" dividers={false}>\n <AccordionItem label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
17
|
+
code: "<Accordion size=\"standard\" dividers={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
description: "
|
|
21
|
-
code: "<AccordionItem label=\"
|
|
20
|
+
description: "Single open item",
|
|
21
|
+
code: "<Accordion multiple={false}>\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
description: "
|
|
25
|
-
code: "<AccordionItem label=\"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
description: "Standalone item with a badge",
|
|
29
|
-
code: "<AccordionItem\n label=\"Label\"\n badge={\n <Badge tone=\"promote\" weight=\"strong\">\n Badge\n </Badge>\n }\n>\n <Placeholder height={100} />\n</AccordionItem>"
|
|
24
|
+
description: "Single open item with a default value",
|
|
25
|
+
code: "<Accordion multiple={false} defaultValue=\"item-1\">\n <AccordionItem value=\"item-1\" label=\"Item 1\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-2\" label=\"Item 2\">\n <Placeholder height={100} />\n </AccordionItem>\n <AccordionItem value=\"item-3\" label=\"Item 3\">\n <Placeholder height={100} />\n </AccordionItem>\n</Accordion>"
|
|
30
26
|
}
|
|
31
27
|
];
|
|
32
28
|
//#endregion
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/BulkActions.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Bulk actions",
|
|
5
|
+
code: "<>\n {setDefaultState(\"one\", false)}\n {setDefaultState(\"two\", false)}\n {setDefaultState(\"three\", false)}\n <Stack space=\"large\">\n <Inline space=\"medium\" alignY=\"center\">\n <CheckboxStandalone\n aria-label=\"Select all\"\n checked={[getState(\"one\"), getState(\"two\"), getState(\"three\")]}\n onChange={({ currentTarget: { checked } }) => {\n setState(\"one\", checked)\n setState(\"two\", checked)\n setState(\"three\", checked)\n }}\n />\n\n {getState(\"one\") || getState(\"two\") || getState(\"three\") ? (\n <Inline space=\"large\">\n <ButtonIcon bleed icon={<IconDownload />} label=\"Action 1\" />\n <ButtonIcon bleed icon={<IconDelete />} label=\"Action 2\" />\n </Inline>\n ) : null}\n </Inline>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"one\"\n checked={getState(\"one\")}\n onChange={() => toggleState(\"one\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 1</Text>\n </Column>\n </Columns>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"two\"\n checked={getState(\"two\")}\n onChange={() => toggleState(\"two\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 2</Text>\n </Column>\n </Columns>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"three\"\n checked={getState(\"three\")}\n onChange={() => toggleState(\"three\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 3</Text>\n </Column>\n </Columns>\n </Stack>\n</>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/BulkActions.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Bulk actions",
|
|
5
|
+
code: "<>\n {setDefaultState(\"one\", false)}\n {setDefaultState(\"two\", false)}\n {setDefaultState(\"three\", false)}\n <Stack space=\"large\">\n <Inline space=\"medium\" alignY=\"center\">\n <CheckboxStandalone\n aria-label=\"Select all\"\n checked={[getState(\"one\"), getState(\"two\"), getState(\"three\")]}\n onChange={({ currentTarget: { checked } }) => {\n setState(\"one\", checked)\n setState(\"two\", checked)\n setState(\"three\", checked)\n }}\n />\n\n {getState(\"one\") || getState(\"two\") || getState(\"three\") ? (\n <Inline space=\"large\">\n <ButtonIcon bleed icon={<IconDownload />} label=\"Action 1\" />\n <ButtonIcon bleed icon={<IconDelete />} label=\"Action 2\" />\n </Inline>\n ) : null}\n </Inline>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"one\"\n checked={getState(\"one\")}\n onChange={() => toggleState(\"one\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 1</Text>\n </Column>\n </Columns>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"two\"\n checked={getState(\"two\")}\n onChange={() => toggleState(\"two\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 2</Text>\n </Column>\n </Columns>\n <Columns space=\"small\">\n <Column width=\"content\">\n <Text>\n <CheckboxStandalone\n aria-label=\"three\"\n checked={getState(\"three\")}\n onChange={() => toggleState(\"three\")}\n />\n </Text>\n </Column>\n <Column>\n <Text>Item 3</Text>\n </Column>\n </Columns>\n </Stack>\n</>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { snippets };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/DividedLists.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Divided list",
|
|
5
|
+
code: "<Stack space=\"xlarge\">\n <Heading level=\"2\">Heading</Heading>\n <Stack space=\"large\">\n {[\n {\n title: \"Strong text lorem ipsum\",\n description: \"Secondary text dolor sit amet\",\n },\n {\n title: \"Strong text\",\n description: \"Secondary text consectetur adipiscing\",\n },\n {\n title: \"Strong text ipsum\",\n description: \"Secondary text vel odio\",\n },\n ].map((item) => (\n <Stack key={item.title} space=\"large\">\n <Columns space=\"small\">\n <Column>\n <Stack space=\"small\">\n <Text weight=\"strong\">{item.title}</Text>\n <Text tone=\"secondary\">{item.description}</Text>\n </Stack>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconEdit />}\n label=\"Edit\"\n />\n </Column>\n </Columns>\n <Divider />\n </Stack>\n ))}\n </Stack>\n</Stack>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/DividedLists.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Divided list",
|
|
5
|
+
code: "<Stack space=\"xlarge\">\n <Heading level=\"2\">Heading</Heading>\n <Stack space=\"large\">\n {[\n {\n title: \"Strong text lorem ipsum\",\n description: \"Secondary text dolor sit amet\",\n },\n {\n title: \"Strong text\",\n description: \"Secondary text consectetur adipiscing\",\n },\n {\n title: \"Strong text ipsum\",\n description: \"Secondary text vel odio\",\n },\n ].map((item) => (\n <Stack key={item.title} space=\"large\">\n <Columns space=\"small\">\n <Column>\n <Stack space=\"small\">\n <Text weight=\"strong\">{item.title}</Text>\n <Text tone=\"secondary\">{item.description}</Text>\n </Stack>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconEdit />}\n label=\"Edit\"\n />\n </Column>\n </Columns>\n <Divider />\n </Stack>\n ))}\n </Stack>\n</Stack>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { snippets };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/EmptyState.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Empty state (full page)",
|
|
5
|
+
code: "<ContentBlock width=\"small\">\n <Stack align=\"center\" space={{ mobile: \"medium\", desktop: \"large\" }}>\n <Placeholder\n shape=\"round\"\n width={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n height={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n />\n\n <Stack space=\"medium\" align=\"center\">\n <Heading level=\"2\" weight=\"weak\" align=\"center\">\n An example empty state\n </Heading>\n <Text tone=\"secondary\" align=\"center\">\n This is a center aligned example with a short summary. You can use a\n button or <TextLink href=\"#\">a TextLink</TextLink> to suit your needs.\n </Text>\n <Actions>\n <Button variant=\"ghost\">Button</Button>\n </Actions>\n </Stack>\n </Stack>\n</ContentBlock>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Empty state (inline)",
|
|
9
|
+
code: "<Tiles columns={{ mobile: 1, tablet: 3 }} space=\"small\">\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Notice tone=\"info\">\n <Text>\n We don’t have any data for this yet. Please check back later.\n </Text>\n </Notice>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n</Tiles>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/EmptyState.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Empty state (full page)",
|
|
5
|
+
code: "<ContentBlock width=\"small\">\n <Stack align=\"center\" space={{ mobile: \"medium\", desktop: \"large\" }}>\n <Placeholder\n shape=\"round\"\n width={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n height={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n />\n\n <Stack space=\"medium\" align=\"center\">\n <Heading level=\"2\" weight=\"weak\" align=\"center\">\n An example empty state\n </Heading>\n <Text tone=\"secondary\" align=\"center\">\n This is a center aligned example with a short summary. You can use a\n button or <TextLink href=\"#\">a TextLink</TextLink> to suit your needs.\n </Text>\n <Actions>\n <Button variant=\"ghost\">Button</Button>\n </Actions>\n </Stack>\n </Stack>\n</ContentBlock>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Empty state (inline)",
|
|
9
|
+
code: "<Tiles columns={{ mobile: 1, tablet: 3 }} space=\"small\">\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Notice tone=\"info\">\n <Text>\n We don’t have any data for this yet. Please check back later.\n </Text>\n </Notice>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n</Tiles>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { snippets };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/ErrorState.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Error state (full page)",
|
|
5
|
+
code: "<ContentBlock width=\"small\">\n <Stack align=\"center\" space={{ mobile: \"medium\", desktop: \"large\" }}>\n <Placeholder\n shape=\"round\"\n width={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n height={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n />\n\n <Stack space=\"medium\" align=\"center\">\n <Heading level=\"2\" weight=\"weak\" align=\"center\">\n How an error might look\n </Heading>\n <Text tone=\"secondary\" align=\"center\">\n This is a center aligned example with a short summary. You can use a\n button or <TextLink href=\"#\">a TextLink</TextLink> to suit your needs.\n </Text>\n <Actions>\n <Button variant=\"ghost\">Button</Button>\n </Actions>\n </Stack>\n </Stack>\n</ContentBlock>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Error state (inline)",
|
|
9
|
+
code: "<Tiles columns={{ mobile: 1, tablet: 3 }} space=\"small\">\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Notice tone=\"critical\">\n <Text>\n We can’t load this data right now. Please check back later.\n </Text>\n </Notice>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n</Tiles>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/ErrorState.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Error state (full page)",
|
|
5
|
+
code: "<ContentBlock width=\"small\">\n <Stack align=\"center\" space={{ mobile: \"medium\", desktop: \"large\" }}>\n <Placeholder\n shape=\"round\"\n width={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n height={responsiveValue({\n mobile: \"96px\",\n tablet: \"128px\",\n desktop: \"192px\",\n })}\n />\n\n <Stack space=\"medium\" align=\"center\">\n <Heading level=\"2\" weight=\"weak\" align=\"center\">\n How an error might look\n </Heading>\n <Text tone=\"secondary\" align=\"center\">\n This is a center aligned example with a short summary. You can use a\n button or <TextLink href=\"#\">a TextLink</TextLink> to suit your needs.\n </Text>\n <Actions>\n <Button variant=\"ghost\">Button</Button>\n </Actions>\n </Stack>\n </Stack>\n</ContentBlock>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Error state (inline)",
|
|
9
|
+
code: "<Tiles columns={{ mobile: 1, tablet: 3 }} space=\"small\">\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Notice tone=\"critical\">\n <Text>\n We can’t load this data right now. Please check back later.\n </Text>\n </Notice>\n </Stack>\n </Card>\n <Card height=\"full\">\n <Stack space=\"large\">\n <Heading level=\"4\">Widget title</Heading>\n <Text>\n Widget content lorem ipsum dolor sit amet, consectetur adipiscing elit\n amet.\n </Text>\n </Stack>\n </Card>\n</Tiles>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { snippets };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/Forms.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Form",
|
|
5
|
+
code: "<>\n {setDefaultState(\"shouldValidate\", false)}\n {setDefaultState(\"Name\", \"\")}\n {setDefaultState(\"RoleTitle\", \"\")}\n {setDefaultState(\"textfield\", \"\")}\n <ContentBlock width=\"small\">\n <Stack space=\"xlarge\">\n <Heading level=\"2\">Form heading</Heading>\n <Stack space=\"large\">\n <Stack space=\"small\">\n <TextField\n label=\"Name\"\n onChange={setState(\"Name\")}\n value={getState(\"Name\")}\n reserveMessageSpace\n message={\n getState(\"shouldValidate\") === true &&\n getState(\"Name\").length === 0\n ? \"Enter your name\"\n : undefined\n }\n tone={\n getState(\"shouldValidate\") === true &&\n getState(\"Name\").length === 0\n ? \"critical\"\n : undefined\n }\n />\n\n <TextField\n label=\"Role title\"\n onChange={setState(\"RoleTitle\")}\n value={getState(\"RoleTitle\")}\n reserveMessageSpace\n message={\n getState(\"shouldValidate\") === true &&\n getState(\"RoleTitle\").length === 0\n ? \"Enter your role title\"\n : undefined\n }\n tone={\n getState(\"shouldValidate\") === true &&\n getState(\"RoleTitle\").length === 0\n ? \"critical\"\n : undefined\n }\n />\n\n <TextField\n label=\"Phone number\"\n onChange={setState(\"textfield\")}\n value={getState(\"textfield\")}\n secondaryLabel=\"optional\"\n reserveMessageSpace\n />\n </Stack>\n <Actions>\n <Button\n variant=\"solid\"\n onClick={() => setState(\"shouldValidate\", true)}\n >\n Submit\n </Button>\n </Actions>\n </Stack>\n </Stack>\n </ContentBlock>\n</>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Form (multi-page)",
|
|
9
|
+
code: "<>\n {setDefaultState(\"progress\", 2)}\n <ContentBlock width=\"small\">\n <Stack space=\"medium\">\n <Stepper label=\"Linear steps\" progress={getState(\"progress\")}>\n <Step>1. First step</Step>\n <Step>2. Second step</Step>\n <Step>3. Third step</Step>\n <Step>4. Fourth step</Step>\n </Stepper>\n <Placeholder height={500} label=\"Form contents\" />\n <Hidden below=\"tablet\">\n <Columns space=\"none\">\n <Column>\n <Inline space=\"small\">\n {getState(\"progress\") > 1 ? (\n <Button\n icon={<IconArrow direction=\"left\" />}\n variant=\"soft\"\n onClick={() => setState(\"progress\", getState(\"progress\") - 1)}\n >\n Back\n </Button>\n ) : null}\n </Inline>\n </Column>\n <Column>\n <Inline align=\"right\" space=\"medium\">\n <Inline space=\"small\">\n <Button variant=\"transparent\">Save draft</Button>\n {getState(\"progress\") < 4 ? (\n <Button\n variant=\"solid\"\n tone=\"formAccent\"\n icon={<IconArrow direction=\"right\" />}\n iconPosition=\"trailing\"\n onClick={() =>\n setState(\"progress\", getState(\"progress\") + 1)\n }\n >\n Continue\n </Button>\n ) : null}\n {getState(\"progress\") > 3 ? (\n <Button\n icon={<IconSend />}\n iconPosition=\"trailing\"\n tone=\"brandAccent\"\n onClick={() =>\n setState(\"progress\", getState(\"progress\") + 1)\n }\n >\n Submit\n </Button>\n ) : null}\n </Inline>\n </Inline>\n </Column>\n </Columns>\n </Hidden>\n <Hidden above=\"mobile\">\n <Stack space=\"small\">\n <Columns space=\"xsmall\">\n <Column>\n {getState(\"progress\") > 1 ? (\n <Button\n icon={<IconArrow direction=\"left\" />}\n variant=\"soft\"\n onClick={() => setState(\"progress\", getState(\"progress\") - 1)}\n >\n Back\n </Button>\n ) : null}\n </Column>\n <Column>\n {getState(\"progress\") < 4 ? (\n <Button\n variant=\"solid\"\n tone=\"formAccent\"\n icon={<IconArrow direction=\"right\" />}\n iconPosition=\"trailing\"\n onClick={() => setState(\"progress\", getState(\"progress\") + 1)}\n >\n Continue\n </Button>\n ) : null}\n {getState(\"progress\") > 3 ? (\n <Button\n icon={<IconSend />}\n iconPosition=\"trailing\"\n tone=\"brandAccent\"\n onClick={() => setState(\"progress\", getState(\"progress\") + 1)}\n >\n Submit\n </Button>\n ) : null}\n </Column>\n </Columns>\n <Button variant=\"transparent\">Save draft</Button>\n </Stack>\n </Hidden>\n </Stack>\n </ContentBlock>\n</>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/Forms.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Form",
|
|
5
|
+
code: "<>\n {setDefaultState(\"shouldValidate\", false)}\n {setDefaultState(\"Name\", \"\")}\n {setDefaultState(\"RoleTitle\", \"\")}\n {setDefaultState(\"textfield\", \"\")}\n <ContentBlock width=\"small\">\n <Stack space=\"xlarge\">\n <Heading level=\"2\">Form heading</Heading>\n <Stack space=\"large\">\n <Stack space=\"small\">\n <TextField\n label=\"Name\"\n onChange={setState(\"Name\")}\n value={getState(\"Name\")}\n reserveMessageSpace\n message={\n getState(\"shouldValidate\") === true &&\n getState(\"Name\").length === 0\n ? \"Enter your name\"\n : undefined\n }\n tone={\n getState(\"shouldValidate\") === true &&\n getState(\"Name\").length === 0\n ? \"critical\"\n : undefined\n }\n />\n\n <TextField\n label=\"Role title\"\n onChange={setState(\"RoleTitle\")}\n value={getState(\"RoleTitle\")}\n reserveMessageSpace\n message={\n getState(\"shouldValidate\") === true &&\n getState(\"RoleTitle\").length === 0\n ? \"Enter your role title\"\n : undefined\n }\n tone={\n getState(\"shouldValidate\") === true &&\n getState(\"RoleTitle\").length === 0\n ? \"critical\"\n : undefined\n }\n />\n\n <TextField\n label=\"Phone number\"\n onChange={setState(\"textfield\")}\n value={getState(\"textfield\")}\n secondaryLabel=\"optional\"\n reserveMessageSpace\n />\n </Stack>\n <Actions>\n <Button\n variant=\"solid\"\n onClick={() => setState(\"shouldValidate\", true)}\n >\n Submit\n </Button>\n </Actions>\n </Stack>\n </Stack>\n </ContentBlock>\n</>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Form (multi-page)",
|
|
9
|
+
code: "<>\n {setDefaultState(\"progress\", 2)}\n <ContentBlock width=\"small\">\n <Stack space=\"medium\">\n <Stepper label=\"Linear steps\" progress={getState(\"progress\")}>\n <Step>1. First step</Step>\n <Step>2. Second step</Step>\n <Step>3. Third step</Step>\n <Step>4. Fourth step</Step>\n </Stepper>\n <Placeholder height={500} label=\"Form contents\" />\n <Hidden below=\"tablet\">\n <Columns space=\"none\">\n <Column>\n <Inline space=\"small\">\n {getState(\"progress\") > 1 ? (\n <Button\n icon={<IconArrow direction=\"left\" />}\n variant=\"soft\"\n onClick={() => setState(\"progress\", getState(\"progress\") - 1)}\n >\n Back\n </Button>\n ) : null}\n </Inline>\n </Column>\n <Column>\n <Inline align=\"right\" space=\"medium\">\n <Inline space=\"small\">\n <Button variant=\"transparent\">Save draft</Button>\n {getState(\"progress\") < 4 ? (\n <Button\n variant=\"solid\"\n tone=\"formAccent\"\n icon={<IconArrow direction=\"right\" />}\n iconPosition=\"trailing\"\n onClick={() =>\n setState(\"progress\", getState(\"progress\") + 1)\n }\n >\n Continue\n </Button>\n ) : null}\n {getState(\"progress\") > 3 ? (\n <Button\n icon={<IconSend />}\n iconPosition=\"trailing\"\n tone=\"brandAccent\"\n onClick={() =>\n setState(\"progress\", getState(\"progress\") + 1)\n }\n >\n Submit\n </Button>\n ) : null}\n </Inline>\n </Inline>\n </Column>\n </Columns>\n </Hidden>\n <Hidden above=\"mobile\">\n <Stack space=\"small\">\n <Columns space=\"xsmall\">\n <Column>\n {getState(\"progress\") > 1 ? (\n <Button\n icon={<IconArrow direction=\"left\" />}\n variant=\"soft\"\n onClick={() => setState(\"progress\", getState(\"progress\") - 1)}\n >\n Back\n </Button>\n ) : null}\n </Column>\n <Column>\n {getState(\"progress\") < 4 ? (\n <Button\n variant=\"solid\"\n tone=\"formAccent\"\n icon={<IconArrow direction=\"right\" />}\n iconPosition=\"trailing\"\n onClick={() => setState(\"progress\", getState(\"progress\") + 1)}\n >\n Continue\n </Button>\n ) : null}\n {getState(\"progress\") > 3 ? (\n <Button\n icon={<IconSend />}\n iconPosition=\"trailing\"\n tone=\"brandAccent\"\n onClick={() => setState(\"progress\", getState(\"progress\") + 1)}\n >\n Submit\n </Button>\n ) : null}\n </Column>\n </Columns>\n <Button variant=\"transparent\">Save draft</Button>\n </Stack>\n </Hidden>\n </Stack>\n </ContentBlock>\n</>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { snippets };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/Nudge.ts
|
|
2
|
+
const snippets = [
|
|
3
|
+
{
|
|
4
|
+
group: "Patterns",
|
|
5
|
+
name: "Nudge",
|
|
6
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"gutter\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"small\", tablet: \"medium\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width={responsiveValue({\n mobile: \"80px\",\n tablet: \"96px\",\n })}\n height={responsiveValue({\n mobile: \"80px\",\n tablet: \"96px\",\n })}\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"medium\">\n <Heading level=\"4\">Create a nudge today</Heading>\n <Text>\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Inline space=\"xsmall\">\n <Button>Create nudge</Button>\n <Button variant=\"transparent\">Learn more</Button>\n </Inline>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
group: "Patterns",
|
|
10
|
+
name: "Nudge (small)",
|
|
11
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"gutter\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"xsmall\", tablet: \"small\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width={responsiveValue({\n mobile: \"72px\",\n tablet: \"80px\",\n })}\n height={responsiveValue({\n mobile: \"72px\",\n tablet: \"80px\",\n })}\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"small\">\n <Text size=\"large\" weight=\"strong\">\n Create a small nudge\n </Text>\n <Text size=\"small\">\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Inline space=\"none\">\n <Button size=\"small\">Create nudge</Button>\n </Inline>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
group: "Patterns",
|
|
15
|
+
name: "Nudge (xsmall)",
|
|
16
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"medium\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"xxsmall\", tablet: \"xsmall\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width=\"72px\"\n height=\"72px\"\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"small\">\n <Text weight=\"strong\">Create an xsmall nudge</Text>\n <Text size=\"small\">\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Text size=\"small\">\n <TextLinkButton>Create nudge</TextLinkButton>\n </Text>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/Nudge.ts
|
|
2
|
+
const snippets = [
|
|
3
|
+
{
|
|
4
|
+
group: "Patterns",
|
|
5
|
+
name: "Nudge",
|
|
6
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"gutter\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"small\", tablet: \"medium\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width={responsiveValue({\n mobile: \"80px\",\n tablet: \"96px\",\n })}\n height={responsiveValue({\n mobile: \"80px\",\n tablet: \"96px\",\n })}\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"medium\">\n <Heading level=\"4\">Create a nudge today</Heading>\n <Text>\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Inline space=\"xsmall\">\n <Button>Create nudge</Button>\n <Button variant=\"transparent\">Learn more</Button>\n </Inline>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
group: "Patterns",
|
|
10
|
+
name: "Nudge (small)",
|
|
11
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"gutter\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"xsmall\", tablet: \"small\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width={responsiveValue({\n mobile: \"72px\",\n tablet: \"80px\",\n })}\n height={responsiveValue({\n mobile: \"72px\",\n tablet: \"80px\",\n })}\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"small\">\n <Text size=\"large\" weight=\"strong\">\n Create a small nudge\n </Text>\n <Text size=\"small\">\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Inline space=\"none\">\n <Button size=\"small\">Create nudge</Button>\n </Inline>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
group: "Patterns",
|
|
15
|
+
name: "Nudge (xsmall)",
|
|
16
|
+
code: "<Box background=\"formAccentSoft\" padding=\"gutter\" borderRadius=\"large\">\n <Columns reverse space=\"medium\" collapseBelow=\"tablet\">\n <Column width=\"content\">\n <Columns space=\"xsmall\">\n <Column>\n <Box\n background=\"surface\"\n borderRadius=\"full\"\n padding={{ mobile: \"xxsmall\", tablet: \"xsmall\" }}\n display=\"inlineBlock\"\n >\n <Placeholder\n shape=\"round\"\n label=\"illo\"\n width=\"72px\"\n height=\"72px\"\n />\n </Box>\n </Column>\n <Column width=\"content\">\n <ButtonIcon\n variant=\"transparent\"\n icon={<IconClear />}\n label=\"Close\"\n bleed\n />\n </Column>\n </Columns>\n </Column>\n <Column>\n <Stack space=\"small\">\n <Text weight=\"strong\">Create an xsmall nudge</Text>\n <Text size=\"small\">\n Use a nudge to drive specific behaviour that leads to better outcomes\n for customers or SEEK.\n </Text>\n <Text size=\"small\">\n <TextLinkButton>Create nudge</TextLinkButton>\n </Text>\n </Stack>\n </Column>\n </Columns>\n</Box>"
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
//#endregion
|
|
20
|
+
export { snippets };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/ServiceOutageBanner.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Service outage banner (widespread)",
|
|
5
|
+
code: "<>\n {setDefaultState(\"dialog\", false)}\n <Box\n background=\"criticalLight\"\n paddingY=\"gutter\"\n paddingX={{ mobile: \"xsmall\", tablet: \"gutter\" }}\n >\n <Stack space=\"none\" align=\"center\">\n <Text icon={<IconCritical />}>\n Critical system outage banner example. Notice how the text wraps across\n different screen sizes. We maximise text width to limit the height of\n the banner.{\" \"}\n <TextLink href=\"#\" onClick={() => toggleState(\"dialog\")}>\n Read more\n </TextLink>\n </Text>\n </Stack>\n </Box>\n <Dialog\n title=\"Critical message\"\n description={<Text tone=\"secondary\">Optional description</Text>}\n open={getState(\"dialog\")}\n onClose={() => toggleState(\"dialog\")}\n >\n <Placeholder height={100} width=\"100%\" />\n </Dialog>\n</>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Service outage banner (isolated)",
|
|
9
|
+
code: "<Alert tone=\"caution\" onClose={() => {}} closeLabel=\"Close info alert\">\n <Text>This is a contextual caution message that can be dismissed.</Text>\n</Alert>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/ServiceOutageBanner.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Service outage banner (widespread)",
|
|
5
|
+
code: "<>\n {setDefaultState(\"dialog\", false)}\n <Box\n background=\"criticalLight\"\n paddingY=\"gutter\"\n paddingX={{ mobile: \"xsmall\", tablet: \"gutter\" }}\n >\n <Stack space=\"none\" align=\"center\">\n <Text icon={<IconCritical />}>\n Critical system outage banner example. Notice how the text wraps across\n different screen sizes. We maximise text width to limit the height of\n the banner.{\" \"}\n <TextLink href=\"#\" onClick={() => toggleState(\"dialog\")}>\n Read more\n </TextLink>\n </Text>\n </Stack>\n </Box>\n <Dialog\n title=\"Critical message\"\n description={<Text tone=\"secondary\">Optional description</Text>}\n open={getState(\"dialog\")}\n onClose={() => toggleState(\"dialog\")}\n >\n <Placeholder height={100} width=\"100%\" />\n </Dialog>\n</>"
|
|
6
|
+
}, {
|
|
7
|
+
group: "Patterns",
|
|
8
|
+
name: "Service outage banner (isolated)",
|
|
9
|
+
code: "<Alert tone=\"caution\" onClose={() => {}} closeLabel=\"Close info alert\">\n <Text>This is a contextual caution message that can be dismissed.</Text>\n</Alert>"
|
|
10
|
+
}];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { snippets };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/SkeletonLoader.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Skeleton loader",
|
|
5
|
+
code: "<Card>\n <Stack space=\"medium\">\n <Stack space=\"xsmall\">\n <Box\n background=\"neutralLight\"\n borderRadius=\"standard\"\n style={{\n height: vars.space.xxlarge,\n width: vars.space.xxxlarge,\n }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.medium, width: \"60%\" }}\n />\n </Stack>\n <Stack space=\"xsmall\">\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"90%\" }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"90%\" }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"60%\" }}\n />\n </Stack>\n <Box\n background=\"neutralLight\"\n borderRadius=\"standard\"\n style={{ height: \"40px\", width: vars.space.xxxlarge }}\n />\n </Stack>\n</Card>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/SkeletonLoader.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Skeleton loader",
|
|
5
|
+
code: "<Card>\n <Stack space=\"medium\">\n <Stack space=\"xsmall\">\n <Box\n background=\"neutralLight\"\n borderRadius=\"standard\"\n style={{\n height: vars.space.xxlarge,\n width: vars.space.xxxlarge,\n }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.medium, width: \"60%\" }}\n />\n </Stack>\n <Stack space=\"xsmall\">\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"90%\" }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"90%\" }}\n />\n\n <Box\n background=\"neutralLight\"\n borderRadius=\"full\"\n style={{ height: vars.space.xsmall, width: \"60%\" }}\n />\n </Stack>\n <Box\n background=\"neutralLight\"\n borderRadius=\"standard\"\n style={{ height: \"40px\", width: vars.space.xxxlarge }}\n />\n </Stack>\n</Card>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { snippets };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/SocialShare.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Social share",
|
|
5
|
+
code: "<Inline space=\"none\">\n <MenuRenderer\n offsetSpace=\"small\"\n align=\"right\"\n width=\"small\"\n trigger={(triggerProps) => (\n <Button variant=\"transparent\" icon={<IconShare />} {...triggerProps}>\n Share job\n </Button>\n )}\n >\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialFacebook />}>\n Facebook\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialInstagram />}>\n Instagram\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialLinkedIn />}>\n LinkedIn\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialX />}>\n Twitter\n </MenuItemLink>\n <MenuItemLink\n href=\"#\"\n icon={<IconLink />}\n onClick={() =>\n showToast({\n message: \"Link copied\",\n tone: \"positive\",\n key: \"1\",\n })\n }\n >\n Copy link\n </MenuItemLink>\n </MenuRenderer>\n</Inline>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.snippets = snippets;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/playroom/snippets/SocialShare.ts
|
|
2
|
+
const snippets = [{
|
|
3
|
+
group: "Patterns",
|
|
4
|
+
name: "Social share",
|
|
5
|
+
code: "<Inline space=\"none\">\n <MenuRenderer\n offsetSpace=\"small\"\n align=\"right\"\n width=\"small\"\n trigger={(triggerProps) => (\n <Button variant=\"transparent\" icon={<IconShare />} {...triggerProps}>\n Share job\n </Button>\n )}\n >\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialFacebook />}>\n Facebook\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialInstagram />}>\n Instagram\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialLinkedIn />}>\n LinkedIn\n </MenuItemLink>\n <MenuItemLink href=\"#\" target=\"_blank\" icon={<IconSocialX />}>\n Twitter\n </MenuItemLink>\n <MenuItemLink\n href=\"#\"\n icon={<IconLink />}\n onClick={() =>\n showToast({\n message: \"Link copied\",\n tone: \"positive\",\n key: \"1\",\n })\n }\n >\n Copy link\n </MenuItemLink>\n </MenuRenderer>\n</Inline>"
|
|
6
|
+
}];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { snippets };
|
|
@@ -6,6 +6,7 @@ const require_Avatar = require("./snippets/Avatar.cjs");
|
|
|
6
6
|
const require_Badge = require("./snippets/Badge.cjs");
|
|
7
7
|
const require_Bleed = require("./snippets/Bleed.cjs");
|
|
8
8
|
const require_BrandedContainer = require("./snippets/BrandedContainer.cjs");
|
|
9
|
+
const require_BulkActions = require("./snippets/BulkActions.cjs");
|
|
9
10
|
const require_Button = require("./snippets/Button.cjs");
|
|
10
11
|
const require_ButtonIcon = require("./snippets/ButtonIcon.cjs");
|
|
11
12
|
const require_Card = require("./snippets/Card.cjs");
|
|
@@ -16,11 +17,15 @@ const require_CompactPage = require("./snippets/CompactPage.cjs");
|
|
|
16
17
|
const require_ContentBlock = require("./snippets/ContentBlock.cjs");
|
|
17
18
|
const require_Dialog = require("./snippets/Dialog.cjs");
|
|
18
19
|
const require_Disclosure = require("./snippets/Disclosure.cjs");
|
|
20
|
+
const require_DividedLists = require("./snippets/DividedLists.cjs");
|
|
19
21
|
const require_Divider = require("./snippets/Divider.cjs");
|
|
20
22
|
const require_Drawer = require("./snippets/Drawer.cjs");
|
|
21
23
|
const require_Dropdown = require("./snippets/Dropdown.cjs");
|
|
24
|
+
const require_EmptyState = require("./snippets/EmptyState.cjs");
|
|
25
|
+
const require_ErrorState = require("./snippets/ErrorState.cjs");
|
|
22
26
|
const require_FieldLabel = require("./snippets/FieldLabel.cjs");
|
|
23
27
|
const require_FieldMessage = require("./snippets/FieldMessage.cjs");
|
|
28
|
+
const require_Forms = require("./snippets/Forms.cjs");
|
|
24
29
|
const require_Heading = require("./snippets/Heading.cjs");
|
|
25
30
|
const require_Inline = require("./snippets/Inline.cjs");
|
|
26
31
|
const require_List = require("./snippets/List.cjs");
|
|
@@ -28,6 +33,7 @@ const require_Loader = require("./snippets/Loader.cjs");
|
|
|
28
33
|
const require_MenuRenderer = require("./snippets/MenuRenderer.cjs");
|
|
29
34
|
const require_MonthPicker = require("./snippets/MonthPicker.cjs");
|
|
30
35
|
const require_Notice = require("./snippets/Notice.cjs");
|
|
36
|
+
const require_Nudge = require("./snippets/Nudge.cjs");
|
|
31
37
|
const require_OverflowMenu = require("./snippets/OverflowMenu.cjs");
|
|
32
38
|
const require_Page = require("./snippets/Page.cjs");
|
|
33
39
|
const require_PageBlock = require("./snippets/PageBlock.cjs");
|
|
@@ -36,6 +42,9 @@ const require_PasswordField = require("./snippets/PasswordField.cjs");
|
|
|
36
42
|
const require_RadioGroup = require("./snippets/RadioGroup.cjs");
|
|
37
43
|
const require_Rating = require("./snippets/Rating.cjs");
|
|
38
44
|
const require_Secondary = require("./snippets/Secondary.cjs");
|
|
45
|
+
const require_ServiceOutageBanner = require("./snippets/ServiceOutageBanner.cjs");
|
|
46
|
+
const require_SkeletonLoader = require("./snippets/SkeletonLoader.cjs");
|
|
47
|
+
const require_SocialShare = require("./snippets/SocialShare.cjs");
|
|
39
48
|
const require_SpaciousPage = require("./snippets/SpaciousPage.cjs");
|
|
40
49
|
const require_Spread = require("./snippets/Spread.cjs");
|
|
41
50
|
const require_Stack = require("./snippets/Stack.cjs");
|
|
@@ -58,6 +67,7 @@ const require_TooltipRenderer = require("./snippets/TooltipRenderer.cjs");
|
|
|
58
67
|
const groupOrder = [
|
|
59
68
|
"Layouts",
|
|
60
69
|
"Sections",
|
|
70
|
+
"Patterns",
|
|
61
71
|
"Components"
|
|
62
72
|
];
|
|
63
73
|
const allSnippets = [];
|
|
@@ -68,6 +78,15 @@ const snippetsMap = {
|
|
|
68
78
|
SpaciousPage: require_SpaciousPage.snippets,
|
|
69
79
|
StandardPage: require_StandardPage.snippets,
|
|
70
80
|
StandardSection: require_StandardSection.snippets,
|
|
81
|
+
BulkActions: require_BulkActions.snippets,
|
|
82
|
+
DividedLists: require_DividedLists.snippets,
|
|
83
|
+
EmptyState: require_EmptyState.snippets,
|
|
84
|
+
ErrorState: require_ErrorState.snippets,
|
|
85
|
+
Forms: require_Forms.snippets,
|
|
86
|
+
Nudge: require_Nudge.snippets,
|
|
87
|
+
ServiceOutageBanner: require_ServiceOutageBanner.snippets,
|
|
88
|
+
SkeletonLoader: require_SkeletonLoader.snippets,
|
|
89
|
+
SocialShare: require_SocialShare.snippets,
|
|
71
90
|
Accordion: require_Accordion.snippets,
|
|
72
91
|
Actions: require_Actions.snippets,
|
|
73
92
|
Alert: require_Alert.snippets,
|
|
@@ -127,7 +146,7 @@ for (const [name, snippets] of Object.entries(snippetsMap)) for (const snippet o
|
|
|
127
146
|
allSnippets.sort((a, b) => {
|
|
128
147
|
const aIndex = groupOrder.indexOf(a.group);
|
|
129
148
|
const bIndex = groupOrder.indexOf(b.group);
|
|
130
|
-
return (aIndex === -1 ?
|
|
149
|
+
return (aIndex === -1 ? 4 : aIndex) - (bIndex === -1 ? 4 : bIndex);
|
|
131
150
|
});
|
|
132
151
|
//#endregion
|
|
133
152
|
exports.default = allSnippets;
|