oddsgate-ds 1.0.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 (206) hide show
  1. package/. babelrc +3 -0
  2. package/.cache/storybook/default/dev-server/a5a8bf6e622aef57065c6498611f40c911543d7d-3920d97c51b8ad2521918fb1205babd22b0ed3d7 +1 -0
  3. package/.cache/storybook/default/dev-server/a5a8bf6e622aef57065c6498611f40c911543d7d-43fdebe5fc35e4e9fabee9a83c7faea931b05ea0 +1 -0
  4. package/.cache/storybook/default/dev-server/a5a8bf6e622aef57065c6498611f40c911543d7d-f086b87885981c04ce7a583ff90a49313de83de7 +1 -0
  5. package/.eslintrc.cjs +14 -0
  6. package/.storybook/main.ts +28 -0
  7. package/.storybook/preview.ts +22 -0
  8. package/README.md +30 -0
  9. package/package.json +63 -0
  10. package/public/assets/components/quotes.svg +3 -0
  11. package/public/assets/empty-state.svg +19 -0
  12. package/public/assets/placeholder.png +0 -0
  13. package/public/assets/video.mp4 +0 -0
  14. package/public/fonts/miewfont/miewfont.eot +0 -0
  15. package/public/fonts/miewfont/miewfont.svg +35 -0
  16. package/public/fonts/miewfont/miewfont.ttf +0 -0
  17. package/public/fonts/miewfont/miewfont.woff +0 -0
  18. package/src/components/atoms/Button/Button.component.tsx +48 -0
  19. package/src/components/atoms/Button/Button.interface.ts +29 -0
  20. package/src/components/atoms/Button/Button.stories.tsx +58 -0
  21. package/src/components/atoms/Button/Button.theme.ts +126 -0
  22. package/src/components/atoms/Button/index.ts +1 -0
  23. package/src/components/atoms/Chip/Chip.component.tsx +26 -0
  24. package/src/components/atoms/Chip/Chip.interface.ts +10 -0
  25. package/src/components/atoms/Chip/Chip.stories.tsx +34 -0
  26. package/src/components/atoms/Chip/Chip.theme.ts +47 -0
  27. package/src/components/atoms/Chip/index.ts +1 -0
  28. package/src/components/atoms/CloseButton/CloseButton.component.tsx +17 -0
  29. package/src/components/atoms/CloseButton/CloseButton.interface.ts +9 -0
  30. package/src/components/atoms/CloseButton/CloseButton.stories.tsx +24 -0
  31. package/src/components/atoms/CloseButton/CloseButton.theme.ts +66 -0
  32. package/src/components/atoms/CloseButton/index.ts +1 -0
  33. package/src/components/atoms/EmptyState/EmptyState.component.tsx +27 -0
  34. package/src/components/atoms/EmptyState/EmptyState.interface.ts +10 -0
  35. package/src/components/atoms/EmptyState/EmptyState.stories.tsx +34 -0
  36. package/src/components/atoms/EmptyState/EmptyState.theme.ts +27 -0
  37. package/src/components/atoms/EmptyState/index.ts +1 -0
  38. package/src/components/atoms/Flex/Flex.component.tsx +30 -0
  39. package/src/components/atoms/Flex/Flex.interface.ts +22 -0
  40. package/src/components/atoms/Flex/Flex.theme.ts +11 -0
  41. package/src/components/atoms/Flex/index.ts +1 -0
  42. package/src/components/atoms/FlexGrid/FlexGrid.component.tsx +61 -0
  43. package/src/components/atoms/FlexGrid/FlexGrid.interface.ts +55 -0
  44. package/src/components/atoms/FlexGrid/FlexGrid.stories.tsx +55 -0
  45. package/src/components/atoms/FlexGrid/FlexGrid.theme.ts +79 -0
  46. package/src/components/atoms/FlexGrid/index.ts +1 -0
  47. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.component.tsx +22 -0
  48. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.interface.tsx +6 -0
  49. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.theme.ts +126 -0
  50. package/src/components/atoms/FormField/CheckRadioField/index.ts +1 -0
  51. package/src/components/atoms/FormField/FormField.component.tsx +37 -0
  52. package/src/components/atoms/FormField/FormField.interface.ts +9 -0
  53. package/src/components/atoms/FormField/FormField.stories.tsx +499 -0
  54. package/src/components/atoms/FormField/FormField.theme.tsx +122 -0
  55. package/src/components/atoms/FormField/index.ts +1 -0
  56. package/src/components/atoms/Heading/Heading.component.tsx +17 -0
  57. package/src/components/atoms/Heading/Heading.interface.tsx +21 -0
  58. package/src/components/atoms/Heading/Heading.theme.ts +17 -0
  59. package/src/components/atoms/Heading/index.ts +1 -0
  60. package/src/components/atoms/Icon/Icon.component.tsx +19 -0
  61. package/src/components/atoms/Icon/Icon.interface.ts +8 -0
  62. package/src/components/atoms/Icon/Icon.stories.tsx +26 -0
  63. package/src/components/atoms/Icon/Icon.theme.ts +102 -0
  64. package/src/components/atoms/Icon/index.ts +1 -0
  65. package/src/components/atoms/ImageWrapper/ImageWrapper.component.tsx +42 -0
  66. package/src/components/atoms/ImageWrapper/ImageWrapper.interface.ts +16 -0
  67. package/src/components/atoms/ImageWrapper/ImageWrapper.stories.tsx +27 -0
  68. package/src/components/atoms/ImageWrapper/ImageWrapper.theme.ts +51 -0
  69. package/src/components/atoms/ImageWrapper/index.ts +1 -0
  70. package/src/components/atoms/Loader/Loader.component.tsx +26 -0
  71. package/src/components/atoms/Loader/Loader.interface.ts +10 -0
  72. package/src/components/atoms/Loader/Loader.stories.tsx +33 -0
  73. package/src/components/atoms/Loader/Loader.theme.ts +92 -0
  74. package/src/components/atoms/Loader/index.ts +1 -0
  75. package/src/components/atoms/Marquee/Marquee.component.tsx +130 -0
  76. package/src/components/atoms/Marquee/Marquee.interface.ts +8 -0
  77. package/src/components/atoms/Marquee/Marquee.stories.tsx +20 -0
  78. package/src/components/atoms/Marquee/Marquee.theme.ts +42 -0
  79. package/src/components/atoms/Marquee/index.ts +1 -0
  80. package/src/components/atoms/Quote/Quote.component.tsx +29 -0
  81. package/src/components/atoms/Quote/Quote.interface.ts +10 -0
  82. package/src/components/atoms/Quote/Quote.stories.tsx +25 -0
  83. package/src/components/atoms/Quote/Quote.theme.ts +26 -0
  84. package/src/components/atoms/Quote/index.ts +1 -0
  85. package/src/components/atoms/RichText/RichText.component.tsx +31 -0
  86. package/src/components/atoms/RichText/RichText.interface.ts +11 -0
  87. package/src/components/atoms/RichText/RichText.stories.tsx +73 -0
  88. package/src/components/atoms/RichText/RichText.theme.ts +32 -0
  89. package/src/components/atoms/RichText/index.ts +1 -0
  90. package/src/components/atoms/ScrollingNav/ScrollingNav.component.tsx +18 -0
  91. package/src/components/atoms/ScrollingNav/ScrollingNav.interface.ts +8 -0
  92. package/src/components/atoms/ScrollingNav/ScrollingNav.stories.tsx +44 -0
  93. package/src/components/atoms/ScrollingNav/ScrollingNav.theme.ts +55 -0
  94. package/src/components/atoms/ScrollingNav/index.ts +1 -0
  95. package/src/components/atoms/Separator/Separator.component.tsx +19 -0
  96. package/src/components/atoms/Separator/Separator.interface.tsx +9 -0
  97. package/src/components/atoms/Separator/Separator.stories.tsx +28 -0
  98. package/src/components/atoms/Separator/Separator.theme.ts +12 -0
  99. package/src/components/atoms/Separator/index.ts +1 -0
  100. package/src/components/atoms/SocialLinks/SocialLinks.component.tsx +35 -0
  101. package/src/components/atoms/SocialLinks/SocialLinks.interface.ts +8 -0
  102. package/src/components/atoms/SocialLinks/SocialLinks.stories.tsx +36 -0
  103. package/src/components/atoms/SocialLinks/SocialLinks.theme.ts +52 -0
  104. package/src/components/atoms/SocialLinks/index.ts +1 -0
  105. package/src/components/atoms/Spacer/Spacer.component.tsx +27 -0
  106. package/src/components/atoms/Spacer/Spacer.interface.ts +11 -0
  107. package/src/components/atoms/Spacer/Spacer.stories.tsx +28 -0
  108. package/src/components/atoms/Spacer/Spacer.theme.ts +8 -0
  109. package/src/components/atoms/Spacer/index.ts +1 -0
  110. package/src/components/atoms/Video/Video.component.tsx +116 -0
  111. package/src/components/atoms/Video/Video.interface.ts +13 -0
  112. package/src/components/atoms/Video/Video.stories.tsx +37 -0
  113. package/src/components/atoms/Video/Video.theme.ts +44 -0
  114. package/src/components/atoms/Video/index.ts +1 -0
  115. package/src/components/atoms/VideoEmbed/VideoEmbed.component.tsx +109 -0
  116. package/src/components/atoms/VideoEmbed/VideoEmbed.interface.ts +13 -0
  117. package/src/components/atoms/VideoEmbed/VideoEmbed.stories.tsx +23 -0
  118. package/src/components/atoms/VideoEmbed/VideoEmbed.theme.ts +45 -0
  119. package/src/components/atoms/VideoEmbed/index.ts +1 -0
  120. package/src/components/common/PortalComponent/PortalComponent.tsx +48 -0
  121. package/src/components/common/PortalComponent/index.ts +1 -0
  122. package/src/components/molecules/Accordion/Accordion.component.tsx +58 -0
  123. package/src/components/molecules/Accordion/Accordion.interface.ts +15 -0
  124. package/src/components/molecules/Accordion/Accordion.stories.tsx +100 -0
  125. package/src/components/molecules/Accordion/Accordion.theme.ts +66 -0
  126. package/src/components/molecules/Accordion/index.ts +1 -0
  127. package/src/components/molecules/BlogCard/BlogCard.component.tsx +48 -0
  128. package/src/components/molecules/BlogCard/BlogCard.interface.ts +10 -0
  129. package/src/components/molecules/BlogCard/BlogCard.stories.tsx +37 -0
  130. package/src/components/molecules/BlogCard/BlogCard.theme.ts +63 -0
  131. package/src/components/molecules/BlogCard/index.ts +1 -0
  132. package/src/components/molecules/Card/Card.component.tsx +15 -0
  133. package/src/components/molecules/Card/Card.interface.ts +10 -0
  134. package/src/components/molecules/Card/Card.theme.ts +53 -0
  135. package/src/components/molecules/Card/index.ts +1 -0
  136. package/src/components/molecules/Dropdown/Dropdown.component.tsx +67 -0
  137. package/src/components/molecules/Dropdown/Dropdown.interface.ts +26 -0
  138. package/src/components/molecules/Dropdown/Dropdown.stories.tsx +54 -0
  139. package/src/components/molecules/Dropdown/Dropdown.theme.ts +50 -0
  140. package/src/components/molecules/Dropdown/index.ts +1 -0
  141. package/src/components/molecules/IconBox/IconBox.component.tsx +29 -0
  142. package/src/components/molecules/IconBox/IconBox.interface.tsx +10 -0
  143. package/src/components/molecules/IconBox/IconBox.stories.tsx +23 -0
  144. package/src/components/molecules/IconBox/IconBox.theme.ts +25 -0
  145. package/src/components/molecules/IconBox/index.ts +1 -0
  146. package/src/components/molecules/IconTitle/IconTitle.component.tsx +24 -0
  147. package/src/components/molecules/IconTitle/IconTitle.interface.tsx +10 -0
  148. package/src/components/molecules/IconTitle/IconTitle.stories.tsx +49 -0
  149. package/src/components/molecules/IconTitle/IconTitle.theme.ts +10 -0
  150. package/src/components/molecules/IconTitle/index.ts +1 -0
  151. package/src/components/molecules/Modal/Modal.component.tsx +70 -0
  152. package/src/components/molecules/Modal/Modal.interface.ts +11 -0
  153. package/src/components/molecules/Modal/Modal.stories.tsx +57 -0
  154. package/src/components/molecules/Modal/Modal.theme.ts +55 -0
  155. package/src/components/molecules/Modal/index.ts +1 -0
  156. package/src/components/molecules/OffCanvas/OffCanvas.component.tsx +55 -0
  157. package/src/components/molecules/OffCanvas/OffCanvas.interface.ts +12 -0
  158. package/src/components/molecules/OffCanvas/OffCanvas.stories.tsx +55 -0
  159. package/src/components/molecules/OffCanvas/OffCanvas.theme.ts +50 -0
  160. package/src/components/molecules/OffCanvas/index.ts +1 -0
  161. package/src/components/molecules/ProjectCard/ProjectCard.component.tsx +45 -0
  162. package/src/components/molecules/ProjectCard/ProjectCard.interface.ts +8 -0
  163. package/src/components/molecules/ProjectCard/ProjectCard.stories.tsx +72 -0
  164. package/src/components/molecules/ProjectCard/ProjectCard.theme.ts +61 -0
  165. package/src/components/molecules/ProjectCard/index.ts +1 -0
  166. package/src/components/molecules/ShareModal/ShareModal.component.tsx +166 -0
  167. package/src/components/molecules/ShareModal/ShareModal.interface.ts +9 -0
  168. package/src/components/molecules/ShareModal/ShareModal.stories.tsx +33 -0
  169. package/src/components/molecules/ShareModal/ShareModal.theme.ts +101 -0
  170. package/src/components/molecules/ShareModal/index.ts +1 -0
  171. package/src/components/molecules/TeamCard/TeamCard.component.tsx +31 -0
  172. package/src/components/molecules/TeamCard/TeamCard.interface.ts +7 -0
  173. package/src/components/molecules/TeamCard/TeamCard.stories.tsx +33 -0
  174. package/src/components/molecules/TeamCard/TeamCard.theme.ts +12 -0
  175. package/src/components/molecules/TeamCard/index.ts +1 -0
  176. package/src/components/organisms/Cover/Cover.component.tsx +46 -0
  177. package/src/components/organisms/Cover/Cover.interface.ts +14 -0
  178. package/src/components/organisms/Cover/Cover.stories.tsx +97 -0
  179. package/src/components/organisms/Cover/Cover.theme.ts +49 -0
  180. package/src/components/organisms/Cover/index.ts +1 -0
  181. package/src/components/organisms/Slider/Slider.component.tsx +145 -0
  182. package/src/components/organisms/Slider/Slider.interface.ts +17 -0
  183. package/src/components/organisms/Slider/Slider.stories.tsx +73 -0
  184. package/src/components/organisms/Slider/Slider.theme.ts +125 -0
  185. package/src/components/organisms/Slider/Slider.utils.tsx +19 -0
  186. package/src/components/organisms/Slider/index.ts +1 -0
  187. package/src/helpers/clickOutsideToClose.tsx +17 -0
  188. package/src/helpers/getIcons.ts +5 -0
  189. package/src/helpers/useMediaQuery.tsx +24 -0
  190. package/src/helpers/uuid.ts +5 -0
  191. package/src/iconsList.json +1 -0
  192. package/src/index.ts +53 -0
  193. package/src/reportWebVitals.js +13 -0
  194. package/src/stories/Documentation/Colors.stories.tsx +33 -0
  195. package/src/stories/Documentation/Headings.stories.tsx +24 -0
  196. package/src/stories/Documentation/Icons.stories.tsx +73 -0
  197. package/src/stories/Documentation/JWT.stories.tsx +60 -0
  198. package/src/stories/Documentation/Utilities.stories.tsx +65 -0
  199. package/src/styles/Global.ts +296 -0
  200. package/src/styles/grid.ts +70 -0
  201. package/src/styles/reset.ts +47 -0
  202. package/src/styles/utilities.ts +326 -0
  203. package/src/styles/variables.ts +168 -0
  204. package/tsconfig.json +29 -0
  205. package/tsconfig.node.json +11 -0
  206. package/vite.config.ts +87 -0
