@ng-atomic/common 16.2.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) 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 +89 -19
  191. package/pipes/actions/actions.pipe.d.ts +2 -1
  192. package/pipes/data-accessor/data-accessor.pipe.d.ts +9 -5
  193. package/pipes/domain/domain.pipe.d.ts +52 -6
  194. package/pipes/error/error.pipe.d.ts +2 -2
  195. package/pipes/grouped-by/grouped-by.pipe.d.ts +3 -2
  196. package/pipes/index/index.d.ts +1 -0
  197. package/pipes/index/index.pipe.d.ts +11 -0
  198. package/pipes/index-length/index-length.pipe.d.ts +10 -0
  199. package/pipes/index-length/index.d.ts +1 -0
  200. package/pipes/keys/keys.pipe.d.ts +2 -1
  201. package/pipes/page/index.d.ts +1 -0
  202. package/pipes/page/page.pipe.d.ts +11 -0
  203. package/pipes/query/query.pipe.d.ts +5 -4
  204. package/pipes/secret/index.d.ts +1 -0
  205. package/pipes/secret/secret.pipe.d.ts +8 -0
  206. package/pipes/select-id/select-id.pipe.d.ts +2 -2
  207. package/pipes/signal/signal.pipe.d.ts +3 -2
  208. package/pipes/smart-exp/smart-exp.pipe.d.ts +2 -1
  209. package/pipes/smart-field/smart-field.pipe.d.ts +48 -15
  210. package/pipes/sort-by/index.d.ts +1 -0
  211. package/pipes/sort-by/sort-by.pipe.d.ts +17 -0
  212. package/services/auth/auth.service.d.ts +32 -25
  213. package/services/loading/loading.service.d.ts +20 -8
  214. package/services/navigation-history/index.d.ts +1 -0
  215. package/services/navigation-history/navigation-history.service.d.ts +14 -0
  216. package/services/query-resolver/query-resolver.service.d.ts +25 -8
  217. package/services/root-property/index.d.ts +1 -0
  218. package/services/root-property/root-property.service.d.ts +91 -0
  219. package/services/router/index.d.ts +1 -0
  220. package/services/router/router.service.d.ts +10 -0
  221. package/services/secret/index.d.ts +1 -0
  222. package/services/secret/secret.service.d.ts +6 -0
  223. package/services/side-app/index.d.ts +1 -0
  224. package/services/side-app/side-app.service.d.ts +9 -0
  225. package/services/side-nav-mode/index.d.ts +1 -0
  226. package/services/side-nav-mode/side-nav-mode.service.d.ts +11 -0
  227. package/services/snack-bar/snack-bar.service.d.ts +1 -1
  228. package/services/ui/index.d.ts +1 -0
  229. package/services/ui/ui.helpers.d.ts +28 -0
  230. package/services/ui/ui.service.d.ts +42 -47
  231. package/stores/entities/di.d.ts +15 -0
  232. package/stores/entities/entity-store-manager.d.ts +12 -0
  233. package/stores/entities/entity-store.d.ts +86 -0
  234. package/stores/entities/index.d.ts +5 -1
  235. package/stores/entities/proxy-id.service.d.ts +10 -0
  236. package/stores/entities/task-composer.d.ts +35 -0
  237. package/stores/query/query.store.d.ts +3 -3
  238. package/utils/form/form.d.ts +10 -0
  239. package/utils/form/index.d.ts +1 -0
  240. package/utils/get/get.d.ts +1 -0
  241. package/utils/index.d.ts +4 -1
  242. package/utils/inject/index.d.ts +1 -0
  243. package/utils/inject/inject.d.ts +50 -0
  244. package/utils/mat-dayjs-date/dayjs-date.module.d.ts +2 -5
  245. package/utils/page/page.d.ts +1 -1
  246. package/utils/router/index.d.ts +1 -0
  247. package/utils/router/router.d.ts +4 -0
  248. package/utils/time.d.ts +1 -0
  249. package/esm2022/pipes/smart-sort-by/index.mjs +0 -4
  250. package/esm2022/pipes/smart-sort-by/ng-atomic-common-pipes-smart-sort-by.mjs +0 -5
  251. package/esm2022/pipes/smart-sort-by/smart-sort-by.module.mjs +0 -24
  252. package/esm2022/pipes/smart-sort-by/smart-sort-by.pipe.mjs +0 -28
  253. package/esm2022/pipes/smart-sort-by/smart-sort-by.transformer.mjs +0 -5
  254. package/esm2022/stores/entities/entities.store.mjs +0 -32
  255. package/esm2022/utils/query/index.mjs +0 -2
  256. package/esm2022/utils/query/query.resolver.mjs +0 -100
  257. package/fesm2022/ng-atomic-common-pipes-smart-sort-by.mjs +0 -60
  258. package/fesm2022/ng-atomic-common-pipes-smart-sort-by.mjs.map +0 -1
  259. package/pipes/smart-sort-by/index.d.ts +0 -3
  260. package/pipes/smart-sort-by/smart-sort-by.module.d.ts +0 -8
  261. package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts +0 -11
  262. package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts +0 -2
  263. package/stores/entities/entities.store.d.ts +0 -19
  264. package/utils/query/index.d.ts +0 -1
  265. package/utils/query/query.resolver.d.ts +0 -2
