w-design-system 0.0.1

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 (294) hide show
  1. package/.storybook/main.ts +19 -0
  2. package/.storybook/preview.ts +14 -0
  3. package/README.md +46 -0
  4. package/README.old.md +1 -0
  5. package/dist/App.d.ts +5 -0
  6. package/dist/App.d.ts.map +1 -0
  7. package/dist/App.js +9 -0
  8. package/dist/App.js.map +1 -0
  9. package/dist/App.test.d.ts +2 -0
  10. package/dist/App.test.d.ts.map +1 -0
  11. package/dist/App.test.js +9 -0
  12. package/dist/App.test.js.map +1 -0
  13. package/dist/assets/icon/index.d.ts +7 -0
  14. package/dist/assets/icon/index.d.ts.map +1 -0
  15. package/dist/assets/icon/index.js +7 -0
  16. package/dist/assets/icon/index.js.map +1 -0
  17. package/dist/components/Banner/index.d.ts +5 -0
  18. package/dist/components/Banner/index.d.ts.map +1 -0
  19. package/dist/components/Banner/index.js +33 -0
  20. package/dist/components/Banner/index.js.map +1 -0
  21. package/dist/components/Banner/stories.d.ts +7 -0
  22. package/dist/components/Banner/stories.d.ts.map +1 -0
  23. package/dist/components/Banner/stories.js +25 -0
  24. package/dist/components/Banner/stories.js.map +1 -0
  25. package/dist/components/Banner/styles.d.ts +4 -0
  26. package/dist/components/Banner/styles.d.ts.map +1 -0
  27. package/dist/components/Banner/styles.js +55 -0
  28. package/dist/components/Banner/styles.js.map +1 -0
  29. package/dist/components/Button /index.d.ts +5 -0
  30. package/dist/components/Button /index.d.ts.map +1 -0
  31. package/dist/components/Button /index.js +22 -0
  32. package/dist/components/Button /index.js.map +1 -0
  33. package/dist/components/Button /stories.d.ts +14 -0
  34. package/dist/components/Button /stories.d.ts.map +1 -0
  35. package/dist/components/Button /stories.js +88 -0
  36. package/dist/components/Button /stories.js.map +1 -0
  37. package/dist/components/Button /styles.d.ts +4 -0
  38. package/dist/components/Button /styles.d.ts.map +1 -0
  39. package/dist/components/Button /styles.js +194 -0
  40. package/dist/components/Button /styles.js.map +1 -0
  41. package/dist/components/Button /test.d.ts +2 -0
  42. package/dist/components/Button /test.d.ts.map +1 -0
  43. package/dist/components/Button /test.js +33 -0
  44. package/dist/components/Button /test.js.map +1 -0
  45. package/dist/components/ButtonRadiusIcon/index.d.ts +5 -0
  46. package/dist/components/ButtonRadiusIcon/index.d.ts.map +1 -0
  47. package/dist/components/ButtonRadiusIcon/index.js +26 -0
  48. package/dist/components/ButtonRadiusIcon/index.js.map +1 -0
  49. package/dist/components/ButtonRadiusIcon/stories.d.ts +8 -0
  50. package/dist/components/ButtonRadiusIcon/stories.d.ts.map +1 -0
  51. package/dist/components/ButtonRadiusIcon/stories.js +42 -0
  52. package/dist/components/ButtonRadiusIcon/stories.js.map +1 -0
  53. package/dist/components/ButtonRadiusIcon/styles.d.ts +4 -0
  54. package/dist/components/ButtonRadiusIcon/styles.d.ts.map +1 -0
  55. package/dist/components/ButtonRadiusIcon/styles.js +137 -0
  56. package/dist/components/ButtonRadiusIcon/styles.js.map +1 -0
  57. package/dist/components/ButtonRound/index.d.ts +5 -0
  58. package/dist/components/ButtonRound/index.d.ts.map +1 -0
  59. package/dist/components/ButtonRound/index.js +22 -0
  60. package/dist/components/ButtonRound/index.js.map +1 -0
  61. package/dist/components/ButtonRound/stories.d.ts +8 -0
  62. package/dist/components/ButtonRound/stories.d.ts.map +1 -0
  63. package/dist/components/ButtonRound/stories.js +44 -0
  64. package/dist/components/ButtonRound/stories.js.map +1 -0
  65. package/dist/components/ButtonRound/styles.d.ts +4 -0
  66. package/dist/components/ButtonRound/styles.d.ts.map +1 -0
  67. package/dist/components/ButtonRound/styles.js +134 -0
  68. package/dist/components/ButtonRound/styles.js.map +1 -0
  69. package/dist/components/IconWrapper/index.d.ts +12 -0
  70. package/dist/components/IconWrapper/index.d.ts.map +1 -0
  71. package/dist/components/IconWrapper/index.js +24 -0
  72. package/dist/components/IconWrapper/index.js.map +1 -0
  73. package/dist/components/Modal/index.d.ts +5 -0
  74. package/dist/components/Modal/index.d.ts.map +1 -0
  75. package/dist/components/Modal/index.js +32 -0
  76. package/dist/components/Modal/index.js.map +1 -0
  77. package/dist/components/Modal/stories.d.ts +7 -0
  78. package/dist/components/Modal/stories.d.ts.map +1 -0
  79. package/dist/components/Modal/stories.js +24 -0
  80. package/dist/components/Modal/stories.js.map +1 -0
  81. package/dist/components/Modal/styles.d.ts +4 -0
  82. package/dist/components/Modal/styles.d.ts.map +1 -0
  83. package/dist/components/Modal/styles.js +48 -0
  84. package/dist/components/Modal/styles.js.map +1 -0
  85. package/dist/components/Paragraph/index.d.ts +11 -0
  86. package/dist/components/Paragraph/index.d.ts.map +1 -0
  87. package/dist/components/Paragraph/index.js +28 -0
  88. package/dist/components/Paragraph/index.js.map +1 -0
  89. package/dist/components/Paragraph/stories.d.ts +14 -0
  90. package/dist/components/Paragraph/stories.d.ts.map +1 -0
  91. package/dist/components/Paragraph/stories.js +95 -0
  92. package/dist/components/Paragraph/stories.js.map +1 -0
  93. package/dist/components/Tabs/index.d.ts +5 -0
  94. package/dist/components/Tabs/index.d.ts.map +1 -0
  95. package/dist/components/Tabs/index.js +14 -0
  96. package/dist/components/Tabs/index.js.map +1 -0
  97. package/dist/components/Tabs/stories.d.ts +7 -0
  98. package/dist/components/Tabs/stories.d.ts.map +1 -0
  99. package/dist/components/Tabs/stories.js +31 -0
  100. package/dist/components/Tabs/stories.js.map +1 -0
  101. package/dist/components/Tabs/styles.d.ts +6 -0
  102. package/dist/components/Tabs/styles.d.ts.map +1 -0
  103. package/dist/components/Tabs/styles.js +22 -0
  104. package/dist/components/Tabs/styles.js.map +1 -0
  105. package/dist/components/Themes/index.d.ts +79 -0
  106. package/dist/components/Themes/index.d.ts.map +1 -0
  107. package/dist/components/Themes/index.js +83 -0
  108. package/dist/components/Themes/index.js.map +1 -0
  109. package/dist/components/Title/index.d.ts +11 -0
  110. package/dist/components/Title/index.d.ts.map +1 -0
  111. package/dist/components/Title/index.js +18 -0
  112. package/dist/components/Title/index.js.map +1 -0
  113. package/dist/components/Title/stories.d.ts +9 -0
  114. package/dist/components/Title/stories.d.ts.map +1 -0
  115. package/dist/components/Title/stories.js +61 -0
  116. package/dist/components/Title/stories.js.map +1 -0
  117. package/dist/components/Types/index.d.ts +41 -0
  118. package/dist/components/Types/index.d.ts.map +1 -0
  119. package/dist/components/Types/index.js +2 -0
  120. package/dist/components/Types/index.js.map +1 -0
  121. package/dist/components/index.d.ts +2 -0
  122. package/dist/components/index.d.ts.map +1 -0
  123. package/dist/components/index.js +2 -0
  124. package/dist/components/index.js.map +1 -0
  125. package/dist/index.d.ts +2 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +13 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/prettier.config.d.ts +10 -0
  130. package/dist/prettier.config.d.ts.map +1 -0
  131. package/dist/prettier.config.js +13 -0
  132. package/dist/prettier.config.js.map +1 -0
  133. package/dist/reportWebVitals.d.ts +4 -0
  134. package/dist/reportWebVitals.d.ts.map +1 -0
  135. package/dist/reportWebVitals.js +14 -0
  136. package/dist/reportWebVitals.js.map +1 -0
  137. package/dist/setupTests.d.ts +2 -0
  138. package/dist/setupTests.d.ts.map +1 -0
  139. package/dist/setupTests.js +6 -0
  140. package/dist/setupTests.js.map +1 -0
  141. package/dist/src/globalStyles.d.ts +4 -0
  142. package/dist/src/globalStyles.d.ts.map +1 -0
  143. package/dist/src/globalStyles.js +10 -0
  144. package/dist/src/globalStyles.js.map +1 -0
  145. package/dist/stories/Button.d.ts +29 -0
  146. package/dist/stories/Button.d.ts.map +1 -0
  147. package/dist/stories/Button.js +22 -0
  148. package/dist/stories/Button.js.map +1 -0
  149. package/dist/stories/Button.stories.d.ts +25 -0
  150. package/dist/stories/Button.stories.d.ts.map +1 -0
  151. package/dist/stories/Button.stories.js +45 -0
  152. package/dist/stories/Button.stories.js.map +1 -0
  153. package/dist/stories/Header.d.ts +14 -0
  154. package/dist/stories/Header.d.ts.map +1 -0
  155. package/dist/stories/Header.js +21 -0
  156. package/dist/stories/Header.js.map +1 -0
  157. package/dist/stories/Header.stories.d.ts +20 -0
  158. package/dist/stories/Header.stories.d.ts.map +1 -0
  159. package/dist/stories/Header.stories.js +27 -0
  160. package/dist/stories/Header.stories.js.map +1 -0
  161. package/dist/stories/Page.d.ts +4 -0
  162. package/dist/stories/Page.d.ts.map +1 -0
  163. package/dist/stories/Page.js +38 -0
  164. package/dist/stories/Page.js.map +1 -0
  165. package/dist/stories/Page.stories.d.ts +14 -0
  166. package/dist/stories/Page.stories.d.ts.map +1 -0
  167. package/dist/stories/Page.stories.js +34 -0
  168. package/dist/stories/Page.stories.js.map +1 -0
  169. package/dist/types/App.d.ts +4 -0
  170. package/dist/types/App.test.d.ts +1 -0
  171. package/dist/types/assets/icon/index.d.ts +6 -0
  172. package/dist/types/components/Banner/index.d.ts +4 -0
  173. package/dist/types/components/Banner/stories.d.ts +6 -0
  174. package/dist/types/components/Banner/styles.d.ts +3 -0
  175. package/dist/types/components/Button /index.d.ts +4 -0
  176. package/dist/types/components/Button /stories.d.ts +13 -0
  177. package/dist/types/components/Button /styles.d.ts +3 -0
  178. package/dist/types/components/Button /test.d.ts +1 -0
  179. package/dist/types/components/ButtonRadiusIcon/index.d.ts +4 -0
  180. package/dist/types/components/ButtonRadiusIcon/stories.d.ts +7 -0
  181. package/dist/types/components/ButtonRadiusIcon/styles.d.ts +3 -0
  182. package/dist/types/components/ButtonRound/index.d.ts +4 -0
  183. package/dist/types/components/ButtonRound/stories.d.ts +7 -0
  184. package/dist/types/components/ButtonRound/styles.d.ts +3 -0
  185. package/dist/types/components/IconWrapper/index.d.ts +11 -0
  186. package/dist/types/components/Modal/index.d.ts +4 -0
  187. package/dist/types/components/Modal/stories.d.ts +6 -0
  188. package/dist/types/components/Modal/styles.d.ts +3 -0
  189. package/dist/types/components/Paragraph/index.d.ts +10 -0
  190. package/dist/types/components/Paragraph/stories.d.ts +13 -0
  191. package/dist/types/components/Tabs/index.d.ts +4 -0
  192. package/dist/types/components/Tabs/stories.d.ts +6 -0
  193. package/dist/types/components/Tabs/styles.d.ts +5 -0
  194. package/dist/types/components/Themes/index.d.ts +78 -0
  195. package/dist/types/components/Title/index.d.ts +10 -0
  196. package/dist/types/components/Title/stories.d.ts +8 -0
  197. package/dist/types/components/Types/index.d.ts +40 -0
  198. package/dist/types/components/index.d.ts +1 -0
  199. package/dist/types/index.d.ts +1 -0
  200. package/dist/types/reportWebVitals.d.ts +3 -0
  201. package/dist/types/setupTests.d.ts +1 -0
  202. package/dist/types/src/globalStyles.d.ts +3 -0
  203. package/dist/types/stories/Button.d.ts +28 -0
  204. package/dist/types/stories/Button.stories.d.ts +24 -0
  205. package/dist/types/stories/Header.d.ts +13 -0
  206. package/dist/types/stories/Header.stories.d.ts +19 -0
  207. package/dist/types/stories/Page.d.ts +3 -0
  208. package/dist/types/stories/Page.stories.d.ts +13 -0
  209. package/dist/types/utils/constanst.d.ts +2 -0
  210. package/dist/utils/constanst.d.ts +3 -0
  211. package/dist/utils/constanst.d.ts.map +1 -0
  212. package/dist/utils/constanst.js +3 -0
  213. package/dist/utils/constanst.js.map +1 -0
  214. package/package.json +69 -0
  215. package/public/favicon.ico +0 -0
  216. package/public/index.html +43 -0
  217. package/public/logo192.png +0 -0
  218. package/public/logo512.png +0 -0
  219. package/public/manifest.json +25 -0
  220. package/public/robots.txt +3 -0
  221. package/src/App.css +39 -0
  222. package/src/App.test.tsx +9 -0
  223. package/src/App.tsx +14 -0
  224. package/src/assets/icon/alert.svg +3 -0
  225. package/src/assets/icon/close.svg +10 -0
  226. package/src/assets/icon/comment.svg +10 -0
  227. package/src/assets/icon/doc-check.svg +10 -0
  228. package/src/assets/icon/image.svg +3 -0
  229. package/src/assets/icon/index.ts +6 -0
  230. package/src/assets/icon/svg.d.ts +4 -0
  231. package/src/components/Banner/index.tsx +49 -0
  232. package/src/components/Banner/stories.tsx +31 -0
  233. package/src/components/Banner/styles.ts +58 -0
  234. package/src/components/Button /index.tsx +33 -0
  235. package/src/components/Button /stories.tsx +98 -0
  236. package/src/components/Button /styles.ts +198 -0
  237. package/src/components/Button /test.tsx +36 -0
  238. package/src/components/ButtonRadiusIcon/index.tsx +24 -0
  239. package/src/components/ButtonRadiusIcon/stories.tsx +47 -0
  240. package/src/components/ButtonRadiusIcon/styles.ts +139 -0
  241. package/src/components/ButtonRound/index.tsx +27 -0
  242. package/src/components/ButtonRound/stories.tsx +50 -0
  243. package/src/components/ButtonRound/styles.ts +136 -0
  244. package/src/components/IconWrapper/index.tsx +45 -0
  245. package/src/components/Modal/index.tsx +32 -0
  246. package/src/components/Modal/stories.tsx +53 -0
  247. package/src/components/Modal/styles.ts +51 -0
  248. package/src/components/Paragraph/index.tsx +44 -0
  249. package/src/components/Paragraph/stories.tsx +107 -0
  250. package/src/components/Tabs/index.tsx +26 -0
  251. package/src/components/Tabs/stories.tsx +74 -0
  252. package/src/components/Tabs/styles.ts +23 -0
  253. package/src/components/Themes/index.ts +99 -0
  254. package/src/components/Title/index.tsx +35 -0
  255. package/src/components/Title/stories.tsx +70 -0
  256. package/src/components/Types/index.ts +45 -0
  257. package/src/components/index.ts +1 -0
  258. package/src/index.css +13 -0
  259. package/src/index.tsx +19 -0
  260. package/src/logo.svg +1 -0
  261. package/src/prettier.config.js +11 -0
  262. package/src/react-app-env.d.ts +1 -0
  263. package/src/reportWebVitals.ts +16 -0
  264. package/src/setupTests.ts +5 -0
  265. package/src/src/globalStyles.ts +11 -0
  266. package/src/stories/Button.stories.ts +52 -0
  267. package/src/stories/Button.tsx +42 -0
  268. package/src/stories/Configure.mdx +364 -0
  269. package/src/stories/Header.stories.ts +33 -0
  270. package/src/stories/Header.tsx +56 -0
  271. package/src/stories/Page.stories.ts +32 -0
  272. package/src/stories/Page.tsx +73 -0
  273. package/src/stories/assets/accessibility.png +0 -0
  274. package/src/stories/assets/accessibility.svg +1 -0
  275. package/src/stories/assets/addon-library.png +0 -0
  276. package/src/stories/assets/assets.png +0 -0
  277. package/src/stories/assets/avif-test-image.avif +0 -0
  278. package/src/stories/assets/context.png +0 -0
  279. package/src/stories/assets/discord.svg +1 -0
  280. package/src/stories/assets/docs.png +0 -0
  281. package/src/stories/assets/figma-plugin.png +0 -0
  282. package/src/stories/assets/github.svg +1 -0
  283. package/src/stories/assets/share.png +0 -0
  284. package/src/stories/assets/styling.png +0 -0
  285. package/src/stories/assets/testing.png +0 -0
  286. package/src/stories/assets/theming.png +0 -0
  287. package/src/stories/assets/tutorials.svg +1 -0
  288. package/src/stories/assets/youtube.svg +1 -0
  289. package/src/stories/button.css +30 -0
  290. package/src/stories/header.css +32 -0
  291. package/src/stories/page.css +69 -0
  292. package/src/utils/constanst.ts +2 -0
  293. package/tsconfig.json +38 -0
  294. package/webpack.config.js +12 -0
