@lenne.tech/ng-base 18.1.2 → 22.0.0

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 (416) hide show
  1. package/CLAUDE.md +55 -0
  2. package/LICENSE +2 -2
  3. package/README.md +237 -44
  4. package/fesm2022/lenne.tech-ng-base-ai.mjs +767 -0
  5. package/fesm2022/lenne.tech-ng-base-ai.mjs.map +1 -0
  6. package/fesm2022/lenne.tech-ng-base-auth-provide.mjs +939 -0
  7. package/fesm2022/lenne.tech-ng-base-auth-provide.mjs.map +1 -0
  8. package/fesm2022/lenne.tech-ng-base-auth.mjs +454 -0
  9. package/fesm2022/lenne.tech-ng-base-auth.mjs.map +1 -0
  10. package/fesm2022/lenne.tech-ng-base-bug-bug-report-dialog-BRzVmKJr.mjs +825 -0
  11. package/fesm2022/lenne.tech-ng-base-bug-bug-report-dialog-BRzVmKJr.mjs.map +1 -0
  12. package/fesm2022/lenne.tech-ng-base-bug-bug-report-service-DWoTb_iw.mjs +351 -0
  13. package/fesm2022/lenne.tech-ng-base-bug-bug-report-service-DWoTb_iw.mjs.map +1 -0
  14. package/fesm2022/lenne.tech-ng-base-bug-capture-engine-TkjMDdqj.mjs +1046 -0
  15. package/fesm2022/lenne.tech-ng-base-bug-capture-engine-TkjMDdqj.mjs.map +1 -0
  16. package/fesm2022/lenne.tech-ng-base-bug-constants-Brm2KGHi.mjs +4 -0
  17. package/fesm2022/lenne.tech-ng-base-bug-constants-Brm2KGHi.mjs.map +1 -0
  18. package/fesm2022/lenne.tech-ng-base-bug-messages-BsP4fRQU.mjs +179 -0
  19. package/fesm2022/lenne.tech-ng-base-bug-messages-BsP4fRQU.mjs.map +1 -0
  20. package/fesm2022/lenne.tech-ng-base-bug-provide.mjs +26 -0
  21. package/fesm2022/lenne.tech-ng-base-bug-provide.mjs.map +1 -0
  22. package/fesm2022/lenne.tech-ng-base-bug-report-Tzlhe1Cm.mjs +62 -0
  23. package/fesm2022/lenne.tech-ng-base-bug-report-Tzlhe1Cm.mjs.map +1 -0
  24. package/fesm2022/lenne.tech-ng-base-bug-server.mjs +818 -0
  25. package/fesm2022/lenne.tech-ng-base-bug-server.mjs.map +1 -0
  26. package/fesm2022/lenne.tech-ng-base-bug.mjs +196 -0
  27. package/fesm2022/lenne.tech-ng-base-bug.mjs.map +1 -0
  28. package/fesm2022/lenne.tech-ng-base-files-ui.mjs +445 -0
  29. package/fesm2022/lenne.tech-ng-base-files-ui.mjs.map +1 -0
  30. package/fesm2022/lenne.tech-ng-base-files.mjs +474 -0
  31. package/fesm2022/lenne.tech-ng-base-files.mjs.map +1 -0
  32. package/fesm2022/lenne.tech-ng-base-server.mjs +408 -0
  33. package/fesm2022/lenne.tech-ng-base-server.mjs.map +1 -0
  34. package/fesm2022/lenne.tech-ng-base-share.mjs +76 -0
  35. package/fesm2022/lenne.tech-ng-base-share.mjs.map +1 -0
  36. package/fesm2022/lenne.tech-ng-base-sync.mjs +1096 -0
  37. package/fesm2022/lenne.tech-ng-base-sync.mjs.map +1 -0
  38. package/fesm2022/lenne.tech-ng-base-testing.mjs +171 -0
  39. package/fesm2022/lenne.tech-ng-base-testing.mjs.map +1 -0
  40. package/fesm2022/lenne.tech-ng-base-ui-provide.mjs +124 -0
  41. package/fesm2022/lenne.tech-ng-base-ui-provide.mjs.map +1 -0
  42. package/fesm2022/lenne.tech-ng-base-ui.mjs +34611 -0
  43. package/fesm2022/lenne.tech-ng-base-ui.mjs.map +1 -0
  44. package/fesm2022/lenne.tech-ng-base-utils.mjs +287 -0
  45. package/fesm2022/lenne.tech-ng-base-utils.mjs.map +1 -0
  46. package/fesm2022/lenne.tech-ng-base.mjs +615 -902
  47. package/fesm2022/lenne.tech-ng-base.mjs.map +1 -1
  48. package/i18n/auth/de.json +17 -0
  49. package/i18n/auth/en.json +17 -0
  50. package/i18n/bug/de.json +85 -0
  51. package/i18n/bug/en.json +85 -0
  52. package/i18n/de.json +8 -0
  53. package/i18n/en.json +8 -0
  54. package/i18n/files/de.json +27 -0
  55. package/i18n/files/en.json +27 -0
  56. package/i18n/share/de.json +8 -0
  57. package/i18n/share/en.json +8 -0
  58. package/i18n/ui/de.json +38 -0
  59. package/i18n/ui/en.json +38 -0
  60. package/package.json +127 -58
  61. package/types/lenne.tech-ng-base-ai.d.ts +830 -0
  62. package/types/lenne.tech-ng-base-auth-provide.d.ts +603 -0
  63. package/types/lenne.tech-ng-base-auth.d.ts +320 -0
  64. package/types/lenne.tech-ng-base-bug-provide.d.ts +272 -0
  65. package/types/lenne.tech-ng-base-bug-rolldown-runtime-C25Le4-w.d.ts +1 -0
  66. package/types/lenne.tech-ng-base-bug-server.d.ts +316 -0
  67. package/types/lenne.tech-ng-base-bug.d.ts +202 -0
  68. package/types/lenne.tech-ng-base-files-ui.d.ts +116 -0
  69. package/types/lenne.tech-ng-base-files.d.ts +288 -0
  70. package/types/lenne.tech-ng-base-server.d.ts +262 -0
  71. package/types/lenne.tech-ng-base-share.d.ts +21 -0
  72. package/types/lenne.tech-ng-base-sync.d.ts +380 -0
  73. package/types/lenne.tech-ng-base-testing.d.ts +327 -0
  74. package/types/lenne.tech-ng-base-ui-provide.d.ts +65 -0
  75. package/types/lenne.tech-ng-base-ui.d.ts +7732 -0
  76. package/types/lenne.tech-ng-base-utils.d.ts +150 -0
  77. package/types/lenne.tech-ng-base.d.ts +503 -0
  78. package/ui/styles/components/accordion.css +3 -0
  79. package/ui/styles/components/alert-dialog.css +4 -0
  80. package/ui/styles/components/alert.css +3 -0
  81. package/ui/styles/components/aspect-ratio.css +3 -0
  82. package/ui/styles/components/attachment.css +4 -0
  83. package/ui/styles/components/autocomplete.css +4 -0
  84. package/ui/styles/components/avatar.css +3 -0
  85. package/ui/styles/components/badge.css +3 -0
  86. package/ui/styles/components/breadcrumb.css +3 -0
  87. package/ui/styles/components/bubble.css +3 -0
  88. package/ui/styles/components/button-group.css +3 -0
  89. package/ui/styles/components/button.css +3 -0
  90. package/ui/styles/components/calendar.css +5 -0
  91. package/ui/styles/components/card.css +3 -0
  92. package/ui/styles/components/checkbox.css +3 -0
  93. package/ui/styles/components/code-block.css +4 -0
  94. package/ui/styles/components/collapsible.css +3 -0
  95. package/ui/styles/components/combobox.css +5 -0
  96. package/ui/styles/components/command.css +5 -0
  97. package/ui/styles/components/context-menu.css +3 -0
  98. package/ui/styles/components/date-picker.css +7 -0
  99. package/ui/styles/components/dialog.css +4 -0
  100. package/ui/styles/components/drawer.css +3 -0
  101. package/ui/styles/components/dropdown-menu.css +3 -0
  102. package/ui/styles/components/empty.css +3 -0
  103. package/ui/styles/components/field.css +5 -0
  104. package/ui/styles/components/hover-card.css +3 -0
  105. package/ui/styles/components/index.css +91 -0
  106. package/ui/styles/components/input-group.css +6 -0
  107. package/ui/styles/components/input-otp.css +3 -0
  108. package/ui/styles/components/input.css +3 -0
  109. package/ui/styles/components/item.css +4 -0
  110. package/ui/styles/components/kbd.css +3 -0
  111. package/ui/styles/components/label.css +3 -0
  112. package/ui/styles/components/lt-breadcrumb.css +3 -0
  113. package/ui/styles/components/lt-bug-attachments.css +5 -0
  114. package/ui/styles/components/lt-bug-journey-timeline.css +5 -0
  115. package/ui/styles/components/lt-bug-report-dialog.css +15 -0
  116. package/ui/styles/components/lt-bug-report.css +4 -0
  117. package/ui/styles/components/lt-color-mode-button.css +3 -0
  118. package/ui/styles/components/lt-confirm-dialog.css +4 -0
  119. package/ui/styles/components/lt-data-view.css +5 -0
  120. package/ui/styles/components/lt-date-picker.css +3 -0
  121. package/ui/styles/components/lt-date-time-picker.css +5 -0
  122. package/ui/styles/components/lt-enter-action.css +2 -0
  123. package/ui/styles/components/lt-footer.css +3 -0
  124. package/ui/styles/components/lt-form-field.css +4 -0
  125. package/ui/styles/components/lt-header.css +5 -0
  126. package/ui/styles/components/lt-imports.css +21 -0
  127. package/ui/styles/components/lt-navigation-menu.css +3 -0
  128. package/ui/styles/components/lt-notice.css +3 -0
  129. package/ui/styles/components/lt-overlay-defaults.css +3 -0
  130. package/ui/styles/components/lt-page-card.css +3 -0
  131. package/ui/styles/components/lt-page-title.css +2 -0
  132. package/ui/styles/components/lt-password-input.css +4 -0
  133. package/ui/styles/components/lt-readonly-field.css +2 -0
  134. package/ui/styles/components/lt-select.css +4 -0
  135. package/ui/styles/components/lt-text-field.css +5 -0
  136. package/ui/styles/components/lt-toolbar-item.css +2 -0
  137. package/ui/styles/components/lt-toolbar.css +3 -0
  138. package/ui/styles/components/lt-tus-upload-component.css +5 -0
  139. package/ui/styles/components/marker.css +3 -0
  140. package/ui/styles/components/menubar.css +3 -0
  141. package/ui/styles/components/message-scroller.css +4 -0
  142. package/ui/styles/components/message.css +3 -0
  143. package/ui/styles/components/native-select.css +3 -0
  144. package/ui/styles/components/navigation-menu.css +3 -0
  145. package/ui/styles/components/pagination.css +4 -0
  146. package/ui/styles/components/popover.css +3 -0
  147. package/ui/styles/components/progress.css +3 -0
  148. package/ui/styles/components/questionnaire.css +4 -0
  149. package/ui/styles/components/radio-group.css +3 -0
  150. package/ui/styles/components/resizable.css +3 -0
  151. package/ui/styles/components/select.css +3 -0
  152. package/ui/styles/components/separator.css +3 -0
  153. package/ui/styles/components/sheet.css +4 -0
  154. package/ui/styles/components/sidebar.css +9 -0
  155. package/ui/styles/components/skeleton.css +3 -0
  156. package/ui/styles/components/slider.css +3 -0
  157. package/ui/styles/components/sonner.css +4 -0
  158. package/ui/styles/components/spinner.css +3 -0
  159. package/ui/styles/components/switch.css +3 -0
  160. package/ui/styles/components/table.css +3 -0
  161. package/ui/styles/components/tabs.css +4 -0
  162. package/ui/styles/components/textarea.css +3 -0
  163. package/ui/styles/components/toggle-group.css +4 -0
  164. package/ui/styles/components/toggle.css +3 -0
  165. package/ui/styles/components/tooltip.css +3 -0
  166. package/ui/styles/components/trace.css +3 -0
  167. package/ui/styles/components/typography.css +3 -0
  168. package/ui/styles/components/utils.css +2 -0
  169. package/ui/styles/core.css +137 -0
  170. package/ui/styles/palette.css +94 -0
  171. package/ui/styles/theme.css +14 -0
  172. package/ui/styles/transitions.css +131 -0
  173. package/base-cms/index.d.ts +0 -5
  174. package/base-cms/interfaces/base-cms-module-config.interface.d.ts +0 -16
  175. package/base-cms/pages/base-cms/base-cms.component.d.ts +0 -92
  176. package/base-cms/public-api.d.ts +0 -5
  177. package/base-components/components/breadcrumb/breadcrumb.component.d.ts +0 -10
  178. package/base-components/components/change-password/change-password.component.d.ts +0 -24
  179. package/base-components/components/checkbox/checkbox.component.d.ts +0 -12
  180. package/base-components/components/delete-account/delete-account.component.d.ts +0 -15
  181. package/base-components/components/fab-button/fab-button.component.d.ts +0 -16
  182. package/base-components/components/input/input.component.d.ts +0 -27
  183. package/base-components/components/loading-bar/loading-bar.component.d.ts +0 -17
  184. package/base-components/components/model-form/model-form-base.component.d.ts +0 -64
  185. package/base-components/components/model-form/model-form.component.d.ts +0 -139
  186. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +0 -56
  187. package/base-components/components/model-table/model-table.component.d.ts +0 -115
  188. package/base-components/components/refence-input/refence-input.component.d.ts +0 -84
  189. package/base-components/components/select/select.component.d.ts +0 -25
  190. package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +0 -10
  191. package/base-components/components/tags/tags.component.d.ts +0 -60
  192. package/base-components/components/textarea/textarea.component.d.ts +0 -21
  193. package/base-components/components/toast/toast.component.d.ts +0 -19
  194. package/base-components/components/upload-image/upload-image.component.d.ts +0 -111
  195. package/base-components/directives/back-button.directive.d.ts +0 -9
  196. package/base-components/directives/context-menu.directive.d.ts +0 -22
  197. package/base-components/directives/sort.directive.d.ts +0 -15
  198. package/base-components/directives/stop-propagation.directive.d.ts +0 -10
  199. package/base-components/index.d.ts +0 -5
  200. package/base-components/pipes/ellipses.pipe.d.ts +0 -10
  201. package/base-components/public-api.d.ts +0 -26
  202. package/base-prototype/index.d.ts +0 -5
  203. package/base-prototype/pages/email-verification/email-verification.component.d.ts +0 -18
  204. package/base-prototype/pages/forgot-password/forgot-password.component.d.ts +0 -26
  205. package/base-prototype/pages/login/login.component.d.ts +0 -33
  206. package/base-prototype/pages/profile/profile.component.d.ts +0 -24
  207. package/base-prototype/pages/register/register.component.d.ts +0 -31
  208. package/base-prototype/pages/set-password/set-password.component.d.ts +0 -29
  209. package/base-prototype/public-api.d.ts +0 -9
  210. package/esm2022/base-cms/interfaces/base-cms-module-config.interface.mjs +0 -3
  211. package/esm2022/base-cms/lenne.tech-ng-base-base-cms.mjs +0 -5
  212. package/esm2022/base-cms/pages/base-cms/base-cms.component.mjs +0 -238
  213. package/esm2022/base-cms/public-api.mjs +0 -8
  214. package/esm2022/base-components/components/breadcrumb/breadcrumb.component.mjs +0 -23
  215. package/esm2022/base-components/components/change-password/change-password.component.mjs +0 -97
  216. package/esm2022/base-components/components/checkbox/checkbox.component.mjs +0 -38
  217. package/esm2022/base-components/components/delete-account/delete-account.component.mjs +0 -59
  218. package/esm2022/base-components/components/fab-button/fab-button.component.mjs +0 -24
  219. package/esm2022/base-components/components/input/input.component.mjs +0 -75
  220. package/esm2022/base-components/components/loading-bar/loading-bar.component.mjs +0 -37
  221. package/esm2022/base-components/components/model-form/model-form-base.component.mjs +0 -145
  222. package/esm2022/base-components/components/model-form/model-form.component.mjs +0 -591
  223. package/esm2022/base-components/components/model-form-sub/model-form-sub.component.mjs +0 -117
  224. package/esm2022/base-components/components/model-table/model-table.component.mjs +0 -478
  225. package/esm2022/base-components/components/refence-input/refence-input.component.mjs +0 -278
  226. package/esm2022/base-components/components/select/select.component.mjs +0 -62
  227. package/esm2022/base-components/components/skeleton-loader/skeleton-loader.component.mjs +0 -33
  228. package/esm2022/base-components/components/tags/tags.component.mjs +0 -227
  229. package/esm2022/base-components/components/textarea/textarea.component.mjs +0 -79
  230. package/esm2022/base-components/components/toast/toast.component.mjs +0 -69
  231. package/esm2022/base-components/components/upload-image/upload-image.component.mjs +0 -346
  232. package/esm2022/base-components/directives/back-button.directive.mjs +0 -25
  233. package/esm2022/base-components/directives/context-menu.directive.mjs +0 -112
  234. package/esm2022/base-components/directives/sort.directive.mjs +0 -61
  235. package/esm2022/base-components/directives/stop-propagation.directive.mjs +0 -24
  236. package/esm2022/base-components/lenne.tech-ng-base-base-components.mjs +0 -5
  237. package/esm2022/base-components/pipes/ellipses.pipe.mjs +0 -23
  238. package/esm2022/base-components/public-api.mjs +0 -30
  239. package/esm2022/base-prototype/lenne.tech-ng-base-base-prototype.mjs +0 -5
  240. package/esm2022/base-prototype/pages/email-verification/email-verification.component.mjs +0 -60
  241. package/esm2022/base-prototype/pages/forgot-password/forgot-password.component.mjs +0 -78
  242. package/esm2022/base-prototype/pages/login/login.component.mjs +0 -114
  243. package/esm2022/base-prototype/pages/profile/profile.component.mjs +0 -87
  244. package/esm2022/base-prototype/pages/register/register.component.mjs +0 -100
  245. package/esm2022/base-prototype/pages/set-password/set-password.component.mjs +0 -91
  246. package/esm2022/base-prototype/public-api.mjs +0 -11
  247. package/esm2022/lenne.tech-ng-base.mjs +0 -5
  248. package/esm2022/public-api.mjs +0 -25
  249. package/esm2022/shared/classes/auth.class.mjs +0 -14
  250. package/esm2022/shared/classes/basic-user.class.mjs +0 -49
  251. package/esm2022/shared/classes/graphql-enum.class.mjs +0 -10
  252. package/esm2022/shared/classes/graphql-meta.class.mjs +0 -345
  253. package/esm2022/shared/classes/graphql-type.class.mjs +0 -14
  254. package/esm2022/shared/classes/helper.class.mjs +0 -307
  255. package/esm2022/shared/classes/sort.class.mjs +0 -38
  256. package/esm2022/shared/classes/standard.class.mjs +0 -40
  257. package/esm2022/shared/decorators/debounce.decorator.mjs +0 -12
  258. package/esm2022/shared/enums/comparison-operator.enum.mjs +0 -16
  259. package/esm2022/shared/enums/graphql-request-type.enum.mjs +0 -10
  260. package/esm2022/shared/enums/logical-operator.enum.mjs +0 -10
  261. package/esm2022/shared/enums/skeleton-type.enum.mjs +0 -7
  262. package/esm2022/shared/enums/sort-order.enum.mjs +0 -6
  263. package/esm2022/shared/enums/toast-type.enum.mjs +0 -8
  264. package/esm2022/shared/functions/ws-client.function.mjs +0 -39
  265. package/esm2022/shared/interfaces/base-module-config.interface.mjs +0 -3
  266. package/esm2022/shared/interfaces/breadcrumb.interface.mjs +0 -2
  267. package/esm2022/shared/interfaces/can-component-deactivate.interface.mjs +0 -2
  268. package/esm2022/shared/interfaces/cms-enum-values.interface.mjs +0 -2
  269. package/esm2022/shared/interfaces/cms-field-config.interface.mjs +0 -2
  270. package/esm2022/shared/interfaces/cms-model-config.interface.mjs +0 -2
  271. package/esm2022/shared/interfaces/cms-table-field.interface.mjs +0 -2
  272. package/esm2022/shared/interfaces/combined-filter-input.interface.mjs +0 -2
  273. package/esm2022/shared/interfaces/compress-options.interface.mjs +0 -2
  274. package/esm2022/shared/interfaces/cropping-options.interface.mjs +0 -2
  275. package/esm2022/shared/interfaces/field-object.interface.mjs +0 -2
  276. package/esm2022/shared/interfaces/field.interface.mjs +0 -2
  277. package/esm2022/shared/interfaces/filter-input.interface.mjs +0 -2
  278. package/esm2022/shared/interfaces/find-args.interface.mjs +0 -2
  279. package/esm2022/shared/interfaces/graphql-crud-type.interface.mjs +0 -2
  280. package/esm2022/shared/interfaces/graphql-fields-object.interface.mjs +0 -2
  281. package/esm2022/shared/interfaces/graphql-options.interface.mjs +0 -2
  282. package/esm2022/shared/interfaces/graphql-plus-options.interfacen.mjs +0 -2
  283. package/esm2022/shared/interfaces/graphql-type-collection.interface.mjs +0 -2
  284. package/esm2022/shared/interfaces/login-config.interface.mjs +0 -2
  285. package/esm2022/shared/interfaces/register-config.interface.mjs +0 -2
  286. package/esm2022/shared/interfaces/single-filter-input.interface.mjs +0 -2
  287. package/esm2022/shared/interfaces/sort-input.interface.mjs +0 -2
  288. package/esm2022/shared/interfaces/time-components.interface.mjs +0 -2
  289. package/esm2022/shared/interfaces/toast.interface.mjs +0 -2
  290. package/esm2022/shared/lenne.tech-ng-base-shared.mjs +0 -5
  291. package/esm2022/shared/public-api.mjs +0 -74
  292. package/esm2022/shared/services/auth.service.mjs +0 -152
  293. package/esm2022/shared/services/breadcrumb.service.mjs +0 -69
  294. package/esm2022/shared/services/cms.service.mjs +0 -82
  295. package/esm2022/shared/services/file.service.mjs +0 -86
  296. package/esm2022/shared/services/forms.service.mjs +0 -61
  297. package/esm2022/shared/services/graphql-meta.service.mjs +0 -132
  298. package/esm2022/shared/services/graphql-plus.service.mjs +0 -93
  299. package/esm2022/shared/services/graphql.service.mjs +0 -510
  300. package/esm2022/shared/services/image.service.mjs +0 -102
  301. package/esm2022/shared/services/loader.service.mjs +0 -78
  302. package/esm2022/shared/services/navigation.service.mjs +0 -38
  303. package/esm2022/shared/services/scroll.service.mjs +0 -207
  304. package/esm2022/shared/services/storage.service.mjs +0 -149
  305. package/esm2022/shared/services/toast.service.mjs +0 -39
  306. package/esm2022/shared/services/user.service.mjs +0 -160
  307. package/esm2022/shared/services/ws.service.mjs +0 -17
  308. package/esm2022/shared/types/graphql-fields.type.mjs +0 -2
  309. package/esm2022/shared/types/storage.type.mjs +0 -2
  310. package/esm2022/shared/validators/email.validator.mjs +0 -7
  311. package/esm2022/shared/validators/match.validator.mjs +0 -22
  312. package/esm2022/shared/validators/secure-password.validator.mjs +0 -7
  313. package/esm2022/src/base.module.mjs +0 -64
  314. package/esm2022/src/decorators/auto-unsubscribe.decorator.mjs +0 -23
  315. package/esm2022/src/directives/lazy-load.directive.mjs +0 -48
  316. package/esm2022/src/directives/match-height.directive.mjs +0 -92
  317. package/esm2022/src/directives/resizable.directive.mjs +0 -92
  318. package/esm2022/src/factories/apollo-options.factory.mjs +0 -108
  319. package/esm2022/src/functions/extract-files.function.mjs +0 -87
  320. package/esm2022/src/guards/auth.guard.mjs +0 -91
  321. package/esm2022/src/guards/can-deactivate.guard.mjs +0 -16
  322. package/esm2022/src/guards/logout.guard.mjs +0 -34
  323. package/esm2022/src/pipes/date-ago.pipe.mjs +0 -64
  324. package/esm2022/src/pipes/safe-html.pipe.mjs +0 -22
  325. package/esm2022/src/services/fullscreen.service.mjs +0 -51
  326. package/esm2022/src/services/seo.service.mjs +0 -109
  327. package/esm2022/src/services/theme.service.mjs +0 -44
  328. package/fesm2022/lenne.tech-ng-base-base-cms.mjs +0 -251
  329. package/fesm2022/lenne.tech-ng-base-base-cms.mjs.map +0 -1
  330. package/fesm2022/lenne.tech-ng-base-base-components.mjs +0 -2917
  331. package/fesm2022/lenne.tech-ng-base-base-components.mjs.map +0 -1
  332. package/fesm2022/lenne.tech-ng-base-base-prototype.mjs +0 -505
  333. package/fesm2022/lenne.tech-ng-base-base-prototype.mjs.map +0 -1
  334. package/fesm2022/lenne.tech-ng-base-shared.mjs +0 -2863
  335. package/fesm2022/lenne.tech-ng-base-shared.mjs.map +0 -1
  336. package/index.d.ts +0 -5
  337. package/public-api.d.ts +0 -17
  338. package/shared/classes/auth.class.d.ts +0 -10
  339. package/shared/classes/basic-user.class.d.ts +0 -27
  340. package/shared/classes/graphql-enum.class.d.ts +0 -7
  341. package/shared/classes/graphql-meta.class.d.ts +0 -66
  342. package/shared/classes/graphql-type.class.d.ts +0 -13
  343. package/shared/classes/helper.class.d.ts +0 -99
  344. package/shared/classes/sort.class.d.ts +0 -12
  345. package/shared/classes/standard.class.d.ts +0 -32
  346. package/shared/decorators/debounce.decorator.d.ts +0 -1
  347. package/shared/enums/comparison-operator.enum.d.ts +0 -14
  348. package/shared/enums/graphql-request-type.enum.d.ts +0 -8
  349. package/shared/enums/logical-operator.enum.d.ts +0 -8
  350. package/shared/enums/skeleton-type.enum.d.ts +0 -5
  351. package/shared/enums/sort-order.enum.d.ts +0 -4
  352. package/shared/enums/toast-type.enum.d.ts +0 -6
  353. package/shared/functions/ws-client.function.d.ts +0 -5
  354. package/shared/index.d.ts +0 -5
  355. package/shared/interfaces/base-module-config.interface.d.ts +0 -61
  356. package/shared/interfaces/breadcrumb.interface.d.ts +0 -4
  357. package/shared/interfaces/can-component-deactivate.interface.d.ts +0 -7
  358. package/shared/interfaces/cms-enum-values.interface.d.ts +0 -4
  359. package/shared/interfaces/cms-field-config.interface.d.ts +0 -45
  360. package/shared/interfaces/cms-model-config.interface.d.ts +0 -14
  361. package/shared/interfaces/cms-table-field.interface.d.ts +0 -10
  362. package/shared/interfaces/combined-filter-input.interface.d.ts +0 -9
  363. package/shared/interfaces/compress-options.interface.d.ts +0 -15
  364. package/shared/interfaces/cropping-options.interface.d.ts +0 -12
  365. package/shared/interfaces/field-object.interface.d.ts +0 -6
  366. package/shared/interfaces/field.interface.d.ts +0 -5
  367. package/shared/interfaces/filter-input.interface.d.ts +0 -9
  368. package/shared/interfaces/find-args.interface.d.ts +0 -11
  369. package/shared/interfaces/graphql-crud-type.interface.d.ts +0 -7
  370. package/shared/interfaces/graphql-fields-object.interface.d.ts +0 -6
  371. package/shared/interfaces/graphql-options.interface.d.ts +0 -11
  372. package/shared/interfaces/graphql-plus-options.interfacen.d.ts +0 -9
  373. package/shared/interfaces/graphql-type-collection.interface.d.ts +0 -7
  374. package/shared/interfaces/login-config.interface.d.ts +0 -6
  375. package/shared/interfaces/register-config.interface.d.ts +0 -4
  376. package/shared/interfaces/single-filter-input.interface.d.ts +0 -11
  377. package/shared/interfaces/sort-input.interface.d.ts +0 -5
  378. package/shared/interfaces/time-components.interface.d.ts +0 -6
  379. package/shared/interfaces/toast.interface.d.ts +0 -8
  380. package/shared/public-api.d.ts +0 -65
  381. package/shared/services/auth.service.d.ts +0 -44
  382. package/shared/services/breadcrumb.service.d.ts +0 -32
  383. package/shared/services/cms.service.d.ts +0 -27
  384. package/shared/services/file.service.d.ts +0 -22
  385. package/shared/services/forms.service.d.ts +0 -14
  386. package/shared/services/graphql-meta.service.d.ts +0 -45
  387. package/shared/services/graphql-plus.service.d.ts +0 -27
  388. package/shared/services/graphql.service.d.ts +0 -71
  389. package/shared/services/image.service.d.ts +0 -27
  390. package/shared/services/loader.service.d.ts +0 -32
  391. package/shared/services/navigation.service.d.ts +0 -15
  392. package/shared/services/scroll.service.d.ts +0 -85
  393. package/shared/services/storage.service.d.ts +0 -49
  394. package/shared/services/toast.service.d.ts +0 -15
  395. package/shared/services/user.service.d.ts +0 -77
  396. package/shared/services/ws.service.d.ts +0 -8
  397. package/shared/types/graphql-fields.type.d.ts +0 -5
  398. package/shared/types/storage.type.d.ts +0 -4
  399. package/shared/validators/email.validator.d.ts +0 -1
  400. package/shared/validators/match.validator.d.ts +0 -4
  401. package/shared/validators/secure-password.validator.d.ts +0 -1
  402. package/src/base.module.d.ts +0 -16
  403. package/src/decorators/auto-unsubscribe.decorator.d.ts +0 -5
  404. package/src/directives/lazy-load.directive.d.ts +0 -17
  405. package/src/directives/match-height.directive.d.ts +0 -20
  406. package/src/directives/resizable.directive.d.ts +0 -26
  407. package/src/factories/apollo-options.factory.d.ts +0 -16
  408. package/src/functions/extract-files.function.d.ts +0 -15
  409. package/src/guards/auth.guard.d.ts +0 -27
  410. package/src/guards/can-deactivate.guard.d.ts +0 -10
  411. package/src/guards/logout.guard.d.ts +0 -16
  412. package/src/pipes/date-ago.pipe.d.ts +0 -34
  413. package/src/pipes/safe-html.pipe.d.ts +0 -13
  414. package/src/services/fullscreen.service.d.ts +0 -18
  415. package/src/services/seo.service.d.ts +0 -50
  416. package/src/services/theme.service.d.ts +0 -17
