@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
@@ -10,28 +10,28 @@ class SmartExpPipe {
10
10
  transform(input, key) {
11
11
  return this.transformer(input, key);
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartExpPipe, deps: [{ token: SMART_EXP_TRANSFORMER, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SmartExpPipe, name: "smartExp" }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartExpPipe, deps: [{ token: SMART_EXP_TRANSFORMER, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SmartExpPipe, name: "smartExp" }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartExpPipe, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartExpPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
19
  name: 'smartExp',
20
20
  pure: true,
21
21
  }]
22
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
22
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
23
23
  type: Optional
24
24
  }, {
25
25
  type: Inject,
26
26
  args: [SMART_EXP_TRANSFORMER]
27
- }] }]; } });
27
+ }] }] });
28
28
 
29
29
  class SmartExpModule {
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartExpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SmartExpModule, declarations: [SmartExpPipe], exports: [SmartExpPipe] }); }
32
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartExpModule }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartExpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SmartExpModule, declarations: [SmartExpPipe], exports: [SmartExpPipe] }); }
32
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartExpModule }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartExpModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartExpModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  declarations: [SmartExpPipe],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-pipes-smart-exp.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/smart-exp.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/smart-exp.module.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/ng-atomic-common-pipes-smart-exp.ts"],"sourcesContent":["import { Inject, Optional, Pipe } from '@angular/core';\nimport { SMART_EXP_TRANSFORMER, smartExpTransformer, SmartExpTransformer } from '@ng-atomic/common/utils';\nimport dayjs from 'dayjs';\n\n\n@Pipe({\n name: 'smartExp',\n pure: true,\n})\nexport class SmartExpPipe {\n constructor(\n @Optional() @Inject(SMART_EXP_TRANSFORMER) private transformer: SmartExpTransformer\n ) {\n this.transformer ??= smartExpTransformer;\n }\n\n transform(input: string | number | dayjs.Dayjs | any, key?: string): string {\n return this.transformer(input, key);\n }\n}","import { NgModule } from \"@angular/core\";\nimport { SmartExpPipe } from \"./smart-exp.pipe\";\n\n@NgModule({\n declarations: [SmartExpPipe],\n exports: [SmartExpPipe]\n})\nexport class SmartExpModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACvB,IAAA,WAAA,CACqD,WAAgC,EAAA;QAAhC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;AAEnF,QAAA,IAAI,CAAC,WAAW,KAAK,mBAAmB,CAAC;KAC1C;IAED,SAAS,CAAC,KAA0C,EAAE,GAAY,EAAA;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrC;AATU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAED,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAFhC,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CAAA;;0BAGI,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;;MCJhC,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAd,cAAc,EAAA,YAAA,EAAA,CAHV,YAAY,CAAA,EAAA,OAAA,EAAA,CACjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;gHAEX,cAAc,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-pipes-smart-exp.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/smart-exp.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/smart-exp.module.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-exp/ng-atomic-common-pipes-smart-exp.ts"],"sourcesContent":["import { Inject, Optional, Pipe } from '@angular/core';\nimport { SMART_EXP_TRANSFORMER, smartExpTransformer, SmartExpTransformer } from '@ng-atomic/common/utils';\nimport dayjs from 'dayjs';\n\n\n@Pipe({\n name: 'smartExp',\n pure: true,\n})\nexport class SmartExpPipe {\n constructor(\n @Optional() @Inject(SMART_EXP_TRANSFORMER) private transformer: SmartExpTransformer\n ) {\n this.transformer ??= smartExpTransformer;\n }\n\n transform(input: string | number | dayjs.Dayjs | any, key?: string): string {\n return this.transformer(input, key);\n }\n}","import { NgModule } from \"@angular/core\";\nimport { SmartExpPipe } from \"./smart-exp.pipe\";\n\n@NgModule({\n declarations: [SmartExpPipe],\n exports: [SmartExpPipe]\n})\nexport class SmartExpModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACvB,IAAA,WAAA,CACqD,WAAgC,EAAA;QAAhC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;AAEnF,QAAA,IAAI,CAAC,WAAW,KAAK,mBAAmB,CAAC;KAC1C;IAED,SAAS,CAAC,KAA0C,EAAE,GAAY,EAAA;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrC;AATU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAED,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAFhC,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA,EAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CAAA;;0BAGI,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;;MCJhC,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAd,cAAc,EAAA,YAAA,EAAA,CAHV,YAAY,CAAA,EAAA,OAAA,EAAA,CACjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEX,cAAc,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
@@ -1,40 +1,40 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Pipe, Optional, Inject } from '@angular/core';
2
+ import { InjectionToken, inject, Pipe } from '@angular/core';
3
3
  import get from 'lodash.get';
4
4
 
5
+ /** @deprecated */
5
6
  const FORM_FIELD_MAP = new InjectionToken('[@ng-atomic] Smart Form Field');
7
+ /** @deprecated */
8
+ function provideFormFieldMap(useFactory) {
9
+ return { provide: FORM_FIELD_MAP, useFactory };
10
+ }
11
+ /** @deprecated */
12
+ function buildOptions(_enum) {
13
+ return Object.values(_enum).map(value => ({ value, name: value }));
14
+ }
15
+ /** @deprecated */
6
16
  class SmartFieldPipe {
7
- constructor(map) {
8
- this.map = map;
9
- this.map ??= {
17
+ constructor() {
18
+ this.map = inject(FORM_FIELD_MAP, { optional: true }) ?? {
10
19
  createdAt: { type: 'date' },
11
20
  updatedAt: { type: 'date' },
12
21
  deletedAt: { type: 'date' },
13
22
  };
14
23
  }
15
- transform(key) {
16
- return get(this.map, key) ?? { type: 'input' };
24
+ transform(key, map = this.map) {
25
+ return get(map, key) ?? { type: 'input' };
17
26
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartFieldPipe, deps: [{ token: FORM_FIELD_MAP, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SmartFieldPipe, isStandalone: true, name: "smartField" }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartFieldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SmartFieldPipe, isStandalone: true, name: "smartField" }); }
20
29
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartFieldPipe, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SmartFieldPipe, decorators: [{
22
31
  type: Pipe,
23
- args: [{
24
- name: 'smartField',
25
- standalone: true,
26
- pure: true,
27
- }]
28
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
29
- type: Optional
30
- }, {
31
- type: Inject,
32
- args: [FORM_FIELD_MAP]
33
- }] }]; } });
32
+ args: [{ name: 'smartField', standalone: true, pure: true }]
33
+ }] });
34
34
 