@@ -0,0 +1,134 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { theme } from '../Themes';
3
+ const { colors } = theme;
4
+ const buttonRadiusWrapperIconStyles = (color) => css `
5
+ .buttonRadiusWrapperIcon {
6
+ svg {
7
+ fill: ${color};
8
+ path {
9
+ fill: ${color};
10
+ }
11
+ }
12
+ }
13
+ .buttonRoundBadge {
14
+ background: ${color};
15
+ }
16
+ `;
17
+ const colorScheme = {
18
+ primary: css `
19
+ background: ${colors.shade10};
20
+ ${buttonRadiusWrapperIconStyles(colors.shade30)}
21
+ &:hover {
22
+ background-color: ${colors.shade20};
23
+ ${buttonRadiusWrapperIconStyles(colors.cyan40)};
24
+ }
25
+ &:active {
26
+ background-color: ${colors.shade10};
27
+ ${buttonRadiusWrapperIconStyles(colors.shade30)};
28
+ }
29
+ `,
30
+ secondary: css `
31
+ background: ${colors.cyan10};
32
+ &:hover {
33
+ background-color: ${colors.cyan10};
34
+ ${buttonRadiusWrapperIconStyles(colors.cyan30)}
35
+ }
36
+ &:active {
37
+ background-color: ${colors.cyan10};
38
+ }
39
+ ${buttonRadiusWrapperIconStyles(colors.cyan40)};
40
+ `,
41
+ danger: css `
42
+ background: ${colors.red10};
43
+ &:hover {
44
+ background-color: ${colors.red20};
45
+ }
46
+ &:active {
47
+ background-color: ${colors.red10};
48
+ }
49
+ ${buttonRadiusWrapperIconStyles(colors.red40)};
50
+ `,
51
+ warning: css `
52
+ background: ${colors.honey10};
53
+ color: ${colors.honey30};
54
+ &:hover {
55
+ background-color: ${colors.honey20};
56
+ }
57
+ &:active {
58
+ background-color: ${colors.honey10};
59
+ }
60
+ ${buttonRadiusWrapperIconStyles(colors.honey30)};
61
+ `,
62
+ success: css `
63
+ background: ${colors.mint10};
64
+ &:hover {
65
+ background-color: ${colors.mint20};
66
+ }
67
+ &:active {
68
+ background-color: ${colors.mint10};
69
+ }
70
+ ${buttonRadiusWrapperIconStyles(colors.mint40)};
71
+ `,
72
+ gray: css `
73
+ background: ${colors.shade10};
74
+ &:hover {
75
+ background-color: ${colors.shade20};
76
+ }
77
+ &:active {
78
+ background-color: ${colors.shade10};
79
+ }
80
+ ${buttonRadiusWrapperIconStyles(colors.shade40)};
81
+ `,
82
+ yellow: css `
83
+ background: ${colors.yellow10};
84
+ &:hover {
85
+ background-color: ${colors.yellow20};
86
+ }
87
+ &:active {
88
+ background-color: ${colors.yellow10};
89
+ }
90
+ ${buttonRadiusWrapperIconStyles(colors.yellow30)};
91
+ `,
92
+ };
93
+ export const ButtonStyled = styled.button `
94
+ display: inline-flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ box-sizing: border-box;
98
+ height: 48px;
99
+ width: 48px;
100
+ font-size: 16px;
101
+ font-weight: 600;
102
+ line-height: 140%;
103
+ border: none;
104
+ border-radius: 100%;
105
+ font-family: 'Nunito Sans', sans-serif;
106
+ transition:
107
+ color 0.3s,
108
+ background-color 0.3s,
109
+ opacity 0.3s;
110
+ color: white;
111
+ gap: 12px;
112
+ cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
113
+ opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};
114
+ ${({ variant = 'primary', outline }) => colorScheme[variant]};
115
+
116
+ .buttonRadiusWrapperIcon {
117
+ margin-top: 4px;
118
+ }
119
+ .buttonRoundBadge {
120
+ box-sizing: border-box;
121
+ margin-bottom: 24px;
122
+ margin-left: 54px;
123
+ position: absolute;
124
+ width: 26px;
125
+ height: 26px;
126
+ border-radius: 100%;
127
+ font-size: 12px;
128
+ display: flex;
129
+ justify-content: center;
130
+ align-items: center;
131
+ border: 2px solid;
132
+ }
133
+ `;
134
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/ButtonRound/styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAGjC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;AACxB,MAAM,6BAA6B,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAA;;;cAG9C,KAAK;;gBAEH,KAAK;;;;;kBAKH,KAAK;;CAEtB,CAAA;AACD,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,GAAG,CAAA;kBACI,MAAM,CAAC,OAAO;MAC1B,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC;;0BAEzB,MAAM,CAAC,OAAO;QAChC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;;;0BAG1B,MAAM,CAAC,OAAO;QAChC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC;;GAElD;IACD,SAAS,EAAE,GAAG,CAAA;kBACE,MAAM,CAAC,MAAM;;0BAEL,MAAM,CAAC,MAAM;QAC/B,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;;;0BAG1B,MAAM,CAAC,MAAM;;MAEjC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;GAC/C;IACD,MAAM,EAAE,GAAG,CAAA;kBACK,MAAM,CAAC,KAAK;;0BAEJ,MAAM,CAAC,KAAK;;;0BAGZ,MAAM,CAAC,KAAK;;MAEhC,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;GAC9C;IACD,OAAO,EAAE,GAAG,CAAA;kBACI,MAAM,CAAC,OAAO;aACnB,MAAM,CAAC,OAAO;;0BAED,MAAM,CAAC,OAAO;;;0BAGd,MAAM,CAAC,OAAO;;MAElC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC;GAChD;IACD,OAAO,EAAE,GAAG,CAAA;kBACI,MAAM,CAAC,MAAM;;0BAEL,MAAM,CAAC,MAAM;;;0BAGb,MAAM,CAAC,MAAM;;MAEjC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;GAC/C;IACD,IAAI,EAAE,GAAG,CAAA;kBACO,MAAM,CAAC,OAAO;;0BAEN,MAAM,CAAC,OAAO;;;0BAGd,MAAM,CAAC,OAAO;;MAElC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC;GAChD;IACD,MAAM,EAAE,GAAG,CAAA;kBACK,MAAM,CAAC,QAAQ;;0BAEP,MAAM,CAAC,QAAQ;;;0BAGf,MAAM,CAAC,QAAQ;;MAEnC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC;GACjD;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAkB;;;;;;;;;;;;;;;;;;;YAmB/C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;aACvD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;CAmB7D,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface IconWrapperProps {
3
+ src: string;
4
+ color?: string;
5
+ width?: string;
6
+ height?: string;
7
+ className?: string;
8
+ onClick?: () => void;
9
+ }
10
+ declare const IconWrapper: React.FC<IconWrapperProps>;
11
+ export default IconWrapper;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/IconWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AA2BD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAI3C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ import { ReactSVG } from 'react-svg';
4
+ const StyledIconWrapper = styled.div `
5
+ height: 100%;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ flex-shrink: 0;
10
+ cursor: ${props => (props.onClick ? 'pointer' : 'default')};
11
+ svg {
12
+ width: ${props => props.width || '24px'};
13
+ height: ${props => props.height || '24px'};
14
+ fill: ${props => props.color || 'black'};
15
+
16
+ path {
17
+ fill: ${props => props.color || 'black'};
18
+ }
19
+ }
20
+ `;
21
+ const IconWrapper = ({ src, color, width, height, className, onClick }) => (React.createElement(StyledIconWrapper, { color: color, width: width, height: height, className: className, onClick: onClick },
22
+ React.createElement(ReactSVG, { src: src })));
23
+ export default IconWrapper;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/IconWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAkBpC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAiB;;;;;;YAMzC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;;aAE/C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM;cAC7B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;YACjC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO;;;cAG7B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO;;;CAG5C,CAAA;AAED,MAAM,WAAW,GAA+B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACrG,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IACnG,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,GAAI,CACJ,CACrB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ModalTypes } from '../Types';
3
+ declare const Modal: React.FC<ModalTypes>;
4
+ export default Modal;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAMrC,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAiB/B,CAAA;AAED,eAAe,KAAK,CAAA"}
@@ -0,0 +1,32 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import ReactDOM from 'react-dom';
14
+ import { closeSVG } from '../../assets/icon';
15
+ import { theme } from '../Themes';
16
+ import Title from '../Title';
17
+ import IconWrapper from '../IconWrapper';
18
+ import { ModalContainer, Overlay } from './styles';
19
+ const { colors: { cyan50, shade30 }, } = theme;
20
+ const Modal = (_a) => {
21
+ var { children, onClose, footer } = _a, props = __rest(_a, ["children", "onClose", "footer"]);
22
+ return ReactDOM.createPortal(React.createElement(React.Fragment, null,
23
+ React.createElement(Overlay, { onClick: onClose }),
24
+ React.createElement(ModalContainer, Object.assign({}, props),
25
+ React.createElement("div", { className: 'modalHeader' },
26
+ React.createElement(Title, { size: 'medium', bold: true, color: cyan50 }, "Enviar"),
27
+ React.createElement(IconWrapper, { src: closeSVG, width: '14px', height: '14px', color: shade30, onClick: onClose })),
28
+ React.createElement("div", { className: 'modalContainer' }, children),
29
+ React.createElement("div", { className: 'modalFooter' }, footer))), document.body);
30
+ };
31
+ export default Modal;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClD,MAAM,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAC5B,GAAG,KAAK,CAAA;AAET,MAAM,KAAK,GAAyB,CAAC,EAAuC,EAAE,EAAE;QAA3C,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAY,EAAP,KAAK,cAArC,iCAAuC,CAAF;IACxE,OAAO,QAAQ,CAAC,YAAY,CAC1B;QACE,oBAAC,OAAO,IAAC,OAAO,EAAE,OAAO,GAAI;QAC7B,oBAAC,cAAc,oBAAK,KAAK;YACvB,6BAAK,SAAS,EAAE,aAAa;gBAC3B,oBAAC,KAAK,IAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,QAAC,KAAK,EAAE,MAAM,aAEjC;gBACR,oBAAC,WAAW,IAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAC3F;YACN,6BAAK,SAAS,EAAE,gBAAgB,IAAG,QAAQ,CAAO;YAClD,6BAAK,SAAS,EAAE,aAAa,IAAG,MAAM,CAAO,CAC9B,CAChB,EACH,QAAQ,CAAC,IAAI,CACd,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Modal from './index';
3
+ declare const meta: Meta<typeof Modal>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Modal>;
6
+ export declare const Playground: Story;
7
+ //# sourceMappingURL=stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,MAAM,SAAS,CAAA;AAI3B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAGC,CAAA;AAE9B,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAA;AAEnC,eAAO,MAAM,UAAU,EAAE,KAoCxB,CAAA"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import Modal from './index';
4
+ import Button from '../Button ';
5
+ import Paragraph from '../Paragraph';
6
+ const meta = {
7
+ title: 'Components/Modal',
8
+ component: Modal,
9
+ };
10
+ export default meta;
11
+ export const Playground = {
12
+ render: () => {
13
+ // eslint-disable-next-line react-hooks/rules-of-hooks
14
+ const [isOpen, setIsOpen] = useState(false);
15
+ return (React.createElement(React.Fragment, null,
16
+ React.createElement(Button, { onClick: () => setIsOpen(true) }, "Open Modal"),
17
+ isOpen && (React.createElement(Modal, { onClose: () => setIsOpen(false), footer: React.createElement(React.Fragment, null,
18
+ React.createElement(Button, { onClick: () => setIsOpen(true), variant: 'gray' }, "Cancelar"),
19
+ React.createElement(Button, { onClick: () => setIsOpen(true) }, "Open Modal")) },
20
+ React.createElement(Paragraph, { size: 'medium', weight: 800 }, "Modal Title"),
21
+ React.createElement(Paragraph, null, "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.")))));
22
+ },
23
+ };
24
+ //# sourceMappingURL=stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../src/components/Modal/stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,MAAM,MAAM,YAAY,CAAA;AAC/B,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,MAAM,IAAI,GAAuB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,KAAK;CACY,CAAA;AAE9B,eAAe,IAAI,CAAA;AAInB,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,MAAM,EAAE,GAAG,EAAE;QACX,sDAAsD;QACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE3C,OAAO,CACL;YACE,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAqB;YAC1D,MAAM,IAAI,CACT,oBAAC,KAAK,IACJ,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,EACJ;oBACE,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,eAE9C;oBACT,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAqB,CAC1D;gBAGL,oBAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,kBAE1B;gBACZ,oBAAC,SAAS,ykBAOE,CACN,CACT,CACA,CACJ,CAAA;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Overlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const ModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/styles.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,OAAO,6NAQnB,CAAA;AACD,eAAO,MAAM,cAAc,6NAkC1B,CAAA"}
@@ -0,0 +1,48 @@
1
+ import styled from 'styled-components';
2
+ import { theme } from '../Themes';
3
+ const { colors: { shade20 }, zIndex: { z8, z9 }, } = theme;
4
+ export const Overlay = styled.div `
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100%;
9
+ height: 100%;
10
+ background: rgba(0, 0, 0, 0.5);
11
+ z-index: ${z8};
12
+ `;
13
+ export const ModalContainer = styled.div `
14
+ display: flex;
15
+ min-width: 360px;
16
+ width: auto;
17
+ height: auto;
18
+ padding: 30px;
19
+ flex-direction: column;
20
+ align-items: flex-start;
21
+ gap: 24px;
22
+ flex-shrink: 0;
23
+ border-radius: 24px;
24
+ border: 1px solid ${shade20};
25
+ background: white;
26
+ position: fixed;
27
+ top: 50%;
28
+ left: 50%;
29
+ transform: translate(-50%, -50%);
30
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
31
+ z-index: ${z9};
32
+
33
+ .modalContainer {
34
+ min-height: 100px;
35
+ }
36
+ .modalHeader {
37
+ display: inline-flex;
38
+ justify-content: space-between;
39
+ width: 100%;
40
+ }
41
+ .modalFooter {
42
+ display: inline-flex;
43
+ justify-content: flex-end;
44
+ width: 100%;
45
+ gap: 0 24px;
46
+ }
47
+ `;
48
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Modal/styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,MAAM,EACJ,MAAM,EAAE,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GACnB,GAAG,KAAK,CAAA;AAET,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;aAOpB,EAAE;CACd,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;sBAWlB,OAAO;;;;;;;aAOhB,EAAE;;;;;;;;;;;;;;;;CAgBd,CAAA"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface ParagraphProps {
3
+ size?: 'x-small' | 'small' | 'medium' | 'large';
4
+ weight?: 400 | 600 | 700 | 800;
5
+ as?: 'span' | 'div' | 'label' | 'p';
6
+ color?: string;
7
+ children: React.ReactNode;
8
+ }
9
+ declare const Paragraph: React.FC<ParagraphProps>;
10
+ export default Paragraph;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Paragraph/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC/C,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AA0BD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAMvC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ const sizes = {
4
+ 'x-small': '12px',
5
+ small: '14px',
6
+ medium: '16px',
7
+ large: '18px',
8
+ };
9
+ const weights = {
10
+ 400: 400,
11
+ 600: 600,
12
+ 700: 700,
13
+ 800: 800,
14
+ };
15
+ const ParagraphStyled = styled.p `
16
+ margin: 0;
17
+ padding: 0;
18
+ font-size: ${props => sizes[props.size || 'small']};
19
+ font-weight: ${props => (props.weight ? weights[props.weight] : 400)};
20
+ line-height: 140%;
21
+ font-family: 'Nunito Sans', sans-serif;
22
+ color: ${props => props.color || 'inherit'}; // Aplicando a cor
23
+ `;
24
+ const Paragraph = ({ size = 'small', weight, as = 'p', color, children }) => {
25
+ return (React.createElement(ParagraphStyled, { as: as, size: size, weight: weight, color: color }, children));
26
+ };
27
+ export default Paragraph;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Paragraph/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAUtC,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;CACd,CAAA;AAED,MAAM,OAAO,GAAG;IACd,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;CACT,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAgB;;;eAGjC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;iBACnC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;;;WAG3D,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;CAC3C,CAAA;AAED,MAAM,SAAS,GAA6B,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpG,OAAO,CACL,oBAAC,eAAe,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAC9D,QAAQ,CACO,CACnB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import Paragraph from "./index";
3
+ declare const meta: Meta<typeof Paragraph>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const XSmall: Story;
7
+ export declare const Small: Story;
8
+ export declare const Medium: Story;
9
+ export declare const Large: Story;
10
+ export declare const CustomElement: Story;
11
+ export declare const AllSizes: Story;
12
+ export declare const AllWeights: Story;
13
+ export declare const AllElements: Story;
14
+ //# sourceMappingURL=stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../../src/components/Paragraph/stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,SAAS,MAAM,SAAS,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CA6BC,CAAC;AAEnC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAInC,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import Paragraph from "./index";
2
+ const meta = {
3
+ title: 'Components/Paragraph',
4
+ component: Paragraph,
5
+ parameters: {
6
+ layout: 'centered',
7
+ },
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ size: {
11
+ control: { type: 'select', options: ['x-small', 'small', 'medium', 'large'] },
12
+ description: 'Select the size of the paragraph',
13
+ },
14
+ weight: {
15
+ control: { type: 'select', options: [400, 600, 700, 800] },
16
+ description: 'Select the font weight of the paragraph',
17
+ },
18
+ as: {
19
+ control: { type: 'select', options: ['span', 'div', 'label', 'p'] },
20
+ description: 'Select the HTML element to render',
21
+ },
22
+ color: {
23
+ control: 'color',
24
+ description: 'Select the color of the text',
25
+ },
26
+ children: {
27
+ control: 'text',
28
+ description: 'Content of the paragraph',
29
+ },
30
+ },
31
+ };
32
+ export default meta;
33
+ // Define different stories for the Paragraph component
34
+ export const XSmall = {
35
+ args: {
36
+ size: 'x-small',
37
+ color: '#000000',
38
+ children: 'This is an X-small paragraph.',
39
+ },
40
+ };
41
+ export const Small = {
42
+ args: {
43
+ size: 'small',
44
+ weight: 600,
45
+ color: '#333333',
46
+ children: 'This is a small paragraph with weight 600.',
47
+ },
48
+ };
49
+ export const Medium = {
50
+ args: {
51
+ size: 'medium',
52
+ weight: 700,
53
+ color: '#666666',
54
+ children: 'This is a medium paragraph with weight 700.',
55
+ },
56
+ };
57
+ export const Large = {
58
+ args: {
59
+ size: 'large',
60
+ color: '#999999',
61
+ children: 'This is a large paragraph.',
62
+ },
63
+ };
64
+ export const CustomElement = {
65
+ args: {
66
+ size: 'medium',
67
+ as: 'label',
68
+ color: '#CC0000',
69
+ children: 'This is a medium paragraph rendered as a label.',
70
+ },
71
+ };
72
+ export const AllSizes = {
73
+ args: {
74
+ size: 'medium',
75
+ color: '#000000',
76
+ children: 'This paragraph can be adjusted to any size using the controls.',
77
+ },
78
+ };
79
+ export const AllWeights = {
80
+ args: {
81
+ size: 'medium',
82
+ weight: 400,
83
+ color: '#000000',
84
+ children: 'This paragraph weight can be adjusted to 400, 600, 700, or 800.',
85
+ },
86
+ };
87
+ export const AllElements = {
88
+ args: {
89
+ size: 'medium',
90
+ as: 'div',
91
+ color: '#000000',
92
+ children: 'This paragraph can be rendered as different HTML elements.',
93
+ },
94
+ };
95
+ //# sourceMappingURL=stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../src/components/Paragraph/stories.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,SAAS,CAAC;AAEhC,MAAM,IAAI,GAA2B;IACjC,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE;QACR,MAAM,EAAE,UAAU;KACrB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,IAAI,EAAE;YACF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC7E,WAAW,EAAE,kCAAkC;SAClD;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAC1D,WAAW,EAAE,yCAAyC;SACzD;QACD,EAAE,EAAE;YACA,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;YACnE,WAAW,EAAE,mCAAmC;SACnD;QACD,KAAK,EAAE;YACH,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,8BAA8B;SAC9C;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,0BAA0B;SAC1C;KACJ;CAC6B,CAAC;AAEnC,eAAe,IAAI,CAAC;AAGpB,uDAAuD;AAEvD,MAAM,CAAC,MAAM,MAAM,GAAU;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,+BAA+B;KAC5C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,4CAA4C;KACzD;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,6CAA6C;KAC1D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,4BAA4B;KACzC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAChC,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,iDAAiD;KAC9D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,gEAAgE;KAC7E;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAU;IAC7B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,iEAAiE;KAC9E;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,4DAA4D;KACzE;CACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { TabsTypes } from '../Types';
3
+ declare const Tabs: React.FC<TabsTypes>;
4
+ export default Tabs;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAmB7B,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,14 @@
1
+ import React, { useState } from 'react';
2
+ import { TabsContainerStyled, TabStyled } from './styles';
3
+ const Tabs = ({ tabs, defaultActiveTab, onTabChange }) => {
4
+ const [activeTab, setActiveTab] = useState(defaultActiveTab || tabs[0]);
5
+ const handleTabClick = (tab) => {
6
+ setActiveTab(tab);
7
+ if (onTabChange) {
8
+ onTabChange(tab);
9
+ }
10
+ };
11
+ return (React.createElement(TabsContainerStyled, null, tabs.map(tab => (React.createElement(TabStyled, { key: tab, active: tab === activeTab, onClick: () => handleTabClick(tab) }, tab)))));
12
+ };
13
+ export default Tabs;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,IAAI,GAAwB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvE,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;QACrC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,GAAG,CAAC,CAAA;SACjB;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,mBAAmB,QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACf,oBAAC,SAAS,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAC/E,GAAG,CACM,CACb,CAAC,CACkB,CACvB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Tabs from './index';
3
+ declare const meta: Meta<typeof Tabs>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Tabs>;
6
+ export declare const Playground: Story;
7
+ //# sourceMappingURL=stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,IAAI,MAAM,SAAS,CAAA;AAG1B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAGC,CAAA;AAE7B,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KA0DxB,CAAA"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import Paragraph from '../Paragraph';
3
+ import Tabs from './index';
4
+ import { useState } from 'react';
5
+ const meta = {
6
+ title: 'Components/Tabs',
7
+ component: Tabs,
8
+ };
9
+ export default meta;
10
+ export const Playground = {
11
+ render: () => {
12
+ // eslint-disable-next-line react-hooks/rules-of-hooks
13
+ const [activeTab, setActiveTab] = useState('Tab 1');
14
+ const handleTabChange = (activeTab) => {
15
+ setActiveTab(activeTab);
16
+ };
17
+ return (React.createElement("div", { style: { background: '#e0dede', padding: '50px', height: '100vh' } },
18
+ React.createElement(Tabs, { tabs: ['Tab 1', 'Tab 2', 'Tab 3'], defaultActiveTab: "Tab 1", onTabChange: handleTabChange }),
19
+ React.createElement("div", { style: { background: 'white', padding: '50px 20px', borderRadius: '8px', marginTop: '-5px' } },
20
+ activeTab === 'Tab 1' && (React.createElement(React.Fragment, null,
21
+ React.createElement(Paragraph, { size: 'medium', weight: 800 }, "Tab 1"),
22
+ React.createElement(Paragraph, null, "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic"))),
23
+ activeTab === 'Tab 2' && (React.createElement(React.Fragment, null,
24
+ React.createElement(Paragraph, { size: 'medium', weight: 800 }, "Tab 2"),
25
+ React.createElement(Paragraph, null, "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic"))),
26
+ activeTab === 'Tab 3' && (React.createElement(React.Fragment, null,
27
+ React.createElement(Paragraph, { size: 'medium', weight: 800 }, "Tab 3"),
28
+ React.createElement(Paragraph, null, "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic"))))));
29
+ },
30
+ };
31
+ //# sourceMappingURL=stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../src/components/Tabs/stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,IAAI,GAAsB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,IAAI;CACY,CAAA;AAE7B,eAAe,IAAI,CAAA;AAInB,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,MAAM,EAAE,GAAG,EAAE;QACX,sDAAsD;QACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC5C,YAAY,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC,CAAA;QAED,OAAO,CACL,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;YACrE,oBAAC,IAAI,IAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAC,OAAO,EAAC,WAAW,EAAE,eAAe,GAAI;YAClG,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE;gBAC9F,SAAS,KAAK,OAAO,IAAI,CACxB;oBACE,oBAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAE1B;oBACZ,oBAAC,SAAS,2UAKE,CACX,CACJ;gBACA,SAAS,KAAK,OAAO,IAAI,CACxB;oBACE,oBAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAE1B;oBACZ,oBAAC,SAAS,4oBAQE,CACX,CACJ;gBACA,SAAS,KAAK,OAAO,IAAI,CACxB;oBACE,oBAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAE1B;oBACZ,oBAAC,SAAS,2UAKE,CACX,CACJ,CACG,CACF,CACP,CAAA;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const TabsContainerStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const TabStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
+ active: boolean;
5
+ }>> & string;
6
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/styles.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,mBAAmB,6NAG/B,CAAA;AAED,eAAO,MAAM,SAAS;YAAwB,OAAO;YAepD,CAAA"}
@@ -0,0 +1,22 @@
1
+ import styled from 'styled-components';
2
+ export const TabsContainerStyled = styled.div `
3
+ display: flex;
4
+ align-items: flex-end;
5
+ `;
6
+ export const TabStyled = styled.div `
7
+ padding: 8px 16px;
8
+ cursor: pointer;
9
+ border-radius: 24px 24px 0 0;
10
+ background: white;
11
+ opacity: ${props => (props.active ? 1 : 0.8)};
12
+ height: ${props => (props.active ? '45px' : '40px')};
13
+ min-width: 95px;
14
+ display: inline-flex;
15
+ justify-content: center;
16
+ align-items: center;
17
+ font-family: 'Nunito Sans', sans-serif;
18
+ font-weight: ${props => (props.active ? 'bold' : 'normal')};
19
+ color: ${props => (props.active ? 'var(--PrimaryColor, #000)' : 'var(--SecondaryColor, #666)')};
20
+ transition: opacity 0.3s;
21
+ `;
22
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Tabs/styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAG5C,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAqB;;;;;aAK3C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;;iBAMpC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;WACjD,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,6BAA6B,CAAC;;CAE/F,CAAA"}