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,134 +1,134 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import {
3
- Title,
4
- IconButton,
5
- AlertCircledIcon,
6
- CheckedCircled,
7
- InfoCircledIcon,
8
- RemoveCircledIcon,
9
- } from '../../';
10
- import styles from './Banner.modules.scss';
11
-
12
- interface BannerProps extends HTMLAttributes<HTMLDivElement> {
13
- title?: string;
14
- content?: string;
15
- textLink?: string;
16
- link?: string;
17
- className?: string;
18
- onClose?: () => void;
19
- type: 'error' | 'warning' | 'success' | 'info';
20
- }
21
-
22
- /**
23
- * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33150&mode=dev
24
- */
25
- export const Banner = ({
26
- title,
27
- content,
28
- textLink,
29
- link,
30
- className,
31
- type,
32
- onClose,
33
- ...props
34
- }: BannerProps) => {
35
- const getBannerIcon = () => {
36
- if (type === 'error') {
37
- return <AlertCircledIcon fill="#98312E" stroke="#98312E" size="xl" />;
38
- } else if (type === 'warning') {
39
- return <AlertCircledIcon fill="#9E7200" stroke="#9E7200" size="xl" />;
40
- } else if (type === 'success') {
41
- return <CheckedCircled stroke="#3C743D" fill="#3C743D" size="xl" />;
42
- } else {
43
- return <InfoCircledIcon stroke="#004799" fill="#004799" size="xl" />;
44
- }
45
- };
46
-
47
- const getTextColor = () => {
48
- if (type === 'error') {
49
- return '#98312E';
50
- } else if (type === 'warning') {
51
- return '#9E7200';
52
- } else if (type === 'success') {
53
- return '#3C743D';
54
- } else {
55
- return '#004799';
56
- }
57
- };
58
-
59
- const getBannerColor = () => {
60
- if (type === 'error') {
61
- return styles.notification_banner_error;
62
- } else if (type === 'warning') {
63
- return styles.notification_banner_warning;
64
- } else if (type === 'success') {
65
- return styles.notification_banner_success;
66
- } else {
67
- return styles.notification_banner_info;
68
- }
69
- };
70
- const getIconButtonColor = () => {
71
- if (type === 'error') {
72
- return styles.icon_button_error;
73
- } else if (type === 'warning') {
74
- return styles.icon_button_warning;
75
- } else if (type === 'success') {
76
- return styles.icon_button_success;
77
- } else {
78
- return styles.icon_button_info;
79
- }
80
- };
81
- const getContentColor = () => {
82
- if (type === 'error') {
83
- return styles.banner_content_error;
84
- } else if (type === 'warning') {
85
- return styles.banner_content_warning;
86
- } else if (type === 'success') {
87
- return styles.banner_content_success;
88
- } else {
89
- return styles.banner_content_info;
90
- }
91
- };
92
-
93
- return (
94
- <div
95
- {...props}
96
- className={`${
97
- styles.notification_banner
98
- } ${getBannerColor()} ${className}`}
99
- >
100
- <div className={styles.notification_banner_header}>
101
- {getBannerIcon()}
102
- {title && (
103
- <Title
104
- text={title}
105
- weight="semi-bold"
106
- size="base"
107
- color={getTextColor()}
108
- />
109
- )}
110
- {onClose && (
111
- <IconButton
112
- icon={<RemoveCircledIcon />}
113
- onClick={() => {
114
- onClose();
115
- }}
116
- size="xs"
117
- variant="tertiary"
118
- className={`${styles.icon_btn_custom} ${getIconButtonColor()}`}
119
- />
120
- )}
121
- </div>
122
-
123
- {content && (
124
- <div
125
- dangerouslySetInnerHTML={{
126
- __html: content,
127
- }}
128
- style={{ color: getTextColor() }}
129
- className={getContentColor()}
130
- />
131
- )}
132
- </div>
133
- );
134
- };
1
+ import React, { HTMLAttributes } from 'react';
2
+ import {
3
+ Title,
4
+ IconButton,
5
+ AlertCircledIcon,
6
+ CheckedCircled,
7
+ InfoCircledIcon,
8
+ RemoveCircledIcon,
9
+ } from '../../';
10
+ import styles from './Banner.modules.scss';
11
+
12
+ interface BannerProps extends HTMLAttributes<HTMLDivElement> {
13
+ title?: string;
14
+ content?: string;
15
+ textLink?: string;
16
+ link?: string;
17
+ className?: string;
18
+ onClose?: () => void;
19
+ type: 'error' | 'warning' | 'success' | 'info';
20
+ }
21
+
22
+ /**
23
+ * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33150&mode=dev
24
+ */
25
+ export const Banner = ({
26
+ title,
27
+ content,
28
+ textLink,
29
+ link,
30
+ className,
31
+ type,
32
+ onClose,
33
+ ...props
34
+ }: BannerProps) => {
35
+ const getBannerIcon = () => {
36
+ if (type === 'error') {
37
+ return <AlertCircledIcon fill="#98312E" stroke="#98312E" size="xl" />;
38
+ } else if (type === 'warning') {
39
+ return <AlertCircledIcon fill="#9E7200" stroke="#9E7200" size="xl" />;
40
+ } else if (type === 'success') {
41
+ return <CheckedCircled stroke="#3C743D" fill="#3C743D" size="xl" />;
42
+ } else {
43
+ return <InfoCircledIcon stroke="#004799" fill="#004799" size="xl" />;
44
+ }
45
+ };
46
+
47
+ const getTextColor = () => {
48
+ if (type === 'error') {
49
+ return '#98312E';
50
+ } else if (type === 'warning') {
51
+ return '#9E7200';
52
+ } else if (type === 'success') {
53
+ return '#3C743D';
54
+ } else {
55
+ return '#004799';
56
+ }
57
+ };
58
+
59
+ const getBannerColor = () => {
60
+ if (type === 'error') {
61
+ return styles.notification_banner_error;
62
+ } else if (type === 'warning') {
63
+ return styles.notification_banner_warning;
64
+ } else if (type === 'success') {
65
+ return styles.notification_banner_success;
66
+ } else {
67
+ return styles.notification_banner_info;
68
+ }
69
+ };
70
+ const getIconButtonColor = () => {
71
+ if (type === 'error') {
72
+ return styles.icon_button_error;
73
+ } else if (type === 'warning') {
74
+ return styles.icon_button_warning;
75
+ } else if (type === 'success') {
76
+ return styles.icon_button_success;
77
+ } else {
78
+ return styles.icon_button_info;
79
+ }
80
+ };
81
+ const getContentColor = () => {
82
+ if (type === 'error') {
83
+ return styles.banner_content_error;
84
+ } else if (type === 'warning') {
85
+ return styles.banner_content_warning;
86
+ } else if (type === 'success') {
87
+ return styles.banner_content_success;
88
+ } else {
89
+ return styles.banner_content_info;
90
+ }
91
+ };
92
+
93
+ return (
94
+ <div
95
+ {...props}
96
+ className={`${
97
+ styles.notification_banner
98
+ } ${getBannerColor()} ${className}`}
99
+ >
100
+ <div className={styles.notification_banner_header}>
101
+ {getBannerIcon()}
102
+ {title && (
103
+ <Title
104
+ text={title}
105
+ weight="semi-bold"
106
+ size="base"
107
+ color={getTextColor()}
108
+ />
109
+ )}
110
+ {onClose && (
111
+ <IconButton
112
+ icon={<RemoveCircledIcon />}
113
+ onClick={() => {
114
+ onClose();
115
+ }}
116
+ size="xs"
117
+ variant="tertiary"
118
+ className={`${styles.icon_btn_custom} ${getIconButtonColor()}`}
119
+ />
120
+ )}
121
+ </div>
122
+
123
+ {content && (
124
+ <div
125
+ dangerouslySetInnerHTML={{
126
+ __html: content,
127
+ }}
128
+ style={{ color: getTextColor() }}
129
+ className={getContentColor()}
130
+ />
131
+ )}
132
+ </div>
133
+ );
134
+ };
@@ -1,26 +1,26 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import { AlarmBellStatusIcon, AlamBellIdleIcon } from '../../';
3
-
4
- interface TagProps extends HTMLAttributes<HTMLDivElement> {
5
- type: 'idle' | 'info' | 'warning' | 'critical';
6
- className: string;
7
- }
8
-
9
- /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33256&mode=dev */
10
- export const NotificationIcon = ({ type = 'idle', className }: TagProps) => {
11
- const getStatusColor = (): string => {
12
- if (type === 'info') return '#0077FF';
13
- else if (type === 'warning') return '#FFB800';
14
- else if (type === 'critical') return '#F54C4C';
15
- else return '#004799';
16
- };
17
-
18
- if (type === 'idle') return <AlamBellIdleIcon className={className} />;
19
- return (
20
- <AlarmBellStatusIcon
21
- className={className}
22
- stroke={getStatusColor()}
23
- fill={getStatusColor()}
24
- />
25
- );
26
- };
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { AlarmBellStatusIcon, AlamBellIdleIcon } from '../../';
3
+
4
+ interface TagProps extends HTMLAttributes<HTMLDivElement> {
5
+ type: 'idle' | 'info' | 'warning' | 'critical';
6
+ className: string;
7
+ }
8
+
9
+ /** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33256&mode=dev */
10
+ export const NotificationIcon = ({ type = 'idle', className }: TagProps) => {
11
+ const getStatusColor = (): string => {
12
+ if (type === 'info') return '#0077FF';
13
+ else if (type === 'warning') return '#FFB800';
14
+ else if (type === 'critical') return '#F54C4C';
15
+ else return '#004799';
16
+ };
17
+
18
+ if (type === 'idle') return <AlamBellIdleIcon className={className} />;
19
+ return (
20
+ <AlarmBellStatusIcon
21
+ className={className}
22
+ stroke={getStatusColor()}
23
+ fill={getStatusColor()}
24
+ />
25
+ );
26
+ };
@@ -1,87 +1,87 @@
1
- .notification_toast {
2
- display: flex;
3
- width: 27rem;
4
- justify-content: flex-end;
5
- align-items: center;
6
- gap: 0.5rem;
7
- position: relative;
8
- padding-right: 2.75rem;
9
- transform: translateX(170%);
10
- animation: moveleft 0.5s linear forwards;
11
- .notification_toast_content {
12
- display: flex;
13
- padding: 1rem;
14
- flex-direction: row;
15
- align-items: flex-end;
16
- gap: 0.625rem;
17
- flex: 1 0 0;
18
-
19
- .toast_link {
20
- white-space: nowrap;
21
- }
22
- }
23
- @keyframes moveleft {
24
- 100% {
25
- transform: translateX(95%);
26
- }
27
- }
28
-
29
- .close_toast_btn {
30
- display: flex;
31
- width: 2.75rem;
32
- height: 100% !important;
33
- min-height: 100% !important;
34
- justify-content: center;
35
- align-items: center;
36
- flex-shrink: 0;
37
- border: none;
38
- border-radius: 0rem 0.4375rem 0.4375rem 0rem;
39
- cursor: pointer;
40
- position: absolute;
41
- top: 0;
42
- bottom: 0;
43
- right: 0;
44
- svg {
45
- fill: white;
46
- stroke: white;
47
- transform: rotate(45deg);
48
- }
49
- }
50
- .close_toast_btn_error {
51
- border: 1px solid var(--color-extended-red-500, #f54c4c);
52
- background: var(--color-extended-red-500, #f54c4c);
53
- }
54
- .close_toast_btn_warning {
55
- border: 1px solid var(--color-extended-yellow-500, #ffb800);
56
- background: var(--color-extended-yellow-500, #ffb800);
57
- }
58
- .close_toast_btn_info {
59
- border: 1px solid var(--color-primary-500, #07f);
60
- background: var(--color-primary-500, #07f);
61
- }
62
- .close_toast_btn_success {
63
- border: 1px solid var(--color-extended-green-500, #5cbb65);
64
- background: var(--color-extended-green-500, #5cbb65);
65
- }
66
- }
67
-
68
- .notification_toast_error {
69
- border-radius: 0.5rem;
70
- border: 1px solid var(--color-extended-red-500, #f54c4c);
71
- background: var(--color-extended-red-100, #fddbdb);
72
- }
73
- .notification_toast_warning {
74
- border-radius: 0.5rem;
75
- border: 1px solid var(--color-extended-yellow-500, #ffb800);
76
- background: var(--color-extended-yellow-100, #fff3d6);
77
- }
78
- .notification_toast_info {
79
- border-radius: 0.5rem;
80
- border: 1px solid var(--color-primary-500, #07f);
81
- background: var(--color-primary-100, #e5f1ff);
82
- }
83
- .notification_toast_success {
84
- border-radius: 0.5rem;
85
- border: 1px solid var(--color-extended-green-500, #5cbb65);
86
- background: var(--color-extended-green-100, #e8f5ea);
87
- }
1
+ .notification_toast {
2
+ display: flex;
3
+ width: 27rem;
4
+ justify-content: flex-end;
5
+ align-items: center;
6
+ gap: 0.5rem;
7
+ position: relative;
8
+ padding-right: 2.75rem;
9
+ transform: translateX(170%);
10
+ animation: moveleft 0.5s linear forwards;
11
+ .notification_toast_content {
12
+ display: flex;
13
+ padding: 1rem;
14
+ flex-direction: row;
15
+ align-items: flex-end;
16
+ gap: 0.625rem;
17
+ flex: 1 0 0;
18
+
19
+ .toast_link {
20
+ white-space: nowrap;
21
+ }
22
+ }
23
+ @keyframes moveleft {
24
+ 100% {
25
+ transform: translateX(95%);
26
+ }
27
+ }
28
+
29
+ .close_toast_btn {
30
+ display: flex;
31
+ width: 2.75rem;
32
+ height: 100% !important;
33
+ min-height: 100% !important;
34
+ justify-content: center;
35
+ align-items: center;
36
+ flex-shrink: 0;
37
+ border: none;
38
+ border-radius: 0rem 0.4375rem 0.4375rem 0rem;
39
+ cursor: pointer;
40
+ position: absolute;
41
+ top: 0;
42
+ bottom: 0;
43
+ right: 0;
44
+ svg {
45
+ fill: white;
46
+ stroke: white;
47
+ transform: rotate(45deg);
48
+ }
49
+ }
50
+ .close_toast_btn_error {
51
+ border: 1px solid var(--color-extended-red-500, #f54c4c);
52
+ background: var(--color-extended-red-500, #f54c4c);
53
+ }
54
+ .close_toast_btn_warning {
55
+ border: 1px solid var(--color-extended-yellow-500, #ffb800);
56
+ background: var(--color-extended-yellow-500, #ffb800);
57
+ }
58
+ .close_toast_btn_info {
59
+ border: 1px solid var(--color-primary-500, #07f);
60
+ background: var(--color-primary-500, #07f);
61
+ }
62
+ .close_toast_btn_success {
63
+ border: 1px solid var(--color-extended-green-500, #5cbb65);
64
+ background: var(--color-extended-green-500, #5cbb65);
65
+ }
66
+ }
67
+
68
+ .notification_toast_error {
69
+ border-radius: 0.5rem;
70
+ border: 1px solid var(--color-extended-red-500, #f54c4c);
71
+ background: var(--color-extended-red-100, #fddbdb);
72
+ }
73
+ .notification_toast_warning {
74
+ border-radius: 0.5rem;
75
+ border: 1px solid var(--color-extended-yellow-500, #ffb800);
76
+ background: var(--color-extended-yellow-100, #fff3d6);
77
+ }
78
+ .notification_toast_info {
79
+ border-radius: 0.5rem;
80
+ border: 1px solid var(--color-primary-500, #07f);
81
+ background: var(--color-primary-100, #e5f1ff);
82
+ }
83
+ .notification_toast_success {
84
+ border-radius: 0.5rem;
85
+ border: 1px solid var(--color-extended-green-500, #5cbb65);
86
+ background: var(--color-extended-green-100, #e8f5ea);
87
+ }
@@ -1,90 +1,90 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import { Text, Link, AddIcon } from '../../';
3
- import styles from './Toast.modules.scss';
4
-
5
- interface ToastProps extends HTMLAttributes<HTMLDivElement> {
6
- content: string;
7
- textLink?: string;
8
- link?: string;
9
- className?: string;
10
- type: 'error' | 'warning' | 'success' | 'info';
11
- onClose?: () => void;
12
- }
13
-
14
- /**
15
- * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33231&mode=dev
16
- */
17
- export const Toast = ({
18
- content,
19
- textLink,
20
- link,
21
- className,
22
- type,
23
- onClose,
24
- ...props
25
- }: ToastProps) => {
26
- const getTextColor = () => {
27
- if (type === 'error') {
28
- return '#98312E';
29
- } else if (type === 'warning') {
30
- return '#9E7200';
31
- } else if (type === 'success') {
32
- return '#3C743D';
33
- } else {
34
- return '#004799';
35
- }
36
- };
37
-
38
- const getCloseBtnStyleByType = () => {
39
- if (type === 'error') {
40
- return styles.close_toast_btn_error;
41
- } else if (type === 'warning') {
42
- return styles.close_toast_btn_warning;
43
- } else if (type === 'success') {
44
- return styles.close_toast_btn_success;
45
- } else {
46
- return styles.close_toast_btn_info;
47
- }
48
- };
49
- const getToastStyleByType = () => {
50
- if (type === 'error') {
51
- return styles.notification_toast_error;
52
- } else if (type === 'warning') {
53
- return styles.notification_toast_warning;
54
- } else if (type === 'success') {
55
- return styles.notification_toast_success;
56
- } else {
57
- return styles.notification_toast_info;
58
- }
59
- };
60
-
61
- return (
62
- <div
63
- {...props}
64
- className={`${
65
- styles.notification_toast
66
- } ${getToastStyleByType()} ${className}`}
67
- >
68
- <div className={styles.notification_toast_content}>
69
- <Text
70
- text={content}
71
- weight="regular"
72
- size="base"
73
- color={getTextColor()}
74
- />
75
-
76
- {link && textLink && (
77
- <Link text={textLink} link={link} className={styles.toast_link} />
78
- )}
79
- </div>
80
- <button
81
- className={`${styles.close_toast_btn} ${getCloseBtnStyleByType()}`}
82
- onClick={() => {
83
- if (onClose) onClose;
84
- }}
85
- >
86
- <AddIcon />
87
- </button>
88
- </div>
89
- );
90
- };
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { Text, Link, AddIcon } from '../../';
3
+ import styles from './Toast.modules.scss';
4
+
5
+ interface ToastProps extends HTMLAttributes<HTMLDivElement> {
6
+ content: string;
7
+ textLink?: string;
8
+ link?: string;
9
+ className?: string;
10
+ type: 'error' | 'warning' | 'success' | 'info';
11
+ onClose?: () => void;
12
+ }
13
+
14
+ /**
15
+ * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=2527-33231&mode=dev
16
+ */
17
+ export const Toast = ({
18
+ content,
19
+ textLink,
20
+ link,
21
+ className,
22
+ type,
23
+ onClose,
24
+ ...props
25
+ }: ToastProps) => {
26
+ const getTextColor = () => {
27
+ if (type === 'error') {
28
+ return '#98312E';
29
+ } else if (type === 'warning') {
30
+ return '#9E7200';
31
+ } else if (type === 'success') {
32
+ return '#3C743D';
33
+ } else {
34
+ return '#004799';
35
+ }
36
+ };
37
+
38
+ const getCloseBtnStyleByType = () => {
39
+ if (type === 'error') {
40
+ return styles.close_toast_btn_error;
41
+ } else if (type === 'warning') {
42
+ return styles.close_toast_btn_warning;
43
+ } else if (type === 'success') {
44
+ return styles.close_toast_btn_success;
45
+ } else {
46
+ return styles.close_toast_btn_info;
47
+ }
48
+ };
49
+ const getToastStyleByType = () => {
50
+ if (type === 'error') {
51
+ return styles.notification_toast_error;
52
+ } else if (type === 'warning') {
53
+ return styles.notification_toast_warning;
54
+ } else if (type === 'success') {
55
+ return styles.notification_toast_success;
56
+ } else {
57
+ return styles.notification_toast_info;
58
+ }
59
+ };
60
+
61
+ return (
62
+ <div
63
+ {...props}
64
+ className={`${
65
+ styles.notification_toast
66
+ } ${getToastStyleByType()} ${className}`}
67
+ >
68
+ <div className={styles.notification_toast_content}>
69
+ <Text
70
+ text={content}
71
+ weight="regular"
72
+ size="base"
73
+ color={getTextColor()}
74
+ />
75
+
76
+ {link && textLink && (
77
+ <Link text={textLink} link={link} className={styles.toast_link} />
78
+ )}
79
+ </div>
80
+ <button
81
+ className={`${styles.close_toast_btn} ${getCloseBtnStyleByType()}`}
82
+ onClick={() => {
83
+ if (onClose) onClose;
84
+ }}
85
+ >
86
+ <AddIcon />
87
+ </button>
88
+ </div>
89
+ );
90
+ };