@bloom-housing/ui-components 12.7.7 → 13.0.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 (99) hide show
  1. package/dist/__tests__/storyshots.spec.d.ts +0 -1
  2. package/dist/__tests__/storyshots.spec.js +9 -9
  3. package/dist/__tests__/storyshots.spec.js.map +1 -1
  4. package/dist/src/actions/Button.stories.d.ts +58 -9
  5. package/dist/src/actions/Button.stories.js +54 -38
  6. package/dist/src/actions/Button.stories.js.map +1 -1
  7. package/dist/src/actions/ButtonGroup.stories.d.ts +0 -5
  8. package/dist/src/actions/ButtonGroup.stories.js +0 -4
  9. package/dist/src/actions/ButtonGroup.stories.js.map +1 -1
  10. package/dist/src/blocks/Card.stories.d.ts +0 -5
  11. package/dist/src/blocks/Card.stories.js +0 -4
  12. package/dist/src/blocks/Card.stories.js.map +1 -1
  13. package/dist/src/blocks/ImageCard.stories.d.ts +0 -5
  14. package/dist/src/blocks/ImageCard.stories.js +0 -4
  15. package/dist/src/blocks/ImageCard.stories.js.map +1 -1
  16. package/dist/src/blocks/InfoCard.stories.d.ts +0 -5
  17. package/dist/src/blocks/InfoCard.stories.js +0 -4
  18. package/dist/src/blocks/InfoCard.stories.js.map +1 -1
  19. package/dist/src/blocks/MediaCard.stories.d.ts +0 -5
  20. package/dist/src/blocks/MediaCard.stories.js +0 -4
  21. package/dist/src/blocks/MediaCard.stories.js.map +1 -1
  22. package/dist/src/blocks/StandardCard.stories.d.ts +0 -5
  23. package/dist/src/blocks/StandardCard.stories.js +0 -4
  24. package/dist/src/blocks/StandardCard.stories.js.map +1 -1
  25. package/dist/src/forms/Dropzone.stories.d.ts +1 -1
  26. package/dist/src/forms/Dropzone.stories.js +1 -2
  27. package/dist/src/forms/Dropzone.stories.js.map +1 -1
  28. package/dist/src/forms/MultiSelectField.stories.d.ts +0 -5
  29. package/dist/src/forms/MultiSelectField.stories.js +0 -4
  30. package/dist/src/forms/MultiSelectField.stories.js.map +1 -1
  31. package/dist/src/headers/HeadingGroup.stories.d.ts +0 -5
  32. package/dist/src/headers/HeadingGroup.stories.js +0 -4
  33. package/dist/src/headers/HeadingGroup.stories.js.map +1 -1
  34. package/dist/src/headers/PageHeader.stories.d.ts +0 -5
  35. package/dist/src/headers/PageHeader.stories.js +0 -4
  36. package/dist/src/headers/PageHeader.stories.js.map +1 -1
  37. package/dist/src/headers/StepHeader.stories.js +1 -2
  38. package/dist/src/headers/StepHeader.stories.js.map +1 -1
  39. package/dist/src/navigation/LanguageNav.stories.d.ts +1 -1
  40. package/dist/src/navigation/LanguageNav.stories.js +2 -3
  41. package/dist/src/navigation/LanguageNav.stories.js.map +1 -1
  42. package/dist/src/navigation/ProgressNav.stories.d.ts +0 -5
  43. package/dist/src/navigation/ProgressNav.stories.js +0 -4
  44. package/dist/src/navigation/ProgressNav.stories.js.map +1 -1
  45. package/dist/src/navigation/SideNav.stories.d.ts +0 -5
  46. package/dist/src/navigation/SideNav.stories.js +0 -4
  47. package/dist/src/navigation/SideNav.stories.js.map +1 -1
  48. package/dist/src/notifications/AlertBox.stories.d.ts +0 -5
  49. package/dist/src/notifications/AlertBox.stories.js +0 -4
  50. package/dist/src/notifications/AlertBox.stories.js.map +1 -1
  51. package/dist/src/notifications/ApplicationStatus.stories.d.ts +1 -1
  52. package/dist/src/notifications/ApplicationStatus.stories.js +3 -4
  53. package/dist/src/notifications/ApplicationStatus.stories.js.map +1 -1
  54. package/dist/src/overlays/Modal.stories.d.ts +101 -13
  55. package/dist/src/overlays/Modal.stories.js +119 -76
  56. package/dist/src/overlays/Modal.stories.js.map +1 -1
  57. package/dist/src/overlays/Overlay.d.ts +1 -0
  58. package/dist/src/overlays/Overlay.js +5 -4
  59. package/dist/src/overlays/Overlay.js.map +1 -1
  60. package/package.json +30 -30
  61. package/src/actions/Button.docs.mdx +6 -5
  62. package/src/actions/Button.stories.tsx +73 -62
  63. package/src/actions/ButtonGroup.docs.mdx +7 -5
  64. package/src/actions/ButtonGroup.stories.tsx +0 -4
  65. package/src/blocks/Card.docs.mdx +10 -11
  66. package/src/blocks/Card.stories.tsx +0 -4
  67. package/src/blocks/ImageCard.docs.mdx +8 -6
  68. package/src/blocks/ImageCard.stories.tsx +0 -4
  69. package/src/blocks/InfoCard.docs.mdx +8 -6
  70. package/src/blocks/InfoCard.stories.tsx +0 -4
  71. package/src/blocks/MediaCard.docs.mdx +10 -11
  72. package/src/blocks/MediaCard.stories.tsx +0 -4
  73. package/src/blocks/StandardCard.docs.mdx +7 -8
  74. package/src/blocks/StandardCard.stories.tsx +0 -4
  75. package/src/documentation/{Utilities.stories.mdx → Utilities.docs.mdx} +4 -2
  76. package/src/forms/Dropzone.stories.tsx +1 -2
  77. package/src/forms/MultiSelectField.docs.mdx +6 -5
  78. package/src/forms/MultiSelectField.stories.tsx +0 -4
  79. package/src/headers/HeadingGroup.docs.mdx +6 -5
  80. package/src/headers/HeadingGroup.stories.tsx +0 -4
  81. package/src/headers/PageHeader.docs.mdx +10 -12
  82. package/src/headers/PageHeader.stories.tsx +0 -4
  83. package/src/headers/StepHeader.docs.mdx +14 -13
  84. package/src/headers/StepHeader.stories.tsx +1 -2
  85. package/src/lists/PreferencesList.docs.mdx +8 -6
  86. package/src/navigation/LanguageNav.stories.tsx +1 -3
  87. package/src/navigation/ProgressNav.docs.mdx +13 -8
  88. package/src/navigation/ProgressNav.stories.tsx +0 -4
  89. package/src/navigation/SideNav.docs.mdx +7 -5
  90. package/src/navigation/SideNav.stories.tsx +0 -4
  91. package/src/notifications/AlertBox.docs.mdx +7 -8
  92. package/src/notifications/AlertBox.stories.tsx +0 -4
  93. package/src/notifications/ApplicationStatus.stories.tsx +3 -4
  94. package/src/overlays/Modal.docs.mdx +7 -5
  95. package/src/overlays/Modal.stories.tsx +273 -232
  96. package/src/overlays/Overlay.tsx +8 -2
  97. package/src/page_components/listing/ListingCard.docs.mdx +9 -9
  98. package/src/text/Heading.docs.mdx +7 -5
  99. package/src/text/Tag.docs.mdx +10 -14
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react"
2
- import { withKnobs, text, boolean } from "@storybook/addon-knobs"
2
+ // import { withKnobs, text, boolean } from "@storybook/addon-knobs"
3
3
  import { BADGES } from "../../.storybook/constants"