@@ -0,0 +1,126 @@
1
+ import styled, { css } from 'styled-components';
2
+
3
+ import { ICheckRadioField } from './CheckRadioField.interface';
4
+ import { colors } from '@/styles/variables';
5
+ import { pxToRem } from './../../../../styles/variables';
6
+
7
+ export const StyledCheckRadioField = styled.div<ICheckRadioField>`
8
+ position: relative;
9
+
10
+ input[type="checkbox"],
11
+ input[type="radio"] {
12
+ display: block;
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ width: 100%;
17
+ height: 100%;
18
+ margin: 0;
19
+ opacity: 0;
20
+
21
+ cursor: pointer;
22
+ z-index: 5;
23
+
24
+ &+label {
25
+ display: inline-block;
26
+ vertical-align: middle;
27
+
28
+ position: relative;
29
+ text-align: left;
30
+ margin-bottom: 0;
31
+ padding: 5px 0;
32
+ padding-left: ${pxToRem(34)};
33
+
34
+ &:before,
35
+ &:after {
36
+ content: "";
37
+ position: absolute;
38
+ top: 50%;
39
+
40
+ cursor: pointer;
41
+
42
+ transition: all 0.3s linear;
43
+ }
44
+
45
+ &:before {
46
+ left: 0px;
47
+ margin-top: ${pxToRem(-12)};
48
+ width: ${pxToRem(24)};
49
+ height: ${pxToRem(24)};
50
+
51
+ background: transparent;
52
+ border: 1px solid currentColor;
53
+ border-radius: 4px;
54
+ }
55
+
56
+ &:after {
57
+ opacity: 0;
58
+ visibility: hidden;
59
+ }
60
+ }
61
+ }
62
+
63
+ & input[type="checkbox"]+label {
64
+ &:after {
65
+ left: ${pxToRem(5)};
66
+ margin-top: ${pxToRem(-4)};
67
+ width: ${pxToRem(14)};
68
+ height: ${pxToRem(6)};
69
+
70
+ border: 2px solid ${colors.white};
71
+ border-top: none;
72
+ border-right: none;
73
+
74
+ transform: rotate(-45deg);
75
+ }
76
+ }
77
+
78
+ & input[type="radio"]+label {
79
+ &:before,
80
+ &:after {
81
+ border-radius: 50%;
82
+ }
83
+
84
+ &::after {
85
+ background: ${colors.white};
86
+
87
+ width: ${pxToRem(13)};
88
+ height: ${pxToRem(13)};
89
+
90
+ margin-top: ${pxToRem(-6)};
91
+ left: ${pxToRem(5.5)};
92
+ }
93
+ }
94
+
95
+ & input[type="checkbox"]:checked+label::before,
96
+ & input[type="radio"]:checked+label::before {
97
+ border-color: ${colors.primary70};
98
+ background: ${colors.primary70};
99
+ }
100
+
101
+ & input[type="checkbox"]:checked+label::after,
102
+ & input[type="radio"]:checked+label::after {
103
+ opacity: 1;
104
+ visibility: visible;
105
+ }
106
+
107
+ .style-dark & {
108
+ & input[type="checkbox"]+label {
109
+ &:after {
110
+ border-color: ${colors.primary70};
111
+ }
112
+ }
113
+
114
+ & input[type="radio"]+label {
115
+ &::after {
116
+ background: ${colors.primary70};
117
+ }
118
+ }
119
+ & input[type="checkbox"]:checked+label::before,
120
+ & input[type="radio"]:checked+label::before {
121
+ border-color: ${colors.white};
122
+ background: ${colors.white};
123
+ }
124
+ }
125
+
126
+ `;
@@ -0,0 +1 @@
1
+ export { default } from "./CheckRadioField.component";
@@ -0,0 +1,37 @@
1
+ import React, { Children, useMemo } from 'react'
2
+
3
+ import { IFormField } from './FormField.interface'
4
+ import { StyledFieldContainer } from './FormField.theme'
5
+ import { getId } from '@/helpers/uuid'
6
+
7
+ export const FormField = ({
8
+ id,
9
+ label,
10
+ leftIcon,
11
+ rightIcon,
12
+ isCheckRadio,
13
+ className,
14
+ children,
15
+ ...props
16
+ }: IFormField) => {
17
+ const itemID = id ? id : useMemo(() => getId(), [])
18
+ return (
19
+ <StyledFieldContainer isCheckRadio={isCheckRadio} className={className}>
20
+ {label && (
21
+ <label
22
+ htmlFor={itemID}
23
+ className="d-blocks captions text-uppercase mb-2"
24
+ >
25
+ {label}
26
+ </label>
27
+ )}
28
+ <div>
29
+ {leftIcon && leftIcon}
30
+ {children}
31
+ {rightIcon && rightIcon}
32
+ </div>
33
+ </StyledFieldContainer>
34
+ )
35
+ }
36
+
37
+ export default FormField
@@ -0,0 +1,9 @@
1
+ export interface IFormField {
2
+ id?: string
3
+ label?: string
4
+ leftIcon?: React.ReactNode | React.ReactNode[]
5
+ rightIcon?: React.ReactNode | React.ReactNode[]
6
+ isCheckRadio?: boolean
7
+ children?: React.ReactNode
8
+ className?: string
9
+ }
@@ -0,0 +1,499 @@
1
+ import {
2
+ ErrorMessage,
3
+ Field,
4
+ Form,
5
+ Formik,
6
+ FormikHelpers,
7
+ FormikValues
8
+ } from 'formik'
9
+ import type { Meta, StoryObj } from '@storybook/react'
10
+ import React, { MouseEventHandler } from 'react'
11
+
12
+ import CheckRadioField from './CheckRadioField'
13
+ import Flex from '../Flex'
14
+ import FormField from './FormField.component'
15
+ import { IFormField } from './FormField.interface'
16
+ import Icon from '../Icon'
17
+
18
+ // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
19
+ export default {
20
+ title: 'Components/FormField',
21
+ component: FormField,
22
+ tags: ['autodocs'],
23
+ args: {
24
+ name: 'nome',
25
+ type: 'text',
26
+ as: 'input'
27
+ },
28
+ argTypes: {
29
+ as: {
30
+ defaultValue: 'input',
31
+ description: 'Overwritten description',
32
+ options: ['input', 'textarea', 'select']
33
+ },
34
+ name: {
35
+ defaultValue: 'texto',
36
+ description: 'Required name property'
37
+ },
38
+ type: {
39
+ defaultValue: 'text',
40
+ control: 'select',
41
+ description: 'Type of input element if as is input',
42
+ options: [
43
+ 'button',
44
+ 'checkbox',
45
+ 'color',
46
+ 'date',
47
+ 'datetime-local',
48
+ 'email',
49
+ 'hidden',
50
+ 'image',
51
+ 'month',
52
+ 'number',
53
+ 'password',
54
+ 'radio',
55
+ 'range',
56
+ 'reset',
57
+ 'search',
58
+ 'submit',
59
+ 'tel',
60
+ 'text',
61
+ 'time',
62
+ 'url',
63
+ 'week'
64
+ ]
65
+ }
66
+ }
67
+ } as Meta
68
+
69
+ export const Simple: StoryObj<IFormField> = {
70
+ render: args => (
71
+ <Formik
72
+ initialValues={{}}
73
+ onSubmit={function (
74
+ values: FormikValues,
75
+ formikHelpers: FormikHelpers<FormikValues>
76
+ ): void | Promise<any> {
77
+ throw new Error('Function not implemented.')
78
+ }}
79
+ >
80
+ <Form>
81
+ <FormField label={'My custom input'} id={'input-1'}>
82
+ <Field
83
+ label={'My custom input'}
84
+ id={'input-1'}
85
+ name={'input-1'}
86
+ required={false}
87
+ className={''}
88
+ ></Field>
89
+ <ErrorMessage name={'input-1'} />
90
+ </FormField>
91
+ </Form>
92
+ </Formik>
93
+ ),
94
+ args: {}
95
+ }
96
+
97
+ export const WithIcon: StoryObj<IFormField> = {
98
+ render: args => (
99
+ <Formik
100
+ initialValues={{}}
101
+ onSubmit={function (
102
+ values: FormikValues,
103
+ formikHelpers: FormikHelpers<FormikValues>
104
+ ): void | Promise<any> {
105
+ throw new Error('Function not implemented.')
106
+ }}
107
+ >
108
+ <Form>
109
+ <FormField
110
+ id={'input-1'}
111
+ label={'My custom input'}
112
+ leftIcon={<Icon icon={'icon-search'} />}
113
+ >
114
+ <Field
115
+ label={'My custom input'}
116
+ id={'input-1'}
117
+ name={'input-1'}
118
+ required={false}
119
+ className={''}
120
+ ></Field>
121
+ <ErrorMessage name={'input-1'} />
122
+ </FormField>
123
+ </Form>
124
+ </Formik>
125
+ ),
126
+ args: {}
127
+ }
128
+
129
+ export const FilterWithInputs: StoryObj<IFormField> = {
130
+ render: args => (
131
+ <Formik
132
+ initialValues={{}}
133
+ onSubmit={function (
134
+ values: FormikValues,
135
+ formikHelpers: FormikHelpers<FormikValues>
136
+ ): void | Promise<any> {
137
+ throw new Error('Function not implemented.')
138
+ }}
139
+ >
140
+ <Form>
141
+ <Flex align="center" style={{ gap: '8px' }}>
142
+ <FormField
143
+ id={'input-1'}
144
+ label={'My custom input'}
145
+ leftIcon={<Icon icon={'icon-search'} />}
146
+ >
147
+ <Field
148
+ label={'My custom input'}
149
+ id={'input-1'}
150
+ name={'input-1'}
151
+ placeholder="Procurar"
152
+ onChange={(e: MouseEventHandler) => console.log(e)}
153
+ ></Field>
154
+ <ErrorMessage name={'input-1'} />
155
+ </FormField>
156
+
157
+ <FormField
158
+ id={'event_type'}
159
+ label={'My custom input'}
160
+ leftIcon={<Icon icon={'icon-search'} />}
161
+ >
162
+ <Field
163
+ as="select"
164
+ label={'My custom input'}
165
+ id={'event_type'}
166
+ name={'event_type'}
167
+ placeholder="Procurar"
168
+ onChange={(e: MouseEventHandler) => console.log(e)}
169
+ >
170
+ <option value="text">Evento tipo 1</option>
171
+ <option value="text2">Evento tipo 2</option>
172
+ <option value="text3">Evento tipo 2</option>
173
+ </Field>
174
+ <ErrorMessage name={'event_type'} />
175
+ </FormField>
176
+
177
+ <FormField
178
+ id={'date'}
179
+ label={'Date'}
180
+ leftIcon={<Icon icon={'icon-search'} />}
181
+ >
182
+ <Field
183
+ type="date"
184
+ label={'Date'}
185
+ id={'date'}
186
+ name={'date'}
187
+ placeholder="DD/MM/YYYY"
188
+ onChange={(e: MouseEventHandler) => console.log(e)}
189
+ ></Field>
190
+ <ErrorMessage name={'date'} />
191
+ </FormField>
192
+ </Flex>
193
+ </Form>
194
+ </Formik>
195
+ ),
196
+ args: {}
197
+ }
198
+
199
+ export const DarkStyle: StoryObj<IFormField> = {
200
+ render: args => (
201
+ <div className="style-dark color-white bg-primary70">
202
+ <Formik
203
+ initialValues={{}}
204
+ onSubmit={function (
205
+ values: FormikValues,
206
+ formikHelpers: FormikHelpers<FormikValues>
207
+ ): void | Promise<any> {
208
+ throw new Error('Function not implemented.')
209
+ }}
210
+ >
211
+ <Form>
212
+ <Flex align="center" style={{ gap: '8px' }}>
213
+ <FormField
214
+ id={'input-1'}
215
+ label={'My custom input'}
216
+ leftIcon={<Icon icon={'icon-search'} />}
217
+ >
218
+ <Field
219
+ label={'My custom input'}
220
+ id={'input-1'}
221
+ name={'input-1'}
222
+ placeholder="Procurar"
223
+ onChange={(e: MouseEventHandler) => console.log(e)}
224
+ ></Field>
225
+ <ErrorMessage name={'input-1'} />
226
+ </FormField>
227
+
228
+ <FormField
229
+ id={'event_type'}
230
+ label={'My custom input'}
231
+ leftIcon={<Icon icon={'icon-search'} />}
232
+ >
233
+ <Field
234
+ as="select"
235
+ label={'My custom input'}
236
+ id={'event_type'}
237
+ name={'event_type'}
238
+ placeholder="Procurar"
239
+ onChange={(e: MouseEventHandler) => console.log(e)}
240
+ >
241
+ <option value="text">Evento tipo 1</option>
242
+ <option value="text2">Evento tipo 2</option>
243
+ <option value="text3">Evento tipo 2</option>
244
+ </Field>
245
+ <ErrorMessage name={'event_type'} />
246
+ </FormField>
247
+
248
+ <FormField
249
+ id={'date'}
250
+ label={'Date'}
251
+ leftIcon={<Icon icon={'icon-search'} />}
252
+ >
253
+ <Field
254
+ type="date"
255
+ label={'Date'}
256
+ id={'date'}
257
+ name={'date'}
258
+ placeholder="DD/MM/YYYY"
259
+ onChange={(e: MouseEventHandler) => console.log(e)}
260
+ ></Field>
261
+ <ErrorMessage name={'date'} />
262
+ </FormField>
263
+
264
+ <FormField id={'upload'} label={'Upload'}>
265
+ <Field
266
+ type="file"
267
+ label={'Upload'}
268
+ id={'upload'}
269
+ name={'upload'}
270
+ onChange={(e: MouseEventHandler) => console.log(e)}
271
+ ></Field>
272
+ <ErrorMessage name={'upload'} />
273
+ </FormField>
274
+
275
+ <FormField
276
+ id={'checkboxes'}
277
+ label={'Checkboxes'}
278
+ isCheckRadio={true}
279
+ >
280
+ <CheckRadioField id={`checkbox-1`} label={'Option 1'}>
281
+ <Field
282
+ type={'checkbox'}
283
+ id={`checkbox-1`}
284
+ name={'checkboxes'}
285
+ value={'1'}
286
+ />
287
+ </CheckRadioField>
288
+ <CheckRadioField id={`checkbox-2`} label={'Option 2'}>
289
+ <Field
290
+ type={'checkbox'}
291
+ id={`checkbox-2`}
292
+ name={'checkboxes'}
293
+ value={'2'}
294
+ />
295
+ </CheckRadioField>
296
+ <CheckRadioField id={`checkbox-3`} label={'Option 3'}>
297
+ <Field
298
+ type={'checkbox'}
299
+ id={`checkbox-2`}
300
+ name={'checkboxes'}
301
+ value={'2'}
302
+ />
303
+ </CheckRadioField>
304
+ <ErrorMessage name={'checkboxes'} />
305
+ </FormField>
306
+
307
+ <FormField id={'radios'} label={'Radios'} isCheckRadio={true}>
308
+ <CheckRadioField id={`radio-1`} label={'Option 1'}>
309
+ <Field
310
+ type={'radio'}
311
+ id={`radio-1`}
312
+ name={'radios'}
313
+ value={'1'}
314
+ />
315
+ </CheckRadioField>
316
+ <CheckRadioField id={`radio-2`} label={'Option 2'}>
317
+ <Field
318
+ type={'radio'}
319
+ id={`radio-2`}
320
+ name={'radios'}
321
+ value={'2'}
322
+ />
323
+ </CheckRadioField>
324
+ <CheckRadioField id={`radio-3`} label={'Option 3'}>
325
+ <Field
326
+ type={'radio'}
327
+ id={`radio-3`}
328
+ name={'radios'}
329
+ value={'3'}
330
+ />
331
+ </CheckRadioField>
332
+ <ErrorMessage name={'radios'} />
333
+ </FormField>
334
+
335
+ <FormField id={'description'} label={'Description'}>
336
+ <Field
337
+ as="textarea"
338
+ id={'description'}
339
+ name={'description'}
340
+ placeholder="Your message"
341
+ onChange={(e: MouseEventHandler) => console.log(e)}
342
+ ></Field>
343
+ <ErrorMessage name={'description'} />
344
+ </FormField>
345
+ </Flex>
346
+ </Form>
347
+ </Formik>
348
+ </div>
349
+ ),
350
+ args: {}
351
+ }
352
+
353
+ export const All: StoryObj<IFormField> = {
354
+ render: args => (
355
+ <Formik
356
+ initialValues={{}}
357
+ onSubmit={function (
358
+ values: FormikValues,
359
+ formikHelpers: FormikHelpers<FormikValues>
360
+ ): void | Promise<any> {
361
+ throw new Error('Function not implemented.')
362
+ }}
363
+ >
364
+ <Form>
365
+ <Flex align="center" style={{ gap: '8px' }}>
366
+ <FormField
367
+ id={'input-1'}
368
+ label={'My custom input'}
369
+ leftIcon={<Icon icon={'icon-search'} />}
370
+ >
371
+ <Field
372
+ label={'My custom input'}
373
+ id={'input-1'}
374
+ name={'input-1'}
375
+ placeholder="Procurar"
376
+ onChange={(e: MouseEventHandler) => console.log(e)}
377
+ ></Field>
378
+ <ErrorMessage name={'input-1'} />
379
+ </FormField>
380
+
381
+ <FormField
382
+ id={'event_type'}
383
+ label={'My custom input'}
384
+ leftIcon={<Icon icon={'icon-search'} />}
385
+ >
386
+ <Field
387
+ as="select"
388
+ label={'My custom input'}
389
+ id={'event_type'}
390
+ name={'event_type'}
391
+ placeholder="Procurar"
392
+ onChange={(e: MouseEventHandler) => console.log(e)}
393
+ >
394
+ <option value="text">Evento tipo 1</option>
395
+ <option value="text2">Evento tipo 2</option>
396
+ <option value="text3">Evento tipo 2</option>
397
+ </Field>
398
+ <ErrorMessage name={'event_type'} />
399
+ </FormField>
400
+
401
+ <FormField
402
+ id={'date'}
403
+ label={'Date'}
404
+ leftIcon={<Icon icon={'icon-search'} />}
405
+ >
406
+ <Field
407
+ type="date"
408
+ label={'Date'}
409
+ id={'date'}
410
+ name={'date'}
411
+ placeholder="DD/MM/YYYY"
412
+ onChange={(e: MouseEventHandler) => console.log(e)}
413
+ ></Field>
414
+ <ErrorMessage name={'date'} />
415
+ </FormField>
416
+
417
+ <FormField id={'upload'} label={'Upload'}>
418
+ <Field
419
+ type="file"
420
+ label={'Upload'}
421
+ id={'upload'}
422
+ name={'upload'}
423
+ onChange={(e: MouseEventHandler) => console.log(e)}
424
+ ></Field>
425
+ <ErrorMessage name={'upload'} />
426
+ </FormField>
427
+
428
+ <FormField id={'checkboxes'} label={'Checkboxes'} isCheckRadio={true}>
429
+ <CheckRadioField id={`checkbox-1`} label={'Option 1'}>
430
+ <Field
431
+ type={'checkbox'}
432
+ id={`checkbox-1`}
433
+ name={'checkboxes'}
434
+ value={'1'}
435
+ />
436
+ </CheckRadioField>
437
+ <CheckRadioField id={`checkbox-2`} label={'Option 2'}>
438
+ <Field
439
+ type={'checkbox'}
440
+ id={`checkbox-2`}
441
+ name={'checkboxes'}
442
+ value={'2'}
443
+ />
444
+ </CheckRadioField>
445
+ <CheckRadioField id={`checkbox-3`} label={'Option 3'}>
446
+ <Field
447
+ type={'checkbox'}
448
+ id={`checkbox-3`}
449
+ name={'checkboxes'}
450
+ value={'3'}
451
+ />
452
+ </CheckRadioField>
453
+ <ErrorMessage name={'checkboxes'} />
454
+ </FormField>
455
+
456
+ <FormField id={'radios'} label={'Radios'} isCheckRadio={true}>
457
+ <CheckRadioField id={`radio-1`} label={'Option 1'}>
458
+ <Field
459
+ type={'radio'}
460
+ id={`radio-1`}
461
+ name={'radios'}
462
+ value={'1'}
463
+ />
464
+ </CheckRadioField>
465
+ <CheckRadioField id={`radio-2`} label={'Option 2'}>
466
+ <Field
467
+ type={'radio'}
468
+ id={`radio-2`}
469
+ name={'radios'}
470
+ value={'2'}
471
+ />
472
+ </CheckRadioField>
473
+ <CheckRadioField id={`radio-3`} label={'Option 3'}>
474
+ <Field
475
+ type={'radio'}
476
+ id={`radio-3`}
477
+ name={'radios'}
478
+ value={'3'}
479
+ />
480
+ </CheckRadioField>
481
+ <ErrorMessage name={'radios'} />
482
+ </FormField>
483
+
484
+ <FormField id={'description'} label={'Description'}>
485
+ <Field
486
+ as="textarea"
487
+ id={'description'}
488
+ name={'description'}
489
+ placeholder="Your message"
490
+ onChange={(e: MouseEventHandler) => console.log(e)}
491
+ ></Field>
492
+ <ErrorMessage name={'description'} />
493
+ </FormField>
494
+ </Flex>
495
+ </Form>
496
+ </Formik>
497
+ ),
498
+ args: {}
499
+ }