@dereekb/dbx-core 0.0.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 (200) hide show
  1. package/README.md +7 -0
  2. package/dereekb-dbx-core.d.ts +5 -0
  3. package/esm2020/dereekb-dbx-core.mjs +5 -0
  4. package/esm2020/index.mjs +2 -0
  5. package/esm2020/lib/action/action.handler.mjs +140 -0
  6. package/esm2020/lib/action/action.holder.mjs +50 -0
  7. package/esm2020/lib/action/action.machine.mjs +37 -0
  8. package/esm2020/lib/action/action.mjs +51 -0
  9. package/esm2020/lib/action/action.module.mjs +38 -0
  10. package/esm2020/lib/action/action.store.mjs +188 -0
  11. package/esm2020/lib/action/action.store.source.mjs +149 -0
  12. package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +53 -0
  13. package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +131 -0
  14. package/esm2020/lib/action/directive/auto/action.autotrigger.value.directive.mjs +79 -0
  15. package/esm2020/lib/action/directive/auto/index.mjs +4 -0
  16. package/esm2020/lib/action/directive/context/action.component.mjs +18 -0
  17. package/esm2020/lib/action/directive/context/action.directive.mjs +33 -0
  18. package/esm2020/lib/action/directive/context/action.source.directive.mjs +40 -0
  19. package/esm2020/lib/action/directive/context/index.mjs +4 -0
  20. package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +30 -0
  21. package/esm2020/lib/action/directive/debug/index.mjs +2 -0
  22. package/esm2020/lib/action/directive/index.mjs +6 -0
  23. package/esm2020/lib/action/directive/map/action.map.directive.mjs +74 -0
  24. package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +40 -0
  25. package/esm2020/lib/action/directive/map/action.map.mjs +6 -0
  26. package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +49 -0
  27. package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +41 -0
  28. package/esm2020/lib/action/directive/map/index.mjs +6 -0
  29. package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +49 -0
  30. package/esm2020/lib/action/directive/state/action.disabled.modified.directive.mjs +35 -0
  31. package/esm2020/lib/action/directive/state/action.handler.directive.mjs +55 -0
  32. package/esm2020/lib/action/directive/state/action.success.component.mjs +50 -0
  33. package/esm2020/lib/action/directive/state/action.success.directive.mjs +48 -0
  34. package/esm2020/lib/action/directive/state/action.value.directive.mjs +52 -0
  35. package/esm2020/lib/action/directive/state/action.working.component.mjs +32 -0
  36. package/esm2020/lib/action/directive/state/index.mjs +8 -0
  37. package/esm2020/lib/action/index.mjs +10 -0
  38. package/esm2020/lib/action/snackbar/index.mjs +3 -0
  39. package/esm2020/lib/action/snackbar/snackbar.mjs +24 -0
  40. package/esm2020/lib/button/action/action.button.directive.mjs +46 -0
  41. package/esm2020/lib/button/action/action.button.trigger.directive.mjs +36 -0
  42. package/esm2020/lib/button/action/index.mjs +3 -0
  43. package/esm2020/lib/button/button.directive.mjs +109 -0
  44. package/esm2020/lib/button/button.loading.directive.mjs +43 -0
  45. package/esm2020/lib/button/button.mjs +9 -0
  46. package/esm2020/lib/button/button.module.mjs +40 -0
  47. package/esm2020/lib/button/index.mjs +7 -0
  48. package/esm2020/lib/button/router/button.segue.directive.mjs +43 -0
  49. package/esm2020/lib/button/router/index.mjs +2 -0
  50. package/esm2020/lib/index.mjs +9 -0
  51. package/esm2020/lib/injected/index.mjs +6 -0
  52. package/esm2020/lib/injected/injected.component.mjs +34 -0
  53. package/esm2020/lib/injected/injected.component.module.mjs +26 -0
  54. package/esm2020/lib/injected/injected.directive.mjs +32 -0
  55. package/esm2020/lib/injected/injected.instance.mjs +101 -0
  56. package/esm2020/lib/injected/injected.mjs +2 -0
  57. package/esm2020/lib/pipe/date/date.pipe.module.mjs +54 -0
  58. package/esm2020/lib/pipe/date/datedistance.pipe.mjs +42 -0
  59. package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +37 -0
  60. package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +35 -0
  61. package/esm2020/lib/pipe/date/index.mjs +9 -0
  62. package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +32 -0
  63. package/esm2020/lib/pipe/date/timedistance.pipe.mjs +49 -0
  64. package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +18 -0
  65. package/esm2020/lib/pipe/date/tominutes.pipe.mjs +17 -0
  66. package/esm2020/lib/pipe/index.mjs +2 -0
  67. package/esm2020/lib/router/anchor/anchor.directive.mjs +40 -0
  68. package/esm2020/lib/router/anchor/anchor.mjs +35 -0
  69. package/esm2020/lib/router/anchor/clickable.mjs +2 -0
  70. package/esm2020/lib/router/anchor/index.mjs +4 -0
  71. package/esm2020/lib/router/index.mjs +4 -0
  72. package/esm2020/lib/router/router/index.mjs +4 -0
  73. package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +51 -0
  74. package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +30 -0
  75. package/esm2020/lib/router/router/provider/angular/index.mjs +3 -0
  76. package/esm2020/lib/router/router/provider/index.mjs +3 -0
  77. package/esm2020/lib/router/router/provider/uirouter/index.mjs +3 -0
  78. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +39 -0
  79. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +31 -0
  80. package/esm2020/lib/router/router/service/index.mjs +3 -0
  81. package/esm2020/lib/router/router/service/router.service.mjs +6 -0
  82. package/esm2020/lib/router/router/service/router.transition.service.mjs +6 -0
  83. package/esm2020/lib/router/router/transition/index.mjs +3 -0
  84. package/esm2020/lib/router/router/transition/transition.mjs +12 -0
  85. package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +35 -0
  86. package/esm2020/lib/router/segue.mjs +8 -0
  87. package/esm2020/lib/storage/index.mjs +9 -0
  88. package/esm2020/lib/storage/storage.accessor.mjs +16 -0
  89. package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +33 -0
  90. package/esm2020/lib/storage/storage.accessor.simple.mjs +161 -0
  91. package/esm2020/lib/storage/storage.accessor.string.mjs +50 -0
  92. package/esm2020/lib/storage/storage.di.mjs +4 -0
  93. package/esm2020/lib/storage/storage.module.mjs +37 -0
  94. package/esm2020/lib/storage/storage.object.localstorage.mjs +46 -0
  95. package/esm2020/lib/storage/storage.object.memory.mjs +17 -0
  96. package/esm2020/lib/subscription/index.mjs +2 -0
  97. package/esm2020/lib/subscription/subscription.directive.mjs +46 -0
  98. package/esm2020/lib/util/index.mjs +2 -0
  99. package/esm2020/lib/util/view.mjs +34 -0
  100. package/fesm2015/dereekb-dbx-core.mjs +2875 -0
  101. package/fesm2015/dereekb-dbx-core.mjs.map +1 -0
  102. package/fesm2020/dereekb-dbx-core.mjs +2856 -0
  103. package/fesm2020/dereekb-dbx-core.mjs.map +1 -0
  104. package/index.d.ts +1 -0
  105. package/lib/action/action.d.ts +43 -0
  106. package/lib/action/action.handler.d.ts +73 -0
  107. package/lib/action/action.holder.d.ts +28 -0
  108. package/lib/action/action.machine.d.ts +23 -0
  109. package/lib/action/action.module.d.ts +25 -0
  110. package/lib/action/action.store.d.ts +147 -0
  111. package/lib/action/action.store.source.d.ts +72 -0
  112. package/lib/action/directive/auto/action.automodify.directive.d.ts +15 -0
  113. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +54 -0
  114. package/lib/action/directive/auto/action.autotrigger.value.directive.d.ts +25 -0
  115. package/lib/action/directive/auto/index.d.ts +3 -0
  116. package/lib/action/directive/context/action.component.d.ts +6 -0
  117. package/lib/action/directive/context/action.directive.d.ts +13 -0
  118. package/lib/action/directive/context/action.source.directive.d.ts +16 -0
  119. package/lib/action/directive/context/index.d.ts +3 -0
  120. package/lib/action/directive/debug/action.logger.directive.d.ts +14 -0
  121. package/lib/action/directive/debug/index.d.ts +1 -0
  122. package/lib/action/directive/index.d.ts +5 -0
  123. package/lib/action/directive/map/action.map.d.ts +13 -0
  124. package/lib/action/directive/map/action.map.directive.d.ts +35 -0
  125. package/lib/action/directive/map/action.map.key.directive.d.ts +20 -0
  126. package/lib/action/directive/map/action.map.source.directive.d.ts +20 -0
  127. package/lib/action/directive/map/action.map.working.disable.directive.d.ts +21 -0
  128. package/lib/action/directive/map/index.d.ts +5 -0
  129. package/lib/action/directive/state/action.disabled.directive.d.ts +20 -0
  130. package/lib/action/directive/state/action.disabled.modified.directive.d.ts +16 -0
  131. package/lib/action/directive/state/action.handler.directive.d.ts +22 -0
  132. package/lib/action/directive/state/action.success.component.d.ts +15 -0
  133. package/lib/action/directive/state/action.success.directive.d.ts +24 -0
  134. package/lib/action/directive/state/action.value.directive.d.ts +22 -0
  135. package/lib/action/directive/state/action.working.component.d.ts +12 -0
  136. package/lib/action/directive/state/index.d.ts +7 -0
  137. package/lib/action/index.d.ts +9 -0
  138. package/lib/action/snackbar/index.d.ts +1 -0
  139. package/lib/action/snackbar/snackbar.d.ts +50 -0
  140. package/lib/button/action/action.button.directive.d.ts +18 -0
  141. package/lib/button/action/action.button.trigger.directive.d.ts +17 -0
  142. package/lib/button/action/index.d.ts +2 -0
  143. package/lib/button/button.d.ts +26 -0
  144. package/lib/button/button.directive.d.ts +52 -0
  145. package/lib/button/button.loading.directive.d.ts +21 -0
  146. package/lib/button/button.module.d.ts +11 -0
  147. package/lib/button/index.d.ts +6 -0
  148. package/lib/button/router/button.segue.directive.d.ts +18 -0
  149. package/lib/button/router/index.d.ts +1 -0
  150. package/lib/index.d.ts +8 -0
  151. package/lib/injected/index.d.ts +5 -0
  152. package/lib/injected/injected.component.d.ts +15 -0
  153. package/lib/injected/injected.component.module.d.ts +8 -0
  154. package/lib/injected/injected.d.ts +26 -0
  155. package/lib/injected/injected.directive.d.ts +17 -0
  156. package/lib/injected/injected.instance.d.ts +29 -0
  157. package/lib/pipe/date/date.pipe.module.d.ts +13 -0
  158. package/lib/pipe/date/datedistance.pipe.d.ts +8 -0
  159. package/lib/pipe/date/dateformatdistance.pipe.d.ts +13 -0
  160. package/lib/pipe/date/datefromtoformat.pipe.d.ts +14 -0
  161. package/lib/pipe/date/index.d.ts +8 -0
  162. package/lib/pipe/date/minutesstring.pipe.d.ts +8 -0
  163. package/lib/pipe/date/timedistance.pipe.d.ts +13 -0
  164. package/lib/pipe/date/tojsdate.pipe.d.ts +9 -0
  165. package/lib/pipe/date/tominutes.pipe.d.ts +7 -0
  166. package/lib/pipe/index.d.ts +1 -0
  167. package/lib/router/anchor/anchor.d.ts +31 -0
  168. package/lib/router/anchor/anchor.directive.d.ts +20 -0
  169. package/lib/router/anchor/clickable.d.ts +17 -0
  170. package/lib/router/anchor/index.d.ts +3 -0
  171. package/lib/router/index.d.ts +3 -0
  172. package/lib/router/router/index.d.ts +3 -0
  173. package/lib/router/router/provider/angular/angular.router.service.d.ts +17 -0
  174. package/lib/router/router/provider/angular/angular.router.service.module.d.ts +8 -0
  175. package/lib/router/router/provider/angular/index.d.ts +2 -0
  176. package/lib/router/router/provider/index.d.ts +2 -0
  177. package/lib/router/router/provider/uirouter/index.d.ts +2 -0
  178. package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +19 -0
  179. package/lib/router/router/provider/uirouter/uirouter.router.service.module.d.ts +8 -0
  180. package/lib/router/router/service/index.d.ts +2 -0
  181. package/lib/router/router/service/router.service.d.ts +12 -0
  182. package/lib/router/router/service/router.transition.service.d.ts +11 -0
  183. package/lib/router/router/transition/index.d.ts +2 -0
  184. package/lib/router/router/transition/transition.d.ts +13 -0
  185. package/lib/router/router/transition/transition.watcher.directive.d.ts +18 -0
  186. package/lib/router/segue.d.ts +28 -0
  187. package/lib/storage/index.d.ts +8 -0
  188. package/lib/storage/storage.accessor.d.ts +35 -0
  189. package/lib/storage/storage.accessor.simple.d.ts +75 -0
  190. package/lib/storage/storage.accessor.simple.factory.d.ts +18 -0
  191. package/lib/storage/storage.accessor.string.d.ts +16 -0
  192. package/lib/storage/storage.di.d.ts +3 -0
  193. package/lib/storage/storage.module.d.ts +10 -0
  194. package/lib/storage/storage.object.localstorage.d.ts +16 -0
  195. package/lib/storage/storage.object.memory.d.ts +9 -0
  196. package/lib/subscription/index.d.ts +1 -0
  197. package/lib/subscription/subscription.directive.d.ts +25 -0
  198. package/lib/util/index.d.ts +1 -0
  199. package/lib/util/view.d.ts +22 -0
  200. package/package.json +52 -0
