@ng-atomic/common 16.2.0 → 16.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/directives/fallback-src/fallback-src.directive.d.ts +9 -0
  2. package/directives/fallback-src/index.d.ts +1 -0
  3. package/esm2022/directives/fallback-src/fallback-src.directive.mjs +25 -0
  4. package/esm2022/directives/fallback-src/index.mjs +2 -0
  5. package/esm2022/directives/fallback-src/ng-atomic-common-directives-fallback-src.mjs +5 -0
  6. package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.mjs +4 -4
  7. package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.mjs +5 -5
  8. package/esm2022/interceptors/authorization/authorization.interceptor.mjs +4 -4
  9. package/esm2022/interceptors/index.mjs +2 -0
  10. package/esm2022/interceptors/interceptors.module.mjs +54 -0
  11. package/esm2022/interceptors/ng-atomic-common-interceptors.mjs +5 -0
  12. package/esm2022/interceptors/throttle/throttle.interceptor.mjs +8 -8
  13. package/esm2022/interceptors/token/authorization.interceptor.mjs +4 -4
  14. package/esm2022/models/index.mjs +1 -1
  15. package/esm2022/pipes/actions/actions.pipe.mjs +4 -4
  16. package/esm2022/pipes/data-accessor/data-accessor.pipe.mjs +14 -14
  17. package/esm2022/pipes/domain/domain.pipe.mjs +50 -21
  18. package/esm2022/pipes/error/error.pipe.mjs +4 -4
  19. package/esm2022/pipes/grouped-by/grouped-by.pipe.mjs +6 -4
  20. package/esm2022/pipes/index/index.mjs +2 -0
  21. package/esm2022/pipes/index/index.pipe.mjs +29 -0
  22. package/esm2022/pipes/index/ng-atomic-common-pipes-index.mjs +5 -0
  23. package/esm2022/pipes/index-length/index-length.pipe.mjs +22 -0
  24. package/esm2022/pipes/index-length/index.mjs +2 -0
  25. package/esm2022/pipes/index-length/ng-atomic-common-pipes-index-length.mjs +5 -0
  26. package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
  27. package/esm2022/pipes/page/index.mjs +2 -0
  28. package/esm2022/pipes/page/ng-atomic-common-pipes-page.mjs +5 -0
  29. package/esm2022/pipes/page/page.pipe.mjs +25 -0
  30. package/esm2022/pipes/pagination/pagination.pipe.mjs +9 -9
  31. package/esm2022/pipes/query/query.pipe.mjs +14 -7
  32. package/esm2022/pipes/secret/index.mjs +2 -0
  33. package/esm2022/pipes/secret/ng-atomic-common-pipes-secret.mjs +5 -0
  34. package/esm2022/pipes/secret/secret.pipe.mjs +21 -0
  35. package/esm2022/pipes/select-id/select-id.pipe.mjs +6 -6
  36. package/esm2022/pipes/signal/signal.pipe.mjs +8 -4
  37. package/esm2022/pipes/smart-exp/smart-exp.module.mjs +5 -5
  38. package/esm2022/pipes/smart-exp/smart-exp.pipe.mjs +6 -6
  39. package/esm2022/pipes/smart-field/smart-field.pipe.mjs +21 -21
  40. package/esm2022/pipes/sort-by/index.mjs +2 -0
  41. package/esm2022/pipes/sort-by/ng-atomic-common-pipes-sort-by.mjs +5 -0
  42. package/esm2022/pipes/sort-by/sort-by.pipe.mjs +32 -0
  43. package/esm2022/pipes/yen/yen.pipe.mjs +4 -4
  44. package/esm2022/services/auth/auth.service.mjs +35 -20
  45. package/esm2022/services/chips-manager/chips.manager.mjs +4 -4
  46. package/esm2022/services/csv/csv.service.mjs +4 -4
  47. package/esm2022/services/form/pagination/pagination.service.mjs +4 -4
  48. package/esm2022/services/form/sort/sort.service.mjs +5 -5
  49. package/esm2022/services/loading/loading.service.mjs +42 -21
  50. package/esm2022/services/navigation-history/index.mjs +2 -0
  51. package/esm2022/services/navigation-history/navigation-history.service.mjs +50 -0
  52. package/esm2022/services/navigation-history/ng-atomic-common-services-navigation-history.mjs +5 -0
  53. package/esm2022/services/query-resolver/query-resolver.service.mjs +87 -25
  54. package/esm2022/services/root-property/index.mjs +2 -0
  55. package/esm2022/services/root-property/ng-atomic-common-services-root-property.mjs +5 -0
  56. package/esm2022/services/root-property/root-property.service.mjs +122 -0
  57. package/esm2022/services/router/index.mjs +2 -0
  58. package/esm2022/services/router/ng-atomic-common-services-router.mjs +5 -0
  59. package/esm2022/services/router/router.service.mjs +25 -0
  60. package/esm2022/services/secret/index.mjs +2 -0
  61. package/esm2022/services/secret/ng-atomic-common-services-secret.mjs +5 -0
  62. package/esm2022/services/secret/secret.service.mjs +16 -0
  63. package/esm2022/services/side-app/index.mjs +2 -0
  64. package/esm2022/services/side-app/ng-atomic-common-services-side-app.mjs +5 -0
  65. package/esm2022/services/side-app/side-app.service.mjs +25 -0
  66. package/esm2022/services/side-nav-mode/index.mjs +2 -0
  67. package/esm2022/services/side-nav-mode/ng-atomic-common-services-side-nav-mode.mjs +5 -0
  68. package/esm2022/services/side-nav-mode/side-nav-mode.service.mjs +27 -0
  69. package/esm2022/services/snack-bar/snack-bar.module.mjs +5 -5
  70. package/esm2022/services/snack-bar/snack-bar.service.mjs +6 -6
  71. package/esm2022/services/ui/index.mjs +2 -1
  72. package/esm2022/services/ui/ui.helpers.mjs +186 -0
  73. package/esm2022/services/ui/ui.service.mjs +55 -173
  74. package/esm2022/stores/entities/di.mjs +56 -0
  75. package/esm2022/stores/entities/entity-store-manager.mjs +42 -0
  76. package/esm2022/stores/entities/entity-store.mjs +127 -0
  77. package/esm2022/stores/entities/index.mjs +6 -2
  78. package/esm2022/stores/entities/proxy-id.service.mjs +29 -0
  79. package/esm2022/stores/entities/task-composer.mjs +71 -0
  80. package/esm2022/stores/pagination/pagination.store.mjs +5 -5
  81. package/esm2022/stores/query/query.store.mjs +7 -7
  82. package/esm2022/stores/selection/selection.store.mjs +5 -5
  83. package/esm2022/stores/sort/sort.store.mjs +5 -5
  84. package/esm2022/utils/form/form.mjs +26 -0
  85. package/esm2022/utils/form/index.mjs +2 -0
  86. package/esm2022/utils/get/get.mjs +2 -1
  87. package/esm2022/utils/index.mjs +5 -2
  88. package/esm2022/utils/inject/index.mjs +2 -0
  89. package/esm2022/utils/inject/inject.mjs +120 -0
  90. package/esm2022/utils/mat-dayjs-date/dayjs-date.adapter.mjs +3 -2
  91. package/esm2022/utils/mat-dayjs-date/dayjs-date.module.mjs +22 -26
  92. package/esm2022/utils/page/page.mjs +1 -1
  93. package/esm2022/utils/router/index.mjs +2 -0
  94. package/esm2022/utils/router/router.mjs +54 -0
  95. package/esm2022/utils/time.mjs +8 -0
  96. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +32 -0
  97. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -0
  98. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +7 -7
  99. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
  100. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -3
  101. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +7 -7
  103. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
  104. package/fesm2022/ng-atomic-common-interceptors-token.mjs +3 -3
  105. package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-common-interceptors.mjs +61 -0
  107. package/fesm2022/ng-atomic-common-interceptors.mjs.map +1 -0
  108. package/fesm2022/ng-atomic-common-pipes-actions.mjs +3 -3
  109. package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +14 -14
  111. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-common-pipes-domain.mjs +50 -21
  113. package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-common-pipes-error.mjs +3 -3
  115. package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +5 -3
  117. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-common-pipes-index-length.mjs +29 -0
  119. package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +1 -0
  120. package/fesm2022/ng-atomic-common-pipes-index.mjs +36 -0
  121. package/fesm2022/ng-atomic-common-pipes-index.mjs.map +1 -0
  122. package/fesm2022/ng-atomic-common-pipes-keys.mjs +3 -3
  123. package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-common-pipes-page.mjs +32 -0
  125. package/fesm2022/ng-atomic-common-pipes-page.mjs.map +1 -0
  126. package/fesm2022/ng-atomic-common-pipes-pagination.mjs +8 -8
  127. package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-common-pipes-query.mjs +14 -7
  129. package/fesm2022/ng-atomic-common-pipes-query.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-common-pipes-secret.mjs +28 -0
  131. package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +1 -0
  132. package/fesm2022/ng-atomic-common-pipes-select-id.mjs +5 -5
  133. package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-common-pipes-signal.mjs +8 -4
  135. package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs +9 -9
  137. package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs.map +1 -1
  138. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +21 -21
  139. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +39 -0
  141. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -0
  142. package/fesm2022/ng-atomic-common-pipes-yen.mjs +3 -3
  143. package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +1 -1
  144. package/fesm2022/ng-atomic-common-services-auth.mjs +35 -20
  145. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  146. package/fesm2022/ng-atomic-common-services-chips-manager.mjs +3 -3
  147. package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +1 -1
  148. package/fesm2022/ng-atomic-common-services-csv.mjs +3 -3
  149. package/fesm2022/ng-atomic-common-services-csv.mjs.map +1 -1
  150. package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
  151. package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +1 -1
  152. package/fesm2022/ng-atomic-common-services-form-sort.mjs +4 -4
  153. package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
  154. package/fesm2022/ng-atomic-common-services-loading.mjs +42 -21
  155. package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
  156. package/fesm2022/ng-atomic-common-services-navigation-history.mjs +57 -0
  157. package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -0
  158. package/fesm2022/ng-atomic-common-services-query-resolver.mjs +86 -25
  159. package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +1 -1
  160. package/fesm2022/ng-atomic-common-services-root-property.mjs +129 -0
  161. package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -0
  162. package/fesm2022/ng-atomic-common-services-router.mjs +32 -0
  163. package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -0
  164. package/fesm2022/ng-atomic-common-services-secret.mjs +23 -0
  165. package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -0
  166. package/fesm2022/ng-atomic-common-services-side-app.mjs +32 -0
  167. package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -0
  168. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +34 -0
  169. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +1 -0
  170. package/fesm2022/ng-atomic-common-services-snack-bar.mjs +9 -9
  171. package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +1 -1
  172. package/fesm2022/ng-atomic-common-services-ui.mjs +237 -174
  173. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  174. package/fesm2022/ng-atomic-common-stores-entities.mjs +297 -19
  175. package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
  176. package/fesm2022/ng-atomic-common-stores-pagination.mjs +4 -4
  177. package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +1 -1
  178. package/fesm2022/ng-atomic-common-stores-query.mjs +6 -6
  179. package/fesm2022/ng-atomic-common-stores-query.mjs.map +1 -1
  180. package/fesm2022/ng-atomic-common-stores-selection.mjs +4 -4
  181. package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
  182. package/fesm2022/ng-atomic-common-stores-sort.mjs +4 -4
  183. package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
  184. package/fesm2022/ng-atomic-common-utils-page.mjs.map +1 -1
  185. package/fesm2022/ng-atomic-common-utils.mjs +227 -124
  186. package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
  187. package/interceptors/index.d.ts +1 -0
  188. package/interceptors/interceptors.module.d.ts +7 -0
  189. package/models/index.d.ts +34 -0
  190. package/package.json +79 -7
  191. package/pipes/data-accessor/data-accessor.pipe.d.ts +7 -3
  192. package/pipes/domain/domain.pipe.d.ts +51 -5
  193. package/pipes/grouped-by/grouped-by.pipe.d.ts +1 -1
  194. package/pipes/index/index.d.ts +1 -0
  195. package/pipes/index/index.pipe.d.ts +11 -0
  196. package/pipes/index-length/index-length.pipe.d.ts +10 -0
  197. package/pipes/index-length/index.d.ts +1 -0
  198. package/pipes/page/index.d.ts +1 -0
  199. package/pipes/page/page.pipe.d.ts +11 -0
  200. package/pipes/query/query.pipe.d.ts +5 -4
  201. package/pipes/secret/index.d.ts +1 -0
  202. package/pipes/secret/secret.pipe.d.ts +8 -0
  203. package/pipes/signal/signal.pipe.d.ts +1 -0
  204. package/pipes/smart-field/smart-field.pipe.d.ts +48 -15
  205. package/pipes/sort-by/index.d.ts +1 -0
  206. package/pipes/sort-by/sort-by.pipe.d.ts +17 -0
  207. package/services/auth/auth.service.d.ts +32 -25
  208. package/services/loading/loading.service.d.ts +20 -8
  209. package/services/navigation-history/index.d.ts +1 -0
  210. package/services/navigation-history/navigation-history.service.d.ts +14 -0
  211. package/services/query-resolver/query-resolver.service.d.ts +25 -8
  212. package/services/root-property/index.d.ts +1 -0
  213. package/services/root-property/root-property.service.d.ts +91 -0
  214. package/services/router/index.d.ts +1 -0
  215. package/services/router/router.service.d.ts +10 -0
  216. package/services/secret/index.d.ts +1 -0
  217. package/services/secret/secret.service.d.ts +6 -0
  218. package/services/side-app/index.d.ts +1 -0
  219. package/services/side-app/side-app.service.d.ts +9 -0
  220. package/services/side-nav-mode/index.d.ts +1 -0
  221. package/services/side-nav-mode/side-nav-mode.service.d.ts +11 -0
  222. package/services/snack-bar/snack-bar.service.d.ts +1 -1
  223. package/services/ui/index.d.ts +1 -0
  224. package/services/ui/ui.helpers.d.ts +28 -0
  225. package/services/ui/ui.service.d.ts +42 -47
  226. package/stores/entities/di.d.ts +15 -0
  227. package/stores/entities/entity-store-manager.d.ts +12 -0
  228. package/stores/entities/entity-store.d.ts +86 -0
  229. package/stores/entities/index.d.ts +5 -1
  230. package/stores/entities/proxy-id.service.d.ts +10 -0
  231. package/stores/entities/task-composer.d.ts +35 -0
  232. package/stores/query/query.store.d.ts +3 -3
  233. package/utils/form/form.d.ts +10 -0
  234. package/utils/form/index.d.ts +1 -0
  235. package/utils/get/get.d.ts +1 -0
  236. package/utils/index.d.ts +4 -1
  237. package/utils/inject/index.d.ts +1 -0
  238. package/utils/inject/inject.d.ts +50 -0
  239. package/utils/mat-dayjs-date/dayjs-date.module.d.ts +2 -5
  240. package/utils/page/page.d.ts +1 -1
  241. package/utils/router/index.d.ts +1 -0
  242. package/utils/router/router.d.ts +4 -0
  243. package/utils/time.d.ts +1 -0
  244. package/esm2022/pipes/smart-sort-by/index.mjs +0 -4
  245. package/esm2022/pipes/smart-sort-by/ng-atomic-common-pipes-smart-sort-by.mjs +0 -5
  246. package/esm2022/pipes/smart-sort-by/smart-sort-by.module.mjs +0 -24
  247. package/esm2022/pipes/smart-sort-by/smart-sort-by.pipe.mjs +0 -28
  248. package/esm2022/pipes/smart-sort-by/smart-sort-by.transformer.mjs +0 -5
  249. package/esm2022/stores/entities/entities.store.mjs +0 -32
  250. package/esm2022/utils/query/index.mjs +0 -2
  251. package/esm2022/utils/query/query.resolver.mjs +0 -100
  252. package/fesm2022/ng-atomic-common-pipes-smart-sort-by.mjs +0 -60
  253. package/fesm2022/ng-atomic-common-pipes-smart-sort-by.mjs.map +0 -1
  254. package/pipes/smart-sort-by/index.d.ts +0 -3
  255. package/pipes/smart-sort-by/smart-sort-by.module.d.ts +0 -8
  256. package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts +0 -11
  257. package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts +0 -2
  258. package/stores/entities/entities.store.d.ts +0 -19
  259. package/utils/query/index.d.ts +0 -1
  260. package/utils/query/query.resolver.d.ts +0 -2
