odaptos_design_system 1.0.0 → 1.2.0

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 (224) hide show
  1. package/README.md +8 -74
  2. package/package.json +24 -15
  3. package/src/Accordion/Accordion.modules.scss +41 -0
  4. package/src/Accordion/Accordion.tsx +55 -0
  5. package/src/Badge/Badge.modules.scss +83 -0
  6. package/src/Badge/Badge.tsx +69 -0
  7. package/src/Buttons/Button.modules.scss +235 -0
  8. package/src/Buttons/Button.tsx +55 -7
  9. package/src/Buttons/IconButton.modules.scss +185 -0
  10. package/src/Buttons/IconButton.tsx +53 -0
  11. package/src/Cards/Card.modules.scss +12 -0
  12. package/src/Cards/Card.tsx +14 -0
  13. package/src/Cards/CardButton.modules.scss +23 -0
  14. package/src/Cards/CardButton.tsx +14 -0
  15. package/src/Checkbox/Checkbox.module.scss +4 -0
  16. package/src/Checkbox/Checkbox.tsx +120 -0
  17. package/src/ColorGuide/colors.ts +99 -0
  18. package/src/Icons/Arrows/ArrowDoubleLineDownIcon.tsx +44 -0
  19. package/src/Icons/Arrows/ArrowDoubleLineLeftIcon.tsx +44 -0
  20. package/src/Icons/Arrows/ArrowDoubleLineRightIcon.tsx +44 -0
  21. package/src/Icons/Arrows/ArrowDoubleLineUpIcon.tsx +44 -0
  22. package/src/Icons/Arrows/ArrowFilledDownIcon.tsx +29 -0
  23. package/src/Icons/Arrows/ArrowFilledLeftIcon.tsx +29 -0
  24. package/src/Icons/Arrows/ArrowFilledRightIcon.tsx +29 -0
  25. package/src/Icons/Arrows/ArrowFilledUpIcon.tsx +29 -0
  26. package/src/Icons/Arrows/ArrowLineDownIcon.tsx +38 -0
  27. package/src/Icons/Arrows/ArrowLineLeftIcon.tsx +38 -0
  28. package/src/Icons/Arrows/ArrowLineRightIcon.tsx +38 -0
  29. package/src/Icons/Arrows/ArrowLineUpIcon.tsx +38 -0
  30. package/src/Icons/Arrows/ArrowPointerDown.tsx +44 -0
  31. package/src/Icons/Arrows/ArrowPointerDownLeft.tsx +37 -0
  32. package/src/Icons/Arrows/ArrowPointerDownRight.tsx +37 -0
  33. package/src/Icons/Arrows/ArrowPointerLeft.tsx +44 -0
  34. package/src/Icons/Arrows/ArrowPointerRight.tsx +44 -0
  35. package/src/Icons/Arrows/ArrowPointerUp.tsx +44 -0
  36. package/src/Icons/Arrows/ArrowPointerUpLeft.tsx +37 -0
  37. package/src/Icons/Arrows/ArrowPointerUpRight.tsx +37 -0
  38. package/src/Icons/Circled/AddCircledIcon.tsx +43 -0
  39. package/src/Icons/Circled/AlertCircledIcon.tsx +56 -0
  40. package/src/Icons/Circled/CheckedCircled.tsx +44 -0
  41. package/src/Icons/Circled/InfoCircledIcon.tsx +56 -0
  42. package/src/Icons/Circled/MinusCircledIcon.tsx +44 -0
  43. package/src/Icons/Circled/NavigationCircledIcon.tsx +50 -0
  44. package/src/Icons/Circled/QuestionCircledIcon.tsx +49 -0
  45. package/src/Icons/Circled/RemoveCircledIcon.tsx +43 -0
  46. package/src/Icons/Circled/SearchCircledIcon.tsx +50 -0
  47. package/src/Icons/Circled/SettingsCircledIcon.tsx +43 -0
  48. package/src/Icons/Equipment/CameraIcon.tsx +37 -0
  49. package/src/Icons/Equipment/LaptopIcon.tsx +66 -0
  50. package/src/Icons/Equipment/MicrophonePodcastIcon.tsx +31 -0
  51. package/src/Icons/Equipment/MobileIcon.tsx +73 -0
  52. package/src/Icons/Equipment/TvFlatScreenIcon.tsx +67 -0
  53. package/src/Icons/Equipment/TvIcon.tsx +43 -0
  54. package/src/Icons/Interaction/AccountIcon.tsx +31 -0
  55. package/src/Icons/Interaction/AddIcon.tsx +44 -0
  56. package/src/Icons/Interaction/AgendaIcon.tsx +68 -0
  57. package/src/Icons/Interaction/BillingIcon.tsx +67 -0
  58. package/src/Icons/Interaction/BinIcon.tsx +50 -0
  59. package/src/Icons/Interaction/CheckedIcon.tsx +31 -0
  60. package/src/Icons/Interaction/ClockIcon.tsx +50 -0
  61. package/src/Icons/Interaction/CopyPasteIcon.tsx +75 -0
  62. package/src/Icons/Interaction/DragDropIcon.tsx +34 -0
  63. package/src/Icons/Interaction/EditIcon.tsx +44 -0
  64. package/src/Icons/Interaction/EditTextIcon.tsx +56 -0
  65. package/src/Icons/Interaction/LogoutIcon.tsx +50 -0
  66. package/src/Icons/Interaction/MenuHorizontalIcon.tsx +28 -0
  67. package/src/Icons/Interaction/MenuVerticalIcon.tsx +40 -0
  68. package/src/Icons/Interaction/MinusIcon.tsx +26 -0
  69. package/src/Icons/Interaction/SearchIcon.tsx +44 -0
  70. package/src/Icons/Interaction/SearchRemoveIcon.tsx +56 -0
  71. package/src/Icons/Interaction/ShareIcon.tsx +55 -0
  72. package/src/Icons/Interaction/TeamIcon.tsx +68 -0
  73. package/src/Icons/Logos/LogoBeta.tsx +51 -0
  74. package/src/Icons/Logos/LogoNormal.tsx +37 -0
  75. package/src/Icons/Logos/LogoSmall.tsx +31 -0
  76. package/src/Icons/Logos/LogoSquare.tsx +71 -0
  77. package/src/Icons/Logos/LogoText.tsx +31 -0
  78. package/src/Icons/MediaControl/HangUpIcon.tsx +50 -0
  79. package/src/Icons/MediaControl/MeetingIcon.tsx +37 -0
  80. package/src/Icons/MediaControl/MicrophoneIcon.tsx +43 -0
  81. package/src/Icons/MediaControl/MoveInIcon.tsx +51 -0
  82. package/src/Icons/MediaControl/MuteIcon.tsx +43 -0
  83. package/src/Icons/MediaControl/PauseIcon.tsx +37 -0
  84. package/src/Icons/MediaControl/PlayIcon.tsx +30 -0
  85. package/src/Icons/MediaControl/PreviousIcon.tsx +39 -0
  86. package/src/Icons/MediaControl/RecordingIcon.tsx +74 -0
  87. package/src/Icons/MediaControl/VolumeIcon.tsx +49 -0
  88. package/src/Icons/Miscellaneous/AddSeatIcon.tsx +29 -0
  89. package/src/Icons/Miscellaneous/AddUsersIcon.tsx +62 -0
  90. package/src/Icons/Miscellaneous/BillPdfIcon.tsx +29 -0
  91. package/src/Icons/Miscellaneous/BinocularIcon.tsx +31 -0
  92. package/src/Icons/Miscellaneous/BrainIcon.tsx +98 -0
  93. package/src/Icons/Miscellaneous/ChatBubbleIcon.tsx +60 -0
  94. package/src/Icons/Miscellaneous/ChatIcon.tsx +29 -0
  95. package/src/Icons/Miscellaneous/CheckoutIcon.tsx +29 -0
  96. package/src/Icons/Miscellaneous/ClipIcon.tsx +49 -0
  97. package/src/Icons/Miscellaneous/CreditCardIcon.tsx +29 -0
  98. package/src/Icons/Miscellaneous/DownloadIcon.tsx +29 -0
  99. package/src/Icons/Miscellaneous/EarthIcon.tsx +50 -0
  100. package/src/Icons/Miscellaneous/FaceCenterIcon.tsx +34 -0
  101. package/src/Icons/Miscellaneous/FaceRecognitionIcon.tsx +80 -0
  102. package/src/Icons/Miscellaneous/FilesIcon.tsx +43 -0
  103. package/src/Icons/Miscellaneous/FillRecordIcon.tsx +29 -0
  104. package/src/Icons/Miscellaneous/FolderIcon.tsx +31 -0
  105. package/src/Icons/Miscellaneous/GoogleIcon.tsx +59 -0
  106. package/src/Icons/Miscellaneous/HardDriveIcon.tsx +50 -0
  107. package/src/Icons/Miscellaneous/HelpIcon.tsx +29 -0
  108. package/src/Icons/Miscellaneous/LanguageIcon.tsx +27 -0
  109. package/src/Icons/Miscellaneous/LinkIcon.tsx +34 -0
  110. package/src/Icons/Miscellaneous/MetaAnalyseIcon.tsx +67 -0
  111. package/src/Icons/Miscellaneous/ModeratedIcon.tsx +80 -0
  112. package/src/Icons/Miscellaneous/NbOfUsersIcon.tsx +56 -0
  113. package/src/Icons/Miscellaneous/NeutralBackgroudIcon.tsx +34 -0
  114. package/src/Icons/Miscellaneous/ReportIcon.tsx +62 -0
  115. package/src/Icons/Miscellaneous/SeatIcon.tsx +29 -0
  116. package/src/Icons/Miscellaneous/SendEmailIcon.tsx +43 -0
  117. package/src/Icons/Miscellaneous/SendIcon.tsx +38 -0
  118. package/src/Icons/Miscellaneous/SmartBrainIcon.tsx +44 -0
  119. package/src/Icons/Miscellaneous/TasksIcon.tsx +48 -0
  120. package/src/Icons/Miscellaneous/TestDetailsIcon.tsx +29 -0
  121. package/src/Icons/Miscellaneous/TestIcon.tsx +38 -0
  122. package/src/Icons/Miscellaneous/UnmoderatedIcon.tsx +55 -0
  123. package/src/Icons/Notifications/AlamBellIdleIcon.tsx +46 -0
  124. package/src/Icons/Notifications/AlarmBellStatusIcon.tsx +54 -0
  125. package/src/Icons/Notifications/NotifAlertIcon.tsx +33 -0
  126. package/src/Icons/index.ts +108 -0
  127. package/src/Interviews/Chat.modules.scss +29 -0
  128. package/src/Interviews/Chat.tsx +123 -0
  129. package/src/Interviews/ChatInput.modules.scss +29 -0
  130. package/src/Interviews/ChatInput.tsx +33 -0
  131. package/src/Interviews/CircleIconButton.modules.scss +44 -0
  132. package/src/Interviews/CircledIconButton.tsx +31 -0
  133. package/src/Interviews/ControlsBar.modules.scss +15 -0
  134. package/src/Interviews/ControlsBar.tsx +101 -0
  135. package/src/Interviews/GoBack.modules.scss +14 -0
  136. package/src/Interviews/GoBack.tsx +22 -0
  137. package/src/Interviews/InterviewButton.modules.scss +107 -0
  138. package/src/Interviews/InterviewButton.tsx +45 -0
  139. package/src/Interviews/MarkUpBar.modules.scss +33 -0
  140. package/src/Interviews/MarkUpBar.tsx +40 -0
  141. package/src/Interviews/StartInterview.modules.scss +14 -0
  142. package/src/Interviews/StartInterview.tsx +27 -0
  143. package/src/Interviews/Task.modules.scss +179 -0
  144. package/src/Interviews/Task.tsx +176 -0
  145. package/src/Interviews/WelcomeMessage.modules.scss +29 -0
  146. package/src/Interviews/WelcomeMessage.tsx +33 -0
  147. package/src/LateralMenu/LateralMenu.modules.scss +21 -0
  148. package/src/LateralMenu/LateralMenu.tsx +23 -0
  149. package/src/Modal/Modal.modules.scss +58 -0
  150. package/src/Modal/Modal.tsx +135 -0
  151. package/src/MultiSelect/MultiSelect.scss +66 -0
  152. package/src/MultiSelect/MultiSelect.tsx +226 -0
  153. package/src/MultiSelect/utils/textInputStyle.ts +78 -0
  154. package/src/Notifications/Banner.modules.scss +35 -0
  155. package/src/Notifications/Banner.tsx +103 -0
  156. package/src/Notifications/NotificationIcon.scss +0 -0
  157. package/src/Notifications/NotificationIcon.tsx +26 -0
  158. package/src/Notifications/Toast.modules.scss +87 -0
  159. package/src/Notifications/Toast.tsx +92 -0
  160. package/src/Popover/Popover.modules.scss +47 -0
  161. package/src/Popover/Popover.tsx +77 -0
  162. package/src/Radio/Radio.module.scss +9 -0
  163. package/src/Radio/Radio.tsx +82 -0
  164. package/src/Search/Search.tsx +25 -0
  165. package/src/SingleSelect/SingleSelect.scss +62 -0
  166. package/src/SingleSelect/SingleSelect.tsx +209 -0
  167. package/src/Step/Step.module.scss +54 -0
  168. package/src/Step/Step.tsx +88 -0
  169. package/src/Switch/Switch.module.scss +5 -0
  170. package/src/Switch/Switch.tsx +51 -0
  171. package/src/Table/header.modules.scss +20 -0
  172. package/src/Table/header.tsx +74 -0
  173. package/src/Table/index.tsx +53 -0
  174. package/src/Table/rows.modules.scss +16 -0
  175. package/src/Table/rows.tsx +74 -0
  176. package/src/Table/table-cell.modules.scss +12 -0
  177. package/src/Table/table-cell.tsx +40 -0
  178. package/src/Tabs/Tabs.tsx +83 -0
  179. package/src/Tabs/TabsUnderLine.tsx +90 -0
  180. package/src/Tabs/tabs.modules.scss +60 -0
  181. package/src/Tabs/tabsUnderline.modules.scss +29 -0
  182. package/src/Tag/Tag.modules.scss +58 -0
  183. package/src/Tag/Tag.tsx +63 -0
  184. package/src/TextInput/TextInput.scss +50 -0
  185. package/src/TextInput/TextInput.tsx +212 -0
  186. package/src/Textarea/Textarea.module.scss +19 -0
  187. package/src/Textarea/Textarea.tsx +88 -0
  188. package/src/Tooltip/Layout/TooltipCustomLayout.module.scss +24 -0
  189. package/src/Tooltip/Layout/TooltipCustomLayout.tsx +104 -0
  190. package/src/Tooltip/Tooltip.tsx +139 -0
  191. package/src/Typography/{Caption.css → Caption.modules.scss} +5 -5
  192. package/src/Typography/Caption.tsx +8 -4
  193. package/src/Typography/Link.modules.scss +140 -0
  194. package/src/Typography/Link.tsx +73 -0
  195. package/src/Typography/Text.modules.scss +277 -0
  196. package/src/Typography/Text.tsx +38 -8
  197. package/src/Typography/{TextForButton.css → TextForButton.modules.scss} +8 -8
  198. package/src/Typography/TextForButton.tsx +15 -5
  199. package/src/Typography/{TextForDropDownItem.css → TextForDropDownItem.modules.scss} +11 -14
  200. package/src/Typography/TextForDropDownItem.tsx +14 -4
  201. package/src/Typography/TextWithLink.modules.scss +281 -0
  202. package/src/Typography/TextWithLink.tsx +65 -0
  203. package/src/Typography/{Title.css → Title.modules.scss} +27 -25
  204. package/src/Typography/Title.tsx +114 -16
  205. package/src/hooks/useClickOutside.ts +31 -0
  206. package/src/index.ts +34 -0
  207. package/dist/Buttons/Button.d.ts +0 -6
  208. package/dist/Color Guide/colors.d.ts +0 -6
  209. package/dist/Typography/Caption.d.ts +0 -12
  210. package/dist/Typography/Text.d.ts +0 -15
  211. package/dist/Typography/TextForButton.d.ts +0 -13
  212. package/dist/Typography/TextForDropDownItem.d.ts +0 -13
  213. package/dist/Typography/Title.d.ts +0 -14
  214. package/dist/index.d.ts +0 -6
  215. package/dist/index.js +0 -8
  216. package/dist/odaptos_design_system.cjs.development.css +0 -5
  217. package/dist/odaptos_design_system.cjs.development.js +0 -108
  218. package/dist/odaptos_design_system.cjs.development.js.map +0 -1
  219. package/dist/odaptos_design_system.cjs.production.min.js +0 -2
  220. package/dist/odaptos_design_system.cjs.production.min.js.map +0 -1
  221. package/dist/odaptos_design_system.esm.js +0 -97
  222. package/dist/odaptos_design_system.esm.js.map +0 -1
  223. package/src/Color Guide/colors.ts +0 -89
  224. package/src/Typography/Text.css +0 -272