35
35
  /**
36
36
  * Generated bundle index. Do not edit.
37
37
  */
38
38
 
39
- export { FORM_FIELD_MAP, SmartFieldPipe };
39
+ export { FORM_FIELD_MAP, SmartFieldPipe, buildOptions, provideFormFieldMap };
40
40
  //# sourceMappingURL=ng-atomic-common-pipes-smart-field.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-pipes-smart-field.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-field/smart-field.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-field/ng-atomic-common-pipes-smart-field.ts"],"sourcesContent":["import { Inject, InjectionToken, Optional, Pipe, PipeTransform, Signal } from '@angular/core';\nimport { Action } from '@ng-atomic/core';\nimport { SignalOrValue } from '@ng-atomic/common/pipes/signal';\nimport get from 'lodash.get';\n\n\ninterface Option<T> {\n name: string;\n value: T;\n}\n\ninterface BaseField {\n placeholder?: string;\n hint?: string;\n}\n\ninterface InputField extends BaseField {\n type: 'input';\n autoComplete?: SignalOrValue<(string | number)[]>;\n}\n\ninterface TextareaField extends BaseField {\n type: 'textarea';\n rows?: number;\n}\n\ninterface DateInputField extends BaseField {\n type: 'date';\n}\n\ninterface SelectField<T> extends BaseField {\n type: 'select';\n options: Option<T>[];\n}\n\ninterface MultiSelectField<T> extends BaseField {\n type: 'multi-select';\n options: Option<T>[];\n}\n\ninterface FileField extends BaseField {\n type: 'file';\n progress?: Signal<number>;\n}\n\ninterface ActionField extends BaseField {\n type: 'action';\n actions: Action[] | Signal<Action[]>;\n disabled?: boolean;\n}\n\ninterface NoneField {\n type: 'none';\n}\n\ntype FormField<V> = InputField\n | TextareaField\n | DateInputField\n | SelectField<V>\n | MultiSelectField<V>\n | FileField\n | ActionField\n | NoneField;\n\nexport interface FormFieldMap {\n [key: string]: FormField<any> | FormFieldMap;\n}\n\nexport const FORM_FIELD_MAP = new InjectionToken<FormFieldMap>('[@ng-atomic] Smart Form Field');\n\n@Pipe({\n name: 'smartField',\n standalone: true,\n pure: true,\n})\nexport class SmartFieldPipe implements PipeTransform {\n\n constructor(\n @Optional() @Inject(FORM_FIELD_MAP) private map: Record<string, FormField<any>>\n ) {\n this.map ??= {\n createdAt: { type: 'date' },\n updatedAt: { type: 'date' },\n deletedAt: { type: 'date' },\n };\n }\n\n transform(key: string): FormField<any> {\n return get(this.map, key) ?? {type: 'input'};\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAoEa,cAAc,GAAG,IAAI,cAAc,CAAe,+BAA+B,EAAE;MAOnF,cAAc,CAAA;AAEzB,IAAA,WAAA,CAC8C,GAAmC,EAAA;QAAnC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgC;QAE/E,IAAI,CAAC,GAAG,KAAK;AACX,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5B,CAAC;KACH;AAED,IAAA,SAAS,CAAC,GAAW,EAAA;AACnB,QAAA,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;KAC9C;AAdU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAGH,cAAc,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAHzB,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CAAA;;0BAII,QAAQ;;0BAAI,MAAM;2BAAC,cAAc,CAAA;;;AC9EtC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-pipes-smart-field.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-field/smart-field.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/smart-field/ng-atomic-common-pipes-smart-field.ts"],"sourcesContent":["import { InjectionToken, Pipe, PipeTransform, Signal, inject } from '@angular/core';\nimport { Action } from '@ng-atomic/core';\nimport { SignalOrValue } from '@ng-atomic/common/pipes/signal';\nimport get from 'lodash.get';\n\n\nexport interface Option<T> {\n name: string;\n value: T;\n}\n\ninterface BaseField {\n placeholder?: string;\n hint?: SignalOrValue<string>;\n actions?: Action[] | Signal<Action[]>;\n}\n\ninterface TextField extends BaseField {\n type: 'text';\n autoComplete?: SignalOrValue<string[]>;\n}\n\ninterface PasswordField extends BaseField {\n type: 'password';\n}\n\ninterface NumberField extends BaseField {\n type: 'number';\n}\n\ninterface TextareaField extends BaseField {\n type: 'textarea';\n rows?: number;\n}\n\ninterface DateInputField extends BaseField {\n type: 'date';\n}\n\ninterface DateRangeInputField extends BaseField {\n type: 'date-range';\n}\n\ninterface SelectField<T> extends BaseField {\n type: 'select';\n options: Option<T>[] | Signal<Option<T>[]>;\n multiple?: boolean;\n}\n\ninterface TimeRangeField extends BaseField {\n type: 'time-range';\n}\n\n//* @deprecated use multiple option */\ninterface MultiSelectField<T> extends BaseField {\n type: 'multi-select';\n options: Option<T>[] | Signal<Option<T>[]>;\n}\n\ninterface FileField extends BaseField {\n type: 'file';\n progress?: Signal<number | null>;\n}\n\ninterface ActionField extends BaseField {\n type: 'action';\n actions: Action[] | Signal<Action[]>;\n disabled?: boolean;\n}\n\ninterface AgreementField {\n type: 'agreement';\n labelTemp: null | any;\n}\n\ninterface HiddenField {\n type: 'hidden';\n}\n\ninterface PreviewField extends BaseField {\n type: 'preview';\n}\n\ninterface PreviewImageField extends BaseField {\n type: 'preview:image';\n}\n\nexport type FormField<V = any> = \n | TextField\n | PasswordField\n | TextareaField\n | DateInputField\n | DateRangeInputField\n | SelectField<V>\n | TimeRangeField\n | MultiSelectField<V>\n | FileField\n | ActionField\n | HiddenField\n | NumberField\n | PreviewField\n | AgreementField\n | PreviewImageField;\n\nexport interface FormFieldMap {\n [key: string]: FormField<any> | FormFieldMap;\n}\n\n/** @deprecated */\nexport const FORM_FIELD_MAP = new InjectionToken<FormFieldMap>('[@ng-atomic] Smart Form Field');\n\n/** @deprecated */\nexport function provideFormFieldMap(useFactory: () => FormFieldMap) {\n return { provide: FORM_FIELD_MAP, useFactory };\n}\n\ntype Enum<T> = Record<string, T>;\n\n/** @deprecated */\nexport function buildOptions<T>(_enum: Enum<T>): Option<T>[] {\n return Object.values(_enum).map(value => ({value, name: value}) as Option<T>);\n}\n\n/** @deprecated */\n@Pipe({name: 'smartField', standalone: true, pure: true})\nexport class SmartFieldPipe implements PipeTransform {\n protected map = inject(FORM_FIELD_MAP, {optional: true}) ?? {\n createdAt: { type: 'date' },\n updatedAt: { type: 'date' },\n deletedAt: { type: 'date' },\n };\n\n transform(key: string, map: FormFieldMap = this.map): FormField<any> {\n return get(map, key) ?? {type: 'input'};\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AA4GA;MACa,cAAc,GAAG,IAAI,cAAc,CAAe,+BAA+B,EAAE;AAEhG;AACM,SAAU,mBAAmB,CAAC,UAA8B,EAAA;AAChE,IAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACjD,CAAC;AAID;AACM,SAAU,YAAY,CAAI,KAAc,EAAA;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAc,CAAC,CAAC;AAChF,CAAC;AAED;MAEa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;QAEY,IAAG,CAAA,GAAA,GAAG,MAAM,CAAC,cAAc,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI;AAC1D,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,YAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5B,CAAC;AAKH,KAAA;AAHC,IAAA,SAAS,CAAC,GAAW,EAAE,GAAoB,GAAA,IAAI,CAAC,GAAG,EAAA;AACjD,QAAA,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;KACzC;8GATU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;mBAAC,EAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;AC5HxD;;AAEG;;;;"}