@@ -0,0 +1,57 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, PLATFORM_ID, signal, computed, Injectable } from '@angular/core';
4
+ import { Router, NavigationStart, NavigationEnd } from '@angular/router';
5
+ import { fromEvent } from 'rxjs';
6
+
7
+ class NavigationHistoryService {
8
+ pop() {
9
+ this.history.update(history => (history.pop(), [...history]));
10
+ }
11
+ push(url) {
12
+ this.history.update(history => ([...history, url]));
13
+ }
14
+ replace(url) {
15
+ this.history.update(history => (history.pop(), [...history, url]));
16
+ }
17
+ constructor() {
18
+ this.platformId = inject(PLATFORM_ID);
19
+ this.router = inject(Router);
20
+ this.history = signal([]);
21
+ this.hasPrevHistory = computed(() => this.history().length > 1);
22
+ this.isInitial = computed(() => !this.hasPrevHistory());
23
+ if (isPlatformBrowser(this.platformId)) {
24
+ fromEvent(window, 'popstate').subscribe(() => this.pop());
25
+ let replaceUrl = false;
26
+ this.router.events.subscribe(event => {
27
+ if (event instanceof NavigationStart) {
28
+ if (this.router.getCurrentNavigation()?.extras?.replaceUrl) {
29
+ replaceUrl = true;
30
+ }
31
+ }
32
+ else if (event instanceof NavigationEnd) {
33
+ if (replaceUrl) {
34
+ this.replace(event.url);
35
+ replaceUrl = false;
36
+ }
37
+ else {
38
+ this.push(event.url);
39
+ }
40
+ }
41
+ });
42
+ }
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NavigationHistoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NavigationHistoryService, providedIn: 'root' }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NavigationHistoryService, decorators: [{
48
+ type: Injectable,
49
+ args: [{ providedIn: 'root' }]
50
+ }], ctorParameters: () => [] });
51
+
52
+ /**
53
+ * Generated bundle index. Do not edit.
54
+ */
55
+
56
+ export { NavigationHistoryService };
57
+ //# sourceMappingURL=ng-atomic-common-services-navigation-history.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-navigation-history.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/navigation-history/navigation-history.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/navigation-history/ng-atomic-common-services-navigation-history.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { Injectable, PLATFORM_ID, computed, inject, signal } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { fromEvent } from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class NavigationHistoryService {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly router = inject(Router);\n protected readonly history = signal<string[]>([]);\n readonly hasPrevHistory = computed(() => this.history().length > 1);\n readonly isInitial = computed(() => !this.hasPrevHistory());\n\n pop() {\n this.history.update(history => (history.pop(), [...history]));\n }\n\n push(url: string) {\n this.history.update(history => ([...history, url]));\n }\n\n replace(url: string) {\n this.history.update(history => (history.pop(), [...history, url]));\n }\n\n constructor() {\n if (isPlatformBrowser(this.platformId)) {\n fromEvent(window, 'popstate').subscribe(() => this.pop());\n let replaceUrl = false;\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.router.getCurrentNavigation()?.extras?.replaceUrl) {\n replaceUrl = true;\n }\n } else if (event instanceof NavigationEnd) {\n if (replaceUrl) {\n this.replace(event.url);\n replaceUrl = false;\n } else {\n this.push(event.url);\n }\n }\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,wBAAwB,CAAA;IAOnC,GAAG,GAAA;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAC/D;AAED,IAAA,IAAI,CAAC,GAAW,EAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACrD;AAED,IAAA,OAAO,CAAC,GAAW,EAAA;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,WAAA,GAAA;AAlBiB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAW,EAAE,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAe1D,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAG;gBACnC,IAAI,KAAK,YAAY,eAAe,EAAE;oBACpC,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;wBAC1D,UAAU,GAAG,IAAI,CAAC;AACnB,qBAAA;AACF,iBAAA;qBAAM,IAAI,KAAK,YAAY,aAAa,EAAE;AACzC,oBAAA,IAAI,UAAU,EAAE;AACd,wBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxB,UAAU,GAAG,KAAK,CAAC;AACpB,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;8GAtCU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACLhC;;AAEG;;;;"}
@@ -1,40 +1,101 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Optional, Inject } from '@angular/core';
2
+ import { Injectable, inject } from '@angular/core';
3
3
  import { DOMAIN_LANG_MAP } from '@ng-atomic/common/pipes/domain';