@@ -1,15 +1,20 @@
1
1
  import dayjs from 'dayjs';
2
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { merge, of, map, startWith, shareReplay, switchMap, NEVER, filter, combineLatest } from 'rxjs';
4
+ import { computedAsync } from 'ngxtension/computed-async';
5
+ import { computeFake } from '@ng-atomic/core';
2
6
  import _get from 'lodash.get';
3
- import { __decorate, __param, __metadata } from 'tslib';
4
7
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, Inject, NgModule } from '@angular/core';
8
+ import { inject, Injector, Injectable, InjectionToken, Optional, Inject, NgModule } from '@angular/core';
9
+ import { ActivatedRoute, Router, NavigationEnd } from '@angular/router';
10
+ import { get as get$1 } from 'lodash-es';
11
+ import { __decorate, __param, __metadata } from 'tslib';
6
12
  import { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';
7
13
  import utc from 'dayjs/plugin/utc';
8
14
  import localeData from 'dayjs/plugin/localeData';
9
15
  import LocalizedFormat from 'dayjs/plugin/localizedFormat';
10
16
  import customParseFormat from 'dayjs/plugin/customParseFormat';
11
17
  import 'dayjs/locale/ja';
12
- import { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';
13
18
 
14
19
  const comma = (n) => n === null ? '0' : n.toLocaleString();
15
20
  const commaStr = (n, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;
@@ -39,11 +44,147 @@ function diff(initial, current) {
39
44
  };
40
45
  }
41
46
 
47
+ function getValue$(control) {
48
+ return merge(of(control.value), control.valueChanges);
49
+ }
50
+ function getValue(control) {
51
+ return toSignal(getValue$(control));
52
+ }
53
+ function getRawValue$(control) {
54
+ return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));
55
+ }
56
+ function getRawValue(control) {
57
+ return toSignal(getRawValue$(control));
58
+ }
59
+ function computedRawValue(controlFactory) {
60
+ return computedAsync(() => controlFactory().valueChanges.pipe(startWith(null), map(() => controlFactory().getRawValue())), { initialValue: computeFake(controlFactory()).getRawValue() });
61
+ }
62
+ function getInvalid$(control) {
63
+ return control.statusChanges.pipe(startWith(null), map(() => control.invalid));
64
+ }
65
+ function getInvalid(form) {
66
+ return toSignal(getInvalid$(form));
67
+ }
68
+
69
+ /** @deprecated use lodash-es */
42
70
  function get(obj, path) {
43
71
  return _get(obj, path);
44
72
  }
45
73
  ;
46
74
 
