@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,457 +0,0 @@
1
- import React from "react";
2
- import {
3
- findNodePath,
4
- replaceNodeChildren,
5
- removeNodes,
6
- setNodes,
7
- TElement,
8
- usePlateEditorRef,
9
- } from "@udecode/plate";
10
- import {
11
- ClosedCaptions,
12
- Details,
13
- Image,
14
- Upload,
15
- VideoPlay,
16
- } from "@soul-refiner/icons/src";
17
- import { secondsToTimeString } from "@soul-refiner/utils/src";
18
- import { Media } from "@soul-refiner/models";
19
-
20
- import { Button, Dropzone, Switch } from "../../../actions";
21
- import { EditorContext } from "../../Editor";
22
- import { TextInput } from "../../../inputs";
23
- import { Drawer } from "../../../navigation";
24
- import { Modal } from "../../../surfaces";
25
-
26
- import styles from "./MediaDrawer.module.scss";
27
- import { ELEMENT_VIDEO } from "../../common";
28
-
29
- export interface MediaDrawerProps {
30
- element: TElement;
31
- open: boolean;
32
- toggle: () => void;
33
- }
34
-
35
- export const MediaDrawer = ({ element, open, toggle }: MediaDrawerProps) => {
36
- const {
37
- availableVideos,
38
- handleChangeVideo,
39
- handleDeleteVideo,
40
- handleUploadImage,
41
- handleUploadVideo,
42
- } = React.useContext(EditorContext);
43
- const { children, type: __, ...spreadVideo } = element;
44
- const text = children[0].text as string;
45
- const video = spreadVideo as unknown as Media;
46
- const editorRef = usePlateEditorRef("main");
47
- const [mediaTab, setMediaTab] = React.useState("Upload");
48
- const [title, setTitle] = React.useState(video.title);
49
- const [synopsis, setSynopsis] = React.useState(video.synopsis);
50
- const [videoToBeChanged, setVideoToBeChanged] = React.useState<null | Media>(
51
- null
52
- );
53
- const [deleteText, setDeleteText] = React.useState("");
54
-
55
- const path = findNodePath(editorRef, element);
56
-
57
- React.useEffect(() => {
58
- if (title !== text && typeof text === "string") setTitle(text);
59
- }, [text]);
60
-
61
- if (!video) return null;
62
-
63
- const handleTitle = (event: React.FormEvent) => {
64
- const value = (event.target as HTMLTextAreaElement).value;
65
- if (path) {
66
- replaceNodeChildren(editorRef, {
67
- at: path,
68
- nodes: {
69
- text: value,
70
- },
71
- });
72
- setNodes(
73
- editorRef,
74
- {
75
- title,
76
- },
77
- {
78
- at: path,
79
- }
80
- );
81
- setTitle(value);
82
- }
83
- };
84
-
85
- const handleSynopsis = (event: React.FormEvent) => {
86
- const value = (event.target as HTMLTextAreaElement).value;
87
- setNodes(
88
- editorRef,
89
- {
90
- synopsis,
91
- },
92
- {
93
- at: path,
94
- }
95
- );
96
- setSynopsis(value);
97
- };
98
-
99
- const handleMediaTabs = (option: string) => setMediaTab(option);
100
-
101
- const handleDeleteTextChange = (event: React.FormEvent) => {
102
- const value = (event.target as HTMLInputElement).value;
103
- setDeleteText(value);
104
- };
105
-
106
- const handleVideoReplace = () => {
107
- if (videoToBeChanged) {
108
- setTitle(videoToBeChanged.title);
109
- setSynopsis(videoToBeChanged.synopsis);
110
- setVideoToBeChanged(null);
111
- setNodes(
112
- editorRef,
113
- {
114
- id: videoToBeChanged.id,
115
- created: videoToBeChanged.created,
116
- parentId: videoToBeChanged.parentId,
117
- captions: videoToBeChanged.captions ?? [],
118
- duration: videoToBeChanged.duration,
119
- sample: videoToBeChanged.sample,
120
- source: videoToBeChanged.source,
121
- status: videoToBeChanged.status,
122
- synopsis: videoToBeChanged.synopsis,
123
- thumbnail: videoToBeChanged.thumbnail,
124
- title: videoToBeChanged.title,
125
- },
126
- {
127
- at: path,
128
- }
129
- );
130
- if (path) {
131
- replaceNodeChildren(editorRef, {
132
- at: path,
133
- nodes: {
134
- text: videoToBeChanged.title,
135
- },
136
- });
137
- }
138
- }
139
- };
140
-
141
- const handleVideoDelete = () => {
142
- handleDeleteVideo(video.id);
143
- removeNodes(editorRef, {
144
- at: path,
145
- });
146
- };
147
-
148
- const handleSourceChange = async (files: FileList) => {
149
- const file = files[0];
150
- handleUploadVideo(file).then((obj) => setVideoToBeChanged(obj));
151
- };
152
-
153
- const handleThumbnailChange = async (files: FileList) => {
154
- const file = files[0];
155
- handleUploadImage(file).then((url) => {
156
- setNodes(
157
- editorRef,
158
- {
159
- thumbnail: url,
160
- },
161
- {
162
- at: path,
163
- }
164
- );
165
- });
166
- };
167
-
168
- const handleSave = () => {
169
- handleChangeVideo(video);
170
- toggle();
171
- };
172
-
173
- return (
174
- <Drawer className={styles.drawer} open={open} toggle={toggle}>
175
- <Drawer.Heading>Media Settings</Drawer.Heading>
176
- <Drawer.Action onClick={() => toggle()}>Cancel</Drawer.Action>
177
- <Drawer.Action onClick={handleSave}>Save</Drawer.Action>
178
- <h4 className={styles.mediaName}>{text}</h4>
179
- <Drawer.Tab name="Media">
180
- <Drawer.Item
181
- header={{
182
- as: "h5",
183
- color: "orange",
184
- icon: (
185
- <Details
186
- iconSize={20}
187
- size={24}
188
- style={{ backgroundColor: "transparent" }}
189
- />
190
- ),
191
- title: "Details",
192
- }}
193
- >
194
- <div contentEditable={false} className={styles.details}>
195
- <h6>Title</h6>
196
- <p>
197
- Pick an easy to read, memorable title for your product. Example:
198
- "10 Lessons from the Book of Matthew." Suggested 140 characters
199
- max.
200
- </p>
201
- <TextInput
202
- characterCount={false}
203
- onChange={handleTitle}
204
- placeholder="Title"
205
- value={title}
206
- />
207
- <h6>Description</h6>
208
- <p>
209
- Tell us a little bit about this media. The description will appear
210
- on the overview page.
211
- </p>
212
- <TextInput
213
- characterCount={true}
214
- maxLength={350}
215
- onChange={handleSynopsis}
216
- placeholder="Description..."
217
- value={synopsis}
218
- />
219
- </div>
220
- </Drawer.Item>
221
- <Drawer.Item
222
- header={{
223
- as: "h5",
224
- color: "purple",
225
- icon: (
226
- <Upload
227
- iconSize={20}
228
- size={24}
229
- style={{ backgroundColor: "transparent" }}
230
- />
231
- ),
232
- title: "Media",
233
- }}
234
- >
235
- <div className={styles.media}>
236
- <Switch
237
- active={mediaTab}
238
- onClick={handleMediaTabs}
239
- options={["Upload", "Select from list"]}
240
- />
241
- <div className={styles.contentWrapper}>
242
- {mediaTab === "Upload" && (
243
- <Dropzone
244
- color="purple"
245
- fileType="video"
246
- onDrop={handleSourceChange}
247
- showBrowse
248
- text="Drag here or "
249
- />
250
- )}
251
- {mediaTab === "Select from list" && (
252
- <div className={styles.select}>
253
- <div className={styles.videoWrapper}>
254
- {availableVideos.map((video) => (
255
- <div
256
- className={styles.video}
257
- key={video.id}
258
- onClick={() => setVideoToBeChanged(video)}
259
- >
260
- <div className={styles.thumbnailWrapper}>
261
- <img src={video.thumbnail} alt={video.title} />
262
- <span className={styles.duration}>
263
- {secondsToTimeString(video.duration)}
264
- </span>
265
- </div>
266
- <p className={styles.title}>{video.title}</p>
267
- <div
268
- className={`${styles.selected} ${
269
- videoToBeChanged?.id === video.id ? "active" : ""
270
- }`}
271
- />
272
- </div>
273
- ))}
274
- </div>
275
- </div>
276
- )}
277
- <div className={styles.buttonWrapper}>
278
- <Modal>
279
- <Modal.Trigger>
280
- <Button
281
- buttonColor="var(--color-blue-3)"
282
- disabled={!videoToBeChanged}
283
- shape="rectangular"
284
- size="large"
285
- >
286
- Replace Video
287
- </Button>
288
- </Modal.Trigger>
289
- <Modal.Content header={<h4>Replace Video</h4>}>
290
- <div className={styles.modal}>
291
- <p>
292
- Replace this file with a different version. Stats,
293
- public comments, and likes associated with this video
294
- will not be affected.
295
- </p>
296
- <div
297
- className={`${styles.buttonWrapper} ${styles.replaceModal}`}
298
- >
299
- <Modal.Dismiss>
300
- <Button
301
- buttonType="secondary"
302
- shape="rectangular"
303
- size="large"
304
- >
305
- Cancel
306
- </Button>
307
- </Modal.Dismiss>
308
- <Modal.Dismiss>
309
- <Button
310
- buttonColor="var(--color-blue-3)"
311
- onClick={handleVideoReplace}
312
- shape="rectangular"
313
- size="large"
314
- >
315
- Replace
316
- </Button>
317
- </Modal.Dismiss>
318
- </div>
319
- </div>
320
- </Modal.Content>
321
- </Modal>
322
- <Modal>
323
- <Modal.Trigger>
324
- <Button
325
- buttonColor="#FFFFFF"
326
- shape="rectangular"
327
- size="large"
328
- style={{
329
- border: "1px solid var(--color-red-5)",
330
- }}
331
- >
332
- Delete Video
333
- </Button>
334
- </Modal.Trigger>
335
- <Modal.Content header={<h4>Delete this video?</h4>}>
336
- <div className={`${styles.modal} ${styles.deleteWrapper}`}>
337
- <p>
338
- This will permanently delete this video, including all
339
- analytics, removing it from your course and player. This
340
- action cannot be undone.
341
- </p>
342
- <p>Are you sure you want to delete this video?</p>
343
- <p>Type DELETE to confirm.</p>
344
- <input
345
- onChange={handleDeleteTextChange}
346
- value={deleteText}
347
- />
348
- <div
349
- className={`${styles.buttonWrapper} ${styles.deleteModal}`}
350
- >
351
- <Modal.Dismiss>
352
- <Button
353
- buttonType="secondary"
354
- shape="rectangular"
355
- size="large"
356
- >
357
- Cancel
358
- </Button>
359
- </Modal.Dismiss>
360
- <Modal.Dismiss>
361
- <Button
362
- disabled={deleteText !== "DELETE"}
363
- onClick={handleVideoDelete}
364
- shape="rectangular"
365
- size="large"
366
- >
367
- Delete
368
- </Button>
369
- </Modal.Dismiss>
370
- </div>
371
- </div>
372
- </Modal.Content>
373
- </Modal>
374
- </div>
375
- </div>
376
- </div>
377
- </Drawer.Item>
378
- <Drawer.Item
379
- header={{
380
- as: "h5",
381
- color: "green",
382
- icon: (
383
- <Image
384
- iconSize={24}
385
- size={24}
386
- style={{ backgroundColor: "transparent" }}
387
- />
388
- ),
389
- title: "Thumbnail",
390
- }}
391
- >
392
- <div className={styles.thumbnail}>
393
- <Dropzone
394
- color="green"
395
- fileType="image"
396
- onDrop={handleThumbnailChange}
397
- showBrowse
398
- text="Drag here or "
399
- />
400
- </div>
401
- </Drawer.Item>
402
- <Drawer.Item
403
- header={{
404
- as: "h5",
405
- color: "turquoise",
406
- icon: (
407
- <VideoPlay
408
- iconSize={20}
409
- size={24}
410
- style={{ backgroundColor: "transparent" }}
411
- />
412
- ),
413
- title: "Add to Playlist",
414
- }}
415
- >
416
- <div className={styles.addToPlaylist}></div>
417
- </Drawer.Item>
418
- </Drawer.Tab>
419
- <Drawer.Tab name="Media">
420
- <Drawer.Item
421
- header={{
422
- as: "h5",
423
- color: "purple",
424
- icon: (
425
- <ClosedCaptions
426
- iconSize={20}
427
- size={24}
428
- style={{ backgroundColor: "transparent" }}
429
- />
430
- ),
431
- title: "Video Subtitles",
432
- }}
433
- >
434
- <div contentEditable={false} className={styles.captions}></div>
435
- </Drawer.Item>
436
- </Drawer.Tab>
437
- <Drawer.Tab name="Sample">
438
- <Drawer.Item
439
- header={{
440
- as: "h5",
441
- color: "purple",
442
- icon: (
443
- <ClosedCaptions
444
- iconSize={20}
445
- size={24}
446
- style={{ backgroundColor: "transparent" }}
447
- />
448
- ),
449
- title: "Video Sample",
450
- }}
451
- >
452
- <div contentEditable={false} className={styles.captions}></div>
453
- </Drawer.Item>
454
- </Drawer.Tab>
455
- </Drawer>
456
- );
457
- };
@@ -1 +0,0 @@
1
- export { MediaDrawer, type MediaDrawerProps } from "./MediaDrawer";
@@ -1 +0,0 @@
1
- export { MediaDrawer, type MediaDrawerProps } from "./MediaDrawer";
@@ -1,213 +0,0 @@
1
- export const DEFAULT_CONTENT = [
2
- {
3
- type: "h1",
4
- children: [
5
- {
6
- text: "Module 1: The Warrior Identity",
7
- bold: true,
8
- },
9
- ],
10
- },
11
- {
12
- id: "video-234jlnlknsdlkfjwlkjaa",
13
- parentId: "course-1lk4j3k4jlkj2l4k2j34lkj",
14
- children: [
15
- {
16
- text: "The DNA of a Warrior",
17
- },
18
- ],
19
- captions: [],
20
- duration: 3765,
21
- source: "",
22
- synopsis:
23
- "Understanding the battlefield is the first key to winning the war for sexual purity. In this episode, you will discover hell's strategies against the 21st Century Church and be introduced to the four components of the noose of sexual bondage. Learn the first key steps to freedom and how to stay pure.",
24
- thumbnail: "video-thumbnail.jpg",
25
- title: "The DNA of a Warrior",
26
- type: "video",
27
- },
28
- {
29
- type: "p",
30
- children: [
31
- {
32
- text: "Welcome to Warpath. You’re about to embark on a journey towards lifelong healing, freedom and victory. This is a season of training. It’s sanctification on steroids, not for the faint-hearted, but for those who truly desire to live the rest of their lives for Jesus. No reserves, no retreats, no regrets.",
33
- },
34
- {
35
- type: "footnote",
36
- children: [
37
- {
38
- text: "This is a footnote",
39
- },
40
- ],
41
- },
42
- {
43
- text: " What was once your deepest, darkest secret will now become the word of your testimony that heals and liberates others.",
44
- },
45
- ],
46
- },
47
- {
48
- type: "q-n-a",
49
- children: [
50
- {
51
- type: "p",
52
- children: [
53
- {
54
- text: "Ask your question...",
55
- },
56
- ],
57
- },
58
- ],
59
- },
60
- {
61
- type: "p",
62
- children: [
63
- {
64
- text: "In this new season, God is calling you up. He’s calling you to a higher level, a place where you’re no longer part of the problem but are becoming a part of the solution.",
65
- },
66
- {
67
- type: "footnote",
68
- children: [
69
- {
70
- text: "This is another footnote",
71
- },
72
- ],
73
- },
74
- {
75
- text: "",
76
- },
77
- ],
78
- },
79
- {
80
- type: "blockquote",
81
- children: [
82
- {
83
- text: '"Warpath isn’t about just winning for you; that’s the beginning. Warpath is about you taking the battle and winning for others so they can have their families, and their marriages, and their destinies." \n— ',
84
- },
85
- {
86
- text: "Dr. Doug Weiss",
87
- italic: true,
88
- },
89
- ],
90
- },
91
- {
92
- type: "hr",
93
- children: [
94
- {
95
- text: "",
96
- },
97
- ],
98
- },
99
- {
100
- type: "h2",
101
- children: [
102
- {
103
- text: "Lesson Overview",
104
- bold: true,
105
- },
106
- ],
107
- },
108
- {
109
- type: "h3",
110
- align: "center",
111
- children: [
112
- {
113
- text: "THE WARRIOR IDENTITY",
114
- bold: true,
115
- fontSize: "16px",
116
- },
117
- ],
118
- },
119
- {
120
- type: "hr",
121
- children: [
122
- {
123
- text: "",
124
- },
125
- ],
126
- },
127
- {
128
- type: "img",
129
- url: "https://source.unsplash.com/1600x900/?christian",
130
- children: [
131
- {
132
- text: "",
133
- },
134
- ],
135
- },
136
- {
137
- type: "p",
138
- children: [
139
- {
140
- text: "Identity: You will have to grasp your true identity in Christ. You cannot look at this as a “what”, but instead about a “who”. We must become more like Christ, because He is a warrior.",
141
- },
142
- ],
143
- },
144
- {
145
- type: "p",
146
- children: [
147
- {
148
- text: "A different DNA: As a warrior, your spiritual genetic code will be different from those who haven’t tasted the victory and grace you’ve experienced from this battle. You’ve experienced truth as a person: Jesus; and it has forever changed you. You’ve been set apart as a “fighting man”, no longer a civilian idly consumed by the cares of this world, but a warrior who’s passionate about the Kingdom and craving some sweet revenge.",
149
- },
150
- ],
151
- },
152
- {
153
- type: "code_block",
154
- lang: "typescript",
155
- children: [
156
- {
157
- type: "code_line",
158
- children: [
159
- {
160
- text: 'const variable = "DO_NOT_USE"',
161
- },
162
- ],
163
- },
164
- ],
165
- },
166
- {
167
- type: "paywall",
168
- children: [
169
- {
170
- type: "h2",
171
- children: [
172
- {
173
- text: "Keep reading with a paid subscription",
174
- },
175
- ],
176
- },
177
- {
178
- type: "p",
179
- children: [
180
- {
181
- text: "Subscribe to ",
182
- },
183
- {
184
- text: "Soul Refiner",
185
- italic: true,
186
- },
187
- {
188
- text: " to keep reading this content.",
189
- },
190
- ],
191
- },
192
- {
193
- type: "button",
194
- buttonType: "button-subscribe",
195
- children: [
196
- {
197
- text: "Get Access",
198
- },
199
- ],
200
- },
201
- ],
202
- },
203
- {
204
- type: "p",
205
- children: [
206
- {
207
- text: "",
208
- },
209
- ],
210
- },
211
- ];
212
-
213
- export const PLACEHOLDER = "This is a placeholder";
@@ -1,2 +0,0 @@
1
- export { DEFAULT_CONTENT, PLACEHOLDER, } from "./default";
2
- export { editableProps } from "./props";
@@ -1,9 +0,0 @@
1
- import { TEditableProps } from "@udecode/plate";
2
-
3
- import { PLACEHOLDER } from "./default";
4
-
5
- export const editableProps: TEditableProps = {
6
- spellCheck: true,
7
- autoFocus: true,
8
- placeholder: PLACEHOLDER,
9
- };
@@ -1,2 +0,0 @@
1
- export { Editor, EditorContext, type EditorProps } from "./Editor";
2
- export * from "./common";