4
- import { smartExpTransformer, filterByQuery, SMART_EXP_TRANSFORMER } from '@ng-atomic/common/utils';
4
+ import { SMART_EXP_TRANSFORMER, smartExpTransformer, toObject } from '@ng-atomic/common/utils';
5
+ import { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';
6
+ import dayjs from 'dayjs';
7
+ import { DATA_ACCESSOR, defaultDataAccessor } from '@ng-atomic/common/pipes/data-accessor';
5
8
 
9
+ class QueryParserService {
10
+ parse(query) {
11
+ return query.split(' ').filter(q => q.length).map(str => {
12
+ const not = str.startsWith('-');
13
+ if (not)
14
+ str = str.slice(1);
15
+ for (const operator of ['=', '>', '<', ':']) {
16
+ if (str.includes(operator)) {
17
+ const [key, value] = str.split(operator);
18
+ return { key, operator, value, not };
19
+ }
20
+ }
21
+ return { key: '*', operator: ':', value: str, not };
22
+ });
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryParserService, providedIn: 'any' }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryParserService, decorators: [{
28
+ type: Injectable,
29
+ args: [{ providedIn: 'any' }]
30
+ }] });
6
31
  class QueryResolverService {
7
- constructor(transformer, map) {
8
- this.transformer = transformer;
9
- this.map = map;
10
- this.transformer ??= smartExpTransformer;
11
- this.map ??= {};
32
+ constructor() {
33
+ this.parser = inject(QueryParserService);
34
+ this.dataAccessor = inject(DATA_ACCESSOR, { optional: true }) ?? defaultDataAccessor;
35
+ this.transformer = inject(SMART_EXP_TRANSFORMER, { optional: true }) ?? smartExpTransformer;
36
+ this.map = inject(DOMAIN_LANG_MAP, { optional: true }) ?? {};
37
+ this.reversedMap = Object.entries(this.map).reduce((p, [k, v]) => ({ ...p, [v]: k }), {});
38
+ }
39
+ resolve(items, queryStr = '') {
40
+ return this.parser.parse(queryStr).reduce((_items, query) => this.executeQuery(_items, query), items);
41
+ }
42
+ executeQuery(items, query) {
43
+ if (query.key === '*' && query.operator === ':')
44
+ return items.filter(item => this.operateByAllKey(item, in_, query));
45
+ switch (query.operator) {
46
+ case ':': return items.filter(item => this.operateByKey(item, in_, query));
47
+ case '=': return items.filter(item => this.operateByKey(item, eq, query));
48
+ case '>': return items.filter(item => this.operateByKey(item, gt, query));
49
+ case '<': return items.filter(item => this.operateByKey(item, lt, query));
50
+ }
12
51
  }
13
- resolve(items, query, map = this.map) {
14
- const filtered = filterByQuery(items, query, map, this.transformer);
15
- return filtered;
52
+ operateByKey(item, operator, { key, value, not }) {
53
+ let itemValue;
54
+ itemValue = this.dataAccessor(item, key);
55
+ itemValue = this.transformer(itemValue, key);
56
+ return not ? !operator(itemValue, value) : operator(itemValue, value);
16
57
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryResolverService, deps: [{ token: SMART_EXP_TRANSFORMER, optional: true }, { token: DOMAIN_LANG_MAP, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryResolverService, providedIn: 'any' }); }
58
+ operateByAllKey(item, operator, query) {
59
+ const flattenObj = flattenExcludeDayjs(toObject(item));
60
+ return Object.keys(flattenObj).some((key) => this.operateByKey(item, operator, { ...query, key }));
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
63
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryResolverService, providedIn: 'any' }); }
19
64
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryResolverService, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: QueryResolverService, decorators: [{
21
66
  type: Injectable,
22
67
  args: [{ providedIn: 'any' }]
23
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
24
- type: Optional
25
- }, {
26
- type: Inject,
27
- args: [SMART_EXP_TRANSFORMER]
28
- }] }, { type: undefined, decorators: [{
29
- type: Optional
30
- }, {
31
- type: Inject,
32
- args: [DOMAIN_LANG_MAP]
33
- }] }]; } });
68
+ }] });
69
+ function in_(value, query) {
70
+ return typeof value === 'string' ? value?.includes(query) : false;
71
+ }
72
+ function eq(value, query) {
73
+ return typeof value === 'string' ? value === query : false;
74
+ }
75
+ function gt(value, query) {
76
+ // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);
77
+ return typeof value === 'string'
78
+ ? parseFloat(value) > parseFloat(query)
79
+ : typeof value === 'number'
80
+ ? value > parseFloat(query)
81
+ : dayjs.isDayjs(value)
82
+ ? dayjs(query).isBefore(value)
83
+ : false;
84
+ }
85
+ function lt(value, query) {
86
+ // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);
87
+ return typeof value === 'string'
88
+ ? parseFloat(value) < parseFloat(query)
89
+ : typeof value === 'number'
90
+ ? value < parseFloat(query)
91
+ : dayjs.isDayjs(value)
92
+ ? dayjs(query).isAfter(value)
93
+ : false;
94
+ }
34
95
 
