@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,106 +0,0 @@
1
- import React from "react";
2
- import ReactTooltip from "react-tooltip";
3
- import {
4
- Alignment,
5
- AlignToolbarButton,
6
- getPreventDefaultHandler,
7
- isCollapsed,
8
- PlateEditor,
9
- setAlign,
10
- someNode,
11
- } from "@udecode/plate";
12
- import {
13
- TextAlign,
14
- TextAlignCenter,
15
- TextAlignJustify,
16
- TextAlignLeft,
17
- TextAlignRight,
18
- } from "@soul-refiner/icons/src";
19
-
20
- import { Dropdown } from "../../../../actions";
21
-
22
- export interface AlignmentDropdownProps {
23
- editorRef: PlateEditor;
24
- stateEditor: PlateEditor;
25
- }
26
-
27
- export const AlignmentDropdown = ({
28
- editorRef,
29
- stateEditor,
30
- }: AlignmentDropdownProps) => {
31
- const handleAlign = (event: React.MouseEvent) => {
32
- const value = (event.target as HTMLElement)?.getAttribute(
33
- "data-value"
34
- ) as Alignment | null;
35
- if (!value) return;
36
- const handler = getPreventDefaultHandler(setAlign, stateEditor, {
37
- value,
38
- });
39
- handler(event);
40
- };
41
-
42
- const alignment = (() => {
43
- if (!isCollapsed(editorRef?.selection)) {
44
- return "multiple-lines";
45
- } else if (
46
- someNode(editorRef!, { match: { align: "center" } }) ? true : undefined
47
- ) {
48
- return "center";
49
- } else if (
50
- someNode(editorRef!, { match: { align: "right" } }) ? true : undefined
51
- ) {
52
- return "right";
53
- } else if (
54
- someNode(editorRef!, { match: { align: "justify" } }) ? true : undefined
55
- ) {
56
- return "justify";
57
- } else {
58
- return "left";
59
- }
60
- })();
61
-
62
- return (
63
- <Dropdown
64
- maintainState={false}
65
- onChange={handleAlign}
66
- trigger={
67
- <div>
68
- <ReactTooltip place="top" type="dark" effect="solid" html />
69
- <div data-tip="Alignment">
70
- <TextAlign
71
- as="button"
72
- fill={"var(--color-grey-1)"}
73
- size={32}
74
- iconSize={24}
75
- />
76
- </div>
77
- </div>
78
- }
79
- >
80
- <AlignToolbarButton
81
- active={alignment === "left" ? true : undefined}
82
- data-value="left"
83
- value="left"
84
- icon={<TextAlignLeft className="fill" fill="var(--color-grey-1)" />}
85
- />
86
- <AlignToolbarButton
87
- active={alignment === "center" ? true : undefined}
88
- data-value="center"
89
- value="center"
90
- icon={<TextAlignCenter className="fill" fill="var(--color-grey-1)" />}
91
- />
92
- <AlignToolbarButton
93
- active={alignment === "right" ? true : undefined}
94
- data-value="right"
95
- value="right"
96
- icon={<TextAlignRight className="fill" fill="var(--color-grey-1)" />}
97
- />
98
- <AlignToolbarButton
99
- active={alignment === "justify" ? true : undefined}
100
- data-value="justify"
101
- value="justify"
102
- icon={<TextAlignJustify className="fill" fill="var(--color-grey-1)" />}
103
- />
104
- </Dropdown>
105
- );
106
- };
@@ -1 +0,0 @@
1
- export { AlignmentDropdown, type AlignmentDropdownProps } from "./AlignmentDropdown";
@@ -1,85 +0,0 @@
1
- @use "@soul-refiner/styles/mixins";
2
-
3
- .option {
4
- cursor: pointer;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- }
9
-
10
- .footer {
11
- @include mixins.flex($gap: 16px);
12
-
13
- .footerButton {
14
- flex-shrink: 0;
15
- flex-grow: 1;
16
- width: unset !important;
17
- height: unset !important;
18
- span {
19
- flex-shrink: 0;
20
- height: min-content;
21
- width: max-content;
22
- }
23
-
24
- &:first-of-type {
25
- outline: 1px solid var(--color-grey-8);
26
- }
27
- }
28
- }
29
-
30
- .content {
31
- @include mixins.flex($dir: column, $gap: 32px, $align: stretch);
32
- max-height: 483px;
33
- min-width: 615px;
34
- padding: 32px 20px 48px 32px;
35
- margin-right: 12px;
36
- overflow: auto;
37
-
38
- &::-webkit-scrollbar-track {
39
- margin: 24px;
40
- }
41
-
42
- .selectionWrapper {
43
- border: 2px solid var(--color-grey-8);
44
- border-radius: 8px;
45
- box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
46
-
47
- &[class~="selected"] {
48
- border: 2px solid var(--colorify-blue-3);
49
- }
50
-
51
- .selection {
52
- @include mixins.flex($gap: 14px);
53
- padding: 24px;
54
- background-color: #f2f7fd;
55
- border-bottom: 1px solid #d1d9e2;
56
- border-radius: 8px 8px 0px 0px;
57
- cursor: pointer;
58
-
59
- .radio {
60
- width: 24px;
61
- height: 24px;
62
- box-sizing: border-box;
63
- border: 1px solid var(--color-grey-8);
64
- border-radius: 50%;
65
-
66
- &[class~="selected"] {
67
- border: 6px solid var(--color-blue-3);
68
- }
69
- }
70
-
71
- h3 {
72
- @include mixins.font(700, 14px, 21px);
73
- }
74
-
75
- p {
76
- @include mixins.font(400, 14px, 21px);
77
- }
78
- }
79
-
80
- .imgWrapper {
81
- @include mixins.flex($align: center, $justify: center);
82
- padding: 24px;
83
- }
84
- }
85
- }
@@ -1,314 +0,0 @@
1
- import React from "react";
2
- import ReactTooltip from "react-tooltip";
3
- import { getPluginType, insertNodes, PlateEditor } from "@udecode/plate";
4
- import {
5
- Button as ButtonIcon,
6
- Check,
7
- CloseThin,
8
- } from "@soul-refiner/icons/src";
9
-
10
- import { Button } from "../../../../actions";
11
- import { IconHeader } from "../../../../iconography";
12
- import { Modal } from "../../../../surfaces";
13
- import {
14
- BUTTON_COMMENT,
15
- BUTTON_GIFT_SUBSCRIPTION,
16
- BUTTON_LINK,
17
- BUTTON_SHARE,
18
- BUTTON_SHARE_PAGE,
19
- BUTTON_SIGNUP,
20
- BUTTON_SPECIAL_OFFER,
21
- BUTTON_SUBSCRIBE,
22
- ELEMENT_BUTTON,
23
- } from "../../../../editor/common";
24
-
25
- import {
26
- Comment,
27
- GiftSubscription,
28
- Link,
29
- Share,
30
- ShareCommunity,
31
- Signup,
32
- Special,
33
- Subscribe,
34
- } from "./assets";
35
- import styles from "./ButtonModal.module.scss";
36
-
37
- export interface ButtonModalProps {
38
- editorRef: PlateEditor;
39
- pageName: string;
40
- }
41
-
42
- type ButtonNode =
43
- | typeof BUTTON_COMMENT
44
- | typeof BUTTON_GIFT_SUBSCRIPTION
45
- | typeof BUTTON_LINK
46
- | typeof BUTTON_SHARE
47
- | typeof BUTTON_SHARE_PAGE
48
- | typeof BUTTON_SIGNUP
49
- | typeof BUTTON_SPECIAL_OFFER
50
- | typeof BUTTON_SUBSCRIBE;
51
-
52
- export const ButtonModal = ({ editorRef, pageName }: ButtonModalProps) => {
53
- const [selected, setSelected] = React.useState<ButtonNode>(BUTTON_SUBSCRIBE);
54
-
55
- const handleSubmit = () => {
56
- switch (selected) {
57
- case BUTTON_COMMENT:
58
- insertNodes(editorRef, {
59
- type: getPluginType(editorRef, ELEMENT_BUTTON),
60
- buttonType: BUTTON_COMMENT,
61
- children: [
62
- {
63
- text: "Leave a comment",
64
- },
65
- ],
66
- });
67
- return;
68
- case BUTTON_GIFT_SUBSCRIPTION:
69
- insertNodes(editorRef, {
70
- type: getPluginType(editorRef, ELEMENT_BUTTON),
71
- buttonType: BUTTON_GIFT_SUBSCRIPTION,
72
- children: [
73
- {
74
- text: "Gift a subscription",
75
- },
76
- ],
77
- });
78
- return;
79
- // TODO: BUTTON_LINK
80
- // case BUTTON_LINK:
81
- // insertNodes(editorRef, {
82
- // type: getPluginType(editorRef, ELEMENT_BUTTON),
83
- // buttonType: BUTTON_LINK,
84
- // children: [
85
- // {
86
- // text: "Link to a site"
87
- // }
88
- // ]
89
- // });
90
- // return;
91
- case BUTTON_SHARE:
92
- insertNodes(editorRef, {
93
- type: getPluginType(editorRef, ELEMENT_BUTTON),
94
- buttonType: BUTTON_SHARE,
95
- children: [
96
- {
97
- text: "Share now",
98
- },
99
- ],
100
- });
101
- return;
102
- case BUTTON_SHARE_PAGE:
103
- const shareText = `Share ${pageName}' page Now`;
104
- insertNodes(editorRef, {
105
- type: getPluginType(editorRef, ELEMENT_BUTTON),
106
- buttonType: BUTTON_SHARE_PAGE,
107
- children: [
108
- {
109
- text: shareText,
110
- },
111
- {
112
- text: "Thanks for reading Soul Refiner! This post is public so feel free to share it.",
113
- beforeElement: true,
114
- },
115
- ],
116
- });
117
- return;
118
- case BUTTON_SPECIAL_OFFER:
119
- const specialOfferText = `Share ${pageName}'s page Now`;
120
- insertNodes(editorRef, {
121
- type: getPluginType(editorRef, ELEMENT_BUTTON),
122
- buttonType: BUTTON_SPECIAL_OFFER,
123
- children: [
124
- {
125
- text: specialOfferText,
126
- },
127
- {
128
- text: "Get 20% off when you subscribe before December 25th, 2022",
129
- beforeElement: true,
130
- },
131
- ],
132
- });
133
- return;
134
- case BUTTON_SUBSCRIBE:
135
- insertNodes(editorRef, {
136
- type: getPluginType(editorRef, ELEMENT_BUTTON),
137
- buttonType: BUTTON_SUBSCRIBE,
138
- children: [
139
- {
140
- text: "Subscribe now",
141
- },
142
- ],
143
- });
144
- return;
145
- case BUTTON_SIGNUP:
146
- const subscribeCaptionText = `Thanks for reading ${pageName} Subscribe for free to receive new posts and support our work.`;
147
- insertNodes(editorRef, {
148
- type: getPluginType(editorRef, ELEMENT_BUTTON),
149
- buttonType: BUTTON_SIGNUP,
150
- children: [
151
- {
152
- text: "Signup",
153
- },
154
- {
155
- text: subscribeCaptionText,
156
- beforeElement: true,
157
- },
158
- ],
159
- });
160
- return;
161
- }
162
- };
163
-
164
- return (
165
- <Modal>
166
- <ReactTooltip place="top" type="dark" effect="solid" html />
167
- <Modal.Trigger>
168
- <span className={styles.option} data-tip="Insert Button">
169
- <ButtonIcon fill="var(--color-grey-4)" />
170
- </span>
171
- </Modal.Trigger>
172
- <Modal.Content
173
- header={
174
- <IconHeader
175
- color="blue"
176
- icon={<ButtonIcon fill="var(--color-blue-3)" />}
177
- title="Insert Button"
178
- />
179
- }
180
- footer={
181
- <div className={styles.footer}>
182
- <Modal.Dismiss>
183
- <Button
184
- buttonType="secondary"
185
- className={styles.footerButton}
186
- icon={<CloseThin />}
187
- shape="rectangular"
188
- >
189
- Cancel
190
- </Button>
191
- </Modal.Dismiss>
192
- <Modal.Dismiss>
193
- <Button
194
- buttonColor="var(--color-blue-3)"
195
- buttonType="primary"
196
- className={styles.footerButton}
197
- color="#FFFFFF"
198
- icon={<Check />}
199
- onClick={handleSubmit}
200
- shape="rectangular"
201
- >
202
- Confirm
203
- </Button>
204
- </Modal.Dismiss>
205
- </div>
206
- }
207
- >
208
- <div className={styles.content}>
209
- <Selection
210
- description="A button encouraging the reader to purchase a paid subscription to your community"
211
- name="Subscribe Now"
212
- onClick={() => setSelected(BUTTON_SUBSCRIBE)}
213
- selected={selected === BUTTON_SUBSCRIBE}
214
- >
215
- <Subscribe />
216
- </Selection>
217
- <Selection
218
- description="Insert an input to collect email newsletter subscribers"
219
- name="Signup for Newsletter"
220
- onClick={() => setSelected(BUTTON_SIGNUP)}
221
- selected={selected === BUTTON_SIGNUP}
222
- >
223
- <Signup />
224
- </Selection>
225
- {/* <Selection
226
- description="A button that links to a URL"
227
- name="Link Button"
228
- onClick={() => setSelected(BUTTON_LINK)}
229
- selected={selected === BUTTON_LINK}
230
- >
231
- <Link />
232
- </Selection> */}
233
- <Selection
234
- description="A share button to share about this course"
235
- name="Share this course"
236
- onClick={() => setSelected(BUTTON_SHARE)}
237
- selected={selected === BUTTON_SHARE}
238
- >
239
- <Share />
240
- </Selection>
241
- <Selection
242
- description="A share button to share about your community"
243
- name="Share community page"
244
- onClick={() => setSelected(BUTTON_SHARE_PAGE)}
245
- selected={selected === BUTTON_SHARE_PAGE}
246
- >
247
- <ShareCommunity />
248
- </Selection>
249
- <Selection
250
- description="Allow readers to comment in this course"
251
- name="Leave a comment"
252
- onClick={() => setSelected(BUTTON_COMMENT)}
253
- selected={selected === BUTTON_COMMENT}
254
- >
255
- <Comment />
256
- </Selection>
257
- <Selection
258
- description="A button encouraging the reader to purchase a paid subscription to your community for a friend"
259
- name="Give a gift subscription"
260
- onClick={() => setSelected(BUTTON_GIFT_SUBSCRIPTION)}
261
- selected={selected === BUTTON_GIFT_SUBSCRIPTION}
262
- >
263
- <GiftSubscription />
264
- </Selection>
265
- <Selection
266
- description="Offer a special discount to readers of this course"
267
- name="Special Offer"
268
- onClick={() => setSelected(BUTTON_SPECIAL_OFFER)}
269
- selected={selected === BUTTON_SPECIAL_OFFER}
270
- >
271
- <Special />
272
- </Selection>
273
- </div>
274
- </Modal.Content>
275
- </Modal>
276
- );
277
- };
278
-
279
- interface SelectionProps extends React.PropsWithChildren {
280
- description: string;
281
- name: string;
282
- onClick: () => void;
283
- selected: boolean;
284
- }
285
-
286
- const Selection = ({
287
- children,
288
- description,
289
- name,
290
- onClick,
291
- selected,
292
- }: SelectionProps) => {
293
- return (
294
- <div
295
- className={`${styles.selectionWrapper} ${
296
- selected ? "selected" : ""
297
- }`.trim()}
298
- onClick={onClick}
299
- >
300
- <div className={styles.selection}>
301
- <div
302
- className={`${styles.radio} ${
303
- selected ? "selected" : "not-selected"
304
- }`.trim()}
305
- />
306
- <div>
307
- <h3>{name}</h3>
308
- <p>{description}</p>
309
- </div>
310
- </div>
311
- <div className={styles.imgWrapper}>{children}</div>
312
- </div>
313
- );
314
- };
@@ -1,28 +0,0 @@
1
- import React from "react";
2
-
3
- export const Comment = () => (
4
- <svg
5
- width="168"
6
- height="40"
7
- viewBox="0 0 168 40"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <path
12
- d="M0.5 4.9082C0.5 2.69906 2.29086 0.908203 4.5 0.908203H163.5C165.709 0.908203 167.5 2.69906 167.5 4.9082V35.9082C167.5 38.1173 165.709 39.9082 163.5 39.9082H4.5C2.29086 39.9082 0.5 38.1173 0.5 35.9082V4.9082Z"
13
- fill="#2393EF"
14
- />
15
- <text
16
- fill="white"
17
- style={{ whiteSpace: "pre" }}
18
- fontFamily="Inter"
19
- fontSize="14"
20
- fontWeight="600"
21
- letterSpacing="0em"
22
- >
23
- <tspan x="24.5205" y="25.4991">
24
- Leave a comment
25
- </tspan>
26
- </text>
27
- </svg>
28
- );
@@ -1,28 +0,0 @@
1
- import React from "react";
2
-
3
- export const GiftSubscription = () => (
4
- <svg
5
- width="206"
6
- height="40"
7
- viewBox="0 0 206 40"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <path
12
- d="M0 4.9082C0 2.69906 1.79086 0.908203 4 0.908203H202C204.209 0.908203 206 2.69906 206 4.9082V35.9082C206 38.1173 204.209 39.9082 202 39.9082H4C1.79086 39.9082 0 38.1173 0 35.9082V4.9082Z"
13
- fill="#2393EF"
14
- />
15
- <text
16
- fill="white"
17
- style={{ whiteSpace: "pre" }}
18
- fontFamily="Inter"
19
- fontSize="14"
20
- fontWeight="600"
21
- letterSpacing="0em"
22
- >
23
- <tspan x="24.4961" y="25.4991">
24
- Give a gift subscription
25
- </tspan>
26
- </text>
27
- </svg>
28
- );
@@ -1,28 +0,0 @@
1
- import React from "react";
2
-
3
- export const Link = () => (
4
- <svg
5
- width="126"
6
- height="40"
7
- viewBox="0 0 126 40"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <path
12
- d="M0.5 4.9082C0.5 2.69906 2.29086 0.908203 4.5 0.908203H121.5C123.709 0.908203 125.5 2.69906 125.5 4.9082V35.9082C125.5 38.1173 123.709 39.9082 121.5 39.9082H4.5C2.29086 39.9082 0.5 38.1173 0.5 35.9082V4.9082Z"
13
- fill="#2393EF"
14
- />
15
- <text
16
- fill="#F6FBFE"
17
- style={{ whiteSpace: "pre" }}
18
- fontFamily="Inter"
19
- fontSize="14"
20
- fontWeight="600"
21
- letterSpacing="0em"
22
- >
23
- <tspan x="24.5615" y="25.4991">
24
- Link Button
25
- </tspan>
26
- </text>
27
- </svg>
28
- );
@@ -1,28 +0,0 @@
1
- import React from "react";
2
-
3
- export const Share = () => (
4
- <svg
5
- width="88"
6
- height="40"
7
- viewBox="0 0 88 40"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <path
12
- d="M0 4.9082C0 2.69906 1.79086 0.908203 4 0.908203H84C86.2091 0.908203 88 2.69906 88 4.9082V35.9082C88 38.1173 86.2091 39.9082 84 39.9082H4C1.79086 39.9082 0 38.1173 0 35.9082V4.9082Z"
13
- fill="#2393EF"
14
- />
15
- <text
16
- fill="white"
17
- style={{ whiteSpace: "pre" }}
18
- fontFamily="Inter"
19
- fontSize="14"
20
- fontWeight="600"
21
- letterSpacing="0em"
22
- >
23
- <tspan x="24.374" y="25.4991">
24
- Share
25
- </tspan>
26
- </text>
27
- </svg>
28
- );
@@ -1,42 +0,0 @@
1
- import React from "react";
2
-
3
- export const ShareCommunity = () => (
4
- <svg
5
- width="352"
6
- height="107"
7
- viewBox="0 0 352 107"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <text
12
- fill="#4A4F55"
13
- style={{ whiteSpace: "pre" }}
14
- fontFamily="Inter"
15
- fontSize="14"
16
- letterSpacing="0em"
17
- >
18
- <tspan x="8.49228" y="16.4991">
19
- Thanks for reading Soul Refiner! This post is public{" "}
20
- </tspan>
21
- <tspan x="101.878" y="37.4991">
22
- so feel free to share it.
23
- </tspan>
24
- </text>
25
- <path
26
- d="M66 71.9082C66 69.6991 67.7909 67.9082 70 67.9082H282C284.209 67.9082 286 69.6991 286 71.9082V102.908C286 105.117 284.209 106.908 282 106.908H70C67.7909 106.908 66 105.117 66 102.908V71.9082Z"
27
- fill="#2393EF"
28
- />
29
- <text
30
- fill="white"
31
- style={{ whiteSpace: "pre" }}
32
- fontFamily="Inter"
33
- fontSize="14"
34
- fontWeight="600"
35
- letterSpacing="0em"
36
- >
37
- <tspan x="90.0381" y="92.4991">
38
- Share Soul Refiner&#x2019;s Page
39
- </tspan>
40
- </text>
41
- </svg>
42
- );