@churchapps/apphelper 0.0.14 → 0.1.1

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 (292) hide show
  1. package/.eslintignore +3 -3
  2. package/.eslintrc.json +22 -22
  3. package/LICENSE +21 -21
  4. package/README.md +22 -16
  5. package/dist/components/FormSubmissionEdit.d.ts.map +1 -1
  6. package/dist/components/FormSubmissionEdit.js +9 -2
  7. package/dist/components/FormSubmissionEdit.js.map +1 -1
  8. package/dist/components/QuestionEdit.d.ts.map +1 -1
  9. package/dist/components/QuestionEdit.js +2 -1
  10. package/dist/components/QuestionEdit.js.map +1 -1
  11. package/dist/components/iconPicker/IconNamesList.d.ts.map +1 -0
  12. package/dist/components/iconPicker/IconNamesList.js.map +1 -0
  13. package/dist/components/iconPicker/IconPicker.d.ts.map +1 -0
  14. package/dist/components/iconPicker/IconPicker.js.map +1 -0
  15. package/dist/components/index.d.ts +2 -1
  16. package/dist/components/index.d.ts.map +1 -1
  17. package/dist/components/index.js +4 -2
  18. package/dist/components/index.js.map +1 -1
  19. package/dist/components/markdownEditor/editor.css +787 -787
  20. package/dist/components/markdownEditor/images/icons/arrow-clockwise.svg +3 -3
  21. package/dist/components/markdownEditor/images/icons/arrow-counterclockwise.svg +3 -3
  22. package/dist/components/markdownEditor/images/icons/chat-square-quote.svg +3 -3
  23. package/dist/components/markdownEditor/images/icons/chevron-down.svg +2 -2
  24. package/dist/components/markdownEditor/images/icons/code.svg +2 -2
  25. package/dist/components/markdownEditor/images/icons/journal-code.svg +4 -4
  26. package/dist/components/markdownEditor/images/icons/journal-text.svg +4 -4
  27. package/dist/components/markdownEditor/images/icons/justify.svg +2 -2
  28. package/dist/components/markdownEditor/images/icons/link.svg +3 -3
  29. package/dist/components/markdownEditor/images/icons/list-ol.svg +3 -3
  30. package/dist/components/markdownEditor/images/icons/list-ul.svg +2 -2
  31. package/dist/components/markdownEditor/images/icons/pencil-fill.svg +2 -2
  32. package/dist/components/markdownEditor/images/icons/text-center.svg +2 -2
  33. package/dist/components/markdownEditor/images/icons/text-left.svg +2 -2
  34. package/dist/components/markdownEditor/images/icons/text-paragraph.svg +2 -2
  35. package/dist/components/markdownEditor/images/icons/text-right.svg +2 -2
  36. package/dist/components/markdownEditor/images/icons/type-bold.svg +2 -2
  37. package/dist/components/markdownEditor/images/icons/type-h1.svg +2 -2
  38. package/dist/components/markdownEditor/images/icons/type-h2.svg +2 -2
  39. package/dist/components/markdownEditor/images/icons/type-h3.svg +2 -2
  40. package/dist/components/markdownEditor/images/icons/type-h4.svg +12 -12
  41. package/dist/components/markdownEditor/images/icons/type-italic.svg +2 -2
  42. package/dist/components/markdownEditor/images/icons/type-strikethrough.svg +2 -2
  43. package/dist/components/markdownEditor/images/icons/type-underline.svg +2 -2
  44. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.js +1 -1
  45. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.js.map +1 -1
  46. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.js +1 -1
  47. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.js.map +1 -1
  48. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.js +1 -1
  49. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.js.map +1 -1
  50. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.js +1 -1
  51. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.js.map +1 -1
  52. package/dist/components/notes/Notes.d.ts +1 -0
  53. package/dist/components/notes/Notes.d.ts.map +1 -1
  54. package/dist/components/notes/Notes.js +18 -1
  55. package/dist/components/notes/Notes.js.map +1 -1
  56. package/dist/components/wrapper/AppList.d.ts.map +1 -0
  57. package/dist/components/wrapper/AppList.js.map +1 -0
  58. package/dist/components/wrapper/ChurchList.d.ts.map +1 -0
  59. package/dist/components/wrapper/ChurchList.js.map +1 -0
  60. package/dist/components/wrapper/Drawers.d.ts +22 -0
  61. package/dist/components/wrapper/Drawers.d.ts.map +1 -0
  62. package/dist/components/wrapper/Drawers.js +51 -0
  63. package/dist/components/wrapper/Drawers.js.map +1 -0
  64. package/dist/components/wrapper/NavItem.d.ts.map +1 -0
  65. package/dist/components/wrapper/NavItem.js.map +1 -0
  66. package/dist/components/wrapper/NewPrivateMessage.d.ts.map +1 -0
  67. package/dist/components/wrapper/NewPrivateMessage.js.map +1 -0
  68. package/dist/components/wrapper/NotificationMenu.d.ts +14 -0
  69. package/dist/components/wrapper/NotificationMenu.d.ts.map +1 -0
  70. package/dist/components/wrapper/NotificationMenu.js +60 -0
  71. package/dist/components/wrapper/NotificationMenu.js.map +1 -0
  72. package/dist/components/wrapper/Notifications.d.ts +8 -0
  73. package/dist/components/wrapper/Notifications.d.ts.map +1 -0
  74. package/dist/components/wrapper/Notifications.js +67 -0
  75. package/dist/components/wrapper/Notifications.js.map +1 -0
  76. package/dist/components/wrapper/PrivateMessageDetails.d.ts.map +1 -0
  77. package/dist/components/{material → wrapper}/PrivateMessageDetails.js +1 -1
  78. package/dist/components/wrapper/PrivateMessageDetails.js.map +1 -0
  79. package/dist/components/wrapper/PrivateMessages.d.ts.map +1 -0
  80. package/dist/components/{material → wrapper}/PrivateMessages.js +1 -1
  81. package/dist/components/wrapper/PrivateMessages.js.map +1 -0
  82. package/dist/components/wrapper/SiteWrapper.d.ts.map +1 -0
  83. package/dist/components/{material → wrapper}/SiteWrapper.js +13 -49
  84. package/dist/components/wrapper/SiteWrapper.js.map +1 -0
  85. package/dist/components/wrapper/TabPanel.d.ts +9 -0
  86. package/dist/components/wrapper/TabPanel.d.ts.map +1 -0
  87. package/dist/components/wrapper/TabPanel.js +24 -0
  88. package/dist/components/wrapper/TabPanel.js.map +1 -0
  89. package/dist/components/wrapper/UserMenu.d.ts.map +1 -0
  90. package/dist/components/{material → wrapper}/UserMenu.js +14 -31
  91. package/dist/components/wrapper/UserMenu.js.map +1 -0
  92. package/dist/components/{material → wrapper}/index.d.ts +0 -1
  93. package/dist/components/wrapper/index.d.ts.map +1 -0
  94. package/dist/components/{material → wrapper}/index.js +1 -3
  95. package/dist/components/wrapper/index.js.map +1 -0
  96. package/dist/interfaces/Messaging.d.ts +10 -0
  97. package/dist/interfaces/Messaging.d.ts.map +1 -1
  98. package/package.json +85 -84
  99. package/src/components/CreatePerson.tsx +80 -80
  100. package/src/components/DisplayBox.tsx +68 -68
  101. package/src/components/ErrorMessages.tsx +26 -26
  102. package/src/components/ExportLink.tsx +67 -67
  103. package/src/components/FloatingSupport.tsx +16 -16
  104. package/src/components/FormSubmissionEdit.tsx +129 -120
  105. package/src/components/HelpIcon.tsx +10 -10
  106. package/src/components/ImageEditor.tsx +126 -126
  107. package/src/components/InputBox.tsx +73 -73
  108. package/src/components/Loading.tsx +29 -29
  109. package/src/components/PersonAdd.tsx +75 -75
  110. package/src/components/QuestionEdit.tsx +63 -62
  111. package/src/components/SmallButton.tsx +39 -39
  112. package/src/components/SupportModal.tsx +26 -26
  113. package/src/components/TabPanel.tsx +34 -34
  114. package/src/components/gallery/GalleryModal.tsx +102 -102
  115. package/src/components/gallery/StockPhotos.tsx +74 -74
  116. package/src/components/gallery/index.ts +1 -1
  117. package/src/components/{material/iconPicker → iconPicker}/IconNamesList.ts +2240 -2240
  118. package/src/components/{material/iconPicker → iconPicker}/IconPicker.tsx +153 -153
  119. package/src/components/index.tsx +24 -23
  120. package/src/components/markdownEditor/Editor.tsx +132 -132
  121. package/src/components/markdownEditor/MarkdownEditor.tsx +16 -16
  122. package/src/components/markdownEditor/MarkdownModal.tsx +46 -46
  123. package/src/components/markdownEditor/MarkdownPreview.tsx +14 -14
  124. package/src/components/markdownEditor/editor.css +787 -787
  125. package/src/components/markdownEditor/images/icons/arrow-clockwise.svg +3 -3
  126. package/src/components/markdownEditor/images/icons/arrow-counterclockwise.svg +3 -3
  127. package/src/components/markdownEditor/images/icons/chat-square-quote.svg +3 -3
  128. package/src/components/markdownEditor/images/icons/chevron-down.svg +2 -2
  129. package/src/components/markdownEditor/images/icons/code.svg +2 -2
  130. package/src/components/markdownEditor/images/icons/journal-code.svg +4 -4
  131. package/src/components/markdownEditor/images/icons/journal-text.svg +4 -4
  132. package/src/components/markdownEditor/images/icons/justify.svg +2 -2
  133. package/src/components/markdownEditor/images/icons/link.svg +3 -3
  134. package/src/components/markdownEditor/images/icons/list-ol.svg +3 -3
  135. package/src/components/markdownEditor/images/icons/list-ul.svg +2 -2
  136. package/src/components/markdownEditor/images/icons/pencil-fill.svg +2 -2
  137. package/src/components/markdownEditor/images/icons/text-center.svg +2 -2
  138. package/src/components/markdownEditor/images/icons/text-left.svg +2 -2
  139. package/src/components/markdownEditor/images/icons/text-paragraph.svg +2 -2
  140. package/src/components/markdownEditor/images/icons/text-right.svg +2 -2
  141. package/src/components/markdownEditor/images/icons/type-bold.svg +2 -2
  142. package/src/components/markdownEditor/images/icons/type-h1.svg +2 -2
  143. package/src/components/markdownEditor/images/icons/type-h2.svg +2 -2
  144. package/src/components/markdownEditor/images/icons/type-h3.svg +2 -2
  145. package/src/components/markdownEditor/images/icons/type-h4.svg +12 -12
  146. package/src/components/markdownEditor/images/icons/type-italic.svg +2 -2
  147. package/src/components/markdownEditor/images/icons/type-strikethrough.svg +2 -2
  148. package/src/components/markdownEditor/images/icons/type-underline.svg +2 -2
  149. package/src/components/markdownEditor/index.ts +2 -2
  150. package/src/components/markdownEditor/plugins/AutoLinkPlugin.tsx +35 -35
  151. package/src/components/markdownEditor/plugins/ControlledEditorPlugin.tsx +24 -24
  152. package/src/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.tsx +68 -68
  153. package/src/components/markdownEditor/plugins/MarkdownTransformers.ts +106 -106
  154. package/src/components/markdownEditor/plugins/ReadOnlyPlugin.tsx +15 -15
  155. package/src/components/markdownEditor/plugins/ToolbarPlugin.tsx +401 -401
  156. package/src/components/markdownEditor/plugins/customLink/CustomLinkNode.tsx +224 -224
  157. package/src/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.tsx +32 -32
  158. package/src/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.tsx +102 -102
  159. package/src/components/markdownEditor/plugins/customLink/FloatingLinkEditor.tsx +243 -243
  160. package/src/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.ts +11 -11
  161. package/src/components/markdownEditor/plugins/emoji/EmojiNode.tsx +95 -95
  162. package/src/components/markdownEditor/plugins/emoji/EmojiNodeTransform.ts +41 -41
  163. package/src/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.tsx +152 -152
  164. package/src/components/markdownEditor/plugins/emoji/EmojisPlugin.tsx +65 -65
  165. package/src/components/markdownEditor/plugins/index.ts +6 -6
  166. package/src/components/markdownEditor/theme.ts +65 -65
  167. package/src/components/notes/AddNote.tsx +90 -90
  168. package/src/components/notes/Conversation.tsx +82 -82
  169. package/src/components/notes/Conversations.tsx +58 -58
  170. package/src/components/notes/NewConversation.tsx +78 -78
  171. package/src/components/notes/Note.tsx +44 -44
  172. package/src/components/notes/Notes.tsx +68 -52
  173. package/src/components/notes/index.ts +5 -5
  174. package/src/components/reporting/ChartReport.tsx +98 -98
  175. package/src/components/reporting/ReportFilter.tsx +54 -54
  176. package/src/components/reporting/ReportFilterField.tsx +160 -160
  177. package/src/components/reporting/ReportOutput.tsx +79 -79
  178. package/src/components/reporting/ReportWithFilter.tsx +70 -70
  179. package/src/components/reporting/TableReport.tsx +57 -57
  180. package/src/components/reporting/TreeReport.tsx +111 -111
  181. package/src/components/reporting/index.ts +4 -4
  182. package/src/components/{material → wrapper}/AppList.tsx +20 -20
  183. package/src/components/{material → wrapper}/ChurchList.tsx +22 -22
  184. package/src/components/wrapper/Drawers.tsx +60 -0
  185. package/src/components/{material → wrapper}/NavItem.tsx +41 -41
  186. package/src/components/{material → wrapper}/NewPrivateMessage.tsx +103 -103
  187. package/src/components/wrapper/NotificationMenu.tsx +85 -0
  188. package/src/components/wrapper/Notifications.tsx +50 -0
  189. package/src/components/{material → wrapper}/PrivateMessageDetails.tsx +23 -23
  190. package/src/components/{material → wrapper}/PrivateMessages.tsx +87 -87
  191. package/src/components/{material → wrapper}/SiteWrapper.tsx +96 -145
  192. package/src/components/wrapper/TabPanel.tsx +30 -0
  193. package/src/components/{material → wrapper}/UserMenu.tsx +106 -141
  194. package/src/components/{material → wrapper}/index.tsx +5 -6
  195. package/src/donationComponents/DonationPage.tsx +136 -136
  196. package/src/donationComponents/components/BankForm.tsx +159 -159
  197. package/src/donationComponents/components/CardForm.tsx +104 -104
  198. package/src/donationComponents/components/DonationForm.tsx +235 -235
  199. package/src/donationComponents/components/FundDonation.tsx +49 -49
  200. package/src/donationComponents/components/FundDonations.tsx +39 -39
  201. package/src/donationComponents/components/NonAuthDonation.tsx +31 -31
  202. package/src/donationComponents/components/NonAuthDonationInner.tsx +259 -259
  203. package/src/donationComponents/components/PaymentMethods.tsx +135 -135
  204. package/src/donationComponents/components/RecurringDonations.tsx +121 -121
  205. package/src/donationComponents/components/RecurringDonationsEdit.tsx +93 -93
  206. package/src/donationComponents/components/index.tsx +9 -9
  207. package/src/donationComponents/index.ts +3 -3
  208. package/src/donationComponents/modals/DonationPreviewModal.tsx +66 -66
  209. package/src/helpers/AnalyticsHelper.ts +33 -33
  210. package/src/helpers/ApiHelper.ts +125 -125
  211. package/src/helpers/AppearanceHelper.ts +69 -69
  212. package/src/helpers/ArrayHelper.ts +81 -81
  213. package/src/helpers/CommonEnvironmentHelper.ts +80 -80
  214. package/src/helpers/CurrencyHelper.ts +10 -10
  215. package/src/helpers/DateHelper.ts +108 -108
  216. package/src/helpers/DonationHelper.ts +26 -26
  217. package/src/helpers/ErrorHelper.ts +36 -36
  218. package/src/helpers/EventHelper.ts +52 -52
  219. package/src/helpers/FileHelper.ts +31 -31
  220. package/src/helpers/PersonHelper.ts +60 -60
  221. package/src/helpers/SocketHelper.ts +76 -76
  222. package/src/helpers/Themes.ts +14 -14
  223. package/src/helpers/UniqueIdHelper.ts +36 -36
  224. package/src/helpers/UserHelper.ts +59 -59
  225. package/src/helpers/createEmotionCache.ts +17 -17
  226. package/src/helpers/index.ts +18 -18
  227. package/src/hooks/index.ts +1 -1
  228. package/src/hooks/useMountedState.ts +16 -16
  229. package/src/index.ts +6 -6
  230. package/src/interfaces/Access.ts +24 -24
  231. package/src/interfaces/Attendance.ts +8 -8
  232. package/src/interfaces/Content.ts +10 -10
  233. package/src/interfaces/Doing.ts +24 -24
  234. package/src/interfaces/Donation.ts +45 -45
  235. package/src/interfaces/Error.ts +17 -17
  236. package/src/interfaces/Membership.ts +51 -51
  237. package/src/interfaces/Messaging.ts +21 -20
  238. package/src/interfaces/Permissions.ts +68 -68
  239. package/src/interfaces/Reporting.ts +7 -7
  240. package/src/interfaces/UserContextInterface.ts +13 -13
  241. package/src/interfaces/index.ts +13 -13
  242. package/src/pageComponents/LoginPage.tsx +244 -244
  243. package/src/pageComponents/LogoutPage.tsx +28 -28
  244. package/src/pageComponents/components/Forgot.tsx +79 -79
  245. package/src/pageComponents/components/Login.tsx +54 -54
  246. package/src/pageComponents/components/LoginSetPassword.tsx +63 -63
  247. package/src/pageComponents/components/Register.tsx +107 -107
  248. package/src/pageComponents/components/SelectChurchModal.tsx +41 -41
  249. package/src/pageComponents/components/SelectChurchRegister.tsx +88 -88
  250. package/src/pageComponents/components/SelectChurchSearch.tsx +69 -69
  251. package/src/pageComponents/components/SelectableChurch.tsx +38 -38
  252. package/src/pageComponents/index.ts +3 -3
  253. package/tsconfig.json +34 -34
  254. package/tslint.json +14 -14
  255. package/dist/components/material/AppList.d.ts.map +0 -1
  256. package/dist/components/material/AppList.js.map +0 -1
  257. package/dist/components/material/ChurchList.d.ts.map +0 -1
  258. package/dist/components/material/ChurchList.js.map +0 -1
  259. package/dist/components/material/NavItem.d.ts.map +0 -1
  260. package/dist/components/material/NavItem.js.map +0 -1
  261. package/dist/components/material/NewPrivateMessage.d.ts.map +0 -1
  262. package/dist/components/material/NewPrivateMessage.js.map +0 -1
  263. package/dist/components/material/PrivateMessageDetails.d.ts.map +0 -1
  264. package/dist/components/material/PrivateMessageDetails.js.map +0 -1
  265. package/dist/components/material/PrivateMessages.d.ts.map +0 -1
  266. package/dist/components/material/PrivateMessages.js.map +0 -1
  267. package/dist/components/material/SiteWrapper.d.ts.map +0 -1
  268. package/dist/components/material/SiteWrapper.js.map +0 -1
  269. package/dist/components/material/UserMenu.d.ts.map +0 -1
  270. package/dist/components/material/UserMenu.js.map +0 -1
  271. package/dist/components/material/iconPicker/IconNamesList.d.ts.map +0 -1
  272. package/dist/components/material/iconPicker/IconNamesList.js.map +0 -1
  273. package/dist/components/material/iconPicker/IconPicker.d.ts.map +0 -1
  274. package/dist/components/material/iconPicker/IconPicker.js.map +0 -1
  275. package/dist/components/material/index.d.ts.map +0 -1
  276. package/dist/components/material/index.js.map +0 -1
  277. /package/dist/components/{material/iconPicker → iconPicker}/IconNamesList.d.ts +0 -0
  278. /package/dist/components/{material/iconPicker → iconPicker}/IconNamesList.js +0 -0
  279. /package/dist/components/{material/iconPicker → iconPicker}/IconPicker.d.ts +0 -0
  280. /package/dist/components/{material/iconPicker → iconPicker}/IconPicker.js +0 -0
  281. /package/dist/components/{material → wrapper}/AppList.d.ts +0 -0
  282. /package/dist/components/{material → wrapper}/AppList.js +0 -0
  283. /package/dist/components/{material → wrapper}/ChurchList.d.ts +0 -0
  284. /package/dist/components/{material → wrapper}/ChurchList.js +0 -0
  285. /package/dist/components/{material → wrapper}/NavItem.d.ts +0 -0
  286. /package/dist/components/{material → wrapper}/NavItem.js +0 -0
  287. /package/dist/components/{material → wrapper}/NewPrivateMessage.d.ts +0 -0
  288. /package/dist/components/{material → wrapper}/NewPrivateMessage.js +0 -0
  289. /package/dist/components/{material → wrapper}/PrivateMessageDetails.d.ts +0 -0
  290. /package/dist/components/{material → wrapper}/PrivateMessages.d.ts +0 -0
  291. /package/dist/components/{material → wrapper}/SiteWrapper.d.ts +0 -0
  292. /package/dist/components/{material → wrapper}/UserMenu.d.ts +0 -0