35
96
  /**
36
97
  * Generated bundle index. Do not edit.
37
98
  */
38
99
 
39
- export { QueryResolverService };
100
+ export { QueryParserService, QueryResolverService };
40
101
  //# sourceMappingURL=ng-atomic-common-services-query-resolver.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-query-resolver.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/query-resolver/query-resolver.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/query-resolver/ng-atomic-common-services-query-resolver.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { filterByQuery, SmartExpTransformer, smartExpTransformer, SMART_EXP_TRANSFORMER } from '@ng-atomic/common/utils';\n\n\n@Injectable({ providedIn: 'any' })\nexport class QueryResolverService {\n constructor(\n @Optional() @Inject(SMART_EXP_TRANSFORMER) private transformer?: SmartExpTransformer,\n @Optional() @Inject(DOMAIN_LANG_MAP) private map?: Record<string, string>,\n ) {\n this.transformer ??= smartExpTransformer;\n this.map ??= {};\n }\n\n resolve<T>(items: T[], query: string, map: Record<string, string> = this.map): T[] {\n const filtered = filterByQuery(items, query, map, this.transformer);\n return filtered;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,oBAAoB,CAAA;IAC/B,WACqD,CAAA,WAAiC,EACvC,GAA4B,EAAA;QADtB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAsB;QACvC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAyB;AAEzE,QAAA,IAAI,CAAC,WAAW,KAAK,mBAAmB,CAAC;AACzC,QAAA,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;KACjB;IAED,OAAO,CAAI,KAAU,EAAE,KAAa,EAAE,GAA8B,GAAA,IAAI,CAAC,GAAG,EAAA;AAC1E,QAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACpE,QAAA,OAAO,QAAQ,CAAC;KACjB;+GAZU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAET,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACrB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAH1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,KAAK,EAAA,CAAA,CAAA,EAAA;;4FAClB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;;0BAG5B,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;0BACxC,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;;ACTvC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-query-resolver.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/query-resolver/query-resolver.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/query-resolver/ng-atomic-common-services-query-resolver.ts"],"sourcesContent":["import { Injectable, inject } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { toObject } from '@ng-atomic/common/utils';\nimport { smartExpTransformer, SMART_EXP_TRANSFORMER } from '@ng-atomic/common/utils';\nimport { flattenExcludeDayjs as flatten } from '@nx-ddd/core/util/walk-obj';\nimport dayjs from 'dayjs';\nimport { DATA_ACCESSOR, defaultDataAccessor } from \"@ng-atomic/common/pipes/data-accessor\";\n\ninterface Query {\n key: string;\n operator: ':' | '>' | '<' | '=';\n value: string;\n not: boolean;\n}\n\n@Injectable({ providedIn: 'any' })\nexport class QueryParserService {\n parse(query: string): Query[] {\n return query.split(' ').filter(q => q.length).map(str => {\n const not = str.startsWith('-');\n if (not) str = str.slice(1);\n\n for (const operator of ['=', '>', '<', ':'] as const) {\n if (str.includes(operator)) {\n const [key, value] = str.split(operator);\n return { key, operator, value, not };\n }\n }\n return { key: '*', operator: ':', value: str, not };\n });\n }\n}\n\n@Injectable({ providedIn: 'any' })\nexport class QueryResolverService<T extends object> {\n protected parser = inject(QueryParserService);\n protected dataAccessor = inject(DATA_ACCESSOR, {optional: true}) ?? defaultDataAccessor;\n protected transformer = inject(SMART_EXP_TRANSFORMER, {optional: true}) ?? smartExpTransformer;\n protected map = inject(DOMAIN_LANG_MAP, {optional: true}) ?? {};\n protected reversedMap = Object.entries(this.map).reduce((p, [k, v]) => ({...p, [v]: k}), {} as Record<string, string>);\n\n resolve(items: T[], queryStr: string = ''): T[] {\n return this.parser.parse(queryStr).reduce((_items, query) => this.executeQuery(_items, query), items);\n }\n\n protected executeQuery(items: T[], query: Query): T[] {\n if (query.key === '*' && query.operator === ':')\n return items.filter(item => this.operateByAllKey(item, in_, query));\n switch (query.operator) {\n case ':': return items.filter(item => this.operateByKey(item, in_, query));\n case '=': return items.filter(item => this.operateByKey(item, eq, query));\n case '>': return items.filter(item => this.operateByKey(item, gt, query));\n case '<': return items.filter(item => this.operateByKey(item, lt, query));\n }\n }\n\n protected operateByKey(item: T, operator: QueryOperator, {key, value, not}: Query): boolean {\n let itemValue: any;\n itemValue = this.dataAccessor(item, key);\n itemValue = this.transformer(itemValue, key);\n return not ? !operator(itemValue, value) : operator(itemValue, value);\n }\n\n protected operateByAllKey(item: T, operator: QueryOperator, query: Query) {\n const flattenObj = flatten(toObject(item));\n return Object.keys(flattenObj).some((key) => this.operateByKey(item, operator, {...query, key}));\n }\n}\n\ntype QueryOperator = (_value: any, query: string) => boolean;\n\nfunction in_(value: any, query: string): boolean {\n return typeof value === 'string' ? value?.includes(query) : false;\n}\n\nfunction eq(value: any, query: string): boolean {\n return typeof value === 'string' ? value === query : false;\n}\n\nfunction gt(value: any, query: string): boolean {\n // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);\n return typeof value === 'string' \n ? parseFloat(value) > parseFloat(query) \n : typeof value === 'number'\n ? value > parseFloat(query)\n : dayjs.isDayjs(value)\n ? dayjs(query).isBefore(value)\n : false;\n}\n\nfunction lt(value: any, query: string): boolean {\n // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);\n return typeof value === 'string' \n ? parseFloat(value) < parseFloat(query) \n : typeof value === 'number'\n ? value < parseFloat(query)\n : dayjs.isDayjs(value)\n ? dayjs(query).isAfter(value)\n : false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["flatten"],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { isPlatformBrowser, isPlatformServer } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, PLATFORM_ID, effect, Injectable, ENVIRONMENT_INITIALIZER, ElementRef, Directive } from '@angular/core';
