@churchapps/apphelper 0.4.12 → 0.4.18

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 (608) hide show
  1. package/dist/components/DisplayBox.js +12 -18
  2. package/dist/components/DisplayBox.js.map +1 -1
  3. package/dist/components/ErrorMessages.js +9 -46
  4. package/dist/components/ErrorMessages.js.map +1 -1
  5. package/dist/components/ExportLink.d.ts.map +1 -1
  6. package/dist/components/ExportLink.js +8 -10
  7. package/dist/components/ExportLink.js.map +1 -1
  8. package/dist/components/FloatingSupport.js +7 -14
  9. package/dist/components/FloatingSupport.js.map +1 -1
  10. package/dist/components/FormCardPayment.d.ts.map +1 -1
  11. package/dist/components/FormCardPayment.js +28 -64
  12. package/dist/components/FormCardPayment.js.map +1 -1
  13. package/dist/components/FormSubmissionEdit.d.ts.map +1 -1
  14. package/dist/components/FormSubmissionEdit.js +28 -66
  15. package/dist/components/FormSubmissionEdit.js.map +1 -1
  16. package/dist/components/HelpIcon.js +3 -7
  17. package/dist/components/HelpIcon.js.map +1 -1
  18. package/dist/components/ImageEditor.d.ts.map +1 -1
  19. package/dist/components/ImageEditor.js +13 -19
  20. package/dist/components/ImageEditor.js.map +1 -1
  21. package/dist/components/InputBox.d.ts.map +1 -1
  22. package/dist/components/InputBox.js +13 -15
  23. package/dist/components/InputBox.js.map +1 -1
  24. package/dist/components/Loading.d.ts +0 -1
  25. package/dist/components/Loading.d.ts.map +1 -1
  26. package/dist/components/Loading.js +52 -12
  27. package/dist/components/Loading.js.map +1 -1
  28. package/dist/components/PageHeader.d.ts +15 -0
  29. package/dist/components/PageHeader.d.ts.map +1 -0
  30. package/dist/components/PageHeader.js +41 -0
  31. package/dist/components/PageHeader.js.map +1 -0
  32. package/dist/components/PersonAvatar.d.ts +12 -0
  33. package/dist/components/PersonAvatar.d.ts.map +1 -0
  34. package/dist/components/PersonAvatar.js +55 -0
  35. package/dist/components/PersonAvatar.js.map +1 -0
  36. package/dist/components/QuestionEdit.js +20 -26
  37. package/dist/components/QuestionEdit.js.map +1 -1
  38. package/dist/components/SmallButton.js +9 -15
  39. package/dist/components/SmallButton.js.map +1 -1
  40. package/dist/components/SupportModal.d.ts.map +1 -1
  41. package/dist/components/SupportModal.js +5 -9
  42. package/dist/components/SupportModal.js.map +1 -1
  43. package/dist/components/TabPanel.js +5 -9
  44. package/dist/components/TabPanel.js.map +1 -1
  45. package/dist/components/header/Banner.js +3 -7
  46. package/dist/components/header/Banner.js.map +1 -1
  47. package/dist/components/header/PrimaryMenu.d.ts.map +1 -1
  48. package/dist/components/header/PrimaryMenu.js +30 -30
  49. package/dist/components/header/PrimaryMenu.js.map +1 -1
  50. package/dist/components/header/SecondaryMenu.js +6 -10
  51. package/dist/components/header/SecondaryMenu.js.map +1 -1
  52. package/dist/components/header/SecondaryMenuAlt.js +8 -15
  53. package/dist/components/header/SecondaryMenuAlt.js.map +1 -1
  54. package/dist/components/header/SiteHeader.d.ts +2 -1
  55. package/dist/components/header/SiteHeader.d.ts.map +1 -1
  56. package/dist/components/header/SiteHeader.js +109 -17
  57. package/dist/components/header/SiteHeader.js.map +1 -1
  58. package/dist/components/header/SupportDrawer.js +14 -18
  59. package/dist/components/header/SupportDrawer.js.map +1 -1
  60. package/dist/components/header/index.js +2 -7
  61. package/dist/components/header/index.js.map +1 -1
  62. package/dist/components/index.d.ts +2 -4
  63. package/dist/components/index.d.ts.map +1 -1
  64. package/dist/components/index.js +18 -52
  65. package/dist/components/index.js.map +1 -1
  66. package/dist/components/notes/AddNote.d.ts.map +1 -1
  67. package/dist/components/notes/AddNote.js +56 -54
  68. package/dist/components/notes/AddNote.js.map +1 -1
  69. package/dist/components/notes/Note.d.ts.map +1 -1
  70. package/dist/components/notes/Note.js +11 -15
  71. package/dist/components/notes/Note.js.map +1 -1
  72. package/dist/components/notes/Notes.d.ts.map +1 -1
  73. package/dist/components/notes/Notes.js +134 -40
  74. package/dist/components/notes/Notes.js.map +1 -1
  75. package/dist/components/notes/index.js +3 -9
  76. package/dist/components/notes/index.js.map +1 -1
  77. package/dist/components/wrapper/AppList.d.ts.map +1 -1
  78. package/dist/components/wrapper/AppList.js +7 -13
  79. package/dist/components/wrapper/AppList.js.map +1 -1
  80. package/dist/components/wrapper/ChurchList.d.ts.map +1 -1
  81. package/dist/components/wrapper/ChurchList.js +55 -21
  82. package/dist/components/wrapper/ChurchList.js.map +1 -1
  83. package/dist/components/wrapper/NavItem.js +11 -15
  84. package/dist/components/wrapper/NavItem.js.map +1 -1
  85. package/dist/components/wrapper/NewPrivateMessage.d.ts.map +1 -1
  86. package/dist/components/wrapper/NewPrivateMessage.js +38 -68
  87. package/dist/components/wrapper/NewPrivateMessage.js.map +1 -1
  88. package/dist/components/wrapper/Notifications.d.ts.map +1 -1
  89. package/dist/components/wrapper/Notifications.js +53 -57
  90. package/dist/components/wrapper/Notifications.js.map +1 -1
  91. package/dist/components/wrapper/PrivateMessageDetails.d.ts +1 -0
  92. package/dist/components/wrapper/PrivateMessageDetails.d.ts.map +1 -1
  93. package/dist/components/wrapper/PrivateMessageDetails.js +54 -9
  94. package/dist/components/wrapper/PrivateMessageDetails.js.map +1 -1
  95. package/dist/components/wrapper/PrivateMessages.d.ts.map +1 -1
  96. package/dist/components/wrapper/PrivateMessages.js +363 -78
  97. package/dist/components/wrapper/PrivateMessages.js.map +1 -1
  98. package/dist/components/wrapper/UserMenu.d.ts.map +1 -1
  99. package/dist/components/wrapper/UserMenu.js +182 -54
  100. package/dist/components/wrapper/UserMenu.js.map +1 -1
  101. package/dist/components/wrapper/index.d.ts +2 -1
  102. package/dist/components/wrapper/index.d.ts.map +1 -1
  103. package/dist/components/wrapper/index.js +8 -17
  104. package/dist/components/wrapper/index.js.map +1 -1
  105. package/dist/helpers/AnalyticsHelper.d.ts.map +1 -1
  106. package/dist/helpers/AnalyticsHelper.js +11 -19
  107. package/dist/helpers/AnalyticsHelper.js.map +1 -1
  108. package/dist/helpers/AppearanceHelper.js +1 -5
  109. package/dist/helpers/AppearanceHelper.js.map +1 -1
  110. package/dist/helpers/ArrayHelper.d.ts.map +1 -1
  111. package/dist/helpers/ArrayHelper.js +3 -8
  112. package/dist/helpers/ArrayHelper.js.map +1 -1
  113. package/dist/helpers/CurrencyHelper.js +1 -5
  114. package/dist/helpers/CurrencyHelper.js.map +1 -1
  115. package/dist/helpers/DateHelper.js +3 -7
  116. package/dist/helpers/DateHelper.js.map +1 -1
  117. package/dist/helpers/ErrorHelper.js +3 -7
  118. package/dist/helpers/ErrorHelper.js.map +1 -1
  119. package/dist/helpers/EventHelper.d.ts.map +1 -1
  120. package/dist/helpers/EventHelper.js +4 -11
  121. package/dist/helpers/EventHelper.js.map +1 -1
  122. package/dist/helpers/FileHelper.js +3 -10
  123. package/dist/helpers/FileHelper.js.map +1 -1
  124. package/dist/helpers/Locale.d.ts +1 -1
  125. package/dist/helpers/Locale.d.ts.map +1 -1
  126. package/dist/helpers/Locale.js +18 -20
  127. package/dist/helpers/Locale.js.map +1 -1
  128. package/dist/helpers/NotificationService.d.ts +56 -0
  129. package/dist/helpers/NotificationService.d.ts.map +1 -0
  130. package/dist/helpers/NotificationService.js +176 -0
  131. package/dist/helpers/NotificationService.js.map +1 -0
  132. package/dist/helpers/PersonHelper.d.ts.map +1 -1
  133. package/dist/helpers/PersonHelper.js +5 -9
  134. package/dist/helpers/PersonHelper.js.map +1 -1
  135. package/dist/helpers/SlugHelper.js +4 -11
  136. package/dist/helpers/SlugHelper.js.map +1 -1
  137. package/dist/helpers/SocketHelper.d.ts +12 -0
  138. package/dist/helpers/SocketHelper.d.ts.map +1 -1
  139. package/dist/helpers/SocketHelper.js +163 -44
  140. package/dist/helpers/SocketHelper.js.map +1 -1
  141. package/dist/helpers/UniqueIdHelper.js +1 -5
  142. package/dist/helpers/UniqueIdHelper.js.map +1 -1
  143. package/dist/helpers/UserHelper.js +8 -12
  144. package/dist/helpers/UserHelper.js.map +1 -1
  145. package/dist/helpers/createEmotionCache.js +3 -9
  146. package/dist/helpers/createEmotionCache.js.map +1 -1
  147. package/dist/helpers/index.d.ts +7 -16
  148. package/dist/helpers/index.d.ts.map +1 -1
  149. package/dist/helpers/index.js +10 -54
  150. package/dist/helpers/index.js.map +1 -1
  151. package/dist/hooks/index.d.ts +2 -0
  152. package/dist/hooks/index.d.ts.map +1 -1
  153. package/dist/hooks/index.js +2 -5
  154. package/dist/hooks/index.js.map +1 -1
  155. package/dist/hooks/useMountedState.js +5 -9
  156. package/dist/hooks/useMountedState.js.map +1 -1
  157. package/dist/hooks/useNotifications.d.ts +30 -0
  158. package/dist/hooks/useNotifications.d.ts.map +1 -0
  159. package/dist/hooks/useNotifications.js +79 -0
  160. package/dist/hooks/useNotifications.js.map +1 -0
  161. package/dist/index.d.ts +0 -3
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +3 -22
  164. package/dist/index.js.map +1 -1
  165. package/dist/public/css/styles.css +6 -2
  166. package/package.json +6 -28
  167. package/public/css/styles.css +6 -2
  168. package/src/components/ExportLink.tsx +12 -3
  169. package/src/components/FormCardPayment.tsx +4 -3
  170. package/src/components/FormSubmissionEdit.tsx +5 -6
  171. package/src/components/ImageEditor.tsx +15 -12
  172. package/src/components/InputBox.tsx +2 -1
  173. package/src/components/Loading.tsx +47 -1
  174. package/src/components/PageHeader.tsx +107 -0
  175. package/src/components/PersonAvatar.tsx +78 -0
  176. package/src/components/SupportModal.tsx +8 -3
  177. package/src/components/header/PrimaryMenu.tsx +85 -42
  178. package/src/components/header/SiteHeader.tsx +131 -8
  179. package/src/components/header/SupportDrawer.tsx +1 -1
  180. package/src/components/index.tsx +2 -5
  181. package/src/components/notes/AddNote.tsx +105 -19
  182. package/src/components/notes/Note.tsx +43 -22
  183. package/src/components/notes/Notes.tsx +160 -21
  184. package/src/components/wrapper/AppList.tsx +1 -4
  185. package/src/components/wrapper/ChurchList.tsx +45 -5
  186. package/src/components/wrapper/NewPrivateMessage.tsx +181 -44
  187. package/src/components/wrapper/Notifications.tsx +164 -29
  188. package/src/components/wrapper/PrivateMessageDetails.tsx +100 -13
  189. package/src/components/wrapper/PrivateMessages.tsx +539 -56
  190. package/src/components/wrapper/UserMenu.tsx +218 -38
  191. package/src/components/wrapper/index.tsx +3 -2
  192. package/src/helpers/AnalyticsHelper.ts +1 -2
  193. package/src/helpers/ArrayHelper.ts +0 -1
  194. package/src/helpers/ErrorHelper.ts +1 -1
  195. package/src/helpers/EventHelper.ts +0 -3
  196. package/src/helpers/Locale.ts +8 -3
  197. package/src/helpers/NotificationService.ts +211 -0
  198. package/src/helpers/PersonHelper.ts +1 -2
  199. package/src/helpers/SocketHelper.ts +184 -39
  200. package/src/helpers/UserHelper.ts +2 -2
  201. package/src/helpers/index.ts +46 -16
  202. package/src/hooks/index.ts +2 -0
  203. package/src/hooks/useNotifications.ts +94 -0
  204. package/src/index.ts +1 -4
  205. package/tsconfig.json +2 -2
  206. package/.eslintignore +0 -4
  207. package/.github/FUNDING.yml +0 -1
  208. package/.vscode/settings.json +0 -6
  209. package/CHUMS_COMPONENT_EXTRACTION_CANDIDATES.md +0 -210
  210. package/CLAUDE.md +0 -111
  211. package/COMPONENT_USAGE_REPORT.md +0 -322
  212. package/LICENSE +0 -21
  213. package/README.md +0 -24
  214. package/b1app-specific-components.md +0 -146
  215. package/component-usage-analysis.md +0 -169
  216. package/dist/components/markdownEditor/Editor.d.ts +0 -13
  217. package/dist/components/markdownEditor/Editor.d.ts.map +0 -1
  218. package/dist/components/markdownEditor/Editor.js +0 -92
  219. package/dist/components/markdownEditor/Editor.js.map +0 -1
  220. package/dist/components/markdownEditor/IconNamesList.d.ts +0 -3
  221. package/dist/components/markdownEditor/IconNamesList.d.ts.map +0 -1
  222. package/dist/components/markdownEditor/IconNamesList.js +0 -16
  223. package/dist/components/markdownEditor/IconNamesList.js.map +0 -1
  224. package/dist/components/markdownEditor/MarkdownEditor.d.ts +0 -10
  225. package/dist/components/markdownEditor/MarkdownEditor.d.ts.map +0 -1
  226. package/dist/components/markdownEditor/MarkdownEditor.js +0 -45
  227. package/dist/components/markdownEditor/MarkdownEditor.js.map +0 -1
  228. package/dist/components/markdownEditor/MarkdownModal.d.ts +0 -9
  229. package/dist/components/markdownEditor/MarkdownModal.d.ts.map +0 -1
  230. package/dist/components/markdownEditor/MarkdownModal.js +0 -24
  231. package/dist/components/markdownEditor/MarkdownModal.js.map +0 -1
  232. package/dist/components/markdownEditor/MarkdownPreview.d.ts +0 -9
  233. package/dist/components/markdownEditor/MarkdownPreview.d.ts.map +0 -1
  234. package/dist/components/markdownEditor/MarkdownPreview.js +0 -45
  235. package/dist/components/markdownEditor/MarkdownPreview.js.map +0 -1
  236. package/dist/components/markdownEditor/MarkdownPreviewLight.d.ts +0 -7
  237. package/dist/components/markdownEditor/MarkdownPreviewLight.d.ts.map +0 -1
  238. package/dist/components/markdownEditor/MarkdownPreviewLight.js +0 -53
  239. package/dist/components/markdownEditor/MarkdownPreviewLight.js.map +0 -1
  240. package/dist/components/markdownEditor/editor.css +0 -787
  241. package/dist/components/markdownEditor/images/emoji/1F600.png +0 -0
  242. package/dist/components/markdownEditor/images/emoji/1F641.png +0 -0
  243. package/dist/components/markdownEditor/images/emoji/1F642.png +0 -0
  244. package/dist/components/markdownEditor/images/emoji/2764.png +0 -0
  245. package/dist/components/markdownEditor/images/icons/arrow-clockwise.svg +0 -4
  246. package/dist/components/markdownEditor/images/icons/arrow-counterclockwise.svg +0 -4
  247. package/dist/components/markdownEditor/images/icons/chat-square-quote.svg +0 -4
  248. package/dist/components/markdownEditor/images/icons/chevron-down.svg +0 -3
  249. package/dist/components/markdownEditor/images/icons/code.svg +0 -3
  250. package/dist/components/markdownEditor/images/icons/journal-code.svg +0 -5
  251. package/dist/components/markdownEditor/images/icons/journal-text.svg +0 -5
  252. package/dist/components/markdownEditor/images/icons/justify.svg +0 -3
  253. package/dist/components/markdownEditor/images/icons/link.svg +0 -4
  254. package/dist/components/markdownEditor/images/icons/list-ol.svg +0 -4
  255. package/dist/components/markdownEditor/images/icons/list-ul.svg +0 -3
  256. package/dist/components/markdownEditor/images/icons/pencil-fill.svg +0 -3
  257. package/dist/components/markdownEditor/images/icons/text-center.svg +0 -3
  258. package/dist/components/markdownEditor/images/icons/text-left.svg +0 -3
  259. package/dist/components/markdownEditor/images/icons/text-paragraph.svg +0 -3
  260. package/dist/components/markdownEditor/images/icons/text-right.svg +0 -3
  261. package/dist/components/markdownEditor/images/icons/type-bold.svg +0 -3
  262. package/dist/components/markdownEditor/images/icons/type-h1.svg +0 -3
  263. package/dist/components/markdownEditor/images/icons/type-h2.svg +0 -3
  264. package/dist/components/markdownEditor/images/icons/type-h3.svg +0 -3
  265. package/dist/components/markdownEditor/images/icons/type-h4.svg +0 -13
  266. package/dist/components/markdownEditor/images/icons/type-italic.svg +0 -3
  267. package/dist/components/markdownEditor/images/icons/type-strikethrough.svg +0 -3
  268. package/dist/components/markdownEditor/images/icons/type-underline.svg +0 -3
  269. package/dist/components/markdownEditor/index.d.ts +0 -4
  270. package/dist/components/markdownEditor/index.d.ts.map +0 -1
  271. package/dist/components/markdownEditor/index.js +0 -10
  272. package/dist/components/markdownEditor/index.js.map +0 -1
  273. package/dist/components/markdownEditor/plugins/AutoLinkPlugin.d.ts +0 -2
  274. package/dist/components/markdownEditor/plugins/AutoLinkPlugin.d.ts.map +0 -1
  275. package/dist/components/markdownEditor/plugins/AutoLinkPlugin.js +0 -31
  276. package/dist/components/markdownEditor/plugins/AutoLinkPlugin.js.map +0 -1
  277. package/dist/components/markdownEditor/plugins/ControlledEditorPlugin.d.ts +0 -8
  278. package/dist/components/markdownEditor/plugins/ControlledEditorPlugin.d.ts.map +0 -1
  279. package/dist/components/markdownEditor/plugins/ControlledEditorPlugin.js +0 -19
  280. package/dist/components/markdownEditor/plugins/ControlledEditorPlugin.js.map +0 -1
  281. package/dist/components/markdownEditor/plugins/FloatingTextMenu/FloatingTextFormatToolbarPlugin.d.ts +0 -6
  282. package/dist/components/markdownEditor/plugins/FloatingTextMenu/FloatingTextFormatToolbarPlugin.d.ts.map +0 -1
  283. package/dist/components/markdownEditor/plugins/FloatingTextMenu/FloatingTextFormatToolbarPlugin.js +0 -310
  284. package/dist/components/markdownEditor/plugins/FloatingTextMenu/FloatingTextFormatToolbarPlugin.js.map +0 -1
  285. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getDOMRangeRect.d.ts +0 -2
  286. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getDOMRangeRect.d.ts.map +0 -1
  287. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getDOMRangeRect.js +0 -19
  288. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getDOMRangeRect.js.map +0 -1
  289. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getSelectNode.d.ts +0 -2
  290. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getSelectNode.d.ts.map +0 -1
  291. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getSelectNode.js +0 -21
  292. package/dist/components/markdownEditor/plugins/FloatingTextMenu/getSelectNode.js.map +0 -1
  293. package/dist/components/markdownEditor/plugins/FloatingTextMenu/setFloatingElemPosition.d.ts +0 -2
  294. package/dist/components/markdownEditor/plugins/FloatingTextMenu/setFloatingElemPosition.d.ts.map +0 -1
  295. package/dist/components/markdownEditor/plugins/FloatingTextMenu/setFloatingElemPosition.js +0 -29
  296. package/dist/components/markdownEditor/plugins/FloatingTextMenu/setFloatingElemPosition.js.map +0 -1
  297. package/dist/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.d.ts +0 -2
  298. package/dist/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.d.ts.map +0 -1
  299. package/dist/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.js +0 -45
  300. package/dist/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.js.map +0 -1
  301. package/dist/components/markdownEditor/plugins/MarkdownTransformers.d.ts +0 -12
  302. package/dist/components/markdownEditor/plugins/MarkdownTransformers.d.ts.map +0 -1
  303. package/dist/components/markdownEditor/plugins/MarkdownTransformers.js +0 -85
  304. package/dist/components/markdownEditor/plugins/MarkdownTransformers.js.map +0 -1
  305. package/dist/components/markdownEditor/plugins/ReadOnlyPlugin.d.ts +0 -6
  306. package/dist/components/markdownEditor/plugins/ReadOnlyPlugin.d.ts.map +0 -1
  307. package/dist/components/markdownEditor/plugins/ReadOnlyPlugin.js +0 -12
  308. package/dist/components/markdownEditor/plugins/ReadOnlyPlugin.js.map +0 -1
  309. package/dist/components/markdownEditor/plugins/ToolbarPlugin.d.ts +0 -7
  310. package/dist/components/markdownEditor/plugins/ToolbarPlugin.d.ts.map +0 -1
  311. package/dist/components/markdownEditor/plugins/ToolbarPlugin.js +0 -282
  312. package/dist/components/markdownEditor/plugins/ToolbarPlugin.js.map +0 -1
  313. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNode.d.ts +0 -27
  314. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNode.d.ts.map +0 -1
  315. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNode.js +0 -158
  316. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNode.js.map +0 -1
  317. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.d.ts +0 -4
  318. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.d.ts.map +0 -1
  319. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.js +0 -21
  320. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.js.map +0 -1
  321. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.d.ts +0 -3
  322. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.d.ts.map +0 -1
  323. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.js +0 -71
  324. package/dist/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.js.map +0 -1
  325. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.d.ts +0 -5
  326. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.d.ts.map +0 -1
  327. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.js +0 -190
  328. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.js.map +0 -1
  329. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.d.ts +0 -11
  330. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.d.ts.map +0 -1
  331. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.js +0 -3
  332. package/dist/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.js.map +0 -1
  333. package/dist/components/markdownEditor/plugins/emoji/EmojiNode.d.ts +0 -24
  334. package/dist/components/markdownEditor/plugins/emoji/EmojiNode.d.ts.map +0 -1
  335. package/dist/components/markdownEditor/plugins/emoji/EmojiNode.js +0 -66
  336. package/dist/components/markdownEditor/plugins/emoji/EmojiNode.js.map +0 -1
  337. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.d.ts +0 -4
  338. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.d.ts.map +0 -1
  339. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.js +0 -35
  340. package/dist/components/markdownEditor/plugins/emoji/EmojiNodeTransform.js.map +0 -1
  341. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.d.ts +0 -9
  342. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.d.ts.map +0 -1
  343. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.js +0 -103
  344. package/dist/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.js.map +0 -1
  345. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.d.ts +0 -10
  346. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.d.ts.map +0 -1
  347. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.js +0 -59
  348. package/dist/components/markdownEditor/plugins/emoji/EmojisPlugin.js.map +0 -1
  349. package/dist/components/markdownEditor/plugins/index.d.ts +0 -7
  350. package/dist/components/markdownEditor/plugins/index.d.ts.map +0 -1
  351. package/dist/components/markdownEditor/plugins/index.js +0 -16
  352. package/dist/components/markdownEditor/plugins/index.js.map +0 -1
  353. package/dist/components/markdownEditor/theme.d.ts +0 -66
  354. package/dist/components/markdownEditor/theme.d.ts.map +0 -1
  355. package/dist/components/markdownEditor/theme.js +0 -69
  356. package/dist/components/markdownEditor/theme.js.map +0 -1
  357. package/dist/components/reporting/ChartReport.d.ts +0 -8
  358. package/dist/components/reporting/ChartReport.d.ts.map +0 -1
  359. package/dist/components/reporting/ChartReport.js +0 -81
  360. package/dist/components/reporting/ChartReport.js.map +0 -1
  361. package/dist/components/reporting/ReportFilter.d.ts +0 -9
  362. package/dist/components/reporting/ReportFilter.d.ts.map +0 -1
  363. package/dist/components/reporting/ReportFilter.js +0 -52
  364. package/dist/components/reporting/ReportFilter.js.map +0 -1
  365. package/dist/components/reporting/ReportFilterField.d.ts +0 -9
  366. package/dist/components/reporting/ReportFilterField.d.ts.map +0 -1
  367. package/dist/components/reporting/ReportFilterField.js +0 -156
  368. package/dist/components/reporting/ReportFilterField.js.map +0 -1
  369. package/dist/components/reporting/ReportOutput.d.ts +0 -8
  370. package/dist/components/reporting/ReportOutput.d.ts.map +0 -1
  371. package/dist/components/reporting/ReportOutput.js +0 -177
  372. package/dist/components/reporting/ReportOutput.js.map +0 -1
  373. package/dist/components/reporting/ReportWithFilter.d.ts +0 -7
  374. package/dist/components/reporting/ReportWithFilter.d.ts.map +0 -1
  375. package/dist/components/reporting/ReportWithFilter.js +0 -65
  376. package/dist/components/reporting/ReportWithFilter.js.map +0 -1
  377. package/dist/components/reporting/TableReport.d.ts +0 -8
  378. package/dist/components/reporting/TableReport.d.ts.map +0 -1
  379. package/dist/components/reporting/TableReport.js +0 -30
  380. package/dist/components/reporting/TableReport.js.map +0 -1
  381. package/dist/components/reporting/TreeReport.d.ts +0 -8
  382. package/dist/components/reporting/TreeReport.d.ts.map +0 -1
  383. package/dist/components/reporting/TreeReport.js +0 -89
  384. package/dist/components/reporting/TreeReport.js.map +0 -1
  385. package/dist/components/reporting/index.d.ts +0 -5
  386. package/dist/components/reporting/index.d.ts.map +0 -1
  387. package/dist/components/reporting/index.js +0 -12
  388. package/dist/components/reporting/index.js.map +0 -1
  389. package/dist/components/wrapper/Drawers.d.ts +0 -5
  390. package/dist/components/wrapper/Drawers.d.ts.map +0 -1
  391. package/dist/components/wrapper/Drawers.js +0 -54
  392. package/dist/components/wrapper/Drawers.js.map +0 -1
  393. package/dist/components/wrapper/SiteWrapper.d.ts +0 -15
  394. package/dist/components/wrapper/SiteWrapper.d.ts.map +0 -1
  395. package/dist/components/wrapper/SiteWrapper.js +0 -60
  396. package/dist/components/wrapper/SiteWrapper.js.map +0 -1
  397. package/dist/components/wrapper/TabPanel.d.ts +0 -9
  398. package/dist/components/wrapper/TabPanel.d.ts.map +0 -1
  399. package/dist/components/wrapper/TabPanel.js +0 -20
  400. package/dist/components/wrapper/TabPanel.js.map +0 -1
  401. package/dist/donationComponents/components/BankForm.d.ts +0 -14
  402. package/dist/donationComponents/components/BankForm.d.ts.map +0 -1
  403. package/dist/donationComponents/components/BankForm.js +0 -126
  404. package/dist/donationComponents/components/BankForm.js.map +0 -1
  405. package/dist/donationComponents/components/CardForm.d.ts +0 -13
  406. package/dist/donationComponents/components/CardForm.d.ts.map +0 -1
  407. package/dist/donationComponents/components/CardForm.js +0 -122
  408. package/dist/donationComponents/components/CardForm.js.map +0 -1
  409. package/dist/donationComponents/components/DonationForm.d.ts +0 -15
  410. package/dist/donationComponents/components/DonationForm.d.ts.map +0 -1
  411. package/dist/donationComponents/components/DonationForm.js +0 -199
  412. package/dist/donationComponents/components/DonationForm.js.map +0 -1
  413. package/dist/donationComponents/components/FundDonation.d.ts +0 -12
  414. package/dist/donationComponents/components/FundDonation.d.ts.map +0 -1
  415. package/dist/donationComponents/components/FundDonation.js +0 -32
  416. package/dist/donationComponents/components/FundDonation.js.map +0 -1
  417. package/dist/donationComponents/components/FundDonations.d.ts +0 -11
  418. package/dist/donationComponents/components/FundDonations.d.ts.map +0 -1
  419. package/dist/donationComponents/components/FundDonations.js +0 -33
  420. package/dist/donationComponents/components/FundDonations.js.map +0 -1
  421. package/dist/donationComponents/components/NonAuthDonation.d.ts +0 -12
  422. package/dist/donationComponents/components/NonAuthDonation.d.ts.map +0 -1
  423. package/dist/donationComponents/components/NonAuthDonation.js +0 -27
  424. package/dist/donationComponents/components/NonAuthDonation.js.map +0 -1
  425. package/dist/donationComponents/components/NonAuthDonationInner.d.ts +0 -12
  426. package/dist/donationComponents/components/NonAuthDonationInner.d.ts.map +0 -1
  427. package/dist/donationComponents/components/NonAuthDonationInner.js +0 -277
  428. package/dist/donationComponents/components/NonAuthDonationInner.js.map +0 -1
  429. package/dist/donationComponents/components/PaymentMethods.d.ts +0 -14
  430. package/dist/donationComponents/components/PaymentMethods.d.ts.map +0 -1
  431. package/dist/donationComponents/components/PaymentMethods.js +0 -84
  432. package/dist/donationComponents/components/PaymentMethods.js.map +0 -1
  433. package/dist/donationComponents/components/RecurringDonations.d.ts +0 -10
  434. package/dist/donationComponents/components/RecurringDonations.d.ts.map +0 -1
  435. package/dist/donationComponents/components/RecurringDonations.js +0 -93
  436. package/dist/donationComponents/components/RecurringDonations.js.map +0 -1
  437. package/dist/donationComponents/components/RecurringDonationsEdit.d.ts +0 -11
  438. package/dist/donationComponents/components/RecurringDonationsEdit.d.ts.map +0 -1
  439. package/dist/donationComponents/components/RecurringDonationsEdit.js +0 -66
  440. package/dist/donationComponents/components/RecurringDonationsEdit.js.map +0 -1
  441. package/dist/donationComponents/components/index.d.ts +0 -11
  442. package/dist/donationComponents/components/index.d.ts.map +0 -1
  443. package/dist/donationComponents/components/index.js +0 -24
  444. package/dist/donationComponents/components/index.js.map +0 -1
  445. package/dist/donationComponents/index.d.ts +0 -3
  446. package/dist/donationComponents/index.d.ts.map +0 -1
  447. package/dist/donationComponents/index.js +0 -21
  448. package/dist/donationComponents/index.js.map +0 -1
  449. package/dist/donationComponents/modals/DonationPreviewModal.d.ts +0 -15
  450. package/dist/donationComponents/modals/DonationPreviewModal.d.ts.map +0 -1
  451. package/dist/donationComponents/modals/DonationPreviewModal.js +0 -33
  452. package/dist/donationComponents/modals/DonationPreviewModal.js.map +0 -1
  453. package/dist/helpers/ApiHelper.d.ts +0 -18
  454. package/dist/helpers/ApiHelper.d.ts.map +0 -1
  455. package/dist/helpers/ApiHelper.js +0 -123
  456. package/dist/helpers/ApiHelper.js.map +0 -1
  457. package/dist/helpers/CommonEnvironmentHelper.d.ts +0 -21
  458. package/dist/helpers/CommonEnvironmentHelper.d.ts.map +0 -1
  459. package/dist/helpers/CommonEnvironmentHelper.js +0 -100
  460. package/dist/helpers/CommonEnvironmentHelper.js.map +0 -1
  461. package/dist/helpers/DonationHelper.d.ts +0 -8
  462. package/dist/helpers/DonationHelper.d.ts.map +0 -1
  463. package/dist/helpers/DonationHelper.js +0 -33
  464. package/dist/helpers/DonationHelper.js.map +0 -1
  465. package/dist/helpers/ReportHelper.d.ts +0 -5
  466. package/dist/helpers/ReportHelper.d.ts.map +0 -1
  467. package/dist/helpers/ReportHelper.js +0 -37
  468. package/dist/helpers/ReportHelper.js.map +0 -1
  469. package/dist/pageComponents/LoginPage.d.ts +0 -25
  470. package/dist/pageComponents/LoginPage.d.ts.map +0 -1
  471. package/dist/pageComponents/LoginPage.js +0 -288
  472. package/dist/pageComponents/LoginPage.js.map +0 -1
  473. package/dist/pageComponents/LogoutPage.d.ts +0 -9
  474. package/dist/pageComponents/LogoutPage.d.ts.map +0 -1
  475. package/dist/pageComponents/LogoutPage.js +0 -37
  476. package/dist/pageComponents/LogoutPage.js.map +0 -1
  477. package/dist/pageComponents/components/Forgot.d.ts +0 -8
  478. package/dist/pageComponents/components/Forgot.d.ts.map +0 -1
  479. package/dist/pageComponents/components/Forgot.js +0 -53
  480. package/dist/pageComponents/components/Forgot.js.map +0 -1
  481. package/dist/pageComponents/components/Login.d.ts +0 -15
  482. package/dist/pageComponents/components/Login.d.ts.map +0 -1
  483. package/dist/pageComponents/components/Login.js +0 -73
  484. package/dist/pageComponents/components/Login.js.map +0 -1
  485. package/dist/pageComponents/components/LoginSetPassword.d.ts +0 -13
  486. package/dist/pageComponents/components/LoginSetPassword.d.ts.map +0 -1
  487. package/dist/pageComponents/components/LoginSetPassword.js +0 -112
  488. package/dist/pageComponents/components/LoginSetPassword.js.map +0 -1
  489. package/dist/pageComponents/components/Register.d.ts +0 -12
  490. package/dist/pageComponents/components/Register.d.ts.map +0 -1
  491. package/dist/pageComponents/components/Register.js +0 -95
  492. package/dist/pageComponents/components/Register.js.map +0 -1
  493. package/dist/pageComponents/components/SelectChurchModal.d.ts +0 -14
  494. package/dist/pageComponents/components/SelectChurchModal.d.ts.map +0 -1
  495. package/dist/pageComponents/components/SelectChurchModal.js +0 -37
  496. package/dist/pageComponents/components/SelectChurchModal.js.map +0 -1
  497. package/dist/pageComponents/components/SelectChurchRegister.d.ts +0 -11
  498. package/dist/pageComponents/components/SelectChurchRegister.d.ts.map +0 -1
  499. package/dist/pageComponents/components/SelectChurchRegister.js +0 -89
  500. package/dist/pageComponents/components/SelectChurchRegister.js.map +0 -1
  501. package/dist/pageComponents/components/SelectChurchSearch.d.ts +0 -10
  502. package/dist/pageComponents/components/SelectChurchSearch.d.ts.map +0 -1
  503. package/dist/pageComponents/components/SelectChurchSearch.js +0 -58
  504. package/dist/pageComponents/components/SelectChurchSearch.js.map +0 -1
  505. package/dist/pageComponents/components/SelectableChurch.d.ts +0 -9
  506. package/dist/pageComponents/components/SelectableChurch.d.ts.map +0 -1
  507. package/dist/pageComponents/components/SelectableChurch.js +0 -18
  508. package/dist/pageComponents/components/SelectableChurch.js.map +0 -1
  509. package/dist/pageComponents/index.d.ts +0 -4
  510. package/dist/pageComponents/index.d.ts.map +0 -1
  511. package/dist/pageComponents/index.js +0 -10
  512. package/dist/pageComponents/index.js.map +0 -1
  513. package/src/components/markdownEditor/Editor.tsx +0 -150
  514. package/src/components/markdownEditor/IconNamesList.ts +0 -14
  515. package/src/components/markdownEditor/MarkdownEditor.tsx +0 -18
  516. package/src/components/markdownEditor/MarkdownModal.tsx +0 -49
  517. package/src/components/markdownEditor/MarkdownPreview.tsx +0 -18
  518. package/src/components/markdownEditor/MarkdownPreviewLight.tsx +0 -53
  519. package/src/components/markdownEditor/editor.css +0 -787
  520. package/src/components/markdownEditor/images/emoji/1F600.png +0 -0
  521. package/src/components/markdownEditor/images/emoji/1F641.png +0 -0
  522. package/src/components/markdownEditor/images/emoji/1F642.png +0 -0
  523. package/src/components/markdownEditor/images/emoji/2764.png +0 -0
  524. package/src/components/markdownEditor/images/icons/arrow-clockwise.svg +0 -4
  525. package/src/components/markdownEditor/images/icons/arrow-counterclockwise.svg +0 -4
  526. package/src/components/markdownEditor/images/icons/chat-square-quote.svg +0 -4
  527. package/src/components/markdownEditor/images/icons/chevron-down.svg +0 -3
  528. package/src/components/markdownEditor/images/icons/code.svg +0 -3
  529. package/src/components/markdownEditor/images/icons/journal-code.svg +0 -5
  530. package/src/components/markdownEditor/images/icons/journal-text.svg +0 -5
  531. package/src/components/markdownEditor/images/icons/justify.svg +0 -3
  532. package/src/components/markdownEditor/images/icons/link.svg +0 -4
  533. package/src/components/markdownEditor/images/icons/list-ol.svg +0 -4
  534. package/src/components/markdownEditor/images/icons/list-ul.svg +0 -3
  535. package/src/components/markdownEditor/images/icons/pencil-fill.svg +0 -3
  536. package/src/components/markdownEditor/images/icons/text-center.svg +0 -3
  537. package/src/components/markdownEditor/images/icons/text-left.svg +0 -3
  538. package/src/components/markdownEditor/images/icons/text-paragraph.svg +0 -3
  539. package/src/components/markdownEditor/images/icons/text-right.svg +0 -3
  540. package/src/components/markdownEditor/images/icons/type-bold.svg +0 -3
  541. package/src/components/markdownEditor/images/icons/type-h1.svg +0 -3
  542. package/src/components/markdownEditor/images/icons/type-h2.svg +0 -3
  543. package/src/components/markdownEditor/images/icons/type-h3.svg +0 -3
  544. package/src/components/markdownEditor/images/icons/type-h4.svg +0 -13
  545. package/src/components/markdownEditor/images/icons/type-italic.svg +0 -3
  546. package/src/components/markdownEditor/images/icons/type-strikethrough.svg +0 -3
  547. package/src/components/markdownEditor/images/icons/type-underline.svg +0 -3
  548. package/src/components/markdownEditor/index.ts +0 -3
  549. package/src/components/markdownEditor/plugins/AutoLinkPlugin.tsx +0 -35
  550. package/src/components/markdownEditor/plugins/ControlledEditorPlugin.tsx +0 -24
  551. package/src/components/markdownEditor/plugins/FloatingTextMenu/FloatingTextFormatToolbarPlugin.tsx +0 -445
  552. package/src/components/markdownEditor/plugins/FloatingTextMenu/getDOMRangeRect.tsx +0 -17
  553. package/src/components/markdownEditor/plugins/FloatingTextMenu/getSelectNode.tsx +0 -17
  554. package/src/components/markdownEditor/plugins/FloatingTextMenu/setFloatingElemPosition.tsx +0 -33
  555. package/src/components/markdownEditor/plugins/ListMaxIndentLevelPlugin.tsx +0 -68
  556. package/src/components/markdownEditor/plugins/MarkdownTransformers.ts +0 -106
  557. package/src/components/markdownEditor/plugins/ReadOnlyPlugin.tsx +0 -15
  558. package/src/components/markdownEditor/plugins/ToolbarPlugin.tsx +0 -424
  559. package/src/components/markdownEditor/plugins/customLink/CustomLinkNode.tsx +0 -224
  560. package/src/components/markdownEditor/plugins/customLink/CustomLinkNodePlugin.tsx +0 -32
  561. package/src/components/markdownEditor/plugins/customLink/CustomLinkNodeTransformer.tsx +0 -102
  562. package/src/components/markdownEditor/plugins/customLink/FloatingLinkEditor.tsx +0 -270
  563. package/src/components/markdownEditor/plugins/customLink/FloatingLinkEditor.types.ts +0 -11
  564. package/src/components/markdownEditor/plugins/emoji/EmojiNode.tsx +0 -95
  565. package/src/components/markdownEditor/plugins/emoji/EmojiNodeTransform.ts +0 -41
  566. package/src/components/markdownEditor/plugins/emoji/EmojiPickerPlugin.tsx +0 -152
  567. package/src/components/markdownEditor/plugins/emoji/EmojisPlugin.tsx +0 -70
  568. package/src/components/markdownEditor/plugins/index.ts +0 -6
  569. package/src/components/markdownEditor/theme.ts +0 -65
  570. package/src/components/reporting/ChartReport.tsx +0 -89
  571. package/src/components/reporting/ReportFilter.tsx +0 -56
  572. package/src/components/reporting/ReportFilterField.tsx +0 -163
  573. package/src/components/reporting/ReportOutput.tsx +0 -168
  574. package/src/components/reporting/ReportWithFilter.tsx +0 -72
  575. package/src/components/reporting/TableReport.tsx +0 -44
  576. package/src/components/reporting/TreeReport.tsx +0 -103
  577. package/src/components/reporting/index.ts +0 -4
  578. package/src/components/wrapper/Drawers.tsx +0 -62
  579. package/src/components/wrapper/SiteWrapper.tsx +0 -99
  580. package/src/components/wrapper/TabPanel.tsx +0 -32
  581. package/src/donationComponents/components/BankForm.tsx +0 -163
  582. package/src/donationComponents/components/CardForm.tsx +0 -104
  583. package/src/donationComponents/components/DonationForm.tsx +0 -260
  584. package/src/donationComponents/components/FundDonation.tsx +0 -59
  585. package/src/donationComponents/components/FundDonations.tsx +0 -44
  586. package/src/donationComponents/components/NonAuthDonation.tsx +0 -34
  587. package/src/donationComponents/components/NonAuthDonationInner.tsx +0 -300
  588. package/src/donationComponents/components/PaymentMethods.tsx +0 -133
  589. package/src/donationComponents/components/RecurringDonations.tsx +0 -117
  590. package/src/donationComponents/components/RecurringDonationsEdit.tsx +0 -96
  591. package/src/donationComponents/components/index.tsx +0 -10
  592. package/src/donationComponents/index.ts +0 -2
  593. package/src/donationComponents/modals/DonationPreviewModal.tsx +0 -70
  594. package/src/helpers/ApiHelper.ts +0 -127
  595. package/src/helpers/CommonEnvironmentHelper.ts +0 -98
  596. package/src/helpers/DonationHelper.ts +0 -26
  597. package/src/helpers/ReportHelper.ts +0 -34
  598. package/src/pageComponents/LoginPage.tsx +0 -284
  599. package/src/pageComponents/LogoutPage.tsx +0 -43
  600. package/src/pageComponents/components/Forgot.tsx +0 -81
  601. package/src/pageComponents/components/Login.tsx +0 -62
  602. package/src/pageComponents/components/LoginSetPassword.tsx +0 -98
  603. package/src/pageComponents/components/Register.tsx +0 -103
  604. package/src/pageComponents/components/SelectChurchModal.tsx +0 -58
  605. package/src/pageComponents/components/SelectChurchRegister.tsx +0 -87
  606. package/src/pageComponents/components/SelectChurchSearch.tsx +0 -71
  607. package/src/pageComponents/components/SelectableChurch.tsx +0 -40
  608. package/src/pageComponents/index.ts +0 -3