75
+ function injectRouterParam$(key) {
76
+ return inject(ActivatedRoute).paramMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());
77
+ }
78
+ /** @deprecated */
79
+ function injectRouterParam(key) {
80
+ return toSignal(injectRouterParam$(key));
81
+ }
82
+ function injectRouteParam$(key) {
83
+ return inject(ActivatedRoute).paramMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());
84
+ }
85
+ function injectRouteQueryParam$(key) {
86
+ return inject(ActivatedRoute).queryParamMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());
87
+ }
88
+ function injectRouteQueryParam(key) {
89
+ return toSignal(injectRouteQueryParam$(key));
90
+ }
91
+ function injectRouteParam(key, injector) {
92
+ return toSignal(injectRouteParam$(key), { injector });
93
+ }
94
+ function injectRouteParamMap$() {
95
+ return inject(ActivatedRoute).paramMap.pipe(shareReplay(1), takeUntilDestroyed());
96
+ }
97
+ function injectRouteParamMap() {
98
+ return toSignal(injectRouteParamMap$());
99
+ }
100
+ function injectRouteParams$() {
101
+ return inject(ActivatedRoute).paramMap.pipe(map((params) => {
102
+ const result = {};
103
+ params.keys.forEach(key => result[key] = params.get(key));
104
+ return result;
105
+ }), shareReplay(1), takeUntilDestroyed());
106
+ }
107
+ function injectRouteParams() {
108
+ return toSignal(injectRouteParams$());
109
+ }
110
+ function injectChildRouteParam$(key, initial = NEVER) {
111
+ const route = inject(ActivatedRoute);
112
+ const router = inject(Router);
113
+ return router.events.pipe(switchMap(() => route?.firstChild ? route.firstChild.paramMap : initial), map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());
114
+ }
115
+ function injectChildRouteParam(key) {
116
+ return toSignal(injectChildRouteParam$(key));
117
+ }
118
+ function injectChildRoute$() {
119
+ const router = inject(Router);
120
+ const route = inject(ActivatedRoute);
121
+ return router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => route?.firstChild?.firstChild), shareReplay(1), takeUntilDestroyed());
122
+ }
123
+ function injectChildRoute() {
124
+ return toSignal(injectChildRoute$());
125
+ }
126
+ function injectHasNext$() {
127
+ const router = inject(Router);
128
+ const route = inject(ActivatedRoute);
129
+ return router.events.pipe(startWith(null), map(() => !!route?.firstChild?.firstChild), shareReplay(1), takeUntilDestroyed());
130
+ }
131
+ function injectHasNext() {
132
+ return toSignal(injectHasNext$());
133
+ }
134
+ function injectRouterQueryParam$(key) {
135
+ return inject(ActivatedRoute).queryParamMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());
136
+ }
137
+ function injectRouterQueryParam(key) {
138
+ return toSignal(injectRouterQueryParam$(key));
139
+ }
140
+ function injectRouteData$(path) {
141
+ return inject(ActivatedRoute).data.pipe(map(data => get$1(data, path)));
142
+ }
143
+ function injectRouteData(key) {
144
+ return toSignal(injectRouteData$(key));
145
+ }
146
+ function injectActivatedComponents(injector = inject(Injector)) {
147
+ const components = [];
148
+ let route = injector.get(ActivatedRoute, { optional: true }) ?? null;
149
+ while (route) {
150
+ if (route.component)
151
+ components.push(route.component);
152
+ route = route.parent;
153
+ }
154
+ return components;
155
+ }
156
+ function provideResolver(Entity, ResolverType) {
157
+ return {
158
+ provide: Entity,
159
+ // useFactory: () => new ResolverType(params),
160
+ deps: [],
161
+ multi: true,
162
+ };
163
+ }
164
+ class ResolverManager {
165
+ constructor() {
166
+ this.map = new Map();
167
+ }
168
+ get(Entity) {
169
+ if (!this.map.has(Entity.name)) {
170
+ // return this.map.set()
171
+ }
172
+ return this.map.get(Entity.name);
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolverManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
175
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolverManager, providedIn: 'root' }); }
176
+ }
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolverManager, decorators: [{
178
+ type: Injectable,
179
+ args: [{ providedIn: 'root' }]
180
+ }] });
181
+ function injectResolver$(ResolverType, params) {
182
+ return combineLatest(params).pipe(map((params) => new ResolverType(params)), shareReplay(1), takeUntilDestroyed());
183
+ }
184
+ function getResolver(ResolverType, params) {
185
+ return new ResolverType(params);
186
+ }
187
+
47
188
  /** InjectionToken for Dayjs date adapter to configure options. */
48
189
  const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken('MAT_DAYJS_DATE_ADAPTER_OPTIONS', {
49
190
  providedIn: 'root',
@@ -259,40 +400,90 @@ const MAT_DAYJS_JP_PROVIDERS = [
259
400
  ];
260
401
 
261
402
  class DayjsDateModule {
262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayjsDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
263
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DayjsDateModule }); }
264
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayjsDateModule, providers: [
265
- {
266
- provide: DateAdapter,
267
- useClass: DayjsDateAdapter,
268
- deps: [MAT_DATE_LOCALE, MAT_DAYJS_DATE_ADAPTER_OPTIONS]
269
- },
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DayjsDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
404
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: DayjsDateModule }); }
405
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DayjsDateModule, providers: [
406
+ provideDayjsDateAdapter(),
270
407
  ] }); }
271
408
  }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayjsDateModule, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DayjsDateModule, decorators: [{
273
410
  type: NgModule,
274
411
  args: [{
275
412
  providers: [
276
- {
277
- provide: DateAdapter,
278
- useClass: DayjsDateAdapter,
279
- deps: [MAT_DATE_LOCALE, MAT_DAYJS_DATE_ADAPTER_OPTIONS]
280
- },
413
+ provideDayjsDateAdapter(),
281
414
  ],
282
415
  }]
283
416
  }] });
