@acorex/core 1.3.90

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 (147) hide show
  1. package/README.md +3 -0
  2. package/acorex-core.d.ts +4 -0
  3. package/acorex-core.metadata.json +1 -0
  4. package/bundles/acorex-core.umd.js +2539 -0
  5. package/bundles/acorex-core.umd.js.map +1 -0
  6. package/bundles/acorex-core.umd.min.js +17 -0
  7. package/bundles/acorex-core.umd.min.js.map +1 -0
  8. package/esm2015/acorex-core.js +5 -0
  9. package/esm2015/lib/classes/base-page.class.js +21 -0
  10. package/esm2015/lib/classes/color.class.js +49 -0
  11. package/esm2015/lib/classes/datetime.class.js +314 -0
  12. package/esm2015/lib/classes/menu.class.js +27 -0
  13. package/esm2015/lib/classes/navigator.class.js +1 -0
  14. package/esm2015/lib/classes/popup.class.js +1 -0
  15. package/esm2015/lib/classes/promise.class.js +19 -0
  16. package/esm2015/lib/classes/sectionlist.class.js +1 -0
  17. package/esm2015/lib/classes/select.class.js +3 -0
  18. package/esm2015/lib/core.module.js +24 -0
  19. package/esm2015/lib/error/error.class.js +1 -0
  20. package/esm2015/lib/error/error.module.js +16 -0
  21. package/esm2015/lib/error/error.service.js +25 -0
  22. package/esm2015/lib/events/keyboard.js +1 -0
  23. package/esm2015/lib/http/http-error.class.js +1 -0
  24. package/esm2015/lib/http/http-events.interceptor.js +3 -0
  25. package/esm2015/lib/http/http-request.class.js +1 -0
  26. package/esm2015/lib/http/http-result.class.js +21 -0
  27. package/esm2015/lib/http/http.module.js +29 -0
  28. package/esm2015/lib/http/http.service.js +149 -0
  29. package/esm2015/lib/locale/en.json +249 -0
  30. package/esm2015/lib/locale/fa.json +238 -0
  31. package/esm2015/lib/pipe/datetime.pipe.js +24 -0
  32. package/esm2015/lib/pipe/htmlToText.pipe.js +23 -0
  33. package/esm2015/lib/services/config.js +29 -0
  34. package/esm2015/lib/services/event.service.js +36 -0
  35. package/esm2015/lib/services/navigator.service.js +9 -0
  36. package/esm2015/lib/services/storage.service.js +15 -0
  37. package/esm2015/lib/translator/translator.js +26 -0
  38. package/esm2015/lib/translator/translator.module.js +23 -0
  39. package/esm2015/lib/translator/translator.pipe.js +23 -0
  40. package/esm2015/lib/translator/translator.service.js +21 -0
  41. package/esm2015/lib/utils/array/array-util.js +133 -0
  42. package/esm2015/lib/utils/html/html-util.js +192 -0
  43. package/esm2015/lib/utils/html/html.module.js +16 -0
  44. package/esm2015/lib/utils/math/math-util.js +6 -0
  45. package/esm2015/lib/utils/object/object-util.js +83 -0
  46. package/esm2015/lib/utils/render/on-demand-preload-strategy.service.js +21 -0
  47. package/esm2015/lib/utils/render/render.service.js +112 -0
  48. package/esm2015/lib/utils/render/rendering.module.js +26 -0
  49. package/esm2015/lib/utils/scroll/scroll.directive.js +66 -0
  50. package/esm2015/lib/utils/scroll/scroll.module.js +16 -0
  51. package/esm2015/lib/utils/separator/separator.module.js +16 -0
  52. package/esm2015/lib/utils/separator/separator.pipe.js +22 -0
  53. package/esm2015/public-api.js +36 -0
  54. package/esm5/acorex-core.js +5 -0
  55. package/esm5/lib/classes/base-page.class.js +23 -0
  56. package/esm5/lib/classes/color.class.js +54 -0
  57. package/esm5/lib/classes/datetime.class.js +390 -0
  58. package/esm5/lib/classes/menu.class.js +42 -0
  59. package/esm5/lib/classes/navigator.class.js +1 -0
  60. package/esm5/lib/classes/popup.class.js +1 -0
  61. package/esm5/lib/classes/promise.class.js +22 -0
  62. package/esm5/lib/classes/sectionlist.class.js +1 -0
  63. package/esm5/lib/classes/select.class.js +7 -0
  64. package/esm5/lib/core.module.js +27 -0
  65. package/esm5/lib/error/error.class.js +1 -0
  66. package/esm5/lib/error/error.module.js +19 -0
  67. package/esm5/lib/error/error.service.js +26 -0
  68. package/esm5/lib/events/keyboard.js +1 -0
  69. package/esm5/lib/http/http-error.class.js +1 -0
  70. package/esm5/lib/http/http-events.interceptor.js +3 -0
  71. package/esm5/lib/http/http-request.class.js +1 -0
  72. package/esm5/lib/http/http-result.class.js +24 -0
  73. package/esm5/lib/http/http.module.js +33 -0
  74. package/esm5/lib/http/http.service.js +157 -0
  75. package/esm5/lib/locale/en.json +249 -0
  76. package/esm5/lib/locale/fa.json +238 -0
  77. package/esm5/lib/pipe/datetime.pipe.js +26 -0
  78. package/esm5/lib/pipe/htmlToText.pipe.js +26 -0
  79. package/esm5/lib/services/config.js +37 -0
  80. package/esm5/lib/services/event.service.js +37 -0
  81. package/esm5/lib/services/navigator.service.js +12 -0
  82. package/esm5/lib/services/storage.service.js +18 -0
  83. package/esm5/lib/translator/translator.js +34 -0
  84. package/esm5/lib/translator/translator.module.js +24 -0
  85. package/esm5/lib/translator/translator.pipe.js +25 -0
  86. package/esm5/lib/translator/translator.service.js +24 -0
  87. package/esm5/lib/utils/array/array-util.js +147 -0
  88. package/esm5/lib/utils/html/html-util.js +224 -0
  89. package/esm5/lib/utils/html/html.module.js +19 -0
  90. package/esm5/lib/utils/math/math-util.js +10 -0
  91. package/esm5/lib/utils/object/object-util.js +88 -0
  92. package/esm5/lib/utils/render/on-demand-preload-strategy.service.js +22 -0
  93. package/esm5/lib/utils/render/render.service.js +117 -0
  94. package/esm5/lib/utils/render/rendering.module.js +29 -0
  95. package/esm5/lib/utils/scroll/scroll.directive.js +68 -0
  96. package/esm5/lib/utils/scroll/scroll.module.js +19 -0
  97. package/esm5/lib/utils/separator/separator.module.js +19 -0
  98. package/esm5/lib/utils/separator/separator.pipe.js +25 -0
  99. package/esm5/public-api.js +36 -0
  100. package/fesm2015/acorex-core.js +2057 -0
  101. package/fesm2015/acorex-core.js.map +1 -0
  102. package/fesm5/acorex-core.js +2274 -0
  103. package/fesm5/acorex-core.js.map +1 -0
  104. package/lib/classes/base-page.class.d.ts +10 -0
  105. package/lib/classes/color.class.d.ts +17 -0
  106. package/lib/classes/datetime.class.d.ts +63 -0
  107. package/lib/classes/menu.class.d.ts +33 -0
  108. package/lib/classes/navigator.class.d.ts +5 -0
  109. package/lib/classes/popup.class.d.ts +12 -0
  110. package/lib/classes/promise.class.d.ts +7 -0
  111. package/lib/classes/sectionlist.class.d.ts +8 -0
  112. package/lib/classes/select.class.d.ts +7 -0
  113. package/lib/core.module.d.ts +2 -0
  114. package/lib/error/error.class.d.ts +4 -0
  115. package/lib/error/error.module.d.ts +2 -0
  116. package/lib/error/error.service.d.ts +10 -0
  117. package/lib/events/keyboard.d.ts +2 -0
  118. package/lib/http/http-error.class.d.ts +7 -0
  119. package/lib/http/http-events.interceptor.d.ts +10 -0
  120. package/lib/http/http-request.class.d.ts +14 -0
  121. package/lib/http/http-result.class.d.ts +11 -0
  122. package/lib/http/http.module.d.ts +4 -0
  123. package/lib/http/http.service.d.ts +20 -0
  124. package/lib/pipe/datetime.pipe.d.ts +5 -0
  125. package/lib/pipe/htmlToText.pipe.d.ts +4 -0
  126. package/lib/services/config.d.ts +9 -0
  127. package/lib/services/event.service.d.ts +6 -0
  128. package/lib/services/navigator.service.d.ts +5 -0
  129. package/lib/services/storage.service.d.ts +4 -0
  130. package/lib/translator/translator.d.ts +9 -0
  131. package/lib/translator/translator.module.d.ts +3 -0
  132. package/lib/translator/translator.pipe.d.ts +5 -0
  133. package/lib/translator/translator.service.d.ts +5 -0
  134. package/lib/utils/array/array-util.d.ts +6 -0
  135. package/lib/utils/html/html-util.d.ts +62 -0
  136. package/lib/utils/html/html.module.d.ts +2 -0
  137. package/lib/utils/math/math-util.d.ts +3 -0
  138. package/lib/utils/object/object-util.d.ts +7 -0
  139. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +7 -0
  140. package/lib/utils/render/render.service.d.ts +14 -0
  141. package/lib/utils/render/rendering.module.d.ts +4 -0
  142. package/lib/utils/scroll/scroll.directive.d.ts +13 -0
  143. package/lib/utils/scroll/scroll.module.d.ts +2 -0
  144. package/lib/utils/separator/separator.module.d.ts +2 -0
  145. package/lib/utils/separator/separator.pipe.d.ts +4 -0
  146. package/package.json +23 -0
  147. package/public-api.d.ts +42 -0
