odaptos_design_system 2.0.5 → 2.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.
Files changed (357) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +112 -112
  3. package/dist/odaptos_design_system.cjs.development.js +35 -31
  4. package/dist/odaptos_design_system.cjs.development.js.map +1 -1
  5. package/dist/odaptos_design_system.cjs.production.min.js +1 -1
  6. package/dist/odaptos_design_system.cjs.production.min.js.map +1 -1
  7. package/dist/odaptos_design_system.esm.js +36 -32
  8. package/dist/odaptos_design_system.esm.js.map +1 -1
  9. package/package.json +103 -103
  10. package/src/Atoms/Avatar/Avatar.module.scss +72 -72
  11. package/src/Atoms/Avatar/Avatar.tsx +43 -43
  12. package/src/Atoms/Badge/Badge.modules.scss +108 -108
  13. package/src/Atoms/Badge/Badge.tsx +109 -109
  14. package/src/Atoms/Box/Box.module.scss +12 -12
  15. package/src/Atoms/Box/Box.tsx +18 -18
  16. package/src/Atoms/Buttons/Button.modules.scss +266 -266
  17. package/src/Atoms/Buttons/Button.tsx +69 -69
  18. package/src/Atoms/Buttons/IconButton.modules.scss +195 -195
  19. package/src/Atoms/Buttons/IconButton.tsx +65 -65
  20. package/src/Atoms/Cards/Card.modules.scss +12 -12
  21. package/src/Atoms/Cards/Card.tsx +24 -24
  22. package/src/Atoms/Cards/CardButton.modules.scss +23 -23
  23. package/src/Atoms/Cards/CardButton.tsx +14 -14
  24. package/src/Atoms/Checkbox/Checkbox.module.scss +5 -5
  25. package/src/Atoms/Checkbox/Checkbox.tsx +121 -121
  26. package/src/Atoms/ColorPicker/ColorPicker.modules.scss +46 -46
  27. package/src/Atoms/ColorPicker/ColorPicker.tsx +35 -35
  28. package/src/Atoms/DataProtectionDisclaimer/DataProtectionDisclaimer.tsx +23 -23
  29. package/src/Atoms/DataProtectionDisclaimer/data-protection-disclaimer.module.scss +14 -14
  30. package/src/Atoms/NumbersCode/NumbersCode.modules.scss +4 -4
  31. package/src/Atoms/NumbersCode/NumbersCode.tsx +224 -224
  32. package/src/Atoms/PopoverBeta/PopoverBeta.tsx +107 -107
  33. package/src/Atoms/QuestionButton/QuestionButton.module.scss +29 -29
  34. package/src/Atoms/QuestionButton/QuestionButton.tsx +26 -26
  35. package/src/Atoms/Radio/Radio.module.scss +9 -9
  36. package/src/Atoms/Radio/Radio.tsx +89 -89
  37. package/src/Atoms/Search/Search.tsx +32 -32
  38. package/src/Atoms/SquareText/SquareText.module.scss +7 -7
  39. package/src/Atoms/SquareText/SquareText.tsx +19 -19
  40. package/src/Atoms/Switch/Switch.module.scss +14 -14
  41. package/src/Atoms/Switch/Switch.tsx +64 -64
  42. package/src/Atoms/Tag/Tag.modules.scss +86 -86
  43. package/src/Atoms/Tag/Tag.tsx +134 -134
  44. package/src/Atoms/TimeInterval/TimeInterval.module.scss +5 -5
  45. package/src/Atoms/TimeInterval/TimeInterval.tsx +52 -52
  46. package/src/Atoms/Tooltip/Layout/TooltipCustomLayout.module.scss +54 -54
  47. package/src/Atoms/Tooltip/Layout/TooltipCustomLayout.tsx +140 -140
  48. package/src/Atoms/Tooltip/Tooltip.tsx +184 -184
  49. package/src/Atoms/Typography/Caption.modules.scss +17 -17
  50. package/src/Atoms/Typography/Caption.tsx +33 -33
  51. package/src/Atoms/Typography/Link.modules.scss +140 -140
  52. package/src/Atoms/Typography/Link.tsx +73 -73
  53. package/src/Atoms/Typography/Text.modules.scss +277 -277
  54. package/src/Atoms/Typography/Text.tsx +69 -69
  55. package/src/Atoms/Typography/TextForButton.modules.scss +29 -29
  56. package/src/Atoms/Typography/TextForButton.tsx +41 -41
  57. package/src/Atoms/Typography/TextForDropDownItem.modules.scss +31 -31
  58. package/src/Atoms/Typography/TextForDropDownItem.tsx +42 -42
  59. package/src/Atoms/Typography/TextWithLink.modules.scss +281 -281
  60. package/src/Atoms/Typography/TextWithLink.tsx +73 -73
  61. package/src/Atoms/Typography/Title.modules.scss +82 -82
  62. package/src/Atoms/Typography/Title.tsx +148 -148
  63. package/src/DesignTokens/ColorGuide/colors.ts +99 -99
  64. package/src/DesignTokens/Icons/Arrows/ArrowDoubleLineDownIcon.tsx +52 -52
  65. package/src/DesignTokens/Icons/Arrows/ArrowDoubleLineLeftIcon.tsx +52 -52
  66. package/src/DesignTokens/Icons/Arrows/ArrowDoubleLineRightIcon.tsx +52 -52
  67. package/src/DesignTokens/Icons/Arrows/ArrowDoubleLineUpIcon.tsx +52 -52
  68. package/src/DesignTokens/Icons/Arrows/ArrowFilledDownIcon.tsx +37 -37
  69. package/src/DesignTokens/Icons/Arrows/ArrowFilledLeftIcon.tsx +37 -37
  70. package/src/DesignTokens/Icons/Arrows/ArrowFilledRightIcon.tsx +37 -37
  71. package/src/DesignTokens/Icons/Arrows/ArrowFilledUpIcon.tsx +37 -37
  72. package/src/DesignTokens/Icons/Arrows/ArrowLineDownIcon.tsx +46 -46
  73. package/src/DesignTokens/Icons/Arrows/ArrowLineLeftIcon.tsx +46 -46
  74. package/src/DesignTokens/Icons/Arrows/ArrowLineRightIcon.tsx +46 -46
  75. package/src/DesignTokens/Icons/Arrows/ArrowLineUpIcon.tsx +46 -46
  76. package/src/DesignTokens/Icons/Arrows/ArrowPointerDown.tsx +52 -52
  77. package/src/DesignTokens/Icons/Arrows/ArrowPointerDownLeft.tsx +45 -45
  78. package/src/DesignTokens/Icons/Arrows/ArrowPointerDownRight.tsx +45 -45
  79. package/src/DesignTokens/Icons/Arrows/ArrowPointerLeft.tsx +52 -52
  80. package/src/DesignTokens/Icons/Arrows/ArrowPointerRight.tsx +52 -52
  81. package/src/DesignTokens/Icons/Arrows/ArrowPointerUp.tsx +52 -52
  82. package/src/DesignTokens/Icons/Arrows/ArrowPointerUpLeft.tsx +45 -45
  83. package/src/DesignTokens/Icons/Arrows/ArrowPointerUpRight.tsx +45 -45
  84. package/src/DesignTokens/Icons/Circled/AddCircledIcon.tsx +51 -51
  85. package/src/DesignTokens/Icons/Circled/AlertCircledIcon.tsx +64 -64
  86. package/src/DesignTokens/Icons/Circled/CheckedCircled.tsx +52 -52
  87. package/src/DesignTokens/Icons/Circled/InfoCircledIcon.tsx +64 -64
  88. package/src/DesignTokens/Icons/Circled/MinusCircledIcon.tsx +52 -52
  89. package/src/DesignTokens/Icons/Circled/NavigationCircledIcon.tsx +58 -58
  90. package/src/DesignTokens/Icons/Circled/QuestionCircledIcon.tsx +57 -57
  91. package/src/DesignTokens/Icons/Circled/RemoveCircledIcon.tsx +51 -51
  92. package/src/DesignTokens/Icons/Circled/SearchCircledIcon.tsx +58 -58
  93. package/src/DesignTokens/Icons/Circled/SettingsCircledIcon.tsx +51 -51
  94. package/src/DesignTokens/Icons/Equipment/CameraIcon.tsx +45 -45
  95. package/src/DesignTokens/Icons/Equipment/LaptopIcon.tsx +74 -74
  96. package/src/DesignTokens/Icons/Equipment/MicrophonePodcastIcon.tsx +38 -38
  97. package/src/DesignTokens/Icons/Equipment/MobileIcon.tsx +81 -81
  98. package/src/DesignTokens/Icons/Equipment/TvFlatScreenIcon.tsx +75 -75
  99. package/src/DesignTokens/Icons/Equipment/TvIcon.tsx +51 -51
  100. package/src/DesignTokens/Icons/Illustrations/AI_UserTest.tsx +544 -544
  101. package/src/DesignTokens/Icons/Illustrations/AngryIntervieweeFemale.tsx +163 -163
  102. package/src/DesignTokens/Icons/Illustrations/Blog.tsx +124 -124
  103. package/src/DesignTokens/Icons/Illustrations/EmotionsHeatMap.tsx +113 -113
  104. package/src/DesignTokens/Icons/Illustrations/Faq.tsx +74 -74
  105. package/src/DesignTokens/Icons/Illustrations/HappyMen.tsx +254 -254
  106. package/src/DesignTokens/Icons/Illustrations/IntegratedUsabilityScore.tsx +101 -101
  107. package/src/DesignTokens/Icons/Illustrations/InterviewTranscript.tsx +162 -162
  108. package/src/DesignTokens/Icons/Illustrations/InterviewTranscriptGreen.tsx +162 -162
  109. package/src/DesignTokens/Icons/Illustrations/MenShowingSomething.tsx +141 -141
  110. package/src/DesignTokens/Icons/Illustrations/MetaAnalyse.tsx +112 -112
  111. package/src/DesignTokens/Icons/Illustrations/MetaAnalyse2.tsx +74 -74
  112. package/src/DesignTokens/Icons/Illustrations/Non_Moderated.tsx +86 -86
  113. package/src/DesignTokens/Icons/Illustrations/OdaAccountPro.tsx +204 -204
  114. package/src/DesignTokens/Icons/Illustrations/OdaWaiting.tsx +339 -339
  115. package/src/DesignTokens/Icons/Illustrations/ScheduleTasks.tsx +118 -118
  116. package/src/DesignTokens/Icons/Illustrations/Sentiment.tsx +112 -112
  117. package/src/DesignTokens/Icons/Illustrations/Success.tsx +228 -228
  118. package/src/DesignTokens/Icons/Illustrations/UsabilityBrowser.tsx +127 -127
  119. package/src/DesignTokens/Icons/Illustrations/UserFlows.tsx +133 -133
  120. package/src/DesignTokens/Icons/Illustrations/UserPanel.tsx +127 -127
  121. package/src/DesignTokens/Icons/Illustrations/UxGuide.tsx +151 -151
  122. package/src/DesignTokens/Icons/Illustrations/VideoFlag.tsx +67 -67
  123. package/src/DesignTokens/Icons/Illustrations/VideoFlag2.tsx +69 -69
  124. package/src/DesignTokens/Icons/Illustrations/VideoFlagGreen.tsx +69 -69
  125. package/src/DesignTokens/Icons/Illustrations/WaitingMen.tsx +249 -249
  126. package/src/DesignTokens/Icons/Interaction/AccountIcon.tsx +39 -39
  127. package/src/DesignTokens/Icons/Interaction/AddIcon.tsx +51 -51
  128. package/src/DesignTokens/Icons/Interaction/AddTagIcon.tsx +47 -47
  129. package/src/DesignTokens/Icons/Interaction/AgendaIcon.tsx +76 -76
  130. package/src/DesignTokens/Icons/Interaction/BillingIcon.tsx +75 -75
  131. package/src/DesignTokens/Icons/Interaction/BinIcon.tsx +73 -73
  132. package/src/DesignTokens/Icons/Interaction/CheckedIcon.tsx +38 -38
  133. package/src/DesignTokens/Icons/Interaction/ClockIcon.tsx +58 -58
  134. package/src/DesignTokens/Icons/Interaction/CloseIcon.tsx +37 -37
  135. package/src/DesignTokens/Icons/Interaction/CogIcon.tsx +46 -46
  136. package/src/DesignTokens/Icons/Interaction/CopyPasteIcon.tsx +83 -83
  137. package/src/DesignTokens/Icons/Interaction/DragDropIcon.tsx +42 -42
  138. package/src/DesignTokens/Icons/Interaction/EditIcon.tsx +56 -56
  139. package/src/DesignTokens/Icons/Interaction/EditTextIcon.tsx +64 -64
  140. package/src/DesignTokens/Icons/Interaction/FilterIcon.tsx +49 -49
  141. package/src/DesignTokens/Icons/Interaction/LayoutIcon.tsx +46 -46
  142. package/src/DesignTokens/Icons/Interaction/LayoutLeftIcon.tsx +39 -39
  143. package/src/DesignTokens/Icons/Interaction/LayoutRightIcon.tsx +39 -39
  144. package/src/DesignTokens/Icons/Interaction/LockIcon.tsx +39 -39
  145. package/src/DesignTokens/Icons/Interaction/LogoutIcon.tsx +58 -58
  146. package/src/DesignTokens/Icons/Interaction/MenuHorizontalIcon.tsx +36 -36
  147. package/src/DesignTokens/Icons/Interaction/MenuVerticalIcon.tsx +57 -57
  148. package/src/DesignTokens/Icons/Interaction/MinusIcon.tsx +34 -34
  149. package/src/DesignTokens/Icons/Interaction/PencilWriteIcon.tsx +46 -46
  150. package/src/DesignTokens/Icons/Interaction/SearchIcon.tsx +52 -52
  151. package/src/DesignTokens/Icons/Interaction/SearchRemoveIcon.tsx +63 -63
  152. package/src/DesignTokens/Icons/Interaction/SettingsSliderIcon.tsx +45 -45
  153. package/src/DesignTokens/Icons/Interaction/ShareIcon.tsx +62 -62
  154. package/src/DesignTokens/Icons/Interaction/SortingIcon.tsx +39 -39
  155. package/src/DesignTokens/Icons/Interaction/TagAddIcon.tsx +46 -46
  156. package/src/DesignTokens/Icons/Interaction/TagEditIcon.tsx +46 -46
  157. package/src/DesignTokens/Icons/Interaction/TagRemoveIcon.tsx +46 -46
  158. package/src/DesignTokens/Icons/Interaction/TeamIcon.tsx +76 -76
  159. package/src/DesignTokens/Icons/Interaction/UnLockIcon.tsx +46 -46
  160. package/src/DesignTokens/Icons/Interaction/UndoIcon.tsx +46 -46
  161. package/src/DesignTokens/Icons/Interaction/UnlockedIcon.tsx +46 -46
  162. package/src/DesignTokens/Icons/Logos/LogoBeta.tsx +52 -52
  163. package/src/DesignTokens/Icons/Logos/LogoNormal.tsx +38 -38
  164. package/src/DesignTokens/Icons/Logos/LogoSmall.tsx +32 -32
  165. package/src/DesignTokens/Icons/Logos/LogoSquare.tsx +72 -72
  166. package/src/DesignTokens/Icons/Logos/LogoText.tsx +32 -32
  167. package/src/DesignTokens/Icons/Logos/LogoWhite.tsx +38 -38
  168. package/src/DesignTokens/Icons/MediaControl/CutClipIcon.tsx +39 -39
  169. package/src/DesignTokens/Icons/MediaControl/HangUpIcon.tsx +58 -58
  170. package/src/DesignTokens/Icons/MediaControl/MeetingIcon.tsx +45 -45
  171. package/src/DesignTokens/Icons/MediaControl/MicrophoneIcon.tsx +51 -51
  172. package/src/DesignTokens/Icons/MediaControl/MoveBackIcon.tsx +32 -32
  173. package/src/DesignTokens/Icons/MediaControl/MoveInIcon.tsx +59 -59
  174. package/src/DesignTokens/Icons/MediaControl/MuteIcon.tsx +51 -51
  175. package/src/DesignTokens/Icons/MediaControl/NoCameraIcon.tsx +54 -54
  176. package/src/DesignTokens/Icons/MediaControl/NoMicrophoneIcon.tsx +46 -46
  177. package/src/DesignTokens/Icons/MediaControl/PauseIcon.tsx +45 -45
  178. package/src/DesignTokens/Icons/MediaControl/PlayIcon.tsx +39 -39
  179. package/src/DesignTokens/Icons/MediaControl/PreviousIcon.tsx +49 -49
  180. package/src/DesignTokens/Icons/MediaControl/RecordIcon.tsx +40 -40
  181. package/src/DesignTokens/Icons/MediaControl/RecordingIcon.tsx +82 -82
  182. package/src/DesignTokens/Icons/MediaControl/StopRecordIcon.tsx +38 -38
  183. package/src/DesignTokens/Icons/MediaControl/TagIcon.tsx +46 -46
  184. package/src/DesignTokens/Icons/MediaControl/VolumeIcon.tsx +57 -57
  185. package/src/DesignTokens/Icons/Miscellaneous/AddSeatIcon.tsx +37 -37
  186. package/src/DesignTokens/Icons/Miscellaneous/AddUsersIcon.tsx +69 -69
  187. package/src/DesignTokens/Icons/Miscellaneous/AnonymizeIcon.tsx +46 -46
  188. package/src/DesignTokens/Icons/Miscellaneous/AppWindowPieIcon.tsx +39 -39
  189. package/src/DesignTokens/Icons/Miscellaneous/ArchiveIcon.tsx +39 -39
  190. package/src/DesignTokens/Icons/Miscellaneous/BillPdfIcon.tsx +37 -37
  191. package/src/DesignTokens/Icons/Miscellaneous/BinocularIcon.tsx +38 -38
  192. package/src/DesignTokens/Icons/Miscellaneous/BookFlipPageIcon.tsx +39 -39
  193. package/src/DesignTokens/Icons/Miscellaneous/BrainIcon.tsx +105 -105
  194. package/src/DesignTokens/Icons/Miscellaneous/BulbIcon.tsx +45 -45
  195. package/src/DesignTokens/Icons/Miscellaneous/CalendarIcon.tsx +46 -46
  196. package/src/DesignTokens/Icons/Miscellaneous/ChatBubbleIcon.tsx +68 -68
  197. package/src/DesignTokens/Icons/Miscellaneous/ChatIcon.tsx +37 -37
  198. package/src/DesignTokens/Icons/Miscellaneous/CheckoutIcon.tsx +37 -37
  199. package/src/DesignTokens/Icons/Miscellaneous/ClipIcon.tsx +57 -57
  200. package/src/DesignTokens/Icons/Miscellaneous/ContentPenWriteIcon.tsx +46 -46
  201. package/src/DesignTokens/Icons/Miscellaneous/CreditCardIcon.tsx +37 -37
  202. package/src/DesignTokens/Icons/Miscellaneous/DownloadIcon.tsx +78 -78
  203. package/src/DesignTokens/Icons/Miscellaneous/EarthIcon.tsx +58 -58
  204. package/src/DesignTokens/Icons/Miscellaneous/FaceCenterIcon.tsx +42 -42
  205. package/src/DesignTokens/Icons/Miscellaneous/FaceRecognitionIcon.tsx +88 -88
  206. package/src/DesignTokens/Icons/Miscellaneous/FileUploadIcon.tsx +65 -65
  207. package/src/DesignTokens/Icons/Miscellaneous/FilesIcon.tsx +51 -51
  208. package/src/DesignTokens/Icons/Miscellaneous/FillRecordIcon.tsx +39 -39
  209. package/src/DesignTokens/Icons/Miscellaneous/FilledTaskIcon.tsx +37 -37
  210. package/src/DesignTokens/Icons/Miscellaneous/FlashIcon.tsx +46 -46
  211. package/src/DesignTokens/Icons/Miscellaneous/FolderIcon.tsx +39 -39
  212. package/src/DesignTokens/Icons/Miscellaneous/GoogleIcon.tsx +67 -67
  213. package/src/DesignTokens/Icons/Miscellaneous/GroupIcon.tsx +46 -46
  214. package/src/DesignTokens/Icons/Miscellaneous/HardDriveIcon.tsx +58 -58
  215. package/src/DesignTokens/Icons/Miscellaneous/HelpIcon.tsx +37 -37
  216. package/src/DesignTokens/Icons/Miscellaneous/HelpIconAlt.tsx +33 -33
  217. package/src/DesignTokens/Icons/Miscellaneous/LanguageIcon.tsx +34 -34
  218. package/src/DesignTokens/Icons/Miscellaneous/LinkIcon.tsx +42 -42
  219. package/src/DesignTokens/Icons/Miscellaneous/ListToDoIcon.tsx +39 -39
  220. package/src/DesignTokens/Icons/Miscellaneous/MessagesBubbleSquareQuestionIcon.tsx +46 -46
  221. package/src/DesignTokens/Icons/Miscellaneous/MetaAnalyseIcon.tsx +74 -74
  222. package/src/DesignTokens/Icons/Miscellaneous/ModeratedIcon.tsx +88 -88
  223. package/src/DesignTokens/Icons/Miscellaneous/MultipleUsersIcon.tsx +46 -46
  224. package/src/DesignTokens/Icons/Miscellaneous/NbOfUsersIcon.tsx +64 -64
  225. package/src/DesignTokens/Icons/Miscellaneous/NeutralBackgroudIcon.tsx +42 -42
  226. package/src/DesignTokens/Icons/Miscellaneous/OfficeDrawerIcon.tsx +46 -46
  227. package/src/DesignTokens/Icons/Miscellaneous/OneColumnIcon.tsx +46 -46
  228. package/src/DesignTokens/Icons/Miscellaneous/RefreshIcon.tsx +54 -54
  229. package/src/DesignTokens/Icons/Miscellaneous/ReportIcon.tsx +70 -70
  230. package/src/DesignTokens/Icons/Miscellaneous/SeatIcon.tsx +36 -36
  231. package/src/DesignTokens/Icons/Miscellaneous/SendEmailIcon.tsx +51 -51
  232. package/src/DesignTokens/Icons/Miscellaneous/SendIcon.tsx +46 -46
  233. package/src/DesignTokens/Icons/Miscellaneous/SmartBrainIcon.tsx +52 -52
  234. package/src/DesignTokens/Icons/Miscellaneous/StarIcon.tsx +44 -44
  235. package/src/DesignTokens/Icons/Miscellaneous/TaskIcon.tsx +64 -64
  236. package/src/DesignTokens/Icons/Miscellaneous/TestDetailsIcon.tsx +37 -37
  237. package/src/DesignTokens/Icons/Miscellaneous/TestIcon.tsx +47 -47
  238. package/src/DesignTokens/Icons/Miscellaneous/ThreeColumnIcon.tsx +46 -46
  239. package/src/DesignTokens/Icons/Miscellaneous/TwoColumnIcon.tsx +46 -46
  240. package/src/DesignTokens/Icons/Miscellaneous/UnmoderatedIcon.tsx +63 -63
  241. package/src/DesignTokens/Icons/Miscellaneous/ViewIcon.tsx +39 -39
  242. package/src/DesignTokens/Icons/Miscellaneous/ViewOffIcon.tsx +39 -39
  243. package/src/DesignTokens/Icons/Miscellaneous/VoiceIcon.tsx +47 -47
  244. package/src/DesignTokens/Icons/Notifications/AlamBellIdleIcon.tsx +50 -50
  245. package/src/DesignTokens/Icons/Notifications/AlarmBellStatusIcon.tsx +56 -56
  246. package/src/DesignTokens/Icons/Notifications/ConversationIdleIcon.tsx +39 -39
  247. package/src/DesignTokens/Icons/Notifications/ConversationStatusIcon.tsx +54 -54
  248. package/src/DesignTokens/Icons/Notifications/NotifAlertIcon.tsx +41 -41
  249. package/src/DesignTokens/Icons/Other/DashedArrowSvg.tsx +38 -38
  250. package/src/DesignTokens/Icons/Other/ProjectHoverSvg.tsx +52 -52
  251. package/src/DesignTokens/Icons/Other/ProjectSvg.tsx +40 -40
  252. package/src/DesignTokens/Icons/Partners/Partner1.tsx +165 -165
  253. package/src/DesignTokens/Icons/Partners/Partner2.tsx +94 -94
  254. package/src/DesignTokens/Icons/Partners/Partner3.tsx +47 -47
  255. package/src/DesignTokens/Icons/Partners/Partner4.tsx +199 -199
  256. package/src/DesignTokens/Icons/Partners/Partner5.tsx +79 -79
  257. package/src/DesignTokens/Icons/Partners/Partner6.tsx +39 -39
  258. package/src/DesignTokens/Icons/Partners/Partner7.tsx +45 -45
  259. package/src/DesignTokens/Icons/Partners/Partner8.tsx +37 -37
  260. package/src/DesignTokens/Icons/Partners/Partner9.tsx +63 -63
  261. package/src/DesignTokens/Icons/index.ts +197 -197
  262. package/src/Molecules/Accordion/Accordion.modules.scss +41 -41
  263. package/src/Molecules/Accordion/Accordion.tsx +49 -49
  264. package/src/Molecules/ChatMessage/ChatMessage.module.scss +161 -161
  265. package/src/Molecules/ChatMessage/ChatMessage.tsx +110 -110
  266. package/src/Molecules/FeaturesTable/FeaturesTable.module.scss +212 -212
  267. package/src/Molecules/FeaturesTable/FeaturesTable.tsx +35 -35
  268. package/src/Molecules/FeaturesTable/components/TableBody/TableBody.tsx +54 -54
  269. package/src/Molecules/FeaturesTable/components/TableBody/components/FeatureGroup.tsx +36 -36
  270. package/src/Molecules/FeaturesTable/components/TableBody/components/FeatureRow.tsx +64 -64
  271. package/src/Molecules/FeaturesTable/components/TableBody/components/RowCell.tsx +29 -29
  272. package/src/Molecules/FeaturesTable/components/TableBody/components/SectionTitleRow.tsx +16 -16
  273. package/src/Molecules/FeaturesTable/components/TableHeader/TableHeader.tsx +37 -37
  274. package/src/Molecules/FeaturesTable/components/TableHeader/components/HeaderCell.tsx +69 -69
  275. package/src/Molecules/Interviews/Chat.modules.scss +221 -221
  276. package/src/Molecules/Interviews/Chat.tsx +374 -374
  277. package/src/Molecules/Interviews/ChatInput.modules.scss +33 -33
  278. package/src/Molecules/Interviews/ChatInput.tsx +42 -42
  279. package/src/Molecules/Interviews/CircleIconButton.modules.scss +51 -51
  280. package/src/Molecules/Interviews/CircledIconButton.tsx +37 -37
  281. package/src/Molecules/Interviews/ControlsBar.modules.scss +62 -62
  282. package/src/Molecules/Interviews/ControlsBar.tsx +247 -246
  283. package/src/Molecules/Interviews/EndRecording.module.scss +20 -20
  284. package/src/Molecules/Interviews/EndRecording.tsx +31 -31
  285. package/src/Molecules/Interviews/InterviewButton.modules.scss +112 -112
  286. package/src/Molecules/Interviews/InterviewButton.tsx +54 -54
  287. package/src/Molecules/Interviews/MarkUpBar.modules.scss +36 -36
  288. package/src/Molecules/Interviews/MarkUpBar.tsx +67 -67
  289. package/src/Molecules/Interviews/Scenario.modules.scss +21 -21
  290. package/src/Molecules/Interviews/Scenario.tsx +53 -53
  291. package/src/Molecules/Interviews/SusExplanation.module.scss +11 -11
  292. package/src/Molecules/Interviews/SusExplanation.tsx +17 -17
  293. package/src/Molecules/Interviews/Task.modules.scss +294 -294
  294. package/src/Molecules/Interviews/Task.tsx +258 -258
  295. package/src/Molecules/Interviews/WelcomeMessage.modules.scss +28 -28
  296. package/src/Molecules/Interviews/WelcomeMessage.tsx +33 -33
  297. package/src/Molecules/LogoSlider/LogoSlider.module.scss +6 -6
  298. package/src/Molecules/LogoSlider/LogoSlider.tsx +55 -55
  299. package/src/Molecules/Notifications/Banner.modules.scss +160 -160
  300. package/src/Molecules/Notifications/Banner.tsx +134 -134
  301. package/src/Molecules/Notifications/NotificationIcon.tsx +26 -26
  302. package/src/Molecules/Notifications/Toast.modules.scss +87 -87
  303. package/src/Molecules/Notifications/Toast.tsx +90 -90
  304. package/src/Molecules/PricingCard/PricingCard.module.scss +120 -120
  305. package/src/Molecules/PricingCard/PricingCard.tsx +284 -284
  306. package/src/Molecules/StarRating/StarRating.module.scss +24 -24
  307. package/src/Molecules/StarRating/StarRating.tsx +71 -71
  308. package/src/Molecules/Tabs/Tabs.tsx +83 -83
  309. package/src/Molecules/Tabs/TabsUnderLine.tsx +200 -199
  310. package/src/Molecules/Tabs/tabs.modules.scss +60 -60
  311. package/src/Molecules/Tabs/tabsUnderline.modules.scss +63 -63
  312. package/src/Molecules/Thematic/Thematic.modules.scss +121 -121
  313. package/src/Molecules/Thematic/Thematic.tsx +458 -458
  314. package/src/Molecules/ToggleTab/ToggleTab.module.scss +37 -37
  315. package/src/Molecules/ToggleTab/ToggleTab.tsx +118 -118
  316. package/src/Molecules/UserIndicator/UserIndicator.module.scss +16 -16
  317. package/src/Molecules/UserIndicator/UserIndicator.tsx +58 -58
  318. package/src/Organisms/DatePicker/DatePicker.modules.scss +68 -68
  319. package/src/Organisms/DatePicker/DatePicker.tsx +268 -268
  320. package/src/Organisms/FormQuestions/FormQuestions.module.scss +52 -52
  321. package/src/Organisms/FormQuestions/FormQuestions.tsx +78 -78
  322. package/src/Organisms/Modal/Modal.modules.scss +66 -66
  323. package/src/Organisms/Modal/Modal.tsx +163 -163
  324. package/src/Organisms/MultiSelect/MultiSelect.modules.scss +78 -78
  325. package/src/Organisms/MultiSelect/MultiSelect.tsx +303 -303
  326. package/src/Organisms/MultiSelect/MultiSelectWithCategories.modules.scss +78 -78
  327. package/src/Organisms/MultiSelect/MultiSelectWithCategories.tsx +325 -325
  328. package/src/Organisms/NumberField/NumberField.module.scss +60 -60
  329. package/src/Organisms/NumberField/NumberField.tsx +244 -244
  330. package/src/Organisms/PasswordField/PasswordField.module.scss +55 -55
  331. package/src/Organisms/PasswordField/PasswordField.tsx +231 -231
  332. package/src/Organisms/RatingScale/RatingScale.module.scss +26 -26
  333. package/src/Organisms/RatingScale/RatingScale.tsx +104 -104
  334. package/src/Organisms/SingleSelect/SingleSelect.modules.scss +64 -64
  335. package/src/Organisms/SingleSelect/SingleSelect.tsx +271 -271
  336. package/src/Organisms/Table/Table.modules.scss +6 -6
  337. package/src/Organisms/Table/TableFooter.modules.scss +56 -56
  338. package/src/Organisms/Table/TableFooter.tsx +43 -43
  339. package/src/Organisms/Table/header.modules.scss +24 -24
  340. package/src/Organisms/Table/header.tsx +80 -80
  341. package/src/Organisms/Table/index.tsx +79 -79
  342. package/src/Organisms/Table/rows.modules.scss +37 -37
  343. package/src/Organisms/Table/rows.tsx +86 -86
  344. package/src/Organisms/Table/table-cell.modules.scss +13 -13
  345. package/src/Organisms/Table/table-cell.tsx +40 -40
  346. package/src/Organisms/TextInput/TextInput.modules.scss +55 -55
  347. package/src/Organisms/TextInput/TextInput.tsx +222 -222
  348. package/src/Organisms/Textarea/Textarea.module.scss +19 -19
  349. package/src/Organisms/Textarea/Textarea.tsx +97 -97
  350. package/src/Organisms/TimePicker/TimePicker.modules.scss +67 -67
  351. package/src/Organisms/TimePicker/TimePicker.tsx +242 -242
  352. package/src/__mocks__/PricingPageData/pricingPageMockedData.js +2120 -2120
  353. package/src/hooks/useClickOutside.ts +30 -30
  354. package/src/index.ts +74 -74
  355. package/src/utils/changeColorLuminance.ts +22 -22
  356. package/src/utils/getIconSize.ts +7 -7
  357. package/src/utils/getReadableTextColor.ts +36 -36