284
- class MatDayjsDateModule {
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatDayjsDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
286
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MatDayjsDateModule, imports: [DayjsDateModule] }); }
287
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatDayjsDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }], imports: [DayjsDateModule] }); }
417
+ function provideDayjsDateAdapter() {
418
+ return [
419
+ {
420
+ provide: DateAdapter,
421
+ useClass: DayjsDateAdapter,
422
+ deps: [
423
+ MAT_DATE_LOCALE,
424
+ MAT_DAYJS_DATE_ADAPTER_OPTIONS,
425
+ ]
426
+ },
427
+ {
428
+ provide: MAT_DATE_FORMATS,
429
+ useValue: MAT_DAYJS_DATE_FORMATS,
430
+ },
431
+ ];
432
+ }
433
+
434
+ function walkActivatedRouteSnapshot(snapshot, callback, target = 'children') {
435
+ if (callback(snapshot))
436
+ return;
437
+ if (target === 'children') {
438
+ snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));
439
+ }
440
+ }
441
+ function skippedResolver(outlet = 'primary') {
442
+ let skipped;
443
+ return (route, snapshot) => {
444
+ const routes = [];
445
+ walkActivatedRouteSnapshot(snapshot.root, snapshot => {
446
+ if (snapshot.outlet === outlet) {
447
+ routes.push(snapshot);
448
+ return false;
449
+ }
450
+ return true;
451
+ });
452
+ if (route === routes.at(-1)) {
453
+ return skipped = false;
454
+ }
455
+ return skipped ??= route !== routes.at(-1);
456
+ };
457
+ }
458
+ function resolveModule(m) {
459
+ if (m.default) {
460
+ return m.default;
461
+ }
462
+ return m;
463
+ }
464
+ function wrapRoutes(routes) {
465
+ return (routes ?? []).map(route => {
466
+ if (route.loadChildren) {
467
+ return {
468
+ ...route,
469
+ loadChildren: () => route.loadChildren().then(routes => {
470
+ return wrapRoutes(resolveModule(routes));
471
+ }),
472
+ resolve: {
473
+ ...(route?.resolve || {}),
474
+ skipped: skippedResolver(),
475
+ }
476
+ };
477
+ }
478
+ return {
479
+ ...route,
480
+ resolve: {
481
+ ...(route?.resolve || {}),
482
+ skipped: skippedResolver(),
483
+ },
484
+ };
485
+ });
288
486
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatDayjsDateModule, decorators: [{
290
- type: NgModule,
291
- args: [{
292
- imports: [DayjsDateModule],
293
- providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }],
294
- }]
295
- }] });
296
487
 
297
488
  const SMART_EXP_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Transformer');
298
489
  // export const yenTransform = (value: number, _unit?: string): string => {
@@ -319,101 +510,13 @@ const getAllProps = (obj, keys = Object.keys(obj)) => {
319
510
  };
320
511
  const toObject = (obj) => getAllProps(obj).reduce((p, k) => ({ ...p, [k]: obj[k] }), {});
321
512
 
