@agilant/toga-blox 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +5 -0
- package/README.md +3 -1
- package/package.json +15 -14
- package/src/components/Badge/Badge.stories.tsx +175 -126
- package/src/components/Badge/Badge.test.tsx +20 -29
- package/src/components/Badge/Badge.tsx +44 -57
- package/src/components/Badge/Badge.types.tsx +18 -9
- package/src/components/Badge/badgeClassNames.tsx +40 -19
- package/src/components/Card/templates/HorizontalCardTemplate.tsx +5 -5
- package/src/components/Card/templates/VerticalCardTemplate.tsx +5 -5
- package/src/components/CounterButton/CounterButton.stories.tsx +91 -0
- package/src/components/CounterButton/CounterButton.tsx +100 -0
- package/src/components/CounterButton/CounterButton.types.ts +12 -0
- package/src/components/FormButton/FormButton.stories.tsx +282 -67
- package/src/components/FormButton/FormButton.test.tsx +4 -4
- package/src/components/FormButton/FormButton.tsx +45 -67
- package/src/components/FormButton/FormButton.types.ts +8 -7
- package/src/components/Header/Header.stories.tsx +20 -23
- package/src/components/Header/Header.test.tsx +0 -1
- package/src/components/Hero/Hero.tsx +3 -3
- package/src/components/Icon/Icon.stories.tsx +12 -12
- package/src/components/Icon/Icon.test.tsx +3 -3
- package/src/components/Icon/Icon.tsx +9 -9
- package/src/components/Image/Image.tsx +10 -12
- package/src/components/Image/declarations.d.ts +24 -0
- package/src/components/Input/Input.stories.tsx +116 -253
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/Input.tsx +5 -7
- package/src/components/Nav/DUMMYNAVDATA.json +1 -1
- package/src/components/Page/ViewPageTemplate.stories.tsx +77 -80
- package/src/components/Text/Text.stories.tsx +21 -31
- package/src/components/Text/Text.tsx +12 -63
- package/src/components/Text/Text.types.ts +4 -4
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { Input, InputTypes } from ".";
|
|
2
1
|
import { Meta, StoryFn } from "@storybook/react";
|
|
2
|
+
import { Input, InputTypes } from ".";
|
|
3
3
|
import Text from "../Text/Text";
|
|
4
4
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
5
|
-
import {
|
|
6
|
-
faMagnifyingGlass,
|
|
7
|
-
faCircleArrowRight,
|
|
8
|
-
faEnvelope,
|
|
9
|
-
} from "@fortawesome/free-solid-svg-icons";
|
|
5
|
+
import { faMagnifyingGlass, faCircleArrowRight, faEnvelope } from "@fortawesome/free-solid-svg-icons";
|
|
10
6
|
import { minCharactersRegex } from "../../utils/inputValidation";
|
|
11
7
|
import { withMemo } from "../../userHoc";
|
|
12
8
|
import { arePropsEqual } from "./InputMemoTypes";
|
|
@@ -20,6 +16,7 @@ export default {
|
|
|
20
16
|
component: MemoizedInput,
|
|
21
17
|
argTypes: {
|
|
22
18
|
validateInput: {
|
|
19
|
+
control: "none",
|
|
23
20
|
table: {
|
|
24
21
|
disable: true,
|
|
25
22
|
},
|
|
@@ -30,18 +27,21 @@ export default {
|
|
|
30
27
|
description: "Whether the input has validation styles turned on.",
|
|
31
28
|
},
|
|
32
29
|
errorMessage: {
|
|
30
|
+
control: "none",
|
|
33
31
|
table: {
|
|
34
32
|
disable: true,
|
|
35
33
|
},
|
|
36
34
|
description: "The error message if the input validation fails.",
|
|
37
35
|
},
|
|
38
36
|
regex: {
|
|
37
|
+
control: "none",
|
|
39
38
|
table: {
|
|
40
39
|
disable: true,
|
|
41
40
|
},
|
|
42
41
|
description: "The regex used to validate the input.",
|
|
43
42
|
},
|
|
44
43
|
inputType: {
|
|
44
|
+
control: "none",
|
|
45
45
|
table: {
|
|
46
46
|
disable: true,
|
|
47
47
|
},
|
|
@@ -52,129 +52,124 @@ export default {
|
|
|
52
52
|
description: "The width of the input.",
|
|
53
53
|
},
|
|
54
54
|
inputTextSize: {
|
|
55
|
-
control: "
|
|
56
|
-
options: ["small", "medium", "large"],
|
|
55
|
+
control: "none",
|
|
57
56
|
description: "The size of the text in the input.",
|
|
58
57
|
},
|
|
59
58
|
hasPlaceholder: {
|
|
60
|
-
control: "
|
|
59
|
+
control: "none",
|
|
61
60
|
description: "Whether the input has a placeholder.",
|
|
62
61
|
},
|
|
63
62
|
placeholder: {
|
|
64
|
-
control: "
|
|
63
|
+
control: "none",
|
|
65
64
|
description: "The text that appears in the input field.",
|
|
66
65
|
},
|
|
67
66
|
hasLeftIcon: {
|
|
68
|
-
control: "
|
|
67
|
+
control: "none",
|
|
69
68
|
description: "If the input has an icon on the left.",
|
|
70
69
|
},
|
|
71
70
|
leftIcon: {
|
|
71
|
+
control: "none",
|
|
72
72
|
table: {
|
|
73
73
|
disable: true,
|
|
74
74
|
},
|
|
75
75
|
description: "If the input has an icon on the left.",
|
|
76
76
|
},
|
|
77
77
|
hasRightIcon: {
|
|
78
|
-
control: "
|
|
79
|
-
description:
|
|
80
|
-
"If the input has an icon on the right. IF the input has a button the right icon will need to be set to false",
|
|
78
|
+
control: "none",
|
|
79
|
+
description: "If the input has an icon on the right.",
|
|
81
80
|
},
|
|
82
81
|
rightIcon: {
|
|
82
|
+
control: "none",
|
|
83
83
|
table: {
|
|
84
84
|
disable: true,
|
|
85
85
|
},
|
|
86
86
|
description: "If the input has an icon on the left.",
|
|
87
87
|
},
|
|
88
88
|
iconColor: {
|
|
89
|
-
control: "
|
|
90
|
-
|
|
91
|
-
description: "If the icons have a background color.",
|
|
89
|
+
control: "none",
|
|
90
|
+
description: "The color of the icons.",
|
|
92
91
|
},
|
|
93
92
|
iconBackgroundColor: {
|
|
94
|
-
control: "
|
|
95
|
-
|
|
96
|
-
description: "If the icons have a background color.",
|
|
93
|
+
control: "none",
|
|
94
|
+
description: "The background color of the icons.",
|
|
97
95
|
},
|
|
98
96
|
inputShape: {
|
|
99
|
-
control: "
|
|
100
|
-
|
|
101
|
-
description: "If the input has rounded corners.",
|
|
97
|
+
control: "none",
|
|
98
|
+
description: "The shape of the input.",
|
|
102
99
|
},
|
|
103
100
|
borderColor: {
|
|
104
|
-
control: "
|
|
105
|
-
options: ["green", "blue", "grey", "black", "none"],
|
|
101
|
+
control: "none",
|
|
106
102
|
description: "The border color of the input.",
|
|
107
103
|
},
|
|
108
104
|
successBorder: {
|
|
109
|
-
control: "
|
|
110
|
-
|
|
111
|
-
description:
|
|
112
|
-
"The border color when the input validation results in success.",
|
|
105
|
+
control: "none",
|
|
106
|
+
description: "The border color when the input validation results in success.",
|
|
113
107
|
},
|
|
114
108
|
errorBorder: {
|
|
115
|
-
control: "
|
|
116
|
-
|
|
117
|
-
description:
|
|
118
|
-
"The border color when the input validation results in error.",
|
|
109
|
+
control: "none",
|
|
110
|
+
description: "The border color when the input validation results in error.",
|
|
119
111
|
},
|
|
120
112
|
backgroundColor: {
|
|
121
|
-
control: "
|
|
122
|
-
options: ["white", "blue", "grey", "none"],
|
|
113
|
+
control: "none",
|
|
123
114
|
description: "The background color of the input.",
|
|
124
115
|
},
|
|
125
116
|
hasButton: {
|
|
126
|
-
control: "
|
|
127
|
-
description:
|
|
128
|
-
"If the input has a button. IF the in input has a button the inputShape should be set to cornered",
|
|
117
|
+
control: "none",
|
|
118
|
+
description: "If the input has a button.",
|
|
129
119
|
},
|
|
130
120
|
button: {
|
|
121
|
+
control: "none",
|
|
131
122
|
table: {
|
|
132
123
|
disable: true,
|
|
133
124
|
},
|
|
134
125
|
description: "The button that is displayed on the input.",
|
|
135
126
|
},
|
|
136
127
|
onClick: {
|
|
128
|
+
control: "none",
|
|
137
129
|
table: {
|
|
138
130
|
disable: true,
|
|
139
131
|
},
|
|
140
132
|
},
|
|
141
133
|
label: {
|
|
134
|
+
control: "none",
|
|
142
135
|
table: {
|
|
143
136
|
disable: true,
|
|
144
137
|
},
|
|
145
138
|
},
|
|
146
139
|
labelVisible: {
|
|
147
|
-
control: "
|
|
148
|
-
description:
|
|
149
|
-
"If the input label is visible to all or just screen readers.",
|
|
140
|
+
control: "none",
|
|
141
|
+
description: "If the input label is visible to all or just screen readers.",
|
|
150
142
|
},
|
|
151
143
|
labelPlacement: {
|
|
152
|
-
control: "
|
|
153
|
-
|
|
154
|
-
description:
|
|
155
|
-
"Where the label is placed in relation to the input field.",
|
|
144
|
+
control: "none",
|
|
145
|
+
description: "Where the label is placed in relation to the input field.",
|
|
156
146
|
},
|
|
157
147
|
value: {
|
|
148
|
+
control: "none",
|
|
158
149
|
table: {
|
|
159
150
|
disable: true,
|
|
160
151
|
},
|
|
161
152
|
},
|
|
162
153
|
inputName: {
|
|
154
|
+
control: "none",
|
|
163
155
|
table: {
|
|
164
156
|
disable: true,
|
|
165
157
|
},
|
|
166
158
|
},
|
|
167
159
|
onChange: {
|
|
160
|
+
control: "none",
|
|
168
161
|
table: {
|
|
169
162
|
disable: true,
|
|
170
163
|
},
|
|
171
164
|
},
|
|
172
165
|
onButtonClick: {
|
|
166
|
+
control: "none",
|
|
173
167
|
table: {
|
|
174
168
|
disable: true,
|
|
175
169
|
},
|
|
176
170
|
},
|
|
177
171
|
additionalClasses: {
|
|
172
|
+
control: "none",
|
|
178
173
|
table: {
|
|
179
174
|
disable: true,
|
|
180
175
|
},
|
|
@@ -190,183 +185,131 @@ const Template: StoryFn<InputTypes> = (args) => <MemoizedInput {...args} />;
|
|
|
190
185
|
|
|
191
186
|
export const NoIcons = Template.bind({});
|
|
192
187
|
NoIcons.args = {
|
|
193
|
-
// INPUT DETAILS
|
|
194
188
|
inputType: "search",
|
|
195
189
|
inputName: "search",
|
|
196
|
-
|
|
197
|
-
// FUNCTIONALITY
|
|
198
190
|
hasValidation: false,
|
|
199
|
-
|
|
200
|
-
// PLACEHOLDER
|
|
201
191
|
hasPlaceholder: true,
|
|
202
192
|
placeholder: "Search",
|
|
203
|
-
|
|
204
|
-
// LABEL DETAILS
|
|
205
193
|
labelVisible: false,
|
|
206
194
|
label: (
|
|
207
195
|
<Text
|
|
208
|
-
size="md"
|
|
209
|
-
color="
|
|
210
|
-
fontFamily="serif"
|
|
196
|
+
size="text-md"
|
|
197
|
+
color="text-black"
|
|
198
|
+
fontFamily="font-serif"
|
|
211
199
|
text="Search"
|
|
212
200
|
tag="h2"
|
|
213
201
|
additionalClasses="mb-0 pb-0 pr-2"
|
|
214
202
|
/>
|
|
215
203
|
),
|
|
216
|
-
|
|
217
|
-
// ICONS
|
|
218
204
|
hasLeftIcon: false,
|
|
219
205
|
hasRightIcon: false,
|
|
220
206
|
leftIcon: <FontAwesomeIcon icon={faMagnifyingGlass} />,
|
|
221
207
|
rightIcon: <FontAwesomeIcon icon={faCircleArrowRight} />,
|
|
222
|
-
|
|
223
|
-
// BUTTON
|
|
224
208
|
hasButton: true,
|
|
225
209
|
button: (
|
|
226
210
|
<FormButton
|
|
227
211
|
text=""
|
|
228
212
|
size="lg"
|
|
229
213
|
as="button"
|
|
230
|
-
hoverBackground="green"
|
|
231
|
-
|
|
214
|
+
hoverBackground="hover:bg-green-500"
|
|
215
|
+
backgroundColor="bg-green-500"
|
|
232
216
|
icon={getFontAwesomeIcon("search")}
|
|
233
|
-
fontColor="white"
|
|
217
|
+
fontColor="text-white"
|
|
234
218
|
additionalClasses="items-center px-2 h-full"
|
|
235
|
-
borderColor="none"
|
|
236
|
-
hoverFontColor="black"
|
|
237
|
-
shape="
|
|
219
|
+
borderColor="border-none"
|
|
220
|
+
hoverFontColor="hover:text-black"
|
|
221
|
+
shape="rounded"
|
|
238
222
|
onClick={() => alert("Button clicked!")}
|
|
239
223
|
/>
|
|
240
224
|
),
|
|
241
|
-
|
|
242
|
-
// INPUT STYLES
|
|
243
|
-
inputTextSize: "md",
|
|
225
|
+
inputTextSize: "text-md",
|
|
244
226
|
inputWidth: "w-96",
|
|
245
227
|
inputShape: "rounded",
|
|
246
|
-
backgroundColor: "white",
|
|
247
|
-
borderColor: "green",
|
|
228
|
+
backgroundColor: "bg-white",
|
|
229
|
+
borderColor: "border-green-500",
|
|
248
230
|
};
|
|
249
231
|
|
|
250
232
|
export const LeftIcon = Template.bind({});
|
|
251
233
|
LeftIcon.args = {
|
|
252
|
-
// INPUT DETAILS
|
|
253
234
|
inputType: "text",
|
|
254
235
|
inputName: "search",
|
|
255
|
-
|
|
256
|
-
// FUNCTIONALITY
|
|
257
236
|
hasValidation: false,
|
|
258
|
-
|
|
259
|
-
// INPUT STYLES
|
|
260
237
|
inputWidth: "w-96",
|
|
261
|
-
inputShape: "
|
|
262
|
-
backgroundColor: "white",
|
|
263
|
-
borderColor: "green",
|
|
264
|
-
|
|
265
|
-
// PLACEHOLDER
|
|
238
|
+
inputShape: "rounded",
|
|
239
|
+
backgroundColor: "bg-white",
|
|
240
|
+
borderColor: "border-green-500",
|
|
266
241
|
hasPlaceholder: true,
|
|
267
242
|
placeholder: "Search",
|
|
268
|
-
|
|
269
|
-
// LABEL DETAILS
|
|
270
243
|
labelVisible: false,
|
|
271
244
|
label: (
|
|
272
245
|
<Text
|
|
273
|
-
size="md"
|
|
274
|
-
color="
|
|
275
|
-
fontFamily="serif"
|
|
246
|
+
size="text-md"
|
|
247
|
+
color="text-black"
|
|
248
|
+
fontFamily="font-serif"
|
|
276
249
|
text="Search:"
|
|
277
250
|
tag="h2"
|
|
278
251
|
additionalClasses="mb-0 pb-0 pr-2"
|
|
279
252
|
/>
|
|
280
253
|
),
|
|
281
|
-
|
|
282
|
-
// ICONS
|
|
283
254
|
hasLeftIcon: true,
|
|
284
255
|
leftIcon: <FontAwesomeIcon icon={faMagnifyingGlass} />,
|
|
285
256
|
iconBackgroundColor: "none",
|
|
286
257
|
hasRightIcon: false,
|
|
287
|
-
iconColor: "green",
|
|
288
|
-
|
|
289
|
-
// BUTTON
|
|
258
|
+
iconColor: "text-green-500",
|
|
290
259
|
hasButton: false,
|
|
291
260
|
};
|
|
292
261
|
|
|
293
262
|
export const RightIcon = Template.bind({});
|
|
294
263
|
RightIcon.args = {
|
|
295
|
-
// INPUT DETAILS
|
|
296
264
|
inputType: "text",
|
|
297
265
|
inputName: "search",
|
|
298
|
-
|
|
299
|
-
// FUNCTIONALITY
|
|
300
266
|
hasValidation: false,
|
|
301
|
-
|
|
302
|
-
// INPUT STYLES
|
|
303
267
|
inputWidth: "w-96",
|
|
304
268
|
inputShape: "rounded",
|
|
305
|
-
backgroundColor: "
|
|
306
|
-
borderColor: "green",
|
|
307
|
-
|
|
308
|
-
// PLACEHOLDER
|
|
269
|
+
backgroundColor: "bg-gray-500",
|
|
270
|
+
borderColor: "border-green-500",
|
|
309
271
|
hasPlaceholder: true,
|
|
310
272
|
placeholder: "Search",
|
|
311
|
-
|
|
312
|
-
// LABEL DETAILS
|
|
313
273
|
labelVisible: false,
|
|
314
274
|
label: (
|
|
315
275
|
<Text
|
|
316
|
-
size="md"
|
|
317
|
-
color="
|
|
318
|
-
fontFamily="serif"
|
|
276
|
+
size="text-md"
|
|
277
|
+
color="text-black"
|
|
278
|
+
fontFamily="font-serif"
|
|
319
279
|
text="Search:"
|
|
320
280
|
tag="h2"
|
|
321
281
|
additionalClasses="mb-0 pb-0 pr-2"
|
|
322
282
|
/>
|
|
323
283
|
),
|
|
324
|
-
|
|
325
|
-
// ICONS
|
|
326
284
|
hasLeftIcon: false,
|
|
327
285
|
hasRightIcon: true,
|
|
328
286
|
rightIcon: <FontAwesomeIcon icon={faCircleArrowRight} />,
|
|
329
287
|
iconBackgroundColor: "none",
|
|
330
|
-
|
|
331
|
-
// BUTTON
|
|
332
288
|
hasButton: false,
|
|
333
289
|
};
|
|
334
290
|
|
|
335
291
|
export const DualIcons = Template.bind({});
|
|
336
292
|
DualIcons.args = {
|
|
337
|
-
// INPUT DETAILS
|
|
338
293
|
inputType: "text",
|
|
339
294
|
inputName: "search",
|
|
340
|
-
|
|
341
|
-
// FUNCTIONALITY
|
|
342
295
|
hasValidation: false,
|
|
343
|
-
|
|
344
|
-
// INPUT STYLES
|
|
345
296
|
inputWidth: "w-[40rem]",
|
|
346
297
|
inputShape: "rounded",
|
|
347
|
-
backgroundColor: "white",
|
|
348
|
-
borderColor: "green",
|
|
349
|
-
|
|
350
|
-
// PLACEHOLDER
|
|
298
|
+
backgroundColor: "bg-white",
|
|
299
|
+
borderColor: "border-green-500",
|
|
351
300
|
placeholder: "Search",
|
|
352
|
-
|
|
353
|
-
// BUTTON
|
|
354
301
|
hasButton: false,
|
|
355
|
-
|
|
356
|
-
// LABEL DETAILS
|
|
357
302
|
labelVisible: false,
|
|
358
303
|
label: (
|
|
359
304
|
<Text
|
|
360
|
-
size="md"
|
|
361
|
-
color="
|
|
362
|
-
fontFamily="serif"
|
|
305
|
+
size="text-md"
|
|
306
|
+
color="text-black"
|
|
307
|
+
fontFamily="font-serif"
|
|
363
308
|
text="Search:"
|
|
364
309
|
tag="h2"
|
|
365
310
|
additionalClasses="mb-0 pb-0 pr-2"
|
|
366
311
|
/>
|
|
367
312
|
),
|
|
368
|
-
|
|
369
|
-
// ICONS
|
|
370
313
|
hasRightIcon: true,
|
|
371
314
|
hasLeftIcon: true,
|
|
372
315
|
rightIcon: <FontAwesomeIcon icon={faCircleArrowRight} />,
|
|
@@ -376,58 +319,45 @@ DualIcons.args = {
|
|
|
376
319
|
|
|
377
320
|
export const ButtonWithValidation = Template.bind({});
|
|
378
321
|
ButtonWithValidation.args = {
|
|
379
|
-
// INPUT DETAILS
|
|
380
322
|
inputType: "search",
|
|
381
323
|
inputName: "search",
|
|
382
|
-
|
|
383
|
-
// FUNCTIONALITY
|
|
384
324
|
hasValidation: true,
|
|
385
325
|
regex: minCharactersRegex,
|
|
386
326
|
errorMessage: "Input must be at least three characters",
|
|
387
|
-
|
|
388
|
-
// INPUT STYLES
|
|
389
327
|
inputWidth: "w-[40rem]",
|
|
390
|
-
inputShape: "
|
|
391
|
-
backgroundColor: "white",
|
|
392
|
-
borderColor: "green",
|
|
393
|
-
errorBorder: "red",
|
|
394
|
-
successBorder: "green",
|
|
395
|
-
|
|
396
|
-
// PLACEHOLDER
|
|
328
|
+
inputShape: "rounded",
|
|
329
|
+
backgroundColor: "bg-white",
|
|
330
|
+
borderColor: "border-green-500",
|
|
331
|
+
errorBorder: "border-red-500",
|
|
332
|
+
successBorder: "border-green-500",
|
|
397
333
|
placeholder: "Enter input here...",
|
|
398
|
-
|
|
399
|
-
// LABEL DETAILS
|
|
400
334
|
labelVisible: false,
|
|
401
335
|
label: (
|
|
402
336
|
<Text
|
|
403
|
-
size="md"
|
|
404
|
-
color="
|
|
405
|
-
fontFamily="serif"
|
|
337
|
+
size="text-md"
|
|
338
|
+
color="text-black"
|
|
339
|
+
fontFamily="font-serif"
|
|
406
340
|
text="Search:"
|
|
407
341
|
tag="h2"
|
|
408
342
|
additionalClasses="mb-0 pb-0 pr-2"
|
|
409
343
|
/>
|
|
410
344
|
),
|
|
411
|
-
|
|
412
|
-
// ICONS
|
|
413
345
|
hasRightIcon: false,
|
|
414
346
|
hasLeftIcon: false,
|
|
415
|
-
|
|
416
|
-
// BUTTON
|
|
417
347
|
hasButton: true,
|
|
418
348
|
button: (
|
|
419
349
|
<FormButton
|
|
420
350
|
text=""
|
|
421
351
|
size="lg"
|
|
422
352
|
as="button"
|
|
423
|
-
hoverBackground="green"
|
|
424
|
-
|
|
353
|
+
hoverBackground="hover:bg-green-500"
|
|
354
|
+
backgroundColor="bg-green-500"
|
|
425
355
|
icon={<FontAwesomeIcon icon={faCircleArrowRight} />}
|
|
426
|
-
fontColor="white"
|
|
356
|
+
fontColor="text-white"
|
|
427
357
|
additionalClasses="items-center px-2 h-full"
|
|
428
|
-
borderColor="none"
|
|
429
|
-
hoverFontColor="black"
|
|
430
|
-
shape="
|
|
358
|
+
borderColor="border-none"
|
|
359
|
+
hoverFontColor="hover:text-black"
|
|
360
|
+
shape="rounded"
|
|
431
361
|
onClick={() => alert("Button clicked!")}
|
|
432
362
|
/>
|
|
433
363
|
),
|
|
@@ -435,56 +365,43 @@ ButtonWithValidation.args = {
|
|
|
435
365
|
|
|
436
366
|
export const ButtonWithLeftIcon = Template.bind({});
|
|
437
367
|
ButtonWithLeftIcon.args = {
|
|
438
|
-
// INPUT DETAILS
|
|
439
368
|
inputType: "text",
|
|
440
369
|
inputName: "search",
|
|
441
|
-
|
|
442
|
-
// FUNCTIONALITY
|
|
443
370
|
hasValidation: false,
|
|
444
|
-
|
|
445
|
-
// INPUT STYLES
|
|
446
371
|
inputWidth: "w-[40rem]",
|
|
447
|
-
inputShape: "
|
|
448
|
-
backgroundColor: "white",
|
|
449
|
-
borderColor: "green",
|
|
450
|
-
|
|
451
|
-
// PLACEHOLDER
|
|
372
|
+
inputShape: "rounded",
|
|
373
|
+
backgroundColor: "bg-white",
|
|
374
|
+
borderColor: "border-green-500",
|
|
452
375
|
placeholder: "Search",
|
|
453
|
-
|
|
454
|
-
// LABEL DETAILS
|
|
455
376
|
labelVisible: false,
|
|
456
377
|
label: (
|
|
457
378
|
<Text
|
|
458
|
-
size="md"
|
|
459
|
-
color="
|
|
460
|
-
fontFamily="serif"
|
|
379
|
+
size="text-md"
|
|
380
|
+
color="text-black"
|
|
381
|
+
fontFamily="font-serif"
|
|
461
382
|
text="Search:"
|
|
462
383
|
tag="h2"
|
|
463
384
|
additionalClasses="mb-0 pb-2 pl-2"
|
|
464
385
|
/>
|
|
465
386
|
),
|
|
466
|
-
|
|
467
|
-
// ICONS
|
|
468
387
|
hasRightIcon: false,
|
|
469
388
|
hasLeftIcon: true,
|
|
470
389
|
leftIcon: <FontAwesomeIcon icon={faMagnifyingGlass} />,
|
|
471
390
|
iconBackgroundColor: "none",
|
|
472
|
-
|
|
473
|
-
// BUTTON
|
|
474
391
|
hasButton: true,
|
|
475
392
|
button: (
|
|
476
393
|
<FormButton
|
|
477
394
|
text=""
|
|
478
395
|
size="lg"
|
|
479
396
|
as="button"
|
|
480
|
-
hoverBackground="green"
|
|
481
|
-
|
|
397
|
+
hoverBackground="hover:bg-green-500"
|
|
398
|
+
backgroundColor="bg-green-500"
|
|
482
399
|
icon={<FontAwesomeIcon icon={faCircleArrowRight} />}
|
|
483
|
-
fontColor="white"
|
|
400
|
+
fontColor="text-white"
|
|
484
401
|
additionalClasses="items-center px-2 h-full"
|
|
485
|
-
borderColor="none"
|
|
486
|
-
hoverFontColor="black"
|
|
487
|
-
shape="
|
|
402
|
+
borderColor="border-none"
|
|
403
|
+
hoverFontColor="hover:text-black"
|
|
404
|
+
shape="rounded"
|
|
488
405
|
onClick={() => alert("Button clicked!")}
|
|
489
406
|
/>
|
|
490
407
|
),
|
|
@@ -492,160 +409,106 @@ ButtonWithLeftIcon.args = {
|
|
|
492
409
|
|
|
493
410
|
export const DateInput = Template.bind({});
|
|
494
411
|
DateInput.args = {
|
|
495
|
-
// INPUT DETAILS
|
|
496
412
|
inputType: "date",
|
|
497
413
|
inputName: "birthday",
|
|
498
|
-
|
|
499
|
-
// FUNCTIONALITY
|
|
500
414
|
hasValidation: true,
|
|
501
|
-
|
|
502
|
-
// INPUT STYLES
|
|
503
415
|
inputWidth: "w-48",
|
|
504
416
|
inputShape: "rounded",
|
|
505
|
-
backgroundColor: "white",
|
|
506
|
-
borderColor: "green",
|
|
507
|
-
|
|
508
|
-
// PLACEHOLDER
|
|
417
|
+
backgroundColor: "bg-white",
|
|
418
|
+
borderColor: "border-green-500",
|
|
509
419
|
hasPlaceholder: false,
|
|
510
|
-
|
|
511
|
-
// LABEL DETAILS
|
|
512
420
|
labelVisible: true,
|
|
513
421
|
label: (
|
|
514
422
|
<Text
|
|
515
|
-
size="md"
|
|
516
|
-
color="
|
|
517
|
-
fontFamily="serif"
|
|
423
|
+
size="text-md"
|
|
424
|
+
color="text-black"
|
|
425
|
+
fontFamily="font-serif"
|
|
518
426
|
text="Date of Birth:"
|
|
519
427
|
tag="h2"
|
|
520
428
|
additionalClasses="mb-0 pb-1 pl-2"
|
|
521
429
|
/>
|
|
522
430
|
),
|
|
523
|
-
|
|
524
|
-
// ICONS
|
|
525
431
|
hasRightIcon: false,
|
|
526
432
|
hasLeftIcon: false,
|
|
527
|
-
rightIcon: false,
|
|
528
|
-
leftIcon: false,
|
|
529
|
-
|
|
530
|
-
// BUTTON
|
|
531
433
|
hasButton: false,
|
|
532
434
|
};
|
|
533
435
|
|
|
534
436
|
export const EmailInput = Template.bind({});
|
|
535
437
|
EmailInput.args = {
|
|
536
|
-
// INPUT DETAILS
|
|
537
438
|
inputType: "email",
|
|
538
439
|
inputName: "email",
|
|
539
|
-
|
|
540
|
-
// FUNCTIONALITY
|
|
541
440
|
hasValidation: false,
|
|
542
|
-
|
|
543
|
-
// INPUT STYLES
|
|
544
441
|
inputWidth: "w-72",
|
|
545
442
|
inputShape: "rounded",
|
|
546
|
-
backgroundColor: "white",
|
|
547
|
-
borderColor: "green",
|
|
548
|
-
|
|
549
|
-
// PLACEHOLDER
|
|
443
|
+
backgroundColor: "bg-white",
|
|
444
|
+
borderColor: "border-green-500",
|
|
550
445
|
hasPlaceholder: false,
|
|
551
|
-
|
|
552
|
-
// LABEL DETAILS
|
|
553
446
|
labelVisible: true,
|
|
554
447
|
label: (
|
|
555
448
|
<Text
|
|
556
|
-
size="md"
|
|
557
|
-
color="
|
|
558
|
-
fontFamily="serif"
|
|
449
|
+
size="text-md"
|
|
450
|
+
color="text-black"
|
|
451
|
+
fontFamily="font-serif"
|
|
559
452
|
text="Email:"
|
|
560
453
|
tag="h2"
|
|
561
454
|
additionalClasses="mb-0 pb-1 pl-2"
|
|
562
455
|
/>
|
|
563
456
|
),
|
|
564
|
-
|
|
565
|
-
// ICONS
|
|
566
457
|
hasRightIcon: false,
|
|
567
458
|
hasLeftIcon: true,
|
|
568
459
|
leftIcon: <FontAwesomeIcon icon={faEnvelope} />,
|
|
569
|
-
|
|
570
|
-
// BUTTON
|
|
571
460
|
hasButton: false,
|
|
572
461
|
};
|
|
573
462
|
|
|
574
463
|
export const NumberInput = Template.bind({});
|
|
575
464
|
NumberInput.args = {
|
|
576
|
-
// INPUT DETAILS
|
|
577
465
|
inputType: "number",
|
|
578
466
|
inputName: "number",
|
|
579
|
-
|
|
580
|
-
// FUNCTIONALITY
|
|
581
467
|
hasValidation: false,
|
|
582
|
-
|
|
583
|
-
// INPUT STYLES
|
|
584
468
|
inputWidth: "w-36",
|
|
585
|
-
inputShape: "
|
|
586
|
-
backgroundColor: "white",
|
|
587
|
-
borderColor: "green",
|
|
588
|
-
|
|
589
|
-
// PLACEHOLDER
|
|
469
|
+
inputShape: "rounded",
|
|
470
|
+
backgroundColor: "bg-white",
|
|
471
|
+
borderColor: "border-green-500",
|
|
590
472
|
hasPlaceholder: false,
|
|
591
|
-
|
|
592
|
-
// LABEL DETAILS
|
|
593
473
|
labelVisible: true,
|
|
594
474
|
labelPlacement: "left",
|
|
595
475
|
label: (
|
|
596
476
|
<Text
|
|
597
|
-
size="md"
|
|
598
|
-
color="
|
|
599
|
-
fontFamily="serif"
|
|
477
|
+
size="text-md"
|
|
478
|
+
color="text-black"
|
|
479
|
+
fontFamily="font-serif"
|
|
600
480
|
text="Enter Your Age:"
|
|
601
481
|
tag="h2"
|
|
602
482
|
additionalClasses="mb-0 pb-0 pr-3"
|
|
603
483
|
/>
|
|
604
484
|
),
|
|
605
|
-
|
|
606
|
-
// ICONS
|
|
607
485
|
hasRightIcon: false,
|
|
608
486
|
hasLeftIcon: false,
|
|
609
|
-
|
|
610
|
-
// BUTTON
|
|
611
487
|
hasButton: false,
|
|
612
488
|
};
|
|
613
489
|
|
|
614
490
|
export const RangeInput = Template.bind({});
|
|
615
491
|
RangeInput.args = {
|
|
616
|
-
// INPUT DETAILS
|
|
617
492
|
inputType: "range",
|
|
618
493
|
inputName: "number",
|
|
619
|
-
|
|
620
|
-
// FUNCTIONALITY
|
|
621
494
|
hasValidation: false,
|
|
622
|
-
|
|
623
|
-
// INPUT STYLES
|
|
624
495
|
inputWidth: "w-36",
|
|
625
|
-
backgroundColor: "white",
|
|
626
|
-
borderColor: "none",
|
|
627
|
-
|
|
628
|
-
// PLACEHOLDER
|
|
496
|
+
backgroundColor: "bg-white",
|
|
497
|
+
borderColor: "border-none",
|
|
629
498
|
hasPlaceholder: false,
|
|
630
|
-
|
|
631
|
-
// LABEL DETAILS
|
|
632
499
|
labelVisible: true,
|
|
633
500
|
labelPlacement: "left",
|
|
634
501
|
label: (
|
|
635
502
|
<Text
|
|
636
|
-
size="md"
|
|
637
|
-
color="
|
|
638
|
-
fontFamily="serif"
|
|
503
|
+
size="text-md"
|
|
504
|
+
color="text-black"
|
|
505
|
+
fontFamily="font-serif"
|
|
639
506
|
text="Select:"
|
|
640
507
|
tag="h2"
|
|
641
508
|
additionalClasses="mb-0 pb-0 pr-4"
|
|
642
509
|
/>
|
|
643
510
|
),
|
|
644
|
-
|
|
645
|
-
// ICONS
|
|
646
511
|
hasRightIcon: false,
|
|
647
512
|
hasLeftIcon: false,
|
|
648
|
-
|
|
649
|
-
// BUTTON
|
|
650
513
|
hasButton: false,
|
|
651
514
|
};
|