@acpaas-ui/ngx-forms 5.4.0 → 6.0.0-beta.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 (166) hide show
  1. package/README.md +9 -11
  2. package/esm2020/acpaas-ui-ngx-forms.mjs +5 -0
  3. package/esm2020/lib/auto-complete/auto-complete.module.mjs +24 -0
  4. package/esm2020/lib/auto-complete/components/auto-complete/auto-complete.component.mjs +347 -0
  5. package/esm2020/lib/auto-complete/public-api.mjs +3 -0
  6. package/esm2020/lib/datepicker/components/datepicker/datepicker.component.mjs +273 -0
  7. package/esm2020/lib/datepicker/datepicker.conf.mjs +8 -0
  8. package/esm2020/lib/datepicker/datepicker.module.mjs +55 -0
  9. package/esm2020/lib/datepicker/public-api.mjs +4 -0
  10. package/esm2020/lib/datepicker/types/datepicker.types.mjs +2 -0
  11. package/esm2020/lib/range-slider/components/range-slider/range-slider.component.mjs +349 -0
  12. package/esm2020/lib/range-slider/public-api.mjs +3 -0
  13. package/esm2020/lib/range-slider/range-slider.module.mjs +20 -0
  14. package/esm2020/lib/range-slider/types/range-slider.types.mjs +2 -0
  15. package/esm2020/lib/search-filter/components/search-filter/search-filter.component.mjs +259 -0
  16. package/esm2020/lib/search-filter/public-api.mjs +3 -0
  17. package/esm2020/lib/search-filter/search-filter.module.mjs +22 -0
  18. package/esm2020/lib/search-filter/types/search-filter.types.mjs +2 -0
  19. package/esm2020/lib/shared/services/search.service.mjs +32 -0
  20. package/esm2020/lib/shared/types/search.types.mjs +2 -0
  21. package/esm2020/lib/timepicker/classes/timepicker.validators.mjs +49 -0
  22. package/esm2020/lib/timepicker/components/timepicker/timepicker.component.mjs +229 -0
  23. package/esm2020/lib/timepicker/public-api.mjs +5 -0
  24. package/esm2020/lib/timepicker/timepicker.module.mjs +22 -0
  25. package/esm2020/lib/timepicker/types/timepicker.types.mjs +7 -0
  26. package/esm2020/lib/upload/classes/uploader.class.mjs +112 -0
  27. package/esm2020/lib/upload/components/upload/upload.component.mjs +97 -0
  28. package/esm2020/lib/upload/components/upload-input/upload-input.component.mjs +56 -0
  29. package/esm2020/lib/upload/components/upload-queue/upload-queue.component.mjs +78 -0
  30. package/esm2020/lib/upload/components/upload-zone/upload-zone.component.mjs +252 -0
  31. package/esm2020/lib/upload/components/validation-list/validation-list.component.mjs +64 -0
  32. package/esm2020/lib/upload/public-api.mjs +10 -0
  33. package/esm2020/lib/upload/services/validation-messages.service.mjs +29 -0
  34. package/esm2020/lib/upload/types/upload.types.mjs +2 -0
  35. package/esm2020/lib/upload/upload.conf.mjs +12 -0
  36. package/esm2020/lib/upload/upload.module.mjs +45 -0
  37. package/esm2020/public-api.mjs +7 -0
  38. package/fesm2015/acpaas-ui-ngx-forms.mjs +2518 -0
  39. package/fesm2015/acpaas-ui-ngx-forms.mjs.map +1 -0
  40. package/fesm2020/acpaas-ui-ngx-forms.mjs +2339 -0
  41. package/fesm2020/acpaas-ui-ngx-forms.mjs.map +1 -0
  42. package/{acpaas-ui-ngx-forms.d.ts → index.d.ts} +1 -1
  43. package/lib/auto-complete/auto-complete.module.d.ts +9 -0
  44. package/lib/auto-complete/components/auto-complete/auto-complete.component.d.ts +5 -1
  45. package/lib/datepicker/components/datepicker/datepicker.component.d.ts +9 -8
  46. package/lib/datepicker/datepicker.conf.d.ts +0 -1
  47. package/lib/datepicker/datepicker.module.d.ts +11 -1
  48. package/lib/datepicker/public-api.d.ts +1 -1
  49. package/lib/range-slider/components/range-slider/range-slider.component.d.ts +8 -2
  50. package/lib/range-slider/range-slider.module.d.ts +7 -0
  51. package/lib/search-filter/components/search-filter/search-filter.component.d.ts +10 -4
  52. package/lib/search-filter/search-filter.module.d.ts +9 -0
  53. package/lib/shared/services/search.service.d.ts +3 -0
  54. package/lib/timepicker/components/timepicker/timepicker.component.d.ts +9 -4
  55. package/lib/timepicker/timepicker.module.d.ts +8 -0
  56. package/lib/upload/components/upload/upload.component.d.ts +5 -0
  57. package/lib/upload/components/upload-input/upload-input.component.d.ts +3 -0
  58. package/lib/upload/components/upload-queue/upload-queue.component.d.ts +3 -0
  59. package/lib/upload/components/upload-zone/upload-zone.component.d.ts +7 -0
  60. package/lib/upload/components/validation-list/validation-list.component.d.ts +3 -0
  61. package/lib/upload/services/validation-messages.service.d.ts +3 -0
  62. package/lib/upload/upload.module.d.ts +14 -1
  63. package/package.json +37 -26
  64. package/public-api.d.ts +0 -2
  65. package/acpaas-ui-ngx-forms.metadata.json +0 -1
  66. package/bundles/acpaas-ui-ngx-forms.umd.js +0 -3862
  67. package/bundles/acpaas-ui-ngx-forms.umd.js.map +0 -1
  68. package/bundles/acpaas-ui-ngx-forms.umd.min.js +0 -2
  69. package/bundles/acpaas-ui-ngx-forms.umd.min.js.map +0 -1
  70. package/esm2015/acpaas-ui-ngx-forms.js +0 -11
  71. package/esm2015/lib/auto-complete/auto-complete.module.js +0 -36
  72. package/esm2015/lib/auto-complete/components/auto-complete/auto-complete.component.js +0 -416
  73. package/esm2015/lib/auto-complete/public-api.js +0 -8
  74. package/esm2015/lib/datepicker/components/datepicker/datepicker.component.js +0 -343
  75. package/esm2015/lib/datepicker/datepicker.conf.js +0 -18
  76. package/esm2015/lib/datepicker/datepicker.module.js +0 -59
  77. package/esm2015/lib/datepicker/public-api.js +0 -9
  78. package/esm2015/lib/datepicker/types/datepicker.types.js +0 -20
  79. package/esm2015/lib/mask/directives/mask.directive.js +0 -51
  80. package/esm2015/lib/mask/mask.module.js +0 -25
  81. package/esm2015/lib/mask/public-api.js +0 -8
  82. package/esm2015/lib/range-slider/components/range-slider/range-slider.component.js +0 -424
  83. package/esm2015/lib/range-slider/public-api.js +0 -8
  84. package/esm2015/lib/range-slider/range-slider.module.js +0 -26
  85. package/esm2015/lib/range-slider/types/range-slider.types.js +0 -16
  86. package/esm2015/lib/search-filter/components/search-filter/search-filter.component.js +0 -219
  87. package/esm2015/lib/search-filter/public-api.js +0 -8
  88. package/esm2015/lib/search-filter/search-filter.module.js +0 -30
  89. package/esm2015/lib/search-filter/types/search-filter.types.js +0 -16
  90. package/esm2015/lib/shared/services/search.service.js +0 -58
  91. package/esm2015/lib/shared/types/search.types.js +0 -20
  92. package/esm2015/lib/timepicker/classes/timepicker.validators.js +0 -84
  93. package/esm2015/lib/timepicker/components/timepicker/timepicker.component.js +0 -227
  94. package/esm2015/lib/timepicker/public-api.js +0 -10
  95. package/esm2015/lib/timepicker/timepicker.module.js +0 -29
  96. package/esm2015/lib/timepicker/types/timepicker.types.js +0 -13
  97. package/esm2015/lib/upload/classes/uploader.class.js +0 -189
  98. package/esm2015/lib/upload/components/upload/upload.component.js +0 -100
  99. package/esm2015/lib/upload/components/upload-input/upload-input.component.js +0 -67
  100. package/esm2015/lib/upload/components/upload-queue/upload-queue.component.js +0 -68
  101. package/esm2015/lib/upload/components/upload-zone/upload-zone.component.js +0 -219
  102. package/esm2015/lib/upload/components/validation-list/validation-list.component.js +0 -62
  103. package/esm2015/lib/upload/public-api.js +0 -15
  104. package/esm2015/lib/upload/services/validation-messages.service.js +0 -48
  105. package/esm2015/lib/upload/types/upload.types.js +0 -48
  106. package/esm2015/lib/upload/upload.conf.js +0 -21
  107. package/esm2015/lib/upload/upload.module.js +0 -62
  108. package/esm2015/lib/wysiwyg/components/wysiwyg/wysiwyg.component.js +0 -158
  109. package/esm2015/lib/wysiwyg/public-api.js +0 -9
  110. package/esm2015/lib/wysiwyg/wysiwyg.conf.js +0 -24
  111. package/esm2015/lib/wysiwyg/wysiwyg.module.js +0 -29
  112. package/esm2015/public-api.js +0 -14
  113. package/esm5/acpaas-ui-ngx-forms.js +0 -11
  114. package/esm5/lib/auto-complete/auto-complete.module.js +0 -40
  115. package/esm5/lib/auto-complete/components/auto-complete/auto-complete.component.js +0 -506
  116. package/esm5/lib/auto-complete/public-api.js +0 -8
  117. package/esm5/lib/datepicker/components/datepicker/datepicker.component.js +0 -392
  118. package/esm5/lib/datepicker/datepicker.conf.js +0 -18
  119. package/esm5/lib/datepicker/datepicker.module.js +0 -69
  120. package/esm5/lib/datepicker/public-api.js +0 -9
  121. package/esm5/lib/datepicker/types/datepicker.types.js +0 -20
  122. package/esm5/lib/mask/directives/mask.directive.js +0 -58
  123. package/esm5/lib/mask/mask.module.js +0 -29
  124. package/esm5/lib/mask/public-api.js +0 -8
  125. package/esm5/lib/range-slider/components/range-slider/range-slider.component.js +0 -514
  126. package/esm5/lib/range-slider/public-api.js +0 -8
  127. package/esm5/lib/range-slider/range-slider.module.js +0 -30
  128. package/esm5/lib/range-slider/types/range-slider.types.js +0 -16
  129. package/esm5/lib/search-filter/components/search-filter/search-filter.component.js +0 -256
  130. package/esm5/lib/search-filter/public-api.js +0 -8
  131. package/esm5/lib/search-filter/search-filter.module.js +0 -34
  132. package/esm5/lib/search-filter/types/search-filter.types.js +0 -16
  133. package/esm5/lib/shared/services/search.service.js +0 -68
  134. package/esm5/lib/shared/types/search.types.js +0 -20
  135. package/esm5/lib/timepicker/classes/timepicker.validators.js +0 -102
  136. package/esm5/lib/timepicker/components/timepicker/timepicker.component.js +0 -259
  137. package/esm5/lib/timepicker/public-api.js +0 -10
  138. package/esm5/lib/timepicker/timepicker.module.js +0 -33
  139. package/esm5/lib/timepicker/types/timepicker.types.js +0 -13
  140. package/esm5/lib/upload/classes/uploader.class.js +0 -249
  141. package/esm5/lib/upload/components/upload/upload.component.js +0 -117
  142. package/esm5/lib/upload/components/upload-input/upload-input.component.js +0 -84
  143. package/esm5/lib/upload/components/upload-queue/upload-queue.component.js +0 -78
  144. package/esm5/lib/upload/components/upload-zone/upload-zone.component.js +0 -264
  145. package/esm5/lib/upload/components/validation-list/validation-list.component.js +0 -81
  146. package/esm5/lib/upload/public-api.js +0 -15
  147. package/esm5/lib/upload/services/validation-messages.service.js +0 -47
  148. package/esm5/lib/upload/types/upload.types.js +0 -48
  149. package/esm5/lib/upload/upload.conf.js +0 -21
  150. package/esm5/lib/upload/upload.module.js +0 -71
  151. package/esm5/lib/wysiwyg/components/wysiwyg/wysiwyg.component.js +0 -199
  152. package/esm5/lib/wysiwyg/public-api.js +0 -9
  153. package/esm5/lib/wysiwyg/wysiwyg.conf.js +0 -24
  154. package/esm5/lib/wysiwyg/wysiwyg.module.js +0 -33
  155. package/esm5/public-api.js +0 -14
  156. package/fesm2015/acpaas-ui-ngx-forms.js +0 -3079
  157. package/fesm2015/acpaas-ui-ngx-forms.js.map +0 -1
  158. package/fesm5/acpaas-ui-ngx-forms.js +0 -3635
  159. package/fesm5/acpaas-ui-ngx-forms.js.map +0 -1
  160. package/lib/mask/directives/mask.directive.d.ts +0 -8
  161. package/lib/mask/mask.module.d.ts +0 -2
  162. package/lib/mask/public-api.d.ts +0 -2
  163. package/lib/wysiwyg/components/wysiwyg/wysiwyg.component.d.ts +0 -43
  164. package/lib/wysiwyg/public-api.d.ts +0 -3
  165. package/lib/wysiwyg/wysiwyg.conf.d.ts +0 -18
  166. package/lib/wysiwyg/wysiwyg.module.d.ts +0 -2
