@soul-refiner/design-system 0.0.5 → 0.0.6

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 (271) hide show
  1. package/package.json +5 -1
  2. package/.eslintrc.js +0 -4
  3. package/.turbo/turbo-build.log +0 -12
  4. package/.turbo/turbo-test.log +0 -4417
  5. package/CHANGELOG.md +0 -7
  6. package/babel.config.js +0 -6
  7. package/custom.d.ts +0 -4
  8. package/src/actions/Button/Button.module.scss +0 -205
  9. package/src/actions/Button/Button.spec.js +0 -56
  10. package/src/actions/Button/Button.tsx +0 -143
  11. package/src/actions/Button/index.ts +0 -1
  12. package/src/actions/Dropdown/Dropdown.module.scss +0 -77
  13. package/src/actions/Dropdown/Dropdown.spec.js +0 -149
  14. package/src/actions/Dropdown/Dropdown.tsx +0 -224
  15. package/src/actions/Dropdown/index.ts +0 -6
  16. package/src/actions/Dropzone/Dropzone.module.scss +0 -48
  17. package/src/actions/Dropzone/Dropzone.spec.js +0 -60
  18. package/src/actions/Dropzone/Dropzone.tsx +0 -191
  19. package/src/actions/Dropzone/index.ts +0 -1
  20. package/src/actions/Rate/Rate.module.scss +0 -17
  21. package/src/actions/Rate/Rate.tsx +0 -53
  22. package/src/actions/Rate/index.ts +0 -1
  23. package/src/actions/Switch/Switch.module.scss +0 -35
  24. package/src/actions/Switch/Switch.spec.js +0 -31
  25. package/src/actions/Switch/Switch.tsx +0 -34
  26. package/src/actions/Switch/index.ts +0 -1
  27. package/src/actions/index.ts +0 -5
  28. package/src/cards/CourseCard/CourseCard.module.scss +0 -219
  29. package/src/cards/CourseCard/CourseCard.spec.js +0 -60
  30. package/src/cards/CourseCard/CourseCard.tsx +0 -145
  31. package/src/cards/CourseCard/index.ts +0 -1
  32. package/src/cards/EpisodeCard/EpisodeCard.module.scss +0 -69
  33. package/src/cards/EpisodeCard/EpisodeCard.tsx +0 -53
  34. package/src/cards/EpisodeCard/index.ts +0 -1
  35. package/src/cards/FeatureCard/FeatureCard.module.scss +0 -116
  36. package/src/cards/FeatureCard/FeatureCard.spec.js +0 -70
  37. package/src/cards/FeatureCard/FeatureCard.tsx +0 -123
  38. package/src/cards/FeatureCard/index.ts +0 -1
  39. package/src/cards/index.ts +0 -3
  40. package/src/data/Bar/Bar.module.scss +0 -105
  41. package/src/data/Bar/Bar.tsx +0 -161
  42. package/src/data/Bar/index.ts +0 -1
  43. package/src/data/Line/Line.module.scss +0 -102
  44. package/src/data/Line/Line.tsx +0 -162
  45. package/src/data/Line/index.ts +0 -1
  46. package/src/data/Pie/Pie.module.scss +0 -56
  47. package/src/data/Pie/Pie.spec.js +0 -72
  48. package/src/data/Pie/Pie.tsx +0 -111
  49. package/src/data/Pie/index.ts +0 -1
  50. package/src/data/index.ts +0 -3
  51. package/src/editor/Editor.module.scss +0 -125
  52. package/src/editor/Editor.tsx +0 -327
  53. package/src/editor/common/elements.ts +0 -50
  54. package/src/editor/common/index.ts +0 -2
  55. package/src/editor/common/marks.ts +0 -27
  56. package/src/editor/components/MediaDrawer/MediaDrawer.module.scss +0 -316
  57. package/src/editor/components/MediaDrawer/MediaDrawer.tsx +0 -457
  58. package/src/editor/components/MediaDrawer/index.ts +0 -1
  59. package/src/editor/components/index.ts +0 -1
  60. package/src/editor/config/default.ts +0 -213
  61. package/src/editor/config/index.ts +0 -2
  62. package/src/editor/config/props.ts +0 -9
  63. package/src/editor/index.ts +0 -2
  64. package/src/editor/plateUI.ts +0 -82
  65. package/src/editor/plugins/blocks.tsx +0 -71
  66. package/src/editor/plugins/custom/assets/DefaultThumbnail.tsx +0 -57
  67. package/src/editor/plugins/custom/assets/index.ts +0 -1
  68. package/src/editor/plugins/custom/buttons.tsx +0 -289
  69. package/src/editor/plugins/custom/example.tsx +0 -64
  70. package/src/editor/plugins/custom/exitBreak.ts +0 -41
  71. package/src/editor/plugins/custom/footnote.tsx +0 -185
  72. package/src/editor/plugins/custom/index.ts +0 -14
  73. package/src/editor/plugins/custom/paywall.tsx +0 -156
  74. package/src/editor/plugins/custom/qa.tsx +0 -390
  75. package/src/editor/plugins/custom/resetBlockType.ts +0 -29
  76. package/src/editor/plugins/custom/selectOnBackspace.ts +0 -7
  77. package/src/editor/plugins/custom/softBreak.ts +0 -20
  78. package/src/editor/plugins/custom/styles/Button.module.scss +0 -51
  79. package/src/editor/plugins/custom/styles/Footnote.module.scss +0 -58
  80. package/src/editor/plugins/custom/styles/Paywall.module.scss +0 -67
  81. package/src/editor/plugins/custom/styles/QA.module.scss +0 -140
  82. package/src/editor/plugins/custom/styles/Video.module.scss +0 -79
  83. package/src/editor/plugins/custom/video.tsx +0 -163
  84. package/src/editor/plugins/index.ts +0 -18
  85. package/src/editor/plugins/inline.ts +0 -46
  86. package/src/editor/plugins/marks.ts +0 -25
  87. package/src/editor/plugins/utils.ts +0 -22
  88. package/src/feedback/Chip/Chip.module.scss +0 -23
  89. package/src/feedback/Chip/Chip.tsx +0 -58
  90. package/src/feedback/Chip/index.ts +0 -1
  91. package/src/feedback/Loader/Loader.module.scss +0 -18
  92. package/src/feedback/Loader/Loader.spec.js +0 -18
  93. package/src/feedback/Loader/Loader.tsx +0 -53
  94. package/src/feedback/Loader/index.ts +0 -1
  95. package/src/feedback/ProgressBar/ProgressBar.module.scss +0 -13
  96. package/src/feedback/ProgressBar/ProgressBar.tsx +0 -32
  97. package/src/feedback/ProgressBar/index.ts +0 -1
  98. package/src/feedback/Toast/Toast.module.scss +0 -44
  99. package/src/feedback/Toast/Toast.tsx +0 -76
  100. package/src/feedback/Toast/index.ts +0 -1
  101. package/src/feedback/Tooltip/Tooltip.module.scss +0 -47
  102. package/src/feedback/Tooltip/Tooltip.tsx +0 -10
  103. package/src/feedback/Tooltip/index.ts +0 -1
  104. package/src/feedback/index.ts +0 -5
  105. package/src/global.d.ts +0 -6
  106. package/src/iconography/Avatar/Avatar.module.scss +0 -90
  107. package/src/iconography/Avatar/Avatar.spec.js +0 -75
  108. package/src/iconography/Avatar/Avatar.tsx +0 -96
  109. package/src/iconography/Avatar/DefaultIcon.svg +0 -4
  110. package/src/iconography/Avatar/DefaultIcon.tsx +0 -12
  111. package/src/iconography/Avatar/iconHelpers.tsx +0 -186
  112. package/src/iconography/Avatar/index.ts +0 -1
  113. package/src/iconography/ColoredIcon/ColoredIcon.module.scss +0 -40
  114. package/src/iconography/ColoredIcon/ColoredIcon.tsx +0 -30
  115. package/src/iconography/ColoredIcon/index.ts +0 -5
  116. package/src/iconography/DevicePreview/DevicePreview.module.scss +0 -143
  117. package/src/iconography/DevicePreview/DevicePreview.tsx +0 -592
  118. package/src/iconography/DevicePreview/index.ts +0 -1
  119. package/src/iconography/IconHeader/IconHeader.module.scss +0 -42
  120. package/src/iconography/IconHeader/IconHeader.tsx +0 -42
  121. package/src/iconography/IconHeader/index.ts +0 -1
  122. package/src/iconography/StarRating/StarRating.tsx +0 -99
  123. package/src/iconography/StarRating/index.ts +0 -1
  124. package/src/iconography/index.ts +0 -5
  125. package/src/implementations/BodyContent/BodyContent.module.scss +0 -38
  126. package/src/implementations/BodyContent/BodyContent.tsx +0 -78
  127. package/src/implementations/BodyContent/index.ts +0 -2
  128. package/src/implementations/JoinGroupModal/JoinGroupModal.module.scss +0 -83
  129. package/src/implementations/JoinGroupModal/JoinGroupModal.tsx +0 -176
  130. package/src/implementations/JoinGroupModal/index.ts +0 -1
  131. package/src/implementations/index.ts +0 -2
  132. package/src/index.ts +0 -149
  133. package/src/inputs/CalendarInput/CalendarInput.module.scss +0 -38
  134. package/src/inputs/CalendarInput/CalendarInput.spec.js +0 -19
  135. package/src/inputs/CalendarInput/CalendarInput.tsx +0 -29
  136. package/src/inputs/CalendarInput/index.ts +0 -1
  137. package/src/inputs/CheckboxInput/CheckboxInput.module.scss +0 -23
  138. package/src/inputs/CheckboxInput/CheckboxInput.tsx +0 -39
  139. package/src/inputs/CheckboxInput/index.ts +0 -1
  140. package/src/inputs/FeedInput/FeedInput.module.scss +0 -48
  141. package/src/inputs/FeedInput/FeedInput.spec.js +0 -16
  142. package/src/inputs/FeedInput/FeedInput.tsx +0 -197
  143. package/src/inputs/FeedInput/index.ts +0 -1
  144. package/src/inputs/InboxInput/InboxInput.module.scss +0 -48
  145. package/src/inputs/InboxInput/InboxInput.spec.js +0 -19
  146. package/src/inputs/InboxInput/InboxInput.tsx +0 -97
  147. package/src/inputs/InboxInput/index.ts +0 -1
  148. package/src/inputs/PostInput/PostInput.module.scss +0 -49
  149. package/src/inputs/PostInput/PostInput.spec.js +0 -19
  150. package/src/inputs/PostInput/PostInput.tsx +0 -54
  151. package/src/inputs/PostInput/index.ts +0 -1
  152. package/src/inputs/RadioInput/RadioInput.module.scss +0 -68
  153. package/src/inputs/RadioInput/RadioInput.tsx +0 -55
  154. package/src/inputs/RadioInput/index.ts +0 -1
  155. package/src/inputs/SearchInput/SearchInput.module.scss +0 -40
  156. package/src/inputs/SearchInput/SearchInput.tsx +0 -61
  157. package/src/inputs/SearchInput/index.ts +0 -1
  158. package/src/inputs/SelectInput/SelectInput.module.scss +0 -66
  159. package/src/inputs/SelectInput/SelectInput.tsx +0 -145
  160. package/src/inputs/SelectInput/index.ts +0 -1
  161. package/src/inputs/TagInput/TagInput.module.scss +0 -75
  162. package/src/inputs/TagInput/TagInput.tsx +0 -115
  163. package/src/inputs/TagInput/index.ts +0 -1
  164. package/src/inputs/TextInput/TextInput.module.scss +0 -35
  165. package/src/inputs/TextInput/TextInput.tsx +0 -46
  166. package/src/inputs/TextInput/index.ts +0 -1
  167. package/src/inputs/index.ts +0 -10
  168. package/src/lists/ContactDetails/ContactDetails.module.scss +0 -70
  169. package/src/lists/ContactDetails/ContactDetails.spec.js +0 -69
  170. package/src/lists/ContactDetails/ContactDetails.tsx +0 -185
  171. package/src/lists/ContactDetails/index.ts +0 -1
  172. package/src/lists/index.ts +0 -1
  173. package/src/navigation/Breadcrumbs/Breadcrumbs.module.scss +0 -18
  174. package/src/navigation/Breadcrumbs/Breadcrumbs.spec.js +0 -38
  175. package/src/navigation/Breadcrumbs/Breadcrumbs.tsx +0 -43
  176. package/src/navigation/Breadcrumbs/index.ts +0 -1
  177. package/src/navigation/Drawer/Drawer.module.scss +0 -104
  178. package/src/navigation/Drawer/Drawer.tsx +0 -177
  179. package/src/navigation/Drawer/index.ts +0 -1
  180. package/src/navigation/EditorBar/EditorBar.module.scss +0 -118
  181. package/src/navigation/EditorBar/EditorBar.tsx +0 -416
  182. package/src/navigation/EditorBar/components/AlignmentDropdown/AlignmentDropdown.tsx +0 -106
  183. package/src/navigation/EditorBar/components/AlignmentDropdown/index.ts +0 -1
  184. package/src/navigation/EditorBar/components/ButtonModal/ButtonModal.module.scss +0 -85
  185. package/src/navigation/EditorBar/components/ButtonModal/ButtonModal.tsx +0 -314
  186. package/src/navigation/EditorBar/components/ButtonModal/assets/Comment.tsx +0 -28
  187. package/src/navigation/EditorBar/components/ButtonModal/assets/GiftSubscription.tsx +0 -28
  188. package/src/navigation/EditorBar/components/ButtonModal/assets/Link.tsx +0 -28
  189. package/src/navigation/EditorBar/components/ButtonModal/assets/Share.tsx +0 -28
  190. package/src/navigation/EditorBar/components/ButtonModal/assets/ShareCommunity.tsx +0 -42
  191. package/src/navigation/EditorBar/components/ButtonModal/assets/Signup.tsx +0 -68
  192. package/src/navigation/EditorBar/components/ButtonModal/assets/Special.tsx +0 -24
  193. package/src/navigation/EditorBar/components/ButtonModal/assets/Subscribe.tsx +0 -28
  194. package/src/navigation/EditorBar/components/ButtonModal/assets/index.ts +0 -8
  195. package/src/navigation/EditorBar/components/ButtonModal/index.ts +0 -1
  196. package/src/navigation/EditorBar/components/FontDropdown/FontDropdown.module.scss +0 -16
  197. package/src/navigation/EditorBar/components/FontDropdown/FontDropdown.tsx +0 -137
  198. package/src/navigation/EditorBar/components/FontDropdown/index.ts +0 -1
  199. package/src/navigation/EditorBar/components/MoreDropdown/MoreDropdown.module.scss +0 -43
  200. package/src/navigation/EditorBar/components/MoreDropdown/MoreDropdown.tsx +0 -124
  201. package/src/navigation/EditorBar/components/MoreDropdown/index.ts +0 -1
  202. package/src/navigation/EditorBar/components/OutlineDropdown/OutlineDropdown.module.scss +0 -21
  203. package/src/navigation/EditorBar/components/OutlineDropdown/OutlineDropdown.tsx +0 -37
  204. package/src/navigation/EditorBar/components/OutlineDropdown/index.ts +0 -1
  205. package/src/navigation/EditorBar/components/TextTypeDropdown/TextTypeDropdown.module.scss +0 -51
  206. package/src/navigation/EditorBar/components/TextTypeDropdown/TextTypeDropdown.tsx +0 -80
  207. package/src/navigation/EditorBar/components/TextTypeDropdown/index.ts +0 -1
  208. package/src/navigation/EditorBar/components/VideoModal/VideoModal.module.scss +0 -150
  209. package/src/navigation/EditorBar/components/VideoModal/VideoModal.tsx +0 -163
  210. package/src/navigation/EditorBar/components/VideoModal/index.ts +0 -1
  211. package/src/navigation/EditorBar/components/index.ts +0 -7
  212. package/src/navigation/EditorBar/index.ts +0 -1
  213. package/src/navigation/MenuTabs/MenuTabs.module.scss +0 -34
  214. package/src/navigation/MenuTabs/MenuTabs.spec.js +0 -36
  215. package/src/navigation/MenuTabs/MenuTabs.tsx +0 -52
  216. package/src/navigation/MenuTabs/index.ts +0 -1
  217. package/src/navigation/Navigation/Navigation.module.scss +0 -92
  218. package/src/navigation/Navigation/Navigation.spec.js +0 -144
  219. package/src/navigation/Navigation/Navigation.tsx +0 -111
  220. package/src/navigation/Navigation/SubNavigation.module.scss +0 -255
  221. package/src/navigation/Navigation/SubNavigation.spec.js +0 -112
  222. package/src/navigation/Navigation/SubNavigation.tsx +0 -443
  223. package/src/navigation/Navigation/index.ts +0 -15
  224. package/src/navigation/Pagination/Pagination.module.scss +0 -49
  225. package/src/navigation/Pagination/Pagination.tsx +0 -115
  226. package/src/navigation/Pagination/index.ts +0 -1
  227. package/src/navigation/index.ts +0 -21
  228. package/src/surfaces/Comment/Comment.module.scss +0 -106
  229. package/src/surfaces/Comment/Comment.spec.js +0 -105
  230. package/src/surfaces/Comment/Comment.tsx +0 -157
  231. package/src/surfaces/Comment/index.ts +0 -1
  232. package/src/surfaces/Faq/Faq.module.scss +0 -91
  233. package/src/surfaces/Faq/Faq.spec.js +0 -38
  234. package/src/surfaces/Faq/Faq.tsx +0 -156
  235. package/src/surfaces/Faq/index.ts +0 -1
  236. package/src/surfaces/Message/Message.module.scss +0 -37
  237. package/src/surfaces/Message/Message.spec.js +0 -47
  238. package/src/surfaces/Message/Message.tsx +0 -54
  239. package/src/surfaces/Message/index.ts +0 -1
  240. package/src/surfaces/Modal/Modal.module.scss +0 -52
  241. package/src/surfaces/Modal/Modal.spec.js +0 -38
  242. package/src/surfaces/Modal/Modal.tsx +0 -131
  243. package/src/surfaces/Modal/index.ts +0 -5
  244. package/src/surfaces/Plan/Plan.module.scss +0 -79
  245. package/src/surfaces/Plan/Plan.tsx +0 -75
  246. package/src/surfaces/Plan/index.ts +0 -1
  247. package/src/surfaces/Post/Post.module.scss +0 -46
  248. package/src/surfaces/Post/Post.spec.js +0 -103
  249. package/src/surfaces/Post/Post.tsx +0 -185
  250. package/src/surfaces/Post/index.ts +0 -1
  251. package/src/surfaces/Post/postHelpers.ts +0 -20
  252. package/src/surfaces/ProfileHeader/ProfileHeader.module.scss +0 -202
  253. package/src/surfaces/ProfileHeader/ProfileHeader.tsx +0 -103
  254. package/src/surfaces/ProfileHeader/index.ts +0 -1
  255. package/src/surfaces/RatingsOverview/RatingsOverview.module.scss +0 -54
  256. package/src/surfaces/RatingsOverview/RatingsOverview.tsx +0 -69
  257. package/src/surfaces/RatingsOverview/index.ts +0 -1
  258. package/src/surfaces/Review/Review.module.scss +0 -73
  259. package/src/surfaces/Review/Review.tsx +0 -88
  260. package/src/surfaces/Review/index.ts +0 -1
  261. package/src/surfaces/index.ts +0 -9
  262. package/src/tables/Filter/Filter.module.scss +0 -34
  263. package/src/tables/Filter/Filter.tsx +0 -30
  264. package/src/tables/Filter/index.ts +0 -1
  265. package/src/tables/Table/Table.module.scss +0 -126
  266. package/src/tables/Table/Table.spec.js +0 -113
  267. package/src/tables/Table/Table.tsx +0 -251
  268. package/src/tables/Table/index.ts +0 -7
  269. package/src/tables/index.ts +0 -7
  270. package/tsconfig.json +0 -14
  271. package/vite.config.ts +0 -29
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import progressStyle from "./ProgressBar.module.scss";
3
-
4
- export interface ProgressBarProps {
5
- percent: number;
6
- color?: string;
7
- backgroundColor?: string;
8
- height?: number;
9
- }
10
-
11
- export const ProgressBar = ({
12
- percent,
13
- height,
14
- backgroundColor,
15
- color,
16
- }: ProgressBarProps) => {
17
- const backgroundStyle = {
18
- backgroundColor: backgroundColor,
19
- height: `${height || 7}px`,
20
- };
21
-
22
- const fillStyle = {
23
- backgroundColor: color,
24
- width: `${percent}%`,
25
- };
26
-
27
- return (
28
- <div style={backgroundStyle} className={progressStyle.progressBar}>
29
- <div style={fillStyle} className={progressStyle.fill}></div>
30
- </div>
31
- );
32
- };
@@ -1 +0,0 @@
1
- export { ProgressBar, type ProgressBarProps } from "./ProgressBar";
@@ -1,44 +0,0 @@
1
- @use "@soul-refiner/styles/_mixins";
2
-
3
- .toast {
4
- @include mixins.flex($gap: 20px);
5
- width: 365px;
6
- position: fixed;
7
- bottom: 0;
8
- right: 0;
9
- padding: 20px;
10
- border-radius: var(--border-radius-tiny);
11
- border: 1px solid var(--color-grey-9);
12
- box-shadow: 0px 16px 24px 4px rgba(18, 28, 45, 0.2);
13
- user-select: none;
14
- background-color: #ffffff;
15
- z-index: 9990;
16
-
17
- div {
18
- border-radius: 50%;
19
- }
20
-
21
- &[class~="success"] {
22
- border-left: 4px solid var(--color-green-5);
23
- }
24
-
25
- &[class~="error"] {
26
- border-left: 4px solid var(--color-red-5);
27
- }
28
-
29
- &[class~="pending"] {
30
- border-left: 4px solid var(--color-yellow-5);
31
- }
32
-
33
- &[class~="neutral"] {
34
- border-left: 4px solid var(--color-blue-3);
35
- }
36
-
37
- button:hover {
38
- border-radius: 50%;
39
- background-color: var(--color-grey-9);
40
- & > svg {
41
- fill: var(--color-grey-3);
42
- }
43
- }
44
- }
@@ -1,76 +0,0 @@
1
- import React from "react";
2
- import toastStyles from "./Toast.module.scss";
3
- import {
4
- Check,
5
- CircleInformation,
6
- Close,
7
- Pencil,
8
- Slash,
9
- } from "@soul-refiner/icons/src";
10
-
11
- export interface ToastProps extends React.PropsWithChildren {
12
- icon?: React.ReactNode;
13
- onDismiss: () => void;
14
- type: "success" | "error" | "pending" | "neutral";
15
- visible: boolean;
16
- }
17
-
18
- export const Toast = ({
19
- children,
20
- icon: customIcon,
21
- onDismiss,
22
- type,
23
- visible,
24
- }: ToastProps) => {
25
- if (!visible) return null;
26
- const icon = customIcon ? (
27
- customIcon
28
- ) : type === "success" ? (
29
- <Check
30
- fill="#FFFFFF"
31
- iconSize={8}
32
- size={16}
33
- style={{
34
- backgroundColor: "var(--color-green-2)",
35
- }}
36
- />
37
- ) : type === "pending" ? (
38
- <Pencil
39
- fill="#FFFFFF"
40
- iconSize={8}
41
- size={16}
42
- style={{
43
- backgroundColor: "var(--color-yellow-4)",
44
- }}
45
- />
46
- ) : type === "error" ? (
47
- <Slash
48
- fill="#FFFFFF"
49
- iconSize={8}
50
- size={16}
51
- style={{
52
- backgroundColor: "var(--color-red-4)",
53
- }}
54
- />
55
- ) : (
56
- <CircleInformation fill="var(--color-purple-1)" iconSize={16} size={16} />
57
- );
58
-
59
- return (
60
- <aside className={`${toastStyles.toast} ${type}`}>
61
- {icon}
62
- {children}
63
- <Close
64
- as="button"
65
- onClick={onDismiss}
66
- fill="var(--color-grey-3)"
67
- inline
68
- iconSize={12}
69
- size={20}
70
- style={{
71
- marginLeft: "auto",
72
- }}
73
- />
74
- </aside>
75
- );
76
- };
@@ -1 +0,0 @@
1
- export { Toast, type ToastProps } from "./Toast";
@@ -1,47 +0,0 @@
1
- .tooltip {
2
- --tooltipColor: rgba(0 0 0 / 80%);
3
-
4
- color: #FFF;
5
- font-size: var(--size-13);
6
- border-radius: var(--border-radius-small);
7
- user-select: none;
8
- pointer-events: none;
9
-
10
- padding: 8px 16px;
11
-
12
- background-color: var(--tooltipColor);
13
- backdrop-filter: blur(4px);
14
-
15
- position: relative;
16
- animation: fadeIn 125ms forwards ease-in-out;
17
- opacity: 0;
18
- transform: translateY(-100%);
19
-
20
- @keyframes fadeIn {
21
- 0% {
22
- opacity: 0;
23
- transform: translateY(calc(-100% + 5px));
24
- }
25
- 100% {
26
- opacity: 1;
27
- transform: translateY(-100%);
28
- }
29
- }
30
-
31
- &::after {
32
- --size: 15px;
33
-
34
- content: "";
35
- display: block;
36
- width: var(--size);
37
- height: calc(var(--size) / 1.6666);
38
-
39
- background-color: var(--tooltipColor);
40
- clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
41
- transform: rotate(180deg) translate(50%, -100%);
42
-
43
- left: 50%;
44
- bottom: 0;
45
- position: absolute;
46
- }
47
- }
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import tooltipStyles from "./Tooltip.module.scss";
3
-
4
- export interface TooltipProps {
5
- label: string;
6
- }
7
-
8
- export const Tooltip = ({ label = "Tooltip" }: TooltipProps) => {
9
- return <div className={tooltipStyles.tooltip}>{label}</div>;
10
- };
@@ -1 +0,0 @@
1
- export { Tooltip, type TooltipProps } from "./Tooltip";
@@ -1,5 +0,0 @@
1
- export { Chip, type ChipProps } from "./Chip";
2
- export { Loader, type LoaderProps } from "./Loader";
3
- export { ProgressBar, type ProgressBarProps } from "./ProgressBar";
4
- export { Toast, type ToastProps } from "./Toast";
5
- export { Tooltip, type TooltipProps } from "./Tooltip";
package/src/global.d.ts DELETED
@@ -1,6 +0,0 @@
1
- declare module "*.scss";
2
- declare module "*.png";
3
- declare module "*.jpg";
4
- declare module "*.webp";
5
- declare module "@emoji-mart/data";
6
- declare module "@emoji-mart/react";
@@ -1,90 +0,0 @@
1
- @use "@soul-refiner/styles/_mixins";
2
-
3
- .wrapper {
4
- @include mixins.flex($gap: 18px, $align: center);
5
-
6
- & > div {
7
- &[class~="left"] {
8
- order: -1;
9
- }
10
- > p {
11
- @include mixins.font-clamp();
12
- }
13
- }
14
- }
15
-
16
- .avatar {
17
- cursor: pointer;
18
- padding: 0px;
19
- position: relative;
20
- background-color: transparent;
21
-
22
- img,
23
- svg {
24
- border-radius: 50%;
25
- background-color: var(--color-blue-light-6);
26
- overflow: hidden;
27
- object-fit: cover;
28
- }
29
-
30
- div {
31
- @include mixins.flex($dir: column, $justify: center, $align: center);
32
- text-align: left;
33
- }
34
- }
35
-
36
- .presence,
37
- .status {
38
- border-radius: 50%;
39
- position: absolute;
40
- right: 0px;
41
- box-sizing: border-box;
42
- border: 2px solid var(--color-grey-10);
43
- display: flex;
44
- justify-content: center;
45
- align-items: center;
46
-
47
- img {
48
- background-color: transparent;
49
- height: 70%;
50
- width: 70%;
51
- object-fit: contain;
52
- }
53
- }
54
-
55
- .presence {
56
- bottom: 0px;
57
- }
58
-
59
- .status {
60
- top: 0px;
61
- }
62
-
63
- .online {
64
- background-color: var(--color-green-5);
65
- }
66
-
67
- .busy {
68
- background-color: var(--color-red-5);
69
- color: white;
70
- }
71
-
72
- .focus {
73
- background-color: white;
74
- }
75
-
76
- .offline {
77
- background-color: var(--color-grey-6);
78
- }
79
-
80
- .approved {
81
- background-color: var(--color-turquoise-5);
82
- }
83
-
84
- .declined {
85
- background-color: var(--color-red-5);
86
- }
87
-
88
- .locked {
89
- background-color: var(--color-grey-3);
90
- }
@@ -1,75 +0,0 @@
1
- import React from "react";
2
- import "@testing-library/jest-dom";
3
- import { render, screen } from "@testing-library/react";
4
-
5
-
6
- import { Avatar } from "./Avatar";
7
-
8
- const generateMockProps = props => ({
9
- as: "button",
10
- size: 64,
11
- ...props,
12
- });
13
-
14
- describe("Avatar renders", () => {
15
- it("with a url", () => {
16
- const props = generateMockProps({
17
- url: "https://testing.avatar.io"
18
- });
19
- render(<Avatar {...props} />);
20
- const img = screen.getByRole("img");
21
- expect(img).toHaveAttribute("src", "https://testing.avatar.io");
22
- });
23
-
24
- it("with a title", () => {
25
- const props = generateMockProps({
26
- title: "Ben Merritt"
27
- });
28
- render(<Avatar {...props} />);
29
- expect(screen.findByText("Ben Merritt"));
30
- });
31
-
32
- it("with a subtitle", () => {
33
- const props = generateMockProps({
34
- subtitle: "1 hour ago"
35
- });
36
- render(<Avatar {...props} />);
37
- expect(screen.findByText("1 hour ago"));
38
- });
39
-
40
- it("at different sizes", () => {
41
- const SIZE = 128
42
- const props = generateMockProps({
43
- size: SIZE
44
- });
45
- render(<Avatar {...props} />);
46
- const button = screen.getByRole("button");
47
- expect(button).toHaveStyle(`
48
- height: ${SIZE}
49
- `)
50
- });
51
-
52
- it("with a presence indicator", () => {
53
- const props = generateMockProps({
54
- presence: "busy"
55
- });
56
- render(<Avatar {...props} />);
57
- const svgWrapper = screen.getByTestId("presence-wrapper")
58
- expect(svgWrapper).toHaveStyle(`
59
- background-color: var(--color-red);
60
- `)
61
- expect(svgWrapper.firstChild.firstChild)
62
- });
63
-
64
- it("with a status indicator", () => {
65
- const props = generateMockProps({
66
- status: "declined"
67
- });
68
- render(<Avatar {...props} />);
69
- const svgWrapper = screen.getByTestId("status-wrapper")
70
- expect(svgWrapper).toHaveStyle(`
71
- background-color: var(--color-red);
72
- `)
73
- expect(svgWrapper.firstChild.firstChild)
74
- });
75
- })
@@ -1,96 +0,0 @@
1
- import React from "react";
2
- import styles from "./Avatar.module.scss";
3
- import { DefaultIcon } from "./DefaultIcon";
4
-
5
- import {
6
- iconDisplacement,
7
- iconSize,
8
- presenceIcon,
9
- statusIcon,
10
- } from "./iconHelpers";
11
-
12
- export interface AvatarProps
13
- extends React.PropsWithChildren,
14
- Omit<
15
- React.HTMLProps<HTMLButtonElement | HTMLAnchorElement>,
16
- "as" | "title"
17
- > {
18
- as?: React.ElementType;
19
- size: 128 | 96 | 64 | 40 | 36 | 32 | 24;
20
- url: string;
21
- title?: string | React.ReactNode;
22
- textPosition?: "left" | "right";
23
- subtitle?: string | React.ReactNode;
24
- presence?: "online" | "busy" | "focus" | "offline";
25
- status?: "approved" | "declined" | "locked";
26
- }
27
-
28
- export const Avatar = ({
29
- as: Tag = "button",
30
- size = 64,
31
- url,
32
- title,
33
- subtitle,
34
- presence,
35
- status,
36
- textPosition = "right",
37
- ...rest
38
- }: AvatarProps) => {
39
- const [displayDefault, setDisplayDefault] = React.useState(false);
40
-
41
- const sizeOfIcon = iconSize(size);
42
- const displacement = iconDisplacement(size);
43
- const presenceElement = presenceIcon({ presence, size });
44
- const statusElement = statusIcon({ status, size });
45
-
46
- return (
47
- <div className={styles.wrapper}>
48
- <Tag className={styles.avatar} {...rest}>
49
- {!displayDefault && (
50
- <img
51
- src={url}
52
- alt={`avatar, ${title ? title : "unknown"}`}
53
- className="avatar-img"
54
- style={{ width: size, height: size }}
55
- onError={() => setDisplayDefault(true)}
56
- />
57
- )}
58
- {displayDefault && <DefaultIcon />}
59
- {presence && (
60
- <div
61
- className={`${styles.presence} ${styles[presence]}`}
62
- data-testid="presence-wrapper"
63
- style={{
64
- width: sizeOfIcon,
65
- height: sizeOfIcon,
66
- marginRight: displacement,
67
- marginBottom: displacement,
68
- }}
69
- >
70
- {presenceElement}
71
- </div>
72
- )}
73
- {status && (
74
- <div
75
- className={`${styles.status} ${styles[status]}`}
76
- data-testid="status-wrapper"
77
- style={{
78
- width: sizeOfIcon,
79
- height: sizeOfIcon,
80
- marginRight: displacement,
81
- marginTop: displacement,
82
- }}
83
- >
84
- {statusElement}
85
- </div>
86
- )}
87
- </Tag>
88
- {(title || subtitle) && (
89
- <div className={textPosition}>
90
- {title && <p className="avatar">{title}</p>}
91
- {subtitle && <p className="avatar subtitle">{subtitle}</p>}
92
- </div>
93
- )}
94
- </div>
95
- );
96
- };
@@ -1,4 +0,0 @@
1
-
2
- <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M18.8591 4.0743C17.5175 4.24647 16.0686 4.78143 14.9877 5.50371C14.3081 5.95785 13.3158 6.87994 12.8402 7.49923C12.0233 8.56305 11.3755 10.0081 11.1261 11.3229C10.9683 12.1545 10.9654 13.8965 11.1204 14.7068C11.3504 15.9088 11.8334 17.0691 12.5556 18.1541C13.022 18.855 14.0159 19.865 14.7227 20.3561L15.2791 20.7428L14.7618 20.9246C14.0573 21.172 12.5613 21.9173 11.8564 22.3719C10.4024 23.3097 8.75285 24.8781 7.78593 26.2421C6.49114 28.0687 5.57545 30.2513 5.18268 32.4472C5.0059 33.4356 4.94109 35.1437 5.06876 35.4519C5.21509 35.8052 5.53453 36 5.96735 36C6.6502 36 7.02102 35.6114 7.02211 34.8948C7.02297 34.3329 7.15205 33.2105 7.30361 32.4472C7.56417 31.135 8.17479 29.5552 8.86654 28.404C9.68143 27.0476 10.9812 25.5964 12.1751 24.7101C14.0173 23.3424 15.9779 22.518 18.1903 22.1811C18.4709 22.1383 19.3142 22.0696 20.0643 22.0284C20.8144 21.9871 21.6653 21.898 21.9553 21.8302C22.6461 21.6689 23.4912 21.3626 24.122 21.045C24.9142 20.6461 25.9633 19.8576 26.5587 19.2137C27.7815 17.8915 28.55 16.3484 28.893 14.5268C29.0313 13.7919 29.0138 12.1173 28.8596 11.3412C28.4881 9.47211 27.6286 7.88504 26.2837 6.58463C25.8892 6.20326 25.3557 5.74827 25.098 5.57359C23.9895 4.82211 22.6551 4.30691 21.3009 4.10756C20.4028 3.97536 19.7042 3.96592 18.8591 4.0743ZM21.5368 6.25191C22.2915 6.43283 23.2696 6.87026 23.9452 7.32901C24.5337 7.72872 25.2898 8.48075 25.6771 9.05178C26.2639 9.9168 26.6762 10.9194 26.8509 11.9058C26.8961 12.1606 26.933 12.6752 26.933 13.0492C26.933 14.7572 26.2648 16.4385 25.0666 17.7455C24.2454 18.6412 23.1015 19.337 21.8014 19.7315C21.2004 19.9139 20.9806 19.9398 20.0225 19.941C19.1374 19.9421 18.8104 19.9099 18.3047 19.7715C17.0477 19.4278 15.7765 18.6783 14.9271 17.7802C14.1849 16.9955 13.5502 15.8364 13.2534 14.7237C13.173 14.4222 13.087 13.7889 13.0624 13.3165C13.0268 12.6329 13.0491 12.306 13.172 11.715C13.2568 11.3065 13.4373 10.7057 13.573 10.3796C14.2011 8.8707 15.4471 7.53624 16.8992 6.81709C17.9769 6.28338 18.7302 6.10839 19.9835 6.10051C20.6304 6.09637 21.0647 6.13877 21.5368 6.25191ZM28.8666 23.7849C28.5829 23.9389 28.4166 24.2792 28.4166 24.706C28.4166 24.9937 28.4693 25.1198 28.7202 25.4321C28.8871 25.6399 29.2232 26.0033 29.4669 26.2395C29.9872 26.7436 30.7618 27.7687 31.2123 28.5493C31.9202 29.7757 32.508 31.3976 32.747 32.784C32.8113 33.157 32.894 33.9157 32.9308 34.4699L32.9978 35.4775L33.2828 35.7388C33.5353 35.9702 33.6179 36 34.0063 36C34.4042 36 34.4702 35.9745 34.721 35.7237L34.9974 35.4473L34.9525 34.1815C34.8997 32.6927 34.6829 31.5304 34.1913 30.1021C33.7932 28.9453 32.9482 27.2872 32.2827 26.3566C31.677 25.5098 30.7822 24.4931 30.2208 24.0139C29.8584 23.7045 29.7659 23.6631 29.4448 23.6658C29.2444 23.6675 28.9841 23.7211 28.8666 23.7849Z" fill="#9DA7B2"/>
4
- </svg>
@@ -1,12 +0,0 @@
1
- import React from "react";
2
-
3
- export const DefaultIcon = () => (
4
- <svg width="40" height="40" viewBox="0 0 40 40" fill="none">
5
- <path
6
- fillRule="evenodd"
7
- clipRule="evenodd"
8
- d="M18.8591 4.0743C17.5175 4.24647 16.0686 4.78143 14.9877 5.50371C14.3081 5.95785 13.3158 6.87994 12.8402 7.49923C12.0233 8.56305 11.3755 10.0081 11.1261 11.3229C10.9683 12.1545 10.9654 13.8965 11.1204 14.7068C11.3504 15.9088 11.8334 17.0691 12.5556 18.1541C13.022 18.855 14.0159 19.865 14.7227 20.3561L15.2791 20.7428L14.7618 20.9246C14.0573 21.172 12.5613 21.9173 11.8564 22.3719C10.4024 23.3097 8.75285 24.8781 7.78593 26.2421C6.49114 28.0687 5.57545 30.2513 5.18268 32.4472C5.0059 33.4356 4.94109 35.1437 5.06876 35.4519C5.21509 35.8052 5.53453 36 5.96735 36C6.6502 36 7.02102 35.6114 7.02211 34.8948C7.02297 34.3329 7.15205 33.2105 7.30361 32.4472C7.56417 31.135 8.17479 29.5552 8.86654 28.404C9.68143 27.0476 10.9812 25.5964 12.1751 24.7101C14.0173 23.3424 15.9779 22.518 18.1903 22.1811C18.4709 22.1383 19.3142 22.0696 20.0643 22.0284C20.8144 21.9871 21.6653 21.898 21.9553 21.8302C22.6461 21.6689 23.4912 21.3626 24.122 21.045C24.9142 20.6461 25.9633 19.8576 26.5587 19.2137C27.7815 17.8915 28.55 16.3484 28.893 14.5268C29.0313 13.7919 29.0138 12.1173 28.8596 11.3412C28.4881 9.47211 27.6286 7.88504 26.2837 6.58463C25.8892 6.20326 25.3557 5.74827 25.098 5.57359C23.9895 4.82211 22.6551 4.30691 21.3009 4.10756C20.4028 3.97536 19.7042 3.96592 18.8591 4.0743ZM21.5368 6.25191C22.2915 6.43283 23.2696 6.87026 23.9452 7.32901C24.5337 7.72872 25.2898 8.48075 25.6771 9.05178C26.2639 9.9168 26.6762 10.9194 26.8509 11.9058C26.8961 12.1606 26.933 12.6752 26.933 13.0492C26.933 14.7572 26.2648 16.4385 25.0666 17.7455C24.2454 18.6412 23.1015 19.337 21.8014 19.7315C21.2004 19.9139 20.9806 19.9398 20.0225 19.941C19.1374 19.9421 18.8104 19.9099 18.3047 19.7715C17.0477 19.4278 15.7765 18.6783 14.9271 17.7802C14.1849 16.9955 13.5502 15.8364 13.2534 14.7237C13.173 14.4222 13.087 13.7889 13.0624 13.3165C13.0268 12.6329 13.0491 12.306 13.172 11.715C13.2568 11.3065 13.4373 10.7057 13.573 10.3796C14.2011 8.8707 15.4471 7.53624 16.8992 6.81709C17.9769 6.28338 18.7302 6.10839 19.9835 6.10051C20.6304 6.09637 21.0647 6.13877 21.5368 6.25191ZM28.8666 23.7849C28.5829 23.9389 28.4166 24.2792 28.4166 24.706C28.4166 24.9937 28.4693 25.1198 28.7202 25.4321C28.8871 25.6399 29.2232 26.0033 29.4669 26.2395C29.9872 26.7436 30.7618 27.7687 31.2123 28.5493C31.9202 29.7757 32.508 31.3976 32.747 32.784C32.8113 33.157 32.894 33.9157 32.9308 34.4699L32.9978 35.4775L33.2828 35.7388C33.5353 35.9702 33.6179 36 34.0063 36C34.4042 36 34.4702 35.9745 34.721 35.7237L34.9974 35.4473L34.9525 34.1815C34.8997 32.6927 34.6829 31.5304 34.1913 30.1021C33.7932 28.9453 32.9482 27.2872 32.2827 26.3566C31.677 25.5098 30.7822 24.4931 30.2208 24.0139C29.8584 23.7045 29.7659 23.6631 29.4448 23.6658C29.2444 23.6675 28.9841 23.7211 28.8666 23.7849Z"
9
- fill="#9DA7B2"
10
- />
11
- </svg>
12
- );