322
- const filterByQuery = (items, queryString, dlm = {}, transformer = smartExpTransformer) => {
323
- return new QueryResolver(dlm, transformer).resolve(items, queryString);
324
- };
325
- class QueryResolver {
326
- constructor(map, transformer) {
327
- this.transformer = transformer;
328
- this.inQueryByKey = (items, query) => {
329
- const [not, _key, value] = this.parseQuery(query);
330
- const key = this.REVERSED_MAP?.[_key] ?? _key;
331
- return items.filter(item => _not(this.in(key, flattenExcludeDayjs(toObject(item))?.[key], value), not));
332
- };
333
- this.gtQueryByKey = (items, query) => {
334
- const [_key, value] = query.split('>');
335
- const key = this.REVERSED_MAP?.[_key] ?? _key;
336
- return items.filter(item => {
337
- // TODO(nontangent): flattenしたときにdayjsが壊れる
338
- const v = flattenExcludeDayjs(toObject(item))?.[key] ?? toObject(item)?.[key];
339
- return this.gt(key, v, value);
340
- });
341
- };
342
- this.ltQueryByKey = (items, query) => {
343
- const [_key, value] = query.split('<');
344
- const key = this.REVERSED_MAP?.[_key] ?? _key;
345
- return items.filter(item => {
346
- // TODO(nontangent): flattenしたときにdayjsが壊れる
347
- const v = flattenExcludeDayjs(toObject(item))?.[key] ?? toObject(item)?.[key];
348
- return this.lt(key, v, value);
349
- });
350
- };
351
- this.inQuery = (items, q) => {
352
- return items.filter(item => {
353
- const flattenObj = flattenExcludeDayjs(toObject(item));
354
- return Object.entries(flattenObj).some(([k, v]) => this.in(k, v, q));
355
- });
356
- };
357
- this.REVERSED_MAP = Object.entries(map).reduce((p, [k, v]) => ({
358
- ...p, [v]: k
359
- }), {});
360
- }
361
- resolve(items, queryString) {
362
- return this.resolveQueries(items, queryString.split(' ').filter(q => q.length));
363
- }
364
- resolveQueries(items, queries) {
365
- return queries.reduce((_items, query) => {
366
- if (query.includes(':'))
367
- return this.inQueryByKey(_items, query);
368
- if (query.includes('='))
369
- return this.inQueryByKey(_items, query);
370
- if (query.includes('>'))
371
- return this.gtQueryByKey(_items, query);
372
- if (query.includes('<'))
373
- return this.ltQueryByKey(_items, query);
374
- return this.inQuery(_items, query);
375
- }, items);
376
- }
377
- parseQuery(query) {
378
- const [_key, value] = query.split(':');
379
- return [_key.startsWith('-'), _key.startsWith('-') ? _key.slice(1) : _key, value];
380
- }
381
- in(key, value, query) {
382
- return _in(this.transformer(value, key), query);
383
- }
384
- gt(k, v, q) {
385
- // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);
386
- return _gt(v, q);
387
- }
388
- lt(k, v, q) {
389
- // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);
390
- return _lt(v, q);
391
- }
392
- }
393
- const _not = (bool, not) => {
394
- return not ? !bool : bool;
395
- };
396
- const _in = (value, query) => {
397
- return typeof value === 'string' ? value?.includes(query) : false;
398
- };
399
- const _gt = (value, query) => {
400
- return typeof value === 'string'
401
- ? parseFloat(value) > parseFloat(query)
402
- : typeof value === 'number'
403
- ? value > parseFloat(query)
404
- : dayjs.isDayjs(value)
405
- ? dayjs(query).isBefore(value)
406
- : false;
407
- };
408
- const _lt = (value, query) => {
409
- return typeof value === 'string'
410
- ? parseFloat(value) < parseFloat(query)
411
- : typeof value === 'number'
412
- ? value < parseFloat(query)
413
- : dayjs.isDayjs(value)
414
- ? dayjs(query).isAfter(value)
415
- : false;
416
- };
513
+ // 秒数をhh:mm:ssの形にフォーマットする
514
+ function formatSeconds(seconds) {
515
+ const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');
516
+ const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');
517
+ const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');
518
+ return `${h}:${m}:${s}`;
519
+ }
417
520
 
418
521
  // export * from './define-element';
419
522
 