@@ -0,0 +1,26 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { DbNgxInjectedComponent } from './injected.component';
4
+ import * as i0 from "@angular/core";
5
+ export class DbNgxInjectedComponentModule {
6
+ }
7
+ DbNgxInjectedComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxInjectedComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ DbNgxInjectedComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxInjectedComponentModule, declarations: [DbNgxInjectedComponent], imports: [CommonModule], exports: [DbNgxInjectedComponent] });
9
+ DbNgxInjectedComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxInjectedComponentModule, imports: [[
10
+ CommonModule
11
+ ]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxInjectedComponentModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [
16
+ CommonModule
17
+ ],
18
+ declarations: [
19
+ DbNgxInjectedComponent
20
+ ],
21
+ exports: [
22
+ DbNgxInjectedComponent
23
+ ],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvaW5qZWN0ZWQvaW5qZWN0ZWQuY29tcG9uZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFhOUQsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0QjswSEFBNUIsNEJBQTRCLGlCQU5yQyxzQkFBc0IsYUFIdEIsWUFBWSxhQU1aLHNCQUFzQjswSEFHYiw0QkFBNEIsWUFWOUI7WUFDUCxZQUFZO1NBQ2I7MkZBUVUsNEJBQTRCO2tCQVh4QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYk5neEluamVjdGVkQ29tcG9uZW50IH0gZnJvbSAnLi9pbmplY3RlZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERiTmd4SW5qZWN0ZWRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERiTmd4SW5qZWN0ZWRDb21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hJbmplY3RlZENvbXBvbmVudE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Directive } from '@angular/core';
2
+ import { DbNgxInjectedComponentInstance } from './injected.instance';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Abstract directive that injects content based on the configuration into the view.
6
+ */
7
+ export class AbstractDbNgxInjectedDirective {
8
+ constructor() {
9
+ this._instance = new DbNgxInjectedComponentInstance();
10
+ }
11
+ ngOnInit() {
12
+ this._instance.init();
13
+ }
14
+ ngOnDestroy() {
15
+ this._instance.destroy();
16
+ }
17
+ setConfig(config) {
18
+ this._instance.config = config;
19
+ }
20
+ setTemplate(template) {
21
+ this._instance.template = template;
22
+ }
23
+ setContent(content) {
24
+ this._instance.content = content;
25
+ }
26
+ }
27
+ AbstractDbNgxInjectedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbNgxInjectedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ AbstractDbNgxInjectedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbNgxInjectedDirective, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbNgxInjectedDirective, decorators: [{
30
+ type: Directive
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9pbmplY3RlZC9pbmplY3RlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXJFOztHQUVHO0FBRUgsTUFBTSxPQUFnQiw4QkFBOEI7SUFEcEQ7UUFHVSxjQUFTLEdBQUcsSUFBSSw4QkFBOEIsRUFBSyxDQUFDO0tBc0I3RDtJQXBCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUEyQztRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUE0QztRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbkMsQ0FBQzs7MkhBdEJtQiw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQURuRCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERiTmd4SW5qZWN0ZWRDb21wb25lbnRDb25maWcsIERiTmd4SW5qZWN0ZWRUZW1wbGF0ZUNvbmZpZyB9IGZyb20gJy4vaW5qZWN0ZWQnO1xuaW1wb3J0IHsgRGJOZ3hJbmplY3RlZENvbXBvbmVudEluc3RhbmNlIH0gZnJvbSAnLi9pbmplY3RlZC5pbnN0YW5jZSc7XG5cbi8qKlxuICogQWJzdHJhY3QgZGlyZWN0aXZlIHRoYXQgaW5qZWN0cyBjb250ZW50IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIGludG8gdGhlIHZpZXcuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJOZ3hJbmplY3RlZERpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9pbnN0YW5jZSA9IG5ldyBEYk5neEluamVjdGVkQ29tcG9uZW50SW5zdGFuY2U8VD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnN0YW5jZS5pbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnN0YW5jZS5kZXN0cm95KCk7XG4gIH1cblxuICBzZXRDb25maWcoY29uZmlnOiBNYXliZTxEYk5neEluamVjdGVkQ29tcG9uZW50Q29uZmlnPikge1xuICAgIHRoaXMuX2luc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuXG4gIHNldFRlbXBsYXRlKHRlbXBsYXRlOiBNYXliZTxEYk5neEluamVjdGVkVGVtcGxhdGVDb25maWc+KSB7XG4gICAgdGhpcy5faW5zdGFuY2UudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHNldENvbnRlbnQoY29udGVudDogTWF5YmU8Vmlld0NvbnRhaW5lclJlZj4pIHtcbiAgICB0aGlzLl9pbnN0YW5jZS5jb250ZW50ID0gY29udGVudDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,101 @@
1
+ import { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';
2
+ import { BehaviorSubject, combineLatest } from 'rxjs';
3
+ import { SubscriptionObject, filterMaybe, skipFirstMaybe } from '@dereekb/rxjs';
4
+ /**
5
+ * Instance used by components to inject content based on the configuration into the view.
6
+ */
7
+ export class DbNgxInjectedComponentInstance {
8
+ constructor() {
9
+ this._subscriptionObject = new SubscriptionObject();
10
+ this._config = new BehaviorSubject(undefined);
11
+ this._template = new BehaviorSubject(undefined);
12
+ this._content = new BehaviorSubject(undefined);
13
+ this._componentRef = new BehaviorSubject(undefined);
14
+ this.config$ = this._config.pipe(distinctUntilChanged());
15
+ this.template$ = this._template.pipe(distinctUntilChanged());
16
+ this.content$ = this._content.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
17
+ }
18
+ get config() {
19
+ return this._config.value;
20
+ }
21
+ set config(config) {
22
+ this._config.next(config);
23
+ }
24
+ get template() {
25
+ return this._template.value;
26
+ }
27
+ set template(template) {
28
+ this._template.next(template);
29
+ }
30
+ get content() {
31
+ return this._content.value;
32
+ }
33
+ set content(content) {
34
+ this._content.next(content);
35
+ }
36
+ get componentRef() {
37
+ return this._componentRef.value;
38
+ }
39
+ set componentRef(componentRef) {
40
+ this._componentRef.next(componentRef);
41
+ }
42
+ init() {
43
+ // Wait until the first of either of the two inputs comes in as not defined, and then emit.
44
+ // We filter the first maybe here between the two items.
45
+ const configTemplateObs = combineLatest([this.config$, this.template$]).pipe(map(([config, template]) => {
46
+ if (config || template) {
47
+ return {
48
+ config,
49
+ template
50
+ };
51
+ }
52
+ else {
53
+ return undefined;
54
+ }
55
+ }), skipFirstMaybe());
56
+ this._subscriptionObject.subscription = combineLatest([configTemplateObs, this.content$]).subscribe(([inputConfig, content]) => {
57
+ const { config, template } = inputConfig ?? {};
58
+ this._reset(content);
59
+ if (config) {
60
+ this._initComponent(config, content);
61
+ }
62
+ else if (template) {
63
+ this._initTemplate(template, content);
64
+ }
65
+ });
66
+ }
67
+ destroy() {
68
+ this._config.complete();
69
+ this._template.complete();
70
+ this._content.complete();
71
+ this._componentRef.complete();
72
+ }
73
+ _initComponent(config, content) {
74
+ content.clear();
75
+ const { init, injector, componentClass } = config;
76
+ const componentRef = content.createComponent(componentClass, { injector });
77
+ const instance = componentRef.instance;
78
+ if (init) {
79
+ init(instance);
80
+ }
81
+ this.componentRef = componentRef;
82
+ }
83
+ _initTemplate(config, content) {
84
+ content.clear();
85
+ const { templateRef, viewRef } = config;
86
+ if (templateRef) {
87
+ content.createEmbeddedView(templateRef);
88
+ // TODO: Figure out if these items need to be destroyed or not when this item is destroyed. If so, we need a reference to destroy.
89
+ }
90
+ else if (viewRef) {
91
+ content.insert(viewRef);
92
+ }
93
+ }
94
+ _reset(content) {
95
+ if (this.componentRef) {
96
+ content.clear();
97
+ this.componentRef = undefined;
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQuaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2luamVjdGVkL2luamVjdGVkLmluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sOEJBQThCO0lBQTNDO1FBRVUsd0JBQW1CLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRS9DLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBeUMsU0FBUyxDQUFDLENBQUM7UUFDakYsY0FBUyxHQUFHLElBQUksZUFBZSxDQUF3QyxTQUFTLENBQUMsQ0FBQztRQUVsRixhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXlCLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsY0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQTZHaEcsQ0FBQztJQTNHQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUE4QztRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBK0M7UUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQXVDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFvQztRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUVGLDJGQUEyRjtRQUMzRix3REFBd0Q7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDMUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLE1BQU0sSUFBSSxRQUFRLEVBQUU7Z0JBQ3RCLE9BQU87b0JBQ0wsTUFBTTtvQkFDTixRQUFRO2lCQUNULENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxFQUNGLGNBQWMsRUFBRSxDQUNqQixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQzdILE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXJCLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNLElBQUksUUFBUSxFQUFFO2dCQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBdUMsRUFBRSxPQUF5QjtRQUN2RixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWxELE1BQU0sWUFBWSxHQUFvQixPQUFPLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUV2QyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBc0MsRUFBRSxPQUF5QjtRQUNyRixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFFeEMsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEMsa0lBQWtJO1NBRW5JO2FBQU0sSUFBSSxPQUFPLEVBQUU7WUFDbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsT0FBeUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERiTmd4SW5qZWN0ZWRDb21wb25lbnRDb25maWcsIERiTmd4SW5qZWN0ZWRUZW1wbGF0ZUNvbmZpZyB9IGZyb20gJy4vaW5qZWN0ZWQnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZWQsIERlc3Ryb3lhYmxlLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSwgc2tpcEZpcnN0TWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBJbnN0YW5jZSB1c2VkIGJ5IGNvbXBvbmVudHMgdG8gaW5qZWN0IGNvbnRlbnQgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24gaW50byB0aGUgdmlldy5cbiAqL1xuZXhwb3J0IGNsYXNzIERiTmd4SW5qZWN0ZWRDb21wb25lbnRJbnN0YW5jZTxUPiBpbXBsZW1lbnRzIEluaXRpYWxpemVkLCBEZXN0cm95YWJsZSB7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uT2JqZWN0ID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJOZ3hJbmplY3RlZENvbXBvbmVudENvbmZpZzxUPj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX3RlbXBsYXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYk5neEluamVjdGVkVGVtcGxhdGVDb25maWc8VD4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPFZpZXdDb250YWluZXJSZWY+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9jb21wb25lbnRSZWYgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPENvbXBvbmVudFJlZjxUPj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2NvbmZpZy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSB0ZW1wbGF0ZSQgPSB0aGlzLl90ZW1wbGF0ZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBjb250ZW50JCA9IHRoaXMuX2NvbnRlbnQucGlwZShmaWx0ZXJNYXliZSgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgZ2V0IGNvbmZpZygpOiBNYXliZTxEYk5neEluamVjdGVkQ29tcG9uZW50Q29uZmlnPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYk5neEluamVjdGVkQ29tcG9uZW50Q29uZmlnPFQ+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBnZXQgdGVtcGxhdGUoKTogTWF5YmU8RGJOZ3hJbmplY3RlZFRlbXBsYXRlQ29uZmlnPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlLnZhbHVlO1xuICB9XG5cbiAgc2V0IHRlbXBsYXRlKHRlbXBsYXRlOiBNYXliZTxEYk5neEluamVjdGVkVGVtcGxhdGVDb25maWc8VD4+KSB7XG4gICAgdGhpcy5fdGVtcGxhdGUubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBnZXQgY29udGVudCgpOiBNYXliZTxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50LnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbnRlbnQoY29udGVudDogTWF5YmU8TWF5YmU8Vmlld0NvbnRhaW5lclJlZj4+KSB7XG4gICAgdGhpcy5fY29udGVudC5uZXh0KGNvbnRlbnQpO1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBNYXliZTxDb21wb25lbnRSZWY8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbXBvbmVudFJlZihjb21wb25lbnRSZWY6IE1heWJlPENvbXBvbmVudFJlZjxUPj4pIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYubmV4dChjb21wb25lbnRSZWYpO1xuICB9XG5cbiAgaW5pdCgpOiB2b2lkIHtcblxuICAgIC8vIFdhaXQgdW50aWwgdGhlIGZpcnN0IG9mIGVpdGhlciBvZiB0aGUgdHdvIGlucHV0cyBjb21lcyBpbiBhcyBub3QgZGVmaW5lZCwgYW5kIHRoZW4gZW1pdC5cbiAgICAvLyBXZSBmaWx0ZXIgdGhlIGZpcnN0IG1heWJlIGhlcmUgYmV0d2VlbiB0aGUgdHdvIGl0ZW1zLlxuICAgIGNvbnN0IGNvbmZpZ1RlbXBsYXRlT2JzID0gY29tYmluZUxhdGVzdChbdGhpcy5jb25maWckLCB0aGlzLnRlbXBsYXRlJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjb25maWcsIHRlbXBsYXRlXSkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnIHx8IHRlbXBsYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHRlbXBsYXRlXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHNraXBGaXJzdE1heWJlKClcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uT2JqZWN0LnN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW2NvbmZpZ1RlbXBsYXRlT2JzLCB0aGlzLmNvbnRlbnQkXSkuc3Vic2NyaWJlKChbaW5wdXRDb25maWcsIGNvbnRlbnRdKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbmZpZywgdGVtcGxhdGUgfSA9IGlucHV0Q29uZmlnID8/IHt9O1xuICAgICAgdGhpcy5fcmVzZXQoY29udGVudCk7XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgdGhpcy5faW5pdENvbXBvbmVudChjb25maWcsIGNvbnRlbnQpO1xuICAgICAgfSBlbHNlIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICB0aGlzLl9pbml0VGVtcGxhdGUodGVtcGxhdGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl90ZW1wbGF0ZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbnRlbnQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRDb21wb25lbnQoY29uZmlnOiBEYk5neEluamVjdGVkQ29tcG9uZW50Q29uZmlnPFQ+LCBjb250ZW50OiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgY29udGVudC5jbGVhcigpO1xuXG4gICAgY29uc3QgeyBpbml0LCBpbmplY3RvciwgY29tcG9uZW50Q2xhc3MgfSA9IGNvbmZpZztcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gY29udGVudC5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MsIHsgaW5qZWN0b3IgfSk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgIGlmIChpbml0KSB7XG4gICAgICBpbml0KGluc3RhbmNlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRUZW1wbGF0ZShjb25maWc6IERiTmd4SW5qZWN0ZWRUZW1wbGF0ZUNvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgdGVtcGxhdGVSZWYsIHZpZXdSZWYgfSA9IGNvbmZpZztcblxuICAgIGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHRoZXNlIGl0ZW1zIG5lZWQgdG8gYmUgZGVzdHJveWVkIG9yIG5vdCB3aGVuIHRoaXMgaXRlbSBpcyBkZXN0cm95ZWQuIElmIHNvLCB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIGRlc3Ryb3kuXG5cbiAgICB9IGVsc2UgaWYgKHZpZXdSZWYpIHtcbiAgICAgIGNvbnRlbnQuaW5zZXJ0KHZpZXdSZWYpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXQoY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgY29udGVudC5jbGVhcigpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2luamVjdGVkL2luamVjdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFR5cGUsIFZpZXdSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERiTmd4SW5qZWN0ZWRDb21wb25lbnRDb25maWc8VCA9IGFueT4ge1xuICAvKipcbiAgICogVHlwZSBvZiBDb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIGNvbXBvbmVudENsYXNzOiBUeXBlPFQ+O1xuICAvKipcbiAgICogQ3VzdG9tIEluamVjdG9yIHRvIHVzZSB3aGVuIGNyZWF0aW5nIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xuICAvKipcbiAgICogQ3VzdG9tIGluaXRpYWxpemF0aW9uIGNvZGUgd2hlbiBhbiBpbnN0YW5jZSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgaW5pdD86IChpbnN0YW5jZTogVCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYk5neEluamVjdGVkVGVtcGxhdGVDb25maWc8VCA9IGFueT4ge1xuICAvKipcbiAgICogVGVtcGxhdGUgcmVmIHRvIGRpc3BsYXkuXG4gICAqL1xuICB0ZW1wbGF0ZVJlZj86IE1heWJlPFRlbXBsYXRlUmVmPFQ+PjtcbiAgLyoqXG4gICAqIFZpZXcgcmVmIHRvIGluamVjdC5cbiAgICovXG4gIHZpZXdSZWY/OiBNYXliZTxWaWV3UmVmPjtcbn1cbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DateFromToTimePipe } from './datefromtoformat.pipe';
3
+ import { MinutesStringPipe } from './minutesstring.pipe';
4
+ import { TimeDistanceCountdownPipe, TimeDistancePipe } from './timedistance.pipe';
5
+ import { ToJsDatePipe } from './tojsdate.pipe';
6
+ import { ToMinutesPipe } from './tominutes.pipe';
7
+ import { DateFormatDistancePipe } from './dateformatdistance.pipe';
8
+ import { DateDistancePipe } from './datedistance.pipe';
9
+ import * as i0 from "@angular/core";
10
+ export class DbNgxDatePipeModule {
11
+ }
12
+ DbNgxDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxDatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ DbNgxDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxDatePipeModule, declarations: [DateFromToTimePipe,
14
+ DateFormatDistancePipe,
15
+ MinutesStringPipe,
16
+ TimeDistanceCountdownPipe,
17
+ TimeDistancePipe,
18
+ DateDistancePipe,
19
+ ToJsDatePipe,
20
+ ToMinutesPipe], exports: [DateFromToTimePipe,
21
+ DateFormatDistancePipe,
22
+ MinutesStringPipe,
23
+ TimeDistanceCountdownPipe,
24
+ TimeDistancePipe,
25
+ DateDistancePipe,
26
+ ToJsDatePipe,
27
+ ToMinutesPipe] });
28
+ DbNgxDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxDatePipeModule });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxDatePipeModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ exports: [
33
+ DateFromToTimePipe,
34
+ DateFormatDistancePipe,
35
+ MinutesStringPipe,
36
+ TimeDistanceCountdownPipe,
37
+ TimeDistancePipe,
38
+ DateDistancePipe,
39
+ ToJsDatePipe,
40
+ ToMinutesPipe
41
+ ],
42
+ declarations: [
43
+ DateFromToTimePipe,
44
+ DateFormatDistancePipe,
45
+ MinutesStringPipe,
46
+ TimeDistanceCountdownPipe,
47
+ TimeDistancePipe,
48
+ DateDistancePipe,
49
+ ToJsDatePipe,
50
+ ToMinutesPipe
51
+ ]
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcGlwZS9kYXRlL2RhdGUucGlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQXdCdkQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQVY1QixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQix5QkFBeUI7UUFDekIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osYUFBYSxhQWpCYixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQix5QkFBeUI7UUFDekIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osYUFBYTtpSEFhSixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkF0Qi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIseUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVGcm9tVG9UaW1lUGlwZSB9IGZyb20gJy4vZGF0ZWZyb210b2Zvcm1hdC5waXBlJztcbmltcG9ydCB7IE1pbnV0ZXNTdHJpbmdQaXBlIH0gZnJvbSAnLi9taW51dGVzc3RyaW5nLnBpcGUnO1xuaW1wb3J0IHsgVGltZURpc3RhbmNlQ291bnRkb3duUGlwZSwgVGltZURpc3RhbmNlUGlwZSB9IGZyb20gJy4vdGltZWRpc3RhbmNlLnBpcGUnO1xuaW1wb3J0IHsgVG9Kc0RhdGVQaXBlIH0gZnJvbSAnLi90b2pzZGF0ZS5waXBlJztcbmltcG9ydCB7IFRvTWludXRlc1BpcGUgfSBmcm9tICcuL3RvbWludXRlcy5waXBlJztcbmltcG9ydCB7IERhdGVGb3JtYXREaXN0YW5jZVBpcGUgfSBmcm9tICcuL2RhdGVmb3JtYXRkaXN0YW5jZS5waXBlJztcbmltcG9ydCB7IERhdGVEaXN0YW5jZVBpcGUgfSBmcm9tICcuL2RhdGVkaXN0YW5jZS5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1xuICAgIERhdGVGcm9tVG9UaW1lUGlwZSxcbiAgICBEYXRlRm9ybWF0RGlzdGFuY2VQaXBlLFxuICAgIE1pbnV0ZXNTdHJpbmdQaXBlLFxuICAgIFRpbWVEaXN0YW5jZUNvdW50ZG93blBpcGUsXG4gICAgVGltZURpc3RhbmNlUGlwZSxcbiAgICBEYXRlRGlzdGFuY2VQaXBlLFxuICAgIFRvSnNEYXRlUGlwZSxcbiAgICBUb01pbnV0ZXNQaXBlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVGcm9tVG9UaW1lUGlwZSxcbiAgICBEYXRlRm9ybWF0RGlzdGFuY2VQaXBlLFxuICAgIE1pbnV0ZXNTdHJpbmdQaXBlLFxuICAgIFRpbWVEaXN0YW5jZUNvdW50ZG93blBpcGUsXG4gICAgVGltZURpc3RhbmNlUGlwZSxcbiAgICBEYXRlRGlzdGFuY2VQaXBlLFxuICAgIFRvSnNEYXRlUGlwZSxcbiAgICBUb01pbnV0ZXNQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hEYXRlUGlwZU1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { formatDistance, isSameDay, startOfDay } from 'date-fns';
3
+ import { ToJsDatePipe } from './tojsdate.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class DateDistancePipe {
6
+ transform(input, to, unavailable = 'Not Available') {
7
+ if (input) {
8
+ const defaultTo = !to;
9
+ if (defaultTo) {
10
+ to = new Date();
11
+ }
12
+ const from = ToJsDatePipe.toJsDate(input);
13
+ const fromStart = startOfDay(from);
14
+ const toStart = startOfDay(to);
15
+ if (isSameDay(fromStart, toStart)) {
16
+ let text;
17
+ if (defaultTo || isSameDay(from, new Date())) {
18
+ text = 'Today';
19
+ }
20
+ else {
21
+ text = 'Same Day';
22
+ }
23
+ return text;
24
+ }
25
+ else {
26
+ return formatDistance(fromStart, toStart, {
27
+ addSuffix: true
28
+ });
29
+ }
30
+ }
31
+ else {
32
+ return unavailable;
33
+ }
34
+ }
35
+ }
36
+ DateDistancePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateDistancePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ DateDistancePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateDistancePipe, name: "dateDistance", pure: false });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateDistancePipe, decorators: [{
39
+ type: Pipe,
40
+ args: [{ name: 'dateDistance', pure: false }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZWRpc3RhbmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvZGF0ZS9kYXRlZGlzdGFuY2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFVLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFNBQVMsQ0FBQyxLQUFtQyxFQUFFLEVBQVEsRUFBRSxjQUFzQixlQUFlO1FBQzVGLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFFdEIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7YUFDakI7WUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBRSxDQUFDO1lBRTNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFL0IsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLElBQUksQ0FBQztnQkFFVCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRTtvQkFDNUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztpQkFDaEI7cUJBQU07b0JBQ0wsSUFBSSxHQUFHLFVBQVUsQ0FBQztpQkFDbkI7Z0JBRUQsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFO29CQUN4QyxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNO1lBQ0wsT0FBTyxXQUFXLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs2R0FqQ1UsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcm1hdERpc3RhbmNlLCBpc1Bhc3QsIGlzU2FtZURheSwgc3RhcnRPZkRheSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERhdGVPckRhdGVTdHJpbmcgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFRvSnNEYXRlUGlwZSB9IGZyb20gJy4vdG9qc2RhdGUucGlwZSc7XG5cbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXN0YW5jZScsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgRGF0ZURpc3RhbmNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShpbnB1dDogRGF0ZU9yRGF0ZVN0cmluZyB8IHVuZGVmaW5lZCwgdG86IERhdGUsIHVuYXZhaWxhYmxlOiBzdHJpbmcgPSAnTm90IEF2YWlsYWJsZScpOiBzdHJpbmcge1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgY29uc3QgZGVmYXVsdFRvID0gIXRvO1xuXG4gICAgICBpZiAoZGVmYXVsdFRvKSB7XG4gICAgICAgIHRvID0gbmV3IERhdGUoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbSA9IFRvSnNEYXRlUGlwZS50b0pzRGF0ZShpbnB1dCkhO1xuXG4gICAgICBjb25zdCBmcm9tU3RhcnQgPSBzdGFydE9mRGF5KGZyb20pO1xuICAgICAgY29uc3QgdG9TdGFydCA9IHN0YXJ0T2ZEYXkodG8pO1xuXG4gICAgICBpZiAoaXNTYW1lRGF5KGZyb21TdGFydCwgdG9TdGFydCkpIHtcbiAgICAgICAgbGV0IHRleHQ7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRUbyB8fCBpc1NhbWVEYXkoZnJvbSwgbmV3IERhdGUoKSkpIHtcbiAgICAgICAgICB0ZXh0ID0gJ1RvZGF5JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0ZXh0ID0gJ1NhbWUgRGF5JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0ZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKGZyb21TdGFydCwgdG9TdGFydCwge1xuICAgICAgICAgIGFkZFN1ZmZpeDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuYXZhaWxhYmxlO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Pipe, Inject, LOCALE_ID } from '@angular/core';
2
+ import { formatDate } from '@angular/common';
3
+ import { formatDistanceToNow, isValid } from 'date-fns';
4
+ import { toJsDate } from '@dereekb/date';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Pipe that takes in a date and appends the distance to it in parenthesis.
8
+ */
9
+ export class DateFormatDistancePipe {
10
+ constructor(locale) {
11
+ this.locale = locale;
12
+ }
13
+ transform(input, format, includeSeconds = false) {
14
+ if (input) {
15
+ const date = toJsDate(input);
16
+ if (isValid(date)) {
17
+ const dateString = formatDate(date, format, this.locale);
18
+ const distance = formatDistanceToNow(date, {
19
+ includeSeconds,
20
+ addSuffix: true
21
+ });
22
+ return `${dateString} (${distance})`;
23
+ }
24
+ }
25
+ return undefined;
26
+ }
27
+ }
28
+ DateFormatDistancePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFormatDistancePipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
29
+ DateFormatDistancePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFormatDistancePipe, name: "dateFormatDistance", pure: false });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFormatDistancePipe, decorators: [{
31
+ type: Pipe,
32
+ args: [{ name: 'dateFormatDistance', pure: false }]
33
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
34
+ type: Inject,
35
+ args: [LOCALE_ID]
36
+ }] }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZWZvcm1hdGRpc3RhbmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvZGF0ZS9kYXRlZm9ybWF0ZGlzdGFuY2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUF1QyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFJLENBQUM7SUFFMUQsU0FBUyxDQUFDLEtBQThCLEVBQUUsTUFBYyxFQUFFLGNBQWMsR0FBRyxLQUFLO1FBQzlFLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBRSxDQUFDO1lBRTlCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUVqQixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXpELE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRTtvQkFDekMsY0FBYztvQkFDZCxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO2dCQUVILE9BQU8sR0FBRyxVQUFVLEtBQUssUUFBUSxHQUFHLENBQUM7YUFDdEM7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O21IQXRCVSxzQkFBc0Isa0JBRWIsU0FBUztpSEFGbEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTs7MEJBR2xDLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGZvcm1hdERpc3RhbmNlVG9Ob3csIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBEYXRlT3JEYXRlU3RyaW5nLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdG9Kc0RhdGUgfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcblxuLyoqXG4gKiBQaXBlIHRoYXQgdGFrZXMgaW4gYSBkYXRlIGFuZCBhcHBlbmRzIHRoZSBkaXN0YW5jZSB0byBpdCBpbiBwYXJlbnRoZXNpcy5cbiAqL1xuQFBpcGUoeyBuYW1lOiAnZGF0ZUZvcm1hdERpc3RhbmNlJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBEYXRlRm9ybWF0RGlzdGFuY2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcpIHsgfVxuXG4gIHRyYW5zZm9ybShpbnB1dDogTWF5YmU8RGF0ZU9yRGF0ZVN0cmluZz4sIGZvcm1hdDogc3RyaW5nLCBpbmNsdWRlU2Vjb25kcyA9IGZhbHNlKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBjb25zdCBkYXRlID0gdG9Kc0RhdGUoaW5wdXQpITtcblxuICAgICAgaWYgKGlzVmFsaWQoZGF0ZSkpIHtcblxuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsIHRoaXMubG9jYWxlKTtcblxuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGZvcm1hdERpc3RhbmNlVG9Ob3coZGF0ZSwge1xuICAgICAgICAgIGluY2x1ZGVTZWNvbmRzLFxuICAgICAgICAgIGFkZFN1ZmZpeDogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gYCR7ZGF0ZVN0cmluZ30gKCR7ZGlzdGFuY2V9KWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { addMinutes } from 'date-fns';
2
+ import { Pipe, Inject, LOCALE_ID } from '@angular/core';
3
+ import { formatDate } from '@angular/common';
4
+ import { formatToTimeString, toJsDate } from '@dereekb/date';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Pipe that takes in a date and number of minutes and outputs a formatted date.
8
+ */
9
+ export class DateFromToTimePipe {
10
+ constructor(locale) {
11
+ this.locale = locale;
12
+ }
13
+ transform(input, format, minutes) {
14
+ return DateFromToTimePipe.formatFromTo(input, format, minutes, this.locale);
15
+ }
16
+ static formatFromTo(input, format, minutes, locale) {
17
+ if (input) {
18
+ const date = toJsDate(input);
19
+ const endDate = addMinutes(date, minutes);
20
+ const dateString = formatDate(date, format, locale);
21
+ return dateString + ' - ' + formatToTimeString(endDate);
22
+ }
23
+ return undefined;
24
+ }
25
+ }
26
+ DateFromToTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFromToTimePipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
27
+ DateFromToTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFromToTimePipe, name: "dateFromPlusTo" });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DateFromToTimePipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{ name: 'dateFromPlusTo' }]
31
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
32
+ type: Inject,
33
+ args: [LOCALE_ID]
34
+ }] }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZWZyb210b2Zvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9waXBlL2RhdGUvZGF0ZWZyb210b2Zvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQXVDLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUUxRCxTQUFTLENBQUMsS0FBOEIsRUFBRSxNQUFjLEVBQUUsT0FBZTtRQUN2RSxPQUFPLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBOEIsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLE1BQWM7UUFDakcsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNwRCxPQUFPLFVBQVUsR0FBRyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzsrR0FqQlUsa0JBQWtCLGtCQUVULFNBQVM7NkdBRmxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFOzswQkFHakIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkTWludXRlcyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1heWJlLCBEYXRlT3JEYXRlU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBmb3JtYXRUb1RpbWVTdHJpbmcsIHRvSnNEYXRlIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5cbi8qKlxuICogUGlwZSB0aGF0IHRha2VzIGluIGEgZGF0ZSBhbmQgbnVtYmVyIG9mIG1pbnV0ZXMgYW5kIG91dHB1dHMgYSBmb3JtYXR0ZWQgZGF0ZS5cbiAqL1xuQFBpcGUoeyBuYW1lOiAnZGF0ZUZyb21QbHVzVG8nIH0pXG5leHBvcnQgY2xhc3MgRGF0ZUZyb21Ub1RpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcpIHsgfVxuXG4gIHRyYW5zZm9ybShpbnB1dDogTWF5YmU8RGF0ZU9yRGF0ZVN0cmluZz4sIGZvcm1hdDogc3RyaW5nLCBtaW51dGVzOiBudW1iZXIpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gRGF0ZUZyb21Ub1RpbWVQaXBlLmZvcm1hdEZyb21UbyhpbnB1dCwgZm9ybWF0LCBtaW51dGVzLCB0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0RnJvbVRvKGlucHV0OiBNYXliZTxEYXRlT3JEYXRlU3RyaW5nPiwgZm9ybWF0OiBzdHJpbmcsIG1pbnV0ZXM6IG51bWJlciwgbG9jYWxlOiBzdHJpbmcpOiBNYXliZTxzdHJpbmc+IHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0b0pzRGF0ZShpbnB1dCk7XG4gICAgICBjb25zdCBlbmREYXRlID0gYWRkTWludXRlcyhkYXRlLCBtaW51dGVzKTtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCwgbG9jYWxlKTtcbiAgICAgIHJldHVybiBkYXRlU3RyaW5nICsgJyAtICcgKyBmb3JtYXRUb1RpbWVTdHJpbmcoZW5kRGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export * from './date.pipe.module';
2
+ export * from './datedistance.pipe';
3
+ export * from './dateformatdistance.pipe';
4
+ export * from './datefromtoformat.pipe';
5
+ export * from './minutesstring.pipe';
6
+ export * from './timedistance.pipe';
7
+ export * from './tojsdate.pipe';
8
+ export * from './tominutes.pipe';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvZGF0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUucGlwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlZGlzdGFuY2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVmb3JtYXRkaXN0YW5jZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZWZyb210b2Zvcm1hdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbWludXRlc3N0cmluZy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZWRpc3RhbmNlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2pzZGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9taW51dGVzLnBpcGUnO1xuIl19
@@ -0,0 +1,32 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MinutesStringPipe {
4
+ transform(input) {
5
+ const minutes = Number(input);
6
+ if (input != null && !isNaN(minutes)) {
7
+ if (minutes > 3600) {
8
+ const unrounded = minutes / 3600;
9
+ const days = Math.ceil(unrounded);
10
+ return ((unrounded !== days) ? '~' : '') + days + ' days';
11
+ }
12
+ else if (minutes > 180) {
13
+ const unrounded = minutes / 60;
14
+ const hours = Math.ceil(unrounded);
15
+ return ((unrounded !== hours) ? '~' : '') + hours + ' hours';
16
+ }
17
+ else {
18
+ return minutes + ' minutes';
19
+ }
20
+ }
21
+ else {
22
+ return undefined;
23
+ }
24
+ }
25
+ }
26
+ MinutesStringPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MinutesStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
+ MinutesStringPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MinutesStringPipe, name: "minutesString", pure: false });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MinutesStringPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{ name: 'minutesString', pure: false }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludXRlc3N0cmluZy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9waXBlL2RhdGUvbWludXRlc3N0cmluZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUE2QjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLElBQUksT0FBTyxHQUFHLElBQUksRUFBRTtnQkFDbEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxPQUFPLENBQUM7YUFDM0Q7aUJBQU0sSUFBSSxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUN4QixNQUFNLFNBQVMsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQzthQUM5RDtpQkFBTTtnQkFDTCxPQUFPLE9BQU8sR0FBRyxVQUFVLENBQUM7YUFDN0I7U0FDRjthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDOzs4R0FwQlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbkBQaXBlKHsgbmFtZTogJ21pbnV0ZXNTdHJpbmcnLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIE1pbnV0ZXNTdHJpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGlucHV0OiBNYXliZTxudW1iZXIgfCBzdHJpbmc+KTogTWF5YmU8c3RyaW5nPiB7XG4gICAgY29uc3QgbWludXRlcyA9IE51bWJlcihpbnB1dCk7XG5cbiAgICBpZiAoaW5wdXQgIT0gbnVsbCAmJiAhaXNOYU4obWludXRlcykpIHtcbiAgICAgIGlmIChtaW51dGVzID4gMzYwMCkge1xuICAgICAgICBjb25zdCB1bnJvdW5kZWQgPSBtaW51dGVzIC8gMzYwMDtcbiAgICAgICAgY29uc3QgZGF5cyA9IE1hdGguY2VpbCh1bnJvdW5kZWQpO1xuICAgICAgICByZXR1cm4gKCh1bnJvdW5kZWQgIT09IGRheXMpID8gJ34nIDogJycpICsgZGF5cyArICcgZGF5cyc7XG4gICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiAxODApIHtcbiAgICAgICAgY29uc3QgdW5yb3VuZGVkID0gbWludXRlcyAvIDYwO1xuICAgICAgICBjb25zdCBob3VycyA9IE1hdGguY2VpbCh1bnJvdW5kZWQpO1xuICAgICAgICByZXR1cm4gKCh1bnJvdW5kZWQgIT09IGhvdXJzKSA/ICd+JyA6ICcnKSArIGhvdXJzICsgJyBob3Vycyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbWludXRlcyArICcgbWludXRlcyc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { formatDistance, isPast } from 'date-fns';
3
+ import { ToJsDatePipe } from './tojsdate.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class TimeDistanceCountdownPipe {
6
+ transform(input, soonString = 'Soon', unavailable = 'Not Available') {
7
+ if (input) {
8
+ const from = ToJsDatePipe.toJsDate(input);
9
+ if (isPast(from)) {
10
+ return soonString;
11
+ }
12
+ else {
13
+ const to = new Date();
14
+ return formatDistance(from, to, {
15
+ addSuffix: true
16
+ });
17
+ }
18
+ }
19
+ else {
20
+ return unavailable;
21
+ }
22
+ }
23
+ }
24
+ TimeDistanceCountdownPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistanceCountdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
25
+ TimeDistanceCountdownPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistanceCountdownPipe, name: "timeCountdownDistance", pure: false });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistanceCountdownPipe, decorators: [{
27
+ type: Pipe,
28
+ args: [{ name: 'timeCountdownDistance', pure: false }]
29
+ }] });
30
+ export class TimeDistancePipe {
31
+ transform(input, to = new Date(), unavailable = 'Not Available') {
32
+ if (input) {
33
+ const from = ToJsDatePipe.toJsDate(input);
34
+ return formatDistance(from, to, {
35
+ addSuffix: true
36
+ });
37
+ }
38
+ else {
39
+ return unavailable;
40
+ }
41
+ }
42
+ }
43
+ TimeDistancePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistancePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
44
+ TimeDistancePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistancePipe, name: "timeDistance", pure: false });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: TimeDistancePipe, decorators: [{
46
+ type: Pipe,
47
+ args: [{ name: 'timeDistance', pure: false }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWRpc3RhbmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvZGF0ZS90aW1lZGlzdGFuY2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRy9DLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsU0FBUyxDQUFDLEtBQThCLEVBQUUsYUFBcUIsTUFBTSxFQUFFLGNBQXNCLGVBQWU7UUFDMUcsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBRSxDQUFDO1lBRTNDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoQixPQUFPLFVBQVUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDTCxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN0QixPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO29CQUM5QixTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNO1lBQ0wsT0FBTyxXQUFXLENBQUM7U0FDcEI7SUFDSCxDQUFDOztzSEFqQlUseUJBQXlCO29IQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFOztBQXVCcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixTQUFTLENBQUMsS0FBOEIsRUFBRSxLQUFXLElBQUksSUFBSSxFQUFFLEVBQUUsY0FBc0IsZUFBZTtRQUNwRyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFFLENBQUM7WUFDM0MsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDOUIsU0FBUyxFQUFFLElBQUk7YUFDaEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7NkdBWFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlLCBEYXRlT3JEYXRlU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBmb3JtYXREaXN0YW5jZSwgaXNQYXN0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgVG9Kc0RhdGVQaXBlIH0gZnJvbSAnLi90b2pzZGF0ZS5waXBlJztcblxuQFBpcGUoeyBuYW1lOiAndGltZUNvdW50ZG93bkRpc3RhbmNlJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBUaW1lRGlzdGFuY2VDb3VudGRvd25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGlucHV0OiBNYXliZTxEYXRlT3JEYXRlU3RyaW5nPiwgc29vblN0cmluZzogc3RyaW5nID0gJ1Nvb24nLCB1bmF2YWlsYWJsZTogc3RyaW5nID0gJ05vdCBBdmFpbGFibGUnKTogc3RyaW5nIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGNvbnN0IGZyb20gPSBUb0pzRGF0ZVBpcGUudG9Kc0RhdGUoaW5wdXQpITtcblxuICAgICAgaWYgKGlzUGFzdChmcm9tKSkge1xuICAgICAgICByZXR1cm4gc29vblN0cmluZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRvID0gbmV3IERhdGUoKTtcbiAgICAgICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKGZyb20sIHRvLCB7XG4gICAgICAgICAgYWRkU3VmZml4OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5hdmFpbGFibGU7XG4gICAgfVxuICB9XG5cbn1cblxuQFBpcGUoeyBuYW1lOiAndGltZURpc3RhbmNlJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBUaW1lRGlzdGFuY2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGlucHV0OiBNYXliZTxEYXRlT3JEYXRlU3RyaW5nPiwgdG86IERhdGUgPSBuZXcgRGF0ZSgpLCB1bmF2YWlsYWJsZTogc3RyaW5nID0gJ05vdCBBdmFpbGFibGUnKTogc3RyaW5nIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGNvbnN0IGZyb20gPSBUb0pzRGF0ZVBpcGUudG9Kc0RhdGUoaW5wdXQpITtcbiAgICAgIHJldHVybiBmb3JtYXREaXN0YW5jZShmcm9tLCB0bywge1xuICAgICAgICBhZGRTdWZmaXg6IHRydWVcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5hdmFpbGFibGU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { toJsDate } from '@dereekb/date';
3
+ import * as i0 from "@angular/core";
4
+ export class ToJsDatePipe {
5
+ static toJsDate(input) {
6
+ return (input) ? toJsDate(input) : undefined;
7
+ }
8
+ transform(input) {
9
+ return ToJsDatePipe.toJsDate(input);
10
+ }
11
+ }
12
+ ToJsDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToJsDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ ToJsDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToJsDatePipe, name: "toJsDate" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToJsDatePipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{ name: 'toJsDate' }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9qc2RhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcGlwZS9kYXRlL3RvanNkYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJekMsTUFBTSxPQUFPLFlBQVk7SUFFaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUE4QjtRQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBOEI7UUFDdEMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3lHQVJVLFlBQVk7dUdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvSnNEYXRlIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyBEYXRlT3JEYXRlU3RyaW5nLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5AUGlwZSh7IG5hbWU6ICd0b0pzRGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBUb0pzRGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBwdWJsaWMgc3RhdGljIHRvSnNEYXRlKGlucHV0OiBNYXliZTxEYXRlT3JEYXRlU3RyaW5nPik6IE1heWJlPERhdGU+IHtcbiAgICByZXR1cm4gKGlucHV0KSA/IHRvSnNEYXRlKGlucHV0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHRyYW5zZm9ybShpbnB1dDogTWF5YmU8RGF0ZU9yRGF0ZVN0cmluZz4pOiBNYXliZTxEYXRlPiB7XG4gICAgcmV0dXJuIFRvSnNEYXRlUGlwZS50b0pzRGF0ZShpbnB1dCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ToMinutesPipe {
4
+ transform(milliseconds) {
5
+ if (milliseconds) {
6
+ return Math.floor(milliseconds / (60 * 1000));
7
+ }
8
+ return milliseconds;
9
+ }
10
+ }
11
+ ToMinutesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToMinutesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ ToMinutesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToMinutesPipe, name: "toMinutes" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ToMinutesPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{ name: 'toMinutes' }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9taW51dGVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvZGF0ZS90b21pbnV0ZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsU0FBUyxDQUFDLFlBQW9CO1FBQzVCLElBQUksWUFBWSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7OzBHQVJVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAndG9NaW51dGVzJyB9KVxuZXhwb3J0IGNsYXNzIFRvTWludXRlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0obWlsbGlzZWNvbmRzOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChtaWxsaXNlY29uZHMpIHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKG1pbGxpc2Vjb25kcyAvICg2MCAqIDEwMDApKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWlsbGlzZWNvbmRzO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './date';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3BpcGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuIl19
@@ -0,0 +1,40 @@
1
+ import { skipFirstMaybe } from '@dereekb/rxjs';
2
+ import { map, shareReplay, distinctUntilChanged } from 'rxjs/operators';
3
+ import { BehaviorSubject, combineLatest } from 'rxjs';
4
+ import { Directive, Input } from '@angular/core';
5
+ import { anchorTypeForAnchor } from './anchor';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Abstract anchor directive.
9
+ */
10
+ export class AbstractDbNgxAnchorDirective {
11
+ constructor() {
12
+ this._disabled = new BehaviorSubject(false);
13
+ this._anchor = new BehaviorSubject(undefined);
14
+ this.disabled$ = this._disabled.asObservable();
15
+ this.anchor$ = this._anchor.pipe(skipFirstMaybe(), distinctUntilChanged(), shareReplay(1));
16
+ this.type$ = combineLatest([this.disabled$, this.anchor$]).pipe(map(([disabled, anchor]) => anchorTypeForAnchor(anchor, disabled)), distinctUntilChanged(), shareReplay(1));
17
+ }
18
+ get anchor() {
19
+ return this._anchor.value;
20
+ }
21
+ set anchor(anchor) {
22
+ this._anchor.next(anchor);
23
+ }
24
+ get disabled() {
25
+ return this._disabled.value;
26
+ }
27
+ set disabled(disabled) {
28
+ this._disabled.next(disabled);
29
+ }
30
+ }
31
+ AbstractDbNgxAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbNgxAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ AbstractDbNgxAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbNgxAnchorDirective, inputs: { anchor: "anchor", disabled: "disabled" }, ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbNgxAnchorDirective, decorators: [{
34
+ type: Directive
35
+ }], propDecorators: { anchor: [{
36
+ type: Input
37
+ }], disabled: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcm91dGVyL2FuY2hvci9hbmNob3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQStCLG1CQUFtQixFQUFlLE1BQU0sVUFBVSxDQUFDOztBQUV6Rjs7R0FFRztBQUVILE1BQU0sT0FBTyw0QkFBNEI7SUFEekM7UUFHVSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWlCLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUVsRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RixVQUFLLEdBQTJCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQ2xFLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0tBb0JIO0lBbEJDLElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsTUFBTSxDQUFDLE1BQWdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsUUFBd0I7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7eUhBOUJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7OEJBZ0JHLE1BQU07c0JBRGhCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck1heWJlLCBza2lwRmlyc3RNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBbmNob3JUeXBlLCBDbGlja2FibGVBbmNob3IsIGFuY2hvclR5cGVGb3JBbmNob3IsIERiTmd4QW5jaG9yIH0gZnJvbSAnLi9hbmNob3InO1xuXG4vKipcbiAqIEFic3RyYWN0IGFuY2hvciBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJOZ3hBbmNob3JEaXJlY3RpdmU8VCBleHRlbmRzIENsaWNrYWJsZUFuY2hvciA9IENsaWNrYWJsZUFuY2hvcj4gaW1wbGVtZW50cyBEYk5neEFuY2hvciB7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPGJvb2xlYW4+PihmYWxzZSk7XG4gIHByaXZhdGUgX2FuY2hvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8VD4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IGFuY2hvciQgPSB0aGlzLl9hbmNob3IucGlwZShza2lwRmlyc3RNYXliZSgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgdHlwZSQ6IE9ic2VydmFibGU8QW5jaG9yVHlwZT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmRpc2FibGVkJCwgdGhpcy5hbmNob3IkXSkucGlwZShcbiAgICBtYXAoKFtkaXNhYmxlZCwgYW5jaG9yXSkgPT4gYW5jaG9yVHlwZUZvckFuY2hvcihhbmNob3IsIGRpc2FibGVkKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYW5jaG9yKCk6IE1heWJlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYW5jaG9yLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldCBhbmNob3IoYW5jaG9yOiBNYXliZTxUPikge1xuICAgIHRoaXMuX2FuY2hvci5uZXh0KGFuY2hvcik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IE1heWJlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ export var AnchorType;
2
+ (function (AnchorType) {
3
+ AnchorType[AnchorType["None"] = 0] = "None";
4
+ AnchorType[AnchorType["Clickable"] = 1] = "Clickable";
5
+ AnchorType[AnchorType["Sref"] = 2] = "Sref";
6
+ AnchorType[AnchorType["Href"] = 3] = "Href";
7
+ AnchorType[AnchorType["Disabled"] = 4] = "Disabled";
8
+ })(AnchorType || (AnchorType = {}));
9
+ export function anchorTypeForAnchor(anchor, disabled) {
10
+ let type = AnchorType.Disabled;
11
+ if (!disabled && anchor) {
12
+ if (anchor.disabled) {
13
+ type = AnchorType.Disabled;
14
+ }
15
+ else if (anchor.ref) {
16
+ type = AnchorType.Sref;
17
+ }
18
+ else if (anchor.onClick) {
19
+ type = AnchorType.Clickable;
20
+ }
21
+ else if (anchor.url) {
22
+ type = AnchorType.Href;
23
+ }
24
+ }
25
+ return type;
26
+ }
27
+ export class DbNgxAnchor {
28
+ }
29
+ export function ProvideDbNgxAnchor(sourceType) {
30
+ return [{
31
+ provide: DbNgxAnchor,
32
+ useExisting: sourceType
33
+ }];
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yb3V0ZXIvYW5jaG9yL2FuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiwyQ0FBUSxDQUFBO0lBQ1IscURBQWEsQ0FBQTtJQUNiLDJDQUFRLENBQUE7SUFDUiwyQ0FBUSxDQUFBO0lBQ1IsbURBQVksQ0FBQTtBQUNkLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUE4QixFQUFFLFFBQXlCO0lBQzNGLElBQUksSUFBSSxHQUFlLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFFM0MsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLEVBQUU7UUFDdkIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3pCLElBQUksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3hCO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLE9BQWdCLFdBQVc7Q0FNaEM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQXdCLFVBQW1CO0lBQzNFLE9BQU8sQ0FBQztZQUNOLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFdBQVcsRUFBRSxVQUFVO1NBQ3hCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlja2FibGVGdW5jdGlvbiwgQ2xpY2thYmxlVXJsIH0gZnJvbSAnLi9jbGlja2FibGUnO1xuaW1wb3J0IHsgU2VndWVSZWYgfSBmcm9tICcuLi9zZWd1ZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgVHlwZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDbGlja2FibGVBbmNob3IgZXh0ZW5kcyBDbGlja2FibGVGdW5jdGlvbiwgQ2xpY2thYmxlVXJsLCBTZWd1ZVJlZiB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlja2FibGVBbmNob3JMaW5rIGV4dGVuZHMgQ2xpY2thYmxlQW5jaG9yIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlja2FibGVJY29uQW5jaG9yTGluayBleHRlbmRzIE9taXQ8Q2xpY2thYmxlQW5jaG9yTGluaywgJ3RpdGxlJz4ge1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEFuY2hvclR5cGUge1xuICBOb25lID0gMCxcbiAgQ2xpY2thYmxlID0gMSxcbiAgU3JlZiA9IDIsXG4gIEhyZWYgPSAzLFxuICBEaXNhYmxlZCA9IDRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFuY2hvclR5cGVGb3JBbmNob3IoYW5jaG9yOiBNYXliZTxDbGlja2FibGVBbmNob3I+LCBkaXNhYmxlZD86IE1heWJlPGJvb2xlYW4+KTogQW5jaG9yVHlwZSB7XG4gIGxldCB0eXBlOiBBbmNob3JUeXBlID0gQW5jaG9yVHlwZS5EaXNhYmxlZDtcblxuICBpZiAoIWRpc2FibGVkICYmIGFuY2hvcikge1xuICAgIGlmIChhbmNob3IuZGlzYWJsZWQpIHtcbiAgICAgIHR5cGUgPSBBbmNob3JUeXBlLkRpc2FibGVkO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yLnJlZikge1xuICAgICAgdHlwZSA9IEFuY2hvclR5cGUuU3JlZjtcbiAgICB9IGVsc2UgaWYgKGFuY2hvci5vbkNsaWNrKSB7XG4gICAgICB0eXBlID0gQW5jaG9yVHlwZS5DbGlja2FibGU7XG4gICAgfSBlbHNlIGlmIChhbmNob3IudXJsKSB7XG4gICAgICB0eXBlID0gQW5jaG9yVHlwZS5IcmVmO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJOZ3hBbmNob3I8VCBleHRlbmRzIENsaWNrYWJsZUFuY2hvciA9IENsaWNrYWJsZUFuY2hvcj4ge1xuICBhYnN0cmFjdCBkaXNhYmxlZCQ6IE9ic2VydmFibGU8TWF5YmU8Ym9vbGVhbj4+O1xuICBhYnN0cmFjdCBhbmNob3IkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PjtcbiAgYWJzdHJhY3QgZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+O1xuICBhYnN0cmFjdCBhbmNob3I6IE1heWJlPFQ+O1xuICBhYnN0cmFjdCB0eXBlJDogT2JzZXJ2YWJsZTxBbmNob3JUeXBlPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVEYk5neEFuY2hvcjxTIGV4dGVuZHMgRGJOZ3hBbmNob3I+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFt7XG4gICAgcHJvdmlkZTogRGJOZ3hBbmNob3IsXG4gICAgdXNlRXhpc3Rpbmc6IHNvdXJjZVR5cGVcbiAgfV07XG59XG4iXX0=