@xqmsg/ui-core 0.23.1-rc.1 → 0.23.1-rc.2

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 (192) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/LICENSE +20 -20
  3. package/README.md +40 -40
  4. package/dist/{89793640b494d7ea.svg → 78c9d6fd7766410f.svg} +9 -9
  5. package/dist/ui-core.cjs.development.js +1 -1
  6. package/dist/ui-core.cjs.development.js.map +1 -1
  7. package/dist/ui-core.cjs.production.min.js +1 -1
  8. package/dist/ui-core.cjs.production.min.js.map +1 -1
  9. package/dist/ui-core.esm.js +1 -1
  10. package/dist/ui-core.esm.js.map +1 -1
  11. package/package.json +118 -118
  12. package/src/components/banner/Banner.stories.tsx +100 -100
  13. package/src/components/banner/index.tsx +73 -73
  14. package/src/components/breadcrumbs/Breadcrumbs.stories.tsx +66 -66
  15. package/src/components/breadcrumbs/components/icon/index.tsx +38 -38
  16. package/src/components/breadcrumbs/components/label/index.tsx +20 -20
  17. package/src/components/breadcrumbs/index.tsx +48 -48
  18. package/src/components/button/Button.stories.tsx +140 -140
  19. package/src/components/button/google/GoogleButton.stories.tsx +23 -23
  20. package/src/components/button/google/index.tsx +29 -29
  21. package/src/components/button/index.tsx +51 -51
  22. package/src/components/button/microsoft/MicrosoftButton.stories.tsx +25 -25
  23. package/src/components/button/microsoft/index.tsx +29 -29
  24. package/src/components/button/spinner/SpinnerButton.stories.tsx +60 -60
  25. package/src/components/button/spinner/index.tsx +36 -36
  26. package/src/components/card/Card.stories.tsx +56 -56
  27. package/src/components/card/index.tsx +78 -78
  28. package/src/components/form/Form.stories.tsx +62 -62
  29. package/src/components/form/FormTypes.ts +20 -20
  30. package/src/components/form/hooks/useFormHandler.tsx +74 -74
  31. package/src/components/form/index.tsx +25 -25
  32. package/src/components/form/section/FormSection.stories.tsx +109 -109
  33. package/src/components/form/section/index.tsx +87 -87
  34. package/src/components/form/utils/formErrors.ts +34 -34
  35. package/src/components/icons/checkmark/checkmark.svg +3 -3
  36. package/src/components/icons/checkmark/index.tsx +13 -13
  37. package/src/components/icons/chevron/down/chevron-down.svg +3 -3
  38. package/src/components/icons/chevron/down/index.tsx +14 -14
  39. package/src/components/icons/chevron/right/chevron-right.svg +3 -3
  40. package/src/components/icons/chevron/right/index.tsx +13 -13
  41. package/src/components/icons/clock/clock.svg +3 -3
  42. package/src/components/icons/clock/index.tsx +13 -13
  43. package/src/components/icons/close/close.svg +3 -3
  44. package/src/components/icons/close/index.tsx +21 -21
  45. package/src/components/icons/dropdown/dropdown.svg +3 -3
  46. package/src/components/icons/dropdown/index.tsx +16 -16
  47. package/src/components/icons/error/error.svg +3 -3
  48. package/src/components/icons/error/index.tsx +13 -13
  49. package/src/components/icons/file/fill/file-fill.svg +4 -4
  50. package/src/components/icons/file/fill/index.tsx +13 -13
  51. package/src/components/icons/file/outline/file-outline.svg +3 -3
  52. package/src/components/icons/file/outline/index.tsx +13 -13
  53. package/src/components/icons/folder/add/fill/folder-add-fill.svg +3 -3
  54. package/src/components/icons/folder/add/fill/index.tsx +13 -13
  55. package/src/components/icons/folder/add/outline/folder-add-outline.svg +3 -3
  56. package/src/components/icons/folder/add/outline/index.tsx +15 -15
  57. package/src/components/icons/folder/fill/folder-fill-gradient.svg +33 -33
  58. package/src/components/icons/folder/fill/folder-fill.svg +4 -4
  59. package/src/components/icons/folder/fill/index.tsx +21 -21
  60. package/src/components/icons/folder/outline/folder-outline.svg +3 -3
  61. package/src/components/icons/folder/outline/index.tsx +13 -13
  62. package/src/components/icons/gear/GearIcon.tsx +36 -36
  63. package/src/components/icons/google/drive/index.tsx +13 -13
  64. package/src/components/icons/google/google.svg +13 -13
  65. package/src/components/icons/google/index.tsx +13 -13
  66. package/src/components/icons/group/group.svg +3 -3
  67. package/src/components/icons/group/index.tsx +13 -13
  68. package/src/components/icons/home/home.svg +3 -3
  69. package/src/components/icons/home/index.tsx +13 -13
  70. package/src/components/icons/image/image.svg +3 -3
  71. package/src/components/icons/image/index.tsx +13 -13
  72. package/src/components/icons/index.tsx +101 -101
  73. package/src/components/icons/link/index.tsx +13 -13
  74. package/src/components/icons/link/link.svg +4 -4
  75. package/src/components/icons/menu/index.tsx +13 -13
  76. package/src/components/icons/menu/menu.svg +3 -3
  77. package/src/components/icons/microsoft/index.tsx +13 -13
  78. package/src/components/icons/microsoft/microsoft.svg +9 -9
  79. package/src/components/icons/microsoft/onedrive/index.tsx +16 -16
  80. package/src/components/icons/neutral/index.tsx +14 -14
  81. package/src/components/icons/neutral/neutral.svg +3 -3
  82. package/src/components/icons/page/index.tsx +13 -13
  83. package/src/components/icons/page/page.svg +3 -3
  84. package/src/components/icons/positive/index.tsx +13 -13
  85. package/src/components/icons/positive/positive.svg +3 -3
  86. package/src/components/icons/question/index.tsx +13 -13
  87. package/src/components/icons/question/question.svg +3 -3
  88. package/src/components/icons/search/index.tsx +13 -13
  89. package/src/components/icons/search/search.svg +3 -3
  90. package/src/components/icons/services/index.tsx +13 -13
  91. package/src/components/icons/services/services.svg +3 -3
  92. package/src/components/icons/settings/index.tsx +14 -14
  93. package/src/components/icons/settings/settings.svg +6 -6
  94. package/src/components/icons/table/fill/index.tsx +13 -13
  95. package/src/components/icons/table/fill/table-fill.svg +3 -3
  96. package/src/components/icons/table/outline/index.tsx +13 -13
  97. package/src/components/icons/table/outline/table-outline.svg +3 -3
  98. package/src/components/icons/task/index.tsx +10 -10
  99. package/src/components/icons/task/task.svg +11 -11
  100. package/src/components/icons/trash/index.tsx +13 -13
  101. package/src/components/icons/trash/trash.svg +3 -3
  102. package/src/components/icons/vault/index.tsx +14 -14
  103. package/src/components/icons/video/index.tsx +13 -13
  104. package/src/components/icons/video/video.svg +3 -3
  105. package/src/components/icons/warning/index.tsx +13 -13
  106. package/src/components/icons/warning/warning.svg +3 -3
  107. package/src/components/icons/workspace/index.tsx +14 -14
  108. package/src/components/input/Input.stories.tsx +287 -287
  109. package/src/components/input/InputTypes.ts +77 -77
  110. package/src/components/input/StackedCheckbox/StackedCheckbox.tsx +44 -44
  111. package/src/components/input/StackedInput/StackedInput.tsx +60 -60
  112. package/src/components/input/StackedMultiSelect/index.tsx +349 -349
  113. package/src/components/input/StackedPilledInput/index.tsx +386 -386
  114. package/src/components/input/StackedRadio/StackedRadioGroup.tsx +38 -38
  115. package/src/components/input/StackedSelect/index.tsx +232 -232
  116. package/src/components/input/StackedSwitch/index.tsx +33 -33
  117. package/src/components/input/StackedTextarea/StackedTextarea.tsx +55 -55
  118. package/src/components/input/components/dropdown/index.tsx +111 -111
  119. package/src/components/input/components/label/index.tsx +35 -35
  120. package/src/components/input/components/token/Token.stories.tsx +25 -25
  121. package/src/components/input/components/token/index.tsx +45 -45
  122. package/src/components/input/index.tsx +298 -298
  123. package/src/components/layout/BorderedBox/index.tsx +30 -30
  124. package/src/components/layout/Layout.stories.tsx +40 -40
  125. package/src/components/layout/index.tsx +100 -100
  126. package/src/components/link/Link.stories.tsx +23 -23
  127. package/src/components/link/index.tsx +34 -34
  128. package/src/components/loading/LoadingIndicator.stories.tsx +45 -45
  129. package/src/components/loading/index.tsx +45 -45
  130. package/src/components/modal/Modal.stories.tsx +36 -36
  131. package/src/components/modal/components/action/index.tsx +37 -37
  132. package/src/components/modal/index.tsx +41 -41
  133. package/src/components/navigation/NavigationMenu.stories.tsx +85 -85
  134. package/src/components/navigation/components/header/index.tsx +27 -27
  135. package/src/components/navigation/components/items/index.tsx +76 -76
  136. package/src/components/navigation/index.tsx +87 -87
  137. package/src/components/select/index.tsx +140 -140
  138. package/src/components/table/Table.stories.tsx +63 -63
  139. package/src/components/table/TableTypes.ts +15 -15
  140. package/src/components/table/components/loading/index.tsx +45 -45
  141. package/src/components/table/components/text/index.tsx +23 -23
  142. package/src/components/table/empty/index.tsx +47 -47
  143. package/src/components/table/index.tsx +84 -84
  144. package/src/components/table/utils/generateTableColumns.ts +9 -9
  145. package/src/components/tabs/TabsWrapper.stories.tsx +85 -85
  146. package/src/components/tabs/index.tsx +39 -39
  147. package/src/components/text/Text.stories.tsx +59 -59
  148. package/src/components/text/index.tsx +16 -16
  149. package/src/components/toast/Toast.stories.tsx +52 -52
  150. package/src/components/toast/index.tsx +78 -78
  151. package/src/components/toolbar/Toolbar.stories.tsx +59 -59
  152. package/src/components/toolbar/components/actions/add/index.tsx +18 -18
  153. package/src/components/toolbar/components/actions/search/index.tsx +38 -38
  154. package/src/components/toolbar/components/actions/sort/index.tsx +49 -49
  155. package/src/components/toolbar/components/breadcrumbs/index.tsx +63 -63
  156. package/src/components/toolbar/components/breadcrumbs/item/index.tsx +72 -72
  157. package/src/components/toolbar/components/dropdown/index.tsx +107 -107
  158. package/src/components/toolbar/components/navigation/components/button/left/index.tsx +28 -28
  159. package/src/components/toolbar/components/navigation/components/button/left/left-arrow.svg +3 -3
  160. package/src/components/toolbar/components/navigation/components/button/right/index.tsx +27 -27
  161. package/src/components/toolbar/components/navigation/components/button/right/right-arrow.svg +3 -3
  162. package/src/components/toolbar/components/navigation/index.tsx +36 -36
  163. package/src/components/toolbar/index.tsx +55 -55
  164. package/src/hooks/useDeepEffect.tsx +22 -22
  165. package/src/hooks/useDidMountEffect.tsx +13 -13
  166. package/src/hooks/useOnOutsideClick.tsx +31 -31
  167. package/src/hooks/useToast.tsx +16 -16
  168. package/src/index.tsx +78 -78
  169. package/src/theme/components/alert.ts +60 -60
  170. package/src/theme/components/badge.ts +59 -59
  171. package/src/theme/components/button.ts +163 -163
  172. package/src/theme/components/checkbox.ts +28 -28
  173. package/src/theme/components/code.ts +16 -16
  174. package/src/theme/components/form-error.ts +31 -31
  175. package/src/theme/components/form-label.ts +17 -17
  176. package/src/theme/components/form.ts +29 -29
  177. package/src/theme/components/input.ts +65 -65
  178. package/src/theme/components/link.ts +118 -118
  179. package/src/theme/components/modal.ts +45 -45
  180. package/src/theme/components/select.ts +36 -36
  181. package/src/theme/components/switch.ts +89 -89
  182. package/src/theme/components/table.ts +42 -42
  183. package/src/theme/components/tabs.ts +255 -255
  184. package/src/theme/components/text.ts +93 -93
  185. package/src/theme/components/textarea.ts +42 -42
  186. package/src/theme/customXQChakraTheme.ts +54 -54
  187. package/src/theme/foundations/breakpoints.ts +18 -18
  188. package/src/theme/foundations/colors.ts +165 -165
  189. package/src/theme/foundations/shadows.ts +23 -23
  190. package/src/theme/foundations/typography.ts +62 -62
  191. package/src/theme/provider/index.tsx +21 -21
  192. package/src/theme/styles.ts +19 -19