4
4
  import "./Modal.scss"
5
5
  import { Modal } from "./Modal"
@@ -9,272 +9,206 @@ import {
9
9
  AppearanceSizeType,
10
10
  AppearanceStyleType,
11
11
  } from "../global/AppearanceTypes"
12
- import ModalDocumentation from "./Modal.docs.mdx"
13
12
 
14
13
  export default {
15
14
  title: "Overlays/Modal 🚩",
16
15
  id: "overlays-modal",
17
- decorators: [(storyFn: any) => <div style={{ padding: "1rem" }}>{storyFn()}</div>, withKnobs],
16
+ decorators: [(storyFn: any) => <div style={{ padding: "1rem" }}>{storyFn()}</div>],
18
17
  parameters: {
19
- docs: {
20
- page: ModalDocumentation,
21
- },
22
18
  badges: [BADGES.GEN2],
23
19
  },
20
+ argTypes: {
21
+ buttonLabel: {
22
+ control: "text",
23
+ },
24
+ },
24
25
  }
25
26
 
26
27
  const noop = () => {
27
28
  // intentionally blank
28
29
  }
29
30
 
30
- export const BasicModal = () => {
31
- const [openModal, setOpenModal] = useState(false)
31
+ const defaultArgs = {
32
+ buttonLabel: "Open Modal",
33
+ title: "Modal Title",
34
+ backdrop: true,
35
+ slim: false,
36
+ hideCloseIcon: false,
37
+ action1Label: "Action 1 Label",
38
+ action2Label: "Action 2 Label",
39
+ content: "Modal Content",
40
+ }
32
41
 
33
- return (
34
- <>
35
- <Button
36
- onClick={() => {
37
- setOpenModal(!openModal)
38
- }}
39
- >
40
- {text("Button Label", "Open Modal")}
41
- </Button>
42
- <div style={{ height: "1000px" }}></div>
43
- <Modal
44
- open={openModal}
45
- title={text("Title", "Modal Title")}
46
- ariaDescription="Modal description"
47
- onClose={() => setOpenModal(!openModal)}
48
- backdrop={boolean("Backdrop", true)}
49
- slim={boolean("Slim", false)}
50
- hideCloseIcon={boolean("Hide Close Icon", false)}
51
- actions={[
52
- <Button
53
- onClick={() => setOpenModal(!openModal)}
54
- styleType={AppearanceStyleType.primary}
55
- size={AppearanceSizeType.small}
56
- >
57
- {text("Action 2 Label", "Submit")}
58
- </Button>,
59
- <Button onClick={() => setOpenModal(!openModal)} size={AppearanceSizeType.small}>
60
- {text("Action 1 Label", "Cancel")}
61
- </Button>,
62
- ]}
63
- >
64
- {text("Content", "Modal Content")}
65
- </Modal>
66
- </>
67
- )
42
+ export const BasicModal = {
43
+ args: {
44
+ ...defaultArgs,
45
+ },
46
+ render: (args: Record<string, any>) => {
47
+ const [openModal, setOpenModal] = useState(false)
48
+
49
+ return (
50
+ <>
51
+ <Button
52
+ onClick={() => {
53
+ setOpenModal(!openModal)
54
+ }}
55
+ >
56
+ {args.buttonLabel}
57
+ </Button>
58
+ <div style={{ height: "1000px" }}></div>
59
+ <Modal
60
+ open={openModal}
61
+ title={args.title}
62
+ ariaDescription="Modal description"
63
+ onClose={() => setOpenModal(!openModal)}
64
+ backdrop={args.backdrop}
65
+ slim={args.slim}
66
+ hideCloseIcon={args.hideCloseIcon}
67
+ actions={[
68
+ <Button
69
+ onClick={() => setOpenModal(!openModal)}
70
+ styleType={AppearanceStyleType.primary}
71
+ size={AppearanceSizeType.small}
72
+ >
73
+ {args.action2Label}
74
+ </Button>,
75
+ <Button onClick={() => setOpenModal(!openModal)} size={AppearanceSizeType.small}>
76
+ {args.action1Label}
77
+ </Button>,
78
+ ]}
79
+ >
80
+ {args.content}
81
+ </Modal>
82
+ </>
83
+ )
84
+ },
68
85
  }
69
86
 
70
- export const BasicModalOverflowContent = () => {
71
- const [openModal, setOpenModal] = useState(false)
87
+ export const BasicModalOverflowContent = {
88
+ args: {
89
+ ...defaultArgs,
90
+ content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
91
+ },
92
+ render: (args: Record<string, any>) => {
93
+ const [openModal, setOpenModal] = useState(false)
72
94
 
73
- return (
74
- <>
75
- <Button
76
- onClick={() => {
77
- setOpenModal(!openModal)
78
- }}
79
- >
80
- {text("Button Label", "Open Modal")}
81
- </Button>
82
- <div style={{ height: "1000px" }}></div>
95
+ return (
96
+ <>
97
+ <Button
98
+ onClick={() => {
99
+ setOpenModal(!openModal)
100
+ }}
101
+ >
102
+ {args.buttonLabel}
103
+ </Button>
104
+ <div style={{ height: "1000px" }}></div>
105
+ <Modal
106
+ open={openModal}
107
+ title={args.title}
108
+ ariaDescription="Modal description"
109
+ onClose={() => setOpenModal(!openModal)}
110
+ backdrop={args.backdrop}
111
+ slim={args.slim}
112
+ hideCloseIcon={args.hideCloseIcon}
113
+ actions={[
114
+ <Button
115
+ onClick={() => setOpenModal(!openModal)}
116
+ styleType={AppearanceStyleType.primary}
117
+ size={AppearanceSizeType.small}
118
+ >
119
+ {args.action2Label}
120
+ </Button>,
121
+ <Button onClick={() => setOpenModal(!openModal)} size={AppearanceSizeType.small}>
122
+ {args.action1Label}
123
+ </Button>,
124
+ ]}
125
+ >
126
+ {args.content}
127
+ <div>
128
+ <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
129
+ </div>
130
+ </Modal>
131
+ </>
132
+ )
133
+ },
134
+ }
135
+
136
+ export const ScrollableModal = {
137
+ args: {
138
+ ...defaultArgs,
139
+ content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
140
+ },
141
+ render: (args: Record<string, any>) => {
142
+ const [openModal, setOpenModal] = useState(false)
143
+
144
+ return (
83
145
  <Modal
84
- open={openModal}
85
- title={text("Title", "Modal Title")}
146
+ open={true}
147
+ title={args.title}
86
148
  ariaDescription="Modal description"
87
149
  onClose={() => setOpenModal(!openModal)}
88
- backdrop={boolean("Backdrop", true)}
89
- slim={boolean("Slim", false)}
90
- hideCloseIcon={boolean("Hide Close Icon", false)}
91
150
  actions={[
92
151
  <Button
152
+ size={AppearanceSizeType.small}
93
153
  onClick={() => setOpenModal(!openModal)}
94
154
  styleType={AppearanceStyleType.primary}
95
- size={AppearanceSizeType.small}
96
155
  >
97
- {text("Action 2 Label", "Submit")}
156
+ {args.action2Label}
98
157
  </Button>,
99
- <Button onClick={() => setOpenModal(!openModal)} size={AppearanceSizeType.small}>
100
- {text("Action 1 Label", "Cancel")}
158
+ <Button size={AppearanceSizeType.small} onClick={() => setOpenModal(!openModal)}>
159
+ {args.action1Label}
101
160
  </Button>,
102
161
  ]}
162
+ scrollableModal
103
163
  >
104
- {text(
105
- "Content",
106
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
107
- )}
164
+ {args.content}
108
165
  <div>
109
166
  <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
110
167
  </div>
111
168
  </Modal>
112
- </>
113
- )
114
- }
115
-
116
- export const ScrollableModal = () => {
117
- const [openModal, setOpenModal] = useState(false)
118
-
119
- return (
120
- <Modal
121
- open={true}
122
- title={text("Title", "Modal Title")}
123
- ariaDescription="Modal description"
124
- onClose={() => setOpenModal(!openModal)}
125
- actions={[
126
- <Button
127
- size={AppearanceSizeType.small}
128
- onClick={() => setOpenModal(!openModal)}
129
- styleType={AppearanceStyleType.primary}
130
- >
131
- {text("Action 2 Label", "Submit")}
132
- </Button>,
133
- <Button size={AppearanceSizeType.small} onClick={() => setOpenModal(!openModal)}>
134
- {text("Action 1 Label", "Cancel")}
135
- </Button>,
136
- ]}
137
- scrollableModal
138
- >
139
- {text(
140
- "Content",
141
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
142
- )}
143
- <div>
144
- <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
145
- </div>
146
- </Modal>
147
- )
148
- }
149
-
150
- export const ScrollableModalNoFooter = () => {
151
- const [openModal, setOpenModal] = useState(false)
152
-
153
- return (
154
- <Modal
155
- open={true}
156
- title={text("Title", "Modal Title")}
157
- ariaDescription="Modal description"
158
- onClose={() => setOpenModal(!openModal)}
159
- scrollableModal
160
- >
161
- {text(
162
- "Content",
163
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
164
- )}
165
- </Modal>
166
- )
167
- }
168
-
169
- export const ScrollableModalManyButtons = () => {
170
- const [openModal, setOpenModal] = useState(false)
171
-
172
- return (
173
- <Modal
174
- open={true}
175
- title={text("Title", "Modal Title")}
176
- ariaDescription="Modal description"
177
- onClose={() => setOpenModal(!openModal)}
178
- scrollableModal
179
- actions={[
180
- <Button
181
- onClick={() => setOpenModal(!openModal)}
182
- styleType={AppearanceStyleType.primary}
183
- border={AppearanceBorderType.borderless}
184
- size={AppearanceSizeType.small}
185
- >
186
- {text("Action 4 Label", "New")}
187
- </Button>,
188
- <Button
189
- onClick={() => setOpenModal(!openModal)}
190
- styleType={AppearanceStyleType.primary}
191
- border={AppearanceBorderType.borderless}
192
- size={AppearanceSizeType.small}
193
- >
194
- {text("Action 3 Label", "Copy")}
195
- </Button>,
196
- <Button
197
- onClick={() => setOpenModal(!openModal)}
198
- styleType={AppearanceStyleType.primary}
199
- size={AppearanceSizeType.small}
200
- >
201
- {text("Action 2 Label", "Submit")}
202
- </Button>,
203
- <Button
204
- onClick={() => setOpenModal(!openModal)}
205
- border={AppearanceBorderType.borderless}
206
- size={AppearanceSizeType.small}
207
- >
208
- {text("Action 1 Label", "Cancel")}
209
- </Button>,
210
- ]}
211
- >
212
- {text(
213
- "Content",
214
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
215
- )}
216
- <div>
217
- <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
218
- </div>
219
- </Modal>
220
- )
169
+ )
170
+ },
221
171
  }
222
172
 
223
- export const ScrollableModalMinimalContent = () => {
224
- const [openModal, setOpenModal] = useState(false)
173
+ export const ScrollableModalNoFooter = {
174
+ args: {
175
+ ...defaultArgs,
176
+ content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
177
+ },
178
+ render: (args: Record<string, any>) => {
179
+ const [openModal, setOpenModal] = useState(false)
225
180
 
226
- return (
227
- <Modal
228
- open={true}
229
- title={text("Title", "Modal Title")}
230
- ariaDescription="Modal description"
231
- onClose={() => setOpenModal(!openModal)}
232
- actions={[
233
- <Button
234
- size={AppearanceSizeType.small}
235
- onClick={() => setOpenModal(!openModal)}
236
- styleType={AppearanceStyleType.primary}
237
- >
238
- {text("Action 2 Label", "Submit")}
239
- </Button>,
240
- <Button size={AppearanceSizeType.small} onClick={() => setOpenModal(!openModal)}>
241
- {text("Action 1 Label", "Cancel")}
242
- </Button>,
243
- ]}
244
- scrollableModal
245
- >
246
- {text(
247
- "Content",
248
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
249
- )}
250
- <div>
251
- <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
252
- </div>
253
- </Modal>
254
- )
181
+ return (
182
+ <Modal
183
+ open={true}
184
+ title={args.title}
185
+ ariaDescription="Modal description"
186
+ onClose={() => setOpenModal(!openModal)}
187
+ scrollableModal
188
+ >
189
+ {args.content}
190
+ </Modal>
191
+ )
192
+ },
255
193
  }
256
194
 
257
- export const ManyButtons = () => {
258
- const [openModal, setOpenModal] = useState(false)
195
+ export const ScrollableModalManyButtons = {
196
+ args: {
197
+ ...defaultArgs,
198
+ action3Label: "Copy",
199
+ action4Label: "New",
200
+ content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Leo a diam sollicitudin tempor id eu. Porttitor lacus luctus accumsan tortor. Viverra mauris in aliquam sem fringilla. At augue eget arcu dictum. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Velit euismod in pellentesque massa placerat duis ultricies lacus sed. Aliquam vestibulum morbi blandit cursus risus. Tellus at urna condimentum mattis pellentesque id nibh. Interdum consectetur libero id faucibus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Tristique senectus et netus et malesuada. Ultrices neque ornare aenean euismod elementum. Tellus elementum sagittis vitae et leo duis. In egestas erat imperdiet sed euismod nisi porta. Nisl purus in mollis nunc sed id semper risus. Ac turpis egestas sed tempus urna et pharetra pharetra. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper auctor. Risus pretium quam vulputate dignissim suspendisse in est ante. Cursus vitae congue mauris rhoncus aenean vel. In vitae turpis massa sed elementum tempus egestas sed. Blandit libero volutpat sed cras ornare arcu. Sapien faucibus et molestie ac. Duis ut diam quam nulla. Non nisi est sit amet facilisis magna. Maecenas ultricies mi eget mauris pharetra. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Enim diam vulputate ut pharetra sit amet aliquam id diam. Ultricies mi quis hendrerit dolor. In aliquam sem fringilla ut morbi tincidunt. Leo a diam sollicitudin tempor id eu nisl. Rhoncus urna neque viverra justo. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Nisi scelerisque eu ultrices vitae auctor. Consequat mauris nunc congue nisi. Id diam vel quam elementum pulvinar etiam. Cras ornare arcu dui vivamus. Eu turpis egestas pretium aenean pharetra. Lobortis feugiat vivamus at augue eget arcu dictum varius. Massa enim nec dui nunc. Montes nascetur ridiculus mus mauris vitae ultricies leo integer. Arcu risus quis varius quam quisque id diam. Et magnis dis parturient montes nascetur ridiculus mus. Sed adipiscing diam donec adipiscing tristique risus nec feugiat in. Porttitor rhoncus dolor purus non enim praesent. Arcu non sodales neque sodales ut. Aenean et tortor at risus viverra. Aliquet sagittis id consectetur purus. Suscipit tellus mauris a diam maecenas. Pharetra sit amet aliquam id diam maecenas ultricies mi. Tellus id interdum velit laoreet. Arcu cursus vitae congue mauris. Sem integer vitae justo eget magna fermentum iaculis eu. Morbi tristique senectus et netus et malesuada fames. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Sed felis eget velit aliquet. Risus nec feugiat in fermentum posuere urna nec tincidunt praesent. Vitae sapien pellentesque habitant morbi tristique senectus et netus et. Sit amet mattis vulputate enim nulla aliquet porttitor. Amet dictum sit amet justo donec. Mauris augue neque gravida in. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Faucibus turpis in eu mi bibendum neque egestas congue. At ultrices mi tempus imperdiet nulla. Et leo duis ut diam quam nulla porttitor massa id. Natoque penatibus et magnis dis parturient montes nascetur. Nunc vel risus commodo viverra maecenas. Enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra. Est ante in nibh mauris cursus mattis molestie a iaculis. Habitant morbi tristique senectus et netus. Integer feugiat scelerisque varius morbi enim nunc. Venenatis lectus magna fringilla urna. Nunc vel risus commodo viverra maecenas accumsan. Quam lacus suspendisse faucibus interdum posuere. Velit euismod in pellentesque massa placerat duis ultricies. In metus vulputate eu scelerisque felis imperdiet proin. Convallis convallis tellus id interdum velit laoreet id. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Eget nunc scelerisque viverra mauris. In nisl nisi scelerisque eu ultrices. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Eget est lorem ipsum dolor sit amet consectetur. Auctor urna nunc id cursus metus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Etiam erat velit scelerisque in dictum. Sodales neque sodales ut etiam sit amet nisl purus. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Sed turpis tincidunt id aliquet. Duis at consectetur lorem donec massa. Egestas congue quisque egestas diam in. A erat nam at lectus urna duis. Rhoncus dolor purus non enim praesent elementum. At imperdiet dui accumsan sit amet nulla. Leo urna molestie at elementum eu facilisis sed odio. Molestie nunc non blandit massa enim. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Mollis nunc sed id semper risus in hendrerit gravida. Nam libero justo laoreet sit amet cursus. Id neque aliquam vestibulum morbi blandit."
201
+ },
202
+ render: (args: Record<string, any>) => {
203
+ const [openModal, setOpenModal] = useState(false)
259
204
 
260
- return (
261
- <>
262
- <Button
263
- onClick={() => {
264
- setOpenModal(!openModal)
265
- }}
266
- >
267
- {text("Button Label", "Open Modal")}
268
- </Button>
269
- <div style={{ height: "1000px" }}></div>
205
+ return (
270
206
  <Modal
271
- open={openModal}
272
- title={text("Title", "Modal Title")}
207
+ open={true}
208
+ title={args.title}
273
209
  ariaDescription="Modal description"
274
210
  onClose={() => setOpenModal(!openModal)}
275
- backdrop={boolean("Backdrop", true)}
276
- slim={boolean("Slim", false)}
277
- hideCloseIcon={boolean("Hide Close Icon", false)}
211
+ scrollableModal
278
212
  actions={[
279
213
  <Button
280
214
  onClick={() => setOpenModal(!openModal)}
@@ -282,7 +216,7 @@ export const ManyButtons = () => {
282
216
  border={AppearanceBorderType.borderless}
283
217
  size={AppearanceSizeType.small}
284
218
  >
285
- {text("Action 4 Label", "New")}
219
+ {args.action4Label}
286
220
  </Button>,
287
221
  <Button
288
222
  onClick={() => setOpenModal(!openModal)}
@@ -290,26 +224,133 @@ export const ManyButtons = () => {
290
224
  border={AppearanceBorderType.borderless}
291
225
  size={AppearanceSizeType.small}
292
226
  >
293
- {text("Action 3 Label", "Copy")}
227
+ {args.action3Label}
294
228
  </Button>,
295
229
  <Button
296
230
  onClick={() => setOpenModal(!openModal)}
297
231
  styleType={AppearanceStyleType.primary}
298
232
  size={AppearanceSizeType.small}
299
233
  >
300
- {text("Action 2 Label", "Submit")}
234
+ {args.action2Label}
301
235
  </Button>,
302
236
  <Button
303
237
  onClick={() => setOpenModal(!openModal)}
304
238
  border={AppearanceBorderType.borderless}
305
239
  size={AppearanceSizeType.small}
306
240
  >
307
- {text("Action 1 Label", "Cancel")}
241
+ {args.action1Label}
308
242
  </Button>,
309
243
  ]}
310
244
  >
311
- {text("Content", "Modal Content")}
245
+ {args.content}
246
+ <div>
247
+ <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
248
+ </div>
312
249
  </Modal>
313
- </>
314
- )
250
+ )
251
+ },
252
+ }
253
+
254
+ export const ScrollableModalMinimalContent = {
255
+ args: {
256
+ ...defaultArgs,
257
+ content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
258
+ },
259
+ render: (args: Record<string, any>) => {
260
+ const [openModal, setOpenModal] = useState(false)
261
+
262
+ return (
263
+ <Modal
264
+ open={true}
265
+ title={args.title}
266
+ ariaDescription="Modal description"
267
+ onClose={() => setOpenModal(!openModal)}
268
+ actions={[
269
+ <Button
270
+ size={AppearanceSizeType.small}
271
+ onClick={() => setOpenModal(!openModal)}
272
+ styleType={AppearanceStyleType.primary}
273
+ >
274
+ {args.action1Label}
275
+ </Button>,
276
+ <Button size={AppearanceSizeType.small} onClick={() => setOpenModal(!openModal)}>
277
+ {args.action2Label}
278
+ </Button>,
279
+ ]}
280
+ scrollableModal
281
+ >
282
+ {args.content}
283
+ <div>
284
+ <input type="text" placeholder={"Text Input"} className={"border mt-4 p-3"} />
285
+ </div>
286
+ </Modal>
287
+ )
288
+ },
289
+ }
290
+
291
+ export const ManyButtons = {
292
+ args: {
293
+ ...defaultArgs,
294
+ action3Label: "Copy",
295
+ action4Label: "New",
296
+ },
297
+ render: (args: Record<string, any>) => {
298
+ const [openModal, setOpenModal] = useState(false)
299
+
300
+ return (
301
+ <>
302
+ <Button
303
+ onClick={() => {
304
+ setOpenModal(!openModal)
305
+ }}
306
+ >
307
+ {args.buttonLabel}
308
+ </Button>
309
+ <div style={{ height: "1000px" }}></div>
310
+ <Modal
311
+ open={openModal}
312
+ title={args.title}
313
+ ariaDescription="Modal description"
314
+ onClose={() => setOpenModal(!openModal)}
315
+ backdrop={args.backdrop}
316
+ slim={args.slim}
317
+ hideCloseIcon={args.hideCloseIcon}
318
+ actions={[
319
+ <Button
320
+ onClick={() => setOpenModal(!openModal)}
321
+ styleType={AppearanceStyleType.primary}
322
+ border={AppearanceBorderType.borderless}
323
+ size={AppearanceSizeType.small}
324
+ >
325
+ {args.action4Label}
326
+ </Button>,
327
+ <Button
328
+ onClick={() => setOpenModal(!openModal)}
329
+ styleType={AppearanceStyleType.primary}
330
+ border={AppearanceBorderType.borderless}
331
+ size={AppearanceSizeType.small}
332
+ >
333
+ {args.action3Label}
334
+ </Button>,
335
+ <Button
336
+ onClick={() => setOpenModal(!openModal)}
337
+ styleType={AppearanceStyleType.primary}
338
+ size={AppearanceSizeType.small}
339
+ >
340
+ {args.action2Label}
341
+ </Button>,
342
+ <Button
343
+ onClick={() => setOpenModal(!openModal)}
344
+ border={AppearanceBorderType.borderless}
345
+ size={AppearanceSizeType.small}
346
+ >
347
+ {args.action1Label}
348
+ </Button>,
349
+ ]}
350
+ >
351
+ {args.content}
352
+ </Modal>
353
+ </>
354
+ )
355
+ },
315
356
  }