@@ -0,0 +1,39 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Pipe } from '@angular/core';
3
+ import { defaultDataAccessor, injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';
4
+ import { sortBy } from 'lodash-es';
5
+
6
+ function sortByTransformer(items, { key = '', order = 'asc' } = {}, dataAccessor = defaultDataAccessor) {
7
+ const entries = (items ?? []).map(item => ({ item, value: dataAccessor(item, key) }));
8
+ const sorted = (sortBy(entries, 'value') ?? []).map(({ item }) => item);
9
+ return order === 'asc' ? sorted : sorted.reverse();
10
+ }
11
+ function sortByTransformerFactory(dataAccessor) {
12
+ return (items, params) => sortByTransformer(items, params, dataAccessor);
13
+ }
14
+ const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Sort By Transformer');
15
+ function injectSortByTransformer() {
16
+ const dataAccessor = injectDataAccessor();
17
+ return inject(SMART_SORT_BY_TRANSFORMER, { optional: true }) ?? sortByTransformerFactory(dataAccessor);
18
+ }
19
+ class SortByPipe {
20
+ constructor() {
21
+ this.transformer = injectSortByTransformer();
22
+ }
23
+ transform(items, params = {}) {
24
+ return this.transformer(items, params);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
27
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SortByPipe, isStandalone: true, name: "sortBy" }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortByPipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{ name: 'sortBy', standalone: true, pure: true }]
32
+ }] });
33
+
34
+ /**
35
+ * Generated bundle index. Do not edit.
36
+ */
37
+
38
+ export { SMART_SORT_BY_TRANSFORMER, SortByPipe, injectSortByTransformer, sortByTransformer, sortByTransformerFactory };
39
+ //# sourceMappingURL=ng-atomic-common-pipes-sort-by.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-pipes-sort-by.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/sort-by/sort-by.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/sort-by/ng-atomic-common-pipes-sort-by.ts"],"sourcesContent":["import { InjectionToken, Pipe, PipeTransform, inject } from '@angular/core';\nimport { Sort } from '@ng-atomic/common/models';\nimport { DataAccessor, defaultDataAccessor, injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { sortBy } from 'lodash-es';\n\nexport function sortByTransformer<T>(\n items: T[], \n {key = '', order = 'asc'}: Partial<Sort> = {},\n dataAccessor: DataAccessor<T> = defaultDataAccessor\n): T[] {\n const entries = (items ?? []).map(item => ({item, value: dataAccessor(item, key)})); \n const sorted = (sortBy(entries, 'value') ?? []).map(({item}) => item);\n return order === 'asc' ? sorted : sorted.reverse();\n}\n\nexport function sortByTransformerFactory<T>(dataAccessor: DataAccessor<T>) {\n return (items, params) => sortByTransformer(items, params, dataAccessor);\n}\n\nexport const SMART_SORT_BY_TRANSFORMER = new InjectionToken<typeof sortByTransformer>('[@ng-atomic/common] Sort By Transformer');\n\nexport function injectSortByTransformer<T>(): typeof sortByTransformer<T> {\n const dataAccessor = injectDataAccessor<T>();\n return inject(SMART_SORT_BY_TRANSFORMER, {optional: true}) ?? sortByTransformerFactory(dataAccessor);\n}\n\n@Pipe({name: 'sortBy', standalone: true, pure: true})\nexport class SortByPipe<T> implements PipeTransform {\n protected transformer = injectSortByTransformer<T>();\n\n transform(items: T[], params: {key?: string, order?: 'asc' | 'desc'} = {}): T[] {\n return this.transformer(items, params);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;SAKgB,iBAAiB,CAC/B,KAAU,EACV,EAAC,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,KAAmB,EAAE,EAC7C,eAAgC,mBAAmB,EAAA;AAEnD,IAAA,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,CAAC,CAAC;AACtE,IAAA,OAAO,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;AACrD,CAAC;AAEK,SAAU,wBAAwB,CAAI,YAA6B,EAAA;AACvE,IAAA,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3E,CAAC;MAEY,yBAAyB,GAAG,IAAI,cAAc,CAA2B,yCAAyC,EAAE;SAEjH,uBAAuB,GAAA;AACrC,IAAA,MAAM,YAAY,GAAG,kBAAkB,EAAK,CAAC;AAC7C,IAAA,OAAO,MAAM,CAAC,yBAAyB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC;AACvG,CAAC;MAGY,UAAU,CAAA;AADvB,IAAA,WAAA,GAAA;QAEY,IAAW,CAAA,WAAA,GAAG,uBAAuB,EAAK,CAAC;AAKtD,KAAA;AAHC,IAAA,SAAS,CAAC,KAAU,EAAE,MAAA,GAAiD,EAAE,EAAA;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACxC;8GALU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,IAAI;mBAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;AC1BpD;;AAEG;;;;"}
@@ -8,10 +8,10 @@ class YenPipe {
8
8
  return '';
9
9
  return yenTransform(value, _unit);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: YenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: YenPipe, isStandalone: true, name: "yen" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: YenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: YenPipe, isStandalone: true, name: "yen" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: YenPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: YenPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  standalone: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-pipes-yen.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/yen/yen.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/yen/ng-atomic-common-pipes-yen.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { yenTransform } from '@ng-atomic/common/utils';\n\n@Pipe({\n standalone: true,\n name: 'yen'\n})\nexport class YenPipe implements PipeTransform {\n\n transform(value?: number | null, _unit?: string): string {\n if (value === null || typeof value === 'undefined') return '';\n return yenTransform(value, _unit);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,OAAO,CAAA;IAElB,SAAS,CAAC,KAAqB,EAAE,KAAc,EAAA;AAC7C,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,YAAA,OAAO,EAAE,CAAC;AAC9D,QAAA,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACnC;+GALU,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA;;4FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAJnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-pipes-yen.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/yen/yen.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/yen/ng-atomic-common-pipes-yen.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { yenTransform } from '@ng-atomic/common/utils';\n\n@Pipe({\n standalone: true,\n name: 'yen'\n})\nexport class YenPipe implements PipeTransform {\n\n transform(value?: number | null, _unit?: string): string {\n if (value === null || typeof value === 'undefined') return '';\n return yenTransform(value, _unit);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,OAAO,CAAA;IAElB,SAAS,CAAC,KAAqB,EAAE,KAAc,EAAA;AAC7C,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,YAAA,OAAO,EAAE,CAAC;AAC9D,QAAA,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACnC;8GALU,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAJnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
@@ -1,43 +1,58 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
- import * as i1 from '@angular/fire/auth';
4
- import { authState, signInWithPopup, signOut } from '@angular/fire/auth';
5
- import { TwitterAuthProvider, GoogleAuthProvider } from 'firebase/auth';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { Auth, authState, TwitterAuthProvider, signInWithPopup, GoogleAuthProvider, signInWithCustomToken, signOut } from '@angular/fire/auth';
5
+ import { map, distinctUntilChanged, shareReplay, switchMap, of } from 'rxjs';
6
6
 
7
7
  class AuthService {
8
- constructor(auth) {
9
- this.auth = auth;
10
- this.auth$ = authState(this.auth);
8
+ constructor() {
9
+ this.#auth = inject(Auth);
10
+ this.auth$ = authState(this.#auth);
11
+ this.auth = toSignal(this.auth$);
11
12
  }
13
+ #auth;
12
14
  signInWithTwitter() {
13
15
  const provider = new TwitterAuthProvider();
14
- return signInWithPopup(this.auth, provider).then((credential) => {
15
- const twitter = {
16
- token: credential._tokenResponse.oauthAccessToken,
17
- secret: credential._tokenResponse.oauthTokenSecret,
18
- };
19
- });
16
+ return signInWithPopup(this.#auth, provider);
20
17
  }
21
18
  signInWithGoogle() {
22
19
  const provider = new GoogleAuthProvider();
23
- return signInWithPopup(this.auth, provider);
20
+ return signInWithPopup(this.#auth, provider);
21
+ }
22
+ signInWithCustomToken(customToken) {
23
+ return signInWithCustomToken(this.#auth, customToken);
24
24
  }
25
25
  signOut() {
26
- return signOut(this.auth);
26
+ return signOut(this.#auth);
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, deps: [{ token: i1.Auth }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, providedIn: 'root' }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AuthService, providedIn: 'root' }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AuthService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root'
35
35
  }]
36
- }], ctorParameters: function () { return [{ type: i1.Auth }]; } });
36
+ }] });
37
+ function injectAuthState$() {
38
+ return inject(AuthService).auth$;
39
+ }
40
+ function injectAuthState() {
41
+ return toSignal(injectAuthState$());
42
+ }
43
+ function injectUserId$() {
44
+ return inject(AuthService).auth$.pipe(map(auth => auth?.uid ?? null), distinctUntilChanged(), shareReplay(1), takeUntilDestroyed());
45
+ }
46
+ function injectTwitterId$() {
47
+ return inject(AuthService).auth$.pipe(map(auth => auth?.providerData?.[0]?.uid ?? null), distinctUntilChanged(), shareReplay(1), takeUntilDestroyed());
48
+ }
49
+ function injectClaim$(claim) {
50
+ return inject(AuthService).auth$.pipe(switchMap(auth => auth ? auth?.getIdTokenResult() : of(null)), map(token => token?.claims?.[claim] ?? false), distinctUntilChanged(), shareReplay(1), takeUntilDestroyed());
51
+ }
37
52
 
38
53
  /**
39
54
  * Generated bundle index. Do not edit.
40
55
  */
41
56
 
42
- export { AuthService };
57
+ export { AuthService, injectAuthState, injectAuthState$, injectClaim$, injectTwitterId$, injectUserId$ };
43
58
  //# sourceMappingURL=ng-atomic-common-services-auth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-auth.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/auth/auth.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/auth/ng-atomic-common-services-auth.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Auth, authState, signInWithPopup, signOut } from '@angular/fire/auth';\nimport { GoogleAuthProvider, TwitterAuthProvider, UserCredential } from 'firebase/auth';\n\nexport interface TwitterCredential {\n _tokenResponse: {\n context: string;\n displayName: string;\n email: string;\n emailVerified: boolean;\n expiresIn: string;\n federatedId: string;\n fullName: string;\n idToken: string;\n kind: 'identitytoolkit#VerifyAssertionResponse';\n localId: string;\n oauthAccessToken: string;\n oauthTokenSecret: string;\n photoUrl: string;\n providerId: 'twitter.com';\n rawUserInfo: string;\n refreshToken: string;\n screenName: string;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n auth$ = authState(this.auth);\n\n constructor(private auth: Auth) { }\n\n signInWithTwitter() {\n const provider = new TwitterAuthProvider();\n return signInWithPopup(this.auth, provider).then((credential: UserCredential & TwitterCredential) => {\n const twitter = {\n token: credential._tokenResponse.oauthAccessToken,\n secret: credential._tokenResponse.oauthTokenSecret,\n };\n });\n }\n\n signInWithGoogle() {\n const provider = new GoogleAuthProvider();\n return signInWithPopup(this.auth, provider);\n }\n\n signOut() {\n return signOut(this.auth);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MA6Ba,WAAW,CAAA;AAItB,IAAA,WAAA,CAAoB,IAAU,EAAA;QAAV,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;AAF9B,QAAA,IAAA,CAAA,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAEM;IAEnC,iBAAiB,GAAA;AACf,QAAA,MAAM,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAC3C,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,UAA8C,KAAI;AAClG,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,gBAAgB;AACjD,gBAAA,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,gBAAgB;aACnD,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,gBAAgB,GAAA;AACd,QAAA,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC7C;IAED,OAAO,GAAA;AACL,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;+GAvBU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,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,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;AC5BD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-auth.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/auth/auth.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/auth/ng-atomic-common-services-auth.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Auth, authState, signInWithCustomToken, GoogleAuthProvider, TwitterAuthProvider, signInWithPopup, signOut, UserCredential } from '@angular/fire/auth';\nimport { Observable, distinctUntilChanged, map, of, shareReplay, switchMap } from 'rxjs';\n\nexport interface TwitterCredential {\n context: string;\n displayName: string;\n email: string;\n emailVerified: boolean;\n expiresIn: string;\n federatedId: string;\n fullName: string;\n idToken: string;\n kind: 'identitytoolkit#VerifyAssertionResponse';\n localId: string;\n oauthAccessToken: string;\n oauthTokenSecret: string;\n photoUrl: string;\n providerId: 'twitter.com';\n rawUserInfo: string;\n refreshToken: string;\n screenName: string;\n}\n\nexport type Result = UserCredential & {_tokenResponse: TwitterCredential};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n #auth = inject(Auth);\n auth$ = authState(this.#auth);\n auth = toSignal(this.auth$);\n\n signInWithTwitter(): Promise<Result> {\n const provider = new TwitterAuthProvider();\n return signInWithPopup(this.#auth, provider) as Promise<Result>\n }\n\n signInWithGoogle() {\n const provider = new GoogleAuthProvider();\n return signInWithPopup(this.#auth, provider);\n }\n\n signInWithCustomToken(customToken: string): Promise<Result> {\n return signInWithCustomToken(this.#auth, customToken) as Promise<Result>;\n }\n\n signOut() {\n return signOut(this.#auth);\n }\n}\n\nexport function injectAuthState$() {\n return inject(AuthService).auth$;\n}\n\nexport function injectAuthState() {\n return toSignal(injectAuthState$());\n}\n\nexport function injectUserId$(): Observable<string | null> {\n return inject(AuthService).auth$.pipe(\n map(auth => auth?.uid ?? null),\n distinctUntilChanged(),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectTwitterId$() {\n return inject(AuthService).auth$.pipe(\n map(auth => auth?.providerData?.[0]?.uid ?? null),\n distinctUntilChanged(),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectClaim$<T = string>(claim: string): Observable<T> {\n return inject(AuthService).auth$.pipe(\n switchMap(auth => auth ? auth?.getIdTokenResult() : of(null)),\n map(token => token?.claims?.[claim] ?? false),\n distinctUntilChanged(),\n shareReplay(1),\n takeUntilDestroyed(),\n ) as any;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MA8Ba,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAmB7B,KAAA;AArBC,IAAA,KAAK,CAAgB;IAIrB,iBAAiB,GAAA;AACf,QAAA,MAAM,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC3C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAoB,CAAA;KAChE;IAED,gBAAgB,GAAA;AACd,QAAA,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC9C;AAED,IAAA,qBAAqB,CAAC,WAAmB,EAAA;QACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAoB,CAAC;KAC1E;IAED,OAAO,GAAA;AACL,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;8GAtBU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,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,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;SA0Be,gBAAgB,GAAA;AAC9B,IAAA,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;AACnC,CAAC;SAEe,eAAe,GAAA;AAC7B,IAAA,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACtC,CAAC;SAEe,aAAa,GAAA;AAC3B,IAAA,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CACnC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,EAC9B,oBAAoB,EAAE,EACtB,WAAW,CAAC,CAAC,CAAC,EACd,kBAAkB,EAAE,CACrB,CAAC;AACJ,CAAC;SAEe,gBAAgB,GAAA;AAC9B,IAAA,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CACnC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,EACjD,oBAAoB,EAAE,EACtB,WAAW,CAAC,CAAC,CAAC,EACd,kBAAkB,EAAE,CACrB,CAAC;AACJ,CAAC;AAEK,SAAU,YAAY,CAAa,KAAa,EAAA;AACpD,IAAA,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CACnC,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAC7D,GAAG,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,EAC7C,oBAAoB,EAAE,EACtB,WAAW,CAAC,CAAC,CAAC,EACd,kBAAkB,EAAE,CACd,CAAC;AACX;;ACzFA;;AAEG;;;;"}
@@ -21,10 +21,10 @@ class ChipsManager {
21
21
  get chips() {
22
22
  return this._chips;
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsManager }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ChipsManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ChipsManager }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsManager, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ChipsManager, decorators: [{
28
28
  type: Injectable
29
29
  }] });
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-chips-manager.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/chips-manager/chips.manager.ts","../../../../../packages/@ng-atomic/common/src/lib/services/chips-manager/ng-atomic-common-services-chips-manager.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ChipsManager {\n private _chips: string[] = [];\n\n setValue(value: string): void {\n this._chips = value.split(' ').filter(chip => !!chip);\n }\n\n getValue(): string {\n return this._chips.join(' ');\n }\n\n remove(value: string): void {\n this._chips = this.chips.filter(chip => chip !== value);\n }\n\n add(chip: string): void {\n const value = (chip || '').trim();\n this._chips = [...this.chips, value];\n }\n\n get chips(): string[] {\n return this._chips;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;QAEU,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;AAsB/B,KAAA;AApBC,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;KACvD;IAED,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9B;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;KACzD;AAED,IAAA,GAAG,CAAC,IAAY,EAAA;QACd,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;+GAtBU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAZ,YAAY,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;;;ACFX;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-chips-manager.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/chips-manager/chips.manager.ts","../../../../../packages/@ng-atomic/common/src/lib/services/chips-manager/ng-atomic-common-services-chips-manager.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ChipsManager {\n private _chips: string[] = [];\n\n setValue(value: string): void {\n this._chips = value.split(' ').filter(chip => !!chip);\n }\n\n getValue(): string {\n return this._chips.join(' ');\n }\n\n remove(value: string): void {\n this._chips = this.chips.filter(chip => chip !== value);\n }\n\n add(chip: string): void {\n const value = (chip || '').trim();\n this._chips = [...this.chips, value];\n }\n\n get chips(): string[] {\n return this._chips;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;QAEU,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;AAsB/B,KAAA;AApBC,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;KACvD;IAED,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9B;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;KACzD;AAED,IAAA,GAAG,CAAC,IAAY,EAAA;QACd,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;8GAtBU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAZ,YAAY,EAAA,CAAA,CAAA,EAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;;;ACFX;;AAEG;;;;"}
@@ -14,10 +14,10 @@ class CsvService {
14
14
  element.click();
15
15
  document.body.removeChild(element);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsvService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsvService, providedIn: 'root' }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CsvService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CsvService, providedIn: 'root' }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsvService, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CsvService, decorators: [{
21
21
  type: Injectable,
22
22
  args: [{
23
23
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-csv.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/csv/csv.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/csv/ng-atomic-common-services-csv.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { unparse } from 'papaparse';\nimport dayjs from 'dayjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CsvService {\n downloadArrayAsCsv(array: Record<string, string>[], fileName: string = `${dayjs().format()}.csv`) {\n const UTF_8_BOM = '%EF%BB%BF';\n const data = 'data:text/csv;charset=utf-8,' + UTF_8_BOM + encodeURIComponent(unparse(array));\n const element = document.createElement('a');\n element.href = data;\n element.setAttribute('download', fileName);\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,UAAU,CAAA;IACrB,kBAAkB,CAAC,KAA+B,EAAE,QAAmB,GAAA,CAAA,EAAG,KAAK,EAAE,CAAC,MAAM,EAAE,CAAM,IAAA,CAAA,EAAA;QAC9F,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,QAAA,MAAM,IAAI,GAAG,8BAA8B,GAAG,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,QAAA,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,EAAE,CAAC;AAChB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACpC;+GAVU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAV,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,UAAU,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-csv.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/csv/csv.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/csv/ng-atomic-common-services-csv.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { unparse } from 'papaparse';\nimport dayjs from 'dayjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CsvService {\n downloadArrayAsCsv(array: Record<string, string>[], fileName: string = `${dayjs().format()}.csv`) {\n const UTF_8_BOM = '%EF%BB%BF';\n const data = 'data:text/csv;charset=utf-8,' + UTF_8_BOM + encodeURIComponent(unparse(array));\n const element = document.createElement('a');\n element.href = data;\n element.setAttribute('download', fileName);\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,UAAU,CAAA;IACrB,kBAAkB,CAAC,KAA+B,EAAE,QAAmB,GAAA,CAAA,EAAG,KAAK,EAAE,CAAC,MAAM,EAAE,CAAM,IAAA,CAAA,EAAA;QAC9F,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,QAAA,MAAM,IAAI,GAAG,8BAA8B,GAAG,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,QAAA,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,EAAE,CAAC;AAChB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACpC;8GAVU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAV,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,UAAU,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
@@ -13,10 +13,10 @@ class PaginationService {
13
13
  length: [length],
14
14
  });
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, providedIn: 'root' }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PaginationService, providedIn: 'root' }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PaginationService, decorators: [{
20
20
  type: Injectable,
21
21
  args: [{
22
22
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-form-pagination.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/form/pagination/pagination.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/form/pagination/ng-atomic-common-services-form-pagination.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\n\nexport interface PaginationFormValue {\n pageSize: number,\n pageIndex: number,\n length: number,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaginationService {\n private fb = inject(FormBuilder);\n\n build({\n pageSize = 50,\n pageIndex = 0,\n length = 0,\n }: Partial<PaginationFormValue> = {}) {\n return this.fb.group({\n pageSize: [pageSize],\n pageIndex: [pageIndex],\n length: [length],\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAYa,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAalC,KAAA;AAXC,IAAA,KAAK,CAAC,EACJ,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,CAAC,EACb,MAAM,GAAG,CAAC,MACsB,EAAE,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,SAAS,EAAE,CAAC,SAAS,CAAC;YACtB,MAAM,EAAE,CAAC,MAAM,CAAC;AACjB,SAAA,CAAC,CAAC;KACJ;+GAbU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,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,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-form-pagination.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/form/pagination/pagination.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/form/pagination/ng-atomic-common-services-form-pagination.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\n\nexport interface PaginationFormValue {\n pageSize: number,\n pageIndex: number,\n length: number,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaginationService {\n private fb = inject(FormBuilder);\n\n build({\n pageSize = 50,\n pageIndex = 0,\n length = 0,\n }: Partial<PaginationFormValue> = {}) {\n return this.fb.group({\n pageSize: [pageSize],\n pageIndex: [pageIndex],\n length: [length],\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAYa,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAalC,KAAA;AAXC,IAAA,KAAK,CAAC,EACJ,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,CAAC,EACb,MAAM,GAAG,CAAC,MACsB,EAAE,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,SAAS,EAAE,CAAC,SAAS,CAAC;YACtB,MAAM,EAAE,CAAC,MAAM,CAAC;AACjB,SAAA,CAAC,CAAC;KACJ;8GAbU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,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,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -21,15 +21,15 @@ class SortService {
21
21
  form.get('key').setValue(name);
22
22
  }
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortService, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortService, providedIn: 'root' }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortService, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortService, providedIn: 'root' }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortService, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortService, decorators: [{
28
28
  type: Injectable,
29
29
  args: [{
30
30
  providedIn: 'root'
31
31
  }]
32
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; } });
32
+ }], ctorParameters: () => [{ type: i1.FormBuilder }] });
33
33
 
34
34
  /**
35
35
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-form-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/form/sort/sort.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/form/sort/ng-atomic-common-services-form-sort.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\n\nexport interface SortFormValue {\n key?: string,\n order?: 'asc' | 'desc',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SortService {\n\n constructor(private fb: FormBuilder) { }\n\n build({key= null, order = 'asc'}: Partial<SortFormValue> = {}) {\n return this.fb.group({\n key: [key],\n order: [order as 'asc' | 'desc'],\n });\n }\n\n toggle(form: ReturnType<typeof this.build>, name: string) {\n if (form.get('key').value === name) {\n form.get('order').setValue(form.get('order').value === 'asc' ? 'desc' : 'asc');\n } else {\n form.get('order').setValue('asc');\n form.get('key').setValue(name);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAWa,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAoB,EAAe,EAAA;QAAf,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;KAAK;IAExC,KAAK,CAAC,EAAC,GAAG,GAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAA,GAA4B,EAAE,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,GAAG,EAAE,CAAC,GAAG,CAAC;YACV,KAAK,EAAE,CAAC,KAAuB,CAAC;AACjC,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,IAAmC,EAAE,IAAY,EAAA;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAChF,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,SAAA;KACF;+GAlBU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,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,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-form-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/form/sort/sort.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/form/sort/ng-atomic-common-services-form-sort.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\n\nexport interface SortFormValue {\n key?: string,\n order?: 'asc' | 'desc',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SortService {\n\n constructor(private fb: FormBuilder) { }\n\n build({key= null, order = 'asc'}: Partial<SortFormValue> = {}) {\n return this.fb.group({\n key: [key],\n order: [order as 'asc' | 'desc'],\n });\n }\n\n toggle(form: ReturnType<typeof this.build>, name: string) {\n if (form.get('key').value === name) {\n form.get('order').setValue(form.get('order').value === 'asc' ? 'desc' : 'asc');\n } else {\n form.get('order').setValue('asc');\n form.get('key').setValue(name);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAWa,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAoB,EAAe,EAAA;QAAf,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;KAAK;IAExC,KAAK,CAAC,EAAC,GAAG,GAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAA,GAA4B,EAAE,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,GAAG,EAAE,CAAC,GAAG,CAAC;YACV,KAAK,EAAE,CAAC,KAAuB,CAAC;AACjC,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,IAAmC,EAAE,IAAY,EAAA;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAChF,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,SAAA;KACF;8GAlBU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,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,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
@@ -1,44 +1,65 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { scan, map, tap, distinctUntilChanged, shareReplay, delay } from 'rxjs/operators';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { Subject, of } from 'rxjs';
5
+ import { scan, map, distinctUntilChanged, shareReplay, delay, tap, switchMap } from 'rxjs/operators';
5
6
 
6
7
  class LoadingService {
7
8
  constructor() {
8
9
  this.loadingEntries$ = new Subject();
9
- this.loadingMap = new Map();
10
- this.loadingMap$ = this.loadingEntries$.pipe(scan((map, [key, value]) => map.set(key, value), new Map()), map((map) => new Map([...map.entries()].filter(([_, v]) => v))), tap(m => console.debug('m:', m)), distinctUntilChanged((pre, cur) => JSON.stringify([...pre.entries()]) === JSON.stringify([...cur.entries()])), shareReplay(1));
10
+ this.loadingMap$ = this.loadingEntries$.pipe(scan((map, [key, value]) => map.set(key, value), new Map()), map((map) => new Map([...map.entries()].filter(([_, v]) => v))), distinctUntilChanged((pre, cur) => JSON.stringify([...pre.entries()]) === JSON.stringify([...cur.entries()])), shareReplay(1));
11
+ this.loadingMap = toSignal(this.loadingMap$);
11
12
  this.isLoading$ = this.loadingMap$.pipe(map((map) => !![...map.keys()].length), delay(0));
12
- this.loadingMap$.subscribe((m) => {
13
- this.loadingMap = m;
14
- });
13
+ this.isLoading = toSignal(this.isLoading$);
15
14
  }
16
- setKey(key) {
15
+ start(key = randomStr(16)) {
17
16
  this.loadingEntries$.next([key, true]);
17
+ return key;
18
18
  }
19
- removeKey(key) {
19
+ end(key) {
20
20
  this.loadingEntries$.next([key, false]);
21
21
  }
22
- start(callback, key = randomStr(16)) {
23
- this.setKey(key);
24
- callback(() => this.removeKey(key));
22
+ /** @deprecated: use start() instead */
23
+ setKey(key) {
24
+ this.start(key);
25
+ }
26
+ /** @deprecated: use end() instead*/
27
+ removeKey(key) {
28
+ this.end(key);
25
29
  }
26
30
  async await(callback) {
27
- const key = randomStr(16);
28
- this.setKey(key);
29
- const res = await callback();
30
- this.removeKey(key);
31
+ const key = this.start();
32
+ const res = await callback().catch(error => { console.error(error); });
33
+ this.end(key);
31
34
  return res;
32
35
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingService, providedIn: 'root' }); }
36
+ switchMap(project) {
37
+ const key = randomStr(16);
38
+ return (source) => source.pipe(tap(() => this.start(key)), switchMap(project), tap(() => this.end(key)));
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoadingService, providedIn: 'root' }); }
35
42
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoadingService, decorators: [{
37
44
  type: Injectable,
38
45
  args: [{
39
46
  providedIn: 'root',
40
47
  }]
41
- }], ctorParameters: function () { return []; } });
48
+ }] });
49
+ class NoopLoadingService extends LoadingService {
50
+ constructor() {
51
+ super(...arguments);
52
+ this.isLoading$ = of(false);
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NoopLoadingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NoopLoadingService }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NoopLoadingService, decorators: [{
58
+ type: Injectable
59
+ }] });
60
+ function provideNoopLoadingService() {
61
+ return { provide: LoadingService, useClass: NoopLoadingService };
62
+ }
42
63
  function randomStr(n = 16) {
43
64
  return Math.random().toString(36).substr(2, n);
44
65
  }
@@ -47,5 +68,5 @@ function randomStr(n = 16) {
47
68
  * Generated bundle index. Do not edit.
48
69
  */
49
70
 
50
- export { LoadingService, randomStr };
71
+ export { LoadingService, NoopLoadingService, provideNoopLoadingService, randomStr };
51
72
  //# sourceMappingURL=ng-atomic-common-services-loading.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-loading.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/loading/loading.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/loading/ng-atomic-common-services-loading.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { scan, map, distinctUntilChanged, delay, tap, shareReplay } from 'rxjs/operators';\n\ntype LoadingMap = Map<string, boolean>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private loadingEntries$ = new Subject<[string, boolean]>();\n\n loadingMap: LoadingMap = new Map();\n loadingMap$ = this.loadingEntries$.pipe(\n scan((map, [key, value]) => map.set(key, value), new Map()),\n map((map: LoadingMap) => new Map([...map.entries()].filter(([_, v]: [string, boolean]) => v))),\n tap(m => console.debug('m:', m)),\n distinctUntilChanged((pre, cur) => JSON.stringify([...pre.entries()]) === JSON.stringify([...cur.entries()])),\n shareReplay(1),\n );\n\n isLoading$ = this.loadingMap$.pipe(\n map((map) => !![...map.keys()].length),\n delay(0),\n );\n\n constructor() {\n this.loadingMap$.subscribe((m) => {\n this.loadingMap = m;\n });\n }\n\n setKey(key: string): void {\n this.loadingEntries$.next([key, true]);\n }\n\n removeKey(key: string): void {\n this.loadingEntries$.next([key, false]);\n }\n\n start(callback: (done: any) => void, key: string = randomStr(16)) {\n this.setKey(key);\n callback(() => this.removeKey(key));\n }\n\n async await<T = any>(callback: (...args: any[]) => Promise<T>): Promise<T> {\n const key = randomStr(16);\n this.setKey(key);\n const res = await callback();\n this.removeKey(key);\n return res;\n }\n}\n\nexport function randomStr(n: number = 16): string {\n return Math.random().toString(36).substr(2, n);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-services-loading.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/loading/loading.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/loading/ng-atomic-common-services-loading.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ObservableInput, ObservedValueOf, OperatorFunction, Subject, of } from 'rxjs';\nimport { scan, map, distinctUntilChanged, delay, tap, shareReplay, switchMap } from 'rxjs/operators';\n\ntype LoadingMap = Map<string, boolean>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private loadingEntries$ = new Subject<[string, boolean]>();\n readonly loadingMap$ = this.loadingEntries$.pipe(\n scan((map, [key, value]) => map.set(key, value), new Map()),\n map((map: LoadingMap) => new Map([...map.entries()].filter(([_, v]: [string, boolean]) => v))),\n distinctUntilChanged((pre, cur) => JSON.stringify([...pre.entries()]) === JSON.stringify([...cur.entries()])),\n shareReplay(1),\n );\n readonly loadingMap = toSignal(this.loadingMap$);\n\n readonly isLoading$ = this.loadingMap$.pipe(\n map((map) => !![...map.keys()].length),\n delay(0),\n );\n readonly isLoading = toSignal(this.isLoading$);\n\n start(key: string = randomStr(16)): string {\n this.loadingEntries$.next([key, true]);\n return key;\n }\n\n end(key: string): void {\n this.loadingEntries$.next([key, false]);\n }\n\n /** @deprecated: use start() instead */\n setKey(key: string): void {\n this.start(key);\n }\n\n /** @deprecated: use end() instead*/\n removeKey(key: string): void {\n this.end(key);\n }\n\n async await<T = any>(callback: (...args: any[]) => Promise<T>): Promise<T | void> {\n const key = this.start();\n const res = await callback().catch(error => {console.error(error);});\n this.end(key);\n return res;\n }\n\n switchMap<T, O extends ObservableInput<any>>(\n project: (value: T, index: number) => O\n ): OperatorFunction<T, ObservedValueOf<O>> {\n const key = randomStr(16);\n return (source) => source.pipe(\n tap(() => this.start(key)),\n switchMap(project),\n tap(() => this.end(key)),\n );\n }\n}\n\n@Injectable()\nexport class NoopLoadingService extends LoadingService {\n readonly isLoading$ = of(false);\n}\n\nexport function provideNoopLoadingService() {\n return { provide: LoadingService, useClass: NoopLoadingService };\n}\n\nexport function randomStr(n: number = 16): string {\n return Math.random().toString(36).substr(2, n);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}