@@ -1,34 +1,64 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import './Text.css';
1
+ import { HTMLAttributes } from 'react';
2
+ import styles from './Text.modules.scss';
3
3
 
4
4
  interface TextProps extends HTMLAttributes<HTMLParagraphElement> {
5
5
  /** Text display */
6
6
  text: string;
7
7
  color?: string;
8
8
  size?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
9
- titleWeight?: 'semi-bold' | 'bold' | 'regular';
9
+ weight?: 'semi-bold' | 'bold' | 'regular';
10
10
  italic?: boolean;
11
11
  textDecoration?: 'underline' | 'line-through';
12
12
  className?: string;
13
+ required?: boolean;
13
14
  }
14
15
 
15
- /** This text should be use to display basic text */
16
+ /** This text should be use to display basic text
17
+ * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=52-751&mode=dev
18
+ */
16
19
  export const Text = ({
17
- text = 'Component to use for the basic texts',
20
+ text,
18
21
  color = 'black',
19
22
  size = 'base',
20
- titleWeight = 'semi-bold',
23
+ weight = 'regular',
21
24
  italic = false,
22
25
  textDecoration,
23
26
  className,
27
+ required,
24
28
  ...props
25
29
  }: TextProps) => {
30
+ const getTextSize = (): string => {
31
+ if (size === 'xs') return styles.text_xs;
32
+ else if (size === 'sm') return styles.text_sm;
33
+ else if (size === 'base') return styles.text_base;
34
+ else if (size === 'lg') return styles.text_lg;
35
+ else if (size === 'xl') return styles.text_xl;
36
+ else if (size === 'xxl') return styles.text_xxl;
37
+ else if (size === 'xxxl') return styles.text_xxxl;
38
+ else if (size === 'xxxxl') return styles.text_xxxxl;
39
+ else return styles.text_base;
40
+ };
41
+ const getTextWeight = (): string => {
42
+ if (weight === 'semi-bold') return styles.text_semi_bold;
43
+ else if (weight === 'bold') return styles.text_bold;
44
+ else if (weight === 'regular') return styles.text_regular;
45
+ else return styles.text_regular;
46
+ };
47
+ const getTextDecoration = (): string => {
48
+ if (textDecoration === 'underline') return styles.text_underline;
49
+ else if (textDecoration === 'line-through') return styles.text_line_through;
50
+ else return '';
51
+ };
52
+
26
53
  return (
27
54
  <p
28
55
  {...props}
29
56
  style={{ color: color }}
30
- className={`text ${italic && 'italic'} ${titleWeight} ${textDecoration &&
31
- textDecoration} ${className} ${size}`}
57
+ className={`${styles.text} ${
58
+ italic ? styles.text_italic : ''
59
+ } ${getTextWeight()} ${getTextDecoration()} ${className ?? ''} ${
60
+ required && styles.text_required
61
+ } ${getTextSize()}`}
32
62
  >
33
63
  {text}
34
64
  </p>
@@ -1,29 +1,29 @@
1
- @import '../../../example/index.css';
1
+ @import '../../example/index.css';
2
2
 
3
- .text {
3
+ .button_text {
4
4
  font-family: var(--sdFontFamilyPoppins);
5
5
  font-weight: var(--sdFontWeightMedium);
6
6
  letter-spacing: var(--sdLetterSpacingButtons);
7
7
  text-align: left;
8
8
  margin: unset;
9
- padding: 2px 0px;
9
+ padding: 0.125rem 0px;
10
10
  }
11
11
 
12
- .text.bold {
12
+ .button_text_bold {
13
13
  font-weight: var(--sdFontWeightSemibold);
14
14
  }
15
15
 
16
- .sm {
16
+ .button_text_sm {
17
17
  font-size: var(--sdFontSizeSm);
18
18
  line-height: var(--sdLineHeight140);
19
19
  }
20
20
 
21
- .base {
21
+ .button_text_base {
22
22
  font-size: var(--sdFontSizeBase);
23
23
  line-height: var(--sdLineHeight150);
24
24
  }
25
25
 
26
- .lg {
27
- font-size: var(--sdFontSizeBase);
26
+ .button_text_lg {
27
+ font-size: var(--sdFontSizeLg);
28
28
  line-height: var(--sdLineHeight150);
29
29
  }
@@ -1,5 +1,5 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import './TextForButton.css';
1
+ import { HTMLAttributes } from 'react';
2
+ import styles from './TextForButton.modules.scss';
3
3
 
4
4
  interface TextForButtonProps extends HTMLAttributes<HTMLParagraphElement> {
5
5
  /** Text display in the Button component */
@@ -10,20 +10,30 @@ interface TextForButtonProps extends HTMLAttributes<HTMLParagraphElement> {
10
10
  size?: 'sm' | 'base' | 'lg';
11
11
  }
12
12
 
13
- /** This button should only be used in the Button component */
13
+ /** This button should only be used in the Button component
14
+ * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=52-787&mode=dev
15
+ */
14
16
  export const TextForButton = ({
15
- text = 'Text display in button component',
17
+ text,
16
18
  color = 'black',
17
19
  bold = false,
18
20
  className,
19
21
  size = 'base',
20
22
  ...props
21
23
  }: TextForButtonProps) => {
24
+ const getTextSize = (): string => {
25
+ if (size === 'sm') return styles.button_text_sm;
26
+ else if (size === 'base') return styles.button_text_base;
27
+ else if (size === 'lg') return styles.button_text_lg;
28
+ else return styles.button_text_base;
29
+ };
22
30
  return (
23
31
  <p
24
32
  {...props}
25
33
  style={{ color: color }}
26
- className={`text ${bold && 'bold'} ${className} ${size}`}
34
+ className={`${styles.button_text} ${
35
+ bold ? styles.button_text_bold : ''
36
+ } ${className ?? ''} ${getTextSize()}`}
27
37
  >
28
38
  {text}
29
39
  </p>
@@ -1,34 +1,31 @@
1
- @import '../../../example/index.css';
1
+ @import '../../example/index.css';
2
2
 
3
- .text {
3
+ .dropdown_text {
4
4
  font-family: var(--sdFontFamilyOpenSans);
5
- font-weight: var(--sdFontWeightRegular);
6
- padding: 2px 0px;
5
+ font-weight: var(--sdFontWeightMedium);
6
+ padding: 0.125rem 0px;
7
+ margin: unset;
7
8
  }
8
9
 
9
10
  /* Size classNames */
10
- .xs {
11
- font-size: var(--sdFontSizeXs);
12
- line-height: var(--sdLineHeight130);
11
+ .dropdown_text_xs {
12
+ font-size: var(--sdFontSizeBase);
13
+ line-height: var(--sdLineHeight150);
13
14
  letter-spacing: var(--sdLetterSpacingButtons);
14
15
  }
15
16
 
16
- .sm {
17
+ .dropdown_text_sm {
17
18
  font-size: var(--sdFontSizeSm);
18
19
  line-height: var(--sdLineHeight140);
19
20
  }
20
21
 
21
- .base {
22
+ .dropdown_text_base {
22
23
  font-size: var(--sdFontSizeBase);
23
24
  line-height: var(--sdLineHeight150);
24
25
  }
25
26
 
26
27
  /* fontWeight classNames */
27
28
 
28
- .text.bold {
29
+ .dropdown_text_bold {
29
30
  font-weight: var(--sdFontWeightBold);
30
31
  }
31
-
32
- .text.bold.xs {
33
- line-height: var(--sdLineHeight120);
34
- }
@@ -1,5 +1,5 @@
1
- import React, { HTMLAttributes } from 'react';
2
- import './TextForDropDownItem.css';
1
+ import { HTMLAttributes } from 'react';
2
+ import styles from './TextForDropDownItem.modules.scss';
3
3
 
4
4
  interface TextForDropDownItemProps
5
5
  extends HTMLAttributes<HTMLParagraphElement> {
@@ -11,7 +11,9 @@ interface TextForDropDownItemProps
11
11
  size?: 'xs' | 'sm' | 'base';
12
12
  }
13
13
 
14
- /** This text should only be used for the dropdown items text */
14
+ /** This text should only be used for the dropdown items text
15
+ * Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=788-4739&mode=dev
16
+ */
15
17
  export const TextForDropDownItem = ({
16
18
  text = 'Text for drop down item',
17
19
  color = 'black',
@@ -20,11 +22,19 @@ export const TextForDropDownItem = ({
20
22
  className,
21
23
  ...props
22
24
  }: TextForDropDownItemProps) => {
25
+ const getTextSize = (): string => {
26
+ if (size === 'xs') return styles.dropdown_text_xs;
27
+ else if (size === 'sm') return styles.dropdown_text_sm;
28
+ else if (size === 'base') return styles.dropdown_text_base;
29
+ else return styles.dropdown_text_base;
30
+ };
23
31
  return (
24
32
  <p
25
33
  {...props}
26
34
  style={{ color: color }}
27
- className={`text ${bold && 'bold'} ${size} ${className}`}
35
+ className={`${styles.dropdown_text} ${
36
+ bold && styles.dropdown_text_bold
37
+ } ${getTextSize()} ${className}`}
28
38
  >
29
39
  {text}
30
40
  </p>
@@ -0,0 +1,281 @@
1
+ @import '../../example/index.css';
2
+
3
+ .text_with_link {
4
+ font-family: var(--sdFontFamilyOpenSans);
5
+ font-style: normal;
6
+ font-weight: var(--sdFontWeightRegular);
7
+ font-size: var(--sdFontSizeXs);
8
+ line-height: var(--sdLineHeight130);
9
+ letter-spacing: var(--sdLetterSpacingButtons);
10
+ text-align: left;
11
+ margin: unset;
12
+ a {
13
+ margin-left: 0.5rem;
14
+ color: var(--color-primary-500, #07f);
15
+ }
16
+ }
17
+
18
+ .text_with_link_underline {
19
+ text-decoration: var(--sdUnderline);
20
+ }
21
+
22
+ .text_with_link_line_through {
23
+ text-decoration: var(--sdLineThrough);
24
+ }
25
+
26
+ .text_with_link_required::after {
27
+ content: ' *';
28
+ color: red;
29
+ }
30
+
31
+ /* Regular */
32
+
33
+ .text_with_link.text_with_link_xs.text_with_link_regular {
34
+ font: var(--sdTypoTextNoDecorationRegularXs);
35
+ padding: 0.063rem 0px;
36
+ }
37
+
38
+ .tetext_with_linkxt.text_with_link_sm.text_with_link_regular {
39
+ font: var(--sdTypoTextNoDecorationRegularSm);
40
+ padding: 0.063rem 0px 0.188rem;
41
+ }
42
+
43
+ .text_with_link.text_with_link_base.text_with_link_regular {
44
+ font: var(--sdTypoTextNoDecorationRegularBase);
45
+ padding: 0.125rem 0px;
46
+ }
47
+
48
+ .text_with_link.text_with_link_lg.text_with_link_regular {
49
+ font: var(--sdTypoTextNoDecorationRegularLg);
50
+ padding: 0.125rem 0px;
51
+ }
52
+
53
+ .text_with_link.text_with_link_xl.text_with_link_regular {
54
+ font: var(--sdTypoTextNoDecorationRegularXl);
55
+ padding: 0.063rem 0px 0.188rem;
56
+ }
57
+
58
+ .text_with_link.text_with_link_xxl.text_with_link_regular {
59
+ font: var(--sdTypoTextNoDecorationRegular2xl);
60
+ padding: 0px;
61
+ }
62
+
63
+ .text_with_link.text_with_link_xxxl.text_with_link_regular {
64
+ font: var(--sdTypoTextNoDecorationRegular3xl);
65
+ padding: 0.063rem 0px 0.188rem;
66
+ }
67
+
68
+ .text_with_link.text_with_link_xxxxl.text_with_link_regular {
69
+ font: var(--sdTypoTextNoDecorationRegular4xl);
70
+ padding: 0.188rem 0px 0.063rem;
71
+ }
72
+
73
+ /* Regular Italic */
74
+
75
+ .text_with_link.text_with_link_xs.text_with_link_regular.text_with_link_italic {
76
+ font: var(--sdTypoTextNoDecorationItalicXs);
77
+ padding: 0.063rem 0px 0.125rem;
78
+ }
79
+
80
+ .text_with_link.text_with_link_sm.text_with_link_regular.text_with_link_italic {
81
+ font: var(--sdTypoTextNoDecorationItalicSm);
82
+ padding: 0.063rem 0px 0.188rem;
83
+ }
84
+
85
+ .text_with_link.text_with_link_base.text-regular.text_with_link_italic {
86
+ font: var(--sdTypoTextNoDecorationItalicBase);
87
+ padding: 0.125rem 0px;
88
+ }
89
+
90
+ .text_with_link.text_with_link_lg.text_with_link_regular.text_with_link_italic {
91
+ font: var(--sdTypoTextNoDecorationItalicLg);
92
+ padding: 0.125rem 0px;
93
+ }
94
+
95
+ .text_with_link.text_with_link_xl.text_with_link_regular.text_with_link_italic {
96
+ font: var(--sdTypoTextNoDecorationItalicXl);
97
+ padding: 0.063rem 0px 0.188rem;
98
+ }
99
+
100
+ .text_with_link.text_with_link_xxl.text_with_link_regular.text_with_link_italic {
101
+ font: var(--sdTypoTextNoDecorationItalic2xl);
102
+ padding: 0px;
103
+ }
104
+
105
+ .text_with_link.text_with_link_xxxl.text_with_link_regular.text_with_link_italic {
106
+ font: var(--sdTypoTextNoDecorationItalic3xl);
107
+ padding: 0.063rem 0px 0.188rem;
108
+ }
109
+
110
+ .text_with_link.text_with_link_xxxxl.text_with_link_regular.text_with_link_italic {
111
+ font: var(--sdTypoTextNoDecorationItalic4xl);
112
+ padding: 0.188rem 0px 0.063rem;
113
+ }
114
+
115
+ /* Bold */
116
+
117
+ .text_with_link.text_with_link_xs.text_with_link_bold {
118
+ font: var(--sdTypoTextNoDecorationBoldXs);
119
+ padding: 0.063rem 0px 0.125rem;
120
+ }
121
+
122
+ .text_with_link.text_with_link_sm.text_with_link_bold {
123
+ font: var(--sdTypoTextNoDecorationBoldSm);
124
+ padding: 0.063rem 0px 0.188rem;
125
+ }
126
+
127
+ .text_with_link.text_with_link_base.text_with_link_bold {
128
+ font: var(--sdTypoTextNoDecorationBoldBase);
129
+ padding: 0.125rem 0px;
130
+ }
131
+
132
+ .text_with_link.text_with_link_lg.text_with_link_bold {
133
+ font: var(--sdTypoTextNoDecorationBoldLg);
134
+ padding: 0.125rem 0px;
135
+ }
136
+
137
+ .text_with_link.text_with_link_xl.text_with_link_bold {
138
+ font: var(--sdTypoTextNoDecorationBoldXl);
139
+ padding: 0.063rem 0px 0.188rem;
140
+ }
141
+
142
+ .text_with_link.text_with_link_xxl.text_with_link_bold {
143
+ font: var(--sdTypoTextNoDecorationBold2xl);
144
+ padding: 0px;
145
+ }
146
+
147
+ .text_with_link.text_with_link_xxxl.text_with_link_bold {
148
+ font: var(--sdTypoTextNoDecorationBold3xl);
149
+ padding: 0.063rem 0px 0.188rem;
150
+ }
151
+
152
+ .text_with_link.text_with_link_xxxxl.text_with_link_bold {
153
+ font: var(--sdTypoTextNoDecorationBold4xl);
154
+ padding: 0.188rem 0px 0.063rem;
155
+ }
156
+
157
+ /* Bold Italic */
158
+
159
+ .text_with_link.text_with_link_xs.text_with_link_bold.text_with_link_italic {
160
+ font: var(--sdTypoTextNoDecorationBoldItalicXs);
161
+ padding: 0.063rem 0px 0.125rem;
162
+ }
163
+
164
+ .text_with_link.text_with_link_sm.text_with_link_bold.text_with_link_italic {
165
+ font: var(--sdTypoTextNoDecorationBoldItalicSm);
166
+ padding: 0.063rem 0px 0.188rem;
167
+ }
168
+
169
+ .text_with_link.text_with_link_base.text_with_link_bold.text_with_link_italic {
170
+ font: var(--sdTypoTextNoDecorationBoldItalicBase);
171
+ padding: 0.125rem 0px;
172
+ }
173
+
174
+ .text_with_link.text_with_link_lg.text_with_link_bold.text_with_link_italic {
175
+ font: var(--sdTypoTextNoDecorationBoldItalicLg);
176
+ padding: 0.125rem 0px;
177
+ }
178
+
179
+ .text_with_link.text_with_link_xl.text_with_link_bold.text_with_link_italic {
180
+ font: var(--sdTypoTextNoDecorationBoldItalicXl);
181
+ padding: 0.063rem 0px 0.188rem;
182
+ }
183
+
184
+ .text_with_link.text_with_link_xxl.text_with_link_bold.text_with_link_italic {
185
+ font: var(--sdTypoTextNoDecorationBoldItalic2xl);
186
+ padding: 0px;
187
+ }
188
+
189
+ .text_with_link.text_with_link_xxxl.text_with_link_bold.text_with_link_italic {
190
+ font: var(--sdTypoTextNoDecorationBoldItalic3xl);
191
+ padding: 0.063rem 0px 0.188rem;
192
+ }
193
+
194
+ .text_with_link.text_with_link_xxxxl.text_with_link_bold.text_with_link_italic {
195
+ font: var(--sdTypoTextNoDecorationBoldItalic4xl);
196
+ padding: 0.188rem 0px 0.063rem;
197
+ }
198
+
199
+ /* Semi Bold */
200
+
201
+ .text_with_link.text_with_link_xs.text_with_link_semi_bold {
202
+ font: var(--sdTypoTextNoDecorationSemiBoldXs);
203
+ padding: 0.063rem 0px 0.125rem;
204
+ }
205
+
206
+ .text_with_link.text_with_link_sm.text_with_link_semi_bold {
207
+ font: var(--sdTypoTextNoDecorationSemiBoldSm);
208
+ padding: 0.063rem 0px 0.188rem;
209
+ }
210
+
211
+ .text_with_link.text_with_link_base.text_with_link_semi_bold {
212
+ font: var(--sdTypoTextNoDecorationSemiBoldBase);
213
+ padding: 0.125rem 0px;
214
+ }
215
+
216
+ .text_with_link.text_with_link_lg.text_with_link_semi_bold {
217
+ font: var(--sdTypoTextNoDecorationSemiBoldLg);
218
+ padding: 0.125rem 0px;
219
+ }
220
+
221
+ .text_with_link.text_with_link_xl.text_with_link_semi_bold {
222
+ font: var(--sdTypoTextNoDecorationSemiBoldXl);
223
+ padding: 0.063rem 0px 0.188rem;
224
+ }
225
+
226
+ .text_with_link.text_with_link_xxl.text_with_link_semi_bold {
227
+ font: var(--sdTypoTextNoDecorationSemiBold2xl);
228
+ padding: 0px;
229
+ }
230
+
231
+ .text_with_link.text_with_link_xxxl.text_with_link_semi_bold {
232
+ font: var(--sdTypoTextNoDecorationSemiBold3xl);
233
+ padding: 0.063rem 0px 0.188rem;
234
+ }
235
+
236
+ .text_with_link.text_with_link_xxxxl.text_with_link_semi_bold {
237
+ font: var(--sdTypoTextNoDecorationSemiBold4xl);
238
+ padding: 0.188rem 0px 0.063rem;
239
+ }
240
+
241
+ /* Semi Bold Italic */
242
+
243
+ .text_with_link.text_with_link_xs.text_with_link_semi_bold.text_with_link_italic {
244
+ font: var(--sdTypoTextNoDecorationSemiBoldItalicXs);
245
+ padding: 0.063rem 0px 0.125rem;
246
+ }
247
+
248
+ .text_with_link.text_with_link_sm.text_with_link_semi_bold.text_with_link_italic {
249
+ font: var(--sdTypoTextNoDecorationSemiBoldItalicSm);
250
+ padding: 0.063rem 0px 0.188rem;
251
+ }
252
+
253
+ .text_with_link.text_with_link_base.text_with_link_semi_bold.text_with_link_italic {
254
+ font: var(--sdTypoTextNoDecorationSemiBoldItalicBase);
255
+ padding: 0.125rem 0px;
256
+ }
257
+
258
+ .text_with_link.text_with_link_lg.text_with_link_semi_bold.text_with_link_italic {
259
+ font: var(--sdTypoTextNoDecorationSemiBoldItalicLg);
260
+ padding: 0.125rem 0px;
261
+ }
262
+
263
+ .text_with_link.text_with_link_xl.text_with_link_semi_bold.text_with_link_italic {
264
+ font: var(--sdTypoTextNoDecorationSemiBoldItalicXl);
265
+ padding: 0.063rem 0px 0.188rem;
266
+ }
267
+
268
+ .text_with_link.text_with_link_xxl.text_with_link_semi_bold.text_with_link_italic {
269
+ font: var(--sdTypoTextNoDecorationSemiBoldItalic2xl);
270
+ padding: 0px;
271
+ }
272
+
273
+ .text_with_link.text_with_link_xxxl.text_with_link_semi_bold.text_with_link_italic {
274
+ font: var(--sdTypoTextNoDecorationSemiBoldItalic3xl);
275
+ padding: 0.063rem 0px 0.188rem;
276
+ }
277
+
278
+ .text_with_link.text_with_link_xxxxl.text_with_link_semi_bold.text_with_link_italic {
279
+ font: var(--sdTypoTextNoDecorationSemiBoldItalic4xl);
280
+ padding: 0.188rem 0px 0.063rem;
281
+ }
@@ -0,0 +1,65 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import styles from './TextWithLink.modules.scss';
3
+
4
+ interface TextWithLinkProps extends HTMLAttributes<HTMLParagraphElement> {
5
+ /** Text display */
6
+ text: string;
7
+ color?: string;
8
+ size?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
9
+ weight?: 'semi-bold' | 'bold' | 'regular';
10
+ italic?: boolean;
11
+ textDecoration?: 'underline' | 'line-through';
12
+ className?: string;
13
+ textLink: string;
14
+ link: string;
15
+ }
16
+
17
+ /** This text should be use to display basic text */
18
+ export const TextWithLink = ({
19
+ text,
20
+ color = 'black',
21
+ size = 'base',
22
+ weight = 'semi-bold',
23
+ italic = false,
24
+ textDecoration,
25
+ className,
26
+ textLink,
27
+ link,
28
+ ...props
29
+ }: TextWithLinkProps) => {
30
+ const getTextSize = (): string => {
31
+ if (size === 'xs') return styles.text_with_link_xs;
32
+ else if (size === 'sm') return styles.text_with_link_sm;
33
+ else if (size === 'base') return styles.text_with_link_base;
34
+ else if (size === 'lg') return styles.text_with_link_lg;
35
+ else if (size === 'xl') return styles.text_with_link_xl;
36
+ else if (size === 'xxl') return styles.text_with_link_xxl;
37
+ else if (size === 'xxxl') return styles.text_with_link_xxxl;
38
+ else if (size === 'xxxxl') return styles.text_with_link_xxxxl;
39
+ else return styles.text_with_link_base;
40
+ };
41
+ const getTextWeight = (): string => {
42
+ if (weight === 'semi-bold') return styles.text_with_link_semi_bold;
43
+ else if (weight === 'bold') return styles.text_with_link_bold;
44
+ else if (weight === 'regular') return styles.text_with_link_regular;
45
+ else return styles.text_with_link_regular;
46
+ };
47
+ const getTextDecoration = (): string => {
48
+ if (textDecoration === 'underline') return styles.text_with_link_underline;
49
+ else if (textDecoration === 'line-through')
50
+ return styles.text_with_link_line_through;
51
+ else return '';
52
+ };
53
+ return (
54
+ <p
55
+ {...props}
56
+ style={{ color: color }}
57
+ className={`${styles.text_with_link} ${
58
+ italic && styles.text_with_link_italic
59
+ } ${getTextWeight()} ${getTextDecoration()} ${className} ${getTextSize()}`}
60
+ >
61
+ {text}
62
+ <a href={link}>{textLink}</a>
63
+ </p>
64
+ );
65
+ };
@@ -1,76 +1,78 @@
1
- @import '../../../example/index.css';
1
+ @import '../../example/index.css';
2
2
 
3
- .text {
3
+ .title {
4
4
  font-family: var(--sdFontFamilyPoppins);
5
- font-weight: var(--sdFontWeightSemibold);
6
5
  letter-spacing: var(--sdLetterSpacingHeadings);
7
6
  text-align: left;
8
7
  margin: unset;
9
8
  }
10
9
 
11
- .italic {
10
+ .title_italic {
12
11
  font-style: italic;
13
12
  }
13
+ .title_normal {
14
+ font-style: normal;
15
+ }
14
16
 
15
17
  /* Size classNames */
16
- .xs {
17
- font-size: var(--sdFontSizeSm);
18
- line-height: var(--sdLineHeight140);
19
- padding: 1px 0px;
18
+ .title_xs {
19
+ font-size: var(--sdFontSizeXs);
20
+ line-height: var(--sdLineHeight130);
21
+ padding: 0.063rem 0px;
20
22
  }
21
23
 
22
- .sm {
24
+ .title_sm {
23
25
  font-size: var(--sdFontSizeSm);
24
26
  line-height: var(--sdLineHeight140);
25
- padding: 3px 0px 1px;
27
+ padding: 0.188rem 0px 0.063rem;
26
28
  }
27
29
 
28
- .base {
30
+ .title_base {
29
31
  font-size: var(--sdFontSizeBase);
30
32
  line-height: var(--sdLineHeight150);
31
- padding: 2px 0px;
33
+ padding: 0.125rem 0px;
32
34
  }
33
35
 
34
- .lg {
36
+ .title_lg {
35
37
  font-size: var(--sdFontSizeLg);
36
38
  line-height: var(--sdLineHeight140);
37
- padding: 3px 0px 1px;
39
+ padding: 0.188rem 0px 0.063rem;
38
40
  }
39
41
 
40
- .xl {
42
+ .title_xl {
41
43
  font-size: var(--sdFontSizeXl);
42
44
  line-height: var(--sdLineHeight150);
43
- padding: 2px 0px;
45
+ padding: 0.125rem 0px;
44
46
  }
45
47
 
46
- .xxl {
48
+ .title_xxl {
47
49
  font-size: var(--sdFontSize2xl);
48
50
  line-height: var(--sdLineHeight150);
49
- padding: 1px 0px 3px;
51
+ padding: 0.063rem 0px 0.188rem;
50
52
  }
51
53
 
52
- .xxxl {
54
+ .title_xxxl {
53
55
  font-size: var(--sdFontSize3xl);
54
56
  line-height: 150%;
55
- padding: 3px 0px 1px;
57
+ padding: 0.188rem 0px 0.063rem;
56
58
  }
57
59
 
58
- .xxxxl {
60
+ .title_xxxxl {
59
61
  font-size: var(--sdFontSize4xl);
60
62
  line-height: var(--sdLineHeight150);
61
- padding: 2px 0px;
63
+ padding: 0.125rem 0px;
62
64
  }
63
65
 
64
66
  /* fontWeight classNames */
65
67
 
66
- .bold {
68
+ .title_bold {
67
69
  font-weight: var(--sdFontWeightBold);
68
70
  }
69
71
 
70
- .semi-bold {
72
+ .title_semi_bold {
71
73
  font-weight: var(--sdFontWeightSemibold);
72
74
  }
73
75
 
74
- .regular {
76
+ .title_regular {
75
77
  font-weight: var(--sdFontWeightRegular);
76
78
  }