@cdmbase/wiki-browser 12.0.18-alpha.5

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 (367) hide show
  1. package/LICENSE +21 -0
  2. package/lib/components/Logo.d.ts +4 -0
  3. package/lib/components/Logo.d.ts.map +1 -0
  4. package/lib/components/Logo.js +16 -0
  5. package/lib/components/Logo.js.map +1 -0
  6. package/lib/components/help/SidebarSearch.d.ts +8 -0
  7. package/lib/components/help/SidebarSearch.d.ts.map +1 -0
  8. package/lib/components/help/SidebarSearch.js +111 -0
  9. package/lib/components/help/SidebarSearch.js.map +1 -0
  10. package/lib/components/help/index.d.ts +2 -0
  11. package/lib/components/help/index.d.ts.map +1 -0
  12. package/lib/components/landing/FeatureCard.d.ts +13 -0
  13. package/lib/components/landing/FeatureCard.d.ts.map +1 -0
  14. package/lib/components/landing/FeatureCard.js +85 -0
  15. package/lib/components/landing/FeatureCard.js.map +1 -0
  16. package/lib/components/landing/QuickLinkCard.d.ts +8 -0
  17. package/lib/components/landing/QuickLinkCard.d.ts.map +1 -0
  18. package/lib/components/landing/QuickLinkCard.js +26 -0
  19. package/lib/components/landing/QuickLinkCard.js.map +1 -0
  20. package/lib/components/landing/SearchInput.d.ts +10 -0
  21. package/lib/components/landing/SearchInput.d.ts.map +1 -0
  22. package/lib/components/landing/SearchInput.js +223 -0
  23. package/lib/components/landing/SearchInput.js.map +1 -0
  24. package/lib/components/landing/index.d.ts +4 -0
  25. package/lib/components/landing/index.d.ts.map +1 -0
  26. package/lib/components/welcome.d.ts +3 -0
  27. package/lib/components/welcome.d.ts.map +1 -0
  28. package/lib/compute.d.ts +4 -0
  29. package/lib/compute.d.ts.map +1 -0
  30. package/lib/compute.js +96 -0
  31. package/lib/compute.js.map +1 -0
  32. package/lib/config/env-config.d.ts +4 -0
  33. package/lib/config/env-config.d.ts.map +1 -0
  34. package/lib/config/env-config.js +7 -0
  35. package/lib/config/env-config.js.map +1 -0
  36. package/lib/docs.config.d.ts +48 -0
  37. package/lib/docs.config.d.ts.map +1 -0
  38. package/lib/index.d.ts +4 -0
  39. package/lib/index.d.ts.map +1 -0
  40. package/lib/index.js +2 -0
  41. package/lib/index.js.map +1 -0
  42. package/lib/loaders/search.d.ts +1 -0
  43. package/lib/loaders/search.d.ts.map +1 -0
  44. package/lib/module.d.ts +4 -0
  45. package/lib/module.d.ts.map +1 -0
  46. package/lib/module.js +11 -0
  47. package/lib/module.js.map +1 -0
  48. package/lib/pages/ArticlePage/ArticlePage.d.ts +4 -0
  49. package/lib/pages/ArticlePage/ArticlePage.d.ts.map +1 -0
  50. package/lib/pages/ArticlePage/ArticlePage.js +222 -0
  51. package/lib/pages/ArticlePage/ArticlePage.js.map +1 -0
  52. package/lib/pages/ArticlePage/index.d.ts +3 -0
  53. package/lib/pages/ArticlePage/index.d.ts.map +1 -0
  54. package/lib/pages/ArticlePage/index.js +3 -0
  55. package/lib/pages/ArticlePage/index.js.map +1 -0
  56. package/lib/pages/CategoryCollection/CategoryCollection.d.ts +4 -0
  57. package/lib/pages/CategoryCollection/CategoryCollection.d.ts.map +1 -0
  58. package/lib/pages/CategoryCollection/CategoryCollection.js +103 -0
  59. package/lib/pages/CategoryCollection/CategoryCollection.js.map +1 -0
  60. package/lib/pages/CategoryCollection/index.d.ts +3 -0
  61. package/lib/pages/CategoryCollection/index.d.ts.map +1 -0
  62. package/lib/pages/CategoryCollection/index.js +3 -0
  63. package/lib/pages/CategoryCollection/index.js.map +1 -0
  64. package/lib/pages/Help/HelpIndex.d.ts +4 -0
  65. package/lib/pages/Help/HelpIndex.d.ts.map +1 -0
  66. package/lib/pages/Help/HelpIndex.js +44 -0
  67. package/lib/pages/Help/HelpIndex.js.map +1 -0
  68. package/lib/pages/Help/index.d.ts +4 -0
  69. package/lib/pages/Help/index.d.ts.map +1 -0
  70. package/lib/pages/Help/index.js +226 -0
  71. package/lib/pages/Help/index.js.map +1 -0
  72. package/lib/pages/Landing/index.d.ts +3 -0
  73. package/lib/pages/Landing/index.d.ts.map +1 -0
  74. package/lib/pages/Landing/index.js +281 -0
  75. package/lib/pages/Landing/index.js.map +1 -0
  76. package/lib/routes.json +2533 -0
  77. package/lib/seo.d.ts +22 -0
  78. package/lib/seo.d.ts.map +1 -0
  79. package/lib/slot-fill/FooterFill.d.ts +3 -0
  80. package/lib/slot-fill/FooterFill.d.ts.map +1 -0
  81. package/lib/slot-fill/FooterFill.js +18 -0
  82. package/lib/slot-fill/FooterFill.js.map +1 -0
  83. package/lib/slot-fill/LogoFill.d.ts +5 -0
  84. package/lib/slot-fill/LogoFill.d.ts.map +1 -0
  85. package/lib/slot-fill/LogoFill.js +74 -0
  86. package/lib/slot-fill/LogoFill.js.map +1 -0
  87. package/lib/slot-fill/consts.d.ts +5 -0
  88. package/lib/slot-fill/consts.d.ts.map +1 -0
  89. package/lib/slot-fill/consts.js +1 -0
  90. package/lib/slot-fill/consts.js.map +1 -0
  91. package/lib/slot-fill/index.d.ts +4 -0
  92. package/lib/slot-fill/index.d.ts.map +1 -0
  93. package/lib/templates/assets/images/add-link-frontend.png +0 -0
  94. package/lib/templates/assets/images/add-package-backend.png +0 -0
  95. package/lib/templates/assets/images/add-to-backend-module.png +0 -0
  96. package/lib/templates/assets/images/add-upload-client-frontend.png +0 -0
  97. package/lib/templates/assets/images/additional-parameters.png +0 -0
  98. package/lib/templates/assets/images/aeh-implementation.png +0 -0
  99. package/lib/templates/assets/images/aeh-usage.png +0 -0
  100. package/lib/templates/assets/images/apollo-client/recommendation_cache_mgmt.png +0 -0
  101. package/lib/templates/assets/images/app-deploy-new-version/jenkins1.PNG +0 -0
  102. package/lib/templates/assets/images/app-deploy-new-version/jenkins2.PNG +0 -0
  103. package/lib/templates/assets/images/auth-wrapper-code.png +0 -0
  104. package/lib/templates/assets/images/cdebase.png +0 -0
  105. package/lib/templates/assets/images/cdm-locales-directory.png +0 -0
  106. package/lib/templates/assets/images/client-settings.png +0 -0
  107. package/lib/templates/assets/images/codegen_file_update.png +0 -0
  108. package/lib/templates/assets/images/configuration.png +0 -0
  109. package/lib/templates/assets/images/copy-plugin.png +0 -0
  110. package/lib/templates/assets/images/docusaurus.png +0 -0
  111. package/lib/templates/assets/images/error-link.png +0 -0
  112. package/lib/templates/assets/images/error-sample.png +0 -0
  113. package/lib/templates/assets/images/extension copy.png +0 -0
  114. package/lib/templates/assets/images/extension.png +0 -0
  115. package/lib/templates/assets/images/graphql/graphql-folder-backend.png +0 -0
  116. package/lib/templates/assets/images/graphql/graphql-folder-with-gql.png +0 -0
  117. package/lib/templates/assets/images/i18n-config.png +0 -0
  118. package/lib/templates/assets/images/image.png +0 -0
  119. package/lib/templates/assets/images/logo.svg +10 -0
  120. package/lib/templates/assets/images/logo1.svg +1 -0
  121. package/lib/templates/assets/images/modify-upload-false-server.png +0 -0
  122. package/lib/templates/assets/images/navigation-auth-enabled.png +0 -0
  123. package/lib/templates/assets/images/org-dashboard-navigation.png +0 -0
  124. package/lib/templates/assets/images/org-navigation.png +0 -0
  125. package/lib/templates/assets/images/preferences_graphql_type.png +0 -0
  126. package/lib/templates/assets/images/provider.png +0 -0
  127. package/lib/templates/assets/images/route-config.png +0 -0
  128. package/lib/templates/assets/images/service-accounts.png +0 -0
  129. package/lib/templates/assets/images/source-code/source-code-environments.png +0 -0
  130. package/lib/templates/assets/images/source-code/source-code-organization.png +0 -0
  131. package/lib/templates/assets/images/spin-clone-develop-deployment/jenkins-changes.png +0 -0
  132. package/lib/templates/assets/images/spin-clone-develop-deployment/lerna-changes.png +0 -0
  133. package/lib/templates/assets/images/spin-clone-develop-deployment/root-package-json-changes.png +0 -0
  134. package/lib/templates/assets/images/spin-clone-develop-deployment/values-dev-changes.png +0 -0
  135. package/lib/templates/assets/images/sso-mappers.png +0 -0
  136. package/lib/templates/assets/images/sso-picture-mapper.png +0 -0
  137. package/lib/templates/assets/images/sso-settings.png +0 -0
  138. package/lib/templates/assets/images/timesheet_apollo_cache.png +0 -0
  139. package/lib/templates/assets/images/timesheet_query.png +0 -0
  140. package/lib/templates/assets/images/tutorial/docsVersionDropdown.png +0 -0
  141. package/lib/templates/assets/images/tutorial/localeDropdown.png +0 -0
  142. package/lib/templates/assets/images/unauthenticated.png +0 -0
  143. package/lib/templates/assets/images/undraw_docusaurus_mountain.svg +170 -0
  144. package/lib/templates/assets/images/undraw_docusaurus_react.svg +169 -0
  145. package/lib/templates/assets/images/undraw_docusaurus_tree.svg +1 -0
  146. package/lib/templates/assets/images/vite-plugin-config.png +0 -0
  147. package/lib/templates/content/docs/Generators/Project/generate-fullproject.md +12 -0
  148. package/lib/templates/content/docs/LLM/Logger.llm.md +194 -0
  149. package/lib/templates/content/docs/LLM/backend-proxies-services-llm.md +2687 -0
  150. package/lib/templates/content/docs/LLM/backend-service-llm.md +3384 -0
  151. package/lib/templates/content/docs/LLM/db_migration_llm.md +954 -0
  152. package/lib/templates/content/docs/LLM/frontend/REMIX-15.3-upgrade-llm.md +1245 -0
  153. package/lib/templates/content/docs/LLM/inngest/INNGEST_FUNCTION_DEVELOPMENT_GUIDE_LLM.md +1241 -0
  154. package/lib/templates/content/docs/LLM/inngest/INNGEST_NAMESPACE_LLM.md +384 -0
  155. package/lib/templates/content/docs/LLM/llm_workflow_namespace.md +384 -0
  156. package/lib/templates/content/docs/LLM/organization-components-form-llm.md +1395 -0
  157. package/lib/templates/content/docs/LLM/page-component-llm.md +173 -0
  158. package/lib/templates/content/docs/LLM/preferences-settings-llm.md +2781 -0
  159. package/lib/templates/content/docs/LLM/tailwind-css-llm.md +502 -0
  160. package/lib/templates/content/docs/UI/SchemaBasedUI.md +334 -0
  161. package/lib/templates/content/docs/UI/SlotFillComponent.md +334 -0
  162. package/lib/templates/content/docs/adminide-modules/account/auth0-login.md +31 -0
  163. package/lib/templates/content/docs/adminide-modules/account/index.md +14 -0
  164. package/lib/templates/content/docs/adminide-modules/account/keycloak-remix-setup.md +86 -0
  165. package/lib/templates/content/docs/adminide-modules/account/remix-auth-setup.md +79 -0
  166. package/lib/templates/content/docs/adminide-modules/account/various-auth-qatest.md +157 -0
  167. package/lib/templates/content/docs/adminide-modules/api-builders/graphql.md +906 -0
  168. package/lib/templates/content/docs/adminide-modules/billing/payments/index.md +14 -0
  169. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/index.md +14 -0
  170. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/settingup-stripe-locally.md +25 -0
  171. package/lib/templates/content/docs/adminide-modules/billing/tier-config.md +293 -0
  172. package/lib/templates/content/docs/adminide-modules/connectors/Connector.md +207 -0
  173. package/lib/templates/content/docs/adminide-modules/file-upload/index.md +16 -0
  174. package/lib/templates/content/docs/adminide-modules/file-upload/setup.md +435 -0
  175. package/lib/templates/content/docs/adminide-modules/file-upload/upload-file-using-signed-url.md +161 -0
  176. package/lib/templates/content/docs/adminide-modules/preferences/AddAdditionalPermissions.md +151 -0
  177. package/lib/templates/content/docs/adminide-modules/preferences/Configuration.md +241 -0
  178. package/lib/templates/content/docs/adminide-modules/preferences/Policy-Configuration.md +61 -0
  179. package/lib/templates/content/docs/adminide-modules/preferences/UI-components/ResourceSettingsLoader.md +319 -0
  180. package/lib/templates/content/docs/adminide-modules/preferences/contribute_scope_target.md +280 -0
  181. package/lib/templates/content/docs/adminide-modules/preferences/generate-urii.md +94 -0
  182. package/lib/templates/content/docs/adminide-modules/preferences/index.md +28 -0
  183. package/lib/templates/content/docs/adminide-modules/preferences/machine-configuration.md +157 -0
  184. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/generateCdecodeUri.md +1289 -0
  185. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/migratingFromUseSettings.md +215 -0
  186. package/lib/templates/content/docs/adminide-modules/preferences/permissions/Roles-Permissions.md +72 -0
  187. package/lib/templates/content/docs/adminide-modules/preferences/permissions/settingUserPermissions.md +139 -0
  188. package/lib/templates/content/docs/adminide-modules/preferences/preference-dependency.md +138 -0
  189. package/lib/templates/content/docs/adminide-modules/preferences/route-based-configuration.md +41 -0
  190. package/lib/templates/content/docs/adminide-modules/preferences/schema-configuration.md +71 -0
  191. package/lib/templates/content/docs/adminide-modules/preferences/supported.md +24 -0
  192. package/lib/templates/content/docs/adminide-modules/preferences/useSettingsLoader.md +248 -0
  193. package/lib/templates/content/docs/adminide-modules/project-tools/auth-providers.md +1317 -0
  194. package/lib/templates/content/docs/adminide-modules/project-tools/keycloak-guide.md +543 -0
  195. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-based-authentication.md +846 -0
  196. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-management.md +708 -0
  197. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenants.md +1117 -0
  198. package/lib/templates/content/docs/chrome-extension/index.md +14 -0
  199. package/lib/templates/content/docs/chrome-extension/setup.md +30 -0
  200. package/lib/templates/content/docs/contributing/adding-package.md +23 -0
  201. package/lib/templates/content/docs/contributing/adding_new_modules.md +99 -0
  202. package/lib/templates/content/docs/contributing/architecture-updates.md +19 -0
  203. package/lib/templates/content/docs/contributing/avoid-using-promises-ui.md +116 -0
  204. package/lib/templates/content/docs/contributing/coding-guidelines.md +111 -0
  205. package/lib/templates/content/docs/contributing/do-and-dont.md +42 -0
  206. package/lib/templates/content/docs/contributing/faq.md +22 -0
  207. package/lib/templates/content/docs/contributing/folder-setup/browser.md +12 -0
  208. package/lib/templates/content/docs/contributing/folder-setup/config.md +12 -0
  209. package/lib/templates/content/docs/contributing/folder-setup/containers-server.md +12 -0
  210. package/lib/templates/content/docs/contributing/folder-setup/core.md +12 -0
  211. package/lib/templates/content/docs/contributing/folder-setup/graphql.md +12 -0
  212. package/lib/templates/content/docs/contributing/folder-setup/index.md +30 -0
  213. package/lib/templates/content/docs/contributing/folder-setup/module.md +12 -0
  214. package/lib/templates/content/docs/contributing/folder-setup/server.md +12 -0
  215. package/lib/templates/content/docs/contributing/folder-setup/services.md +12 -0
  216. package/lib/templates/content/docs/contributing/folder-setup/store.md +12 -0
  217. package/lib/templates/content/docs/contributing/frontend-coding.md +30 -0
  218. package/lib/templates/content/docs/contributing/git-subtree-sharing.md +73 -0
  219. package/lib/templates/content/docs/contributing/graphql-subscriptions.md +69 -0
  220. package/lib/templates/content/docs/contributing/how-to-contribute.md +30 -0
  221. package/lib/templates/content/docs/contributing/how_to_check_pure_esm.md +29 -0
  222. package/lib/templates/content/docs/contributing/index.md +60 -0
  223. package/lib/templates/content/docs/contributing/installation-issues.md +23 -0
  224. package/lib/templates/content/docs/contributing/keyboard-shortcut.md +131 -0
  225. package/lib/templates/content/docs/contributing/language/locale-support.md +12 -0
  226. package/lib/templates/content/docs/contributing/lerna-build-tools.md +516 -0
  227. package/lib/templates/content/docs/contributing/lerna-yarn-workspaces.md +95 -0
  228. package/lib/templates/content/docs/contributing/lint-and-formatter.md +20 -0
  229. package/lib/templates/content/docs/contributing/mobile-setup.md +16 -0
  230. package/lib/templates/content/docs/contributing/project-setup.md +233 -0
  231. package/lib/templates/content/docs/contributing/react/index.md +14 -0
  232. package/lib/templates/content/docs/contributing/react/lazy-component.md +70 -0
  233. package/lib/templates/content/docs/contributing/run-various-options.md +124 -0
  234. package/lib/templates/content/docs/contributing/schema-first-graphql-types.md +37 -0
  235. package/lib/templates/content/docs/contributing/source-code-organization.md +57 -0
  236. package/lib/templates/content/docs/contributing/staging-docker.md +88 -0
  237. package/lib/templates/content/docs/contributing/third-party/apollo-client-v3-tutorials.md +28 -0
  238. package/lib/templates/content/docs/contributing/third-party/index.md +18 -0
  239. package/lib/templates/content/docs/contributing/typescript-contribution.md +16 -0
  240. package/lib/templates/content/docs/devops/app-deploy-new-version.md +30 -0
  241. package/lib/templates/content/docs/devops/index.md +14 -0
  242. package/lib/templates/content/docs/devops/mobile-jenkins-build.md +40 -0
  243. package/lib/templates/content/docs/devops/versioning-the-project.md +128 -0
  244. package/lib/templates/content/docs/error-handler/application-error-handler.md +40 -0
  245. package/lib/templates/content/docs/error-handler/error-handling.md +26 -0
  246. package/lib/templates/content/docs/error-handler/index.md +16 -0
  247. package/lib/templates/content/docs/error-handler/logging-errors.md +14 -0
  248. package/lib/templates/content/docs/feature-api/copy-operation.md +427 -0
  249. package/lib/templates/content/docs/feature-api/feature-browser/assets.md +46 -0
  250. package/lib/templates/content/docs/feature-api/feature-browser/auth-permissions.md +12 -0
  251. package/lib/templates/content/docs/feature-api/feature-browser/feature.md +131 -0
  252. package/lib/templates/content/docs/feature-api/feature-browser/index.md +22 -0
  253. package/lib/templates/content/docs/feature-api/feature-browser/routes-menu.md +110 -0
  254. package/lib/templates/content/docs/feature-api/feature-browser/routing-convention.md +124 -0
  255. package/lib/templates/content/docs/feature-api/feature-browser/routing.md +338 -0
  256. package/lib/templates/content/docs/feature-api/feature-mobile/auth-permissions.md +20 -0
  257. package/lib/templates/content/docs/feature-api/feature-mobile/feature.md +130 -0
  258. package/lib/templates/content/docs/feature-api/feature-mobile/index.md +18 -0
  259. package/lib/templates/content/docs/feature-api/feature-mobile/navigation.md +187 -0
  260. package/lib/templates/content/docs/feature-api/feature-server/Scheduling.md +44 -0
  261. package/lib/templates/content/docs/feature-api/feature-server/dataloader.md +320 -0
  262. package/lib/templates/content/docs/feature-api/feature-server/dependency-injection.md +81 -0
  263. package/lib/templates/content/docs/feature-api/feature-server/feature.md +65 -0
  264. package/lib/templates/content/docs/feature-api/feature-server/generic-dataloader.md +135 -0
  265. package/lib/templates/content/docs/feature-api/feature-server/index.md +40 -0
  266. package/lib/templates/content/docs/feature-api/feature-server/migration.md +127 -0
  267. package/lib/templates/content/docs/feature-api/feature-server/mongo-model.md +72 -0
  268. package/lib/templates/content/docs/feature-api/feature-server/permissions.md +12 -0
  269. package/lib/templates/content/docs/feature-api/feature-server/policies.md +57 -0
  270. package/lib/templates/content/docs/feature-api/feature-server/preferences.md +57 -0
  271. package/lib/templates/content/docs/feature-api/feature-server/repositories.md +114 -0
  272. package/lib/templates/content/docs/feature-api/feature-server/resolvers.md +126 -0
  273. package/lib/templates/content/docs/feature-api/feature-server/rules.md +132 -0
  274. package/lib/templates/content/docs/feature-api/feature-server/schema.md +12 -0
  275. package/lib/templates/content/docs/feature-api/feature-server/services.md +102 -0
  276. package/lib/templates/content/docs/feature-api/feature-server/setup-resource-crud.md +359 -0
  277. package/lib/templates/content/docs/feature-api/index.md +18 -0
  278. package/lib/templates/content/docs/graphql/apolloClient-mutation.md +94 -0
  279. package/lib/templates/content/docs/graphql/index.md +14 -0
  280. package/lib/templates/content/docs/graphql/scalars.md +15 -0
  281. package/lib/templates/content/docs/help/index.md +14 -0
  282. package/lib/templates/content/docs/help/intro.md +16 -0
  283. package/lib/templates/content/docs/intl/ant-design-menu-translation.md +74 -0
  284. package/lib/templates/content/docs/intl/intl-namespace.md +129 -0
  285. package/lib/templates/content/docs/intl/vite-plugin-intl.md +87 -0
  286. package/lib/templates/content/docs/intl/webpack-plugin-intl.md +12 -0
  287. package/lib/templates/content/docs/intro.md +18 -0
  288. package/lib/templates/content/docs/knowledge/basic-fullstack.md +238 -0
  289. package/lib/templates/content/docs/mailing/index.md +14 -0
  290. package/lib/templates/content/docs/mailing/mailing-template.md +148 -0
  291. package/lib/templates/content/docs/mobile/App-navigation-generator.md +410 -0
  292. package/lib/templates/content/docs/mobile/MobileTestCases.md +264 -0
  293. package/lib/templates/content/docs/mobile/eas-profile-build.md +107 -0
  294. package/lib/templates/content/docs/mobile/expo-push-notification-setup.md +216 -0
  295. package/lib/templates/content/docs/mobile/index.md +14 -0
  296. package/lib/templates/content/docs/mobile/routes.md +83 -0
  297. package/lib/templates/content/docs/organization/adding-account-context.md +116 -0
  298. package/lib/templates/content/docs/organization/adding-org-mobile-navigation.md +22 -0
  299. package/lib/templates/content/docs/organization/adding-org-web-navigation.md +12 -0
  300. package/lib/templates/content/docs/organization/index.md +20 -0
  301. package/lib/templates/content/docs/organization/initialization.md +20 -0
  302. package/lib/templates/content/docs/organization/organization-resource-vs-resource.md +112 -0
  303. package/lib/templates/content/docs/remix/configuration/component-structure-best-practices.md +152 -0
  304. package/lib/templates/content/docs/remix/configuration/configurations.md +218 -0
  305. package/lib/templates/content/docs/remix/configuration/css-import-and-stylesheets.md +142 -0
  306. package/lib/templates/content/docs/remix/configuration/dont-subcomponent-network.md +166 -0
  307. package/lib/templates/content/docs/remix/configuration/generated-data-loaders.md +122 -0
  308. package/lib/templates/content/docs/remix/configuration/generated-resource-loaders.md +257 -0
  309. package/lib/templates/content/docs/remix/configuration/query-params-generator.md +216 -0
  310. package/lib/templates/content/docs/remix/configuration/routes-extra-icons.md +103 -0
  311. package/lib/templates/content/docs/remix/configuration/routes-json-advanced.md +86 -0
  312. package/lib/templates/content/docs/remix/configuration/routes-json-auth.md +113 -0
  313. package/lib/templates/content/docs/remix/configuration/routes-json-best-practices.md +55 -0
  314. package/lib/templates/content/docs/remix/configuration/routes-json-fields.md +79 -0
  315. package/lib/templates/content/docs/remix/configuration/routes-json-graphql.md +79 -0
  316. package/lib/templates/content/docs/remix/configuration/routes-json-index.md +112 -0
  317. package/lib/templates/content/docs/remix/configuration/routes-json-loaders.md +165 -0
  318. package/lib/templates/content/docs/remix/configuration/routes-json-middleware.md +196 -0
  319. package/lib/templates/content/docs/remix/configuration/routes-json-overview.md +53 -0
  320. package/lib/templates/content/docs/remix/data-loaders.md +43 -0
  321. package/lib/templates/content/docs/remix/devtools/remix-devtools.md +58 -0
  322. package/lib/templates/content/docs/remix/examples/changes-using-servercode.md +79 -0
  323. package/lib/templates/content/docs/remix/extra-icons.md +62 -0
  324. package/lib/templates/content/docs/remix/extra-links.md +65 -0
  325. package/lib/templates/content/docs/remix/generated-data-loaders.md +114 -0
  326. package/lib/templates/content/docs/remix/queryParamsGenerator.md +89 -0
  327. package/lib/templates/content/docs/remix/resources.md +16 -0
  328. package/lib/templates/content/docs/remix/styles.md +132 -0
  329. package/lib/templates/content/docs/remix/wiki.md +12 -0
  330. package/lib/templates/content/docs/security/auth-wrapper/auth-wrapper.md +24 -0
  331. package/lib/templates/content/docs/security/index.md +18 -0
  332. package/lib/templates/content/docs/security/secure-button-mobilenative.md +88 -0
  333. package/lib/templates/content/docs/security/secure-button-web.md +89 -0
  334. package/lib/templates/content/docs/server-side/account-customization.md +82 -0
  335. package/lib/templates/content/docs/server-side/apollo/caching.md +164 -0
  336. package/lib/templates/content/docs/server-side/backend-architecture/FINAL-DECISION.md +209 -0
  337. package/lib/templates/content/docs/server-side/backend-architecture/TRUE-FINAL-ARCHITECTURE.md +603 -0
  338. package/lib/templates/content/docs/server-side/backend-architecture/index1.md +0 -0
  339. package/lib/templates/content/docs/server-side/backend-coding.md +839 -0
  340. package/lib/templates/content/docs/server-side/e2b/manageing-template.md +197 -0
  341. package/lib/templates/content/docs/server-side/index.md +14 -0
  342. package/lib/templates/content/docs/server-side/inngest-functions-module.md +309 -0
  343. package/lib/templates/content/docs/server-side/listen-stripe-events.md +43 -0
  344. package/lib/templates/content/docs/server-side/slug-service.md +323 -0
  345. package/lib/templates/content/docs/tests/index.md +18 -0
  346. package/lib/templates/content/docs/tests/jest-test-debug-vscode.md +40 -0
  347. package/lib/templates/content/docs/tests/known-errors.md +116 -0
  348. package/lib/templates/content/docs/tests/service-test-template.md +118 -0
  349. package/lib/templates/content/docs/tests/test-setup.md +93 -0
  350. package/lib/templates/content/docs/xstate.md +23 -0
  351. package/lib/types.d.ts +37 -0
  352. package/lib/types.d.ts.map +1 -0
  353. package/lib/utils/docsNavigation.d.ts +9 -0
  354. package/lib/utils/docsNavigation.d.ts.map +1 -0
  355. package/lib/utils/docsNavigation.js +37 -0
  356. package/lib/utils/docsNavigation.js.map +1 -0
  357. package/lib/utils/helpCenterUtils.d.ts +26 -0
  358. package/lib/utils/helpCenterUtils.d.ts.map +1 -0
  359. package/lib/utils/index.d.ts +3 -0
  360. package/lib/utils/index.d.ts.map +1 -0
  361. package/lib/utils/index.js +3 -0
  362. package/lib/utils/index.js.map +1 -0
  363. package/lib/utils/markdownLoader.d.ts +36 -0
  364. package/lib/utils/markdownLoader.d.ts.map +1 -0
  365. package/lib/utils/markdownLoader.js +2242 -0
  366. package/lib/utils/markdownLoader.js.map +1 -0
  367. package/package.json +71 -0
