@acorex/components 18.7.2 → 18.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/color-palette/lib/color-palette-picker.component.d.ts +3 -3
- package/color-palette/lib/color-palette.module.d.ts +4 -3
- package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +1 -0
- package/conversation/lib/conversation.module.d.ts +2 -2
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -10
- package/esm2022/color-palette/lib/color-palette.component.mjs +2 -2
- package/esm2022/color-palette/lib/color-palette.module.mjs +5 -2
- package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +12 -9
- package/esm2022/conversation/lib/conversation.module.mjs +5 -5
- package/esm2022/range-slider/index.mjs +3 -1
- package/esm2022/range-slider/lib/range-slider.class.mjs +3 -0
- package/esm2022/range-slider/lib/range-slider.component.mjs +429 -6
- package/esm2022/range-slider/lib/range-slider.module.mjs +3 -2
- package/fesm2022/acorex-components-color-palette.mjs +18 -12
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +21 -17
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +434 -8
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/package.json +36 -36
- package/range-slider/index.d.ts +2 -0
- package/range-slider/lib/range-slider.class.d.ts +8 -0
- package/range-slider/lib/range-slider.component.d.ts +98 -2
- package/range-slider/lib/range-slider.module.d.ts +1 -1
@@ -1,23 +1,448 @@
|
|
1
|
-
import {
|
1
|
+
import { MXValueComponent, AXValuableComponent } from '@acorex/components/common';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { Component, NgModule } from '@angular/core';
|
3
|
+
import { inject, NgZone, output, input, model, computed, effect, forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
|
4
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
|
+
import { classes } from 'polytype';
|
6
|
+
import * as i1 from '@angular/common';
|
7
|
+
import { CommonModule } from '@angular/common';
|
8
|
+
|
9
|
+
//import { AXRange } from '@acorex/components/common';
|
4
10
|
|
5
11
|
/**
|
6
12
|
* @category
|
7
13
|
* Range slider for selecting a range of values.
|
8
14
|
*/
|
9
|
-
class AXRangeSliderComponent {
|
15
|
+
class AXRangeSliderComponent extends classes((MXValueComponent)) {
|
16
|
+
//protected AXTooltip = computed(() => {});
|
17
|
+
constructor() {
|
18
|
+
super();
|
19
|
+
this.zone = inject(NgZone);
|
20
|
+
//outputs
|
21
|
+
this.onStart = output();
|
22
|
+
//inputs
|
23
|
+
this.orientation = input('horizontal');
|
24
|
+
this.color = input('primary');
|
25
|
+
this.values = model(this.value);
|
26
|
+
this.mode = input('single');
|
27
|
+
this.min = input(0);
|
28
|
+
this.max = input(100);
|
29
|
+
this.step = input(1);
|
30
|
+
this.snap = input(1);
|
31
|
+
this.tooltipMode = input('end');
|
32
|
+
this.snapMode = input('start');
|
33
|
+
this.hasSnap = input(false);
|
34
|
+
this.hasLable = input(this.hasSnap());
|
35
|
+
this.hasTooltip = input(false);
|
36
|
+
//computed
|
37
|
+
this.height = 0.25;
|
38
|
+
this.range = computed(() => this.max() - this.min());
|
39
|
+
this.isHorizontal = computed(() => this.orientation() === 'horizontal');
|
40
|
+
this.isDual = computed(() => this.mode() === 'dual');
|
41
|
+
this.calculateSnapBar = computed(() => {
|
42
|
+
if (this.hasSnap()) {
|
43
|
+
let array = [];
|
44
|
+
for (let i = this.min(); i < this.max(); i += this.snap()) {
|
45
|
+
array.push(i);
|
46
|
+
}
|
47
|
+
array = [...array, this.max()];
|
48
|
+
if (array[0] < 0) {
|
49
|
+
array = array.map((i) => i + -array[0]).sort((a, b) => a - b);
|
50
|
+
}
|
51
|
+
if (array[0] > 0) {
|
52
|
+
array = array.map((i) => i - array[0]).sort((a, b) => a - b);
|
53
|
+
}
|
54
|
+
return array;
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
return undefined;
|
58
|
+
}
|
59
|
+
});
|
60
|
+
this.calculatePos = computed(() => {
|
61
|
+
if (this.isDual() && this.values()) {
|
62
|
+
return [
|
63
|
+
((this.values()[0] - this.min()) / this.range()) * 100,
|
64
|
+
((this.values()[1] - this.min()) / this.range()) * 100,
|
65
|
+
];
|
66
|
+
}
|
67
|
+
else {
|
68
|
+
return ((this.values() - this.min()) / this.range()) * 100;
|
69
|
+
}
|
70
|
+
});
|
71
|
+
this.choosenHandler = undefined;
|
72
|
+
this.sliderElement = null;
|
73
|
+
this.AXRangeSliderHighlight = computed(() => this.isHorizontal()
|
74
|
+
? {
|
75
|
+
left: this.isDual() ? this.calculatePos()[0] + '%' : this.min() + '%',
|
76
|
+
width: this.isDual()
|
77
|
+
? this.calculatePos()[1] - this.calculatePos()[0] + '%'
|
78
|
+
: this.calculatePos() + '%',
|
79
|
+
}
|
80
|
+
: {
|
81
|
+
height: this.isDual()
|
82
|
+
? this.calculatePos()[1] - this.calculatePos()[0] + '%'
|
83
|
+
: this.calculatePos() + '%',
|
84
|
+
top: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : this.min() + '%',
|
85
|
+
});
|
86
|
+
this.AXRangeSliderHandler1 = computed(() => this.isHorizontal()
|
87
|
+
? {
|
88
|
+
left: this.isDual() ? this.calculatePos()[0] + '%' : this.calculatePos() + '%',
|
89
|
+
}
|
90
|
+
: {
|
91
|
+
top: this.isDual() ? this.calculatePos()[0] + '%' : this.calculatePos() + '%',
|
92
|
+
});
|
93
|
+
this.AXRangeSliderHandler2 = computed(() => this.isHorizontal()
|
94
|
+
? {
|
95
|
+
left: this.calculatePos()[1] + '%',
|
96
|
+
}
|
97
|
+
: {
|
98
|
+
top: this.calculatePos()[1] + '%',
|
99
|
+
});
|
100
|
+
this.AXRangeSliderStep = computed(() => {
|
101
|
+
if (this.isHorizontal()) {
|
102
|
+
switch (this.snapMode()) {
|
103
|
+
case 'both':
|
104
|
+
return { top: '0', height: 8 * this.height + 'rem' };
|
105
|
+
case 'start':
|
106
|
+
return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };
|
107
|
+
case 'end':
|
108
|
+
return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };
|
109
|
+
}
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
switch (this.snapMode()) {
|
113
|
+
case 'both':
|
114
|
+
return { top: '0', width: 8 * this.height + 'rem' };
|
115
|
+
case 'start':
|
116
|
+
return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };
|
117
|
+
case 'end':
|
118
|
+
return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };
|
119
|
+
}
|
120
|
+
}
|
121
|
+
});
|
122
|
+
this.AXRangeLabel = computed(() => {
|
123
|
+
if (this.isHorizontal()) {
|
124
|
+
switch (this.snapMode()) {
|
125
|
+
case 'both':
|
126
|
+
return { top: 6 * this.height + 'rem' };
|
127
|
+
case 'start':
|
128
|
+
return { top: 4 * this.height + 'rem' };
|
129
|
+
case 'end':
|
130
|
+
return { top: -6 * this.height + 'rem' };
|
131
|
+
}
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
switch (this.snapMode()) {
|
135
|
+
case 'both':
|
136
|
+
return { left: 8 * this.height + 'rem' };
|
137
|
+
case 'start':
|
138
|
+
return { left: 4 * this.height + 'rem' };
|
139
|
+
case 'end':
|
140
|
+
return { left: -8 * this.height + 'rem' };
|
141
|
+
}
|
142
|
+
}
|
143
|
+
});
|
144
|
+
effect(() => {
|
145
|
+
this.fixInitializeValues();
|
146
|
+
this.fixChangingMode();
|
147
|
+
}, { allowSignalWrites: true });
|
148
|
+
}
|
149
|
+
ngOnInit() {
|
150
|
+
super.ngOnInit();
|
151
|
+
this.initializeValues();
|
152
|
+
}
|
153
|
+
handleOnStart(event, circle) {
|
154
|
+
this.zone.runOutsideAngular(() => {
|
155
|
+
if (this.disabled)
|
156
|
+
return;
|
157
|
+
event.preventDefault();
|
158
|
+
this.sliderElement = event.target.closest('ax-range-slider');
|
159
|
+
if (this.sliderElement) {
|
160
|
+
this.choosenHandler = circle;
|
161
|
+
const moveListener = (moveEvent) => this.onMove(moveEvent, circle);
|
162
|
+
const endListener = () => this.onEnd(moveListener, endListener);
|
163
|
+
window.addEventListener('mousemove', moveListener);
|
164
|
+
window.addEventListener('mouseup', endListener);
|
165
|
+
window.addEventListener('touchmove', moveListener, { passive: true });
|
166
|
+
window.addEventListener('touchend', endListener);
|
167
|
+
}
|
168
|
+
});
|
169
|
+
}
|
170
|
+
onclickBar(event) {
|
171
|
+
this.sliderElement = event.target.closest('ax-range-slider');
|
172
|
+
this.zone.runOutsideAngular(() => {
|
173
|
+
if (!this.sliderElement || this.disabled)
|
174
|
+
return;
|
175
|
+
const clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
|
176
|
+
const sliderRect = this.sliderElement.getBoundingClientRect();
|
177
|
+
const clickPosition = ((clientX - sliderRect.left) / sliderRect.width) * 100;
|
178
|
+
let newValue = Math.round(this.min() + (clickPosition / 100) * (this.max() - this.min()));
|
179
|
+
newValue = this.calculateStep(newValue);
|
180
|
+
if (this.isDual()) {
|
181
|
+
if (clickPosition < this.calculatePos()[0]) {
|
182
|
+
this.values.set([newValue, this.values()[1]]);
|
183
|
+
this.commitValue(this.values());
|
184
|
+
}
|
185
|
+
else if (clickPosition > this.calculatePos()[1]) {
|
186
|
+
this.values.set([this.values()[0], newValue]);
|
187
|
+
this.commitValue(this.values());
|
188
|
+
}
|
189
|
+
}
|
190
|
+
else {
|
191
|
+
if (clickPosition > this.calculatePos()) {
|
192
|
+
this.values.set(newValue);
|
193
|
+
this.commitValue(this.values());
|
194
|
+
}
|
195
|
+
}
|
196
|
+
this.onStart.emit({
|
197
|
+
component: this,
|
198
|
+
htmlElement: event.target,
|
199
|
+
isUserInteraction: event.isTrusted,
|
200
|
+
data: this.values(),
|
201
|
+
});
|
202
|
+
});
|
203
|
+
}
|
204
|
+
onMove(event, circle) {
|
205
|
+
if (!this.sliderElement || this.readonly)
|
206
|
+
return;
|
207
|
+
const sliderRect = this.sliderElement.getBoundingClientRect();
|
208
|
+
let newValue;
|
209
|
+
if (this.isHorizontal()) {
|
210
|
+
const clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
|
211
|
+
let newLeft = ((clientX - sliderRect.left) / sliderRect.width) * 100;
|
212
|
+
newLeft = Math.max(0, Math.min(newLeft, 100));
|
213
|
+
newValue = Math.round(this.min() + (newLeft / 100) * (this.max() - this.min()));
|
214
|
+
}
|
215
|
+
else {
|
216
|
+
const clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
|
217
|
+
let newLeft = ((clientY - sliderRect.top) / sliderRect.height) * 100;
|
218
|
+
newLeft = Math.max(0, Math.min(newLeft, 100));
|
219
|
+
newValue = Math.round(this.min() + (newLeft / 100) * (this.max() - this.min()));
|
220
|
+
}
|
221
|
+
if (!this.readonly) {
|
222
|
+
if (this.isDual()) {
|
223
|
+
if (circle === 'first') {
|
224
|
+
newValue = Math.max(this.min(), Math.min(newValue, this.values()[1] - this.step()));
|
225
|
+
if (this.step() !== 1)
|
226
|
+
newValue = this.calculateStep(newValue);
|
227
|
+
if (this.values()[0] !== newValue) {
|
228
|
+
this.values.set([newValue, this.values()[1]]);
|
229
|
+
this.commitValue(this.values());
|
230
|
+
}
|
231
|
+
}
|
232
|
+
else {
|
233
|
+
newValue = Math.min(this.max(), Math.max(newValue, this.values()[0] + this.step()));
|
234
|
+
if (this.step() !== 1)
|
235
|
+
newValue = this.calculateStep(newValue);
|
236
|
+
if (this.values()[1] !== newValue) {
|
237
|
+
this.values.set([this.values()[0], newValue]);
|
238
|
+
this.commitValue(this.values());
|
239
|
+
}
|
240
|
+
}
|
241
|
+
}
|
242
|
+
else {
|
243
|
+
newValue = Math.max(this.min(), newValue);
|
244
|
+
if (this.step() !== 1)
|
245
|
+
newValue = this.calculateStep(newValue);
|
246
|
+
if (this.values() !== newValue) {
|
247
|
+
this.values.set(newValue);
|
248
|
+
this.commitValue(newValue);
|
249
|
+
}
|
250
|
+
}
|
251
|
+
}
|
252
|
+
}
|
253
|
+
onWheel(event) {
|
254
|
+
this.zone.runOutsideAngular(() => {
|
255
|
+
event.preventDefault();
|
256
|
+
if ((this.choosenHandler && this.mode() === 'single') || this.readonly)
|
257
|
+
return;
|
258
|
+
let newValue;
|
259
|
+
if (this.isDual()) {
|
260
|
+
if (event.deltaY < 0) {
|
261
|
+
if (this.choosenHandler === 'first') {
|
262
|
+
newValue = this.calculateStep(this.values()[0] + this.step());
|
263
|
+
if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) &&
|
264
|
+
this.values()[0] !== newValue) {
|
265
|
+
this.values.update((old) => [this.calculateStep(old[0] + this.step()), old[1]]);
|
266
|
+
}
|
267
|
+
}
|
268
|
+
else {
|
269
|
+
newValue = this.calculateStep(this.values()[1] + this.step());
|
270
|
+
if (newValue <= this.max() && this.values()[1] !== newValue) {
|
271
|
+
this.values.update((old) => [old[0], this.calculateStep(old[1] + this.step())]);
|
272
|
+
}
|
273
|
+
}
|
274
|
+
}
|
275
|
+
else {
|
276
|
+
if (this.choosenHandler === 'first') {
|
277
|
+
newValue = this.calculateStep(this.values()[0] - this.step());
|
278
|
+
if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) &&
|
279
|
+
this.values() !== newValue) {
|
280
|
+
this.values.update((old) => [this.calculateStep(old[0] - this.step()), old[1]]);
|
281
|
+
}
|
282
|
+
}
|
283
|
+
else {
|
284
|
+
newValue = this.calculateStep(this.values()[1] - this.step());
|
285
|
+
if (this.checkValues(newValue, this.choosenHandler, this.values()[0]) &&
|
286
|
+
this.values()[1] !== newValue) {
|
287
|
+
this.values.update((old) => [old[0], this.calculateStep(old[1] - this.step())]);
|
288
|
+
}
|
289
|
+
}
|
290
|
+
}
|
291
|
+
}
|
292
|
+
else {
|
293
|
+
if (event.deltaY < 0) {
|
294
|
+
if (this.checkValue(this.calculateStep(this.values() + this.step()))) {
|
295
|
+
this.values.update((old) => this.calculateStep(old + this.step()));
|
296
|
+
}
|
297
|
+
}
|
298
|
+
else {
|
299
|
+
if (this.checkValue(this.calculateStep(this.values() - this.step()))) {
|
300
|
+
this.values.update((old) => this.calculateStep(old - this.step()));
|
301
|
+
}
|
302
|
+
}
|
303
|
+
}
|
304
|
+
});
|
305
|
+
}
|
306
|
+
onEnd(moveListener, endListener) {
|
307
|
+
window.removeEventListener('mousemove', moveListener);
|
308
|
+
window.removeEventListener('mouseup', endListener);
|
309
|
+
window.removeEventListener('touchmove', moveListener);
|
310
|
+
window.removeEventListener('touchend', endListener);
|
311
|
+
this.sliderElement = null;
|
312
|
+
}
|
313
|
+
initializeValues() {
|
314
|
+
this.fixInitializeUndefined();
|
315
|
+
this.fixInitializeValues();
|
316
|
+
this.fixInitializeStep();
|
317
|
+
}
|
318
|
+
fixInitializeUndefined() {
|
319
|
+
if (typeof this.values() === 'undefined') {
|
320
|
+
if (this.isDual()) {
|
321
|
+
this.values.set([this.min(), this.max()]);
|
322
|
+
}
|
323
|
+
else {
|
324
|
+
this.values.set(this.min());
|
325
|
+
}
|
326
|
+
this.commitValue(this.values());
|
327
|
+
}
|
328
|
+
}
|
329
|
+
fixInitializeValues() {
|
330
|
+
//swap value
|
331
|
+
if (this.isDual() && this.values()[0] > this.values()[1]) {
|
332
|
+
this.values.set([this.values()[1], this.values()[0]]);
|
333
|
+
this.commitValue(this.values());
|
334
|
+
}
|
335
|
+
//not in range
|
336
|
+
if (typeof this.values() === 'number' && !this.checkValue(this.values())) {
|
337
|
+
this.values.set(this.min());
|
338
|
+
this.commitValue(this.values());
|
339
|
+
}
|
340
|
+
else if (typeof this.values() !== 'number' &&
|
341
|
+
!this.checkValues(this.values()[0], 'first', this.values()[1])) {
|
342
|
+
this.values.set([this.min(), this.max()]);
|
343
|
+
this.commitValue(this.values());
|
344
|
+
}
|
345
|
+
}
|
346
|
+
fixInitializeStep() {
|
347
|
+
if (this.step() !== 1) {
|
348
|
+
if (this.isDual()) {
|
349
|
+
this.values.update((old) => [this.calculateStep(old[0]), this.calculateStep(old[1])]);
|
350
|
+
this.commitValue(this.values());
|
351
|
+
if (this.values()[0] === this.values()[1]) {
|
352
|
+
this.values.update((old) => [this.calculateStep(old[0]), this.calculateStep(old[1]) + this.step()]);
|
353
|
+
this.commitValue(this.values());
|
354
|
+
}
|
355
|
+
}
|
356
|
+
else {
|
357
|
+
this.values.update((old) => this.calculateStep(old));
|
358
|
+
this.commitValue(this.values());
|
359
|
+
}
|
360
|
+
}
|
361
|
+
}
|
362
|
+
fixChangingMode() {
|
363
|
+
if (typeof this.values() === 'number' && this.isDual()) {
|
364
|
+
this.values.set([this.min(), this.max()]);
|
365
|
+
this.commitValue(this.values());
|
366
|
+
}
|
367
|
+
else if (typeof this.values() !== 'number' && !this.isDual()) {
|
368
|
+
this.values.set(this.min());
|
369
|
+
this.commitValue(this.values());
|
370
|
+
}
|
371
|
+
}
|
372
|
+
calculateStep(x) {
|
373
|
+
const roundedValue = Math.round(x / this.step()) * this.step();
|
374
|
+
if (roundedValue > this.max())
|
375
|
+
return this.max();
|
376
|
+
else if (roundedValue < this.min())
|
377
|
+
return this.min();
|
378
|
+
//else if (x >= this.min() && x < this.min() - (this.min() % this.step())) return this.min();
|
379
|
+
else if (x <= this.max() && x > this.max() - (this.max() % this.step()))
|
380
|
+
return this.max();
|
381
|
+
else
|
382
|
+
return roundedValue;
|
383
|
+
}
|
384
|
+
checkValue(x) {
|
385
|
+
if (x >= this.min() && x <= this.max())
|
386
|
+
return true;
|
387
|
+
else
|
388
|
+
return false;
|
389
|
+
}
|
390
|
+
checkValues(value1, y, value2) {
|
391
|
+
if (value1 >= this.min() && value1 <= this.max()) {
|
392
|
+
if (y === 'first') {
|
393
|
+
if (value1 < value2 && value2 <= this.max())
|
394
|
+
return true;
|
395
|
+
else
|
396
|
+
return false;
|
397
|
+
}
|
398
|
+
else {
|
399
|
+
if (value1 > value2 && value2 >= this.min())
|
400
|
+
return true;
|
401
|
+
else
|
402
|
+
return false;
|
403
|
+
}
|
404
|
+
}
|
405
|
+
else
|
406
|
+
return false;
|
407
|
+
}
|
408
|
+
getPercantage(value) {
|
409
|
+
return (value / this.range()) * 100;
|
410
|
+
}
|
411
|
+
get __hostClass() {
|
412
|
+
return [
|
413
|
+
`ax-${this.color()}-solid`,
|
414
|
+
`${this.disabled ? 'ax-state-disabled' : ''}`,
|
415
|
+
`${this.readonly ? 'ax-state-readonly' : ''}`,
|
416
|
+
];
|
417
|
+
}
|
10
418
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
419
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, tooltipMode: { classPropertyName: "tooltipMode", publicName: "tooltipMode", isSignal: true, isRequired: false, transformFunction: null }, snapMode: { classPropertyName: "snapMode", publicName: "snapMode", isSignal: true, isRequired: false, transformFunction: null }, hasSnap: { classPropertyName: "hasSnap", publicName: "hasSnap", isSignal: true, isRequired: false, transformFunction: null }, hasLable: { classPropertyName: "hasLable", publicName: "hasLable", isSignal: true, isRequired: false, transformFunction: null }, hasTooltip: { classPropertyName: "hasTooltip", publicName: "hasTooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onStart: "onStart", values: "valuesChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
|
420
|
+
{ provide: AXValuableComponent, useExisting: AXRangeSliderComponent },
|
421
|
+
{
|
422
|
+
provide: NG_VALUE_ACCESSOR,
|
423
|
+
useExisting: forwardRef(() => AXRangeSliderComponent),
|
424
|
+
multi: true,
|
425
|
+
},
|
426
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-range-slider\" (wheel)=\"onWheel($event)\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onclickBar($event)\" (touchstart)=\"onclickBar($event)\"></div>\n <div class=\"ax-range-slider-highlight\" [ngStyle]=\"AXRangeSliderHighlight()\"></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n (mousedown)=\"handleOnStart($event, 'first')\"\n (touchstart)=\"handleOnStart($event, 'first')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n (mousedown)=\"handleOnStart($event, 'second')\"\n (touchstart)=\"handleOnStart($event, 'second')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"\n isHorizontal() ? { left: getPercantage(item) + '%' } : { top: getPercantage(item) + '%' }\n \"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [":root{--ax-range-slider-base-thickness: .25rem}ax-range-slider{display:flex;align-items:center;justify-content:center;font-size:small}ax-range-slider .ax-range-slider.ax-orientation-horizontal{position:relative;width:100%;height:calc(var(--ax-range-slider-base-thickness) * 4)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-bar{position:absolute;top:50%;left:0;width:100.1%;height:var(--ax-range-slider-base-thickness);transform:translateY(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-bg));cursor:pointer}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-highlight{position:absolute;top:50%;height:calc(var(--ax-range-slider-base-thickness) * 3 / 2);transform:translateY(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler{position:absolute;top:50%;width:calc(var(--ax-range-slider-base-thickness) * 6);height:calc(var(--ax-range-slider-base-thickness) * 6);z-index:20;background-color:rgb(var(--ax-range-slider-fg));border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);transition:box-shadow .1s linear}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler:hover{box-shadow:var(--tw-ring-inset) 0 0 0 calc(.6rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler:active{box-shadow:var(--tw-ring-inset) 0 0 0 calc(.6rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-tooltip{position:absolute;left:calc(var(--ax-range-slider-base-thickness) * 2.8);top:calc(var(--ax-range-slider-base-thickness) * -2);background-color:rgb(var(--ax-range-slider-fg));color:rgb(var(--ax-range-tooltip-text));padding:5px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,-125%)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-tooltip:after{content:\"\";position:absolute;top:calc(var(--ax-range-slider-base-thickness) * 7);left:50%;transform:translate(-50%);border-width:.5rem;border-style:solid;border-color:rgb(var(--ax-range-slider-fg)) transparent transparent transparent}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step{position:absolute;display:flex;flex-direction:row;width:100%;z-index:10}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step .ax-range-slider-steps{position:absolute;border-left:calc(var(--ax-range-slider-base-thickness) / 2) solid rgb(var(--ax-color-border-default));height:50%}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step .ax-range-slider-steps .ax-range-slider-label{position:relative;text-align:center;top:calc(var(--ax-range-slider-base-thickness) * 2);left:-50%}ax-range-slider .ax-range-slider.ax-orientation-vertical{position:relative;width:calc(var(--ax-range-slider-base-thickness) * 4);height:100%}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-bar{position:absolute;top:0;left:50%;width:var(--ax-range-slider-base-thickness);height:100.1%;transform:translate(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-bg));cursor:pointer}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-highlight{position:absolute;left:50%;width:calc(var(--ax-range-slider-base-thickness) * 3 / 2);transform:translate(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-handler{position:absolute;left:50%;width:calc(var(--ax-range-slider-base-thickness) * 6);height:calc(var(--ax-range-slider-base-thickness) * 6);z-index:20;background-color:rgb(var(--ax-range-slider-fg));border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);transition:background-color .2s ease}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-handler:active{border:1px solid transparent;box-shadow:var(--tw-ring-inset) 0 0 0 calc(.5rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-tooltip{position:absolute;top:calc(var(--ax-range-slider-base-thickness) * 8.5);left:calc(var(--ax-range-slider-base-thickness) * -8);background-color:rgb(var(--ax-range-slider-fg));color:rgb(var(--ax-range-tooltip-text));padding:5px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,-125%)}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-tooltip:after{content:\"\";position:absolute;top:50%;left:97%;transform:translateY(-50%);border-width:.5rem;border-style:solid;border-color:transparent transparent transparent rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step{position:absolute;display:flex;flex-direction:column;height:100%;z-index:10}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step .ax-range-slider-steps{position:absolute;width:50%;border-top:calc(var(--ax-range-slider-base-thickness) / 2) solid rgb(var(--ax-color-border-default))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step .ax-range-slider-steps .ax-range-slider-label{position:absolute;left:150%;top:calc(var(--ax-range-slider-base-thickness) * -3)}ax-range-slider.ax-primary-solid{--ax-range-slider-bg: var(--ax-color-primary-200);--ax-range-slider-fg: var(--ax-color-primary-500);--ax-range-tooltip-text: var(--ax-color-primary-fore)}ax-range-slider.ax-secondary-solid{--ax-range-slider-bg: var(--ax-color-secondary-200);--ax-range-slider-fg: var(--ax-color-secondary-500);--ax-range-tooltip-text: var(--ax-color-secondary-fore)}ax-range-slider.ax-success-solid{--ax-range-slider-bg: var(--ax-color-success-200);--ax-range-slider-fg: var(--ax-color-success-500);--ax-range-tooltip-text: var(--ax-color-success-fore)}ax-range-slider.ax-warning-solid{--ax-range-slider-bg: var(--ax-color-warning-200);--ax-range-slider-fg: var(--ax-color-warning-500);--ax-range-tooltip-text: var(--ax-color-warning-fore)}ax-range-slider.ax-danger-solid{--ax-range-slider-bg: var(--ax-color-danger-200);--ax-range-slider-fg: var(--ax-color-danger-500);--ax-range-tooltip-text: var(--ax-color-danger-fore)}ax-range-slider.ax-info-solid{--ax-range-slider-bg: var(--ax-color-info-200);--ax-range-slider-fg: var(--ax-color-info-500);--ax-range-tooltip-text: var(--ax-color-info-fore)}ax-range-slider.ax-state-disabled{opacity:.5;cursor:not-allowed}ax-range-slider.ax-state-readonly{opacity:.75}.ax-dark ax-range-slider.ax-primary-solid{--ax-range-slider-bg: var(--ax-color-primary-700);--ax-range-slider-fg: var(--ax-color-primary-200);--ax-range-tooltip-text: var(--ax-color-primary-fore-tint)}.ax-dark ax-range-slider.ax-secondary-solid{--ax-range-slider-bg: var(--ax-color-secondary-700);--ax-range-slider-fg: var(--ax-color-secondary-200);--ax-range-tooltip-text: var(--ax-color-secondary-fore-tint)}.ax-dark ax-range-slider.ax-success-solid{--ax-range-slider-bg: var(--ax-color-success-700);--ax-range-slider-fg: var(--ax-color-success-200);--ax-range-tooltip-text: var(--ax-color-success-fore-tint)}.ax-dark ax-range-slider.ax-warning-solid{--ax-range-slider-bg: var(--ax-color-warning-700);--ax-range-slider-fg: var(--ax-color-warning-200);--ax-range-tooltip-text: var(--ax-color-warning-fore-tint)}.ax-dark ax-range-slider.ax-danger-solid{--ax-range-slider-bg: var(--ax-color-danger-700);--ax-range-slider-fg: var(--ax-color-danger-200);--ax-range-tooltip-text: var(--ax-color-danger-fore-tint)}.ax-dark ax-range-slider.ax-info-solid{--ax-range-slider-bg: var(--ax-color-info-700);--ax-range-slider-fg: var(--ax-color-info-200);--ax-range-tooltip-text: var(--ax-color-info-fore-tint)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
12
427
|
}
|
13
428
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderComponent, decorators: [{
|
14
429
|
type: Component,
|
15
|
-
args: [{ selector: 'ax-range-slider',
|
16
|
-
|
430
|
+
args: [{ selector: 'ax-range-slider', inputs: ['disabled', 'readonly'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
431
|
+
{ provide: AXValuableComponent, useExisting: AXRangeSliderComponent },
|
432
|
+
{
|
433
|
+
provide: NG_VALUE_ACCESSOR,
|
434
|
+
useExisting: forwardRef(() => AXRangeSliderComponent),
|
435
|
+
multi: true,
|
436
|
+
},
|
437
|
+
], template: "<div class=\"ax-range-slider\" (wheel)=\"onWheel($event)\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onclickBar($event)\" (touchstart)=\"onclickBar($event)\"></div>\n <div class=\"ax-range-slider-highlight\" [ngStyle]=\"AXRangeSliderHighlight()\"></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n (mousedown)=\"handleOnStart($event, 'first')\"\n (touchstart)=\"handleOnStart($event, 'first')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n (mousedown)=\"handleOnStart($event, 'second')\"\n (touchstart)=\"handleOnStart($event, 'second')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"\n isHorizontal() ? { left: getPercantage(item) + '%' } : { top: getPercantage(item) + '%' }\n \"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [":root{--ax-range-slider-base-thickness: .25rem}ax-range-slider{display:flex;align-items:center;justify-content:center;font-size:small}ax-range-slider .ax-range-slider.ax-orientation-horizontal{position:relative;width:100%;height:calc(var(--ax-range-slider-base-thickness) * 4)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-bar{position:absolute;top:50%;left:0;width:100.1%;height:var(--ax-range-slider-base-thickness);transform:translateY(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-bg));cursor:pointer}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-highlight{position:absolute;top:50%;height:calc(var(--ax-range-slider-base-thickness) * 3 / 2);transform:translateY(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler{position:absolute;top:50%;width:calc(var(--ax-range-slider-base-thickness) * 6);height:calc(var(--ax-range-slider-base-thickness) * 6);z-index:20;background-color:rgb(var(--ax-range-slider-fg));border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);transition:box-shadow .1s linear}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler:hover{box-shadow:var(--tw-ring-inset) 0 0 0 calc(.6rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-handler:active{box-shadow:var(--tw-ring-inset) 0 0 0 calc(.6rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-tooltip{position:absolute;left:calc(var(--ax-range-slider-base-thickness) * 2.8);top:calc(var(--ax-range-slider-base-thickness) * -2);background-color:rgb(var(--ax-range-slider-fg));color:rgb(var(--ax-range-tooltip-text));padding:5px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,-125%)}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-tooltip:after{content:\"\";position:absolute;top:calc(var(--ax-range-slider-base-thickness) * 7);left:50%;transform:translate(-50%);border-width:.5rem;border-style:solid;border-color:rgb(var(--ax-range-slider-fg)) transparent transparent transparent}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step{position:absolute;display:flex;flex-direction:row;width:100%;z-index:10}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step .ax-range-slider-steps{position:absolute;border-left:calc(var(--ax-range-slider-base-thickness) / 2) solid rgb(var(--ax-color-border-default));height:50%}ax-range-slider .ax-range-slider.ax-orientation-horizontal .ax-range-slider-step .ax-range-slider-steps .ax-range-slider-label{position:relative;text-align:center;top:calc(var(--ax-range-slider-base-thickness) * 2);left:-50%}ax-range-slider .ax-range-slider.ax-orientation-vertical{position:relative;width:calc(var(--ax-range-slider-base-thickness) * 4);height:100%}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-bar{position:absolute;top:0;left:50%;width:var(--ax-range-slider-base-thickness);height:100.1%;transform:translate(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-bg));cursor:pointer}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-highlight{position:absolute;left:50%;width:calc(var(--ax-range-slider-base-thickness) * 3 / 2);transform:translate(-50%);z-index:20;border-radius:9999rem;background-color:rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-handler{position:absolute;left:50%;width:calc(var(--ax-range-slider-base-thickness) * 6);height:calc(var(--ax-range-slider-base-thickness) * 6);z-index:20;background-color:rgb(var(--ax-range-slider-fg));border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);transition:background-color .2s ease}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-handler:active{border:1px solid transparent;box-shadow:var(--tw-ring-inset) 0 0 0 calc(.5rem + var(--tw-ring-offset-width)) rgba(var(--ax-range-slider-fg),.25)}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-tooltip{position:absolute;top:calc(var(--ax-range-slider-base-thickness) * 8.5);left:calc(var(--ax-range-slider-base-thickness) * -8);background-color:rgb(var(--ax-range-slider-fg));color:rgb(var(--ax-range-tooltip-text));padding:5px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,-125%)}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-tooltip:after{content:\"\";position:absolute;top:50%;left:97%;transform:translateY(-50%);border-width:.5rem;border-style:solid;border-color:transparent transparent transparent rgb(var(--ax-range-slider-fg))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step{position:absolute;display:flex;flex-direction:column;height:100%;z-index:10}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step .ax-range-slider-steps{position:absolute;width:50%;border-top:calc(var(--ax-range-slider-base-thickness) / 2) solid rgb(var(--ax-color-border-default))}ax-range-slider .ax-range-slider.ax-orientation-vertical .ax-range-slider-step .ax-range-slider-steps .ax-range-slider-label{position:absolute;left:150%;top:calc(var(--ax-range-slider-base-thickness) * -3)}ax-range-slider.ax-primary-solid{--ax-range-slider-bg: var(--ax-color-primary-200);--ax-range-slider-fg: var(--ax-color-primary-500);--ax-range-tooltip-text: var(--ax-color-primary-fore)}ax-range-slider.ax-secondary-solid{--ax-range-slider-bg: var(--ax-color-secondary-200);--ax-range-slider-fg: var(--ax-color-secondary-500);--ax-range-tooltip-text: var(--ax-color-secondary-fore)}ax-range-slider.ax-success-solid{--ax-range-slider-bg: var(--ax-color-success-200);--ax-range-slider-fg: var(--ax-color-success-500);--ax-range-tooltip-text: var(--ax-color-success-fore)}ax-range-slider.ax-warning-solid{--ax-range-slider-bg: var(--ax-color-warning-200);--ax-range-slider-fg: var(--ax-color-warning-500);--ax-range-tooltip-text: var(--ax-color-warning-fore)}ax-range-slider.ax-danger-solid{--ax-range-slider-bg: var(--ax-color-danger-200);--ax-range-slider-fg: var(--ax-color-danger-500);--ax-range-tooltip-text: var(--ax-color-danger-fore)}ax-range-slider.ax-info-solid{--ax-range-slider-bg: var(--ax-color-info-200);--ax-range-slider-fg: var(--ax-color-info-500);--ax-range-tooltip-text: var(--ax-color-info-fore)}ax-range-slider.ax-state-disabled{opacity:.5;cursor:not-allowed}ax-range-slider.ax-state-readonly{opacity:.75}.ax-dark ax-range-slider.ax-primary-solid{--ax-range-slider-bg: var(--ax-color-primary-700);--ax-range-slider-fg: var(--ax-color-primary-200);--ax-range-tooltip-text: var(--ax-color-primary-fore-tint)}.ax-dark ax-range-slider.ax-secondary-solid{--ax-range-slider-bg: var(--ax-color-secondary-700);--ax-range-slider-fg: var(--ax-color-secondary-200);--ax-range-tooltip-text: var(--ax-color-secondary-fore-tint)}.ax-dark ax-range-slider.ax-success-solid{--ax-range-slider-bg: var(--ax-color-success-700);--ax-range-slider-fg: var(--ax-color-success-200);--ax-range-tooltip-text: var(--ax-color-success-fore-tint)}.ax-dark ax-range-slider.ax-warning-solid{--ax-range-slider-bg: var(--ax-color-warning-700);--ax-range-slider-fg: var(--ax-color-warning-200);--ax-range-tooltip-text: var(--ax-color-warning-fore-tint)}.ax-dark ax-range-slider.ax-danger-solid{--ax-range-slider-bg: var(--ax-color-danger-700);--ax-range-slider-fg: var(--ax-color-danger-200);--ax-range-tooltip-text: var(--ax-color-danger-fore-tint)}.ax-dark ax-range-slider.ax-info-solid{--ax-range-slider-bg: var(--ax-color-info-700);--ax-range-slider-fg: var(--ax-color-info-200);--ax-range-tooltip-text: var(--ax-color-info-fore-tint)}\n"] }]
|
438
|
+
}], ctorParameters: () => [], propDecorators: { __hostClass: [{
|
439
|
+
type: HostBinding,
|
440
|
+
args: ['class']
|
441
|
+
}] } });
|
17
442
|
|
18
443
|
class AXRangeSliderModule {
|
19
444
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
20
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderModule, declarations: [AXRangeSliderComponent], imports: [CommonModule] }); }
|
445
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderModule, declarations: [AXRangeSliderComponent], imports: [CommonModule], exports: [AXRangeSliderComponent] }); }
|
21
446
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderModule, imports: [CommonModule] }); }
|
22
447
|
}
|
23
448
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRangeSliderModule, decorators: [{
|
@@ -25,6 +450,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
25
450
|
args: [{
|
26
451
|
declarations: [AXRangeSliderComponent],
|
27
452
|
imports: [CommonModule],
|
453
|
+
exports: [AXRangeSliderComponent],
|
28
454
|
}]
|
29
455
|
}] });
|
30
456
|
|
@@ -32,5 +458,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
32
458
|
* Generated bundle index. Do not edit.
|
33
459
|
*/
|
34
460
|
|
35
|
-
export { AXRangeSliderModule };
|
461
|
+
export { AXRangeSliderComponent, AXRangeSliderModule };
|
36
462
|
//# sourceMappingURL=acorex-components-range-slider.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../libs/components/range-slider/src/lib/range-slider.component.ts","../../../../libs/components/range-slider/src/lib/range-slider.component.html","../../../../libs/components/range-slider/src/lib/range-slider.module.ts","../../../../libs/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n/**\n * @category\n * Range slider for selecting a range of values.\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.sass'],\n})\nexport class AXRangeSliderComponent {}\n","<p>test</p>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n declarations: [AXRangeSliderComponent],\n imports: [CommonModule],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAEA;;;AAGG;MAMU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDCXnC,aAAW,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDWE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA;;;MEChB,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAC3B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAEX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAFpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../libs/components/range-slider/src/lib/range-slider.class.ts","../../../../libs/components/range-slider/src/lib/range-slider.component.ts","../../../../libs/components/range-slider/src/lib/range-slider.component.html","../../../../libs/components/range-slider/src/lib/range-slider.module.ts","../../../../libs/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["//import { AXRange } from '@acorex/components/common';\n\nimport { AXEvent } from '@acorex/components/common';\n\nexport interface AXRangeStartEvent extends AXEvent {\n data: any;\n}\nexport type AXRangeSliderValue = number | [number, number] | undefined;\nexport type AXRangeSliderMode = 'single' | 'dual';\nexport type AXRangeSliderSnapMode = 'both' | 'start' | 'end';\nexport type AXRangeSliderTooltipMode = 'start' | 'end';\n","import {\n AXOrientation,\n AXStyleColorType,\n AXValuableComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n NgZone,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXRangeSliderMode,\n AXRangeSliderSnapMode,\n AXRangeSliderTooltipMode,\n AXRangeSliderValue,\n AXRangeStartEvent,\n} from './range-slider.class';\n\n/**\n * @category\n * Range slider for selecting a range of values.\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.scss'],\n inputs: ['disabled', 'readonly'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXRangeSliderComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRangeSliderComponent),\n multi: true,\n },\n ],\n})\nexport class AXRangeSliderComponent extends classes(MXValueComponent<AXRangeSliderValue>) {\n private zone = inject(NgZone);\n //outputs\n onStart = output<AXRangeStartEvent>();\n //inputs\n orientation = input<AXOrientation>('horizontal');\n color = input<AXStyleColorType>('primary');\n values = model<AXRangeSliderValue>(this.value);\n mode = input<AXRangeSliderMode>('single');\n min = input<number>(0);\n max = input<number>(100);\n step = input<number>(1);\n snap = input<number>(1);\n tooltipMode = input<AXRangeSliderTooltipMode>('end');\n snapMode = input<AXRangeSliderSnapMode>('start');\n hasSnap = input(false);\n hasLable = input(this.hasSnap());\n hasTooltip = input(false);\n //computed\n height = 0.25;\n range = computed(() => this.max() - this.min());\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n isDual = computed(() => this.mode() === 'dual');\n\n calculateSnapBar = computed(() => {\n if (this.hasSnap()) {\n let array = [];\n for (let i = this.min(); i < this.max(); i += this.snap()) {\n array.push(i);\n }\n array = [...array, this.max()];\n if (array[0] < 0) {\n array = array.map((i) => i + -array[0]).sort((a, b) => a - b);\n }\n if (array[0] > 0) {\n array = array.map((i) => i - array[0]).sort((a, b) => a - b);\n }\n return array;\n } else {\n return undefined;\n }\n });\n calculatePos = computed<AXRangeSliderValue>(() => {\n if (this.isDual() && this.values()) {\n return [\n ((this.values()[0] - this.min()) / this.range()) * 100,\n ((this.values()[1] - this.min()) / this.range()) * 100,\n ];\n } else {\n return (((this.values() as number) - this.min()) / this.range()) * 100;\n }\n });\n\n private choosenHandler: 'first' | 'second' | undefined = undefined;\n\n private sliderElement: HTMLElement | null = null;\n\n protected AXRangeSliderHighlight = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : this.min() + '%',\n width: this.isDual()\n ? this.calculatePos()[1] - this.calculatePos()[0] + '%'\n : this.calculatePos() + '%',\n }\n : {\n height: this.isDual()\n ? this.calculatePos()[1] - this.calculatePos()[0] + '%'\n : this.calculatePos() + '%',\n top: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : this.min() + '%',\n },\n );\n protected AXRangeSliderHandler1 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n }\n : {\n top: this.isDual() ? this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n },\n );\n protected AXRangeSliderHandler2 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.calculatePos()[1] + '%',\n }\n : {\n top: this.calculatePos()[1] + '%',\n },\n );\n protected AXRangeSliderStep = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', height: 8 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };\n case 'end':\n return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', width: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };\n case 'end':\n return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };\n }\n }\n });\n protected AXRangeLabel = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: 6 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem' };\n case 'end':\n return { top: -6 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { left: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem' };\n case 'end':\n return { left: -8 * this.height + 'rem' };\n }\n }\n });\n //protected AXTooltip = computed(() => {});\n constructor() {\n super();\n effect(\n () => {\n this.fixInitializeValues();\n this.fixChangingMode();\n },\n { allowSignalWrites: true },\n );\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.initializeValues();\n }\n\n handleOnStart(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.zone.runOutsideAngular(() => {\n if (this.disabled) return;\n event.preventDefault();\n this.sliderElement = (event.target as HTMLElement).closest('ax-range-slider') as HTMLElement;\n if (this.sliderElement) {\n this.choosenHandler = circle;\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.onMove(moveEvent, circle);\n const endListener = () => this.onEnd(moveListener, endListener);\n window.addEventListener('mousemove', moveListener);\n window.addEventListener('mouseup', endListener);\n window.addEventListener('touchmove', moveListener, { passive: true });\n window.addEventListener('touchend', endListener);\n }\n });\n }\n onclickBar(event: MouseEvent | TouchEvent) {\n this.sliderElement = (event.target as HTMLElement).closest('ax-range-slider') as HTMLElement;\n this.zone.runOutsideAngular(() => {\n if (!this.sliderElement || this.disabled) return;\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n const sliderRect = this.sliderElement.getBoundingClientRect();\n const clickPosition = ((clientX - sliderRect.left) / sliderRect.width) * 100;\n let newValue = Math.round(this.min() + (clickPosition / 100) * (this.max() - this.min()));\n newValue = this.calculateStep(newValue);\n if (this.isDual()) {\n if (clickPosition < this.calculatePos()[0]) {\n this.values.set([newValue, this.values()[1]]);\n this.commitValue(this.values());\n } else if (clickPosition > this.calculatePos()[1]) {\n this.values.set([this.values()[0], newValue]);\n this.commitValue(this.values());\n }\n } else {\n if (clickPosition > (this.calculatePos() as number)) {\n this.values.set(newValue);\n this.commitValue(this.values());\n }\n }\n this.onStart.emit({\n component: this,\n htmlElement: event.target as HTMLElement,\n isUserInteraction: event.isTrusted,\n data: this.values(),\n });\n });\n }\n onMove(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n if (!this.sliderElement || this.readonly) return;\n const sliderRect = this.sliderElement.getBoundingClientRect();\n let newValue: number;\n if (this.isHorizontal()) {\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n let newLeft = ((clientX - sliderRect.left) / sliderRect.width) * 100;\n newLeft = Math.max(0, Math.min(newLeft, 100));\n newValue = Math.round(this.min() + (newLeft / 100) * (this.max() - this.min()));\n } else {\n const clientY = event instanceof MouseEvent ? event.clientY : (event as TouchEvent).touches[0].clientY;\n let newLeft = ((clientY - sliderRect.top) / sliderRect.height) * 100;\n newLeft = Math.max(0, Math.min(newLeft, 100));\n newValue = Math.round(this.min() + (newLeft / 100) * (this.max() - this.min()));\n }\n if (!this.readonly) {\n if (this.isDual()) {\n if (circle === 'first') {\n newValue = Math.max(this.min(), Math.min(newValue, this.values()[1] - this.step()));\n if (this.step() !== 1) newValue = this.calculateStep(newValue);\n if (this.values()[0] !== newValue) {\n this.values.set([newValue, this.values()[1]]);\n this.commitValue(this.values());\n }\n } else {\n newValue = Math.min(this.max(), Math.max(newValue, this.values()[0] + this.step()));\n if (this.step() !== 1) newValue = this.calculateStep(newValue);\n if (this.values()[1] !== newValue) {\n this.values.set([this.values()[0], newValue]);\n this.commitValue(this.values());\n }\n }\n } else {\n newValue = Math.max(this.min(), newValue);\n if (this.step() !== 1) newValue = this.calculateStep(newValue);\n if (this.values() !== newValue) {\n this.values.set(newValue);\n this.commitValue(newValue);\n }\n }\n }\n }\n onWheel(event: WheelEvent) {\n this.zone.runOutsideAngular(() => {\n event.preventDefault();\n if ((this.choosenHandler && this.mode() === 'single') || this.readonly) return;\n let newValue;\n if (this.isDual()) {\n if (event.deltaY < 0) {\n if (this.choosenHandler === 'first') {\n newValue = this.calculateStep((this.values()[0] as number) + this.step());\n if (\n this.checkValues(newValue, this.choosenHandler, this.values()[1]) &&\n this.values()[0] !== newValue\n ) {\n this.values.update((old) => [this.calculateStep((old[0] as number) + this.step()), old[1]]);\n }\n } else {\n newValue = this.calculateStep((this.values()[1] as number) + this.step());\n if (newValue <= this.max() && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.calculateStep((old[1] as number) + this.step())]);\n }\n }\n } else {\n if (this.choosenHandler === 'first') {\n newValue = this.calculateStep((this.values()[0] as number) - this.step());\n if (\n this.checkValues(newValue, this.choosenHandler, this.values()[1]) &&\n this.values() !== newValue\n ) {\n this.values.update((old) => [this.calculateStep((old[0] as number) - this.step()), old[1]]);\n }\n } else {\n newValue = this.calculateStep((this.values()[1] as number) - this.step());\n if (\n this.checkValues(newValue, this.choosenHandler, this.values()[0]) &&\n this.values()[1] !== newValue\n ) {\n this.values.update((old) => [old[0], this.calculateStep((old[1] as number) - this.step())]);\n }\n }\n }\n } else {\n if (event.deltaY < 0) {\n if (this.checkValue(this.calculateStep((this.values() as number) + this.step()))) {\n this.values.update((old) => this.calculateStep((old as number) + this.step()));\n }\n } else {\n if (this.checkValue(this.calculateStep((this.values() as number) - this.step()))) {\n this.values.update((old) => this.calculateStep((old as number) - this.step()));\n }\n }\n }\n });\n }\n onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n window.removeEventListener('mousemove', moveListener);\n window.removeEventListener('mouseup', endListener);\n window.removeEventListener('touchmove', moveListener);\n window.removeEventListener('touchend', endListener);\n this.sliderElement = null;\n }\n\n initializeValues() {\n this.fixInitializeUndefined();\n this.fixInitializeValues();\n this.fixInitializeStep();\n }\n fixInitializeUndefined() {\n if (typeof this.values() === 'undefined') {\n if (this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else {\n this.values.set(this.min());\n }\n this.commitValue(this.values());\n }\n }\n fixInitializeValues() {\n //swap value\n if (this.isDual() && this.values()[0] > this.values()[1]) {\n this.values.set([this.values()[1], this.values()[0]]);\n this.commitValue(this.values());\n }\n //not in range\n if (typeof this.values() === 'number' && !this.checkValue(this.values() as number)) {\n this.values.set(this.min());\n this.commitValue(this.values());\n } else if (\n typeof this.values() !== 'number' &&\n !this.checkValues(this.values()[0], 'first', this.values()[1])\n ) {\n this.values.set([this.min(), this.max()]);\n this.commitValue(this.values());\n }\n }\n fixInitializeStep() {\n if (this.step() !== 1) {\n if (this.isDual()) {\n this.values.update((old) => [this.calculateStep(old[0]), this.calculateStep(old[1])]);\n this.commitValue(this.values());\n if (this.values()[0] === this.values()[1]) {\n this.values.update((old) => [this.calculateStep(old[0]), this.calculateStep(old[1]) + this.step()]);\n this.commitValue(this.values());\n }\n } else {\n this.values.update((old) => this.calculateStep(old as number));\n this.commitValue(this.values());\n }\n }\n }\n fixChangingMode() {\n if (typeof this.values() === 'number' && this.isDual()) {\n this.values.set([this.min(), this.max()]);\n this.commitValue(this.values());\n } else if (typeof this.values() !== 'number' && !this.isDual()) {\n this.values.set(this.min());\n this.commitValue(this.values());\n }\n }\n calculateStep(x: number): number {\n const roundedValue = Math.round(x / this.step()) * this.step();\n if (roundedValue > this.max()) return this.max();\n else if (roundedValue < this.min()) return this.min();\n //else if (x >= this.min() && x < this.min() - (this.min() % this.step())) return this.min();\n else if (x <= this.max() && x > this.max() - (this.max() % this.step())) return this.max();\n else return roundedValue;\n }\n checkValue(x: number): boolean {\n if (x >= this.min() && x <= this.max()) return true;\n else return false;\n }\n checkValues(value1: number, y: 'first' | 'second', value2: number): boolean {\n if (value1 >= this.min() && value1 <= this.max()) {\n if (y === 'first') {\n if (value1 < value2 && value2 <= this.max()) return true;\n else return false;\n } else {\n if (value1 > value2 && value2 >= this.min()) return true;\n else return false;\n }\n } else return false;\n }\n getPercantage(value: number): number {\n return (value / this.range()) * 100;\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}-solid`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n ];\n }\n}\n","<div class=\"ax-range-slider\" (wheel)=\"onWheel($event)\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onclickBar($event)\" (touchstart)=\"onclickBar($event)\"></div>\n <div class=\"ax-range-slider-highlight\" [ngStyle]=\"AXRangeSliderHighlight()\"></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n (mousedown)=\"handleOnStart($event, 'first')\"\n (touchstart)=\"handleOnStart($event, 'first')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n (mousedown)=\"handleOnStart($event, 'second')\"\n (touchstart)=\"handleOnStart($event, 'second')\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"\n isHorizontal() ? { left: getPercantage(item) + '%' } : { top: getPercantage(item) + '%' }\n \"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n declarations: [AXRangeSliderComponent],\n imports: [CommonModule],\n exports: [AXRangeSliderComponent],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|