4
+ import { toObservable } from '@angular/core/rxjs-interop';
5
+ import { makeConfig } from '@ng-atomic/common/services/ui';
6
+ import { of, filter, delay, map } from 'rxjs';
7
+
8
+ class RootPropertyService {
9
+ static { this.Config = makeConfig(() => {
10
+ return (_, context) => {
11
+ switch (context.breakpoint) {
12
+ case 'xSmall': return {
13
+ '--primary-color': '#404040',
14
+ '--on-primary-color': '#f0f0f0',
15
+ '--surface-color': '#fff',
16
+ '--on-surface-color': '#404040',
17
+ '--background-color': '#fff',
18
+ '--menu-width': '220px',
19
+ '--page-width-lv1': '100vw',
20
+ '--page-width-lv2': '100vw',
21
+ '--page-width-lv3': '100vw',
22
+ '--page-width-lv4': '100vw',
23
+ '--page-height-lv1': '100vh',
24
+ };
25
+ case 'small':
26
+ case 'medium': return {
27
+ '--primary-color': '#404040',
28
+ '--on-primary-color': '#f0f0f0',
29
+ '--surface-color': '#fff',
30
+ '--on-surface-color': '#404040',
31
+ '--background-color': '#fff',
32
+ '--menu-width': '64px',
33
+ '--page-width-lv1': '360px',
34
+ '--page-width-lv2': 'max(calc(min(100vw, 1600px) - 360px - 64px), 360px)',
35
+ '--page-width-lv3': 'max(calc(min(100vw, 1600px) - 64px), 360px)',
36
+ '--page-width-lv4': '100vw',
37
+ '--page-height-lv1': '100vh',
38
+ };
39
+ case 'large':
40
+ case 'xLarge': return {
41
+ '--primary-color': '#404040',
42
+ '--on-primary-color': '#f0f0f0',
43
+ '--surface-color': '#fff',
44
+ '--on-surface-color': '#404040',
45
+ '--background-color': '#fff',
46
+ '--menu-width': '220px',
47
+ '--page-width-lv1': '360px',
48
+ '--page-width-lv2': 'max(calc(min(100vw, 1600px) - 360px - 220px), 360px)',
49
+ '--page-width-lv3': 'max(calc(min(100vw, 1600px) - 220px), 360px)',
50
+ '--page-width-lv4': '100vw',
51
+ '--page-height-lv1': '100vh',
52
+ };
53
+ }
54
+ };
55
+ }, ['root', 'properties']); }
56
+ constructor() {
57
+ this.config = RootPropertyService.Config.inject();
58
+ this.platformId = inject(PLATFORM_ID);
59
+ effect(() => {
60
+ if (isPlatformBrowser(this.platformId)) {
61
+ for (const [key, value] of Object.entries(this.config?.() ?? {})) {
62
+ document.documentElement.style.setProperty(key, value);
63
+ }
64
+ }
65
+ });
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyService, providedIn: 'root' }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyService, decorators: [{
71
+ type: Injectable,
72
+ args: [{ providedIn: 'root' }]
73
+ }], ctorParameters: () => [] });
74
+ function provideRootProperty(resolverFactoryFactory) {
75
+ return [
76
+ {
77
+ provide: ENVIRONMENT_INITIALIZER,
78
+ useFactory: () => {
79
+ return () => inject(RootPropertyService);
80
+ },
81
+ multi: true,
82
+ },
83
+ RootPropertyService.Config.provide(resolverFactoryFactory),
84
+ ];
85
+ }
86
+ class NgAtomicStyleDirective {
87
+ #el;
88
+ constructor(rootPropertyService) {
89
+ this.rootPropertyService = rootPropertyService;
90
+ this.#el = inject(ElementRef);
91
+ this.platformId = inject(PLATFORM_ID);
92
+ effect(() => {
93
+ for (const [key, value] of Object.entries(this.rootPropertyService.config?.() ?? {})) {
94
+ this.#el.nativeElement.style.setProperty(key, value);
95
+ }
96
+ });
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicStyleDirective, deps: [{ token: RootPropertyService }], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: NgAtomicStyleDirective, isStandalone: true, selector: "[atomicStyle]", ngImport: i0 }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicStyleDirective, decorators: [{
102
+ type: Directive,
103
+ args: [{ standalone: true, selector: '[atomicStyle]' }]
104
+ }], ctorParameters: () => [{ type: RootPropertyService }] });
105
+ class RootPropertyGuard {
106
+ constructor() {
107
+ this.properties = RootPropertyService.Config.inject();
108
+ this.properties$ = toObservable(this.properties);
109
+ this.platformId = inject(PLATFORM_ID);
110
+ }
111
+ canActivate() {
112
+ if (isPlatformServer(this.platformId))
113
+ return of(null);
114
+ return this.properties$.pipe(filter(properties => properties['--background-color'] === '#f0f0f0'), delay(500), map(() => true));
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyGuard, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RootPropertyGuard, decorators: [{
120
+ type: Injectable,
121
+ args: [{ providedIn: 'root' }]
122
+ }] });
123
+
124
+ /**
125
+ * Generated bundle index. Do not edit.
126
+ */
127
+
128
+ export { NgAtomicStyleDirective, RootPropertyGuard, RootPropertyService, provideRootProperty };
129
+ //# sourceMappingURL=ng-atomic-common-services-root-property.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-root-property.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/root-property/root-property.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/root-property/ng-atomic-common-services-root-property.ts"],"sourcesContent":["import { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { Directive, ENVIRONMENT_INITIALIZER, ElementRef, Injectable, PLATFORM_ID, Provider, effect, inject } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { Observable, delay, filter, map, of } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class RootPropertyService {\n static readonly Config = makeConfig(() => {\n return (_, context) => {\n switch (context.breakpoint) {\n case 'xSmall': return {\n '--primary-color': '#404040',\n '--on-primary-color': '#f0f0f0',\n '--surface-color': '#fff',\n '--on-surface-color': '#404040',\n '--background-color': '#fff',\n '--menu-width': '220px',\n '--page-width-lv1': '100vw',\n '--page-width-lv2': '100vw',\n '--page-width-lv3': '100vw',\n '--page-width-lv4': '100vw',\n '--page-height-lv1': '100vh',\n };\n case 'small':\n case 'medium': return {\n '--primary-color': '#404040',\n '--on-primary-color': '#f0f0f0',\n '--surface-color': '#fff',\n '--on-surface-color': '#404040',\n '--background-color': '#fff',\n '--menu-width': '64px',\n '--page-width-lv1': '360px',\n '--page-width-lv2': 'max(calc(min(100vw, 1600px) - 360px - 64px), 360px)',\n '--page-width-lv3': 'max(calc(min(100vw, 1600px) - 64px), 360px)',\n '--page-width-lv4': '100vw',\n '--page-height-lv1': '100vh',\n };\n case 'large':\n case 'xLarge': return {\n '--primary-color': '#404040',\n '--on-primary-color': '#f0f0f0',\n '--surface-color': '#fff',\n '--on-surface-color': '#404040',\n '--background-color': '#fff',\n '--menu-width': '220px',\n '--page-width-lv1': '360px',\n '--page-width-lv2': 'max(calc(min(100vw, 1600px) - 360px - 220px), 360px)',\n '--page-width-lv3': 'max(calc(min(100vw, 1600px) - 220px), 360px)',\n '--page-width-lv4': '100vw',\n '--page-height-lv1': '100vh',\n };\n }\n };\n }, ['root', 'properties']);\n readonly config = RootPropertyService.Config.inject();\n\n readonly platformId = inject(PLATFORM_ID);\n\n constructor() {\n effect(() => {\n if (isPlatformBrowser(this.platformId)) {\n for (const [key, value] of Object.entries(this.config?.() ?? {})) {\n document.documentElement.style.setProperty(key, value);\n }\n }\n });\n }\n}\n\nexport function provideRootProperty(\n resolverFactoryFactory?: Parameters<typeof RootPropertyService.Config.provide>[0],\n): Provider[] {\n return [\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n return () => inject(RootPropertyService);\n },\n multi: true,\n },\n RootPropertyService.Config.provide(resolverFactoryFactory),\n ]\n}\n\n@Directive({ standalone: true, selector: '[atomicStyle]' })\nexport class NgAtomicStyleDirective {\n readonly #el = inject(ElementRef);\n readonly platformId = inject(PLATFORM_ID);\n\n constructor(private rootPropertyService: RootPropertyService) {\n effect(() => {\n for (const [key, value] of Object.entries(this.rootPropertyService.config?.() ?? {})) {\n this.#el.nativeElement.style.setProperty(key, value);\n }\n });\n }\n}\n\n\n@Injectable({providedIn: 'root'})\nexport class RootPropertyGuard {\n\treadonly properties = RootPropertyService.Config.inject();\n\treadonly properties$ = toObservable(this.properties);\n\treadonly platformId = inject(PLATFORM_ID);\n\n\tcanActivate(): Observable<boolean> {\n\t\tif (isPlatformServer(this.platformId)) return of(null);\t\n\t\treturn this.properties$.pipe(\n\t\t\tfilter(properties => properties['--background-color'] === '#f0f0f0'),\n\t\t\tdelay(500),\n\t\t\tmap(() => true),\n\t\t);\n\t}\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { Router } from '@angular/router';
4
+
5
+ function walkActivatedRoute(route, callback) {
6
+ if (!callback(route))
7
+ return;
8
+ route.children.forEach(child => walkActivatedRoute(child, callback));
9
+ }
10
+ class RouterService extends Router {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.router = inject(Router);
14
+ this.events$ = this.router.events;
15
+ }
16
+ back() {
17
+ history.back();
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RouterService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RouterService, providedIn: 'root' }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RouterService, decorators: [{
23
+ type: Injectable,
24
+ args: [{ providedIn: 'root' }]
25
+ }] });
26
+
27
+ /**
28
+ * Generated bundle index. Do not edit.
29
+ */
30
+
31
+ export { RouterService, walkActivatedRoute };
32
+ //# sourceMappingURL=ng-atomic-common-services-router.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-router.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/router/router.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/router/ng-atomic-common-services-router.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nexport function walkActivatedRoute(route: ActivatedRoute, callback: (route: ActivatedRoute) => boolean): void {\n if (!callback(route)) return;\n route.children.forEach(child => walkActivatedRoute(child, callback));\n}\n\n@Injectable({providedIn: 'root'})\nexport class RouterService extends Router {\n readonly router = inject(Router);\n readonly events$ = this.router.events;\n\n back(): void {\n history.back()\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGgB,SAAA,kBAAkB,CAAC,KAAqB,EAAE,QAA4C,EAAA;AACpG,IAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO;AAC7B,IAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvE,CAAC;AAGK,MAAO,aAAc,SAAQ,MAAM,CAAA;AADzC,IAAA,WAAA,GAAA;;AAEW,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAKvC,KAAA;IAHC,IAAI,GAAA;QACF,OAAO,CAAC,IAAI,EAAE,CAAA;KACf;8GANU,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADD,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAClB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACRhC;;AAEG;;;;"}
@@ -0,0 +1,23 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, Injectable } from '@angular/core';
3
+
4
+ class SecretService {
5
+ constructor() {
6
+ this.isSecret = signal(false);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SecretService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SecretService, providedIn: 'root' }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SecretService, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root'
15
+ }]
16
+ }] });
17
+
18
+ /**
19
+ * Generated bundle index. Do not edit.
20
+ */
21
+
22
+ export { SecretService };
23
+ //# sourceMappingURL=ng-atomic-common-services-secret.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-secret.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/secret/secret.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/secret/ng-atomic-common-services-secret.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecretService {\n readonly isSecret = signal(false);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAKa,aAAa,CAAA;AAH1B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,KAAA;8GAFY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACJD;;AAEG;;;;"}
@@ -0,0 +1,32 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, Injectable } from '@angular/core';
3
+
4
+ class SideAppService {
5
+ constructor() {
6
+ this.opened = signal(false);
7
+ }
8
+ toggle() {
9
+ this.opened.set(!this.opened());
10
+ }
11
+ collapse() {
12
+ this.opened.set(false);
13
+ }
14
+ expand() {
15
+ this.opened.set(true);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideAppService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideAppService, providedIn: 'root' }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideAppService, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }] });
26
+
27
+ /**
28
+ * Generated bundle index. Do not edit.
29
+ */
30
+
31
+ export { SideAppService };
32
+ //# sourceMappingURL=ng-atomic-common-services-side-app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-side-app.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/side-app/side-app.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/side-app/ng-atomic-common-services-side-app.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SideAppService {\n readonly opened = signal(false);\n\n toggle() {\n this.opened.set(!this.opened());\n }\n\n collapse() {\n this.opened.set(false);\n }\n\n expand() {\n this.opened.set(true);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAKa,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAajC,KAAA;IAXC,MAAM,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACjC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACvB;8GAbU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACJD;;AAEG;;;;"}
@@ -0,0 +1,34 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, Injectable } from '@angular/core';
3
+
4
+ class SideNavModeService {
5
+ constructor() {
6
+ this.sideNavMode = signal('collapsed');
7
+ }
8
+ /** @deprecated use toggle() instead */
9
+ toggleSideNav() {
10
+ this.sideNavMode.set(this.sideNavMode() === 'expanded' ? 'collapsed' : 'expanded');
11
+ }
12
+ toggle() {
13
+ this.sideNavMode.set(this.sideNavMode() === 'expanded' ? 'collapsed' : 'expanded');
14
+ }
15
+ collapse() {
16
+ this.sideNavMode.set('collapsed');
17
+ }
18
+ expand() {
19
+ this.sideNavMode.set('expanded');
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideNavModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideNavModeService, providedIn: 'root' }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SideNavModeService, decorators: [{
25
+ type: Injectable,
26
+ args: [{ providedIn: 'root' }]
27
+ }] });
28
+
29
+ /**
30
+ * Generated bundle index. Do not edit.
31
+ */
32
+
33
+ export { SideNavModeService };
34
+ //# sourceMappingURL=ng-atomic-common-services-side-nav-mode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-services-side-nav-mode.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/side-nav-mode/side-nav-mode.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/side-nav-mode/ng-atomic-common-services-side-nav-mode.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class SideNavModeService {\n readonly sideNavMode = signal('collapsed');\n\n /** @deprecated use toggle() instead */\n toggleSideNav() {\n this.sideNavMode.set(this.sideNavMode() === 'expanded' ? 'collapsed' : 'expanded');\n }\n\n toggle() {\n this.sideNavMode.set(this.sideNavMode() === 'expanded' ? 'collapsed' : 'expanded');\n }\n\n collapse() {\n this.sideNavMode.set('collapsed');\n }\n\n expand() {\n this.sideNavMode.set('expanded');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEW,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAkB5C,KAAA;;IAfC,aAAa,GAAA;QACX,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;KACpF;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;KACpF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACnC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;8GAlBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACFlC;;AAEG;;;;"}
@@ -8,29 +8,29 @@ class SnackBarService {
8
8
  constructor(snackBar) {
9
9
  this.snackBar = snackBar;
10
10
  }
11
- openSnackBar(message, action) {
11
+ open(message, action) {
12
12
  this.snackBar.open(message, action, {
13
13
  duration: 2000,
14
14
  });
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarService, decorators: [{
20
20
  type: Injectable,
21
21
  args: [{
22
22
  providedIn: 'root'
23
23
  }]
24
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
24
+ }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
25
25
 
26
26
  class SnackBarModule {
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, imports: [CommonModule,
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SnackBarModule, imports: [CommonModule,
29
29
  MatSnackBarModule] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, imports: [CommonModule,
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarModule, imports: [CommonModule,
31
31
  MatSnackBarModule] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SnackBarModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  declarations: [],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-snack-bar.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/snack-bar.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/snack-bar.module.ts","../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/ng-atomic-common-services-snack-bar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackBarService {\n\n constructor(private snackBar: MatSnackBar) {}\n\n openSnackBar(message: string, action?: string) {\n this.snackBar.open(message, action, {\n duration: 2000,\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatSnackBarModule\n ]\n})\nexport class SnackBarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAOa,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAoB,QAAqB,EAAA;QAArB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KAAI;IAE7C,YAAY,CAAC,OAAe,EAAE,MAAe,EAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAClC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;+GARU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCMY,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJvB,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJvB,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-snack-bar.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/snack-bar.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/snack-bar.module.ts","../../../../../packages/@ng-atomic/common/src/lib/services/snack-bar/ng-atomic-common-services-snack-bar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackBarService {\n\n constructor(private snackBar: MatSnackBar) {}\n\n open(message: string, action?: string) {\n this.snackBar.open(message, action, {\n duration: 2000,\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatSnackBarModule\n ]\n})\nexport class SnackBarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAOa,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAoB,QAAqB,EAAA;QAArB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KAAI;IAE7C,IAAI,CAAC,OAAe,EAAE,MAAe,EAAA;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAClC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;8GARU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCMY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJvB,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJvB,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}