@@ -0,0 +1,192 @@
1
+ import { AXMathUtil } from '../math/math-util';
2
+ export class AXPoint {
3
+ constructor(x, y) {
4
+ this.x = x;
5
+ this.y = y;
6
+ }
7
+ }
8
+ export class AXClientRec {
9
+ constructor(rec) {
10
+ this._left = rec.left;
11
+ this._top = rec.top;
12
+ this._width = rec.width;
13
+ this._height = rec.height;
14
+ this._right = this._left + this._width;
15
+ this._bottom = this._top + this._height;
16
+ }
17
+ get left() {
18
+ return this._left;
19
+ }
20
+ set left(v) {
21
+ this._left = v;
22
+ }
23
+ get top() {
24
+ return this._top;
25
+ }
26
+ set top(v) {
27
+ this._top = v;
28
+ }
29
+ get right() {
30
+ return this._right;
31
+ }
32
+ set right(v) {
33
+ this._right = v;
34
+ }
35
+ get bottom() {
36
+ return this._bottom;
37
+ }
38
+ set bottom(v) {
39
+ this._bottom = v;
40
+ }
41
+ get width() {
42
+ return this._width;
43
+ }
44
+ set width(v) {
45
+ this._width = v;
46
+ }
47
+ get height() {
48
+ return this._height;
49
+ }
50
+ set height(v) {
51
+ this._height = v;
52
+ }
53
+ intersect(rec) {
54
+ return (this.left < rec.left + rec.width &&
55
+ this.left + this.width > rec.left &&
56
+ this.top < rec.top + rec.height &&
57
+ this.top + this.height > rec.top);
58
+ }
59
+ }
60
+ // @dynamic
61
+ export class AXHtmlUtil {
62
+ static getBoundingRectPoint(el, placement) {
63
+ const rec = el.getBoundingClientRect();
64
+ const width = el.offsetWidth;
65
+ const height = el.offsetHeight;
66
+ switch (placement) {
67
+ case 'top-start':
68
+ return new AXPoint(rec.left, rec.top);
69
+ case 'top-middle':
70
+ return new AXPoint(rec.left + (width / 2), rec.top);
71
+ case 'top-end':
72
+ return new AXPoint(rec.left + (width), rec.top);
73
+ case 'center-end':
74
+ return new AXPoint(rec.left + (width), rec.top + (height / 2));
75
+ case 'bottom-end':
76
+ return new AXPoint(rec.left + (width), rec.top + (height));
77
+ case 'bottom-middle':
78
+ return new AXPoint(rec.left + (width / 2), rec.top + (height));
79
+ case 'bottom-start':
80
+ return new AXPoint(rec.left, rec.top + (height));
81
+ case 'center-start':
82
+ return new AXPoint(rec.left, rec.top + (height / 2));
83
+ default:
84
+ return new AXPoint(rec.left + (width / 2), rec.top + (height));
85
+ }
86
+ }
87
+ static isInRecPoint(pos, rec) {
88
+ return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
89
+ }
90
+ // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {
91
+ // const r1: AXClientRec = new AXClientRec(rec1);
92
+ // const r2: AXClientRec = new AXClientRec(rec2);
93
+ // return ;
94
+ // }
95
+ static isInElementBound(pos, element) {
96
+ const elBound = element.getBoundingClientRect();
97
+ return AXHtmlUtil.isInRecPoint(pos, {
98
+ left: elBound.left,
99
+ width: elBound.width,
100
+ top: elBound.top,
101
+ height: elBound.height
102
+ });
103
+ }
104
+ static getDimensions() {
105
+ let winW = 630;
106
+ let winH = 460;
107
+ if (document.body && document.body.offsetWidth) {
108
+ winW = document.body.offsetWidth;
109
+ winH = document.body.offsetHeight;
110
+ }
111
+ if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {
112
+ winW = document.documentElement.offsetWidth;
113
+ winH = document.documentElement.offsetHeight;
114
+ }
115
+ if (window.innerWidth && window.innerHeight) {
116
+ winW = window.innerWidth;
117
+ winH = window.innerHeight;
118
+ }
119
+ return { width: winW, height: winH };
120
+ }
121
+ static getOffsetRight(elem) {
122
+ let element = elem;
123
+ const width = element.offsetWidth;
124
+ let right = 0;
125
+ while (element.offsetParent) {
126
+ right += element.offsetLeft;
127
+ element = element.offsetParent;
128
+ }
129
+ right += element.offsetLeft;
130
+ right = AXHtmlUtil.getDimensions().width - right;
131
+ right -= width;
132
+ return right;
133
+ }
134
+ static getUID() {
135
+ return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();
136
+ }
137
+ static getRelatedPosition(source, placement, target, alignment) {
138
+ const result = { x: 0, y: 0 };
139
+ const sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);
140
+ let top = 0;
141
+ let left = 0;
142
+ switch (alignment) {
143
+ case 'top-start':
144
+ top = sourcePos.y;
145
+ left = sourcePos.x;
146
+ break;
147
+ case 'top-middle':
148
+ top = sourcePos.y;
149
+ left = sourcePos.x - target.offsetWidth / 2;
150
+ break;
151
+ case 'top-end':
152
+ top = sourcePos.y;
153
+ left = sourcePos.x - target.offsetWidth;
154
+ break;
155
+ case 'center-end':
156
+ top = sourcePos.y - target.offsetHeight / 2;
157
+ left = sourcePos.x - target.offsetWidth;
158
+ break;
159
+ case 'bottom-end':
160
+ top = sourcePos.y - target.offsetHeight;
161
+ left = sourcePos.x - target.offsetWidth;
162
+ break;
163
+ case 'bottom-middle':
164
+ top = sourcePos.y - target.offsetHeight;
165
+ left = sourcePos.x - target.offsetWidth / 2;
166
+ break;
167
+ case 'bottom-start':
168
+ top = sourcePos.y - target.offsetHeight;
169
+ left = sourcePos.x;
170
+ break;
171
+ case 'center-start':
172
+ top = sourcePos.y - target.offsetHeight / 2;
173
+ left = sourcePos.x;
174
+ break;
175
+ }
176
+ result.y = top;
177
+ result.x = left;
178
+ return result;
179
+ }
180
+ static collision(a, b) {
181
+ const ac = a.getBoundingClientRect();
182
+ const bc = b.getBoundingClientRect();
183
+ if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
184
+ ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
185
+ return true;
186
+ }
187
+ else {
188
+ return false;
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2h0bWwvaHRtbC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQTJCL0MsTUFBTSxPQUFPLE9BQU87SUFDbEIsWUFBbUIsQ0FBUyxFQUFTLENBQVM7UUFBM0IsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7SUFDOUMsQ0FBQztDQUNGO0FBVUQsTUFBTSxPQUFPLFdBQVc7SUEwRHRCLFlBQVksR0FBb0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUE3REQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFJRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLENBQVM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENB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Q0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFckMsSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDOUQsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsT0FBTyxJQUFJLENBQUM7U0FDYjthQUNJO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWF0aFV0aWwgfSBmcm9tICcuLi9tYXRoL21hdGgtdXRpbCc7XHJcblxyXG5leHBvcnQgdHlwZSBBWFBsYWNlbWVudCA9XHJcbiAgfCAndG9wLXN0YXJ0J1xyXG4gIHwgJ3RvcC1taWRkbGUnXHJcbiAgfCAndG9wLWVuZCdcclxuICB8ICdjZW50ZXItc3RhcnQnXHJcbiAgfCAnY2VudGVyLWVuZCdcclxuICB8ICdib3R0b20tc3RhcnQnXHJcbiAgfCAnYm90dG9tLW1pZGRsZSdcclxuICB8ICdib3R0b20tZW5kJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhJUG9pbnQge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25uZWN0ZWRQb3NpdGlvbiB7XHJcbiAgb3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XHJcbiAgb3JpZ2luWTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIG92ZXJsYXlYOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcclxuICBvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIHdlaWdodD86IG51bWJlcjtcclxuICBvZmZzZXRYPzogbnVtYmVyO1xyXG4gIG9mZnNldFk/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBvaW50IGltcGxlbWVudHMgQVhJUG9pbnQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB4OiBudW1iZXIsIHB1YmxpYyB5OiBudW1iZXIpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDbGllbnRSZWNDdG9yIHtcclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIHRvcD86IG51bWJlcjtcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgYm90dG9tPzogbnVtYmVyO1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBWENsaWVudFJlYyBpbXBsZW1lbnRzIEFYQ2xpZW50UmVjQ3RvciB7XHJcblxyXG5cclxuICBwcml2YXRlIF9sZWZ0OiBudW1iZXI7XHJcbiAgcHVibGljIGdldCBsZWZ0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcclxuICB9XHJcbiAgcHVibGljIHNldCBsZWZ0KHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbGVmdCA9IHY7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfdG9wOiBudW1iZXI7XHJcbiAgcHVibGljIGdldCB0b3AoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90b3A7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdG9wKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fdG9wID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9yaWdodDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgcmlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9yaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCByaWdodCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3JpZ2h0ID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9ib3R0b206IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGJvdHRvbSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvdHRvbTtcclxuICB9XHJcbiAgcHVibGljIHNldCBib3R0b20odjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB2O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcbiAgcHVibGljIHNldCB3aWR0aCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCBoZWlnaHQodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSB2O1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYzogQVhDbGllbnRSZWNDdG9yKSB7XHJcbiAgICB0aGlzLl9sZWZ0ID0gcmVjLmxlZnQ7XHJcbiAgICB0aGlzLl90b3AgPSByZWMudG9wO1xyXG4gICAgdGhpcy5fd2lkdGggPSByZWMud2lkdGg7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSByZWMuaGVpZ2h0O1xyXG4gICAgdGhpcy5fcmlnaHQgPSB0aGlzLl9sZWZ0ICsgdGhpcy5fd2lkdGg7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB0aGlzLl90b3AgKyB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW50ZXJzZWN0KHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMubGVmdCA8IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmXHJcbiAgICAgIHRoaXMubGVmdCArIHRoaXMud2lkdGggPiByZWMubGVmdCAmJlxyXG4gICAgICB0aGlzLnRvcCA8IHJlYy50b3AgKyByZWMuaGVpZ2h0ICYmXHJcbiAgICAgIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgPiByZWMudG9wKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XHJcbiAgc3RhdGljIGdldEJvdW5kaW5nUmVjdFBvaW50KGVsOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCk6IEFYUG9pbnQge1xyXG4gICAgY29uc3QgcmVjID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0O1xyXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQsIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICd0b3AtbWlkZGxlJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCk7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGgpLCByZWMudG9wICsgKGhlaWdodCAvIDIpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLW1pZGRsZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0LCByZWMudG9wICsgKGhlaWdodCkpO1xyXG4gICAgICBjYXNlICdjZW50ZXItc3RhcnQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNJblJlY1BvaW50KHBvczogQVhJUG9pbnQsIHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcG9zLnggPj0gcmVjLmxlZnQgJiYgcG9zLnggPD0gKHJlYy5sZWZ0ICsgcmVjLndpZHRoKSAmJiBwb3MueSA+PSByZWMudG9wICYmIChwb3MueSA8PSAocmVjLnRvcCArIHJlYy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIC8vIHN0YXRpYyBpc092ZXJMYXAocmVjMTogQVhDbGllbnRSZWNDdG9yLCByZWMyOiBBWENsaWVudFJlY0N0b3IpOiBib29sZWFuIHtcclxuICAvLyAgIGNvbnN0IHIxOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMxKTtcclxuICAvLyAgIGNvbnN0IHIyOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMyKTtcclxuXHJcbiAgLy8gICByZXR1cm4gO1xyXG4gIC8vIH1cclxuXHJcbiAgc3RhdGljIGlzSW5FbGVtZW50Qm91bmQocG9zOiBBWElQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVsQm91bmQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIEFYSHRtbFV0aWwuaXNJblJlY1BvaW50KHBvcywge1xyXG4gICAgICBsZWZ0OiBlbEJvdW5kLmxlZnQsXHJcbiAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxyXG4gICAgICB0b3A6IGVsQm91bmQudG9wLFxyXG4gICAgICBoZWlnaHQ6IGVsQm91bmQuaGVpZ2h0XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB7XHJcbiAgICBsZXQgd2luVyA9IDYzMDtcclxuICAgIGxldCB3aW5IID0gNDYwO1xyXG4gICAgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xyXG4gICAgICB3aW5XID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcclxuICAgICAgd2luSCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKGRvY3VtZW50LmNvbXBhdE1vZGUgPT09ICdDU1MxQ29tcGF0JyAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgIHdpblcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIHdpbkggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICB3aW5XID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgIHdpbkggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyB3aWR0aDogd2luVywgaGVpZ2h0OiB3aW5IIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0T2Zmc2V0UmlnaHQoZWxlbTogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgbGV0IGVsZW1lbnQgPSBlbGVtO1xyXG4gICAgY29uc3Qgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0ID0gMDtcclxuICAgIHdoaWxlIChlbGVtZW50Lm9mZnNldFBhcmVudCkge1xyXG4gICAgICByaWdodCArPSBlbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIH1cclxuICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIHJpZ2h0ID0gQVhIdG1sVXRpbC5nZXREaW1lbnNpb25zKCkud2lkdGggLSByaWdodDtcclxuICAgIHJpZ2h0IC09IHdpZHRoO1xyXG4gICAgcmV0dXJuIHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFVJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdlbC0nICsgQVhNYXRoVXRpbC5yYW5kb21SYW5nZSgxMDAwMDAwMDAwLCA5OTk5OTk5OTk5KS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyBnZXRSZWxhdGVkUG9zaXRpb24oc291cmNlOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCwgYWxpZ25tZW50OiBBWFBsYWNlbWVudCk6IEFYSVBvaW50IHtcclxuICAgIGNvbnN0IHJlc3VsdDogQVhJUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuXHJcbiAgICBjb25zdCBzb3VyY2VQb3M6IEFYUG9pbnQgPSBBWEh0bWxVdGlsLmdldEJvdW5kaW5nUmVjdFBvaW50KHNvdXJjZSwgcGxhY2VtZW50KTtcclxuXHJcblxyXG4gICAgbGV0IHRvcDogbnVtYmVyID0gMDtcclxuICAgIGxldCBsZWZ0OiBudW1iZXIgPSAwO1xyXG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2VudGVyLWVuZCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXN1bHQueSA9IHRvcDtcclxuICAgIHJlc3VsdC54ID0gbGVmdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGNvbGxpc2lvbihhOiBIVE1MRWxlbWVudCwgYjogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjID0gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICBpZiAoYWMubGVmdCA8IGJjLmxlZnQgKyBiYy53aWR0aCAmJiBhYy5sZWZ0ICsgYWMud2lkdGggPiBiYy5sZWZ0ICYmXHJcbiAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';
5
+ let AXHtmlModule = class AXHtmlModule {
6
+ };
7
+ AXHtmlModule = __decorate([
8
+ NgModule({
9
+ declarations: [AXHtmlToTextPipe],
10
+ imports: [CommonModule],
11
+ exports: [AXHtmlToTextPipe],
12
+ providers: []
13
+ })
14
+ ], AXHtmlModule);
15
+ export { AXHtmlModule };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaHRtbC9odG1sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFROUQsSUFBYSxZQUFZLEdBQXpCLE1BQWEsWUFBWTtDQUFJLENBQUE7QUFBaEIsWUFBWTtJQU54QixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDM0IsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csWUFBWSxDQUFJO1NBQWhCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWEh0bWxUb1RleHRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9odG1sVG9UZXh0LnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBWEh0bWxUb1RleHRQaXBlXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbQVhIdG1sVG9UZXh0UGlwZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhIdG1sTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ export class AXMathUtil {
2
+ static randomRange(min, max) {
3
+ return Math.floor(Math.random() * (max - min + 1) + min);
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL21hdGgvbWF0aC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYTWF0aFV0aWwge1xyXG4gICAgc3RhdGljIHJhbmRvbVJhbmdlKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIG1pbik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,83 @@
1
+ // @dynamic
2
+ export class AXObjectUtil {
3
+ static deepJSONClone(obj) {
4
+ return obj ? JSON.parse(JSON.stringify(obj)) : null;
5
+ }
6
+ static deepCopy(obj) {
7
+ let copy;
8
+ // Handle the 3 simple types, and null or undefined
9
+ if (null == obj || 'object' !== typeof obj) {
10
+ return obj;
11
+ }
12
+ // Handle Date
13
+ if (obj instanceof Date) {
14
+ copy = new Date();
15
+ copy.setTime(obj.getTime());
16
+ return copy;
17
+ }
18
+ // Handle Array
19
+ if (obj instanceof Array) {
20
+ copy = [];
21
+ for (let i = 0, len = obj.length; i < len; i++) {
22
+ copy[i] = AXObjectUtil.deepCopy(obj[i]);
23
+ }
24
+ return copy;
25
+ }
26
+ // Handle Object
27
+ if (obj instanceof Object) {
28
+ copy = {};
29
+ for (const attr in obj) {
30
+ if (obj.hasOwnProperty(attr)) {
31
+ copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
32
+ }
33
+ }
34
+ return copy;
35
+ }
36
+ throw new Error('Unable to copy obj! Its type isn\'t supported.');
37
+ }
38
+ }
39
+ export function AXFetchProp(obj, prop) {
40
+ if (typeof obj === 'undefined') {
41
+ return false;
42
+ }
43
+ const index = prop.indexOf('.');
44
+ if (index > -1) {
45
+ return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));
46
+ }
47
+ return obj[prop];
48
+ }
49
+ export function getPropByPath(obj, path, defaultVal) {
50
+ path = path
51
+ .replace(/\[/g, '.')
52
+ .replace(/]/g, '')
53
+ .split('.');
54
+ path.forEach((level) => {
55
+ if (obj) {
56
+ obj = obj[level];
57
+ }
58
+ });
59
+ if (obj === undefined) {
60
+ return defaultVal;
61
+ }
62
+ return obj;
63
+ }
64
+ export function setPropByPath(obj, path, value) {
65
+ if (Object(obj) !== obj) {
66
+ return obj;
67
+ } // When obj is not an object
68
+ // If not yet an array, get the keys from the string-path
69
+ if (!Array.isArray(path)) {
70
+ path = path.toString().match(/[^.[\]]+/g) || [];
71
+ }
72
+ path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one
73
+ Object(a[c]) === a[c] // Does the key exist and is its value an object?
74
+ // Yes: then follow that path
75
+ ? a[c]
76
+ // No: create the key. Is the next key a potential array-index?
77
+ : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]
78
+ ? [] // Yes: assign a new array object
79
+ : {}, // No: assign a new plain object
80
+ obj)[path[path.length - 1]] = value; // Finally assign the value to the last key
81
+ return obj; // Return the top-level object to allow chaining
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvb2JqZWN0L29iamVjdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVE7UUFDekIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRztRQUNmLElBQUksSUFBSSxDQUFDO1FBQ1QsbURBQW1EO1FBQ25ELElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLEtBQUssT0FBTyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsQ0FBQztTQUFFO1FBQzNELGNBQWM7UUFDZCxJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUU7WUFDckIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsZUFBZTtRQUNmLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRTtZQUN0QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLElBQUksQ0FBQztT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LENBQUMsaUNBQWlDO1lBQ3RDLENBQUMsQ0FBQyxFQUFFLEVBQUUsZ0NBQWdDO0lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO0lBQ3BGLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0RBQWdEO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhPYmplY3RVdGlsIHtcclxuICAgIHN0YXRpYyBkZWVwSlNPTkNsb25lKG9iajogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gb2JqID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGRlZXBDb3B5KG9iaikge1xyXG4gICAgICAgIGxldCBjb3B5O1xyXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgMyBzaW1wbGUgdHlwZXMsIGFuZCBudWxsIG9yIHVuZGVmaW5lZFxyXG4gICAgICAgIGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPT0gdHlwZW9mIG9iaikgeyByZXR1cm4gb2JqOyB9XHJcbiAgICAgICAgLy8gSGFuZGxlIERhdGVcclxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICBjb3B5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29weTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlIEFycmF5XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG9iai5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29weVtpXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGUgT2JqZWN0XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgICAgICBjb3B5ID0ge307XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoYXR0cikpIHsgY29weVthdHRyXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbYXR0cl0pOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBJdHMgdHlwZSBpc25cXCd0IHN1cHBvcnRlZC4nKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEFYRmV0Y2hQcm9wKG9iaiwgcHJvcDogc3RyaW5nKSB7XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbmRleCA9IHByb3AuaW5kZXhPZignLicpO1xyXG5cclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIEFYRmV0Y2hQcm9wKG9ialtwcm9wLnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wLnN1YnN0cihpbmRleCArIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqW3Byb3BdO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIGRlZmF1bHRWYWw/KSB7XHJcbiAgICBwYXRoID0gcGF0aFxyXG4gICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxyXG4gICAgICAgIC5yZXBsYWNlKC9dL2csICcnKVxyXG4gICAgICAgIC5zcGxpdCgnLicpO1xyXG5cclxuICAgIHBhdGguZm9yRWFjaCgobGV2ZWwpID0+IHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIHZhbHVlKSB7XHJcbiAgICBpZiAoT2JqZWN0KG9iaikgIT09IG9iaikgeyByZXR1cm4gb2JqOyB9IC8vIFdoZW4gb2JqIGlzIG5vdCBhbiBvYmplY3RcclxuICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdGgpKSB7IHBhdGggPSBwYXRoLnRvU3RyaW5nKCkubWF0Y2goL1teLltcXF1dKy9nKSB8fCBbXTsgfVxyXG4gICAgcGF0aC5zbGljZSgwLCAtMSkucmVkdWNlKChhLCBjLCBpKSA9PiAvLyBJdGVyYXRlIGFsbCBvZiB0aGVtIGV4Y2VwdCB0aGUgbGFzdCBvbmVcclxuICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xyXG4gICAgICAgICAgICAvLyBZZXM6IHRoZW4gZm9sbG93IHRoYXQgcGF0aFxyXG4gICAgICAgICAgICA/IGFbY11cclxuICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XHJcbiAgICAgICAgICAgIDogYVtjXSA9IE1hdGguYWJzKHBhdGhbaSArIDFdKSA+PiAwID09PSArcGF0aFtpICsgMV1cclxuICAgICAgICAgICAgICAgID8gW10gLy8gWWVzOiBhc3NpZ24gYSBuZXcgYXJyYXkgb2JqZWN0XHJcbiAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxyXG4gICAgICAgIG9iailbcGF0aFtwYXRoLmxlbmd0aCAtIDFdXSA9IHZhbHVlOyAvLyBGaW5hbGx5IGFzc2lnbiB0aGUgdmFsdWUgdG8gdGhlIGxhc3Qga2V5XHJcbiAgICByZXR1cm4gb2JqOyAvLyBSZXR1cm4gdGhlIHRvcC1sZXZlbCBvYmplY3QgdG8gYWxsb3cgY2hhaW5pbmdcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { AXHtmlUtil } from '../html/html-util';
5
+ let AXOnDemandPreloadService = class AXOnDemandPreloadService {
6
+ constructor() {
7
+ this.subject = new Subject();
8
+ this.tmp = AXHtmlUtil.getUID();
9
+ }
10
+ startPreload(routePath) {
11
+ const slices = [];
12
+ this.subject.next(routePath);
13
+ //console.log('ss', this.tmp);
14
+ }
15
+ };
16
+ AXOnDemandPreloadService = __decorate([
17
+ Injectable(),
18
+ __metadata("design:paramtypes", [])
19
+ ], AXOnDemandPreloadService);
20
+ export { AXOnDemandPreloadService };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9yZW5kZXIvb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNL0MsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFJbkM7UUFIQSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUk5QixJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUc1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3Qiw4QkFBOEI7SUFDaEMsQ0FBQztDQUNGLENBQUE7QUFmWSx3QkFBd0I7SUFEcEMsVUFBVSxFQUFFOztHQUNBLHdCQUF3QixDQWVwQztTQWZZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnLi4vaHRtbC9odG1sLXV0aWwnO1xyXG5cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIHtcclxuICBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHRtcDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2xpY2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICBcclxuXHJcbiAgICB0aGlzLnN1YmplY3QubmV4dChyb3V0ZVBhdGgpO1xyXG4gICAgLy9jb25zb2xlLmxvZygnc3MnLCB0aGlzLnRtcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, EmbeddedViewRef, Type } from '@angular/core';
3
+ import { Router, Route } from '@angular/router';
4
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "./on-demand-preload-strategy.service";
8
+ let AXRenderService = class AXRenderService {
9
+ constructor(appRef, router, componentFactoryResolver, modulePreloadService, injector) {
10
+ this.appRef = appRef;
11
+ this.router = router;
12
+ this.componentFactoryResolver = componentFactoryResolver;
13
+ this.modulePreloadService = modulePreloadService;
14
+ this.injector = injector;
15
+ }
16
+ appendComponent(componentClass, options = {}, location) {
17
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);
18
+ const componentRef = componentFactory.create(this.injector);
19
+ this.appRef.attachView(componentRef.hostView);
20
+ Object.assign(componentRef.instance, options);
21
+ //
22
+ const domElem = componentRef.hostView.rootNodes[0];
23
+ componentRef.onDestroy(() => {
24
+ this.appRef.detachView(componentRef.hostView);
25
+ });
26
+ if (location) {
27
+ location.appendChild(domElem);
28
+ }
29
+ else {
30
+ document.body.appendChild(domElem);
31
+ }
32
+ setTimeout(() => {
33
+ componentRef.changeDetectorRef.detectChanges();
34
+ }, 0);
35
+ return componentRef;
36
+ }
37
+ findLoadedComponentByRoute(path, timeoutTime = 10) {
38
+ const delay = 200;
39
+ const loop = timeoutTime * 1000 / delay;
40
+ return new Promise((resolve, reject) => {
41
+ let found = null;
42
+ let preload = false;
43
+ const theLoop = (i) => {
44
+ setTimeout(() => {
45
+ found = this._findLoadedComponentByRoute(path);
46
+ if (--i && found == null) {
47
+ if (!preload) {
48
+ this.modulePreloadService.startPreload(path);
49
+ preload = true;
50
+ }
51
+ theLoop(i);
52
+ }
53
+ else if (found) {
54
+ resolve(found);
55
+ }
56
+ else {
57
+ reject();
58
+ }
59
+ }, delay);
60
+ };
61
+ theLoop(loop);
62
+ });
63
+ }
64
+ _findLoadedComponentByRoute(search) {
65
+ let found = null;
66
+ const f = (list, path) => {
67
+ for (const p in list) {
68
+ if (list.hasOwnProperty(p)) {
69
+ const route = list[p];
70
+ const pp = (route.path != '' && route.path != null) ? path + '/' + route.path : path;
71
+ if (pp == search && !route._loadedConfig && route.component) {
72
+ found = route;
73
+ break;
74
+ }
75
+ else if (route._loadedConfig) {
76
+ f(route._loadedConfig.routes, pp);
77
+ }
78
+ }
79
+ }
80
+ };
81
+ for (const p in this.router.config) {
82
+ if (this.router.config.hasOwnProperty(p)) {
83
+ const route = this.router.config[p];
84
+ if (route.path === search && route.component) {
85
+ found = route;
86
+ }
87
+ else if (route['_loadedConfig']) {
88
+ f(route['_loadedConfig'].routes, route.path);
89
+ }
90
+ }
91
+ }
92
+ return found;
93
+ }
94
+ };
95
+ AXRenderService.ctorParameters = () => [
96
+ { type: ApplicationRef },
97
+ { type: Router },
98
+ { type: ComponentFactoryResolver },
99
+ { type: AXOnDemandPreloadService },
100
+ { type: Injector }
101
+ ];
102
+ AXRenderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AXRenderService_Factory() { return new AXRenderService(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i2.AXOnDemandPreloadService), i0.ɵɵinject(i0.INJECTOR)); }, token: AXRenderService, providedIn: "root" });
103
+ AXRenderService = __decorate([
104
+ Injectable({ providedIn: 'root' }),
105
+ __metadata("design:paramtypes", [ApplicationRef,
106
+ Router,
107
+ ComponentFactoryResolver,
108
+ AXOnDemandPreloadService,
109
+ Injector])
110
+ ], AXRenderService);
111
+ export { AXRenderService };
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcmVuZGVyL3JlbmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQ2xFLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUNsQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBS2hGLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFDeEIsWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELG9CQUE4QyxFQUM5QyxRQUFrQjtRQUpsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTBCO1FBQzlDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDOUIsQ0FBQztJQUlELGVBQWUsQ0FDWCxjQUF1QixFQUN2QixVQUFlLEVBQUUsRUFDakIsUUFBa0I7UUFFbEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0YsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9B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LENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUNyQztpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDMUMsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDakI7cUJBQ0ksSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7YUFFSjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUVKLENBQUE7O1lBOUZ1QixjQUFjO1lBQ2QsTUFBTTtZQUNZLHdCQUF3QjtZQUM1Qix3QkFBd0I7WUFDcEMsUUFBUTs7O0FBTnJCLGVBQWU7SUFEM0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQUdYLGNBQWM7UUFDZCxNQUFNO1FBQ1ksd0JBQXdCO1FBQzVCLHdCQUF3QjtRQUNwQyxRQUFRO0dBTnJCLGVBQWUsQ0FnRzNCO1NBaEdZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLFxyXG4gICAgSW5qZWN0b3IsIEVtYmVkZGVkVmlld1JlZiwgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgbW9kdWxlUHJlbG9hZFNlcnZpY2U6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgYXBwZW5kQ29tcG9uZW50PFQ+KFxyXG4gICAgICAgIGNvbXBvbmVudENsYXNzOiBUeXBlPFQ+LFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSA9IHt9LFxyXG4gICAgICAgIGxvY2F0aW9uPzogRWxlbWVudCk6IENvbXBvbmVudFJlZjxhbnk+IHtcclxuXHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudENsYXNzKTtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIG9wdGlvbnMpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBsb2NhdGlvbi5hcHBlbmRDaGlsZChkb21FbGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCAwKTtcclxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGg6IHN0cmluZywgdGltZW91dFRpbWU6IG51bWJlciA9IDEwKTogUHJvbWlzZTxSb3V0ZT4ge1xyXG4gICAgICAgIGNvbnN0IGRlbGF5ID0gMjAwO1xyXG4gICAgICAgIGNvbnN0IGxvb3AgPSB0aW1lb3V0VGltZSAqIDEwMDAgLyBkZWxheTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcclxuICAgICAgICAgICAgbGV0IHByZWxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3QgdGhlTG9vcCA9IChpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRoaXMuX2ZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgtLWkgJiYgZm91bmQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZWxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kdWxlUHJlbG9hZFNlcnZpY2Uuc3RhcnRQcmVsb2FkKHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlTG9vcChpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCBkZWxheSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoZUxvb3AobG9vcCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZmluZExvYWRlZENvbXBvbmVudEJ5Um91dGUoc2VhcmNoKSB7XHJcbiAgICAgICAgbGV0IGZvdW5kOiBSb3V0ZSA9IG51bGw7XHJcbiAgICAgICAgY29uc3QgZiA9IChsaXN0LCBwYXRoKSA9PiB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcCBpbiBsaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobGlzdC5oYXNPd25Qcm9wZXJ0eShwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gbGlzdFtwXTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcCA9IChyb3V0ZS5wYXRoICE9ICcnICYmIHJvdXRlLnBhdGggIT0gbnVsbCkgPyBwYXRoICsgJy8nICsgcm91dGUucGF0aCA6IHBhdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09IHNlYXJjaCAmJiAhcm91dGUuX2xvYWRlZENvbmZpZyAmJiByb3V0ZS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSByb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZS5fbG9hZGVkQ29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGYocm91dGUuX2xvYWRlZENvbmZpZy5yb3V0ZXMsIHBwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gdGhpcy5yb3V0ZXIuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlci5jb25maWcuaGFzT3duUHJvcGVydHkocCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5yb3V0ZXIuY29uZmlnW3BdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlLnBhdGggPT09IHNlYXJjaCAmJiByb3V0ZS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHJvdXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocm91dGVbJ19sb2FkZWRDb25maWcnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGYocm91dGVbJ19sb2FkZWRDb25maWcnXS5yb3V0ZXMsIHJvdXRlLnBhdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { AXRenderService } from './render.service';
4
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
5
+ // @dynamic
6
+ export function getOnDemandPreloadServiceFactory() {
7
+ return new AXOnDemandPreloadService();
8
+ }
9
+ let AXRenderingModule = class AXRenderingModule {
10
+ };
11
+ AXRenderingModule = __decorate([
12
+ NgModule({
13
+ imports: [],
14
+ exports: [],
15
+ declarations: [],
16
+ providers: [
17
+ {
18
+ provide: AXOnDemandPreloadService,
19
+ useFactory: getOnDemandPreloadServiceFactory
20
+ },
21
+ AXRenderService
22
+ ],
23
+ })
24
+ ], AXRenderingModule);
25
+ export { AXRenderingModule };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9yZW5kZXIvcmVuZGVyaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEYsV0FBVztBQUNYLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDNUMsT0FBTyxJQUFJLHdCQUF3QixFQUFFLENBQUM7QUFDMUMsQ0FBQztBQWNELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0NBRTdCLENBQUE7QUFGWSxpQkFBaUI7SUFaN0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSx3QkFBd0I7Z0JBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7YUFDL0M7WUFDRCxlQUFlO1NBQ2xCO0tBQ0osQ0FBQztHQUNXLGlCQUFpQixDQUU3QjtTQUZZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJy4vcmVuZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWE9uRGVtYW5kUHJlbG9hZFNlcnZpY2UgfSBmcm9tICcuL29uLWRlbWFuZC1wcmVsb2FkLXN0cmF0ZWd5LnNlcnZpY2UnO1xyXG5cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRPbkRlbWFuZFByZWxvYWRTZXJ2aWNlRmFjdG9yeSgpIHtcclxuICAgIHJldHVybiBuZXcgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlKCk7XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGV4cG9ydHM6IFtdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRPbkRlbWFuZFByZWxvYWRTZXJ2aWNlRmFjdG9yeVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgQVhSZW5kZXJTZXJ2aWNlXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhSZW5kZXJpbmdNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, HostListener, Input } from '@angular/core';
3
+ import { ElementRef } from '@angular/core';
4
+ let AXHorizontalScrollDirective = class AXHorizontalScrollDirective {
5
+ constructor(el) {
6
+ this.el = el;
7
+ this.scrollValue = 40;
8
+ }
9
+ onMouseWheel(e) {
10
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
11
+ this.el.nativeElement.scrollLeft -= delta * this.scrollValue;
12
+ }
13
+ };
14
+ AXHorizontalScrollDirective.ctorParameters = () => [
15
+ { type: ElementRef }
16
+ ];
17
+ __decorate([
18
+ Input('horizontalScroll'),
19
+ __metadata("design:type", Object)
20
+ ], AXHorizontalScrollDirective.prototype, "scrollValue", void 0);
21
+ __decorate([
22
+ HostListener('wheel', ['$event']),
23
+ __metadata("design:type", Function),
24
+ __metadata("design:paramtypes", [Object]),
25
+ __metadata("design:returntype", void 0)
26
+ ], AXHorizontalScrollDirective.prototype, "onMouseWheel", null);
27
+ AXHorizontalScrollDirective = __decorate([
28
+ Directive({
29
+ // tslint:disable-next-line: directive-selector
30
+ selector: '[horizontalScroll]'
31
+ }),
32
+ __metadata("design:paramtypes", [ElementRef])
33
+ ], AXHorizontalScrollDirective);
34
+ export { AXHorizontalScrollDirective };
35
+ let AXVerticalScrollDirective = class AXVerticalScrollDirective {
36
+ constructor(el) {
37
+ this.el = el;
38
+ this.scrollValue = 40;
39
+ }
40
+ onMouseWheel(e) {
41
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
42
+ this.el.nativeElement.scrollTop -= delta * this.scrollValue;
43
+ }
44
+ };
45
+ AXVerticalScrollDirective.ctorParameters = () => [
46
+ { type: ElementRef }
47
+ ];
48
+ __decorate([
49
+ Input('verticalScroll'),
50
+ __metadata("design:type", Object)
51
+ ], AXVerticalScrollDirective.prototype, "scrollValue", void 0);
52
+ __decorate([
53
+ HostListener('wheel', ['$event']),
54
+ __metadata("design:type", Function),
55
+ __metadata("design:paramtypes", [Object]),
56
+ __metadata("design:returntype", void 0)
57
+ ], AXVerticalScrollDirective.prototype, "onMouseWheel", null);
58
+ AXVerticalScrollDirective = __decorate([
59
+ Directive({
60
+ // tslint:disable-next-line: directive-selector
61
+ selector: '[verticalScroll]'
62
+ }),
63
+ __metadata("design:paramtypes", [ElementRef])
64
+ ], AXVerticalScrollDirective);
65
+ export { AXVerticalScrollDirective };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zY3JvbGwvc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFDdEMsWUFBb0IsRUFBMkI7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFIa0MsQ0FBQztJQU1wRCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQTs7WUFWeUIsVUFBVTs7QUFHbEM7SUFEQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7O2dFQUNUO0FBR2pCO0lBREMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OytEQUlqQztBQVZVLDJCQUEyQjtJQUp2QyxTQUFTLENBQUM7UUFDVCwrQ0FBK0M7UUFDL0MsUUFBUSxFQUFFLG9CQUFvQjtLQUMvQixDQUFDO3FDQUV3QixVQUFVO0dBRHZCLDJCQUEyQixDQVd2QztTQVhZLDJCQUEyQjtBQWdCeEMsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFDcEMsWUFBb0IsRUFBMkI7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFIa0MsQ0FBQztJQU1wRCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQTs7WUFWeUIsVUFBVTs7QUFHbEM7SUFEQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7OzhEQUNQO0FBR2pCO0lBREMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OzZEQUlqQztBQVZVLHlCQUF5QjtJQUpyQyxTQUFTLENBQUM7UUFDVCwrQ0FBK0M7UUFDL0MsUUFBUSxFQUFFLGtCQUFrQjtLQUM3QixDQUFDO3FDQUV3QixVQUFVO0dBRHZCLHlCQUF5QixDQVdyQztTQVhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnW2hvcml6b250YWxTY3JvbGxdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PikgeyB9XHJcblxyXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXHJcbiAgc2Nyb2xsVmFsdWUgPSA0MDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxyXG4gIG9uTW91c2VXaGVlbChlKSB7XHJcbiAgICBjb25zdCBkZWx0YSA9IE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsKSk7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XHJcbiAgfVxyXG59XHJcbkBEaXJlY3RpdmUoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdbdmVydGljYWxTY3JvbGxdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhWZXJ0aWNhbFNjcm9sbERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxyXG5cclxuICBASW5wdXQoJ3ZlcnRpY2FsU2Nyb2xsJylcclxuICBzY3JvbGxWYWx1ZSA9IDQwO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aGVlbCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZVdoZWVsKGUpIHtcclxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgLT0gZGVsdGEgKiB0aGlzLnNjcm9sbFZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';
5
+ let AXScrollModule = class AXScrollModule {
6
+ };
7
+ AXScrollModule = __decorate([
8
+ NgModule({
9
+ declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
10
+ imports: [CommonModule],
11
+ exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
12
+ providers: []
13
+ })
14
+ ], AXScrollModule);
15
+ export { AXScrollModule };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zY3JvbGwvc2Nyb2xsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRNUYsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztDQUFJLENBQUE7QUFBbEIsY0FBYztJQU4xQixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQztRQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUseUJBQXlCLENBQUM7UUFDakUsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csY0FBYyxDQUFJO1NBQWxCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2Nyb2xsTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { AXSeparatorPipe } from './separator.pipe';
5
+ let AXSeparatorModule = class AXSeparatorModule {
6
+ };
7
+ AXSeparatorModule = __decorate([
8
+ NgModule({
9
+ declarations: [AXSeparatorPipe],
10
+ imports: [CommonModule],
11
+ exports: [AXSeparatorPipe],
12
+ providers: []
13
+ })
14
+ ], AXSeparatorModule);
15
+ export { AXSeparatorModule };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zZXBhcmF0b3Ivc2VwYXJhdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBUW5ELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0NBQUksQ0FBQTtBQUFyQixpQkFBaUI7SUFON0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7UUFDMUIsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csaUJBQWlCLENBQUk7U0FBckIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhTZXBhcmF0b3JQaXBlIH0gZnJvbSAnLi9zZXBhcmF0b3IucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FYU2VwYXJhdG9yUGlwZV0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYU2VwYXJhdG9yUGlwZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZXBhcmF0b3JNb2R1bGUgeyB9XHJcbiJdfQ==