@@ -1,514 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/range-slider/components/range-slider/range-slider.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, ElementRef, forwardRef, HostBinding, HostListener, Input } from '@angular/core';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
- var RangeSliderComponent = /** @class */ (function () {
9
- function RangeSliderComponent(elRef) {
10
- this.elRef = elRef;
11
- this.coreBranding = true;
12
- this.min = 0;
13
- this.max = 100;
14
- this.minimalDistance = 1;
15
- this.step = 0;
16
- this.labelBefore = '';
17
- this.labelAfter = '';
18
- this.start = 0;
19
- this.end = false;
20
- this.steps = [];
21
- this.active = null;
22
- this.isDisabled = false;
23
- this.hasFocus = false;
24
- this.click = false;
25
- this.propagateChange = (/**
26
- * @param {?} value
27
- * @return {?}
28
- */
29
- function (value) {
30
- });
31
- }
32
- Object.defineProperty(RangeSliderComponent.prototype, "disabledClass", {
33
- get: /**
34
- * @return {?}
35
- */
36
- function () {
37
- return this.isDisabled;
38
- },
39
- enumerable: true,
40
- configurable: true
41
- });
42
- /**
43
- * @return {?}
44
- */
45
- RangeSliderComponent.prototype.ngOnInit = /**
46
- * @return {?}
47
- */
48
- function () {
49
- if (this.step > 0) {
50
- for (var i = 0; i <= this.max; i += Number(this.step)) {
51
- this.steps.push(i);
52
- }
53
- }
54
- this.startPercentage = this.startToPercentage();
55
- if (this.end) {
56
- this.endPercentage = this.endToPercentage();
57
- }
58
- };
59
- /**
60
- * @param {?} value
61
- * @return {?}
62
- */
63
- RangeSliderComponent.prototype.writeValue = /**
64
- * @param {?} value
65
- * @return {?}
66
- */
67
- function (value) {
68
- if (value && value.start) {
69
- this.start = value.start;
70
- }
71
- else if (!isNaN(value) && value !== '') {
72
- this.start = Number(value);
73
- }
74
- else {
75
- this.setStart(Number(this.min));
76
- }
77
- this.startPercentage = this.startToPercentage();
78
- if (value && value.end) {
79
- this.end = value.end;
80
- this.endPercentage = this.endToPercentage();
81
- }
82
- };
83
- /**
84
- * @return {?}
85
- */
86
- RangeSliderComponent.prototype.registerOnTouched = /**
87
- * @return {?}
88
- */
89
- function () {
90
- };
91
- /**
92
- * @param {?} fn
93
- * @return {?}
94
- */
95
- RangeSliderComponent.prototype.registerOnChange = /**
96
- * @param {?} fn
97
- * @return {?}
98
- */
99
- function (fn) {
100
- this.propagateChange = fn;
101
- };
102
- /**
103
- * @param {?} isDisabled
104
- * @return {?}
105
- */
106
- RangeSliderComponent.prototype.setDisabledState = /**
107
- * @param {?} isDisabled
108
- * @return {?}
109
- */
110
- function (isDisabled) {
111
- this.isDisabled = isDisabled;
112
- };
113
- /**
114
- * @param {?} handle
115
- * @return {?}
116
- */
117
- RangeSliderComponent.prototype.onMouseDown = /**
118
- * @param {?} handle
119
- * @return {?}
120
- */
121
- function (handle) {
122
- if (this.isDisabled) {
123
- return;
124
- }
125
- this.hasFocus = true;
126
- this.active = handle;
127
- };
128
- /**
129
- * @param {?} hasFocus
130
- * @param {?} element
131
- * @param {?} $event
132
- * @return {?}
133
- */
134
- RangeSliderComponent.prototype.toggleFocus = /**
135
- * @param {?} hasFocus
136
- * @param {?} element
137
- * @param {?} $event
138
- * @return {?}
139
- */
140
- function (hasFocus, element, $event) {
141
- if (this.isDisabled) {
142
- return;
143
- }
144
- $event.preventDefault();
145
- this.hasFocus = hasFocus;
146
- this.active = element;
147
- };
148
- /**
149
- * @param {?} $event
150
- * @return {?}
151
- */
152
- RangeSliderComponent.prototype.onKeyDown = /**
153
- * @param {?} $event
154
- * @return {?}
155
- */
156
- function ($event) {
157
- var _this = this;
158
- if (!this.hasFocus) {
159
- return;
160
- }
161
- /** @type {?} */
162
- var key = $event.keyCode;
163
- /** @type {?} */
164
- var keyCodes = {
165
- end: 35,
166
- home: 36,
167
- left: 37,
168
- up: 38,
169
- right: 39,
170
- down: 40,
171
- };
172
- if (Object.keys(keyCodes).map((/**
173
- * @param {?} e
174
- * @return {?}
175
- */
176
- function (e) { return keyCodes[e]; })).indexOf(key) === -1) {
177
- return;
178
- }
179
- /** @type {?} */
180
- var increment = this.minimalDistance;
181
- if (this.step > 0) {
182
- increment = Number(this.step);
183
- }
184
- /** @type {?} */
185
- var processValue = (/**
186
- * @param {?} dir
187
- * @return {?}
188
- */
189
- function (dir) {
190
- /** @type {?} */
191
- var newValue = (_this.active === 'start' ? _this.start : Number(_this.end));
192
- if (dir === 'up') {
193
- newValue += increment;
194
- }
195
- else {
196
- newValue -= increment;
197
- }
198
- /** @type {?} */
199
- var newPercentage = (newValue - _this.min) / (_this.max - _this.min) * 100;
200
- if (newPercentage > 100) {
201
- newPercentage = 100;
202
- }
203
- if (newPercentage < 0) {
204
- newPercentage = 0;
205
- }
206
- return newPercentage;
207
- });
208
- switch (key) {
209
- case keyCodes.right:
210
- case keyCodes.up:
211
- this.updateHandle(processValue('up'));
212
- $event.preventDefault();
213
- break;
214
- case keyCodes.left:
215
- case keyCodes.down:
216
- this.updateHandle(processValue('down'));
217
- $event.preventDefault();
218
- break;
219
- case keyCodes.end:
220
- this.updateHandle(100);
221
- $event.preventDefault();
222
- break;
223
- case keyCodes.home:
224
- this.updateHandle(0);
225
- $event.preventDefault();
226
- break;
227
- }
228
- };
229
- /**
230
- * @param {?} event
231
- * @return {?}
232
- */
233
- RangeSliderComponent.prototype.onMouseUp = /**
234
- * @param {?} event
235
- * @return {?}
236
- */
237
- function (event) {
238
- if (this.active === 'start') {
239
- this.setStart(this.round(this.start, this.step, 0));
240
- this.startPercentage = this.startToPercentage();
241
- }
242
- if (this.active === 'end') {
243
- this.setEnd(this.round(this.end, this.step, 0));
244
- this.endPercentage = this.endToPercentage();
245
- }
246
- this.click = false;
247
- };
248
- /**
249
- * @param {?} event
250
- * @return {?}
251
- */
252
- RangeSliderComponent.prototype.mouseDown = /**
253
- * @param {?} event
254
- * @return {?}
255
- */
256
- function (event) {
257
- this.click = true;
258
- };
259
- /**
260
- * @param {?} event
261
- * @return {?}
262
- */
263
- RangeSliderComponent.prototype.onMouseMove = /**
264
- * @param {?} event
265
- * @return {?}
266
- */
267
- function (event) {
268
- if (!this.active || !this.click) {
269
- return;
270
- }
271
- event.preventDefault(); // Do not select text while sliding
272
- // Do not select text while sliding
273
- /** @type {?} */
274
- var x = ((/** @type {?} */ (event))).x !== undefined ? ((/** @type {?} */ (event))).x : ((/** @type {?} */ (event))).targetTouches[0].pageX;
275
- /** @type {?} */
276
- var rect = this.elRef.nativeElement.getBoundingClientRect();
277
- /** @type {?} */
278
- var newPercentage = this.calcPercentage(x, rect.width, rect.left);
279
- this.updateHandle(newPercentage);
280
- };
281
- /**
282
- * @param {?} newPercentage
283
- * @return {?}
284
- */
285
- RangeSliderComponent.prototype.updateHandle = /**
286
- * @param {?} newPercentage
287
- * @return {?}
288
- */
289
- function (newPercentage) {
290
- if (this.active === 'start') {
291
- this.startPercentage = newPercentage;
292
- this.setStart(this.percentageToStart());
293
- if (this.minimalDistanceNotRespected()) {
294
- this.setStart(Number(this.end) - Number(this.minimalDistance));
295
- this.startPercentage = this.startToPercentage();
296
- }
297
- }
298
- if (this.active === 'end' && this.endPercentage) {
299
- this.endPercentage = newPercentage;
300
- this.setEnd(this.percentageToEnd());
301
- if (this.minimalDistanceNotRespected()) {
302
- this.setEnd(Number(this.start) + Number(this.minimalDistance));
303
- this.endPercentage = this.endToPercentage();
304
- }
305
- }
306
- };
307
- // ---------- HELPERS ---------- //
308
- // ---------- HELPERS ---------- //
309
- /**
310
- * @param {?} value
311
- * @return {?}
312
- */
313
- RangeSliderComponent.prototype.setStart =
314
- // ---------- HELPERS ---------- //
315
- /**
316
- * @param {?} value
317
- * @return {?}
318
- */
319
- function (value) {
320
- this.start = value;
321
- if (this.end) {
322
- this.propagateChange((/** @type {?} */ ({
323
- start: this.start,
324
- end: this.end,
325
- })));
326
- }
327
- else {
328
- this.propagateChange(this.start);
329
- }
330
- };
331
- /**
332
- * @param {?} value
333
- * @return {?}
334
- */
335
- RangeSliderComponent.prototype.setEnd = /**
336
- * @param {?} value
337
- * @return {?}
338
- */
339
- function (value) {
340
- this.end = value;
341
- this.propagateChange((/** @type {?} */ ({
342
- start: this.start,
343
- end: this.end,
344
- })));
345
- };
346
- /**
347
- * @param {?} n
348
- * @param {?} increment
349
- * @param {?} offset
350
- * @return {?}
351
- */
352
- RangeSliderComponent.prototype.round = /**
353
- * @param {?} n
354
- * @param {?} increment
355
- * @param {?} offset
356
- * @return {?}
357
- */
358
- function (n, increment, offset) {
359
- if (increment > 0) {
360
- return Math.round((n - offset) / increment) * increment + offset;
361
- }
362
- return n;
363
- };
364
- /**
365
- * @return {?}
366
- */
367
- RangeSliderComponent.prototype.startToPercentage = /**
368
- * @return {?}
369
- */
370
- function () {
371
- return Math.round((this.start - this.min) / (this.max - this.min) * 100);
372
- };
373
- /**
374
- * @return {?}
375
- */
376
- RangeSliderComponent.prototype.percentageToStart = /**
377
- * @return {?}
378
- */
379
- function () {
380
- return Math.round((this.startPercentage / 100) * (this.max - this.min) + Number(this.min));
381
- };
382
- /**
383
- * @return {?}
384
- */
385
- RangeSliderComponent.prototype.endToPercentage = /**
386
- * @return {?}
387
- */
388
- function () {
389
- return Math.round((Number(this.end) - this.min) / (this.max - this.min) * 100);
390
- };
391
- /**
392
- * @return {?}
393
- */
394
- RangeSliderComponent.prototype.percentageToEnd = /**
395
- * @return {?}
396
- */
397
- function () {
398
- return Math.round((this.endPercentage / 100) * (this.max - this.min) + Number(this.min));
399
- };
400
- /**
401
- * @return {?}
402
- */
403
- RangeSliderComponent.prototype.minimalDistanceNotRespected = /**
404
- * @return {?}
405
- */
406
- function () {
407
- return this.minimalDistance >= 0 && this.end && this.start > Number(this.end) - this.minimalDistance;
408
- };
409
- /**
410
- * @param {?} mouseX
411
- * @param {?} width
412
- * @param {?} offsetLeft
413
- * @return {?}
414
- */
415
- RangeSliderComponent.prototype.calcPercentage = /**
416
- * @param {?} mouseX
417
- * @param {?} width
418
- * @param {?} offsetLeft
419
- * @return {?}
420
- */
421
- function (mouseX, width, offsetLeft) {
422
- /** @type {?} */
423
- var mousePos = mouseX - offsetLeft;
424
- /** @type {?} */
425
- var newPercentage = Math.round((mousePos / width) * 100);
426
- if (newPercentage > 100) {
427
- newPercentage = 100;
428
- }
429
- if (newPercentage < 0) {
430
- newPercentage = 0;
431
- }
432
- return newPercentage;
433
- };
434
- RangeSliderComponent.decorators = [
435
- { type: Component, args: [{
436
- selector: 'aui-range-slider',
437
- template: "<div class=\"m-range-slider__inner\">\n <div\n [style.left]=\"endPercentage ? startPercentage + '%' : false\"\n [style.width]=\"endPercentage ? endPercentage - startPercentage + '%' : startPercentage + '%'\"\n class=\"m-range-slider__bar\"\n ></div>\n <span\n (blur)=\"toggleFocus(false, null, $event)\"\n (dragexit)=\"onMouseUp($event)\"\n (focus)=\"toggleFocus(true, 'start', $event)\"\n (mousedown)=\"onMouseDown('start')\"\n (touchstart)=\"onMouseDown('start')\"\n [style.left]=\"startPercentage + '%'\"\n class=\"m-range-slider__handle\"\n tabindex=\"0\"\n >\n\t\t<div class=\"m-range-slider__tooltip a-tooltip a-tooltip--primary a-tooltip--top\">\n\t\t\t<p>{{ labelBefore }}{{ start }}{{ labelAfter }}</p>\n\t\t</div>\n\t</span>\n\n <span\n (blur)=\"toggleFocus(false, null, $event)\"\n (dragexit)=\"onMouseUp($event)\"\n (focus)=\"toggleFocus(true, 'end', $event)\"\n (mousedown)=\"onMouseDown('end')\"\n (touchstart)=\"onMouseDown('end')\"\n *ngIf=\"end\"\n [style.left]=\"endPercentage + '%'\"\n class=\"m-range-slider__handle\"\n name=\"m-range-slider__handle__end\"\n tabindex=\"0\"\n >\n\t\t<div class=\"m-range-slider__tooltip a-tooltip a-tooltip--primary a-tooltip--top\">\n\t\t\t<p>{{ labelBefore }}{{ end }}{{ labelAfter }}</p>\n\t\t</div>\n\t</span>\n</div>\n\n<div class=\"m-range-slider__steps\">\n <div *ngFor=\"let step of steps; let i = index\" class=\"m-range-slider__step\"></div>\n</div>\n\n<div class=\"m-range-slider__step-labels\">\n <div *ngFor=\"let step of steps; let i = index\" class=\"m-range-slider__step\">{{ step }}</div>\n</div>\n",
438
- providers: [
439
- {
440
- provide: NG_VALUE_ACCESSOR,
441
- useExisting: forwardRef((/**
442
- * @return {?}
443
- */
444
- function () { return RangeSliderComponent; })),
445
- // tslint:disable-line
446
- multi: true,
447
- },
448
- ],
449
- styles: [":host{display:block;position:relative}:host.is-disabled{cursor:not-allowed}:host.is-disabled .m-range-slider__handle:hover{cursor:not-allowed}"]
450
- }] }
451
- ];
452
- /** @nocollapse */
453
- RangeSliderComponent.ctorParameters = function () { return [
454
- { type: ElementRef }
455
- ]; };
456
- RangeSliderComponent.propDecorators = {
457
- coreBranding: [{ type: HostBinding, args: ['class.m-range-slider',] }],
458
- min: [{ type: Input }],
459
- max: [{ type: Input }],
460
- minimalDistance: [{ type: Input }],
461
- step: [{ type: Input }],
462
- labelBefore: [{ type: Input }],
463
- labelAfter: [{ type: Input }],
464
- disabledClass: [{ type: HostBinding, args: ['class.is-disabled',] }],
465
- onKeyDown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }],
466
- onMouseUp: [{ type: HostListener, args: ['touchend', ['$event'],] }, { type: HostListener, args: ['mouseup', ['$event'],] }],
467
- mouseDown: [{ type: HostListener, args: ['touchstart', ['$event'],] }, { type: HostListener, args: ['mousedown', ['$event'],] }],
468
- onMouseMove: [{ type: HostListener, args: ['touchmove', ['$event'],] }, { type: HostListener, args: ['mousemove', ['$event'],] }]
469
- };
470
- return RangeSliderComponent;
471
- }());
472
- export { RangeSliderComponent };
473
- if (false) {
474
- /** @type {?} */
475
- RangeSliderComponent.prototype.coreBranding;
476
- /** @type {?} */
477
- RangeSliderComponent.prototype.min;
478
- /** @type {?} */
479
- RangeSliderComponent.prototype.max;
480
- /** @type {?} */
481
- RangeSliderComponent.prototype.minimalDistance;
482
- /** @type {?} */
483
- RangeSliderComponent.prototype.step;
484
- /** @type {?} */
485
- RangeSliderComponent.prototype.labelBefore;
486
- /** @type {?} */
487
- RangeSliderComponent.prototype.labelAfter;
488
- /** @type {?} */
489
- RangeSliderComponent.prototype.start;
490
- /** @type {?} */
491
- RangeSliderComponent.prototype.end;
492
- /** @type {?} */
493
- RangeSliderComponent.prototype.steps;
494
- /** @type {?} */
495
- RangeSliderComponent.prototype.startPercentage;
496
- /** @type {?} */
497
- RangeSliderComponent.prototype.endPercentage;
498
- /** @type {?} */
499
- RangeSliderComponent.prototype.active;
500
- /** @type {?} */
501
- RangeSliderComponent.prototype.isDisabled;
502
- /** @type {?} */
503
- RangeSliderComponent.prototype.hasFocus;
504
- /** @type {?} */
505
- RangeSliderComponent.prototype.click;
506
- /** @type {?} */
507
- RangeSliderComponent.prototype.propagateChange;
508
- /**
509
- * @type {?}
510
- * @private
511
- */
512
- RangeSliderComponent.prototype.elRef;
513
- }
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3JhbmdlLXNsaWRlci9jb21wb25lbnRzL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RTtJQWdDRSw4QkFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWpCQSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUN6QyxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUNWLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixRQUFHLEdBQXVCLEtBQUssQ0FBQztRQUNoQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBU2Qsb0JBQWU7Ozs7UUFBRyxVQUFDLEtBQWdDO1FBQzFELENBQUMsRUFBQTtJQVBELENBQUM7SUFFRCxzQkFBc0MsK0NBQWE7Ozs7UUFBbkQ7WUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7Ozs7SUFLTSx1Q0FBUTs7O0lBQWY7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LFVBQVU7OzsrQkFvQjNCLFdBQVcsU0FBQyxzQkFBc0I7c0JBQ2xDLEtBQUs7c0JBQ0wsS0FBSztrQ0FDTCxLQUFLO3VCQUNMLEtBQUs7OEJBQ0wsS0FBSzs2QkFDTCxLQUFLO2dDQWNMLFdBQVcsU0FBQyxtQkFBbUI7NEJBb0UvQixZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBa0UzQyxZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQ25DLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBY2xDLFlBQVksU0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FDckMsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs4QkFLcEMsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUNwQyxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOztJQXNHdkMsMkJBQUM7Q0FBQSxBQXJTRCxJQXFTQztTQXZSWSxvQkFBb0I7OztJQUMvQiw0Q0FBeUQ7O0lBQ3pELG1DQUF3Qjs7SUFDeEIsbUNBQTBCOztJQUMxQiwrQ0FBb0M7O0lBQ3BDLG9DQUF5Qjs7SUFDekIsMkNBQWlDOztJQUNqQywwQ0FBZ0M7O0lBQ2hDLHFDQUFpQjs7SUFDakIsbUNBQXVDOztJQUN2QyxxQ0FBa0I7O0lBQ2xCLCtDQUF1Qjs7SUFDdkIsNkNBQXFCOztJQUNyQixzQ0FBcUI7O0lBQ3JCLDBDQUEwQjs7SUFDMUIsd0NBQXdCOztJQUN4QixxQ0FBcUI7O0lBU3JCLCtDQUNDOzs7OztJQVJXLHFDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBSYW5nZVNsaWRlclJhbmdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmFuZ2Utc2xpZGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXJhbmdlLXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlU2xpZGVyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tLXJhbmdlLXNsaWRlcicpIGNvcmVCcmFuZGluZyA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW4gPSAwO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4ID0gMTAwO1xuICBASW5wdXQoKSBwdWJsaWMgbWluaW1hbERpc3RhbmNlID0gMTtcbiAgQElucHV0KCkgcHVibGljIHN0ZXAgPSAwO1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxCZWZvcmUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGxhYmVsQWZ0ZXIgPSAnJztcbiAgcHVibGljIHN0YXJ0ID0gMDtcbiAgcHVibGljIGVuZDogKG51bWJlciB8IGJvb2xlYW4pID0gZmFsc2U7XG4gIHB1YmxpYyBzdGVwcyA9IFtdO1xuICBwdWJsaWMgc3RhcnRQZXJjZW50YWdlO1xuICBwdWJsaWMgZW5kUGVyY2VudGFnZTtcbiAgcHVibGljIGFjdGl2ZSA9IG51bGw7XG4gIHB1YmxpYyBpc0Rpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBoYXNGb2N1cyA9IGZhbHNlO1xuICBwdWJsaWMgY2xpY2sgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc2FibGVkJykgZ2V0IGRpc2FibGVkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2UgPSAodmFsdWU6IG51bWJlciB8IFJhbmdlU2xpZGVyUmFuZ2UpID0+IHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdGVwID4gMCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gdGhpcy5tYXg7IGkgKz0gTnVtYmVyKHRoaXMuc3RlcCkpIHtcbiAgICAgICAgdGhpcy5zdGVwcy5wdXNoKGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gdGhpcy5zdGFydFRvUGVyY2VudGFnZSgpO1xuXG4gICAgaWYgKHRoaXMuZW5kKSB7XG4gICAgICB0aGlzLmVuZFBlcmNlbnRhZ2UgPSB0aGlzLmVuZFRvUGVyY2VudGFnZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUuc3RhcnQpIHtcbiAgICAgIHRoaXMuc3RhcnQgPSB2YWx1ZS5zdGFydDtcbiAgICB9IGVsc2UgaWYgKCFpc05hTih2YWx1ZSkgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICB0aGlzLnN0YXJ0ID0gTnVtYmVyKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGFydChOdW1iZXIodGhpcy5taW4pKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0UGVyY2VudGFnZSA9IHRoaXMuc3RhcnRUb1BlcmNlbnRhZ2UoKTtcblxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5lbmQpIHtcbiAgICAgIHRoaXMuZW5kID0gdmFsdWUuZW5kO1xuICAgICAgdGhpcy5lbmRQZXJjZW50YWdlID0gdGhpcy5lbmRUb1BlcmNlbnRhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlRG93bihoYW5kbGUpIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5hY3RpdmUgPSBoYW5kbGU7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRm9jdXMoaGFzRm9jdXMsIGVsZW1lbnQsICRldmVudCkge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmhhc0ZvY3VzID0gaGFzRm9jdXM7XG4gICAgdGhpcy5hY3RpdmUgPSBlbGVtZW50O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleURvd24oJGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gJGV2ZW50LmtleUNvZGU7XG4gICAgY29uc3Qga2V5Q29kZXMgPSB7XG4gICAgICBlbmQ6IDM1LFxuICAgICAgaG9tZTogMzYsXG4gICAgICBsZWZ0OiAzNyxcbiAgICAgIHVwOiAzOCxcbiAgICAgIHJpZ2h0OiAzOSxcbiAgICAgIGRvd246IDQwLFxuICAgIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoa2V5Q29kZXMpLm1hcChlID0+IGtleUNvZGVzW2VdKS5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBpbmNyZW1lbnQgPSB0aGlzLm1pbmltYWxEaXN0YW5jZTtcblxuICAgIGlmICh0aGlzLnN0ZXAgPiAwKSB7XG4gICAgICBpbmNyZW1lbnQgPSBOdW1iZXIodGhpcy5zdGVwKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9jZXNzVmFsdWUgPSAoZGlyKSA9PiB7XG4gICAgICBsZXQgbmV3VmFsdWUgPSAodGhpcy5hY3RpdmUgPT09ICdzdGFydCcgPyB0aGlzLnN0YXJ0IDogTnVtYmVyKHRoaXMuZW5kKSk7XG4gICAgICBpZiAoZGlyID09PSAndXAnKSB7XG4gICAgICAgIG5ld1ZhbHVlICs9IGluY3JlbWVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1ZhbHVlIC09IGluY3JlbWVudDtcbiAgICAgIH1cbiAgICAgIGxldCBuZXdQZXJjZW50YWdlID0gKG5ld1ZhbHVlIC0gdGhpcy5taW4pIC8gKHRoaXMubWF4IC0gdGhpcy5taW4pICogMTAwO1xuXG4gICAgICBpZiAobmV3UGVyY2VudGFnZSA+IDEwMCkge1xuICAgICAgICBuZXdQZXJjZW50YWdlID0gMTAwO1xuICAgICAgfVxuICAgICAgaWYgKG5ld1BlcmNlbnRhZ2UgPCAwKSB7XG4gICAgICAgIG5ld1BlcmNlbnRhZ2UgPSAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ld1BlcmNlbnRhZ2U7XG4gICAgfTtcblxuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlIGtleUNvZGVzLnJpZ2h0OlxuICAgICAgY2FzZSBrZXlDb2Rlcy51cDpcbiAgICAgICAgdGhpcy51cGRhdGVIYW5kbGUocHJvY2Vzc1ZhbHVlKCd1cCcpKTtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBrZXlDb2Rlcy5sZWZ0OlxuICAgICAgY2FzZSBrZXlDb2Rlcy5kb3duOlxuICAgICAgICB0aGlzLnVwZGF0ZUhhbmRsZShwcm9jZXNzVmFsdWUoJ2Rvd24nKSk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2Uga2V5Q29kZXMuZW5kOlxuICAgICAgICB0aGlzLnVwZGF0ZUhhbmRsZSgxMDApO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIGtleUNvZGVzLmhvbWU6XG4gICAgICAgIHRoaXMudXBkYXRlSGFuZGxlKDApO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZVVwKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSAnc3RhcnQnKSB7XG4gICAgICB0aGlzLnNldFN0YXJ0KHRoaXMucm91bmQodGhpcy5zdGFydCwgdGhpcy5zdGVwLCAwKSk7XG4gICAgICB0aGlzLnN0YXJ0UGVyY2VudGFnZSA9IHRoaXMuc3RhcnRUb1BlcmNlbnRhZ2UoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hY3RpdmUgPT09ICdlbmQnKSB7XG4gICAgICB0aGlzLnNldEVuZCh0aGlzLnJvdW5kKHRoaXMuZW5kLCB0aGlzLnN0ZXAsIDApKTtcbiAgICAgIHRoaXMuZW5kUGVyY2VudGFnZSA9IHRoaXMuZW5kVG9QZXJjZW50YWdlKCk7XG4gICAgfVxuICAgIHRoaXMuY2xpY2sgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBtb3VzZURvd24oZXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNobW92ZScsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlIHx8ICF0aGlzLmNsaWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gRG8gbm90IHNlbGVjdCB0ZXh0IHdoaWxlIHNsaWRpbmdcblxuICAgIGNvbnN0IHggPSAoZXZlbnQgYXMgTW91c2VFdmVudCkueCAhPT0gdW5kZWZpbmVkID8gKGV2ZW50IGFzIE1vdXNlRXZlbnQpLnggOiAoZXZlbnQgYXMgVG91Y2hFdmVudCkudGFyZ2V0VG91Y2hlc1swXS5wYWdlWDtcbiAgICBjb25zdCByZWN0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IG5ld1BlcmNlbnRhZ2UgPSB0aGlzLmNhbGNQZXJjZW50YWdlKHgsIHJlY3Qud2lkdGgsIHJlY3QubGVmdCk7XG4gICAgdGhpcy51cGRhdGVIYW5kbGUobmV3UGVyY2VudGFnZSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSGFuZGxlKG5ld1BlcmNlbnRhZ2UpIHtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09ICdzdGFydCcpIHtcbiAgICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gbmV3UGVyY2VudGFnZTtcbiAgICAgIHRoaXMuc2V0U3RhcnQodGhpcy5wZXJjZW50YWdlVG9TdGFydCgpKTtcblxuICAgICAgaWYgKHRoaXMubWluaW1hbERpc3RhbmNlTm90UmVzcGVjdGVkKCkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGFydChOdW1iZXIodGhpcy5lbmQpIC0gTnVtYmVyKHRoaXMubWluaW1hbERpc3RhbmNlKSk7XG4gICAgICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gdGhpcy5zdGFydFRvUGVyY2VudGFnZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gJ2VuZCcgJiYgdGhpcy5lbmRQZXJjZW50YWdlKSB7XG4gICAgICB0aGlzLmVuZFBlcmNlbnRhZ2UgPSBuZXdQZXJjZW50YWdlO1xuICAgICAgdGhpcy5zZXRFbmQodGhpcy5wZXJjZW50YWdlVG9FbmQoKSk7XG5cbiAgICAgIGlmICh0aGlzLm1pbmltYWxEaXN0YW5jZU5vdFJlc3BlY3RlZCgpKSB7XG4gICAgICAgIHRoaXMuc2V0RW5kKE51bWJlcih0aGlzLnN0YXJ0KSArIE51bWJlcih0aGlzLm1pbmltYWxEaXN0YW5jZSkpO1xuICAgICAgICB0aGlzLmVuZFBlcmNlbnRhZ2UgPSB0aGlzLmVuZFRvUGVyY2VudGFnZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0gSEVMUEVSUyAtLS0tLS0tLS0tIC8vXG4gIHB1YmxpYyBzZXRTdGFydCh2YWx1ZSkge1xuICAgIHRoaXMuc3RhcnQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmVuZCkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoe1xuICAgICAgICBzdGFydDogdGhpcy5zdGFydCxcbiAgICAgICAgZW5kOiB0aGlzLmVuZCxcbiAgICAgIH0gYXMgUmFuZ2VTbGlkZXJSYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRFbmQodmFsdWUpIHtcbiAgICB0aGlzLmVuZCA9IHZhbHVlO1xuXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoe1xuICAgICAgc3RhcnQ6IHRoaXMuc3RhcnQsXG4gICAgICBlbmQ6IHRoaXMuZW5kLFxuICAgIH0gYXMgUmFuZ2VTbGlkZXJSYW5nZSk7XG4gIH1cblxuICBwdWJsaWMgcm91bmQobiwgaW5jcmVtZW50LCBvZmZzZXQpIHtcbiAgICBpZiAoaW5jcmVtZW50ID4gMCkge1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQoKG4gLSBvZmZzZXQpIC8gaW5jcmVtZW50KSAqIGluY3JlbWVudCArIG9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFRvUGVyY2VudGFnZSgpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgodGhpcy5zdGFydCAtIHRoaXMubWluKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSAqIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgcGVyY2VudGFnZVRvU3RhcnQoKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHRoaXMuc3RhcnRQZXJjZW50YWdlIC8gMTAwKSAqICh0aGlzLm1heCAtIHRoaXMubWluKSArIE51bWJlcih0aGlzLm1pbikpO1xuICB9XG5cbiAgcHVibGljIGVuZFRvUGVyY2VudGFnZSgpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgoTnVtYmVyKHRoaXMuZW5kKSAtIHRoaXMubWluKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSAqIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgcGVyY2VudGFnZVRvRW5kKCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKCh0aGlzLmVuZFBlcmNlbnRhZ2UgLyAxMDApICogKHRoaXMubWF4IC0gdGhpcy5taW4pICsgTnVtYmVyKHRoaXMubWluKSk7XG4gIH1cblxuICBwdWJsaWMgbWluaW1hbERpc3RhbmNlTm90UmVzcGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLm1pbmltYWxEaXN0YW5jZSA+PSAwICYmIHRoaXMuZW5kICYmIHRoaXMuc3RhcnQgPiBOdW1iZXIodGhpcy5lbmQpIC0gdGhpcy5taW5pbWFsRGlzdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgY2FsY1BlcmNlbnRhZ2UobW91c2VYLCB3aWR0aCwgb2Zmc2V0TGVmdCkge1xuICAgIGNvbnN0IG1vdXNlUG9zID0gbW91c2VYIC0gb2Zmc2V0TGVmdDtcblxuICAgIGxldCBuZXdQZXJjZW50YWdlID0gTWF0aC5yb3VuZCgobW91c2VQb3MgLyB3aWR0aCkgKiAxMDApO1xuXG4gICAgaWYgKG5ld1BlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgIG5ld1BlcmNlbnRhZ2UgPSAxMDA7XG4gICAgfVxuXG4gICAgaWYgKG5ld1BlcmNlbnRhZ2UgPCAwKSB7XG4gICAgICBuZXdQZXJjZW50YWdlID0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3UGVyY2VudGFnZTtcbiAgfVxufVxuIl19
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/range-slider/public-api.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { RangeSliderComponent } from './components/range-slider/range-slider.component';
7
- export { RangeSliderModule } from './range-slider.module';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3JhbmdlLXNsaWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSYW5nZVNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvcmFuZ2Utc2xpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBSYW5nZVNsaWRlclJhbmdlIH0gZnJvbSAnLi90eXBlcy9yYW5nZS1zbGlkZXIudHlwZXMnO1xuZXhwb3J0IHsgUmFuZ2VTbGlkZXJNb2R1bGUgfSBmcm9tICcuL3JhbmdlLXNsaWRlci5tb2R1bGUnO1xuIl19
@@ -1,30 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/range-slider/range-slider.module.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { NgModule } from '@angular/core';
7
- import { CommonModule } from '@angular/common';
8
- import { FormsModule } from '@angular/forms';
9
- import { RangeSliderComponent } from './components/range-slider/range-slider.component';
10
- var RangeSliderModule = /** @class */ (function () {
11
- function RangeSliderModule() {
12
- }
13
- RangeSliderModule.decorators = [
14
- { type: NgModule, args: [{
15
- imports: [
16
- CommonModule,
17
- FormsModule,
18
- ],
19
- declarations: [
20
- RangeSliderComponent,
21
- ],
22
- exports: [
23
- RangeSliderComponent,
24
- ],
25
- },] }
26
- ];
27
- return RangeSliderModule;
28
- }());
29
- export { RangeSliderModule };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXhGO0lBQUE7SUFhQSxDQUFDOztnQkFiQSxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3FCQUNyQjtpQkFDRjs7SUFFRCx3QkFBQztDQUFBLEFBYkQsSUFhQztTQURZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSYW5nZVNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvcmFuZ2Utc2xpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJhbmdlU2xpZGVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmFuZ2VTbGlkZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlU2xpZGVyTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/range-slider/types/range-slider.types.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /**
7
- * @record
8
- */
9
- export function RangeSliderRange() { }
10
- if (false) {
11
- /** @type {?} */
12
- RangeSliderRange.prototype.start;
13
- /** @type {?} */
14
- RangeSliderRange.prototype.end;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjcGFhcy11aS9uZ3gtZm9ybXMvIiwic291cmNlcyI6WyJsaWIvcmFuZ2Utc2xpZGVyL3R5cGVzL3JhbmdlLXNsaWRlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLHNDQUdDOzs7SUFGQyxpQ0FBYzs7SUFDZCwrQkFBWSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VTbGlkZXJSYW5nZSB7XG4gIHN0YXJ0OiBudW1iZXI7XG4gIGVuZDogbnVtYmVyO1xufVxuIl19