@@ -421,5 +524,5 @@ const _lt = (value, query) => {
421
524
  * Generated bundle index. Do not edit.
422
525
  */
423
526
 
424
- export { DATE_FORMAT, DayjsDateAdapter, DayjsDateModule, MAT_DAYJS_DATE_ADAPTER_OPTIONS, MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY, MAT_DAYJS_DATE_FORMATS, MAT_DAYJS_DATE_FORMATS_FOR_JP, MAT_DAYJS_JP_PROVIDERS, MatDayjsDateModule, SMART_EXP_TRANSFORMER, abs, comma, commaStr, compareById, compareByIdFactory, diff, filterByQuery, get, isDateStr, isDateTimeStr, isIsoString, removeComma, smartExpTransformer, timestampToDayjs, toObject, yenTransform };
527
+ export { DATE_FORMAT, DayjsDateAdapter, DayjsDateModule, MAT_DAYJS_DATE_ADAPTER_OPTIONS, MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY, MAT_DAYJS_DATE_FORMATS, MAT_DAYJS_DATE_FORMATS_FOR_JP, MAT_DAYJS_JP_PROVIDERS, ResolverManager, SMART_EXP_TRANSFORMER, abs, comma, commaStr, compareById, compareByIdFactory, computedRawValue, diff, formatSeconds, get, getInvalid, getInvalid$, getRawValue, getRawValue$, getResolver, getValue, getValue$, injectActivatedComponents, injectChildRoute, injectChildRoute$, injectChildRouteParam, injectChildRouteParam$, injectHasNext, injectHasNext$, injectResolver$, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteParamMap$, injectRouteParams, injectRouteParams$, injectRouteQueryParam, injectRouteQueryParam$, injectRouterParam, injectRouterParam$, injectRouterQueryParam, injectRouterQueryParam$, isDateStr, isDateTimeStr, isIsoString, provideDayjsDateAdapter, provideResolver, removeComma, skippedResolver, smartExpTransformer, timestampToDayjs, toObject, walkActivatedRouteSnapshot, wrapRoutes, yenTransform };
425
528
  //# sourceMappingURL=ng-atomic-common-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/smart-exp-transformer/smart-exp-transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/query/query.resolver.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/index.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit: string = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import _get from 'lodash.get';\n\n// ネストされたオブジェクトのキーの組み合わせを生成する型ヘルパー\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n// ネストされたパスに対応する型を抽出するための型ヘルパー\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path);\n};","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n * {@default false}\n */\n useUtc?: boolean;\n}\n\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Dayjs Dates for use with Angular Material. */\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n // TODO: Implement\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_DAYJS_DATE_ADAPTER_OPTIONS]\n },\n ],\n})\nexport class DayjsDateModule { }\n\n@NgModule({\n imports: [DayjsDateModule],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }],\n})\nexport class MatDayjsDateModule { }","import { InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const SMART_EXP_TRANSFORMER = new InjectionToken<SmartExpTransformer>('[@ng-atomic/common] Smart Transformer');\n\nexport type SmartExpTransformer = (input: string | number | dayjs.Dayjs | any, key?: string) => string;\n\n// export const yenTransform = (value: number, _unit?: string): string => {\n// return value < 1 ? `${comma(value * 100)}%` : `${comma(value)}円`;\n// }\n\nexport const yenTransform = (value: number, _unit: string = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport const smartExpTransformer: SmartExpTransformer = input => dayjs.isDayjs(input)\n ? input.format('YY/MM/DD')\n : Array.isArray(input) \n ? `${input.length}個のアイテム`\n : typeof input === 'number'\n ? yenTransform(input)\n : input;","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)!.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: obj[k]}), {});\n","import { flattenExcludeDayjs as flatten } from '@nx-ddd/core/util/walk-obj';\nimport { smartExpTransformer, SmartExpTransformer } from '../smart-exp-transformer';\nimport { toObject } from '../to-object';\nimport dayjs from 'dayjs';\n\nexport const filterByQuery = <T>(\n items: T[], \n queryString: string, \n dlm: Record<string, string> = {},\n transformer: SmartExpTransformer = smartExpTransformer,\n): T[] => {\n return new QueryResolver(dlm, transformer).resolve(items, queryString);\n}\n\ntype QueryResolveFunc<T> = (items: T[], query: string) => T[];\n\nclass QueryResolver<T extends object = any> {\n REVERSED_MAP: Record<string, string>;\n\n constructor(\n map: Record<string, string>,\n private transformer: SmartExpTransformer,\n ) {\n this.REVERSED_MAP = Object.entries(map).reduce((p, [k, v]) => ({\n ...p, [v]: k\n }), {} as Record<string, string>);\n }\n\n resolve(items: T[], queryString: string): T[] {\n return this.resolveQueries(items, queryString.split(' ').filter(q => q.length));\n }\n\n resolveQueries(items: T[], queries: string[]): T[] {\n return queries.reduce((_items, query: string) => {\n if (query.includes(':')) return this.inQueryByKey(_items, query);\n if (query.includes('=')) return this.inQueryByKey(_items, query);\n if (query.includes('>')) return this.gtQueryByKey(_items, query);\n if (query.includes('<')) return this.ltQueryByKey(_items, query);\n return this.inQuery(_items, query);\n }, items);\n }\n\n private parseQuery(query: string): [boolean, string, string] {\n const [_key, value] = query.split(':');\n return [_key.startsWith('-'), _key.startsWith('-') ? _key.slice(1) : _key, value];\n }\n\n private inQueryByKey: QueryResolveFunc<T> = (items, query) => {\n const [not, _key, value] = this.parseQuery(query);\n const key = this.REVERSED_MAP?.[_key] ?? _key;\n return items.filter(item => _not(this.in(key, flatten(toObject(item as any))?.[key], value), not));\n }\n\n private gtQueryByKey: QueryResolveFunc<T> = (items, query) => {\n const [_key, value] = query.split('>');\n const key = this.REVERSED_MAP?.[_key] ?? _key;\n return items.filter(item => {\n // TODO(nontangent): flattenしたときにdayjsが壊れる\n const v = flatten(toObject(item as any))?.[key] ?? toObject(item as any)?.[key];\n return this.gt(key, v, value)\n });\n }\n\n private ltQueryByKey: QueryResolveFunc<T> = (items, query) => {\n const [_key, value] = query.split('<');\n const key = this.REVERSED_MAP?.[_key] ?? _key;\n return items.filter(item => {\n // TODO(nontangent): flattenしたときにdayjsが壊れる\n const v = flatten(toObject(item as any))?.[key] ?? toObject(item as any)?.[key];\n return this.lt(key, v, value)\n });\n }\n\n private inQuery: QueryResolveFunc<T> = (items: T[], q) => {\n return items.filter(item => {\n const flattenObj = flatten(toObject(item));\n return Object.entries(flattenObj).some(([k, v]) => this.in(k, v, q))\n });\n }\n\n private in(key: string, value: any, query: string) {\n return _in(this.transformer(value, key), query);\n }\n\n private gt(k: string, v: any, q: string) {\n // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);\n return _gt(v, q);\n }\n\n private lt(k: string, v: any, q: string) {\n // const value = dayjs.isDayjs(v) ? v : this.transformer(v, k);\n return _lt(v, q);\n }\n}\n\nconst _not = (bool: boolean, not: boolean): boolean => {\n return not ? !bool : bool;\n}\n\nconst _in = (value: any, query: string): boolean => {\n return typeof value === 'string' ? value?.includes(query) : false;\n}\n\nconst _gt = (value: any, query: string): boolean => {\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\nconst _lt = (value: any, query: string): boolean => {\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}","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './get';\nexport * from './mat-dayjs-date';\nexport * from './smart-exp-transformer';\nexport * from './to-object';\nexport * from './query';\n// export * from './define-element';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["flatten"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/form/form.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/inject.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/router/router.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/smart-exp-transformer/smart-exp-transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/time.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/index.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit: string = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import { Signal } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { Observable, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\n\nexport function getValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.value), control.valueChanges);\n}\n\nexport function getValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getValue$(control));\n}\n\nexport function getRawValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\n\nexport function getRawValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getRawValue$(control));\n}\n\nexport function computedRawValue<T>(controlFactory: () => AbstractControl<T>): Signal<T> {\n return computedAsync(() => controlFactory().valueChanges.pipe(\n startWith(null),\n map(() => controlFactory().getRawValue()),\n ), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\n\nexport function getInvalid$<T>(control: AbstractControl<T>): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(null),\n map(() => control.invalid),\n );\n}\n\nexport function getInvalid<T>(form: AbstractControl<T>): Signal<boolean> {\n return toSignal(getInvalid$(form));\n}\n\n","import _get from 'lodash.get';\n\n// ネストされたオブジェクトのキーの組み合わせを生成する型ヘルパー\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n// ネストされたパスに対応する型を抽出するための型ヘルパー\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\n/** @deprecated use lodash-es */\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path);\n};","import { Injectable, Injector, Signal, computed, inject } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, NavigationStart, ParamMap, Router } from \"@angular/router\";\nimport { NEVER, Observable, combineLatest, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Type } from \"@nx-ddd/common/domain/models\";\nimport { get } from \"lodash-es\";\n\nexport function injectRouterParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\n/** @deprecated */\nexport function injectRouterParam(key: string): Signal<string> {\n return toSignal(injectRouterParam$(key));\n}\n\nexport function injectRouteParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam(key: string): Signal<string> {\n return toSignal(injectRouteQueryParam$(key));\n}\n\nexport function injectRouteParam(key: string, injector?: Injector): Signal<string> {\n return toSignal(injectRouteParam$(key), {injector});\n}\n\nexport function injectRouteParamMap$(): Observable<ParamMap> {\n return inject(ActivatedRoute).paramMap.pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParamMap(): Signal<ParamMap> {\n return toSignal(injectRouteParamMap$());\n}\n\nexport function injectRouteParams$(): Observable<Record<string, string>> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => {\n const result = {};\n params.keys.forEach(key => result[key] = params.get(key));\n return result;\n }),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParams(): Signal<Record<string, string>> {\n return toSignal(injectRouteParams$());\n}\n\nexport function injectChildRouteParam$(key: string, initial: Observable<Map<string, string>> = NEVER): Observable<string> {\n const route = inject(ActivatedRoute);\n const router = inject(Router);\n return router.events.pipe(\n switchMap(() => route?.firstChild ? route.firstChild.paramMap : initial),\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRouteParam(key: string): Signal<string> {\n return toSignal(injectChildRouteParam$(key));\n}\n\nexport function injectChildRoute$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRoute(): Signal<ActivatedRoute> {\n return toSignal(injectChildRoute$());\n}\n\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => !!route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\n\nexport function injectRouterQueryParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouterQueryParam(key: string): Signal<string> {\n return toSignal(injectRouterQueryParam$(key));\n}\n\nexport function injectRouteData$<T>(path: string): Observable<T> {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path) as T));\n}\n\nexport function injectRouteData<T>(key: string): Signal<T> {\n return toSignal(injectRouteData$(key));\n}\n\nexport function injectActivatedComponents(injector: Injector = inject(Injector)): any[] {\n const components = [];\n let route = injector.get(ActivatedRoute, {optional: true}) ?? null;\n while(route) {\n if (route.component) components.push(route.component);\n route = route.parent;\n }\n return components;\n}\n\n\n\nexport interface Resolver<T> {\n resolve(entry: T): T;\n resolveMany(entities: T[]): T[];\n}\n\nexport function provideResolver(\n Entity: Type<{id: string}>,\n ResolverType: new (params: Record<string, Observable<any>>) => Resolver<any>,\n) {\n return {\n provide: Entity,\n // useFactory: () => new ResolverType(params),\n deps: [],\n multi: true,\n };\n}\n\n@Injectable({providedIn: 'root'})\nexport class ResolverManager {\n protected map = new Map<string, Resolver<any>>();\n\n get(Entity: Type<{id: string}>) {\n if (!this.map.has(Entity.name)) {\n // return this.map.set()\n }\n return this.map.get(Entity.name);\n }\n}\n\nexport function injectResolver$<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, Observable<any>>,\n): Observable<Resolver<T>> {\n return combineLatest(params).pipe(\n map((params) => new ResolverType(params)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function getResolver<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, any>,\n): Resolver<T> {\n return new ResolverType(params);\n}\n","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n * {@default false}\n */\n useUtc?: boolean;\n}\n\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Dayjs Dates for use with Angular Material. */\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n // TODO: Implement\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule, Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n provideDayjsDateAdapter(),\n ],\n})\nexport class DayjsDateModule { }\n\nexport function provideDayjsDateAdapter(): Provider[] {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE, \n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n }, \n ]\n}\n","import { ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from \"@angular/router\";\n\nexport function walkActivatedRouteSnapshot(\n snapshot: ActivatedRouteSnapshot,\n callback: (snapshot: ActivatedRouteSnapshot) => boolean,\n target: 'children' | 'parent' = 'children',\n): void {\n if(callback(snapshot)) return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\n\n\nexport function skippedResolver(outlet = 'primary') {\n\tlet skipped: boolean;\n\n\treturn (route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot) => {\n\t\tconst routes = [];\n\t\twalkActivatedRouteSnapshot(snapshot.root, snapshot => {\n\t\t\tif (snapshot.outlet === outlet) {\n\t\t\t\troutes.push(snapshot);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif (route === routes.at(-1)) {\n\t\t\treturn skipped = false;\n\t\t}\n\n\t\treturn skipped ??= route !== routes.at(-1);\n\t}\n}\n\nfunction resolveModule(m: any) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\n\nexport function wrapRoutes(routes: Routes) {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => (route.loadChildren() as Promise<Routes>).then(routes => {\n\t\t\t\t\treturn wrapRoutes(resolveModule(routes))\n\t\t\t\t}),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}","import { InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const SMART_EXP_TRANSFORMER = new InjectionToken<SmartExpTransformer>('[@ng-atomic/common] Smart Transformer');\n\nexport type SmartExpTransformer = (input: string | number | dayjs.Dayjs | any, key?: string) => string;\n\n// export const yenTransform = (value: number, _unit?: string): string => {\n// return value < 1 ? `${comma(value * 100)}%` : `${comma(value)}円`;\n// }\n\nexport const yenTransform = (value: number, _unit: string = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport const smartExpTransformer: SmartExpTransformer = input => dayjs.isDayjs(input)\n ? input.format('YY/MM/DD')\n : Array.isArray(input) \n ? `${input.length}個のアイテム`\n : typeof input === 'number'\n ? yenTransform(input)\n : input;","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)!.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: obj[k]}), {});\n","// 秒数をhh:mm:ssの形にフォーマットする\nexport function formatSeconds(seconds: number): string {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './form';\nexport * from './get';\nexport * from './inject';\nexport * from './mat-dayjs-date';\nexport * from './router';\nexport * from './smart-exp-transformer';\nexport * from './to-object';\n\nexport * from './time';\n// export * from './define-element';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["get"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './interceptors.module';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ export declare class InterceptorsModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<InterceptorsModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<InterceptorsModule, never, [typeof i1.CommonModule], never>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<InterceptorsModule>;
7
+ }
package/models/index.d.ts CHANGED
@@ -1 +1,35 @@
1
+ import { Actions } from '@ng-atomic/core';
1
2
  export * from './menu-item';
3
+ export interface Page {
4
+ pageIndex: number;
5
+ pageSize: number;
6
+ }
7
+ export interface Sort {
8
+ key: string;
9
+ order: 'asc' | 'desc';
10
+ }
11
+ export interface Index {
12
+ query: string;
13
+ page: Page;
14
+ sort: Sort;
15
+ }
16
+ export type ColumnType = 'text' | 'actions' | 'checkbox';
17
+ export interface BaseColumn {
18
+ type: ColumnType;
19
+ name: string;
20
+ visible: boolean;
21
+ width: number;
22
+ headerText?: string;
23
+ sort?: boolean;
24
+ }
25
+ export interface ActionsColumn extends BaseColumn {
26
+ type: 'actions';
27
+ actions?: Actions;
28
+ }
29
+ export interface TextColumn extends BaseColumn {
30
+ type: 'text';
31
+ }
32
+ export interface CheckboxColumn extends BaseColumn {
33
+ type: 'checkbox';
34
+ }
35
+ export type Column = ActionsColumn | TextColumn | CheckboxColumn;