@@ -1,210 +0,0 @@
1
- # ChumsApp Component Extraction Candidates
2
-
3
- Generated on: 2025-07-04
4
-
5
- ## Executive Summary
6
-
7
- This document identifies AppHelper components that are only used by ChumsApp and recommends their extraction to reduce AppHelper's scope and improve architectural separation. The analysis focuses on components that represent CHUMS-specific business logic rather than general church management functionality.
8
-
9
- ## Extraction Candidates
10
-
11
- ### 🟢 Strong Candidates for Extraction
12
-
13
- #### 1. Person Management Components
14
- **Components**: `PersonAdd`, `CreatePerson`
15
- **Used by**: ChumsApp only
16
- **Size**: 2 components
17
-
18
- **Business Logic**:
19
- - Person search and addition to groups/households
20
- - CHUMS-specific membership management workflows
21
- - Integration with MembershipApi for person operations
22
- - Group-specific filtering and validation logic
23
-
24
- **Benefits of Extraction**:
25
- - Moves CHUMS-specific membership logic to CHUMS
26
- - Reduces AppHelper's dependency on MembershipApi patterns
27
- - Allows CHUMS team to iterate on person management independently
28
-
29
- **Migration Effort**: Low - self-contained components with minimal dependencies
30
-
31
- ---
32
-
33
- #### 2. Complete Donation Management System
34
- **Components**:
35
- - `DonationPage` (main donation interface)
36
- - `FundDonations` (fund management)
37
- - `FundDonation` (individual fund component)
38
- - All components in `/donationComponents/`:
39
- - `DonationForm`, `NonAuthDonation`, `NonAuthDonationInner`
40
- - `PaymentMethods`, `RecurringDonations`, `RecurringDonationsEdit`
41
- - `BankForm`, `CardForm`, `FormCardPayment`
42
- - `DonationPreviewModal`
43
-
44
- **Used by**: ChumsApp only (B1App uses different donation components)
45
- **Size**: ~13 components + entire donation module
46
-
47
- **Business Logic**:
48
- - Complete Stripe payment processing workflow
49
- - Recurring donation management
50
- - Fund-based donation allocation
51
- - CHUMS-specific donation reporting and history
52
- - Payment method management and storage
53
-
54
- **Benefits of Extraction**:
55
- - **Massive size reduction** for AppHelper (removes entire donation module)
56
- - Eliminates Stripe dependencies from AppHelper
57
- - Allows CHUMS-specific donation features without affecting other apps
58
- - Reduces bundle size for non-donation apps (B1App, LessonsApp)
59
- - Cleaner separation between different donation workflows (CHUMS vs B1)
60
-
61
- **Migration Effort**: Medium - requires moving entire module and updating imports
62
-
63
- ---
64
-
65
- ### 🟡 Moderate Candidates (Recommend Keeping)
66
-
67
- #### 3. Notes/Messaging System
68
- **Components**: `Notes`, `Note`, `AddNote`, `Conversation`, `Conversations`, `NewConversation`
69
- **Used by**: ChumsApp only currently
70
- **Size**: 6 components
71
-
72
- **Analysis**:
73
- - **Business Logic**: Generic messaging/conversation functionality
74
- - **API Integration**: Uses MessagingApi (separate microservice)
75
- - **Reusability**: High potential for use by other church apps
76
- - **Current State**: Only used by CHUMS but architecturally generic
77
-
78
- **Recommendation**: **Keep in AppHelper**
79
- **Reasoning**: Messaging is a universal need across church applications. The MessagingApi already provides good separation of concerns.
80
-
81
- ---
82
-
83
- #### 4. Reporting Infrastructure
84
- **Components**: `ReportWithFilter`, `ReportFilter`, `ReportFilterField`, `ReportOutput`, `ChartReport`, `TableReport`, `TreeReport`
85
- **Used by**: ChumsApp only currently
86
- **Size**: 7 components
87
-
88
- **Analysis**:
89
- - **Business Logic**: Generic reporting with filtering capabilities
90
- - **API Integration**: Uses ReportingApi (separate microservice)
91
- - **Reusability**: High potential for other apps' reporting needs
92
- - **Architecture**: Well-abstracted reporting infrastructure
93
-
94
- **Recommendation**: **Keep in AppHelper**
95
- **Reasoning**: Reporting is universal church management functionality that other apps will likely need.
96
-
97
- ---
98
-
99
- ## Impact Analysis
100
-
101
- ### AppHelper Size Reduction
102
- - **Total components to extract**: 15 components (PersonAdd/CreatePerson + entire donation system)
103
- - **Percentage reduction**: ~29% of total components (15 out of 51)
104
- - **Bundle size impact**: Significant reduction due to removal of Stripe and donation logic
105
-
106
- ### Dependency Cleanup
107
- **Dependencies to remove from AppHelper**:
108
- - Stripe payment processing libraries
109
- - CHUMS-specific MembershipApi patterns
110
- - Donation-related TypeScript interfaces
111
- - Payment method validation logic
112
-
113
- ### Breaking Changes
114
- **Projects affected**: ChumsApp only
115
- **Migration required**:
116
- - Update imports in ChumsApp
117
- - Move components to ChumsApp's component directory
118
- - Update build processes to include new components
119
-
120
- ---
121
-
122
- ## Recommended Extraction Strategy
123
-
124
- ### Phase 1: Donation System Migration
125
- 1. **Create donation module in ChumsApp**
126
- - Copy all donation components to `src/donationComponents/`
127
- - Update internal imports to use local components
128
- - Test donation functionality in ChumsApp
129
-
130
- 2. **Update ChumsApp imports**
131
- - Replace `@churchapps/apphelper` donation imports with local imports
132
- - Verify all donation workflows still function
133
-
134
- 3. **Remove from AppHelper**
135
- - Delete donation components from AppHelper
136
- - Remove Stripe dependencies
137
- - Update AppHelper exports
138
- - Publish new AppHelper version
139
-
140
- ### Phase 2: Person Management Migration
141
- 1. **Move person components to ChumsApp**
142
- - Copy `PersonAdd` and `CreatePerson` to ChumsApp
143
- - Update imports in ChumsApp files
144
-
145
- 2. **Test and validate**
146
- - Ensure person management workflows still work
147
- - Verify no regression in membership features
148
-
149
- 3. **Clean up AppHelper**
150
- - Remove person components
151
- - Update exports
152
- - Publish updated version
153
-
154
- ### Phase 3: Validation and Cleanup
155
- 1. **Verify other projects**
156
- - Ensure B1App, LessonsApp, etc. still work with new AppHelper
157
- - Update any accidentally broken imports
158
-
159
- 2. **Documentation update**
160
- - Update component usage documentation
161
- - Create migration guide for teams
162
-
163
- ---
164
-
165
- ## Benefits Summary
166
-
167
- ### For AppHelper
168
- - **Smaller bundle size**: Removes ~29% of components
169
- - **Cleaner scope**: Focuses on truly shared church management components
170
- - **Fewer dependencies**: Removes Stripe and CHUMS-specific integrations
171
- - **Better maintainability**: Less complex codebase
172
-
173
- ### For ChumsApp
174
- - **Faster iteration**: Can modify donation and person management without affecting other apps
175
- - **Direct control**: Full ownership of CHUMS-specific business logic
176
- - **Customization freedom**: Can add CHUMS-specific features without AppHelper constraints
177
-
178
- ### For Other Projects
179
- - **Smaller downloads**: Don't download unused donation code
180
- - **Fewer dependencies**: Less bloat from CHUMS-specific functionality
181
- - **Cleaner imports**: Only import actually relevant components
182
-
183
- ---
184
-
185
- ## Risk Assessment
186
-
187
- ### Low Risk
188
- - Person management extraction (small, self-contained)
189
- - Well-tested existing functionality
190
-
191
- ### Medium Risk
192
- - Donation system extraction (large codebase move)
193
- - Multiple component dependencies
194
- - Stripe integration complexity
195
-
196
- ### Mitigation Strategies
197
- - **Gradual migration**: Move components in phases
198
- - **Thorough testing**: Test all donation workflows after migration
199
- - **Rollback plan**: Keep original components until migration is fully validated
200
- - **Documentation**: Clear migration guide for future reference
201
-
202
- ---
203
-
204
- ## Conclusion
205
-
206
- The donation management system represents the largest opportunity for extraction, removing a significant amount of CHUMS-specific code from AppHelper while providing clear architectural benefits. The person management components are smaller but equally CHUMS-specific and should also be extracted.
207
-
208
- The messaging and reporting systems, while currently only used by CHUMS, represent generic church management functionality that other applications will likely need and should remain in AppHelper.
209
-
210
- **Recommended Action**: Proceed with extraction of donation system and person management components, prioritizing the donation system due to its size and impact.
package/CLAUDE.md DELETED
@@ -1,111 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Project Overview
6
-
7
- AppHelper is a React/Next.js component library for ChurchApps - a collection of Material-UI based components, helpers, and utilities for church management applications. It's published as `@churchapps/helpers` on npm and depends on `@churchapps/helpers` for core interfaces and utilities.
8
-
9
- ## Build Commands
10
-
11
- ```bash
12
- npm run clean # Remove dist folder
13
- npm run tsc # TypeScript compilation only
14
- npm run build # Full build (clean + tsc + copy assets)
15
- npm run copy-assets # Copy CSS, icons, emojis, and language files
16
- ```
17
-
18
- ### Asset Copying
19
- The build process copies several asset types to the dist folder:
20
- - CSS files from markdown editor
21
- - SVG icons (toolbar buttons, formatting icons)
22
- - Emoji images (PNG files)
23
- - Localization files (12 languages: en, de, es, fr, hi, it, ko, no, pt, ru, tl, zh)
24
-
25
- ## Local Development & Linking
26
-
27
- Due to React peer dependency conflicts, linking requires special handling:
28
-
29
- ```bash
30
- # In AppHelper directory:
31
- npm unlink ../../path/to/consumer/node_modules/react
32
- npm unlink ../../path/to/consumer/node_modules/react-dom
33
- npm unlink ../../path/to/consumer/node_modules/react-router-dom
34
- npm run build
35
- npm link
36
-
37
- # In consumer project:
38
- npm link @churchapps/apphelper
39
- npm start
40
- ```
41
-
42
- Alternative approach using npm pack:
43
- ```bash
44
- npm run build && npm pack
45
- # Then reference the .tgz file in consumer's package.json
46
- ```
47
-
48
- ## Publishing
49
-
50
- ```bash
51
- # Update version in package.json first
52
- npm run build
53
- npm publish --access=public
54
- ```
55
-
56
- ## Code Architecture
57
-
58
- ### Core Structure
59
- - `src/components/` - React components using Material-UI 5
60
- - `src/helpers/` - Re-exports from @churchapps/helpers plus app-specific utilities
61
- - `src/donationComponents/` - Stripe-integrated donation forms and management
62
- - `src/pageComponents/` - Authentication pages (login, register, etc.)
63
- - `src/hooks/` - Custom React hooks
64
-
65
- ### Key Components
66
-
67
- **SiteWrapper** - Main application shell with:
68
- - Material-UI navigation drawer
69
- - User authentication context
70
- - Notification system integration
71
- - Dynamic theming support
72
-
73
- **MarkdownEditor** - Lexical-based rich text editor with:
74
- - Lazy loading for performance
75
- - Toolbar with formatting options
76
- - Custom link and emoji plugins
77
- - Markdown transformers
78
-
79
- **Donation Components** - Stripe integration for:
80
- - One-time and recurring donations
81
- - Payment method management
82
- - Fund-specific donation handling
83
-
84
- ### Helper Architecture
85
- - Extends `@churchapps/helpers` with app-specific utilities
86
- - `ApiHelper` - Centralized API communication with JWT authentication
87
- - `AppearanceHelper` - Theme and branding management
88
- - `SocketHelper` - Real-time communication
89
- - `CurrencyHelper`, `DateHelper` - Formatting utilities
90
-
91
- ## Technology Stack
92
-
93
- - **React 18+** with TypeScript
94
- - **Material-UI 5** for components and theming
95
- - **Lexical** for rich text editing
96
- - **Stripe** for payment processing
97
- - **i18next** for internationalization (12 languages)
98
- - **Emotion** for CSS-in-JS styling
99
-
100
- ## Code Style
101
-
102
- Key style rules enforced in the codebase:
103
- - 2-space indentation
104
- - Prefer double quotes for JSX
105
- - No trailing spaces
106
- - Arrow functions preferred
107
- - No trailing commas
108
- - Keep arrays/objects on single line when possible
109
- - Consistent array/object formatting
110
-
111
- Note: ESLint has been removed to eliminate deprecated dependency warnings. Code style is maintained manually.
@@ -1,322 +0,0 @@
1
- # @churchapps/apphelper Component Usage Report
2
-
3
- Generated on: 2025-07-04
4
-
5
- ## Executive Summary
6
-
7
- This report analyzes the usage of @churchapps/apphelper components across active projects in the LCS ecosystem. The package exports 34 React components, 14 helper utilities, and numerous TypeScript interfaces.
8
-
9
- **Note**: As of this report, donation management components (15 components) and person management components (2 components) have been moved from AppHelper to ChumsApp for better architectural separation.
10
-
11
- ### Projects Using @churchapps/apphelper
12
-
13
- | Project | Version | Location | Primary Use Case |
14
- |---------|---------|----------|------------------|
15
- | **B1App** | 0.4.1 | `/mnt/e/LCS/B1/B1App/` | Main B1 platform application |
16
- | **ChumsApp** | 0.4.7 | `/mnt/e/LCS/Chums/ChumsApp/` | Church management system |
17
- | **ChumsTransfer** | 0.4.7 | `/mnt/e/LCS/Chums/ChumsTransfer/` | Church data transfer tool |
18
- | **LessonsApp** | ^0.3.46 | `/mnt/e/LCS/Lessons/LessonsApp/` | Lessons management |
19
- | **ChurchAppsWeb** | 0.0.5 | `/mnt/e/LCS/ChurchApps/ChurchAppsWeb/` | ChurchApps web platform |
20
-
21
- ## Component Usage Matrix
22
-
23
- **Legend**:
24
- - ✅ = Used from @churchapps/apphelper
25
- - 🏠 = Moved to local project (no longer in AppHelper)
26
- - ❌ = Not used
27
-
28
- ### Core UI Components
29
-
30
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
31
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
32
- | **DisplayBox** | ✅ | ✅ | ✅ | ✅ | ❌ |
33
- | **Loading** | ✅ | ✅ | ❌ | ✅ | ❌ |
34
- | **SmallButton** | ✅ | ✅ | ❌ | ✅ | ❌ |
35
- | **InputBox** | ✅ | ✅ | ❌ | ✅ | ❌ |
36
- | **ErrorMessages** | ✅ | ✅ | ❌ | ✅ | ❌ |
37
- | **Banner** | ✅ | ✅ | ❌ | ✅ | ❌ |
38
- | **ExportLink** | ✅ | ✅ | ❌ | ❌ | ❌ |
39
- | **HelpIcon** | ❌ | ❌ | ❌ | ❌ | ❌ |
40
- | **TabPanel** | ❌ | ❌ | ❌ | ❌ | ❌ |
41
-
42
- ### Authentication Components
43
-
44
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
45
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
46
- | **LoginPage** | ✅ | ✅ | ✅ | ✅ | ✅ |
47
- | **LogoutPage** | ✅ | ✅ | ✅ | ✅ | ❌ |
48
- | **Register** | ❌ | ❌ | ❌ | ✅ | ✅ |
49
-
50
- ### Form & Input Components
51
-
52
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
53
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
54
- | **CreatePerson** | ❌ | 🏠 | ❌ | ❌ | ❌ |
55
- | **PersonAdd** | ❌ | 🏠 | ❌ | ❌ | ❌ |
56
- | **FormSubmissionEdit** | ✅ | ✅ | ❌ | ❌ | ❌ |
57
- | **QuestionEdit** | ❌ | ❌ | ❌ | ❌ | ❌ |
58
- | **ImageEditor** | ✅ | ✅ | ❌ | ❌ | ❌ |
59
- | **IconPicker** | ✅ | ❌ | ❌ | ❌ | ❌ |
60
-
61
- ### Rich Text Components
62
-
63
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
64
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
65
- | **MarkdownEditor** | ✅ | ✅ | ❌ | ✅ | ❌ |
66
- | **MarkdownPreview** | ✅ | ✅ | ❌ | ❌ | ❌ |
67
- | **MarkdownPreviewLight** | ✅ | ❌ | ❌ | ✅ | ❌ |
68
-
69
- ### Communication Components
70
-
71
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
72
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
73
- | **Conversations** | ✅ | ❌ | ❌ | ❌ | ❌ |
74
- | **Conversation** | ❌ | ❌ | ❌ | ❌ | ❌ |
75
- | **Notes** | ❌ | ✅ | ❌ | ❌ | ❌ |
76
- | **Note** | ❌ | ❌ | ❌ | ❌ | ❌ |
77
- | **AddNote** | ❌ | ❌ | ❌ | ❌ | ❌ |
78
- | **NewPrivateMessage** | ✅ | ❌ | ❌ | ❌ | ❌ |
79
- | **PrivateMessageDetails** | ✅ | ❌ | ❌ | ❌ | ❌ |
80
- | **NewConversation** | ❌ | ❌ | ❌ | ❌ | ❌ |
81
-
82
- ### Donation Components
83
-
84
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
85
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
86
- | **DonationPage** | ❌ | 🏠 | ❌ | ❌ | ❌ |
87
- | **DonationForm** | ✅ | 🏠 | ❌ | ❌ | ❌ |
88
- | **NonAuthDonation** | ✅ | 🏠 | ❌ | ❌ | ❌ |
89
- | **NonAuthDonationInner** | ❌ | 🏠 | ❌ | ❌ | ❌ |
90
- | **PaymentMethods** | ✅ | 🏠 | ❌ | ❌ | ❌ |
91
- | **RecurringDonations** | ✅ | 🏠 | ❌ | ❌ | ❌ |
92
- | **RecurringDonationsEdit** | ❌ | 🏠 | ❌ | ❌ | ❌ |
93
- | **FundDonations** | ❌ | 🏠 | ❌ | ❌ | ❌ |
94
- | **FundDonation** | ❌ | 🏠 | ❌ | ❌ | ❌ |
95
- | **BankForm** | ❌ | 🏠 | ❌ | ❌ | ❌ |
96
- | **CardForm** | ❌ | 🏠 | ❌ | ❌ | ❌ |
97
- | **FormCardPayment** | ❌ | 🏠 | ❌ | ❌ | ❌ |
98
- | **DonationPreviewModal** | ❌ | 🏠 | ❌ | ❌ | ❌ |
99
-
100
- ### Gallery & Media Components
101
-
102
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
103
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
104
- | **GalleryModal** | ✅ | ❌ | ❌ | ❌ | ❌ |
105
- | **StockPhotos** | ❌ | ❌ | ❌ | ❌ | ❌ |
106
- | **B1ShareModal** | ✅ | ❌ | ❌ | ✅ | ❌ |
107
-
108
- ### Support Components
109
-
110
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
111
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
112
- | **FloatingSupport** | ❌ | ❌ | ❌ | ✅ | ✅ |
113
- | **SupportModal** | ❌ | ❌ | ❌ | ✅ | ❌ |
114
- | **SupportDrawer** | ❌ | ❌ | ❌ | ❌ | ❌ |
115
-
116
- ### Reporting Components
117
-
118
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
119
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
120
- | **ReportWithFilter** | ❌ | ✅ | ❌ | ❌ | ❌ |
121
- | **ReportFilter** | ❌ | ❌ | ❌ | ❌ | ❌ |
122
- | **ReportFilterField** | ❌ | ❌ | ❌ | ❌ | ❌ |
123
- | **ReportOutput** | ❌ | ❌ | ❌ | ❌ | ❌ |
124
- | **ChartReport** | ❌ | ❌ | ❌ | ❌ | ❌ |
125
- | **TableReport** | ❌ | ❌ | ❌ | ❌ | ❌ |
126
- | **TreeReport** | ❌ | ❌ | ❌ | ❌ | ❌ |
127
-
128
- ### Header & Navigation Components
129
-
130
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
131
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
132
- | **SiteHeader** | ✅ | ✅ | ❌ | ✅ | ❌ |
133
- | **PrimaryMenu** | ❌ | ❌ | ❌ | ❌ | ❌ |
134
- | **SecondaryMenu** | ❌ | ❌ | ❌ | ❌ | ❌ |
135
- | **SecondaryMenuAlt** | ❌ | ❌ | ❌ | ❌ | ❌ |
136
- | **NavItem** | ❌ | ❌ | ❌ | ✅ | ❌ |
137
-
138
- ### Wrapper Components
139
-
140
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
141
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
142
- | **SiteWrapper** | ❌ | ❌ | ❌ | ❌ | ❌ |
143
- | **AppList** | ❌ | ❌ | ❌ | ❌ | ❌ |
144
- | **ChurchList** | ❌ | ❌ | ❌ | ❌ | ❌ |
145
- | **UserMenu** | ❌ | ❌ | ❌ | ❌ | ❌ |
146
- | **Drawers** | ❌ | ❌ | ❌ | ❌ | ❌ |
147
- | **Notifications** | ❌ | ❌ | ❌ | ❌ | ❌ |
148
- | **PrivateMessages** | ❌ | ❌ | ❌ | ❌ | ❌ |
149
- | **TabPanel** (wrapper) | ❌ | ❌ | ❌ | ❌ | ❌ |
150
-
151
- ### Page Components
152
-
153
- | Component | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
154
- |-----------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
155
- | **Forgot** | ❌ | ❌ | ❌ | ❌ | ❌ |
156
- | **Login** | ❌ | ❌ | ❌ | ❌ | ❌ |
157
- | **LoginSetPassword** | ❌ | ❌ | ❌ | ❌ | ❌ |
158
- | **SelectChurchModal** | ❌ | ❌ | ❌ | ❌ | ❌ |
159
- | **SelectChurchRegister** | ❌ | ❌ | ❌ | ❌ | ❌ |
160
- | **SelectChurchSearch** | ❌ | ❌ | ❌ | ❌ | ❌ |
161
- | **SelectableChurch** | ❌ | ❌ | ❌ | ❌ | ❌ |
162
-
163
- ## Helper Utilities Usage
164
-
165
- | Helper | B1App | ChumsApp | ChumsTransfer | LessonsApp | ChurchAppsWeb |
166
- |--------|:-----:|:--------:|:-------------:|:----------:|:-------------:|
167
- | **ApiHelper** | ✅ | ✅ | ✅ | ✅ | ✅ |
168
- | **UserHelper** | ✅ | ✅ | ✅ | ✅ | ✅ |
169
- | **ArrayHelper** | ✅ | ✅ | ✅ | ✅ | ❌ |
170
- | **DateHelper** | ✅ | ✅ | ❌ | ✅ | ❌ |
171
- | **PersonHelper** | ✅ | ✅ | ✅ | ❌ | ❌ |
172
- | **CurrencyHelper** | ✅ | ✅ | ❌ | ❌ | ❌ |
173
- | **AppearanceHelper** | ✅ | ❌ | ❌ | ❌ | ❌ |
174
- | **AnalyticsHelper** | ✅ | ✅ | ❌ | ✅ | ✅ |
175
- | **ErrorHelper** | ✅ | ✅ | ❌ | ✅ | ❌ |
176
- | **CommonEnvironmentHelper** | ✅ | ✅ | ✅ | ✅ | ✅ |
177
- | **UniqueIdHelper** | ✅ | ✅ | ❌ | ❌ | ❌ |
178
- | **SlugHelper** | ✅ | ❌ | ❌ | ✅ | ❌ |
179
- | **EventHelper** | ✅ | ❌ | ❌ | ❌ | ❌ |
180
- | **SocketHelper** | ✅ | ❌ | ❌ | ❌ | ❌ |
181
- | **Locale** | ✅ | ✅ | ✅ | ✅ | ❌ |
182
- | **DonationHelper** | ❌ | ❌ | ❌ | ❌ | ❌ |
183
- | **FileHelper** | ❌ | ❌ | ❌ | ❌ | ❌ |
184
- | **ReportHelper** | ❌ | ❌ | ❌ | ❌ | ❌ |
185
- | **createEmotionCache** | ❌ | ❌ | ❌ | ❌ | ❌ |
186
-
187
- ## Component Usage Analysis
188
-
189
- The following analysis shows component usage patterns, distinguishing between external project usage and internal AppHelper usage:
190
-
191
- ### Components Used Internally by AppHelper (22 total)
192
-
193
- These components are not directly imported by external projects but are used internally by other AppHelper components:
194
-
195
- #### Core UI Components (4)
196
- - **HelpIcon** - Used by `DisplayBox` and `InputBox` components
197
- - **TabPanel** - Used by `UserMenu` and `GalleryModal` components
198
- - **QuestionEdit** - Used by `FormSubmissionEdit` component
199
- - **FormCardPayment** - Used by `QuestionEdit` component
200
-
201
- #### Notes & Communication Components (4)
202
- - **Note** - Used by `Notes` component
203
- - **AddNote** - Used by `Notes` and `NewPrivateMessage` components
204
- - **Conversation** - Used by `Conversations` component
205
- - **NewConversation** - Used by `Conversations` component
206
-
207
- #### Moved Components (17)
208
- These components have been moved to ChumsApp and are no longer part of AppHelper:
209
- - **Donation Components (13)**: DonationPage, DonationForm, NonAuthDonation, NonAuthDonationInner, PaymentMethods, RecurringDonations, RecurringDonationsEdit, FundDonations, FundDonation, BankForm, CardForm, FormCardPayment, DonationPreviewModal
210
- - **Person Management (2)**: PersonAdd, CreatePerson
211
-
212
- #### Gallery Components (1)
213
- - **StockPhotos** - Used by `GalleryModal` component
214
-
215
- #### Header Components (4)
216
- - **SupportDrawer** - Used by `SiteHeader` component
217
- - **PrimaryMenu** - Used by `SiteHeader` component
218
- - **SecondaryMenu** - Used by `SiteHeader` component
219
- - **SecondaryMenuAlt** - Used by `SiteHeader` component
220
-
221
- #### Reporting Components (6)
222
- - **ReportFilter** - Used by `ReportWithFilter` component
223
- - **ReportFilterField** - Used by `ReportFilter` component
224
- - **ReportOutput** - Used by `ReportWithFilter` component
225
- - **ChartReport** - Used by `ReportOutput` component
226
- - **TableReport** - Used by `ReportOutput` component
227
- - **TreeReport** - Used by `ReportOutput` component
228
-
229
- #### Wrapper Components (5)
230
- - **UserMenu** - Used by `SiteHeader` and `SiteWrapper` components
231
- - **AppList** - Used by `UserMenu` component
232
- - **ChurchList** - Used by `UserMenu` component
233
- - **Notifications** - Used by `UserMenu` component
234
- - **PrivateMessages** - Used by `UserMenu` component
235
- - **Drawers** - Used by `SiteWrapper` component
236
-
237
- #### Page Components (8)
238
- - **Forgot** - Used by `LoginPage` component
239
- - **Login** - Used by `LoginPage` component
240
- - **LoginSetPassword** - Used by `LoginPage` component
241
- - **SelectChurchModal** - Used by `LoginPage` component
242
- - **SelectChurchRegister** - Used by `SelectChurchSearch` component
243
- - **SelectChurchSearch** - Used by `SelectChurchSearch` component
244
- - **SelectableChurch** - Used by `SelectChurchSearch` component
245
-
246
- ### Truly Unused Components (1 total)
247
-
248
- Only one component appears to have no usage either externally or internally:
249
- - **SiteWrapper** - Main site wrapper component (not used by any external projects or internal components)
250
-
251
- ### Moved Components Summary (17 total)
252
-
253
- The following components have been extracted from AppHelper and moved to ChumsApp for better architectural separation:
254
-
255
- #### Donation Management System (13 components)
256
- - **Main Components**: DonationPage, DonationForm, NonAuthDonation
257
- - **Payment Processing**: PaymentMethods, BankForm, CardForm, FormCardPayment
258
- - **Fund Management**: FundDonations, FundDonation
259
- - **Recurring Donations**: RecurringDonations, RecurringDonationsEdit
260
- - **Internal Components**: NonAuthDonationInner, DonationPreviewModal
261
-
262
- #### Person Management (2 components)
263
- - **PersonAdd** - Add person to groups/systems
264
- - **CreatePerson** - Create new person records
265
-
266
- These components are now maintained within ChumsApp, allowing for faster iteration on CHUMS-specific functionality while reducing AppHelper's bundle size and complexity.
267
-
268
- ### Unused Helper Utilities (4 total)
269
- 1. **DonationHelper** - Donation-related utilities
270
- 2. **FileHelper** - File handling utilities
271
- 3. **ReportHelper** - Reporting utilities
272
- 4. **createEmotionCache** - Emotion cache creation
273
-
274
- ## Key Insights
275
-
276
- 1. **Core Components**: The most widely used components are `DisplayBox`, `Loading`, `SmallButton`, `InputBox`, and `ErrorMessages`, which appear in most active projects.
277
-
278
- 2. **Authentication**: All projects use `LoginPage`, making it the most universally adopted component. `LogoutPage` is used by all except ChurchAppsWeb.
279
-
280
- 3. **Project-Specific Usage**:
281
- - **B1App**: Uses the widest variety of components including donations, communications, and rich media
282
- - **ChumsApp**: Focuses on forms, reporting, and person management
283
- - **LessonsApp**: Uses support components uniquely among all projects
284
- - **ChumsTransfer & ChurchAppsWeb**: Minimal usage, primarily authentication
285
-
286
- 4. **Component Architecture**: AppHelper demonstrates excellent internal component composition with 22 components (65%) used internally by other components, showing a well-structured component hierarchy where complex components are built from simpler, focused components.
287
-
288
- 5. **External vs Internal Usage**: Only 11 out of 34 components (32%) are directly imported by external projects, while 22 components (65%) serve as internal building blocks. Only 1 component (3%) appears to be truly unused.
289
-
290
- 6. **Successful Component Extraction**: 17 components (50% of the original 51) have been successfully moved from AppHelper to ChumsApp, including the entire donation management system and person management components. This extraction significantly reduced AppHelper's bundle size and improved architectural separation.
291
-
292
- 7. **Helper Utilities**: `ApiHelper` and `UserHelper` are universally used across all projects, while specialized helpers like `DonationHelper` and `FileHelper` remain unused.
293
-
294
- ## Recommendations
295
-
296
- 1. **✅ COMPLETED: Component Extraction**: Successfully moved 17 CHUMS-specific components to ChumsApp, including:
297
- - Complete donation management system (13 components)
298
- - Person management components (2 components)
299
- - Achieved 50% reduction in AppHelper component count (51 → 34)
300
- - Eliminated Stripe dependencies from AppHelper
301
- - Improved architectural separation
302
-
303
- 2. **Maintain Component Architecture**: The current component composition strategy is excellent, with most components serving as internal building blocks. This architecture should be preserved as it promotes reusability and maintainability.
304
-
305
- 3. **Documentation Enhancement**:
306
- - Document the internal component hierarchy to help developers understand the composition patterns
307
- - Create examples for the 11 externally-used components to promote adoption
308
- - Add architecture diagrams showing component dependencies
309
- - Document the successful component extraction process for future reference
310
-
311
- 4. **Minimal Cleanup**: Only `SiteWrapper` appears to be truly unused and could be considered for deprecation if confirmed to have no purpose.
312
-
313
- 5. **Helper Utilities Review**: The 4 unused helper utilities (`DonationHelper`, `FileHelper`, `ReportHelper`, `createEmotionCache`) could be evaluated for removal if they serve no purpose.
314
-
315
- 6. **External Adoption**: Consider promoting usage of high-level components like:
316
- - `SiteHeader` for consistent navigation
317
- - `FloatingSupport` and `SupportModal` for user assistance
318
- - Rich text components (`MarkdownEditor`, `MarkdownPreview`) for content management
319
-
320
- 7. **Component Export Strategy**: With the reduced component count (34 vs original 51), the public API surface is now more manageable. Consider whether all remaining components need to be exported, or if some internal-only components could be kept private.
321
-
322
- 8. **Monitor ChumsApp Integration**: Validate that the moved components work correctly in ChumsApp and that the donation/person management workflows function as expected.
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Live Church Solutions
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,24 +0,0 @@
1
- # AppHelper
2
-
3
- Helper functions shared by React and NextJS Apps
4
-
5
- ## To Test
6
-
7
- 1. In the AppHelper folder run `npm unlink ../../Chums/ChumsApp/node_modules/react ../../Chums/ChumsApp/node_modules/react-dom ../../Chums/ChumsApp/node_modules/react-router-dom` plugging, in the path to the app you plan to test with.
8
- 2. Run `npm build` AppHelper folder
9
- 3. Run `npm unlink ../../Chums/ChumsApp/node_modules/react ../../Chums/ChumsApp/node_modules/react-dom ../../Chums/ChumsApp/node_modules/react-router-dom`
10
- 4. Run `npm link`
11
- 5. Switch to the test project folder and run `npm link @churchapps/apphelper` to point to your local copy
12
- 6. Run `npm start` or `npm run dev` within your test project
13
-
14
- ### Alternatively
15
-
16
- 1. Run `npm build` and `npm pack` in AppHelper folder
17
- 2. In your project folder point to the .tgz file like so `"@churchapps/apphelper": "file:../../packages/AppHelper/churchapps-apphelper-0.0.24.tgz"`. Your path may be different.
18
- 3. Run `npm i` on your test project.
19
-
20
- ## To Publish
21
-
22
- 1. Update version number in package.json
23
- 2. Run `npm run build`
24
- 3. Run `npm publish --access=public`