@@ -1,14 +1,14 @@
1
- import React from 'react';
2
- import { Image } from '@chakra-ui/react';
3
- import path from './workspace.png';
4
-
5
- export interface WorkspaceProps {
6
- boxSize: number | string;
7
- }
8
-
9
- /**
10
- * A functional React component utilized to render the `Workspace` icon component
11
- */
12
- export const Workspace: React.FC<WorkspaceProps> = ({ boxSize }) => {
13
- return <Image src={path} boxSize={boxSize} />;
14
- };
1
+ import React from 'react';
2
+ import { Image } from '@chakra-ui/react';
3
+ import path from './workspace.png';
4
+
5
+ export interface WorkspaceProps {
6
+ boxSize: number | string;
7
+ }
8
+
9
+ /**
10
+ * A functional React component utilized to render the `Workspace` icon component
11
+ */
12
+ export const Workspace: React.FC<WorkspaceProps> = ({ boxSize }) => {
13
+ return <Image src={path} boxSize={boxSize} />;
14
+ };
@@ -1,287 +1,287 @@
1
- import React from 'react';
2
- import { Meta, Story } from '@storybook/react';
3
-
4
- import { Input, InputProps } from '.';
5
- import { useFormHandler } from '../form/hooks/useFormHandler';
6
- import * as Yup from 'yup';
7
- import { Form } from '../form';
8
- import { SelectNative } from '../select';
9
-
10
- const meta: Meta<InputProps<StoryFormSchema>> = {
11
- title: 'Input example',
12
- component: Input,
13
- argTypes: {
14
- label: {
15
- control: {
16
- type: 'text',
17
- },
18
- description: 'The label for the input',
19
- },
20
- inputType: {
21
- description: 'The type of the input',
22
- },
23
- options: {
24
- control: 'array',
25
- description: 'The options for select/radio fields',
26
- },
27
- maxLength: {
28
- control: {
29
- type: 'number',
30
- },
31
- description: 'The max length for the input value',
32
- },
33
- helperText: {
34
- control: {
35
- type: 'text',
36
- },
37
- description: 'The helper text for the input',
38
- },
39
- errorText: {
40
- control: {
41
- type: 'text',
42
- },
43
- description: 'The error message for the input',
44
- },
45
- isInvalid: {
46
- control: 'boolean',
47
- description: 'The flag for whether the input value is valid or not',
48
- },
49
- isRequired: {
50
- control: 'boolean',
51
- description: 'The flag for whether the input field is required or not',
52
- },
53
- },
54
- parameters: {
55
- controls: { expanded: true },
56
- },
57
- };
58
-
59
- interface StoryFormSchema {
60
- prop?: string;
61
- prop2?: string;
62
- prop3?: string;
63
- prop4?: string;
64
- prop5?: string;
65
- prop6?: boolean;
66
- }
67
-
68
- const onStubbedSubmit = () => null;
69
-
70
- const storyFormDefaultValues: StoryFormSchema = {
71
- prop: '',
72
- prop2: '',
73
- prop3: '',
74
- prop4: '',
75
- prop5: '',
76
- prop6: true,
77
- };
78
-
79
- const storyFormSchema: Yup.SchemaOf<StoryFormSchema> = Yup.object().shape({
80
- prop: Yup.string(),
81
- prop2: Yup.string(),
82
- prop3: Yup.string(),
83
- prop4: Yup.string(),
84
- prop5: Yup.string(),
85
- prop6: Yup.boolean(),
86
- });
87
-
88
- export default meta;
89
- const Template: Story<InputProps<StoryFormSchema>> = args => {
90
- const formHandler = useFormHandler<StoryFormSchema>(
91
- onStubbedSubmit,
92
- storyFormDefaultValues,
93
- storyFormSchema,
94
- false,
95
- 'all'
96
- );
97
-
98
- const { form } = formHandler;
99
-
100
- return (
101
- <Form formHandler={formHandler}>
102
- <Input
103
- {...args}
104
- inputType="multi-select"
105
- setValue={form.setValue}
106
- setError={form.setError}
107
- clearErrors={form.clearErrors}
108
- isInvalid={!!form.formState.errors['prop5']?.message}
109
- errorText={form.formState.errors['prop5']?.message}
110
- name="prop5"
111
- />
112
- <Input
113
- {...args}
114
- inputType="multi-select"
115
- variant="mobile"
116
- setValue={form.setValue}
117
- setError={form.setError}
118
- clearErrors={form.clearErrors}
119
- isInvalid={!!form.formState.errors['prop5']?.message}
120
- errorText={form.formState.errors['prop5']?.message}
121
- name="prop5"
122
- />
123
- <Input
124
- {...args}
125
- inputType="text"
126
- name="prop3"
127
- onChange={e => form.setValue('prop3', e.target.value)}
128
- />
129
- <Input
130
- {...args}
131
- inputType="text"
132
- variant="mobile"
133
- name="prop3"
134
- onChange={e => form.setValue('prop3', e.target.value)}
135
- />
136
- <Input
137
- {...args}
138
- inputType="textarea"
139
- name="prop2"
140
- onChange={e => form.setValue('prop2', e.target.value)}
141
- />
142
- <Input
143
- {...args}
144
- inputType="textarea"
145
- variant="mobile"
146
- name="prop2"
147
- onChange={e => form.setValue('prop2', e.target.value)}
148
- />
149
- <Input
150
- {...args}
151
- name="prop"
152
- inputType="pilled-text"
153
- setValue={form.setValue}
154
- setError={form.setError}
155
- clearErrors={form.clearErrors}
156
- isInvalid={!!form.formState.errors['prop']?.message}
157
- errorText={form.formState.errors['prop']?.message}
158
- />
159
- <Input
160
- {...args}
161
- name="prop"
162
- variant="mobile"
163
- inputType="pilled-text"
164
- setValue={form.setValue}
165
- setError={form.setError}
166
- clearErrors={form.clearErrors}
167
- isInvalid={!!form.formState.errors['prop']?.message}
168
- errorText={form.formState.errors['prop']?.message}
169
- />
170
- <Input
171
- {...args}
172
- inputType="select"
173
- setValue={form.setValue}
174
- name="prop4"
175
- defaultValue={'value1'}
176
- />
177
- <SelectNative
178
- {...args}
179
- setValue={form.setValue}
180
- name="prop4"
181
- setError={form.setError}
182
- clearErrors={form.clearErrors}
183
- isInvalid={!!form.formState.errors['prop']?.message}
184
- errorText={form.formState.errors['prop']?.message}
185
- disabled={false}
186
- isRequired
187
- control={form.control}
188
- ariaLabel="expires in input"
189
- defaultValue={'value1'}
190
- variant="mobile"
191
- />
192
- <Input
193
- {...args}
194
- name="prop6"
195
- inputType="switch"
196
- setValue={form.setValue}
197
- />
198
- <Input
199
- {...args}
200
- name="prop6"
201
- variant="mobile"
202
- inputType="switch"
203
- setValue={form.setValue}
204
- />
205
- <Input
206
- {...args}
207
- name="prop6"
208
- inputType="checkbox"
209
- setValue={form.setValue}
210
- />
211
- <Input
212
- {...args}
213
- name="prop6"
214
- inputType="checkbox"
215
- variant="mobile"
216
- setValue={form.setValue}
217
- />
218
- </Form>
219
- );
220
- };
221
-
222
- export const Default = Template.bind({});
223
- Default.args = {
224
- label: 'Input Label',
225
- inputType: 'text',
226
- options: [
227
- { value: 'section_header', label: 'Section 1', sortValue: 0 },
228
- {
229
- value: 'value1',
230
- label: 'Value 1',
231
- sortValue: 1,
232
- },
233
- {
234
- value: 'value2',
235
- label: 'Value 2',
236
- sortValue: 2,
237
- },
238
- {
239
- value: 'value3',
240
- label: 'Value 3',
241
- sortValue: 3,
242
- },
243
- {
244
- value: 'value4',
245
- label: 'Value 4 Which is very long',
246
- sortValue: 4,
247
- },
248
- { value: 'section_header', label: 'Section 2', sortValue: 5 },
249
- {
250
- value: 'value5',
251
- label: 'Value 5',
252
- sortValue: 6,
253
- },
254
- {
255
- value: 'value6',
256
- label: 'Value 6',
257
- sortValue: 7,
258
- },
259
- {
260
- value: 'value7',
261
- label: 'Value 7',
262
- sortValue: 8,
263
- },
264
- {
265
- value: 'value8',
266
- label: 'Value 8',
267
- sortValue: 9,
268
- },
269
- {
270
- value: 'value9',
271
- label: 'Value 9',
272
- sortValue: 10,
273
- },
274
- {
275
- value: 'value10',
276
- label: 'Balue 10',
277
- sortValue: 11,
278
- },
279
- {
280
- value: 'value11',
281
- label: 'C 11',
282
- sortValue: 12,
283
- },
284
- ],
285
- isRequired: true,
286
- isInvalid: false,
287
- };
1
+ import React from 'react';
2
+ import { Meta, Story } from '@storybook/react';
3
+
4
+ import { Input, InputProps } from '.';
5
+ import { useFormHandler } from '../form/hooks/useFormHandler';
6
+ import * as Yup from 'yup';
7
+ import { Form } from '../form';
8
+ import { SelectNative } from '../select';
9
+
10
+ const meta: Meta<InputProps<StoryFormSchema>> = {
11
+ title: 'Input example',
12
+ component: Input,
13
+ argTypes: {
14
+ label: {
15
+ control: {
16
+ type: 'text',
17
+ },
18
+ description: 'The label for the input',
19
+ },
20
+ inputType: {
21
+ description: 'The type of the input',
22
+ },
23
+ options: {
24
+ control: 'array',
25
+ description: 'The options for select/radio fields',
26
+ },
27
+ maxLength: {
28
+ control: {
29
+ type: 'number',
30
+ },
31
+ description: 'The max length for the input value',
32
+ },
33
+ helperText: {
34
+ control: {
35
+ type: 'text',
36
+ },
37
+ description: 'The helper text for the input',
38
+ },
39
+ errorText: {
40
+ control: {
41
+ type: 'text',
42
+ },
43
+ description: 'The error message for the input',
44
+ },
45
+ isInvalid: {
46
+ control: 'boolean',
47
+ description: 'The flag for whether the input value is valid or not',
48
+ },
49
+ isRequired: {
50
+ control: 'boolean',
51
+ description: 'The flag for whether the input field is required or not',
52
+ },
53
+ },
54
+ parameters: {
55
+ controls: { expanded: true },
56
+ },
57
+ };
58
+
59
+ interface StoryFormSchema {
60
+ prop?: string;
61
+ prop2?: string;
62
+ prop3?: string;
63
+ prop4?: string;
64
+ prop5?: string;
65
+ prop6?: boolean;
66
+ }
67
+
68
+ const onStubbedSubmit = () => null;
69
+
70
+ const storyFormDefaultValues: StoryFormSchema = {
71
+ prop: '',
72
+ prop2: '',
73
+ prop3: '',
74
+ prop4: '',
75
+ prop5: '',
76
+ prop6: true,
77
+ };
78
+
79
+ const storyFormSchema: Yup.SchemaOf<StoryFormSchema> = Yup.object().shape({
80
+ prop: Yup.string(),
81
+ prop2: Yup.string(),
82
+ prop3: Yup.string(),
83
+ prop4: Yup.string(),
84
+ prop5: Yup.string(),
85
+ prop6: Yup.boolean(),
86
+ });
87
+
88
+ export default meta;
89
+ const Template: Story<InputProps<StoryFormSchema>> = args => {
90
+ const formHandler = useFormHandler<StoryFormSchema>(
91
+ onStubbedSubmit,
92
+ storyFormDefaultValues,
93
+ storyFormSchema,
94
+ false,
95
+ 'all'
96
+ );
97
+
98
+ const { form } = formHandler;
99
+
100
+ return (
101
+ <Form formHandler={formHandler}>
102
+ <Input
103
+ {...args}
104
+ inputType="multi-select"
105
+ setValue={form.setValue}
106
+ setError={form.setError}
107
+ clearErrors={form.clearErrors}
108
+ isInvalid={!!form.formState.errors['prop5']?.message}
109
+ errorText={form.formState.errors['prop5']?.message}
110
+ name="prop5"
111
+ />
112
+ <Input
113
+ {...args}
114
+ inputType="multi-select"
115
+ variant="mobile"
116
+ setValue={form.setValue}
117
+ setError={form.setError}
118
+ clearErrors={form.clearErrors}
119
+ isInvalid={!!form.formState.errors['prop5']?.message}
120
+ errorText={form.formState.errors['prop5']?.message}
121
+ name="prop5"
122
+ />
123
+ <Input
124
+ {...args}
125
+ inputType="text"
126
+ name="prop3"
127
+ onChange={e => form.setValue('prop3', e.target.value)}
128
+ />
129
+ <Input
130
+ {...args}
131
+ inputType="text"
132
+ variant="mobile"
133
+ name="prop3"
134
+ onChange={e => form.setValue('prop3', e.target.value)}
135
+ />
136
+ <Input
137
+ {...args}
138
+ inputType="textarea"
139
+ name="prop2"
140
+ onChange={e => form.setValue('prop2', e.target.value)}
141
+ />
142
+ <Input
143
+ {...args}
144
+ inputType="textarea"
145
+ variant="mobile"
146
+ name="prop2"
147
+ onChange={e => form.setValue('prop2', e.target.value)}
148
+ />
149
+ <Input
150
+ {...args}
151
+ name="prop"
152
+ inputType="pilled-text"
153
+ setValue={form.setValue}
154
+ setError={form.setError}
155
+ clearErrors={form.clearErrors}
156
+ isInvalid={!!form.formState.errors['prop']?.message}
157
+ errorText={form.formState.errors['prop']?.message}
158
+ />
159
+ <Input
160
+ {...args}
161
+ name="prop"
162
+ variant="mobile"
163
+ inputType="pilled-text"
164
+ setValue={form.setValue}
165
+ setError={form.setError}
166
+ clearErrors={form.clearErrors}
167
+ isInvalid={!!form.formState.errors['prop']?.message}
168
+ errorText={form.formState.errors['prop']?.message}
169
+ />
170
+ <Input
171
+ {...args}
172
+ inputType="select"
173
+ setValue={form.setValue}
174
+ name="prop4"
175
+ defaultValue={'value1'}
176
+ />
177
+ <SelectNative
178
+ {...args}
179
+ setValue={form.setValue}
180
+ name="prop4"
181
+ setError={form.setError}
182
+ clearErrors={form.clearErrors}
183
+ isInvalid={!!form.formState.errors['prop']?.message}
184
+ errorText={form.formState.errors['prop']?.message}
185
+ disabled={false}
186
+ isRequired
187
+ control={form.control}
188
+ ariaLabel="expires in input"
189
+ defaultValue={'value1'}
190
+ variant="mobile"
191
+ />
192
+ <Input
193
+ {...args}
194
+ name="prop6"
195
+ inputType="switch"
196
+ setValue={form.setValue}
197
+ />
198
+ <Input
199
+ {...args}
200
+ name="prop6"
201
+ variant="mobile"
202
+ inputType="switch"
203
+ setValue={form.setValue}
204
+ />
205
+ <Input
206
+ {...args}
207
+ name="prop6"
208
+ inputType="checkbox"
209
+ setValue={form.setValue}
210
+ />
211
+ <Input
212
+ {...args}
213
+ name="prop6"
214
+ inputType="checkbox"
215
+ variant="mobile"
216
+ setValue={form.setValue}
217
+ />
218
+ </Form>
219
+ );
220
+ };
221
+
222
+ export const Default = Template.bind({});
223
+ Default.args = {
224
+ label: 'Input Label',
225
+ inputType: 'text',
226
+ options: [
227
+ { value: 'section_header', label: 'Section 1', sortValue: 0 },
228
+ {
229
+ value: 'value1',
230
+ label: 'Value 1',
231
+ sortValue: 1,
232
+ },
233
+ {
234
+ value: 'value2',
235
+ label: 'Value 2',
236
+ sortValue: 2,
237
+ },
238
+ {
239
+ value: 'value3',
240
+ label: 'Value 3',
241
+ sortValue: 3,
242
+ },
243
+ {
244
+ value: 'value4',
245
+ label: 'Value 4 Which is very long',
246
+ sortValue: 4,
247
+ },
248
+ { value: 'section_header', label: 'Section 2', sortValue: 5 },
249
+ {
250
+ value: 'value5',
251
+ label: 'Value 5',
252
+ sortValue: 6,
253
+ },
254
+ {
255
+ value: 'value6',
256
+ label: 'Value 6',
257
+ sortValue: 7,
258
+ },
259
+ {
260
+ value: 'value7',
261
+ label: 'Value 7',
262
+ sortValue: 8,
263
+ },
264
+ {
265
+ value: 'value8',
266
+ label: 'Value 8',
267
+ sortValue: 9,
268
+ },
269
+ {
270
+ value: 'value9',
271
+ label: 'Value 9',
272
+ sortValue: 10,
273
+ },
274
+ {
275
+ value: 'value10',
276
+ label: 'Balue 10',
277
+ sortValue: 11,
278
+ },
279
+ {
280
+ value: 'value11',
281
+ label: 'C 11',
282
+ sortValue: 12,
283
+ },
284
+ ],
285
+ isRequired: true,
286
+ isInvalid: false,
287
+ };