@@ -0,0 +1,410 @@
1
+ ---
2
+ meta:
3
+ title: App Navigation Generator
4
+ description: App Navigation Generator
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: App Navigation Generator...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # App Navigation Generator
13
+
14
+ To generate app navigations, you need to follow some steps given below.
15
+
16
+ ### Requirements
17
+
18
+ - Rollup (**rollup.config.mjs**).
19
+ - Admin Layout Pacakge (**@admin-layout/gluestack-ui-mobile**).
20
+
21
+ ### For LifeCycle Component and Interaction Manager functionality,use key in compute.ts as below
22
+
23
+ - <span style={{color:"#1877F2"}}>withLifeCycle</span> <br />
24
+ (Use this when only lifecylc component is needed as wrapper for component)
25
+ - <span style={{color:"#1877F2"}}>withInteraction</span> <br />
26
+ (Use this when only interaction manager functionality is needed , applied only on android)
27
+ - <span style={{color:"#1877F2"}}>withLifeCycleInteraction</span> <br />
28
+ (Use this when both lifecylc component and interaction manager functionality is required)
29
+
30
+ _Note: Default duration is 200 ms_
31
+
32
+ ```js
33
+ {
34
+ withLifeCycle: true;
35
+ }
36
+ {
37
+ withInteraction: true;
38
+ }
39
+ {
40
+ withLifeCycleInteraction: true;
41
+ }
42
+ ```
43
+
44
+ or with **_custom duration_** (_Duration is not required for withLifeCycle_)
45
+
46
+ ```js
47
+ {
48
+ withInteraction: {
49
+ duration: 100;
50
+ }
51
+ }
52
+ {
53
+ withLifeCycleInteraction: {
54
+ duration: 100;
55
+ }
56
+ }
57
+ ```
58
+
59
+ ### For Icons we use @expo/vector-icons,use icon with name and props in compute.ts as below ,used as Drawer icons or BottomTab icons
60
+
61
+ ```tsx
62
+ import {MaterialCommunityIcons} from '@expo/vector-icons';
63
+ const MyComponent = () => {
64
+ return <MaterialCommunityIcons name="home" size={24} color="black" />;
65
+ }
66
+ //Similar
67
+ icon: {
68
+ // Icon Type from @expo/vector-icons directory
69
+ name: 'MaterialCommunityIcons',
70
+ // props of icon
71
+ props: {
72
+ name: 'home',
73
+ size: 24,
74
+ color:'#eee',
75
+ },
76
+ }
77
+ ```
78
+
79
+ ### importPaths in compute.ts file is used for converting import to absolute path as below and it is handled by [@common-stack/rollup-vite-utils](https://github.com/CDEBase/common-stack/blob/b28eb57618ffd06096a2202498f2ad3b4aa5e40f/packages/rollup-vite-utils/src/rollup/rollupPluginModifyLibFiles.ts#L55)
80
+
81
+ ```tsx
82
+ {
83
+ importPaths: {
84
+ login: () => import('./screens/Login'),
85
+ },
86
+ // converted to
87
+ "importPaths": {
88
+ "login": '@yourpkg/pkgname/lib/screens/Login.js',
89
+ },
90
+ }
91
+ ```
92
+
93
+ ### unauthenticatedComponent and customHeader are the only keys in compute.ts file is using importsPath as below and it is handled by [@admin-layout/gluestack-ui-mobile](https://github.com/CDEBase/admin-layout/blob/586cd601e94674129d94832e485aa25ae53b894e/packages/gluestack-ui/mobile/src/utils/generateMobileNavigations.ts#L169)
94
+
95
+ ```ts
96
+ unauthenticatedComponent:'$.importPaths.homeGuestComponent',
97
+ customHeader:{
98
+ component:'$.importPaths.navigationHeader',
99
+ },
100
+ ```
101
+
102
+ ### Step 1:
103
+
104
+ - Create **compute.ts** file inside module package/src folder
105
+ - Update module package tsconfig file to **target ES6 module**
106
+ - Create **rollup.config.mjs** in module **package root** directory
107
+ - Update rollup.config.mjs **input to src/index.ts**( if index.jsx file then replace it to index.ts) and extend module package rollup config with base rollup.config.base.mjs **createRollupConfig** function
108
+ - Update module package **package.json** add **"type": "module"** and replace scripts **"build:lib":"tsc"** with **"build:lib": "rollup -c rollup.config.mjs"**
109
+
110
+ **[mypackage/src/compute.ts](https://github.com/CDEBase/adminIde-stack/blob/develop/packages-modules/account-api/mobile/src/compute.ts)**
111
+
112
+ ```ts
113
+ /* eslint-disable import/no-extraneous-dependencies */
114
+ import { getFilteredRoutes } from '@common-stack/client-react/lib/utils/filteredRoutes.js';
115
+ import { IRouteData } from '@common-stack/client-react/lib/interfaces/router.js';
116
+ import { IPageStore } from '@adminide-stack/core/lib/interfaces/page-store.js';
117
+
118
+ export const myPageStore: IPageStore[] = [
119
+ {
120
+ key: 'home',
121
+ path: '/:orgName/l/home',
122
+ name: 'Home',
123
+ exact: false,
124
+ menu_position: 'bottom',
125
+ auth: true,
126
+ component: () => import('./screens/Home'),
127
+ withLifeCycleInteraction: {
128
+ duration: 100,
129
+ },
130
+ icon: {
131
+ name: 'MaterialCommunityIcons',
132
+ props: {
133
+ name: 'home-variant-outline',
134
+ size: 24,
135
+ color: '#eee',
136
+ },
137
+ },
138
+ importPaths: {
139
+ navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),
140
+ // homeGuestComponent: () => import('./screens/Login'),
141
+ },
142
+ // unauthenticatedComponent:'$.importPaths.homeGuestComponent',
143
+ customHeader: {
144
+ name: 'NavigationHeader',
145
+ component: '$.importPaths.navigationHeader',
146
+ props: {
147
+ showTitle: false,
148
+ showOrganizationTitle: true,
149
+ showToggle: true,
150
+ showFilter: true,
151
+ isSearchBack: false,
152
+ },
153
+ },
154
+ props: {
155
+ initialParams: { orgName: null },
156
+ options: {
157
+ headerShown: true,
158
+ title: 'Home',
159
+ headerTitle: 'Home',
160
+ priority: 1,
161
+ tabBarActiveTintColor: '#000',
162
+ tabBarInactiveTintColor: 'black',
163
+ tabBarLabel: 'Home',
164
+ },
165
+ },
166
+ },
167
+ ];
168
+ ```
169
+
170
+ **[mypackage/rollup.config.mjs](https://github.com/CDEBase/adminIde-stack/blob/develop/packages-modules/account-api/mobile/rollup.config.mjs)**
171
+
172
+ ```js
173
+ import { createRollupConfig } from '../../../rollup.config.base.mjs';
174
+ import json from '@rollup/plugin-json';
175
+ import resolve from '@rollup/plugin-node-resolve';
176
+ import { terser } from 'rollup-plugin-terser';
177
+
178
+ // Define any additional plugins specific to this bundle
179
+ const additionalPlugins = [
180
+ json(),
181
+ resolve(), // resolves node_modules
182
+ // terser(), // minifies the output
183
+ ];
184
+
185
+ // Use the createRollupConfig function to merge the base and specific configurations
186
+ export default [
187
+ createRollupConfig({
188
+ input: ['src/index.ts'],
189
+ output: [
190
+ {
191
+ dir: 'lib',
192
+ format: 'es',
193
+ name: 'Accounts',
194
+ compact: true,
195
+ exports: 'named',
196
+ sourcemap: true,
197
+ preserveModules: true,
198
+ chunkFileNames: '[name]-[hash].[format].js',
199
+ globals: { react: 'React' },
200
+ },
201
+ ],
202
+ plugins: [
203
+ // Spread in additional plugins specific to this config
204
+ ...additionalPlugins,
205
+ ],
206
+ // Enable caching for faster rebuilds
207
+ cache: true,
208
+ }),
209
+ ];
210
+ ```
211
+
212
+ **[mypackage/package.json](https://github.com/CDEBase/adminIde-stack/blob/4c5924c62006a4d265e48b5d6164b5069b3b2974/packages-modules/account-api/mobile/package.json#L7)**
213
+
214
+ ```json
215
+ {
216
+ ...
217
+ "type": "module",
218
+ "scripts": {
219
+ ...
220
+ "build:lib": "rollup -c rollup.config.mjs",
221
+ ...
222
+ }
223
+ }
224
+ ```
225
+
226
+ ### Step 2:
227
+
228
+ - Create **config.json** file inside portable-devices/mobile root folder if not exists and add/update mobileConfig and modules key to update modules and app generation required mobile config.
229
+ - Create **generate-navigations.mjs or yourfilename.mjs** inside portable-devices/mobile root folder.
230
+ - Update portable-devices/mobile **package.json** scripts and add script to generate development and production app navigation files with above mjs files.
231
+ - Update **portable-devices/mobile/src/modules/modules.tsx** file , import **_modules and useGetModules hook_** from autogenerated **src/app/modules.ts** file and app navigation from autogenerated **src/app/navigation.tsx** file to use with src/modules/modules.tsx file for autogenerated navigation and import and add Navigation from src/modules/modules.tsx in src/App.tsx file.
232
+
233
+ **[portable-devices/mobile/config.json](https://github.com/CDEBase/admin-layout/blob/develop/portable-devices/mobile/config.json)**
234
+
235
+ ```json
236
+ {
237
+ "commonPaths": {},
238
+ "copyOperations": [],
239
+ "mobileConfig": {
240
+ "initialRouteName": "",
241
+ "unauthenticatedComponentPath": "",
242
+ "customTabBarPath": "",
243
+ "customDrawerPath": "",
244
+ "customHeaderPath": ""
245
+ },
246
+ "modules": ["@somepkg/yourpkg1", "@admin-layout/gluestack-ui-mobile"],
247
+ "paths": {}
248
+ }
249
+ ```
250
+
251
+ _Note: here mobileConfig initialRouteName is used when we want to change the app initial navigation redirect route,unauthenticatedComponentPath is the global unauthenticated component absolute path like **'@yourpkg/somemobilepkg/lib/screens/Login.js'** , same for other customTabBarPath,customDrawerPath or customHeaderPath._
252
+
253
+ **[portable-devices/mobile/generate-navigations.mjs](https://github.com/CDEBase/admin-layout/blob/develop/portable-devices/mobile/generate-navigations.mjs)**
254
+
255
+ ```js
256
+ import path from 'path';
257
+ import { fileURLToPath } from 'url';
258
+ import {
259
+ GenerateMobileNavigations,
260
+ readJsonFile,
261
+ } from '@admin-layout/gluestack-ui-mobile/lib/utils/generateMobileNavigations.js';
262
+ if (process.env.NODE_ENV === 'development') {
263
+ import('dotenv').then((dotenv) => {
264
+ dotenv.config({ path: `${process.cwd()}/${process.env.ENV_FILE}` });
265
+ });
266
+ }
267
+ const __filename = fileURLToPath(import.meta.url);
268
+ const __dirname = path.dirname(__filename);
269
+ // App navigations setting config file path
270
+ const configFilePath = path.join(__dirname, 'config.json');
271
+ // Default app navigations directory path
272
+ const appDirPath = path.join(__dirname, './src/app');
273
+
274
+ const generateNavigations = async () => {
275
+ const config = await readJsonFile(configFilePath);
276
+ //App navigations generator class only appDirPath and modules are required
277
+ const app = new GenerateMobileNavigations({
278
+ appDirPath: appDirPath,
279
+ modules: config.modules,
280
+ initialRouteName: config.mobileConfig.initialRouteName, // (Optional)
281
+ unauthenticatedComponentPath: config.mobileConfig.unauthenticatedComponentPath, // (Optional)
282
+ customTabBarPath: config.mobileConfig.customTabBarPath, // (Optional)
283
+ customDrawerPath: config.mobileConfig.customDrawerPath, // (Optional)
284
+ customHeaderPath: config.mobileConfig.customHeaderPath, // (Optional)
285
+ });
286
+ try {
287
+ await app.generateAppNavigations();
288
+ console.log('app navigation generated');
289
+ } catch (error) {
290
+ console.error('Error generating app navigation:', error);
291
+ }
292
+ };
293
+
294
+ generateNavigations();
295
+ ```
296
+
297
+ _Note: generate-navigations.mjs will generate app navigations inside src/app directory_
298
+
299
+ **[portable-devices/mobile/package.json](https://github.com/CDEBase/admin-layout/blob/586cd601e94674129d94832e485aa25ae53b894e/portable-devices/mobile/package.json#L43)**
300
+
301
+ ```json
302
+ {
303
+ ...
304
+ "scripts": {
305
+ ...
306
+ "eas-build-post-install": "lerna exec --scope='{@messenger-box/core,...}' yarn build && yarn generate-app-navigations-prod",
307
+ "watch": "yarn generate-app-navigations && cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env expo start --clear --localhost",
308
+ "generate-app-navigations": "yarn cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env node generate-navigations.mjs",
309
+ "generate-app-navigations-prod": "node generate-navigations.mjs",
310
+ ...
311
+ }
312
+ }
313
+ ```
314
+
315
+ **[portable-devices/mobile/src/modules/modules.tsx](https://github.com/CDEBase/admin-layout/blob/develop/portable-devices/mobile/src/modules/modules.tsx)**
316
+
317
+ ```tsx {11,12,18,22,39}
318
+ import * as React from 'react';
319
+ import { enableScreens } from 'react-native-screens';
320
+ import {
321
+ ErrorBoundary,
322
+ NavigationContainerComponent,
323
+ ApplicationErrorHandler,
324
+ Box,
325
+ Spinner,
326
+ } from '@admin-layout/gluestack-ui-mobile';
327
+ import { InversifyProvider, PluginArea } from '@common-stack/client-react';
328
+ import appModules, { useGetModules } from '../app/modules';
329
+ import AppNavigations from '../app/navigation';
330
+
331
+ enableScreens(true);
332
+
333
+ export const MainRoute = ({ container }: any) => {
334
+ const [mainFeatures, setMainFeatures] = React.useState<any>(null);
335
+ const { appRouteConfig } = useGetModules();
336
+
337
+ React.useEffect(() => {
338
+ if (appRouteConfig) {
339
+ appModules.routeConfig = appRouteConfig;
340
+ setMainFeatures(appModules);
341
+ }
342
+ }, [appRouteConfig]);
343
+
344
+ const loadingComponent = () => <Box flex={1}>{<Spinner />}</Box>;
345
+
346
+ if (!mainFeatures || mainFeatures?.routeConfig?.length == 0) return loadingComponent();
347
+
348
+ const plugins = mainFeatures?.getComponentFillPlugins();
349
+ const configuredRoutes = mainFeatures?.getConfiguredRoutes2('/');
350
+
351
+ return (
352
+ <InversifyProvider container={container} modules={mainFeatures}>
353
+ {mainFeatures?.getWrappedRoot(
354
+ <ErrorBoundary>
355
+ <NavigationContainerComponent configurableRoutes={configuredRoutes} independent={true}>
356
+ <AppNavigations />
357
+ <PluginArea />
358
+ <ApplicationErrorHandler plugins={plugins} />
359
+ </NavigationContainerComponent>
360
+ </ErrorBoundary>,
361
+ )}
362
+ </InversifyProvider>
363
+ );
364
+ };
365
+
366
+ export default appModules;
367
+ ```
368
+
369
+ **[portable-devices/mobile/src/App.tsx](https://github.com/CDEBase/admin-layout/blob/develop/portable-devices/mobile/src/App.tsx)**
370
+
371
+ ```tsx {14,28}
372
+ import 'reflect-metadata';
373
+ import React from 'react';
374
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
375
+ import { ApolloProvider } from '@apollo/client/index.js';
376
+ import { Provider } from 'react-redux';
377
+ import { GluestackUIProvider } from '@admin-layout/gluestack-ui-mobile';
378
+ import { config } from './config/gluestack-ui.config';
379
+ import { SlotFillProvider } from '@common-stack/components-pro';
380
+ import { persistStore } from 'redux-persist';
381
+ import { PersistGate } from 'redux-persist/integration/react';
382
+ import { createReduxStore, history } from './config/redux-config';
383
+ import { createClientContainer } from './config/client.service';
384
+ import { LogBox, SafeAreaView } from 'react-native';
385
+ import { MainRoute } from './modules/modules';
386
+
387
+ const { apolloClient: client, container, serviceFunc } = createClientContainer();
388
+ const { store } = createReduxStore(history, client, serviceFunc(), container);
389
+
390
+ export default function () {
391
+ let persistor = persistStore(store as any);
392
+ return (
393
+ <SlotFillProvider>
394
+ <ApolloProvider client={client}>
395
+ <Provider store={store}>
396
+ <PersistGate persistor={persistor}>
397
+ <SafeAreaView style={{ flex: 1 }}>
398
+ <GluestackUIProvider config={config} colorMode="light">
399
+ <MainRoute container={container} />
400
+ </GluestackUIProvider>
401
+ </SafeAreaView>
402
+ </PersistGate>
403
+ </Provider>
404
+ </ApolloProvider>
405
+ </SlotFillProvider>
406
+ );
407
+ }
408
+ ```
409
+
410
+ For testing or adding route config in **portable-devices/mobile** create compute.ts file inside **portable-devices/mobile/src/compute.ts** and add routeConfig as above from step 1. This will generate route config json in src/app/main_routes.json and include your routes in generated navigations.
@@ -0,0 +1,264 @@
1
+ ---
2
+ meta:
3
+ title: Mobile Test Cases
4
+ description: Mobile Test Cases
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Mobile Test Cases...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Mobile Test Cases
13
+
14
+ ### 1. Inbox Test Cases
15
+
16
+ ---
17
+
18
+ **_Example Config:_**
19
+
20
+ > **_ Channel Roles: _** _ Host/Guest_
21
+
22
+ ```
23
+ import { Inbox } from '@messenger-box/platform-mobile';
24
+ import { IRoomType } from '@messenger-box/platform-client';
25
+ const inboxConfig = {
26
+ ['//l/inbox']: {
27
+ exact: true,
28
+ name: 'Inbox',
29
+ props: {
30
+ initialParams: { channelId: null },
31
+ component:(props: any) => (
32
+ <Inbox {...props}
33
+ channelFilters={{type: IRoomType.Direct,orgName:orgName}}
34
+ channelRole={'Guest'}
35
+ supportServices={true} />
36
+ ),
37
+ },
38
+ },
39
+ }
40
+ ```
41
+
42
+ - [x] ** Inbox with channelFilters (default type direct).**
43
+
44
+ ```
45
+ <Inbox channelFilters={{type: IRoomType.Direct}} />
46
+ ```
47
+
48
+ - [x] ** Inbox with channelFilters (default type direct and orgName null).**
49
+
50
+ ```
51
+ <Inbox channelFilters={{type: IRoomType.Direct,orgName:orgName}} />
52
+ ```
53
+
54
+ - [x] ** Inbox with channelRole (default all type).**
55
+
56
+ ```
57
+ <Inbox channelFilters={{type: IRoomType.Direct}} channelRole={'Guest'} />
58
+ ```
59
+
60
+ - [x] ** Inbox with supportServices (default false).**
61
+
62
+ ```
63
+ <Inbox channelFilters={{type: IRoomType.Direct}} supportServices={true} />
64
+ ```
65
+
66
+ - **Expected Result:** The inbox should display a list of all direct channels by default.Additionally, it should support filtering the displayed channels based on specified criteria (channelFilters).When supportServices=true, it should display all fitered channels with all support service channels (By default supportServices=false).
67
+
68
+ ---
69
+
70
+ ### 2. Inbox Conversation Test Cases
71
+
72
+ ---
73
+
74
+ **_Example Config:_**
75
+
76
+ ```
77
+ import { DialogMessages } from '@messenger-box/platform-mobile';
78
+ import { IRoomType } from '@messenger-box/platform-client';
79
+ const inboxConversationConfig = {
80
+ ['//inbox/dialogmessage']: {
81
+ exact: true,
82
+ name: 'Inbox.DialogMessages',
83
+ props: {
84
+ component:(props: any) => (
85
+ <DialogMessages {...props}
86
+ channelId={props?.route?.params?.channelId}
87
+ role={'Guest'}
88
+ isShowThreadMessage={true}
89
+ />
90
+ ),
91
+ },
92
+ },
93
+ }
94
+ ```
95
+
96
+ - [x] ** Inbox Conversation with ChannelId.**
97
+
98
+ ```
99
+ <DialogMessages channelId={props?.route?.params?.channelId} />
100
+ ```
101
+
102
+ - [x] ** Inbox Service Conversation with ChannelId and postParentId.**
103
+
104
+ ```
105
+ <DialogThreadMessages
106
+ channelId={props?.route?.params?.channelId}
107
+ postParentId={props?.route?.params?.postParentId}
108
+ />
109
+ ```
110
+
111
+ - [x] ** Inbox Conversation with Role.**
112
+
113
+ ```
114
+ <DialogMessages channelId={props?.route?.params?.channelId} role={'Guest'} />
115
+ ```
116
+
117
+ - [x] ** Inbox Conversation with Thread Messages (Default true).**
118
+
119
+ ```
120
+ <DialogMessages
121
+ channelId={props?.route?.params?.channelId}
122
+ isShowThreadMessage={false} />
123
+ ```
124
+
125
+ - **Expected Result:** The inbox conversation component should display a list of all direct channel messages by default for given channelId.Additionally, it should support filtering the displayed channel messages based on specified criteria (role and isShowThreadMessage).When isShowThreadMessage=false, it should display all fitered channel messages with thread messages view disabled (By default isShowThreadMessage=true).
126
+
127
+ ---
128
+
129
+ <!-- #### Test Case 1.2: Inbox with suportService
130
+ - **Description:** Ensure that the inbox displays a list of all direct channel with service channel.
131
+ - **Steps:**
132
+ - [ ] Navigate to the navigation.ts.
133
+ - [ ] Import Inbox component from import { Inbox } from '@messenger-box/platform-mobile'.
134
+ - [ ] Pass supportServices props to inbox component .
135
+ ```
136
+ import { Inbox } from '@messenger-box/platform-mobile';
137
+
138
+ const inboxConfig = {
139
+ ['//l/inbox']: {
140
+ exact: true,
141
+ name: 'Inbox',
142
+ props: {
143
+ initialParams: { channelId: null },
144
+ component:(props: any) => (
145
+ <Inbox {...props} supportServices={true} />
146
+ ),
147
+ options: {
148
+ headerShown: true,
149
+ title: 'Direct messages',
150
+ headerTitle: 'Direct messages',
151
+ },
152
+ },
153
+ },
154
+ }
155
+
156
+ ```
157
+ - **Expected Result:** The inbox should display a list of all direct and support service channels list. -->
158
+
159
+ <!-- #### Test Case 1.2: Email Pagination
160
+ - **Description:** Verify that pagination works correctly when there are more emails than can fit on one page.
161
+ - **Steps:**
162
+ 1. Navigate to the Inbox page.
163
+ 2. Ensure there are more emails than the maximum displayed per page.
164
+ 3. Click the "Next" button to go to the next page.
165
+ 4. Verify that the next set of emails is displayed.
166
+ - **Expected Result:** Emails should be paginated correctly.
167
+ - [ ] Test Case 1.2: Email Pagination
168
+
169
+ ### 2. Email Details
170
+ #### Test Case 2.1: Viewing an Email
171
+ - **Description:** Ensure that clicking on an email opens the email in detail view.
172
+ - **Steps:**
173
+ 1. Navigate to the Inbox page.
174
+ 2. Click on an email from the list.
175
+ 3. Verify that the email detail view is displayed.
176
+ - **Expected Result:** The email's full content is displayed.
177
+ - [ ] Test Case 2.1: Viewing an Email
178
+
179
+ ### 3. Composing Emails
180
+ #### Test Case 3.1: Composing a New Email
181
+ - **Description:** Verify that the user can compose and send a new email.
182
+ - **Steps:**
183
+ 1. Click on the "Compose" button.
184
+ 2. Fill in the recipient's email address, subject, and body.
185
+ 3. Click "Send."
186
+ 4. Verify that the email is sent and appears in the Sent folder.
187
+ - **Expected Result:** The email is successfully sent and appears in the Sent folder.
188
+ - [ ] Test Case 3.1: Composing a New Email
189
+
190
+ ### 4. Replying to Emails
191
+ #### Test Case 4.1: Replying to an Email
192
+ - **Description:** Ensure that the user can reply to an email.
193
+ - **Steps:**
194
+ 1. Open an email from the Inbox.
195
+ 2. Click on the "Reply" button.
196
+ 3. Enter the reply message.
197
+ 4. Click "Send."
198
+ 5. Verify that the reply is sent and appears in the Sent folder.
199
+ - **Expected Result:** The reply is successfully sent and appears in the Sent folder.
200
+ - [ ] Test Case 4.1: Replying to an Email
201
+
202
+ ### 5. Email Management
203
+ #### Test Case 5.1: Marking an Email as Read/Unread
204
+ - **Description:** Verify that the user can mark an email as read or unread.
205
+ - **Steps:**
206
+ 1. Navigate to the Inbox.
207
+ 2. Select an email.
208
+ 3. Click on the "Mark as Read/Unread" button.
209
+ 4. Verify that the email's state changes accordingly.
210
+ - **Expected Result:** The email is marked as read or unread.
211
+ - [ ] Test Case 5.1: Marking an Email as Read/Unread
212
+
213
+ #### Test Case 5.2: Deleting an Email
214
+ - **Description:** Ensure that the user can delete an email.
215
+ - **Steps:**
216
+ 1. Navigate to the Inbox.
217
+ 2. Select an email.
218
+ 3. Click on the "Delete" button.
219
+ 4. Confirm the deletion.
220
+ 5. Verify that the email is removed from the Inbox.
221
+ - **Expected Result:** The email is successfully deleted.
222
+ - [ ] Test Case 5.2: Deleting an Email
223
+
224
+ #### Test Case 5.3: Restoring a Deleted Email
225
+ - **Description:** Verify that the user can restore a deleted email from the Trash.
226
+ - **Steps:**
227
+ 1. Navigate to the Trash folder.
228
+ 2. Select a deleted email.
229
+ 3. Click on the "Restore" button.
230
+ 4. Verify that the email is moved back to the Inbox.
231
+ - **Expected Result:** The email is restored to the Inbox.
232
+ - [ ] Test Case 5.3: Restoring a Deleted Email
233
+
234
+ #### Test Case 5.4: Permanently Deleting an Email
235
+ - **Description:** Ensure that the user can permanently delete an email from the Trash.
236
+ - **Steps:**
237
+ 1. Navigate to the Trash folder.
238
+ 2. Select a deleted email.
239
+ 3. Click on the "Permanently Delete" button.
240
+ 4. Confirm the deletion.
241
+ 5. Verify that the email is removed permanently.
242
+ - **Expected Result:** The email is permanently deleted and cannot be recovered.
243
+ - [ ] Test Case 5.4: Permanently Deleting an Email
244
+
245
+ ### 6. Searching Emails
246
+ #### Test Case 6.1: Searching for an Email by Subject
247
+ - **Description:** Verify that the search functionality works for finding emails by subject.
248
+ - **Steps:**
249
+ 1. Navigate to the Inbox.
250
+ 2. Enter a keyword in the search bar that matches the subject of an email.
251
+ 3. Click the "Search" button.
252
+ 4. Verify that the search results display the correct emails.
253
+ - **Expected Result:** Emails with the matching subject are displayed in the search results.
254
+ - [ ] Test Case 6.1: Searching for an Email by Subject
255
+
256
+ #### Test Case 6.2: Searching for an Email by Sender
257
+ - **Description:** Ensure that the search functionality works for finding emails by sender.
258
+ - **Steps:**
259
+ 1. Navigate to the Inbox.
260
+ 2. Enter the sender's name or email address in the search bar.
261
+ 3. Click the "Search" button.
262
+ 4. Verify that the search results display the correct emails.
263
+ - **Expected Result:** Emails from the specified sender are displayed in the search results.
264
+ - [ ] Test Case 6.2: Searching for an Email by Sender -->