@@ -1,92 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Reszise detection
5
- * (inpsired by: https://stackblitz.com/edit/angular-resizable)
6
- */
7
- export class ResizableDirective {
8
- el;
9
- resizableGrabWidth = 8;
10
- resizableMinWidth = 10;
11
- dragging = false;
12
- constructor(el) {
13
- this.el = el;
14
- }
15
- ngOnInit() {
16
- this.addListenerToDocument();
17
- this.addListenerToElement();
18
- }
19
- mouseMoveG(evt) {
20
- if (!this.dragging) {
21
- return;
22
- }
23
- this.newWidth(evt.clientX - this.el.nativeElement.offsetLeft);
24
- evt.stopPropagation();
25
- }
26
- newWidth(wid) {
27
- const result = Math.max(this.resizableMinWidth, wid);
28
- this.el.nativeElement.style.width = result + 'px';
29
- }
30
- mouseDown(evt) {
31
- if (this.inDragRegion(evt)) {
32
- this.dragging = true;
33
- this.preventGlobalMouseEvents();
34
- evt.stopPropagation();
35
- }
36
- }
37
- restoreGlobalMouseEvents() {
38
- document.body.style['pointer-events'] = 'auto';
39
- }
40
- mouseUpG(evt) {
41
- if (!this.dragging) {
42
- return;
43
- }
44
- this.restoreGlobalMouseEvents();
45
- this.dragging = false;
46
- evt.stopPropagation();
47
- }
48
- mouseMove(evt) {
49
- if (this.inDragRegion(evt) || this.dragging) {
50
- this.el.nativeElement.style.cursor = 'col-resize';
51
- }
52
- else {
53
- this.el.nativeElement.style.cursor = 'default';
54
- }
55
- }
56
- preventGlobalMouseEvents() {
57
- document.body.style['pointer-events'] = 'none';
58
- }
59
- inDragRegion(evt) {
60
- return this.el.nativeElement.clientWidth - evt.clientX + this.el.nativeElement.offsetLeft < this.resizableGrabWidth;
61
- }
62
- addListenerToDocument() {
63
- document.addEventListener('mousemove', (e) => {
64
- this.mouseMoveG(e);
65
- }, true);
66
- document.addEventListener('mouseup', (e) => {
67
- this.mouseUpG(e);
68
- }, true);
69
- }
70
- addListenerToElement() {
71
- this.el.nativeElement.addEventListener('mousedown', (e) => {
72
- this.mouseDown(e);
73
- }, true);
74
- this.el.nativeElement.addEventListener('mousemove', (e) => {
75
- this.mouseMove(e);
76
- }, true);
77
- }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
79
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ResizableDirective, isStandalone: true, selector: "[ltResizable]", inputs: { resizableGrabWidth: "resizableGrabWidth", resizableMinWidth: "resizableMinWidth" }, ngImport: i0 });
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ResizableDirective, decorators: [{
82
- type: Directive,
83
- args: [{
84
- selector: '[ltResizable]',
85
- standalone: true,
86
- }]
87
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { resizableGrabWidth: [{
88
- type: Input
89
- }], resizableMinWidth: [{
90
- type: Input
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2RpcmVjdGl2ZXMvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFFckU7OztHQUdHO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQU1UO0lBTFgsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUVoQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHO1FBQ1YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BELENBQUM7SUFFRCxTQUFTLENBQUMsR0FBRztRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHO1FBQ2QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsUUFBUSxDQUFDLGdCQUFnQixDQUN2QixXQUFXLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQyxFQUNELElBQUksQ0FDTCxDQUFDO1FBRUYsUUFBUSxDQUFDLGdCQUFnQixDQUN2QixTQUFTLEVBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxFQUNELElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDcEMsV0FBVyxFQUNYLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsRUFDRCxJQUFJLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUNwQyxXQUFXLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxFQUNELElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQzt1R0FqR1Usa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFFVSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmVzemlzZSBkZXRlY3Rpb25cbiAqIChpbnBzaXJlZCBieTogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9lZGl0L2FuZ3VsYXItcmVzaXphYmxlKVxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHRSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVzaXphYmxlR3JhYldpZHRoID0gODtcbiAgQElucHV0KCkgcmVzaXphYmxlTWluV2lkdGggPSAxMDtcblxuICBkcmFnZ2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRMaXN0ZW5lclRvRG9jdW1lbnQoKTtcbiAgICB0aGlzLmFkZExpc3RlbmVyVG9FbGVtZW50KCk7XG4gIH1cblxuICBtb3VzZU1vdmVHKGV2dCkge1xuICAgIGlmICghdGhpcy5kcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5ld1dpZHRoKGV2dC5jbGllbnRYIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG5ld1dpZHRoKHdpZCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IE1hdGgubWF4KHRoaXMucmVzaXphYmxlTWluV2lkdGgsIHdpZCk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gcmVzdWx0ICsgJ3B4JztcbiAgfVxuXG4gIG1vdXNlRG93bihldnQpIHtcbiAgICBpZiAodGhpcy5pbkRyYWdSZWdpb24oZXZ0KSkge1xuICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XG4gICAgICB0aGlzLnByZXZlbnRHbG9iYWxNb3VzZUV2ZW50cygpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHJlc3RvcmVHbG9iYWxNb3VzZUV2ZW50cygpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlWydwb2ludGVyLWV2ZW50cyddID0gJ2F1dG8nO1xuICB9XG5cbiAgbW91c2VVcEcoZXZ0OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5kcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlc3RvcmVHbG9iYWxNb3VzZUV2ZW50cygpO1xuICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBtb3VzZU1vdmUoZXZ0KSB7XG4gICAgaWYgKHRoaXMuaW5EcmFnUmVnaW9uKGV2dCkgfHwgdGhpcy5kcmFnZ2luZykge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdjb2wtcmVzaXplJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcbiAgICB9XG4gIH1cblxuICBwcmV2ZW50R2xvYmFsTW91c2VFdmVudHMoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZVsncG9pbnRlci1ldmVudHMnXSA9ICdub25lJztcbiAgfVxuXG4gIGluRHJhZ1JlZ2lvbihldnQpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC0gZXZ0LmNsaWVudFggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCA8IHRoaXMucmVzaXphYmxlR3JhYldpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRMaXN0ZW5lclRvRG9jdW1lbnQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdtb3VzZW1vdmUnLFxuICAgICAgKGUpID0+IHtcbiAgICAgICAgdGhpcy5tb3VzZU1vdmVHKGUpO1xuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdtb3VzZXVwJyxcbiAgICAgIChlKSA9PiB7XG4gICAgICAgIHRoaXMubW91c2VVcEcoZSk7XG4gICAgICB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZExpc3RlbmVyVG9FbGVtZW50KCkge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ21vdXNlZG93bicsXG4gICAgICAoZSkgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlRG93bihlKTtcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ21vdXNlbW92ZScsXG4gICAgICAoZSkgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlTW92ZShlKTtcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,108 +0,0 @@
1
- import { ApolloLink, concat, fromPromise, split } from '@apollo/client/core';
2
- import { InMemoryCache } from '@apollo/client/cache';
3
- import { getMainDefinition } from '@apollo/client/utilities';
4
- import { createRestartableClient, } from '@lenne.tech/ng-base/shared';
5
- import { GraphQLWsLink } from '@apollo/client/link/subscriptions';
6
- import extractFiles from '../functions/extract-files.function';
7
- import { firstValueFrom } from 'rxjs';
8
- import { onError } from '@apollo/client/link/error';
9
- /**
10
- * Factory for apollo-angular options
11
- */
12
- export function apolloOptionsFactory(baseModuleConfig, httpLink, authService, wsService) {
13
- const links = [];
14
- const http = httpLink.create({
15
- uri: baseModuleConfig.apiUrl,
16
- extractFiles,
17
- });
18
- const authMiddleware = new ApolloLink((operation, forward) => {
19
- const headers = {};
20
- const operationName = operation.query.definitions[0]?.selectionSet?.selections[0]?.name?.value;
21
- if (localStorage) {
22
- let token;
23
- if (operationName === 'refreshToken') {
24
- token = authService.refreshToken || null;
25
- }
26
- else {
27
- token = authService.token || null;
28
- }
29
- if (token) {
30
- headers.Authorization = 'Bearer ' + token;
31
- }
32
- operation.setContext(() => ({ headers }));
33
- }
34
- return forward(operation);
35
- });
36
- const errorLink = onError(({ graphQLErrors, networkError, operation, forward }) => {
37
- if (graphQLErrors) {
38
- for (const err of graphQLErrors) {
39
- switch (err.extensions.code) {
40
- case 'UNAUTHENTICATED': {
41
- if (err.message !== 'Expired refresh token' &&
42
- err.message !== 'Expired token' &&
43
- err.message !== 'Invalid token') {
44
- return;
45
- }
46
- if (err.message === 'Expired refresh token' || err.message === 'Invalid token') {
47
- authService.clearSession();
48
- return;
49
- }
50
- return fromPromise(firstValueFrom(authService.requestNewToken()))
51
- .filter((value) => Boolean(value))
52
- .flatMap((response) => {
53
- const oldHeaders = operation.getContext().headers;
54
- // modify the operation context with a new token
55
- operation.setContext({
56
- headers: {
57
- ...oldHeaders,
58
- Authorization: `Bearer ${response.token}`,
59
- },
60
- });
61
- // retry the request, returning the new observable
62
- return forward(operation);
63
- });
64
- }
65
- }
66
- }
67
- }
68
- });
69
- if (baseModuleConfig.logging) {
70
- console.log(baseModuleConfig);
71
- }
72
- if (baseModuleConfig.wsUrl) {
73
- const wsLink = new GraphQLWsLink(createRestartableClient({
74
- url: baseModuleConfig.wsUrl,
75
- connectionParams: () => {
76
- return {
77
- Authorization: authService.token ? 'Bearer ' + authService.token : undefined,
78
- };
79
- },
80
- }));
81
- // Set client for reconnection on logout/login
82
- wsService.client = wsLink.client;
83
- // using the ability to split links, you can send data to each link
84
- // depending on what kind of operation is being sent
85
- links.push(split(
86
- // split based on operation type
87
- ({ query }) => {
88
- // @ts-ignore
89
- const { kind, operation } = getMainDefinition(query);
90
- return kind === 'OperationDefinition' && operation === 'subscription';
91
- }, wsLink, concat(concat(authMiddleware, errorLink), http)));
92
- }
93
- else {
94
- links.push(authMiddleware);
95
- links.push(errorLink);
96
- links.push(http);
97
- }
98
- return {
99
- link: ApolloLink.from(links),
100
- cache: new InMemoryCache(),
101
- defaultOptions: {
102
- query: {
103
- fetchPolicy: 'network-only',
104
- },
105
- },
106
- };
107
- }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLW9wdGlvbnMuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2ZhY3Rvcmllcy9hcG9sbG8tb3B0aW9ucy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUdMLHVCQUF1QixHQUd4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLFlBQVksTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLFNBQW9CO0lBRXBCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVqQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzNCLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1FBQzVCLFlBQVk7S0FDYixDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxhQUFhLEdBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBRXhHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFhLENBQUM7WUFFbEIsSUFBSSxhQUFhLEtBQUssY0FBYyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssR0FBRyxXQUFXLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztZQUMzQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ3BDLENBQUM7WUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUM1QyxDQUFDO1lBRUQsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtRQUNoRixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2hDLFFBQVEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZCLElBQ0UsR0FBRyxDQUFDLE9BQU8sS0FBSyx1QkFBdUI7NEJBQ3ZDLEdBQUcsQ0FBQyxPQUFPLEtBQUssZUFBZTs0QkFDL0IsR0FBRyxDQUFDLE9BQU8sS0FBSyxlQUFlLEVBQy9CLENBQUM7NEJBQ0QsT0FBTzt3QkFDVCxDQUFDO3dCQUVELElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyx1QkFBdUIsSUFBSSxHQUFHLENBQUMsT0FBTyxLQUFLLGVBQWUsRUFBRSxDQUFDOzRCQUMvRSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7NEJBQzNCLE9BQU87d0JBQ1QsQ0FBQzt3QkFFRCxPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7NkJBQzlELE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDOzZCQUNqQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTs0QkFDcEIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQzs0QkFDbEQsZ0RBQWdEOzRCQUNoRCxTQUFTLENBQUMsVUFBVSxDQUFDO2dDQUNuQixPQUFPLEVBQUU7b0NBQ1AsR0FBRyxVQUFVO29DQUNiLGFBQWEsRUFBRSxVQUFVLFFBQVEsQ0FBQyxLQUFLLEVBQUU7aUNBQzFDOzZCQUNGLENBQUMsQ0FBQzs0QkFFSCxrREFBa0Q7NEJBQ2xELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUM1QixDQUFDLENBQUMsQ0FBQztvQkFDUCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQzlCLHVCQUF1QixDQUFDO1lBQ3RCLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLO1lBQzNCLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtnQkFDckIsT0FBTztvQkFDTCxhQUFhLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQzdFLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBUSxDQUNILENBQUM7UUFFVCw4Q0FBOEM7UUFDOUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBMkIsQ0FBQztRQUV0RCxtRUFBbUU7UUFDbkUsb0RBQW9EO1FBQ3BELEtBQUssQ0FBQyxJQUFJLENBQ1IsS0FBSztRQUNILGdDQUFnQztRQUNoQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNaLGFBQWE7WUFDYixNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE9BQU8sSUFBSSxLQUFLLHFCQUFxQixJQUFJLFNBQVMsS0FBSyxjQUFjLENBQUM7UUFDeEUsQ0FBQyxFQUNELE1BQU0sRUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDaEQsQ0FDRixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM1QixLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUU7UUFDMUIsY0FBYyxFQUFFO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLFdBQVcsRUFBRSxjQUFjO2FBQzVCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBMaW5rIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXIvaHR0cCc7XG5pbXBvcnQgeyBBcG9sbG9MaW5rLCBjb25jYXQsIGZyb21Qcm9taXNlLCBzcGxpdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NhY2hlJztcbmltcG9ydCB7IGdldE1haW5EZWZpbml0aW9uIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcbmltcG9ydCB7XG4gIEF1dGhTZXJ2aWNlLFxuICBCYXNlTW9kdWxlQ29uZmlnLFxuICBjcmVhdGVSZXN0YXJ0YWJsZUNsaWVudCxcbiAgUmVzdGFydGFibGVDbGllbnQsXG4gIFdzU2VydmljZSxcbn0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9zaGFyZWQnO1xuaW1wb3J0IHsgR3JhcGhRTFdzTGluayB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvc3Vic2NyaXB0aW9ucyc7XG5pbXBvcnQgZXh0cmFjdEZpbGVzIGZyb20gJy4uL2Z1bmN0aW9ucy9leHRyYWN0LWZpbGVzLmZ1bmN0aW9uJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBvbkVycm9yIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay9lcnJvcic7XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgYXBvbGxvLWFuZ3VsYXIgb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXBvbGxvT3B0aW9uc0ZhY3RvcnkoXG4gIGJhc2VNb2R1bGVDb25maWc6IEJhc2VNb2R1bGVDb25maWcsXG4gIGh0dHBMaW5rOiBIdHRwTGluayxcbiAgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICB3c1NlcnZpY2U6IFdzU2VydmljZVxuKSB7XG4gIGNvbnN0IGxpbmtzID0gW107XG5cbiAgY29uc3QgaHR0cCA9IGh0dHBMaW5rLmNyZWF0ZSh7XG4gICAgdXJpOiBiYXNlTW9kdWxlQ29uZmlnLmFwaVVybCxcbiAgICBleHRyYWN0RmlsZXMsXG4gIH0pO1xuXG4gIGNvbnN0IGF1dGhNaWRkbGV3YXJlID0gbmV3IEFwb2xsb0xpbmsoKG9wZXJhdGlvbiwgZm9yd2FyZCkgPT4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHt9O1xuICAgIGNvbnN0IG9wZXJhdGlvbk5hbWUgPSAob3BlcmF0aW9uLnF1ZXJ5LmRlZmluaXRpb25zWzBdIGFzIGFueSk/LnNlbGVjdGlvblNldD8uc2VsZWN0aW9uc1swXT8ubmFtZT8udmFsdWU7XG5cbiAgICBpZiAobG9jYWxTdG9yYWdlKSB7XG4gICAgICBsZXQgdG9rZW46IHN0cmluZztcblxuICAgICAgaWYgKG9wZXJhdGlvbk5hbWUgPT09ICdyZWZyZXNoVG9rZW4nKSB7XG4gICAgICAgIHRva2VuID0gYXV0aFNlcnZpY2UucmVmcmVzaFRva2VuIHx8IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b2tlbiA9IGF1dGhTZXJ2aWNlLnRva2VuIHx8IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSAnQmVhcmVyICcgKyB0b2tlbjtcbiAgICAgIH1cblxuICAgICAgb3BlcmF0aW9uLnNldENvbnRleHQoKCkgPT4gKHsgaGVhZGVycyB9KSk7XG4gICAgfVxuICAgIHJldHVybiBmb3J3YXJkKG9wZXJhdGlvbik7XG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yTGluayA9IG9uRXJyb3IoKHsgZ3JhcGhRTEVycm9ycywgbmV0d29ya0Vycm9yLCBvcGVyYXRpb24sIGZvcndhcmQgfSkgPT4ge1xuICAgIGlmIChncmFwaFFMRXJyb3JzKSB7XG4gICAgICBmb3IgKGNvbnN0IGVyciBvZiBncmFwaFFMRXJyb3JzKSB7XG4gICAgICAgIHN3aXRjaCAoZXJyLmV4dGVuc2lvbnMuY29kZSkge1xuICAgICAgICAgIGNhc2UgJ1VOQVVUSEVOVElDQVRFRCc6IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UgIT09ICdFeHBpcmVkIHJlZnJlc2ggdG9rZW4nICYmXG4gICAgICAgICAgICAgIGVyci5tZXNzYWdlICE9PSAnRXhwaXJlZCB0b2tlbicgJiZcbiAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UgIT09ICdJbnZhbGlkIHRva2VuJ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlID09PSAnRXhwaXJlZCByZWZyZXNoIHRva2VuJyB8fCBlcnIubWVzc2FnZSA9PT0gJ0ludmFsaWQgdG9rZW4nKSB7XG4gICAgICAgICAgICAgIGF1dGhTZXJ2aWNlLmNsZWFyU2Vzc2lvbigpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmcm9tUHJvbWlzZShmaXJzdFZhbHVlRnJvbShhdXRoU2VydmljZS5yZXF1ZXN0TmV3VG9rZW4oKSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiBCb29sZWFuKHZhbHVlKSlcbiAgICAgICAgICAgICAgLmZsYXRNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkSGVhZGVycyA9IG9wZXJhdGlvbi5nZXRDb250ZXh0KCkuaGVhZGVycztcbiAgICAgICAgICAgICAgICAvLyBtb2RpZnkgdGhlIG9wZXJhdGlvbiBjb250ZXh0IHdpdGggYSBuZXcgdG9rZW5cbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uc2V0Q29udGV4dCh7XG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLm9sZEhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtyZXNwb25zZS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIHJldHJ5IHRoZSByZXF1ZXN0LCByZXR1cm5pbmcgdGhlIG5ldyBvYnNlcnZhYmxlXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcndhcmQob3BlcmF0aW9uKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBpZiAoYmFzZU1vZHVsZUNvbmZpZy5sb2dnaW5nKSB7XG4gICAgY29uc29sZS5sb2coYmFzZU1vZHVsZUNvbmZpZyk7XG4gIH1cblxuICBpZiAoYmFzZU1vZHVsZUNvbmZpZy53c1VybCkge1xuICAgIGNvbnN0IHdzTGluayA9IG5ldyBHcmFwaFFMV3NMaW5rKFxuICAgICAgY3JlYXRlUmVzdGFydGFibGVDbGllbnQoe1xuICAgICAgICB1cmw6IGJhc2VNb2R1bGVDb25maWcud3NVcmwsXG4gICAgICAgIGNvbm5lY3Rpb25QYXJhbXM6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYXV0aFNlcnZpY2UudG9rZW4gPyAnQmVhcmVyICcgKyBhdXRoU2VydmljZS50b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfSkgYXMgYW55XG4gICAgKSBhcyBhbnk7XG5cbiAgICAvLyBTZXQgY2xpZW50IGZvciByZWNvbm5lY3Rpb24gb24gbG9nb3V0L2xvZ2luXG4gICAgd3NTZXJ2aWNlLmNsaWVudCA9IHdzTGluay5jbGllbnQgYXMgUmVzdGFydGFibGVDbGllbnQ7XG5cbiAgICAvLyB1c2luZyB0aGUgYWJpbGl0eSB0byBzcGxpdCBsaW5rcywgeW91IGNhbiBzZW5kIGRhdGEgdG8gZWFjaCBsaW5rXG4gICAgLy8gZGVwZW5kaW5nIG9uIHdoYXQga2luZCBvZiBvcGVyYXRpb24gaXMgYmVpbmcgc2VudFxuICAgIGxpbmtzLnB1c2goXG4gICAgICBzcGxpdChcbiAgICAgICAgLy8gc3BsaXQgYmFzZWQgb24gb3BlcmF0aW9uIHR5cGVcbiAgICAgICAgKHsgcXVlcnkgfSkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBjb25zdCB7IGtpbmQsIG9wZXJhdGlvbiB9ID0gZ2V0TWFpbkRlZmluaXRpb24ocXVlcnkpO1xuICAgICAgICAgIHJldHVybiBraW5kID09PSAnT3BlcmF0aW9uRGVmaW5pdGlvbicgJiYgb3BlcmF0aW9uID09PSAnc3Vic2NyaXB0aW9uJztcbiAgICAgICAgfSxcbiAgICAgICAgd3NMaW5rLFxuICAgICAgICBjb25jYXQoY29uY2F0KGF1dGhNaWRkbGV3YXJlLCBlcnJvckxpbmspLCBodHRwKVxuICAgICAgKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgbGlua3MucHVzaChhdXRoTWlkZGxld2FyZSk7XG4gICAgbGlua3MucHVzaChlcnJvckxpbmspO1xuICAgIGxpbmtzLnB1c2goaHR0cCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxpbms6IEFwb2xsb0xpbmsuZnJvbShsaW5rcyksXG4gICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKCksXG4gICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,87 +0,0 @@
1
- /**
2
- * Inspired by Inpspired by https://github.com/jaydenseric/extract-files/releases/tag/v11.0.0
3
- */
4
- /**
5
- * Reactive native file
6
- */
7
- class ReactNativeFile {
8
- uri;
9
- name;
10
- type;
11
- constructor(uri, name, type) {
12
- this.uri = uri;
13
- this.name = name;
14
- this.type = type;
15
- }
16
- }
17
- /**
18
- * Check whether value is an extractable file
19
- */
20
- function isExtractableFile(value) {
21
- return ((typeof File !== 'undefined' && value instanceof File) ||
22
- (typeof Blob !== 'undefined' && value instanceof Blob) ||
23
- value instanceof ReactNativeFile);
24
- }
25
- /**
26
- * Clones a value, recursively extracting
27
- */
28
- export default function extractFiles(value, path = '', isExtractableFileFunc = isExtractableFile) {
29
- // Map of extracted files and their object paths within the input value.
30
- const files = new Map();
31
- // Map of arrays and objects recursed within the input value and their clones,
32
- // for reusing clones of values that are referenced multiple times within the
33
- // input value.
34
- const clones = new Map();
35
- /**
36
- * Recursively clones the value, extracting files.
37
- */
38
- function recurse(recurseValue, recursePath, recursed) {
39
- let clone = recurseValue;
40
- if (isExtractableFileFunc(recurseValue)) {
41
- clone = null;
42
- const filePaths = files.get(recurseValue);
43
- filePaths ? filePaths.push(recursePath) : files.set(recurseValue, [recursePath]);
44
- }
45
- else {
46
- const isList = Array.isArray(recurseValue) || (typeof FileList !== 'undefined' && recurseValue instanceof FileList);
47
- const isObject = recurseValue && recurseValue.constructor === Object;
48
- if (isList || isObject) {
49
- const hasClone = clones.has(recurseValue);
50
- if (hasClone) {
51
- clone = clones.get(recurseValue);
52
- }
53
- else {
54
- clone = isList ? [] : {};
55
- clones.set(recurseValue, clone);
56
- }
57
- if (!recursed.has(recurseValue)) {
58
- const pathPrefix = recursePath ? `${recursePath}.` : '';
59
- const recursedDeeper = new Set(recursed).add(recurseValue);
60
- if (isList) {
61
- let index = 0;
62
- for (const item of recurseValue) {
63
- const itemClone = recurse(item, pathPrefix + index++, recursedDeeper);
64
- if (!hasClone) {
65
- clone.push(itemClone);
66
- }
67
- }
68
- }
69
- else {
70
- for (const key of Object.keys(recurseValue)) {
71
- const propertyClone = recurse(recurseValue[key], pathPrefix + key, recursedDeeper);
72
- if (!hasClone) {
73
- clone[key] = propertyClone;
74
- }
75
- }
76
- }
77
- }
78
- }
79
- }
80
- return clone;
81
- }
82
- return {
83
- clone: recurse(value, path, new Set()),
84
- files,
85
- };
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC1maWxlcy5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2Z1bmN0aW9ucy9leHRyYWN0LWZpbGVzLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLGVBQWU7SUFDQTtJQUFvQjtJQUFxQjtJQUE1RCxZQUFtQixHQUFXLEVBQVMsSUFBWSxFQUFTLElBQVk7UUFBckQsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztDQUM3RTtBQUVEOztHQUVHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxLQUFLO0lBQzlCLE9BQU8sQ0FDTCxDQUFDLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDO1FBQ3RELENBQUMsT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssWUFBWSxJQUFJLENBQUM7UUFDdEQsS0FBSyxZQUFZLGVBQWUsQ0FDakMsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixHQUFHLGlCQUFpQjtJQUM5Rix3RUFBd0U7SUFDeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV4Qiw4RUFBOEU7SUFDOUUsNkVBQTZFO0lBQzdFLGVBQWU7SUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXpCOztPQUVHO0lBQ0gsU0FBUyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxRQUFRO1FBQ2xELElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQztRQUV6QixJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUViLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFMUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDbkYsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE1BQU0sR0FDVixLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxJQUFJLFlBQVksWUFBWSxRQUFRLENBQUMsQ0FBQztZQUN2RyxNQUFNLFFBQVEsR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUM7WUFFckUsSUFBSSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRTFDLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ25DLENBQUM7cUJBQU0sQ0FBQztvQkFDTixLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFFekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDaEMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFFM0QsSUFBSSxNQUFNLEVBQUUsQ0FBQzt3QkFDWCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBRWQsS0FBSyxNQUFNLElBQUksSUFBSSxZQUFtQixFQUFFLENBQUM7NEJBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLEtBQUssRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDOzRCQUV0RSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0NBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs0QkFDeEIsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzs0QkFDNUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDOzRCQUVuRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0NBQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQzs0QkFDN0IsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW5zcGlyZWQgYnkgSW5wc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9qYXlkZW5zZXJpYy9leHRyYWN0LWZpbGVzL3JlbGVhc2VzL3RhZy92MTEuMC4wXG4gKi9cblxuLyoqXG4gKiBSZWFjdGl2ZSBuYXRpdmUgZmlsZVxuICovXG5jbGFzcyBSZWFjdE5hdGl2ZUZpbGUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXJpOiBzdHJpbmcsIHB1YmxpYyBuYW1lOiBzdHJpbmcsIHB1YmxpYyB0eXBlOiBzdHJpbmcpIHt9XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB2YWx1ZSBpcyBhbiBleHRyYWN0YWJsZSBmaWxlXG4gKi9cbmZ1bmN0aW9uIGlzRXh0cmFjdGFibGVGaWxlKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBGaWxlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHx8XG4gICAgKHR5cGVvZiBCbG9iICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEJsb2IpIHx8XG4gICAgdmFsdWUgaW5zdGFuY2VvZiBSZWFjdE5hdGl2ZUZpbGVcbiAgKTtcbn1cblxuLyoqXG4gKiBDbG9uZXMgYSB2YWx1ZSwgcmVjdXJzaXZlbHkgZXh0cmFjdGluZ1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBleHRyYWN0RmlsZXModmFsdWUsIHBhdGggPSAnJywgaXNFeHRyYWN0YWJsZUZpbGVGdW5jID0gaXNFeHRyYWN0YWJsZUZpbGUpIHtcbiAgLy8gTWFwIG9mIGV4dHJhY3RlZCBmaWxlcyBhbmQgdGhlaXIgb2JqZWN0IHBhdGhzIHdpdGhpbiB0aGUgaW5wdXQgdmFsdWUuXG4gIGNvbnN0IGZpbGVzID0gbmV3IE1hcCgpO1xuXG4gIC8vIE1hcCBvZiBhcnJheXMgYW5kIG9iamVjdHMgcmVjdXJzZWQgd2l0aGluIHRoZSBpbnB1dCB2YWx1ZSBhbmQgdGhlaXIgY2xvbmVzLFxuICAvLyBmb3IgcmV1c2luZyBjbG9uZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHJlZmVyZW5jZWQgbXVsdGlwbGUgdGltZXMgd2l0aGluIHRoZVxuICAvLyBpbnB1dCB2YWx1ZS5cbiAgY29uc3QgY2xvbmVzID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBjbG9uZXMgdGhlIHZhbHVlLCBleHRyYWN0aW5nIGZpbGVzLlxuICAgKi9cbiAgZnVuY3Rpb24gcmVjdXJzZShyZWN1cnNlVmFsdWUsIHJlY3Vyc2VQYXRoLCByZWN1cnNlZCkge1xuICAgIGxldCBjbG9uZSA9IHJlY3Vyc2VWYWx1ZTtcblxuICAgIGlmIChpc0V4dHJhY3RhYmxlRmlsZUZ1bmMocmVjdXJzZVZhbHVlKSkge1xuICAgICAgY2xvbmUgPSBudWxsO1xuXG4gICAgICBjb25zdCBmaWxlUGF0aHMgPSBmaWxlcy5nZXQocmVjdXJzZVZhbHVlKTtcblxuICAgICAgZmlsZVBhdGhzID8gZmlsZVBhdGhzLnB1c2gocmVjdXJzZVBhdGgpIDogZmlsZXMuc2V0KHJlY3Vyc2VWYWx1ZSwgW3JlY3Vyc2VQYXRoXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlzTGlzdCA9XG4gICAgICAgIEFycmF5LmlzQXJyYXkocmVjdXJzZVZhbHVlKSB8fCAodHlwZW9mIEZpbGVMaXN0ICE9PSAndW5kZWZpbmVkJyAmJiByZWN1cnNlVmFsdWUgaW5zdGFuY2VvZiBGaWxlTGlzdCk7XG4gICAgICBjb25zdCBpc09iamVjdCA9IHJlY3Vyc2VWYWx1ZSAmJiByZWN1cnNlVmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdDtcblxuICAgICAgaWYgKGlzTGlzdCB8fCBpc09iamVjdCkge1xuICAgICAgICBjb25zdCBoYXNDbG9uZSA9IGNsb25lcy5oYXMocmVjdXJzZVZhbHVlKTtcblxuICAgICAgICBpZiAoaGFzQ2xvbmUpIHtcbiAgICAgICAgICBjbG9uZSA9IGNsb25lcy5nZXQocmVjdXJzZVZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbG9uZSA9IGlzTGlzdCA/IFtdIDoge307XG5cbiAgICAgICAgICBjbG9uZXMuc2V0KHJlY3Vyc2VWYWx1ZSwgY2xvbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyZWN1cnNlZC5oYXMocmVjdXJzZVZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IHBhdGhQcmVmaXggPSByZWN1cnNlUGF0aCA/IGAke3JlY3Vyc2VQYXRofS5gIDogJyc7XG4gICAgICAgICAgY29uc3QgcmVjdXJzZWREZWVwZXIgPSBuZXcgU2V0KHJlY3Vyc2VkKS5hZGQocmVjdXJzZVZhbHVlKTtcblxuICAgICAgICAgIGlmIChpc0xpc3QpIHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByZWN1cnNlVmFsdWUgYXMgYW55KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1DbG9uZSA9IHJlY3Vyc2UoaXRlbSwgcGF0aFByZWZpeCArIGluZGV4KyssIHJlY3Vyc2VkRGVlcGVyKTtcblxuICAgICAgICAgICAgICBpZiAoIWhhc0Nsb25lKSB7XG4gICAgICAgICAgICAgICAgY2xvbmUucHVzaChpdGVtQ2xvbmUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlY3Vyc2VWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHlDbG9uZSA9IHJlY3Vyc2UocmVjdXJzZVZhbHVlW2tleV0sIHBhdGhQcmVmaXggKyBrZXksIHJlY3Vyc2VkRGVlcGVyKTtcblxuICAgICAgICAgICAgICBpZiAoIWhhc0Nsb25lKSB7XG4gICAgICAgICAgICAgICAgY2xvbmVba2V5XSA9IHByb3BlcnR5Q2xvbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNsb25lOiByZWN1cnNlKHZhbHVlLCBwYXRoLCBuZXcgU2V0KCkpLFxuICAgIGZpbGVzLFxuICB9O1xufVxuIl19
@@ -1,91 +0,0 @@
1
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { BASE_MODULE_CONFIG } from '@lenne.tech/ng-base/shared';
4
- import { isPlatformBrowser } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "@lenne.tech/ng-base/shared";
8
- /**
9
- * Authentication guard
10
- */
11
- export class AuthGuard {
12
- router;
13
- authService;
14
- moduleConfig;
15
- platformId;
16
- /**
17
- * Imports
18
- */
19
- constructor(router, authService, moduleConfig, platformId) {
20
- this.router = router;
21
- this.authService = authService;
22
- this.moduleConfig = moduleConfig;
23
- this.platformId = platformId;
24
- }
25
- /**
26
- * Can activate main route
27
- */
28
- canActivate(route, state) {
29
- if (isPlatformBrowser(this.platformId)) {
30
- return new Observable((subscriber) => {
31
- let allowed = false;
32
- let redirected = false;
33
- /* If the user is logged in and the route is not marked as opposite, then the user is allowed to access the route. */
34
- const opposite = route?.data?.opposite ? route?.data?.opposite : false;
35
- const redirectAuthUrl = route?.data?.redirectAuthUrl
36
- ? route.data.redirectAuthUrl
37
- : this.moduleConfig.authGuardRedirectUrl;
38
- const redirectRoleUrl = route?.data?.redirectRoleUrl
39
- ? route.data.redirectRoleUrl
40
- : this.moduleConfig.authGuardRedirectUrl;
41
- const disableQueryParams = route?.data?.disableQueryParams ?? false;
42
- const queryParams = disableQueryParams
43
- ? {}
44
- : {
45
- queryParams: {
46
- redirectUrl: route['_routerState'].url,
47
- },
48
- };
49
- if (this.authService.token && !opposite) {
50
- if (route.data?.roles) {
51
- const user = this.authService.currentUser;
52
- allowed = !!route.data.roles.find((role) => user.roles?.includes(role));
53
- if (!allowed && redirectRoleUrl) {
54
- this.router.navigate([redirectRoleUrl], queryParams);
55
- redirected = true;
56
- }
57
- }
58
- else {
59
- allowed = true;
60
- }
61
- }
62
- else if (!this.authService.token && opposite) {
63
- allowed = true;
64
- }
65
- if (!allowed && redirectAuthUrl && !redirected) {
66
- this.router.navigate([redirectAuthUrl], queryParams);
67
- }
68
- subscriber.next(allowed);
69
- subscriber.complete();
70
- });
71
- }
72
- }
73
- /**
74
- * Can activate child route
75
- */
76
- canActivateChild(route, state) {
77
- return this.canActivate(route, state);
78
- }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: BASE_MODULE_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
80
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthGuard });
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthGuard, decorators: [{
83
- type: Injectable
84
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: undefined, decorators: [{
85
- type: Inject,
86
- args: [BASE_MODULE_CONFIG]
87
- }] }, { type: undefined, decorators: [{
88
- type: Inject,
89
- args: [PLATFORM_ID]
90
- }] }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2d1YXJkcy9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBZSxrQkFBa0IsRUFBb0IsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVwRDs7R0FFRztBQUVILE1BQU0sT0FBTyxTQUFTO0lBS1Y7SUFDQTtJQUM0QjtJQUNQO0lBUC9COztPQUVHO0lBQ0gsWUFDVSxNQUFjLEVBQ2QsV0FBd0IsRUFDSSxZQUE4QixFQUNyQyxVQUFrQjtRQUh2QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDSSxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUM5QyxDQUFDO0lBRUo7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNuRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLHFIQUFxSDtnQkFDckgsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZFLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZTtvQkFDbEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZTtvQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7Z0JBQzNDLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZTtvQkFDbEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZTtvQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7Z0JBQzNDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxrQkFBa0IsSUFBSSxLQUFLLENBQUM7Z0JBQ3BFLE1BQU0sV0FBVyxHQUFHLGtCQUFrQjtvQkFDcEMsQ0FBQyxDQUFDLEVBQUU7b0JBQ0osQ0FBQyxDQUFDO3dCQUNFLFdBQVcsRUFBRTs0QkFDWCxXQUFXLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUc7eUJBQ3ZDO3FCQUNGLENBQUM7Z0JBRU4sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN4QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7d0JBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO3dCQUMxQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFFeEUsSUFBSSxDQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUUsQ0FBQzs0QkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQzs0QkFDckQsVUFBVSxHQUFHLElBQUksQ0FBQzt3QkFDcEIsQ0FBQztvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDakIsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDakIsQ0FBQztnQkFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLGVBQWUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzt1R0FuRVUsU0FBUyxtRUFPVixrQkFBa0IsYUFDbEIsV0FBVzsyR0FSVixTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixVQUFVOzswQkFRTixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQkFTRV9NT0RVTEVfQ09ORklHLCBCYXNlTW9kdWxlQ29uZmlnIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9zaGFyZWQnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEF1dGhlbnRpY2F0aW9uIGd1YXJkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQge1xuICAvKipcbiAgICogSW1wb3J0c1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBASW5qZWN0KEJBU0VfTU9EVUxFX0NPTkZJRykgcHJpdmF0ZSBtb2R1bGVDb25maWc6IEJhc2VNb2R1bGVDb25maWcsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3RcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDYW4gYWN0aXZhdGUgbWFpbiByb3V0ZVxuICAgKi9cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICBsZXQgYWxsb3dlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgcmVkaXJlY3RlZCA9IGZhbHNlO1xuICAgICAgICAvKiBJZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIHRoZSByb3V0ZSBpcyBub3QgbWFya2VkIGFzIG9wcG9zaXRlLCB0aGVuIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSByb3V0ZS4gKi9cbiAgICAgICAgY29uc3Qgb3Bwb3NpdGUgPSByb3V0ZT8uZGF0YT8ub3Bwb3NpdGUgPyByb3V0ZT8uZGF0YT8ub3Bwb3NpdGUgOiBmYWxzZTtcbiAgICAgICAgY29uc3QgcmVkaXJlY3RBdXRoVXJsID0gcm91dGU/LmRhdGE/LnJlZGlyZWN0QXV0aFVybFxuICAgICAgICAgID8gcm91dGUuZGF0YS5yZWRpcmVjdEF1dGhVcmxcbiAgICAgICAgICA6IHRoaXMubW9kdWxlQ29uZmlnLmF1dGhHdWFyZFJlZGlyZWN0VXJsO1xuICAgICAgICBjb25zdCByZWRpcmVjdFJvbGVVcmwgPSByb3V0ZT8uZGF0YT8ucmVkaXJlY3RSb2xlVXJsXG4gICAgICAgICAgPyByb3V0ZS5kYXRhLnJlZGlyZWN0Um9sZVVybFxuICAgICAgICAgIDogdGhpcy5tb2R1bGVDb25maWcuYXV0aEd1YXJkUmVkaXJlY3RVcmw7XG4gICAgICAgIGNvbnN0IGRpc2FibGVRdWVyeVBhcmFtcyA9IHJvdXRlPy5kYXRhPy5kaXNhYmxlUXVlcnlQYXJhbXMgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gZGlzYWJsZVF1ZXJ5UGFyYW1zXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgIHJlZGlyZWN0VXJsOiByb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS50b2tlbiAmJiAhb3Bwb3NpdGUpIHtcbiAgICAgICAgICBpZiAocm91dGUuZGF0YT8ucm9sZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyO1xuICAgICAgICAgICAgYWxsb3dlZCA9ICEhcm91dGUuZGF0YS5yb2xlcy5maW5kKChyb2xlKSA9PiB1c2VyLnJvbGVzPy5pbmNsdWRlcyhyb2xlKSk7XG5cbiAgICAgICAgICAgIGlmICghYWxsb3dlZCAmJiByZWRpcmVjdFJvbGVVcmwpIHtcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0Um9sZVVybF0sIHF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsbG93ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5hdXRoU2VydmljZS50b2tlbiAmJiBvcHBvc2l0ZSkge1xuICAgICAgICAgIGFsbG93ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhbGxvd2VkICYmIHJlZGlyZWN0QXV0aFVybCAmJiAhcmVkaXJlY3RlZCkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdEF1dGhVcmxdLCBxdWVyeVBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBzdWJzY3JpYmVyLm5leHQoYWxsb3dlZCk7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYW4gYWN0aXZhdGUgY2hpbGQgcm91dGVcbiAgICovXG4gIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgfVxufVxuIl19
@@ -1,16 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Guard to check if a component can be deactivated
5
- */
6
- export class CanDeactivateGuard {
7
- canDeactivate(component) {
8
- return component.canDeactivate ? component.canDeactivate() : true;
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CanDeactivateGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CanDeactivateGuard });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CanDeactivateGuard, decorators: [{
14
- type: Injectable
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRlYWN0aXZhdGUuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9ndWFyZHMvY2FuLWRlYWN0aXZhdGUuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLGFBQWEsQ0FBQyxTQUFrQztRQUM5QyxPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUM7dUdBSFUsa0JBQWtCOzJHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElDYW5Db21wb25lbnREZWFjdGl2YXRlIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9zaGFyZWQnO1xuXG4vKipcbiAqIEd1YXJkIHRvIGNoZWNrIGlmIGEgY29tcG9uZW50IGNhbiBiZSBkZWFjdGl2YXRlZFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FuRGVhY3RpdmF0ZUd1YXJkIHtcbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IElDYW5Db21wb25lbnREZWFjdGl2YXRlKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudC5jYW5EZWFjdGl2YXRlID8gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKSA6IHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@lenne.tech/ng-base/shared";
6
- /**
7
- * Logout guard
8
- */
9
- export class LogoutGuard {
10
- router;
11
- authService;
12
- constructor(router, authService) {
13
- this.router = router;
14
- this.authService = authService;
15
- }
16
- canActivate(route, state) {
17
- return new Observable((subscriber) => {
18
- if (this.authService.token) {
19
- this.authService.logout();
20
- }
21
- subscriber.next(true);
22
- subscriber.complete();
23
- });
24
- }
25
- canActivateChild(route, state) {
26
- return this.canActivate(route, state);
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LogoutGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
29
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LogoutGuard });
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LogoutGuard, decorators: [{
32
- type: Injectable
33
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zcmMvZ3VhcmRzL2xvZ291dC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFHbEM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sV0FBVztJQUNGO0lBQXdCO0lBQTVDLFlBQW9CLE1BQWMsRUFBVSxXQUF3QjtRQUFoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXhFLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNuQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDeEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO3VHQWhCVSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAbGVubmUudGVjaC9uZy1iYXNlL3NoYXJlZCc7XG5cbi8qKlxuICogTG9nb3V0IGd1YXJkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2dvdXRHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UudG9rZW4pIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcbiAgICAgIH1cblxuICAgICAgc3Vic2NyaWJlci5uZXh0KHRydWUpO1xuICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShyb3V0ZSwgc3RhdGUpO1xuICB9XG59XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DateAgoPipe {
4
- intervals = {
5
- year: 31536000,
6
- month: 2592000,
7
- week: 604800,
8
- day: 86400,
9
- hour: 3600,
10
- minute: 60,
11
- second: 1,
12
- };
13
- singular = {
14
- year: 'Jahr',
15
- month: 'Monat',
16
- week: 'Woche',
17
- day: 'Tag',
18
- hour: 'Stunde',
19
- minute: 'Minute',
20
- second: 'Sekunde',
21
- };
22
- plural = {
23
- year: 'Jahren',
24
- month: 'Monaten',
25
- week: 'Wochen',
26
- day: 'Tagen',
27
- hour: 'Stunden',
28
- minute: 'Minuten',
29
- second: 'Sekunden',
30
- };
31
- transform(value, currentDate) {
32
- const now = currentDate ?? new Date();
33
- if (value) {
34
- const seconds = Math.floor((+now - +new Date(value)) / 1000);
35
- if (seconds < 29) {
36
- return 'gerade eben'; // less than 30 seconds ago will show as 'Just now'
37
- }
38
- let counter;
39
- for (const i of Object.keys(this.intervals)) {
40
- counter = Math.floor(seconds / this.intervals[i]);
41
- if (counter > 0) {
42
- if (counter === 1) {
43
- return 'vor ' + counter + ' ' + this.singular[i]; // singular (1 day ago)
44
- }
45
- else {
46
- return 'vor ' + counter + ' ' + this.plural[i]; // plural (2 days ago)
47
- }
48
- }
49
- }
50
- }
51
- return value;
52
- }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DateAgoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
54
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: DateAgoPipe, isStandalone: true, name: "dateAgo" });
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DateAgoPipe, decorators: [{
57
- type: Pipe,
58
- args: [{
59
- name: 'dateAgo',
60
- pure: true,
61
- standalone: true,
62
- }]
63
- }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL3BpcGVzL2RhdGUtYWdvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxLQUFLO1FBQ1YsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDO0tBQ1YsQ0FBQztJQUVGLFFBQVEsR0FBRztRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsT0FBTztRQUNiLEdBQUcsRUFBRSxLQUFLO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0lBRUYsTUFBTSxHQUFHO1FBQ1AsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsUUFBUTtRQUNkLEdBQUcsRUFBRSxPQUFPO1FBQ1osSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO0lBRUYsU0FBUyxDQUFDLEtBQVUsRUFBRSxXQUFrQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLE9BQU8sR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxhQUFhLENBQUMsQ0FBQyxtREFBbUQ7WUFDM0UsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDO1lBQ1osS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ2xCLE9BQU8sTUFBTSxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtvQkFDM0UsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sTUFBTSxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtvQkFDeEUsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBcERVLFdBQVc7cUdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFMdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2RhdGVBZ28nLFxuICBwdXJlOiB0cnVlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQWdvUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBpbnRlcnZhbHMgPSB7XG4gICAgeWVhcjogMzE1MzYwMDAsXG4gICAgbW9udGg6IDI1OTIwMDAsXG4gICAgd2VlazogNjA0ODAwLFxuICAgIGRheTogODY0MDAsXG4gICAgaG91cjogMzYwMCxcbiAgICBtaW51dGU6IDYwLFxuICAgIHNlY29uZDogMSxcbiAgfTtcblxuICBzaW5ndWxhciA9IHtcbiAgICB5ZWFyOiAnSmFocicsXG4gICAgbW9udGg6ICdNb25hdCcsXG4gICAgd2VlazogJ1dvY2hlJyxcbiAgICBkYXk6ICdUYWcnLFxuICAgIGhvdXI6ICdTdHVuZGUnLFxuICAgIG1pbnV0ZTogJ01pbnV0ZScsXG4gICAgc2Vjb25kOiAnU2VrdW5kZScsXG4gIH07XG5cbiAgcGx1cmFsID0ge1xuICAgIHllYXI6ICdKYWhyZW4nLFxuICAgIG1vbnRoOiAnTW9uYXRlbicsXG4gICAgd2VlazogJ1dvY2hlbicsXG4gICAgZGF5OiAnVGFnZW4nLFxuICAgIGhvdXI6ICdTdHVuZGVuJyxcbiAgICBtaW51dGU6ICdNaW51dGVuJyxcbiAgICBzZWNvbmQ6ICdTZWt1bmRlbicsXG4gIH07XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGN1cnJlbnREYXRlPzogRGF0ZSk6IGFueSB7XG4gICAgY29uc3Qgbm93ID0gY3VycmVudERhdGUgPz8gbmV3IERhdGUoKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKCgrbm93IC0gK25ldyBEYXRlKHZhbHVlKSkgLyAxMDAwKTtcbiAgICAgIGlmIChzZWNvbmRzIDwgMjkpIHtcbiAgICAgICAgcmV0dXJuICdnZXJhZGUgZWJlbic7IC8vIGxlc3MgdGhhbiAzMCBzZWNvbmRzIGFnbyB3aWxsIHNob3cgYXMgJ0p1c3Qgbm93J1xuICAgICAgfVxuXG4gICAgICBsZXQgY291bnRlcjtcbiAgICAgIGZvciAoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0aGlzLmludGVydmFscykpIHtcbiAgICAgICAgY291bnRlciA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIHRoaXMuaW50ZXJ2YWxzW2ldKTtcbiAgICAgICAgaWYgKGNvdW50ZXIgPiAwKSB7XG4gICAgICAgICAgaWYgKGNvdW50ZXIgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiAndm9yICcgKyBjb3VudGVyICsgJyAnICsgdGhpcy5zaW5ndWxhcltpXTsgLy8gc2luZ3VsYXIgKDEgZGF5IGFnbylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICd2b3IgJyArIGNvdW50ZXIgKyAnICcgKyB0aGlzLnBsdXJhbFtpXTsgLy8gcGx1cmFsICgyIGRheXMgYWdvKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- /**
5
- * Declarate html as safe
6
- */
7
- export class SafeHtmlPipe {
8
- sanitized;
9
- constructor(sanitized) {
10
- this.sanitized = sanitized;
11
- }
12
- transform(value) {
13
- return this.sanitized.bypassSecurityTrustHtml(value);
14
- }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
16
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "ltSafeHtml" });
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SafeHtmlPipe, decorators: [{
19
- type: Pipe,
20
- args: [{ name: 'ltSafeHtml', standalone: true }]
21
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9waXBlcy9zYWZlLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFDSDtJQUFwQixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUvQyxTQUFTLENBQUMsS0FBSztRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO3VHQUxVLFlBQVk7cUdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERlY2xhcmF0ZSBodG1sIGFzIHNhZmVcbiAqL1xuQFBpcGUoeyBuYW1lOiAnbHRTYWZlSHRtbCcsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFNhZmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZSkge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplZC5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==