@@ -1,106 +1,106 @@
1
- import type { ElementTransformer, Transformer } from "@lexical/markdown";
2
- import type { LexicalNode, TextFormatType } from "lexical";
3
-
4
- import {
5
- ELEMENT_TRANSFORMERS,
6
- TEXT_FORMAT_TRANSFORMERS,
7
- TRANSFORMERS
8
- } from "@lexical/markdown";
9
- import {
10
- $createHorizontalRuleNode,
11
- $isHorizontalRuleNode,
12
- HorizontalRuleNode
13
- } from "@lexical/react/LexicalHorizontalRuleNode";
14
- import { CUSTOM_LINK_NODE_TRANSFORMER } from "./customLink/CustomLinkNodeTransformer";
15
- import { EMOJI_NODE_MARKDOWN_TRANSFORM } from "./emoji/EmojiNodeTransform";
16
-
17
-
18
- export const HR: ElementTransformer = {
19
- dependencies: [HorizontalRuleNode],
20
- export: (node: LexicalNode) => ($isHorizontalRuleNode(node) ? "***" : null),
21
- regExp: /^(---|\*\*\*|___)\s?$/,
22
- replace: (parentNode, _1, _2, isImport) => {
23
- const line = $createHorizontalRuleNode();
24
-
25
- // TODO: Get rid of isImport flag
26
- if (isImport || parentNode.getNextSibling() != null) {
27
- parentNode.replace(line);
28
- } else {
29
- parentNode.insertBefore(line);
30
- }
31
-
32
- line.selectNext();
33
- },
34
- type: "element"
35
- };
36
-
37
- export type TextFormatTransformer = Readonly<{
38
- format: ReadonlyArray<TextFormatType>;
39
- tag: string;
40
- intraword?: boolean;
41
- type: "text-format";
42
- }>;
43
- /*
44
- export type TextMatchTransformer = Readonly<{
45
- dependencies: Array<Klass<LexicalNode>>;
46
- export: (
47
- node: LexicalNode,
48
- // eslint-disable-next-line no-shadow
49
- exportChildren: (node: ElementNode) => string,
50
- // eslint-disable-next-line no-shadow
51
- exportFormat: (node: TextNode, textContent: string) => string,
52
- ) => string | null;
53
- importRegExp: RegExp;
54
- regExp: RegExp;
55
- replace: (node: TextNode, match: RegExpMatchArray) => void;
56
- trigger: string;
57
- type: 'text-match';
58
- }>;
59
- */
60
-
61
- export const UNDERLINE: TextFormatTransformer = {
62
- format: ["underline"],
63
- intraword: false,
64
- tag: "_",
65
- type: "text-format"
66
- };
67
- /*
68
- export const UNDERLINE: TextMatchTransformer = {
69
- dependencies: [],
70
- export: (node, exportChildren, exportFormat) => {
71
- const linkContent = `[${node.getTextContent()}](${node.getURL()})`;
72
- const firstChild = node.getFirstChild();
73
- // Add text styles only if link has single text node inside. If it's more
74
- // then one we ignore it as markdown does not support nested styles for links
75
- if (node.getChildrenSize() === 1 && $isTextNode(firstChild)) {
76
- return exportFormat(firstChild, linkContent);
77
- } else {
78
- return linkContent;
79
- }
80
- },
81
- importRegExp: /(?:\[([^[]+)\])(?:\(([^()]+)\))/,
82
- regExp: /(?:\[([^[]+)\])(?:\(([^()]+)\))$/,
83
- replace: (textNode, match) => {
84
- const [, linkText, linkUrl] = match;
85
- const linkNode = $createLinkNode(linkUrl);
86
- const linkTextNode = $createTextNode(linkText);
87
- linkTextNode.setFormat(textNode.getFormat());
88
- linkNode.append(linkTextNode);
89
- textNode.replace(linkNode);
90
- },
91
- trigger: ')',
92
- type: 'text-match',
93
- };
94
- */
95
-
96
- const modifiedTextTransformers = [EMOJI_NODE_MARKDOWN_TRANSFORM];
97
-
98
- export const PLAYGROUND_TRANSFORMERS: Array<Transformer> = [
99
- UNDERLINE,
100
- ...modifiedTextTransformers,
101
- HR,
102
- ...ELEMENT_TRANSFORMERS,
103
-
104
- CUSTOM_LINK_NODE_TRANSFORMER,
105
- ...TRANSFORMERS.splice(0, 13),
106
- ];
1
+ import type { ElementTransformer, Transformer } from "@lexical/markdown";
2
+ import type { LexicalNode, TextFormatType } from "lexical";
3
+
4
+ import {
5
+ ELEMENT_TRANSFORMERS,
6
+ TEXT_FORMAT_TRANSFORMERS,
7
+ TRANSFORMERS
8
+ } from "@lexical/markdown";
9
+ import {
10
+ $createHorizontalRuleNode,
11
+ $isHorizontalRuleNode,
12
+ HorizontalRuleNode
13
+ } from "@lexical/react/LexicalHorizontalRuleNode";
14
+ import { CUSTOM_LINK_NODE_TRANSFORMER } from "./customLink/CustomLinkNodeTransformer";
15
+ import { EMOJI_NODE_MARKDOWN_TRANSFORM } from "./emoji/EmojiNodeTransform";
16
+
17
+
18
+ export const HR: ElementTransformer = {
19
+ dependencies: [HorizontalRuleNode],
20
+ export: (node: LexicalNode) => ($isHorizontalRuleNode(node) ? "***" : null),
21
+ regExp: /^(---|\*\*\*|___)\s?$/,
22
+ replace: (parentNode, _1, _2, isImport) => {
23
+ const line = $createHorizontalRuleNode();
24
+
25
+ // TODO: Get rid of isImport flag
26
+ if (isImport || parentNode.getNextSibling() != null) {
27
+ parentNode.replace(line);
28
+ } else {
29
+ parentNode.insertBefore(line);
30
+ }
31
+
32
+ line.selectNext();
33
+ },
34
+ type: "element"
35
+ };
36
+
37
+ export type TextFormatTransformer = Readonly<{
38
+ format: ReadonlyArray<TextFormatType>;
39
+ tag: string;
40
+ intraword?: boolean;
41
+ type: "text-format";
42
+ }>;
43
+ /*
44
+ export type TextMatchTransformer = Readonly<{
45
+ dependencies: Array<Klass<LexicalNode>>;
46
+ export: (
47
+ node: LexicalNode,
48
+ // eslint-disable-next-line no-shadow
49
+ exportChildren: (node: ElementNode) => string,
50
+ // eslint-disable-next-line no-shadow
51
+ exportFormat: (node: TextNode, textContent: string) => string,
52
+ ) => string | null;
53
+ importRegExp: RegExp;
54
+ regExp: RegExp;
55
+ replace: (node: TextNode, match: RegExpMatchArray) => void;
56
+ trigger: string;
57
+ type: 'text-match';
58
+ }>;
59
+ */
60
+
61
+ export const UNDERLINE: TextFormatTransformer = {
62
+ format: ["underline"],
63
+ intraword: false,
64
+ tag: "_",
65
+ type: "text-format"
66
+ };
67
+ /*
68
+ export const UNDERLINE: TextMatchTransformer = {
69
+ dependencies: [],
70
+ export: (node, exportChildren, exportFormat) => {
71
+ const linkContent = `[${node.getTextContent()}](${node.getURL()})`;
72
+ const firstChild = node.getFirstChild();
73
+ // Add text styles only if link has single text node inside. If it's more
74
+ // then one we ignore it as markdown does not support nested styles for links
75
+ if (node.getChildrenSize() === 1 && $isTextNode(firstChild)) {
76
+ return exportFormat(firstChild, linkContent);
77
+ } else {
78
+ return linkContent;
79
+ }
80
+ },
81
+ importRegExp: /(?:\[([^[]+)\])(?:\(([^()]+)\))/,
82
+ regExp: /(?:\[([^[]+)\])(?:\(([^()]+)\))$/,
83
+ replace: (textNode, match) => {
84
+ const [, linkText, linkUrl] = match;
85
+ const linkNode = $createLinkNode(linkUrl);
86
+ const linkTextNode = $createTextNode(linkText);
87
+ linkTextNode.setFormat(textNode.getFormat());
88
+ linkNode.append(linkTextNode);
89
+ textNode.replace(linkNode);
90
+ },
91
+ trigger: ')',
92
+ type: 'text-match',
93
+ };
94
+ */
95
+
96
+ const modifiedTextTransformers = [EMOJI_NODE_MARKDOWN_TRANSFORM];
97
+
98
+ export const PLAYGROUND_TRANSFORMERS: Array<Transformer> = [
99
+ UNDERLINE,
100
+ ...modifiedTextTransformers,
101
+ HR,
102
+ ...ELEMENT_TRANSFORMERS,
103
+
104
+ CUSTOM_LINK_NODE_TRANSFORMER,
105
+ ...TRANSFORMERS.splice(0, 13),
106
+ ];
@@ -1,15 +1,15 @@
1
- import { useEffect } from "react";
2
- import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
3
-
4
- interface Props {
5
- isDisabled?: boolean
6
- }
7
-
8
- // When isDisabled true, set active editor in ReadOnly mode preventing changes
9
- export function ReadOnlyPlugin(props: Props): any {
10
- const [editor] = useLexicalComposerContext();
11
-
12
- useEffect(() => { editor.setEditable(!props.isDisabled); }, [editor, props.isDisabled]);
13
-
14
- return null;
15
- }
1
+ import { useEffect } from "react";
2
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
3
+
4
+ interface Props {
5
+ isDisabled?: boolean
6
+ }
7
+
8
+ // When isDisabled true, set active editor in ReadOnly mode preventing changes
9
+ export function ReadOnlyPlugin(props: Props): any {
10
+ const [editor] = useLexicalComposerContext();
11
+
12
+ useEffect(() => { editor.setEditable(!props.isDisabled); }, [editor, props.isDisabled]);
13
+
14
+ return null;
15
+ }