@pega/cosmos-react-demos 3.0.0-dev.2.1 → 3.0.0-dev.3.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 (115) hide show
  1. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +6 -0
  2. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -0
  3. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx +64 -0
  4. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx.map +1 -0
  5. package/jsx/build/DynamicContentEditor/FieldSelector.d.ts +11 -0
  6. package/jsx/build/DynamicContentEditor/FieldSelector.d.ts.map +1 -0
  7. package/jsx/build/DynamicContentEditor/FieldSelector.jsx +80 -0
  8. package/jsx/build/DynamicContentEditor/FieldSelector.jsx.map +1 -0
  9. package/jsx/core/AppShell/AppShell.stories.jsx +1 -1
  10. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  11. package/jsx/core/Card/Card.stories.jsx +1 -1
  12. package/jsx/core/Card/Card.stories.jsx.map +1 -1
  13. package/jsx/core/Checkbox/Checkbox.stories.jsx +1 -1
  14. package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
  15. package/jsx/core/Currency/Currency.stories.d.ts +5 -2
  16. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  17. package/jsx/core/Currency/Currency.stories.jsx +30 -12
  18. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  19. package/jsx/core/Form/Form.stories.jsx +2 -2
  20. package/jsx/core/Form/Form.stories.jsx.map +1 -1
  21. package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
  22. package/jsx/core/Modal/Modal.stories.jsx +29 -43
  23. package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
  24. package/jsx/core/Number/Number.stories.d.ts +3 -3
  25. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  26. package/jsx/core/Number/Number.stories.jsx +14 -10
  27. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  28. package/jsx/core/PageTemplates/PageTemplates.stories.d.ts +5 -3
  29. package/jsx/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  30. package/jsx/core/PageTemplates/PageTemplates.stories.jsx +102 -26
  31. package/jsx/core/PageTemplates/PageTemplates.stories.jsx.map +1 -1
  32. package/jsx/core/RadioButton/RadioButton.stories.jsx +1 -1
  33. package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
  34. package/jsx/core/Rating/Rating.stories.jsx +1 -1
  35. package/jsx/core/Rating/Rating.stories.jsx.map +1 -1
  36. package/jsx/core/Sentiment/Sentiment.stories.jsx +4 -4
  37. package/jsx/core/Sentiment/Sentiment.stories.jsx.map +1 -1
  38. package/jsx/core/Table/Table.mocks.d.ts +6 -0
  39. package/jsx/core/Table/Table.mocks.d.ts.map +1 -1
  40. package/jsx/core/Table/Table.mocks.jsx +134 -0
  41. package/jsx/core/Table/Table.mocks.jsx.map +1 -1
  42. package/jsx/core/Table/Table.stories.jsx +2 -2
  43. package/jsx/core/Table/Table.stories.jsx.map +1 -1
  44. package/jsx/rte/Editor/Editor.stories.jsx +1 -1
  45. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  46. package/jsx/social/Email/Email.mocks.d.ts +19 -2
  47. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  48. package/jsx/social/Email/Email.mocks.js +48 -1
  49. package/jsx/social/Email/Email.mocks.js.map +1 -1
  50. package/jsx/social/Email/Email.stories.d.ts +1 -1
  51. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  52. package/jsx/social/Email/Email.stories.jsx +57 -14
  53. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  54. package/jsx/work/Details/Details.stories.jsx +3 -3
  55. package/jsx/work/Details/Details.stories.jsx.map +1 -1
  56. package/jsx/work/Stakeholders/Stakeholders.mocks.jsx +1 -1
  57. package/jsx/work/Stakeholders/Stakeholders.mocks.jsx.map +1 -1
  58. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +6 -0
  59. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -0
  60. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js +48 -0
  61. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js.map +1 -0
  62. package/lib/build/DynamicContentEditor/FieldSelector.d.ts +14 -0
  63. package/lib/build/DynamicContentEditor/FieldSelector.d.ts.map +1 -0
  64. package/lib/build/DynamicContentEditor/FieldSelector.js +81 -0
  65. package/lib/build/DynamicContentEditor/FieldSelector.js.map +1 -0
  66. package/lib/core/AppShell/AppShell.stories.js +1 -1
  67. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  68. package/lib/core/Card/Card.stories.js +1 -1
  69. package/lib/core/Card/Card.stories.js.map +1 -1
  70. package/lib/core/Checkbox/Checkbox.stories.js +1 -1
  71. package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
  72. package/lib/core/Currency/Currency.stories.d.ts +5 -2
  73. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  74. package/lib/core/Currency/Currency.stories.js +30 -12
  75. package/lib/core/Currency/Currency.stories.js.map +1 -1
  76. package/lib/core/Form/Form.stories.js +2 -2
  77. package/lib/core/Form/Form.stories.js.map +1 -1
  78. package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
  79. package/lib/core/Modal/Modal.stories.js +14 -14
  80. package/lib/core/Modal/Modal.stories.js.map +1 -1
  81. package/lib/core/Number/Number.stories.d.ts +3 -3
  82. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  83. package/lib/core/Number/Number.stories.js +14 -10
  84. package/lib/core/Number/Number.stories.js.map +1 -1
  85. package/lib/core/PageTemplates/PageTemplates.stories.d.ts +5 -3
  86. package/lib/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  87. package/lib/core/PageTemplates/PageTemplates.stories.js +91 -23
  88. package/lib/core/PageTemplates/PageTemplates.stories.js.map +1 -1
  89. package/lib/core/RadioButton/RadioButton.stories.js +1 -1
  90. package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
  91. package/lib/core/Rating/Rating.stories.js +1 -1
  92. package/lib/core/Rating/Rating.stories.js.map +1 -1
  93. package/lib/core/Sentiment/Sentiment.stories.js +2 -2
  94. package/lib/core/Sentiment/Sentiment.stories.js.map +1 -1
  95. package/lib/core/Table/Table.mocks.d.ts +6 -0
  96. package/lib/core/Table/Table.mocks.d.ts.map +1 -1
  97. package/lib/core/Table/Table.mocks.js +134 -0
  98. package/lib/core/Table/Table.mocks.js.map +1 -1
  99. package/lib/core/Table/Table.stories.js +2 -2
  100. package/lib/core/Table/Table.stories.js.map +1 -1
  101. package/lib/rte/Editor/Editor.stories.js +1 -1
  102. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  103. package/lib/social/Email/Email.mocks.d.ts +19 -2
  104. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  105. package/lib/social/Email/Email.mocks.js +48 -1
  106. package/lib/social/Email/Email.mocks.js.map +1 -1
  107. package/lib/social/Email/Email.stories.d.ts +1 -1
  108. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  109. package/lib/social/Email/Email.stories.js +40 -14
  110. package/lib/social/Email/Email.stories.js.map +1 -1
  111. package/lib/work/Details/Details.stories.js +3 -3
  112. package/lib/work/Details/Details.stories.js.map +1 -1
  113. package/lib/work/Stakeholders/Stakeholders.mocks.js +1 -1
  114. package/lib/work/Stakeholders/Stakeholders.mocks.js.map +1 -1
  115. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAQL,UAAU,EAKX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;;AAEzD,wBAgBU;AAEV,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,UAAU,CA+BvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,UAAU,CAkE1C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,UAAU,CAgGxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,UAAU,CA2F3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAkC9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAiCzB,CAAC;AAQF,UAAU,0BAA0B;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CAgEnE,CAAC"}