@@ -1,222 +1,222 @@
1
- import React from 'react';
2
- import { InputAdornment, TextField } from '@mui/material';
3
- import styles from './TextInput.modules.scss';
4
- import { styled } from '@mui/material/styles';
5
- import { Text, colors } from '../../';
6
-
7
- const CssTextField = styled(TextField)({
8
- '& .MuiInputBase-input': {
9
- color: '#26292E',
10
- fontFamily: 'OpenSans !important',
11
- fontSize: '1rem',
12
- },
13
- '& .MuiInputBase-input.Mui-disabled': {
14
- color: '#26292E',
15
- fontFamily: 'OpenSans !important',
16
- fontSize: '1rem',
17
- },
18
- '& .MuiInputBase-input.MuiOutlinedInput-input.Mui-disabled': {
19
- WebkitTextFillColor: colors.neutral_600,
20
- },
21
- '& .Mui-error': {
22
- color: '#26292E',
23
- },
24
- '& .MuiFormHelperText-root': {
25
- color: '#F54C4C',
26
- },
27
- '& .MuiFormLabel-asterisk': {
28
- color: '#F54C4C',
29
- },
30
- '& .MuiOutlinedInput-root.Mui-disabled': {
31
- cursor: 'not-allowed',
32
- color: '#26292E',
33
- fieldset: {
34
- borderColor: '#BCBDBE',
35
- },
36
- '&:hover fieldset': {
37
- borderColor: '#BCBDBE',
38
- },
39
- },
40
- '& label': {
41
- color: '#26292E',
42
- fontFamily: 'OpenSans !important',
43
- fontSize: '1rem',
44
- },
45
- '& label.Mui-disabled.Mui-error': {
46
- color: '#26292E',
47
- opacity: 0.5,
48
- fontFamily: 'OpenSans !important',
49
- fontSize: '1rem',
50
- },
51
- '& label.Mui-focused': {
52
- color: '#26292E',
53
- fontFamily: 'OpenSans',
54
- fontSize: '1rem',
55
- backgroundColor: 'transparent',
56
- marginRight: 5,
57
- paddingRight: 5,
58
- },
59
- '& .MuiOutlinedInput-root': {
60
- fontFamily: 'OpenSans',
61
- '& fieldset': {
62
- borderColor: '#96989A',
63
- },
64
- '& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button': {
65
- display: 'none',
66
- },
67
- '& input[type=number]': {
68
- MozAppearance: 'textfield',
69
- },
70
- '&:hover fieldset': {
71
- borderColor: '#0077FF',
72
- },
73
- '&.Mui-focused fieldset': {
74
- borderColor: '#0077FF',
75
- },
76
- '&.Mui-error fieldset': {
77
- borderColor: '#F54C4C',
78
- },
79
- '&.Mui-disabled .Mui-focused fieldset': {
80
- borderColor: 'rgba(0, 119, 255, 0.5)',
81
- },
82
- '& .MuiAutocomplete-endAdornment': {
83
- height: '99%',
84
- marginTop: '-0.20rem',
85
- '& .MuiButtonBase-root': {
86
- height: '99%',
87
- '&:hover': {
88
- background: 'transparent',
89
- },
90
- },
91
- },
92
- },
93
- });
94
-
95
- interface InputProps {
96
- className?: string;
97
- rightIcon?: JSX.Element;
98
- leftIcon?: JSX.Element;
99
- variant?: 'filled' | 'standard' | 'outlined';
100
- topLabel?: string | undefined;
101
- topLabelWeight?: 'semi-bold' | 'bold' | 'regular';
102
- topLabelSize?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
103
- placeholder?: string;
104
- label?: string;
105
- required?: boolean | undefined;
106
- name?: string;
107
- value: string | number;
108
- onChange: (event: any) => void;
109
- onBlur?: (event: any) => void;
110
- onKeyDown?: () => void;
111
- disabled?: boolean;
112
- type?: 'number' | 'text' | 'password';
113
- id?: string;
114
- helperText?: string;
115
- errorText?: string;
116
- error?: boolean;
117
- multiline?: boolean;
118
- inputProps?: any;
119
- }
120
-
121
- /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=738-5899&mode=dev */
122
- export const TextInput = (props: InputProps) => {
123
- const {
124
- className,
125
- rightIcon,
126
- leftIcon,
127
- variant,
128
- topLabel,
129
- topLabelWeight,
130
- topLabelSize,
131
- placeholder = '',
132
- label,
133
- required = false,
134
- name,
135
- value,
136
- onChange,
137
- onBlur,
138
- disabled,
139
- error,
140
- type,
141
- id,
142
- helperText,
143
- errorText,
144
- multiline,
145
- inputProps,
146
- onKeyDown,
147
- } = props;
148
-
149
- const endAdornment = rightIcon ? (
150
- <InputAdornment position="end">{rightIcon}</InputAdornment>
151
- ) : undefined;
152
- const startAdornment = leftIcon ? (
153
- <InputAdornment position="start">{leftIcon}</InputAdornment>
154
- ) : undefined;
155
-
156
- const InputLabelProps = label === undefined ? { shrink: false } : {};
157
-
158
- return (
159
- <div className={`${className} ${styles.input}`} id={id}>
160
- {topLabel && (
161
- <Text
162
- text={`${topLabel ? topLabel : ''}`}
163
- weight={topLabelWeight || 'bold'}
164
- size={topLabelSize || 'base'}
165
- className={styles.input_top_label}
166
- required={required}
167
- />
168
- )}
169
- <CssTextField
170
- fullWidth
171
- size="small"
172
- InputProps={{
173
- endAdornment,
174
- startAdornment,
175
- style: {
176
- fontFamily: 'OpenSans',
177
- fontSize: '1rem',
178
- },
179
- }}
180
- InputLabelProps={{
181
- style: { fontFamily: 'OpenSans', fontSize: '1rem' },
182
- ...InputLabelProps,
183
- }}
184
- inputProps={inputProps}
185
- variant={variant}
186
- onChange={onChange}
187
- label={`${label && topLabel === undefined ? label : ''}`}
188
- placeholder={`${placeholder}`}
189
- name={name}
190
- type={type ?? 'text'}
191
- value={value ? value : ''}
192
- disabled={disabled}
193
- required={required}
194
- error={error}
195
- onBlur={onBlur}
196
- multiline={multiline}
197
- onKeyUp={(e: any) => {
198
- if (e.key === 'Enter' && onKeyDown) {
199
- onKeyDown();
200
- }
201
- }}
202
- />
203
- {errorText && error && (
204
- <Text
205
- size="xs"
206
- color="#F54C4C"
207
- italic
208
- text={errorText}
209
- className={styles.text_below}
210
- />
211
- )}
212
- {helperText && (
213
- <Text
214
- size="xs"
215
- italic
216
- text={helperText}
217
- className={styles.text_below}
218
- />
219
- )}
220
- </div>
221
- );
222
- };
1
+ import React from 'react';
2
+ import { InputAdornment, TextField } from '@mui/material';
3
+ import styles from './TextInput.modules.scss';
4
+ import { styled } from '@mui/material/styles';
5
+ import { Text, colors } from '../../';
6
+
7
+ const CssTextField = styled(TextField)({
8
+ '& .MuiInputBase-input': {
9
+ color: '#26292E',
10
+ fontFamily: 'OpenSans !important',
11
+ fontSize: '1rem',
12
+ },
13
+ '& .MuiInputBase-input.Mui-disabled': {
14
+ color: '#26292E',
15
+ fontFamily: 'OpenSans !important',
16
+ fontSize: '1rem',
17
+ },
18
+ '& .MuiInputBase-input.MuiOutlinedInput-input.Mui-disabled': {
19
+ WebkitTextFillColor: colors.neutral_600,
20
+ },
21
+ '& .Mui-error': {
22
+ color: '#26292E',
23
+ },
24
+ '& .MuiFormHelperText-root': {
25
+ color: '#F54C4C',
26
+ },
27
+ '& .MuiFormLabel-asterisk': {
28
+ color: '#F54C4C',
29
+ },
30
+ '& .MuiOutlinedInput-root.Mui-disabled': {
31
+ cursor: 'not-allowed',
32
+ color: '#26292E',
33
+ fieldset: {
34
+ borderColor: '#BCBDBE',
35
+ },
36
+ '&:hover fieldset': {
37
+ borderColor: '#BCBDBE',
38
+ },
39
+ },
40
+ '& label': {
41
+ color: '#26292E',
42
+ fontFamily: 'OpenSans !important',
43
+ fontSize: '1rem',
44
+ },
45
+ '& label.Mui-disabled.Mui-error': {
46
+ color: '#26292E',
47
+ opacity: 0.5,
48
+ fontFamily: 'OpenSans !important',
49
+ fontSize: '1rem',
50
+ },
51
+ '& label.Mui-focused': {
52
+ color: '#26292E',
53
+ fontFamily: 'OpenSans',
54
+ fontSize: '1rem',
55
+ backgroundColor: 'transparent',
56
+ marginRight: 5,
57
+ paddingRight: 5,
58
+ },
59
+ '& .MuiOutlinedInput-root': {
60
+ fontFamily: 'OpenSans',
61
+ '& fieldset': {
62
+ borderColor: '#96989A',
63
+ },
64
+ '& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button': {
65
+ display: 'none',
66
+ },
67
+ '& input[type=number]': {
68
+ MozAppearance: 'textfield',
69
+ },
70
+ '&:hover fieldset': {
71
+ borderColor: '#0077FF',
72
+ },
73
+ '&.Mui-focused fieldset': {
74
+ borderColor: '#0077FF',
75
+ },
76
+ '&.Mui-error fieldset': {
77
+ borderColor: '#F54C4C',
78
+ },
79
+ '&.Mui-disabled .Mui-focused fieldset': {
80
+ borderColor: 'rgba(0, 119, 255, 0.5)',
81
+ },
82
+ '& .MuiAutocomplete-endAdornment': {
83
+ height: '99%',
84
+ marginTop: '-0.20rem',
85
+ '& .MuiButtonBase-root': {
86
+ height: '99%',
87
+ '&:hover': {
88
+ background: 'transparent',
89
+ },
90
+ },
91
+ },
92
+ },
93
+ });
94
+
95
+ interface InputProps {
96
+ className?: string;
97
+ rightIcon?: JSX.Element;
98
+ leftIcon?: JSX.Element;
99
+ variant?: 'filled' | 'standard' | 'outlined';
100
+ topLabel?: string | undefined;
101
+ topLabelWeight?: 'semi-bold' | 'bold' | 'regular';
102
+ topLabelSize?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
103
+ placeholder?: string;
104
+ label?: string;
105
+ required?: boolean | undefined;
106
+ name?: string;
107
+ value: string | number;
108
+ onChange: (event: any) => void;
109
+ onBlur?: (event: any) => void;
110
+ onKeyDown?: () => void;
111
+ disabled?: boolean;
112
+ type?: 'number' | 'text' | 'password';
113
+ id?: string;
114
+ helperText?: string;
115
+ errorText?: string;
116
+ error?: boolean;
117
+ multiline?: boolean;
118
+ inputProps?: any;
119
+ }
120
+
121
+ /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=738-5899&mode=dev */
122
+ export const TextInput = (props: InputProps) => {
123
+ const {
124
+ className,
125
+ rightIcon,
126
+ leftIcon,
127
+ variant,
128
+ topLabel,
129
+ topLabelWeight,
130
+ topLabelSize,
131
+ placeholder = '',
132
+ label,
133
+ required = false,
134
+ name,
135
+ value,
136
+ onChange,
137
+ onBlur,
138
+ disabled,
139
+ error,
140
+ type,
141
+ id,
142
+ helperText,
143
+ errorText,
144
+ multiline,
145
+ inputProps,
146
+ onKeyDown,
147
+ } = props;
148
+
149
+ const endAdornment = rightIcon ? (
150
+ <InputAdornment position="end">{rightIcon}</InputAdornment>
151
+ ) : undefined;
152
+ const startAdornment = leftIcon ? (
153
+ <InputAdornment position="start">{leftIcon}</InputAdornment>
154
+ ) : undefined;
155
+
156
+ const InputLabelProps = label === undefined ? { shrink: false } : {};
157
+
158
+ return (
159
+ <div className={`${className} ${styles.input}`} id={id}>
160
+ {topLabel && (
161
+ <Text
162
+ text={`${topLabel ? topLabel : ''}`}
163
+ weight={topLabelWeight || 'bold'}
164
+ size={topLabelSize || 'base'}
165
+ className={styles.input_top_label}
166
+ required={required}
167
+ />
168
+ )}
169
+ <CssTextField
170
+ fullWidth
171
+ size="small"
172
+ InputProps={{
173
+ endAdornment,
174
+ startAdornment,
175
+ style: {
176
+ fontFamily: 'OpenSans',
177
+ fontSize: '1rem',
178
+ },
179
+ }}
180
+ InputLabelProps={{
181
+ style: { fontFamily: 'OpenSans', fontSize: '1rem' },
182
+ ...InputLabelProps,
183
+ }}
184
+ inputProps={inputProps}
185
+ variant={variant}
186
+ onChange={onChange}
187
+ label={`${label && topLabel === undefined ? label : ''}`}
188
+ placeholder={`${placeholder}`}
189
+ name={name}
190
+ type={type ?? 'text'}
191
+ value={value ? value : ''}
192
+ disabled={disabled}
193
+ required={required}
194
+ error={error}
195
+ onBlur={onBlur}
196
+ multiline={multiline}
197
+ onKeyUp={(e: any) => {
198
+ if (e.key === 'Enter' && onKeyDown) {
199
+ onKeyDown();
200
+ }
201
+ }}
202
+ />
203
+ {errorText && error && (
204
+ <Text
205
+ size="xs"
206
+ color="#F54C4C"
207
+ italic
208
+ text={errorText}
209
+ className={styles.text_below}
210
+ />
211
+ )}
212
+ {helperText && (
213
+ <Text
214
+ size="xs"
215
+ italic
216
+ text={helperText}
217
+ className={styles.text_below}
218
+ />
219
+ )}
220
+ </div>
221
+ );
222
+ };
@@ -1,19 +1,19 @@
1
- .text_area_container {
2
- width: 100%;
3
-
4
- .helperTexts {
5
- display: flex;
6
- justify-content: space-between;
7
- padding: 0.25rem 0.5rem 0.25rem 0.75rem;
8
-
9
- .counter {
10
- margin-left: auto;
11
- }
12
- }
13
-
14
- font-family: OpenSans;
15
- font-size: 1rem;
16
- font-style: normal;
17
- font-weight: 400;
18
- line-height: 150%;
19
- }
1
+ .text_area_container {
2
+ width: 100%;
3
+
4
+ .helperTexts {
5
+ display: flex;
6
+ justify-content: space-between;
7
+ padding: 0.25rem 0.5rem 0.25rem 0.75rem;
8
+
9
+ .counter {
10
+ margin-left: auto;
11
+ }
12
+ }
13
+
14
+ font-family: OpenSans;
15
+ font-size: 1rem;
16
+ font-style: normal;
17
+ font-weight: 400;
18
+ line-height: 150%;
19
+ }
@@ -1,97 +1,97 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { TextInput, Text } from '../../';
3
-
4
- import styles from './Textarea.module.scss';
5
-
6
- interface TextareaProps {
7
- className?: string;
8
- topLabel?: string;
9
- topLabelWeight?: 'semi-bold' | 'bold' | 'regular';
10
- topLabelSize?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
11
- placeholder?: string;
12
- label?: string;
13
- required?: boolean;
14
- name?: string;
15
- value: string | number;
16
- onChange: (event: any) => void;
17
- onBlur?: (event: any) => void;
18
- onKeyDown?: () => void;
19
- id?: string;
20
- error?: boolean;
21
- maxCharacters: number;
22
- errorText?: string;
23
- helperText?: string;
24
- disabled?: boolean;
25
- }
26
-
27
- /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=738-6407&mode=dev */
28
- export const Textarea = ({
29
- name,
30
- label,
31
- className,
32
- id,
33
- onChange,
34
- onBlur,
35
- placeholder,
36
- value,
37
- maxCharacters,
38
- topLabel,
39
- topLabelWeight,
40
- topLabelSize,
41
- errorText,
42
- helperText,
43
- error,
44
- disabled,
45
- required = false,
46
- onKeyDown,
47
- }: TextareaProps) => {
48
- const [charCount, setCharCount] = useState(0);
49
-
50
- const handleChange = (e: any) => {
51
- const newCharCount = e.target.value.length;
52
- if (newCharCount <= maxCharacters) {
53
- setCharCount(newCharCount);
54
- onChange(e);
55
- }
56
- };
57
-
58
- useEffect(() => {
59
- setCharCount(String(value).length);
60
- }, []);
61
-
62
- return (
63
- <div className={styles.text_area_container}>
64
- <TextInput
65
- name={name}
66
- variant="outlined"
67
- multiline
68
- label={label}
69
- placeholder={placeholder}
70
- className={className}
71
- id={id}
72
- onChange={handleChange}
73
- onBlur={onBlur}
74
- onKeyDown={onKeyDown}
75
- inputProps={{ maxLength: maxCharacters }}
76
- topLabel={topLabel}
77
- value={value}
78
- error={error}
79
- required={required}
80
- disabled={disabled}
81
- topLabelWeight={topLabelWeight}
82
- topLabelSize={topLabelSize}
83
- />
84
- <div className={styles.helperTexts}>
85
- {helperText && <Text text={helperText} size="xs" weight="regular" />}
86
- {errorText && error && (
87
- <Text text={errorText} size="xs" weight="regular" color="#F54C4C" />
88
- )}
89
- <Text
90
- text={`${charCount} / ${maxCharacters}`}
91
- size="xs"
92
- className={styles.counter}
93
- />
94
- </div>
95
- </div>
96
- );
97
- };
1
+ import React, { useEffect, useState } from 'react';
2
+ import { TextInput, Text } from '../../';
3
+
4
+ import styles from './Textarea.module.scss';
5
+
6
+ interface TextareaProps {
7
+ className?: string;
8
+ topLabel?: string;
9
+ topLabelWeight?: 'semi-bold' | 'bold' | 'regular';
10
+ topLabelSize?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
11
+ placeholder?: string;
12
+ label?: string;
13
+ required?: boolean;
14
+ name?: string;
15
+ value: string | number;
16
+ onChange: (event: any) => void;
17
+ onBlur?: (event: any) => void;
18
+ onKeyDown?: () => void;
19
+ id?: string;
20
+ error?: boolean;
21
+ maxCharacters: number;
22
+ errorText?: string;
23
+ helperText?: string;
24
+ disabled?: boolean;
25
+ }
26
+
27
+ /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=738-6407&mode=dev */
28
+ export const Textarea = ({
29
+ name,
30
+ label,
31
+ className,
32
+ id,
33
+ onChange,
34
+ onBlur,
35
+ placeholder,
36
+ value,
37
+ maxCharacters,
38
+ topLabel,
39
+ topLabelWeight,
40
+ topLabelSize,
41
+ errorText,
42
+ helperText,
43
+ error,
44
+ disabled,
45
+ required = false,
46
+ onKeyDown,
47
+ }: TextareaProps) => {
48
+ const [charCount, setCharCount] = useState(0);
49
+
50
+ const handleChange = (e: any) => {
51
+ const newCharCount = e.target.value.length;
52
+ if (newCharCount <= maxCharacters) {
53
+ setCharCount(newCharCount);
54
+ onChange(e);
55
+ }
56
+ };
57
+
58
+ useEffect(() => {
59
+ setCharCount(String(value).length);
60
+ }, []);
61
+
62
+ return (
63
+ <div className={styles.text_area_container}>
64
+ <TextInput
65
+ name={name}
66
+ variant="outlined"
67
+ multiline
68
+ label={label}
69
+ placeholder={placeholder}
70
+ className={className}
71
+ id={id}
72
+ onChange={handleChange}
73
+ onBlur={onBlur}
74
+ onKeyDown={onKeyDown}
75
+ inputProps={{ maxLength: maxCharacters }}
76
+ topLabel={topLabel}
77
+ value={value}
78
+ error={error}
79
+ required={required}
80
+ disabled={disabled}
81
+ topLabelWeight={topLabelWeight}
82
+ topLabelSize={topLabelSize}
83
+ />
84
+ <div className={styles.helperTexts}>
85
+ {helperText && <Text text={helperText} size="xs" weight="regular" />}
86
+ {errorText && error && (
87
+ <Text text={errorText} size="xs" weight="regular" color="#F54C4C" />
88
+ )}
89
+ <Text
90
+ text={`${charCount} / ${maxCharacters}`}
91
+ size="xs"
92
+ className={styles.counter}
93
+ />
94
+ </div>
95
+ </div>
96
+ );
97
+ };