1
+ {"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAOL,UAAU,EAIX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;;AAEzD,wBAgBU;AAEV,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,UAAU,CA6BvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,UAAU,CAgE1C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,UAAU,CA4FxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,UAAU,CA2F3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAgC9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA+BzB,CAAC;AAQF,UAAU,0BAA0B;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CA8DnE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { useContext, useEffect, useMemo, useRef, useState } from 'react';
2
- import { Button, Configuration, Flex, Input, Modal, ModalManagerContext, Text, ToasterContext, WorkTheme, cap } from '@pega/cosmos-react-core';
2
+ import { Button, Flex, Input, Modal, ModalManagerContext, Text, ToasterContext, cap } from '@pega/cosmos-react-core';
3
3
  import { getContent } from './Modal.mocks';
4
4
  export default {
5
5
  title: 'Core/Modal',
@@ -20,11 +20,9 @@ export default {
20
20
  };
21
21
  export const ModalDemo = (args) => {
22
22
  const MyModal = () => {
23
- return (<Configuration theme={WorkTheme}>
24
- <Modal heading='This is the Modal heading' autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
25
- <Text>This is the content of the Modal.</Text>
26
- </Modal>
27
- </Configuration>);
23
+ return (<Modal heading='This is the Modal heading' autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
24
+ <Text>This is the content of the Modal.</Text>
25
+ </Modal>);
28
26
  };
29
27
  const ModalButton = () => {
30
28
  const { create } = useContext(ModalManagerContext);
@@ -49,11 +47,9 @@ export const ModalUpdates = (args) => {
49
47
  Update Modal
50
48
  </Button>
51
49
  </>);
52
- return (<Configuration theme={WorkTheme}>
53
- <Modal heading={props.heading} actions={actions} autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
54
- <Text>{props.content}</Text>
55
- </Modal>
56
- </Configuration>);
50
+ return (<Modal heading={props.heading} actions={actions} autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
51
+ <Text>{props.content}</Text>
52
+ </Modal>);
57
53
  };
58
54
  const ModalButton = () => {
59
55
  const { create } = useContext(ModalManagerContext);
@@ -91,11 +87,9 @@ export const AlertModal = (args) => {
91
87
  </Button>
92
88
  </>);
93
89
  }, [dismiss]);
94
- return (<Configuration theme={WorkTheme}>
95
- <Modal heading='You have unsaved changes!' actions={actions} center={args.center} stretch={args.stretch}>
96
- <Text>Are you sure you want to close without saving?</Text>
97
- </Modal>
98
- </Configuration>);
90
+ return (<Modal heading='You have unsaved changes!' actions={actions} center={args.center} stretch={args.stretch}>
91
+ <Text>Are you sure you want to close without saving?</Text>
92
+ </Modal>);
99
93
  };
100
94
  const MyModal = () => {
101
95
  const [name, setName] = useState('');
@@ -121,11 +115,9 @@ export const AlertModal = (args) => {
121
115
  const onNameChange = (e) => {
122
116
  setName(e.target.value);
123
117
  };
124
- return (<Configuration theme={WorkTheme}>
125
- <Modal actions={actions} heading='Close the Modal without saving any data to invoke the alert' autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
126
- <Input label='Name' name='name' onChange={onNameChange} value={name} required/>
127
- </Modal>
128
- </Configuration>);
118
+ return (<Modal actions={actions} heading='Close the Modal without saving any data to invoke the alert' autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
119
+ <Input label='Name' name='name' onChange={onNameChange} value={name} required/>
120
+ </Modal>);
129
121
  };
130
122
  const ModalButton = () => {
131
123
  const { create } = useContext(ModalManagerContext);
@@ -197,11 +189,9 @@ export const ProgressState = () => {
197
189
  export const MinimizableModal = (args) => {
198
190
  const [count, setCount] = useState(1);
199
191
  const MyModal = () => {
200
- return (<Configuration theme={WorkTheme}>
201
- <Modal heading={`Modal #${count}`} autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
202
- <Text>This Modal can be minimized by clicking the minimize button above.</Text>
203
- </Modal>
204
- </Configuration>);
192
+ return (<Modal heading={`Modal #${count}`} autoWidth={args.autoWidth} center={args.center} stretch={args.stretch}>
193
+ <Text>This Modal can be minimized by clicking the minimize button above.</Text>
194
+ </Modal>);
205
195
  };
206
196
  const ModalButton = () => {
207
197
  const { create } = useContext(ModalManagerContext);
@@ -217,11 +207,9 @@ export const MinimizableModal = (args) => {
217
207
  export const DockedModal = () => {
218
208
  const [count, setCount] = useState(1);
219
209
  const MyModal = () => {
220
- return (<Configuration theme={WorkTheme}>
221
- <Modal heading={`Modal #${count}`}>
222
- <Text>This Modal can be minimized by clicking the minimize button above.</Text>
223
- </Modal>
224
- </Configuration>);
210
+ return (<Modal heading={`Modal #${count}`}>
211
+ <Text>This Modal can be minimized by clicking the minimize button above.</Text>
212
+ </Modal>);
225
213
  };
226
214
  const ModalButton = () => {
227
215
  const { create } = useContext(ModalManagerContext);
@@ -248,24 +236,22 @@ export const AutoWidthModalContent = (args) => {
248
236
  const MyModal = ({ content }) => {
249
237
  const { ModalContext } = useContext(ModalManagerContext);
250
238
  const { dismiss } = useContext(ModalContext);
251
- return (<Configuration theme={WorkTheme}>
252
- <Modal heading={`Modal ${args.autoWidth ? 'with' : 'without'} autoWidth`} autoWidth={args.autoWidth} actions={args.content.includes('form') || args.content === 'random' ? (<>
253
- <Button name='Cancel' variant='secondary' onClick={() => {
239
+ return (<Modal heading={`Modal ${args.autoWidth ? 'with' : 'without'} autoWidth`} autoWidth={args.autoWidth} actions={args.content.includes('form') || args.content === 'random' ? (<>
240
+ <Button name='Cancel' variant='secondary' onClick={() => {
254
241
  dismiss();
255
242
  push({ content: 'Form cancelled!' });
256
243
  }}>
257
- Cancel
258
- </Button>
259
- <Button name='Submit' variant='primary' onClick={() => {
244
+ Cancel
245
+ </Button>
246
+ <Button name='Submit' variant='primary' onClick={() => {
260
247
  dismiss();
261
248
  push({ content: 'Form submitted!' });
262
249
  }}>
263
- Submit
264
- </Button>
265
- </>) : undefined}>
266
- {content}
267
- </Modal>
268
- </Configuration>);
250
+ Submit
251
+ </Button>
252
+ </>) : undefined}>
253
+ {content}
254
+ </Modal>);
269
255
  };
270
256
  const ModalButton = () => {
271
257
  const { create } = useContext(ModalManagerContext);
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.stories.jsx","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport {\n FC,\n ChangeEvent,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport {\n Button,\n Configuration,\n Flex,\n Input,\n Modal,\n ModalManagerContext,\n ModalMethods,\n ModalProps,\n Text,\n ToasterContext,\n WorkTheme,\n cap\n} from '@pega/cosmos-react-core';\n\nimport { ContentTypes, getContent } from './Modal.mocks';\n\nexport default {\n title: 'Core/Modal',\n component: Modal,\n parameters: {\n layout: 'centered'\n },\n args: {\n autoWidth: false,\n stretch: false,\n center: false\n },\n argTypes: {\n autoWidth: { control: { type: 'boolean' } },\n stretch: { control: { type: 'boolean' } },\n center: { control: { type: 'boolean' } }\n }\n} as Meta;\n\nexport const ModalDemo: Story<ModalProps> = (args: ModalProps) => {\n const MyModal = () => {\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n heading='This is the Modal heading'\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>This is the content of the Modal.</Text>\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const ModalUpdates: Story<ModalProps> = (args: ModalProps) => {\n interface ModalUpdatesProps {\n content: string;\n disableButton: boolean;\n heading: string;\n }\n\n const MyModal: FC<ModalUpdatesProps> = props => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { update } = useContext(ModalContext);\n\n const actions = (\n <>\n <Button\n variant='primary'\n disabled={props.disableButton}\n onClick={() => {\n update({\n content: 'This Modal has been updated a second time from within the Modal!'\n });\n }}\n >\n Update Modal\n </Button>\n </>\n );\n\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n heading={props.heading}\n actions={actions}\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>{props.content}</Text>\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n const modalMethods = useRef<ModalMethods<ModalUpdatesProps>>();\n\n const openModal = () => {\n modalMethods.current = create(MyModal, {\n heading: 'This is the Modal heading',\n content: 'This Modal will automatically update in a few seconds.',\n disableButton: true\n });\n\n setTimeout(() => {\n modalMethods.current?.update({\n heading: 'This is the updated Modal heading',\n content: 'This Modal has been updated from its parent!',\n disableButton: false\n });\n }, 2000);\n };\n\n return <Button onClick={openModal}>Open Modal</Button>;\n };\n\n return <ModalButton />;\n};\n\nexport const AlertModal: Story<ModalProps> = (args: ModalProps) => {\n const MyAlert = (props: { closeInitialModal: () => void }) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const actions = useMemo(() => {\n return (\n <>\n <Button onClick={dismiss}>No</Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n props.closeInitialModal();\n }}\n >\n Yes\n </Button>\n </>\n );\n }, [dismiss]);\n\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n heading='You have unsaved changes!'\n actions={actions}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>Are you sure you want to close without saving?</Text>\n </Modal>\n </Configuration>\n );\n };\n\n const MyModal = () => {\n const [name, setName] = useState('');\n const { ModalContext, create } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const actions = useMemo(() => {\n return (\n <>\n <Button\n onClick={() => {\n if (name !== '') {\n create(MyAlert, { closeInitialModal: dismiss }, { alert: true });\n } else {\n dismiss();\n }\n }}\n >\n Close\n </Button>\n <Button variant='primary' onClick={dismiss} disabled={name === ''}>\n Save\n </Button>\n </>\n );\n }, [dismiss, name]);\n\n const onNameChange = (e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n };\n\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n actions={actions}\n heading='Close the Modal without saving any data to invoke the alert'\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Input label='Name' name='name' onChange={onNameChange} value={name} required />\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const ProgressState: Story<ModalProps> = () => {\n const LoadingStateModal = () => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const [transientState, setTransientState] = useState<'loading' | 'submitting' | null>(\n 'loading'\n );\n\n const actions =\n transientState === 'loading' ? null : (\n <>\n <Button\n disabled={!!transientState}\n onClick={() => {\n if (transientState !== 'submitting') {\n dismiss();\n }\n }}\n >\n Cancel\n </Button>\n <Button\n disabled={!!transientState}\n variant='primary'\n onClick={() => {\n setTransientState('submitting');\n }}\n >\n Submit\n </Button>\n </>\n );\n\n useEffect(() => {\n let timerID: number;\n\n if (transientState === 'loading' || transientState === 'submitting') {\n timerID = window.setTimeout(() => {\n if (transientState === 'loading') {\n setTransientState(null);\n } else {\n dismiss();\n }\n }, 3000);\n }\n\n return () => {\n window.clearTimeout(timerID);\n };\n }, [transientState]);\n\n return (\n <Modal\n progress={useMemo(() => {\n if (transientState) {\n return {\n message: `${cap(transientState)}…`\n };\n }\n }, [transientState])}\n heading='Modal progress demo'\n actions={actions}\n onRequestDismiss={() => transientState !== 'submitting'}\n >\n {transientState !== 'loading' && (\n <Flex container={{ direction: 'column', gap: 2 }}>\n {Array.from({ length: 5 }, (_, i) => (\n <Input key={i} label={`Field-${i + 1}`} />\n ))}\n </Flex>\n )}\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(LoadingStateModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const MinimizableModal: Story<ModalProps> = (args: ModalProps) => {\n const [count, setCount] = useState(1);\n\n const MyModal = () => {\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n heading={`Modal #${count}`}\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>This Modal can be minimized by clicking the minimize button above.</Text>\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n setCount(count + 1);\n create(MyModal, undefined, { minimizable: true });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const DockedModal: Story = () => {\n const [count, setCount] = useState(1);\n\n const MyModal = () => {\n return (\n <Configuration theme={WorkTheme}>\n <Modal heading={`Modal #${count}`}>\n <Text>This Modal can be minimized by clicking the minimize button above.</Text>\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n setCount(count + 1);\n create(MyModal, undefined, {\n minimizable: true,\n maximizable: true,\n dockable: true\n });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nDockedModal.argTypes = {\n autoWidth: { table: { disable: true } },\n stretch: { table: { disable: true } },\n center: { table: { disable: true } }\n};\n\ninterface AutoWidthModalContentProps {\n autoWidth: boolean;\n content: ContentTypes;\n formColumnWidthFixed: boolean;\n stretch?: never;\n center?: never;\n}\n\nexport const AutoWidthModalContent: Story<AutoWidthModalContentProps> = (\n args: AutoWidthModalContentProps\n) => {\n const { push } = useContext(ToasterContext);\n\n const MyModal = ({ content }: { content: ReactNode }) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n return (\n <Configuration theme={WorkTheme}>\n <Modal\n heading={`Modal ${args.autoWidth ? 'with' : 'without'} autoWidth`}\n autoWidth={args.autoWidth}\n actions={\n args.content.includes('form') || args.content === 'random' ? (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n dismiss();\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n dismiss();\n push({ content: 'Form submitted!' });\n }}\n >\n Submit\n </Button>\n </>\n ) : undefined\n }\n >\n {content}\n </Modal>\n </Configuration>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal, {\n content: getContent(args.content, args.formColumnWidthFixed)\n });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nAutoWidthModalContent.args = {\n autoWidth: true,\n content: 'short text',\n formColumnWidthFixed: false\n};\n\nAutoWidthModalContent.argTypes = {\n stretch: { table: { disable: true } },\n center: { table: { disable: true } },\n content: {\n options: [\n 'short text',\n 'long text',\n 'image',\n 'table',\n 'form (1 column)',\n 'form (2 column)',\n 'form (3 column)',\n 'random'\n ],\n control: { type: 'select' }\n },\n formColumnWidthFixed: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Modal.stories.jsx","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport {\n FC,\n ChangeEvent,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport {\n Button,\n Flex,\n Input,\n Modal,\n ModalManagerContext,\n ModalMethods,\n ModalProps,\n Text,\n ToasterContext,\n cap\n} from '@pega/cosmos-react-core';\n\nimport { ContentTypes, getContent } from './Modal.mocks';\n\nexport default {\n title: 'Core/Modal',\n component: Modal,\n parameters: {\n layout: 'centered'\n },\n args: {\n autoWidth: false,\n stretch: false,\n center: false\n },\n argTypes: {\n autoWidth: { control: { type: 'boolean' } },\n stretch: { control: { type: 'boolean' } },\n center: { control: { type: 'boolean' } }\n }\n} as Meta;\n\nexport const ModalDemo: Story<ModalProps> = (args: ModalProps) => {\n const MyModal = () => {\n return (\n <Modal\n heading='This is the Modal heading'\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>This is the content of the Modal.</Text>\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const ModalUpdates: Story<ModalProps> = (args: ModalProps) => {\n interface ModalUpdatesProps {\n content: string;\n disableButton: boolean;\n heading: string;\n }\n\n const MyModal: FC<ModalUpdatesProps> = props => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { update } = useContext(ModalContext);\n\n const actions = (\n <>\n <Button\n variant='primary'\n disabled={props.disableButton}\n onClick={() => {\n update({\n content: 'This Modal has been updated a second time from within the Modal!'\n });\n }}\n >\n Update Modal\n </Button>\n </>\n );\n\n return (\n <Modal\n heading={props.heading}\n actions={actions}\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>{props.content}</Text>\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n const modalMethods = useRef<ModalMethods<ModalUpdatesProps>>();\n\n const openModal = () => {\n modalMethods.current = create(MyModal, {\n heading: 'This is the Modal heading',\n content: 'This Modal will automatically update in a few seconds.',\n disableButton: true\n });\n\n setTimeout(() => {\n modalMethods.current?.update({\n heading: 'This is the updated Modal heading',\n content: 'This Modal has been updated from its parent!',\n disableButton: false\n });\n }, 2000);\n };\n\n return <Button onClick={openModal}>Open Modal</Button>;\n };\n\n return <ModalButton />;\n};\n\nexport const AlertModal: Story<ModalProps> = (args: ModalProps) => {\n const MyAlert = (props: { closeInitialModal: () => void }) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const actions = useMemo(() => {\n return (\n <>\n <Button onClick={dismiss}>No</Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n props.closeInitialModal();\n }}\n >\n Yes\n </Button>\n </>\n );\n }, [dismiss]);\n\n return (\n <Modal\n heading='You have unsaved changes!'\n actions={actions}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>Are you sure you want to close without saving?</Text>\n </Modal>\n );\n };\n\n const MyModal = () => {\n const [name, setName] = useState('');\n const { ModalContext, create } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const actions = useMemo(() => {\n return (\n <>\n <Button\n onClick={() => {\n if (name !== '') {\n create(MyAlert, { closeInitialModal: dismiss }, { alert: true });\n } else {\n dismiss();\n }\n }}\n >\n Close\n </Button>\n <Button variant='primary' onClick={dismiss} disabled={name === ''}>\n Save\n </Button>\n </>\n );\n }, [dismiss, name]);\n\n const onNameChange = (e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n };\n\n return (\n <Modal\n actions={actions}\n heading='Close the Modal without saving any data to invoke the alert'\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Input label='Name' name='name' onChange={onNameChange} value={name} required />\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const ProgressState: Story<ModalProps> = () => {\n const LoadingStateModal = () => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n const [transientState, setTransientState] = useState<'loading' | 'submitting' | null>(\n 'loading'\n );\n\n const actions =\n transientState === 'loading' ? null : (\n <>\n <Button\n disabled={!!transientState}\n onClick={() => {\n if (transientState !== 'submitting') {\n dismiss();\n }\n }}\n >\n Cancel\n </Button>\n <Button\n disabled={!!transientState}\n variant='primary'\n onClick={() => {\n setTransientState('submitting');\n }}\n >\n Submit\n </Button>\n </>\n );\n\n useEffect(() => {\n let timerID: number;\n\n if (transientState === 'loading' || transientState === 'submitting') {\n timerID = window.setTimeout(() => {\n if (transientState === 'loading') {\n setTransientState(null);\n } else {\n dismiss();\n }\n }, 3000);\n }\n\n return () => {\n window.clearTimeout(timerID);\n };\n }, [transientState]);\n\n return (\n <Modal\n progress={useMemo(() => {\n if (transientState) {\n return {\n message: `${cap(transientState)}…`\n };\n }\n }, [transientState])}\n heading='Modal progress demo'\n actions={actions}\n onRequestDismiss={() => transientState !== 'submitting'}\n >\n {transientState !== 'loading' && (\n <Flex container={{ direction: 'column', gap: 2 }}>\n {Array.from({ length: 5 }, (_, i) => (\n <Input key={i} label={`Field-${i + 1}`} />\n ))}\n </Flex>\n )}\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(LoadingStateModal);\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const MinimizableModal: Story<ModalProps> = (args: ModalProps) => {\n const [count, setCount] = useState(1);\n\n const MyModal = () => {\n return (\n <Modal\n heading={`Modal #${count}`}\n autoWidth={args.autoWidth}\n center={args.center}\n stretch={args.stretch}\n >\n <Text>This Modal can be minimized by clicking the minimize button above.</Text>\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n setCount(count + 1);\n create(MyModal, undefined, { minimizable: true });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nexport const DockedModal: Story = () => {\n const [count, setCount] = useState(1);\n\n const MyModal = () => {\n return (\n <Modal heading={`Modal #${count}`}>\n <Text>This Modal can be minimized by clicking the minimize button above.</Text>\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n setCount(count + 1);\n create(MyModal, undefined, {\n minimizable: true,\n maximizable: true,\n dockable: true\n });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nDockedModal.argTypes = {\n autoWidth: { table: { disable: true } },\n stretch: { table: { disable: true } },\n center: { table: { disable: true } }\n};\n\ninterface AutoWidthModalContentProps {\n autoWidth: boolean;\n content: ContentTypes;\n formColumnWidthFixed: boolean;\n stretch?: never;\n center?: never;\n}\n\nexport const AutoWidthModalContent: Story<AutoWidthModalContentProps> = (\n args: AutoWidthModalContentProps\n) => {\n const { push } = useContext(ToasterContext);\n\n const MyModal = ({ content }: { content: ReactNode }) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n return (\n <Modal\n heading={`Modal ${args.autoWidth ? 'with' : 'without'} autoWidth`}\n autoWidth={args.autoWidth}\n actions={\n args.content.includes('form') || args.content === 'random' ? (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n dismiss();\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n dismiss();\n push({ content: 'Form submitted!' });\n }}\n >\n Submit\n </Button>\n </>\n ) : undefined\n }\n >\n {content}\n </Modal>\n );\n };\n\n const ModalButton = () => {\n const { create } = useContext(ModalManagerContext);\n\n return (\n <Button\n onClick={() => {\n create(MyModal, {\n content: getContent(args.content, args.formColumnWidthFixed)\n });\n }}\n >\n Open Modal\n </Button>\n );\n };\n\n return <ModalButton />;\n};\n\nAutoWidthModalContent.args = {\n autoWidth: true,\n content: 'short text',\n formColumnWidthFixed: false\n};\n\nAutoWidthModalContent.argTypes = {\n stretch: { table: { disable: true } },\n center: { table: { disable: true } },\n content: {\n options: [\n 'short text',\n 'long text',\n 'image',\n 'table',\n 'form (1 column)',\n 'form (2 column)',\n 'form (3 column)',\n 'random'\n ],\n control: { type: 'select' }\n },\n formColumnWidthFixed: { control: { type: 'boolean' } }\n};\n"]}
@@ -5,9 +5,9 @@ export default _default;
5
5
  export declare const NumberInputDemo: Story<NumberInputProps>;
6
6
  export declare const StepperDemo: Story<NumberInputProps>;
7
7
  interface NumberDisplayStoryProps extends NumberDisplayProps {
8
- numberOfDecimals: number;
9
- showGroupSeparators: boolean;
10
- showDecimal: boolean;
8
+ fractionDigits: number;
9
+ groupSeparators: boolean;
10
+ notation: 'standard' | 'compact';
11
11
  }
12
12
  export declare const NumberDisplayDemo: Story<NumberDisplayStoryProps>;
13
13
  //# sourceMappingURL=Number.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Number.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Number/Number.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,kBAAkB,EAElB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;;AAEjC,wBAGU;AAEV,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,gBAAgB,CA8BnD,CAAC;AAiCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,gBAAgB,CA+B/C,CAAC;AAiCF,UAAU,uBAAwB,SAAQ,kBAAkB;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAe5D,CAAC"}
1
+ {"version":3,"file":"Number.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Number/Number.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,kBAAkB,EAElB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;;AAEjC,wBAGU;AAEV,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,gBAAgB,CA8BnD,CAAC;AAiCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,gBAAgB,CA+B/C,CAAC;AAiCF,UAAU,uBAAwB,SAAQ,kBAAkB;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAe5D,CAAC"}
@@ -84,24 +84,28 @@ StepperDemo.argTypes = {
84
84
  };
85
85
  export const NumberDisplayDemo = (args) => {
86
86
  return (<NumberDisplay value={args.value} unit={args.unit} unitPlacement={args.unitPlacement} formattingOptions={{
87
- numberOfDecimals: args.numberOfDecimals,
88
- showGroupSeparators: args.showGroupSeparators,
89
- showDecimal: args.showDecimal
87
+ fractionDigits: args.fractionDigits,
88
+ groupSeparators: args.groupSeparators,
89
+ notation: args.notation
90
90
  }}/>);
91
91
  };
92
92
  NumberDisplayDemo.args = {
93
- value: '12345.6789',
93
+ value: undefined,
94
94
  unit: 'ml',
95
95
  unitPlacement: 'after',
96
- showGroupSeparators: true,
97
- showDecimal: true
96
+ fractionDigits: undefined,
97
+ notation: undefined,
98
+ groupSeparators: true
98
99
  };
99
100
  NumberDisplayDemo.argTypes = {
100
- value: { control: { type: 'text' } },
101
+ value: { control: { type: 'number' } },
101
102
  unit: { control: { type: 'text' } },
102
103
  unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },
103
- numberOfDecimals: { control: { type: 'number' } },
104
- showGroupSeparators: { control: { type: 'boolean' } },
105
- showDecimal: { control: { type: 'boolean' } }
104
+ fractionDigits: { control: { type: 'number', min: 0, max: 20, step: 1 } },
105
+ groupSeparators: { control: { type: 'boolean' } },
106
+ notation: {
107
+ control: { type: 'inline-radio' },
108
+ options: ['standard', 'compact']
109
+ }
106
110
  };
107
111
  //# sourceMappingURL=Number.stories.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"Number.stories.jsx","sourceRoot":"","sources":["../../../src/core/Number/Number.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n NumberDisplay,\n NumberDisplayProps,\n NumberInput,\n NumberInputProps\n} from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Number',\n component: NumberInput\n} as Meta;\n\nexport const NumberInputDemo: Story<NumberInputProps> = (args: NumberInputProps) => {\n const [value, setValue] = useState<string>();\n\n return (\n <NumberInput\n {...args}\n value={value}\n onChange={inputValue => {\n setValue(inputValue);\n args.onChange?.(inputValue);\n }}\n onBlur={inputValue => {\n setValue(inputValue);\n args.onBlur?.(inputValue);\n }}\n numberOfDecimals={args.numberOfDecimals}\n showDecimal={args.showDecimal}\n showGroupSeparators={args.showGroupSeparators}\n step={args.step}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nNumberInputDemo.args = {\n showDecimal: true,\n showGroupSeparators: true,\n step: 1,\n unit: 'ml',\n unitPlacement: 'after',\n label: 'Number input',\n labelHidden: false,\n info: 'Enter a numerical value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false\n};\n\nNumberInputDemo.argTypes = {\n numberOfDecimals: { control: { type: 'number' } },\n showDecimal: { control: { type: 'boolean' } },\n showGroupSeparators: { control: { type: 'boolean' } },\n step: { control: { type: 'number' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n\nexport const StepperDemo: Story<NumberInputProps> = (args: NumberInputProps) => {\n const [value, setValue] = useState<string>();\n\n return (\n <NumberInput\n {...args}\n variant='stepper'\n value={value}\n onChange={inputValue => {\n setValue(inputValue);\n args.onChange?.(inputValue);\n }}\n onBlur={inputValue => {\n setValue(inputValue);\n args.onBlur?.(inputValue);\n }}\n numberOfDecimals={args.numberOfDecimals}\n showDecimal={args.showDecimal}\n showGroupSeparators={args.showGroupSeparators}\n step={args.step}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nStepperDemo.args = {\n showDecimal: true,\n showGroupSeparators: true,\n step: 1,\n unit: 'ml',\n unitPlacement: 'after',\n label: 'Stepper input',\n labelHidden: false,\n info: 'Enter a numerical value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false\n};\n\nStepperDemo.argTypes = {\n numberOfDecimals: { control: { type: 'number' } },\n showDecimal: { control: { type: 'boolean' } },\n showGroupSeparators: { control: { type: 'boolean' } },\n step: { control: { type: 'number' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n\ninterface NumberDisplayStoryProps extends NumberDisplayProps {\n numberOfDecimals: number;\n showGroupSeparators: boolean;\n showDecimal: boolean;\n}\n\nexport const NumberDisplayDemo: Story<NumberDisplayStoryProps> = (\n args: NumberDisplayStoryProps\n) => {\n return (\n <NumberDisplay\n value={args.value}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n formattingOptions={{\n numberOfDecimals: args.numberOfDecimals,\n showGroupSeparators: args.showGroupSeparators,\n showDecimal: args.showDecimal\n }}\n />\n );\n};\n\nNumberDisplayDemo.args = {\n value: '12345.6789',\n unit: 'ml',\n unitPlacement: 'after',\n showGroupSeparators: true,\n showDecimal: true\n};\n\nNumberDisplayDemo.argTypes = {\n value: { control: { type: 'text' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n numberOfDecimals: { control: { type: 'number' } },\n showGroupSeparators: { control: { type: 'boolean' } },\n showDecimal: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Number.stories.jsx","sourceRoot":"","sources":["../../../src/core/Number/Number.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n NumberDisplay,\n NumberDisplayProps,\n NumberInput,\n NumberInputProps\n} from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Number',\n component: NumberInput\n} as Meta;\n\nexport const NumberInputDemo: Story<NumberInputProps> = (args: NumberInputProps) => {\n const [value, setValue] = useState<string>();\n\n return (\n <NumberInput\n {...args}\n value={value}\n onChange={inputValue => {\n setValue(inputValue);\n args.onChange?.(inputValue);\n }}\n onBlur={inputValue => {\n setValue(inputValue);\n args.onBlur?.(inputValue);\n }}\n numberOfDecimals={args.numberOfDecimals}\n showDecimal={args.showDecimal}\n showGroupSeparators={args.showGroupSeparators}\n step={args.step}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nNumberInputDemo.args = {\n showDecimal: true,\n showGroupSeparators: true,\n step: 1,\n unit: 'ml',\n unitPlacement: 'after',\n label: 'Number input',\n labelHidden: false,\n info: 'Enter a numerical value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false\n};\n\nNumberInputDemo.argTypes = {\n numberOfDecimals: { control: { type: 'number' } },\n showDecimal: { control: { type: 'boolean' } },\n showGroupSeparators: { control: { type: 'boolean' } },\n step: { control: { type: 'number' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n\nexport const StepperDemo: Story<NumberInputProps> = (args: NumberInputProps) => {\n const [value, setValue] = useState<string>();\n\n return (\n <NumberInput\n {...args}\n variant='stepper'\n value={value}\n onChange={inputValue => {\n setValue(inputValue);\n args.onChange?.(inputValue);\n }}\n onBlur={inputValue => {\n setValue(inputValue);\n args.onBlur?.(inputValue);\n }}\n numberOfDecimals={args.numberOfDecimals}\n showDecimal={args.showDecimal}\n showGroupSeparators={args.showGroupSeparators}\n step={args.step}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nStepperDemo.args = {\n showDecimal: true,\n showGroupSeparators: true,\n step: 1,\n unit: 'ml',\n unitPlacement: 'after',\n label: 'Stepper input',\n labelHidden: false,\n info: 'Enter a numerical value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false\n};\n\nStepperDemo.argTypes = {\n numberOfDecimals: { control: { type: 'number' } },\n showDecimal: { control: { type: 'boolean' } },\n showGroupSeparators: { control: { type: 'boolean' } },\n step: { control: { type: 'number' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n\ninterface NumberDisplayStoryProps extends NumberDisplayProps {\n fractionDigits: number;\n groupSeparators: boolean;\n notation: 'standard' | 'compact';\n}\n\nexport const NumberDisplayDemo: Story<NumberDisplayStoryProps> = (\n args: NumberDisplayStoryProps\n) => {\n return (\n <NumberDisplay\n value={args.value}\n unit={args.unit}\n unitPlacement={args.unitPlacement}\n formattingOptions={{\n fractionDigits: args.fractionDigits,\n groupSeparators: args.groupSeparators,\n notation: args.notation\n }}\n />\n );\n};\n\nNumberDisplayDemo.args = {\n value: undefined,\n unit: 'ml',\n unitPlacement: 'after',\n fractionDigits: undefined,\n notation: undefined,\n groupSeparators: true\n};\n\nNumberDisplayDemo.argTypes = {\n value: { control: { type: 'number' } },\n unit: { control: { type: 'text' } },\n unitPlacement: { options: ['before', 'after'], control: { type: 'select' } },\n fractionDigits: { control: { type: 'number', min: 0, max: 20, step: 1 } },\n groupSeparators: { control: { type: 'boolean' } },\n notation: {\n control: { type: 'inline-radio' },\n options: ['standard', 'compact']\n }\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import { Meta, Story } from '@storybook/react';
2
- import { DashboardPageLayoutProps, PageTemplateProps, TemplateProps } from '@pega/cosmos-react-core';
2
+ import { DashboardPageLayoutProps, PageTemplateProps, TemplateProps, OmitStrict } from '@pega/cosmos-react-core';
3
3
  declare const _default: Meta<import("@storybook/react").Args>;
4
4
  export default _default;
5
5
  interface PageTemplatesStoryProps {
6
- template?: 'demo page' | 'one column' | 'two column' | 'three column' | 'four column' | 'wide narrow' | 'narrow wide' | 'wide wide narrow' | 'narrow wide wide' | 'narrow wide narrow' | 'tabbed';
6
+ template?: 'demo page' | 'one column' | 'two column' | 'three column' | 'four column' | 'wide narrow' | 'narrow wide' | 'wide wide narrow' | 'narrow wide wide' | 'narrow wide narrow';
7
7
  title?: PageTemplateProps['title'];
8
8
  icon?: PageTemplateProps['icon'];
9
9
  scrollContent?: PageTemplateProps['scrollContent'];
@@ -13,7 +13,7 @@ interface PageTemplatesStoryProps {
13
13
  showActions?: boolean;
14
14
  showBanners?: boolean;
15
15
  }
16
- export declare const PageTemplatesDemo: Story<PageTemplatesStoryProps>;
16
+ export declare const ColumnPageDemo: Story<PageTemplatesStoryProps>;
17
17
  interface DashboardPageStoryProps {
18
18
  title?: DashboardPageLayoutProps['title'];
19
19
  filterPosition?: DashboardPageLayoutProps['filterPosition'];
@@ -28,4 +28,6 @@ interface CategorySubPageStoryProps {
28
28
  maxActions?: TemplateProps['maxActions'];
29
29
  }
30
30
  export declare const CategorySubPageDemo: Story<CategorySubPageStoryProps>;
31
+ declare type TabbedPageStoryProps = OmitStrict<PageTemplatesStoryProps, 'template'>;
32
+ export declare const TabbedPageDemo: Story<TabbedPageStoryProps>;
31
33
  //# sourceMappingURL=PageTemplates.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageTemplates.stories.d.ts","sourceRoot":"","sources":["../../../src/core/PageTemplates/PageTemplates.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAML,wBAAwB,EAWxB,iBAAiB,EAKjB,aAAa,EAEd,MAAM,yBAAyB,CAAC;;AAUjC,wBAKU;AAEV,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EACL,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,aAAa,GACb,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,QAAQ,CAAC;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAiG5D,CAAC;AAyCF,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAoE5D,CAAC;AAiBF,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,yBAAyB,CAkFhE,CAAC"}
1
+ {"version":3,"file":"PageTemplates.stories.d.ts","sourceRoot":"","sources":["../../../src/core/PageTemplates/PageTemplates.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAML,wBAAwB,EAWxB,iBAAiB,EAKjB,aAAa,EAMb,UAAU,EACX,MAAM,yBAAyB,CAAC;;AAYjC,wBAKU;AAEV,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EACL,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,aAAa,GACb,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,uBAAuB,CA0EzD,CAAC;AAwCF,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAoE5D,CAAC;AAiBF,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,yBAAyB,CAkFhE,CAAC;AAkBF,aAAK,oBAAoB,GAAG,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;AAY5E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,oBAAoB,CA8FtD,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { useState, useMemo } from 'react';
2
- import { Banner, Button, CategorySubPage, ComboBox, DashboardPage, TabbedPage, OneColumnPage, TwoColumnPage, ThreeColumnPage, FourColumnPage, WideNarrowPage, NarrowWidePage, WideWideNarrowPage, NarrowWideWidePage, NarrowWideNarrowPage, icons, menuHelpers, createUID } from '@pega/cosmos-react-core';
2
+ import styled from 'styled-components';
3
+ import { Banner, Button, CategorySubPage, ComboBox, DashboardPage, TabbedPage, OneColumnPage, TwoColumnPage, ThreeColumnPage, FourColumnPage, WideNarrowPage, NarrowWidePage, WideWideNarrowPage, NarrowWideWidePage, NarrowWideNarrowPage, icons, menuHelpers, createUID, Table, Text, StyledRegion } from '@pega/cosmos-react-core';
4
+ import { StyledTableWrapper } from '@pega/cosmos-react-core/lib/components/Table/Table';
3
5
  import { FeedDemo } from '../../social/Feed/Feed.stories';
4
6
  import { TasksDemo } from '../../work/Tasks/Tasks.stories';
5
7
  import { MockSummaryList } from '../../work/CaseView/CaseView.mocks';
8
+ import { commitsData } from '../Table/Table.mocks';
6
9
  import { AppShellDemo } from '../AppShell/AppShell.stories';
7
10
  import { StyledStoryPage } from './PageTemplates.styles';
8
11
  import { getPath } from './PageTemplates.mocks';
@@ -12,8 +15,7 @@ export default {
12
15
  layout: 'fullscreen'
13
16
  }
14
17
  };
15
- export const PageTemplatesDemo = (args) => {
16
- const [currentTabId, setCurrentTabId] = useState('1');
18
+ export const ColumnPageDemo = (args) => {
17
19
  const actions = args.showActions && (<>
18
20
  <Button>Page action 1</Button>
19
21
  <Button>Page action 2</Button>
@@ -30,12 +32,6 @@ export const PageTemplatesDemo = (args) => {
30
32
  };
31
33
  let page;
32
34
  switch (args.template) {
33
- case 'demo page':
34
- page = (<TwoColumnPage a={<FeedDemo />} b={<>
35
- <TasksDemo />
36
- <MockSummaryList name='My team' limit={10} actions={null}/>
37
- </>} {...pageTemplateProps}/>);
38
- break;
39
35
  case 'one column':
40
36
  page = <OneColumnPage a='a' {...pageTemplateProps}/>;
41
37
  break;
@@ -63,24 +59,17 @@ export const PageTemplatesDemo = (args) => {
63
59
  case 'narrow wide narrow':
64
60
  page = <NarrowWideNarrowPage a='a' b='b' c='c' {...pageTemplateProps}/>;
65
61
  break;
66
- case 'tabbed':
62
+ case 'demo page':
67
63
  default:
68
- page = (<TabbedPage a={`Content for: Tab ${currentTabId}`} tabs={{
69
- tabs: Array.from({ length: 5 }, (_, i) => {
70
- return {
71
- id: `${i + 1}`,
72
- name: `Tab ${i + 1}`
73
- };
74
- }),
75
- type: 'horizontal',
76
- currentTabId,
77
- onTabClick: setCurrentTabId
78
- }} {...pageTemplateProps}/>);
64
+ page = (<TwoColumnPage a={<FeedDemo />} b={<>
65
+ <TasksDemo />
66
+ <MockSummaryList name='My team' limit={10} actions={null}/>
67
+ </>} {...pageTemplateProps}/>);
79
68
  break;
80
69
  }
81
70
  return <AppShellDemo main={page} appHeader/>;
82
71
  };
83
- PageTemplatesDemo.args = {
72
+ ColumnPageDemo.args = {
84
73
  template: 'demo page',
85
74
  scrollContent: false,
86
75
  title: 'Demo page',
@@ -91,7 +80,7 @@ PageTemplatesDemo.args = {
91
80
  showActions: true,
92
81
  showBanners: false
93
82
  };
94
- PageTemplatesDemo.argTypes = {
83
+ ColumnPageDemo.argTypes = {
95
84
  template: {
96
85
  options: [
97
86
  'demo page',
@@ -103,8 +92,7 @@ PageTemplatesDemo.argTypes = {
103
92
  'narrow wide',
104
93
  'wide wide narrow',
105
94
  'narrow wide wide',
106
- 'narrow wide narrow',
107
- 'tabbed'
95
+ 'narrow wide narrow'
108
96
  ],
109
97
  control: { type: 'select' }
110
98
  },
@@ -213,7 +201,7 @@ export const CategorySubPageDemo = (args) => {
213
201
  text: 'View in Clipboard'
214
202
  }
215
203
  ]} region={<StyledStoryPage secondary>
216
- <div style={{ minHeight: '150vh' }}/>
204
+ <StyledRegion style={{ minHeight: '150vh' }}/>
217
205
  </StyledStoryPage>}/>} appHeader/>);
218
206
  };
219
207
  CategorySubPageDemo.args = {
@@ -230,4 +218,92 @@ CategorySubPageDemo.argTypes = {
230
218
  viewLoading: { control: { type: 'boolean' } },
231
219
  maxActions: { control: { type: 'number' } }
232
220
  };
221
+ const minTableHeight = '400px';
222
+ const tableComponentInternalHeightOffset = '54px';
223
+ const StyledDemoTableWrapper = styled.div `
224
+ ${StyledTableWrapper} {
225
+ max-height: calc(var(--content-height-in-view) - ${tableComponentInternalHeightOffset});
226
+ min-height: ${minTableHeight};
227
+ }
228
+ `;
229
+ export const TabbedPageDemo = (args) => {
230
+ const actions = args.showActions && (<>
231
+ <Button>Page action 1</Button>
232
+ <Button>Page action 2</Button>
233
+ </>);
234
+ const banners = args.showBanners && (<Banner id='warning-banner' variant='warning' messages={['This is a warning banner. You have been warned!']}/>);
235
+ const pageTemplateProps = {
236
+ scrollContent: args.scrollContent,
237
+ title: args.title || 'Tabbed page',
238
+ icon: args.showIcon ? args.icon : undefined,
239
+ actions,
240
+ banners,
241
+ path: getPath(args.showBreadcrumbs, args.pathData)
242
+ };
243
+ const [currentTabId, setCurrentTabId] = useState('table');
244
+ const content = useMemo(() => {
245
+ switch (currentTabId) {
246
+ case 'table': {
247
+ const tableData = commitsData;
248
+ const columns = [
249
+ { renderer: data => <Text>{data.id}</Text>, label: 'ID' },
250
+ { renderer: data => <Text>{data.author}</Text>, label: 'Author' },
251
+ { renderer: data => <Text>{data.date}</Text>, label: 'Date' },
252
+ { renderer: data => <Text>{data.message}</Text>, label: 'Message' }
253
+ ];
254
+ return (<StyledDemoTableWrapper>
255
+ <Table title='Commit History' hoverHighlight={false} data={tableData} columns={columns}/>
256
+ </StyledDemoTableWrapper>);
257
+ }
258
+ case 'chat':
259
+ return <FeedDemo />;
260
+ case 'team':
261
+ return (<>
262
+ <TasksDemo />
263
+ <MockSummaryList name='My team' limit={10} actions={null}/>
264
+ </>);
265
+ default:
266
+ return <Text>Tab not configured.</Text>;
267
+ }
268
+ }, [currentTabId]);
269
+ return (<AppShellDemo main={<TabbedPage {...pageTemplateProps} a={content} tabs={{
270
+ tabs: [
271
+ {
272
+ id: 'table',
273
+ name: 'Audit'
274
+ },
275
+ {
276
+ id: 'team',
277
+ name: 'My Team'
278
+ },
279
+ {
280
+ id: 'chat',
281
+ name: 'Chat'
282
+ }
283
+ ],
284
+ type: 'horizontal',
285
+ currentTabId,
286
+ onTabClick: setCurrentTabId
287
+ }}/>} appHeader/>);
288
+ };
289
+ TabbedPageDemo.args = {
290
+ scrollContent: false,
291
+ title: 'Tabbed page',
292
+ icon: 'home-solid',
293
+ showIcon: true,
294
+ showBreadcrumbs: true,
295
+ pathData: 'Page 1,Page2,Page 3,Page 4,Page 5',
296
+ showActions: true,
297
+ showBanners: false
298
+ };
299
+ TabbedPageDemo.argTypes = {
300
+ scrollContent: { control: { type: 'boolean' } },
301
+ title: { control: { type: 'text' } },
302
+ icon: { options: icons, control: { type: 'select', icons: true } },
303
+ showIcon: { control: { type: 'boolean' } },
304
+ showBreadcrumbs: { control: { type: 'boolean' } },
305
+ pathData: { control: { type: 'text' } },
306
+ showActions: { control: { type: 'boolean' } },
307
+ showBanners: { control: { type: 'boolean' } }
308
+ };
233
309
  //# sourceMappingURL=PageTemplates.stories.jsx.map