@acorex/components 18.10.4 → 18.10.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/esm2022/map/acorex-components-map.mjs +5 -0
  2. package/esm2022/map/index.mjs +3 -0
  3. package/esm2022/map/lib/map.component.mjs +74 -0
  4. package/esm2022/map/lib/map.module.mjs +18 -0
  5. package/esm2022/menu/index.mjs +2 -1
  6. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +5 -18
  7. package/esm2022/menu/lib/menu-item-text/menu-item-text.component.mjs +11 -0
  8. package/esm2022/menu/lib/menu.component.mjs +9 -117
  9. package/esm2022/menu/lib/menu.module.mjs +4 -3
  10. package/esm2022/menu/lib/menu.service.mjs +2 -7
  11. package/esm2022/rate-picker/acorex-components-rate-picker.mjs +5 -0
  12. package/esm2022/rate-picker/index.mjs +3 -0
  13. package/esm2022/rate-picker/lib/calculatePercentage.mjs +45 -0
  14. package/esm2022/rate-picker/lib/rate-picker.component.mjs +184 -0
  15. package/esm2022/rate-picker/lib/rate-picker.module.mjs +18 -0
  16. package/esm2022/time-line/acorex-components-time-line.mjs +5 -0
  17. package/esm2022/time-line/index.mjs +4 -0
  18. package/esm2022/time-line/lib/time-line-item.component.mjs +34 -0
  19. package/esm2022/time-line/lib/time-line.component.mjs +11 -0
  20. package/esm2022/time-line/lib/time-line.module.mjs +19 -0
  21. package/fesm2022/acorex-components-map.mjs +96 -0
  22. package/fesm2022/acorex-components-map.mjs.map +1 -0
  23. package/fesm2022/acorex-components-menu.mjs +24 -141
  24. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  25. package/fesm2022/acorex-components-rate-picker.mjs +250 -0
  26. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -0
  27. package/fesm2022/acorex-components-time-line.mjs +65 -0
  28. package/fesm2022/acorex-components-time-line.mjs.map +1 -0
  29. package/map/README.md +3 -0
  30. package/map/index.d.ts +3 -0
  31. package/map/lib/map.component.d.ts +24 -0
  32. package/map/lib/map.module.d.ts +8 -0
  33. package/menu/index.d.ts +1 -0
  34. package/menu/lib/menu-item/menu-item.component.d.ts +1 -3
  35. package/menu/lib/menu-item-text/menu-item-text.component.d.ts +5 -0
  36. package/menu/lib/menu.component.d.ts +1 -6
  37. package/menu/lib/menu.module.d.ts +9 -8
  38. package/menu/lib/menu.service.d.ts +0 -5
  39. package/package.json +55 -37
  40. package/rate-picker/README.md +3 -0
  41. package/rate-picker/index.d.ts +2 -0
  42. package/rate-picker/lib/calculatePercentage.d.ts +27 -0
  43. package/rate-picker/lib/rate-picker.component.d.ts +69 -0
  44. package/rate-picker/lib/rate-picker.module.d.ts +8 -0
  45. package/time-line/README.md +3 -0
  46. package/time-line/index.d.ts +3 -0
  47. package/time-line/lib/time-line-item.component.d.ts +7 -0
  48. package/time-line/lib/time-line.component.d.ts +5 -0
  49. package/time-line/lib/time-line.module.d.ts +9 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage
3
+ * of the target element's width.
4
+ *
5
+ * @param event - The mouse or touch event to get the pointer position from.
6
+ * @returns The percentage of the event's position relative to the target element's width,
7
+ * or -1 if the event is invalid.
8
+ *
9
+ * @remarks
10
+ * - For `MouseEvent`, it uses the `clientX` property.
11
+ * - For `TouchEvent`, it uses the `clientX` of the first touch point.
12
+ * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * document.addEventListener('click', function(event) {
17
+ * const percentage = getPointerPercentage(event);
18
+ * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);
19
+ * });
20
+ *
21
+ * document.addEventListener('touchstart', function(event) {
22
+ * const percentage = getPointerPercentage(event);
23
+ * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);
24
+ * });
25
+ * ```
26
+ */
27
+ export function getPointerPercentage(event) {
28
+ let clientX;
29
+ if (event instanceof MouseEvent) {
30
+ clientX = event.clientX; // Mouse event uses clientX
31
+ }
32
+ else if (event instanceof TouchEvent && event.touches.length > 0) {
33
+ clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX
34
+ }
35
+ else {
36
+ return -1; // Return -1 for invalid events
37
+ }
38
+ // Use currentTarget to get the bounding box of the element the event listener is attached to
39
+ const rect = event.currentTarget.getBoundingClientRect();
40
+ const clickX = clientX - rect.left; // Calculate X position relative to the element
41
+ const divWidth = rect.width; // Get the width from the bounding box
42
+ const percentage = (clickX / divWidth) * 100; // Calculate percentage
43
+ return percentage;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlUGVyY2VudGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yYXRlLXBpY2tlci9zcmMvbGliL2NhbGN1bGF0ZVBlcmNlbnRhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBOEI7SUFDakUsSUFBSSxPQUFlLENBQUM7SUFFcEIsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQywyQkFBMkI7SUFDdEQsQ0FBQztTQUFNLElBQUksS0FBSyxZQUFZLFVBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyw2Q0FBNkM7SUFDbkYsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsK0JBQStCO0lBQzVDLENBQUM7SUFFRCw2RkFBNkY7SUFDN0YsTUFBTSxJQUFJLEdBQUksS0FBSyxDQUFDLGFBQTZCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMxRSxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLCtDQUErQztJQUNuRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsc0NBQXNDO0lBQ25FLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHVCQUF1QjtJQUVyRSxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBob3Jpem9udGFsIHBvc2l0aW9uIG9mIGEgcG9pbnRlciBldmVudCAobW91c2Ugb3IgdG91Y2gpIGFzIGEgcGVyY2VudGFnZVxuICogb2YgdGhlIHRhcmdldCBlbGVtZW50J3Mgd2lkdGguXG4gKlxuICogQHBhcmFtIGV2ZW50IC0gVGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHRvIGdldCB0aGUgcG9pbnRlciBwb3NpdGlvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGV2ZW50J3MgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRhcmdldCBlbGVtZW50J3Mgd2lkdGgsXG4gKiAgICAgICAgICBvciAtMSBpZiB0aGUgZXZlbnQgaXMgaW52YWxpZC5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBGb3IgYE1vdXNlRXZlbnRgLCBpdCB1c2VzIHRoZSBgY2xpZW50WGAgcHJvcGVydHkuXG4gKiAtIEZvciBgVG91Y2hFdmVudGAsIGl0IHVzZXMgdGhlIGBjbGllbnRYYCBvZiB0aGUgZmlyc3QgdG91Y2ggcG9pbnQuXG4gKiAtIFJldHVybnMgYC0xYCBpZiB0aGUgZXZlbnQgaXMgbmVpdGhlciBhIHZhbGlkIGBNb3VzZUV2ZW50YCBub3IgYSBgVG91Y2hFdmVudGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAqICAgY29uc3QgcGVyY2VudGFnZSA9IGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50KTtcbiAqICAgY29uc29sZS5sb2coYENsaWNrIHBvc2l0aW9uOiAke3BlcmNlbnRhZ2UudG9GaXhlZCgyKX0lIG9mIHRoZSBlbGVtZW50J3Mgd2lkdGhgKTtcbiAqIH0pO1xuICpcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbihldmVudCkge1xuICogICBjb25zdCBwZXJjZW50YWdlID0gZ2V0UG9pbnRlclBlcmNlbnRhZ2UoZXZlbnQpO1xuICogICBjb25zb2xlLmxvZyhgVG91Y2ggcG9zaXRpb246ICR7cGVyY2VudGFnZS50b0ZpeGVkKDIpfSUgb2YgdGhlIGVsZW1lbnQncyB3aWR0aGApO1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IG51bWJlciB7XG4gIGxldCBjbGllbnRYOiBudW1iZXI7XG5cbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xuICAgIGNsaWVudFggPSBldmVudC5jbGllbnRYOyAvLyBNb3VzZSBldmVudCB1c2VzIGNsaWVudFhcbiAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgY2xpZW50WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDsgLy8gVG91Y2ggZXZlbnQgdXNlcyB0aGUgZmlyc3QgdG91Y2gncyBjbGllbnRYXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIC0xOyAvLyBSZXR1cm4gLTEgZm9yIGludmFsaWQgZXZlbnRzXG4gIH1cblxuICAvLyBVc2UgY3VycmVudFRhcmdldCB0byBnZXQgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgZWxlbWVudCB0aGUgZXZlbnQgbGlzdGVuZXIgaXMgYXR0YWNoZWQgdG9cbiAgY29uc3QgcmVjdCA9IChldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY2xpY2tYID0gY2xpZW50WCAtIHJlY3QubGVmdDsgLy8gQ2FsY3VsYXRlIFggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGVsZW1lbnRcbiAgY29uc3QgZGl2V2lkdGggPSByZWN0LndpZHRoOyAvLyBHZXQgdGhlIHdpZHRoIGZyb20gdGhlIGJvdW5kaW5nIGJveFxuICBjb25zdCBwZXJjZW50YWdlID0gKGNsaWNrWCAvIGRpdldpZHRoKSAqIDEwMDsgLy8gQ2FsY3VsYXRlIHBlcmNlbnRhZ2VcblxuICByZXR1cm4gcGVyY2VudGFnZTtcbn1cbiJdfQ==
@@ -0,0 +1,184 @@
1
+ import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';
2
+ import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, HostBinding, inject, input, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { getPointerPercentage } from './calculatePercentage';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * A component for selecting a rating using star icons.
8
+ *
9
+ * This component allows users to pick a rating by clicking or dragging over star icons.
10
+ * It supports rounding options and manages the rating state internally.
11
+ */
12
+ export class AXRatePickerComponent extends MXValueComponent {
13
+ /**
14
+ * Initializes the component and sets up value change subscription.
15
+ */
16
+ constructor() {
17
+ super();
18
+ /** The icon name to use for stars (e.g., 'fa-star'). */
19
+ this.iconName = input('fa-star');
20
+ /** The maximum rating value (e.g., 5 stars). */
21
+ this.max = input(5);
22
+ /** Determines if the rating should be rounded to the nearest integer. */
23
+ this.isRound = input(true);
24
+ /** choosing to have css transition for unchanging value after hover. */
25
+ this.hasTransition = input(true);
26
+ /** The percentage of the current rating value relative to the maximum rating. */
27
+ this.ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);
28
+ /** The current rating value as a signal. */
29
+ this.currentValue = signal(this.max());
30
+ /** State for tracking hover status and previous value. */
31
+ this.prevState = {
32
+ ishover: false,
33
+ previousValue: undefined,
34
+ };
35
+ /** Reference to the container element. */
36
+ this.containerEl = viewChild.required('c');
37
+ /** Reference to the rating element. */
38
+ this.ratingEl = viewChild.required('r');
39
+ /** Renderer for manipulating styles. */
40
+ this.renderer = inject(Renderer2);
41
+ /** Array of rating values from 1 to `max`. */
42
+ this.rates = computed(() => Array(this.max())
43
+ .fill(0)
44
+ .map((_, index) => index + 1));
45
+ effect(() => {
46
+ if (!this.hasTransition()) {
47
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');
48
+ }
49
+ return this.hasTransition();
50
+ });
51
+ this.onValueChanged.subscribe((val) => {
52
+ if (val.value < 0) {
53
+ this.currentValue.set(0);
54
+ console.warn('ax-rate-picker: value cant be negative!');
55
+ }
56
+ else if (val.value > this.max()) {
57
+ this.currentValue.set(this.max());
58
+ console.warn('ax-rate-picker: value cant be more than max!');
59
+ }
60
+ else {
61
+ this.currentValue.set(val.value);
62
+ }
63
+ });
64
+ }
65
+ /**
66
+ * Calculates and updates the rating based on the mouse or touch event.
67
+ *
68
+ * @param event - The mouse or touch event triggering the rating calculation.
69
+ */
70
+ calculateRate(event) {
71
+ if (this.hasTransition()) {
72
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');
73
+ }
74
+ event.preventDefault();
75
+ if (!this.readonly && !this.disabled) {
76
+ const pointerPercentage = getPointerPercentage(event);
77
+ if (pointerPercentage === -1) {
78
+ return console.log('Only support touch and click events.');
79
+ }
80
+ const value = (pointerPercentage / 100) * this.max();
81
+ const finalValue = this.isRound() ? Math.ceil(value) : Number.parseFloat(value.toFixed(2));
82
+ if (finalValue !== this.value) {
83
+ if (this.prevState.ishover === true) {
84
+ this.currentValue.set(finalValue);
85
+ }
86
+ else {
87
+ this.commitValue(finalValue);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Handles mouse enter events to start tracking mouse movements for rating.
94
+ */
95
+ mouseEnter() {
96
+ this.prevState = {
97
+ ishover: true,
98
+ previousValue: this.value,
99
+ };
100
+ if (this.hasTransition()) {
101
+ this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');
102
+ }
103
+ const moveListener = (moveEvent) => this.calculateRate(moveEvent);
104
+ const endListener = () => this.onEnd(moveListener, endListener);
105
+ const container = this.containerEl().nativeElement;
106
+ container.addEventListener('mousemove', moveListener);
107
+ container.addEventListener('mouseup', endListener);
108
+ container.addEventListener('mouseleave', endListener);
109
+ }
110
+ mouseLeave() {
111
+ if (this.hasTransition()) {
112
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');
113
+ }
114
+ }
115
+ /**
116
+ * Cleans up event listeners and restores the previous rating value.
117
+ *
118
+ * @param moveListener - The function to remove for mouse move events.
119
+ * @param endListener - The function to remove for mouse end events.
120
+ */
121
+ onEnd(moveListener, endListener) {
122
+ if (this.hasTransition()) {
123
+ this.renderer.setStyle(this.ratingEl().nativeElement, 'transition', `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`);
124
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');
125
+ }
126
+ this.currentValue.set(this.prevState.previousValue);
127
+ this.prevState = {
128
+ ishover: false,
129
+ previousValue: undefined,
130
+ };
131
+ const container = this.containerEl().nativeElement;
132
+ container.removeEventListener('mousemove', moveListener);
133
+ container.removeEventListener('mouseup', endListener);
134
+ container.removeEventListener('mouseleave', endListener);
135
+ }
136
+ /**
137
+ * Determines if the component is active (i.e., not readonly or disabled).
138
+ */
139
+ get isActive() {
140
+ return !this.readonly && !this.disabled;
141
+ }
142
+ /**
143
+ * Determines if the component is in readonly mode.
144
+ */
145
+ get isReadonly() {
146
+ return this.readonly;
147
+ }
148
+ /**
149
+ * Determines if the component is disabled.
150
+ */
151
+ get isDisabled() {
152
+ return this.disabled;
153
+ }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXRatePickerComponent, selector: "ax-rate-picker", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isRound: { classPropertyName: "isRound", publicName: "isRound", isSignal: true, isRequired: false, transformFunction: null }, hasTransition: { classPropertyName: "hasTransition", publicName: "hasTransition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "this.isActive", "class.readonly": "this.isReadonly", "class.disable": "this.isDisabled" } }, providers: [
156
+ { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
157
+ {
158
+ provide: NG_VALUE_ACCESSOR,
159
+ useExisting: forwardRef(() => AXRatePickerComponent),
160
+ multi: true,
161
+ },
162
+ ], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "ratingEl", first: true, predicate: ["r"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n", styles: [":root{--ax-rate-picker-color: rgba(var(--ax-color-primary-500));--ax-rate-picker-background: rgba(var(--ax-color-neutral-300))}ax-rate-picker.active{cursor:pointer}ax-rate-picker.readonly{opacity:.75}ax-rate-picker.disable{cursor:not-allowed;opacity:.5}ax-rate-picker.ax-sm{font-size:1rem}ax-rate-picker.ax-md{font-size:1.5rem}ax-rate-picker.ax-lg{font-size:2rem}ax-rate-picker.ax-xl{font-size:2.5rem}ax-rate-picker.ax-2xl{font-size:3rem}ax-rate-picker.ax-3xl{font-size:4rem}ax-rate-picker .ax-rate-picker-container{position:relative;width:min-content}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{position:relative;z-index:10;overflow:hidden}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons.ax-rp-active{color:var(--ax-rate-picker-color)}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons.ax-rp-inactive{color:var(--ax-rate-picker-background);position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5}.ax-dark :root{--ax-rate-picker-color: rgba(var(--ax-color-primary-300));--ax-rate-picker-background: rgba(var(--ax-color-neutral-600))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
+ }
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerComponent, decorators: [{
165
+ type: Component,
166
+ args: [{ selector: 'ax-rate-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['readonly', 'disabled'], providers: [
167
+ { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
168
+ {
169
+ provide: NG_VALUE_ACCESSOR,
170
+ useExisting: forwardRef(() => AXRatePickerComponent),
171
+ multi: true,
172
+ },
173
+ ], template: "<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n", styles: [":root{--ax-rate-picker-color: rgba(var(--ax-color-primary-500));--ax-rate-picker-background: rgba(var(--ax-color-neutral-300))}ax-rate-picker.active{cursor:pointer}ax-rate-picker.readonly{opacity:.75}ax-rate-picker.disable{cursor:not-allowed;opacity:.5}ax-rate-picker.ax-sm{font-size:1rem}ax-rate-picker.ax-md{font-size:1.5rem}ax-rate-picker.ax-lg{font-size:2rem}ax-rate-picker.ax-xl{font-size:2.5rem}ax-rate-picker.ax-2xl{font-size:3rem}ax-rate-picker.ax-3xl{font-size:4rem}ax-rate-picker .ax-rate-picker-container{position:relative;width:min-content}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{position:relative;z-index:10;overflow:hidden}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons.ax-rp-active{color:var(--ax-rate-picker-color)}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons.ax-rp-inactive{color:var(--ax-rate-picker-background);position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5}.ax-dark :root{--ax-rate-picker-color: rgba(var(--ax-color-primary-300));--ax-rate-picker-background: rgba(var(--ax-color-neutral-600))}\n"] }]
174
+ }], ctorParameters: () => [], propDecorators: { isActive: [{
175
+ type: HostBinding,
176
+ args: ['class.active']
177
+ }], isReadonly: [{
178
+ type: HostBinding,
179
+ args: ['class.readonly']
180
+ }], isDisabled: [{
181
+ type: HostBinding,
182
+ args: ['class.disable']
183
+ }] } });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU3RDs7Ozs7R0FLRztBQWlCSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQXdCO0lBeUNqRTs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE1Q1Ysd0RBQXdEO1FBQ3hELGFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUIsZ0RBQWdEO1FBQ2hELFFBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFZix5RUFBeUU7UUFDekUsWUFBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0Qix3RUFBd0U7UUFDeEUsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsaUZBQWlGO1FBQ3ZFLG1CQUFjLEdBQUcs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QUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REFvSmdDLFFBQVE7c0JBQXhDLFdBQVc7dUJBQUMsY0FBYztnQkFPUSxVQUFVO3NCQUE1QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPSyxVQUFVO3NCQUEzQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVhYmxlQ29tcG9uZW50LCBNWFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXRQb2ludGVyUGVyY2VudGFnZSB9IGZyb20gJy4vY2FsY3VsYXRlUGVyY2VudGFnZSc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIHJhdGluZyB1c2luZyBzdGFyIGljb25zLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBwaWNrIGEgcmF0aW5nIGJ5IGNsaWNraW5nIG9yIGRyYWdnaW5nIG92ZXIgc3RhciBpY29ucy5cbiAqIEl0IHN1cHBvcnRzIHJvdW5kaW5nIG9wdGlvbnMgYW5kIG1hbmFnZXMgdGhlIHJhdGluZyBzdGF0ZSBpbnRlcm5hbGx5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSYXRlUGlja2VyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFJhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhWYWx1ZUNvbXBvbmVudDxudW1iZXI+IHtcbiAgLyoqIFRoZSBpY29uIG5hbWUgdG8gdXNlIGZvciBzdGFycyAoZS5nLiwgJ2ZhLXN0YXInKS4gKi9cbiAgaWNvbk5hbWUgPSBpbnB1dCgnZmEtc3RhcicpO1xuXG4gIC8qKiBUaGUgbWF4aW11bSByYXRpbmcgdmFsdWUgKGUuZy4sIDUgc3RhcnMpLiAqL1xuICBtYXggPSBpbnB1dCg1KTtcblxuICAvKiogRGV0ZXJtaW5lcyBpZiB0aGUgcmF0aW5nIHNob3VsZCBiZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIuICovXG4gIGlzUm91bmQgPSBpbnB1dCh0cnVlKTtcblxuICAvKiogY2hvb3NpbmcgdG8gaGF2ZSBjc3MgdHJhbnNpdGlvbiBmb3IgdW5jaGFuZ2luZyB2YWx1ZSBhZnRlciBob3Zlci4gKi9cbiAgaGFzVHJhbnNpdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKiBUaGUgcGVyY2VudGFnZSBvZiB0aGUgY3VycmVudCByYXRpbmcgdmFsdWUgcmVsYXRpdmUgdG8gdGhlIG1heGltdW0gcmF0aW5nLiAqL1xuICBwcm90ZWN0ZWQgcmF0ZVBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiBNYXRoLnJvdW5kKCh0aGlzLmN1cnJlbnRWYWx1ZSgpIC8gdGhpcy5tYXgoKSkgKiAxMDAwMCkgLyAxMDApO1xuXG4gIC8qKiBUaGUgY3VycmVudCByYXRpbmcgdmFsdWUgYXMgYSBzaWduYWwuICovXG4gIHByaXZhdGUgY3VycmVudFZhbHVlID0gc2lnbmFsKHRoaXMubWF4KCkpO1xuXG4gIC8qKiBTdGF0ZSBmb3IgdHJhY2tpbmcgaG92ZXIgc3RhdHVzIGFuZCBwcmV2aW91cyB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBwcmV2U3RhdGU6IHsgaXNob3ZlcjogYm9vbGVhbjsgcHJldmlvdXNWYWx1ZT86IG51bWJlciB9ID0ge1xuICAgIGlzaG92ZXI6IGZhbHNlLFxuICAgIHByZXZpb3VzVmFsdWU6IHVuZGVmaW5lZCxcbiAgfTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgY29udGFpbmVyRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2MnKTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSByYXRpbmcgZWxlbWVudC4gKi9cbiAgcmF0aW5nRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ3InKTtcblxuICAvKiogUmVuZGVyZXIgZm9yIG1hbmlwdWxhdGluZyBzdHlsZXMuICovXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqIEFycmF5IG9mIHJhdGluZyB2YWx1ZXMgZnJvbSAxIHRvIGBtYXhgLiAqL1xuICBwcm90ZWN0ZWQgcmF0ZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIEFycmF5KHRoaXMubWF4KCkpXG4gICAgICAuZmlsbCgwKVxuICAgICAgLm1hcCgoXywgaW5kZXgpID0+IGluZGV4ICsgMSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYW5kIHNldHMgdXAgdmFsdWUgY2hhbmdlIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb24nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmhhc1RyYW5zaXRpb24oKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsOiB7IHZhbHVlIH0pID0+IHtcbiAgICAgIGlmICh2YWwudmFsdWUgPCAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCgwKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdheC1yYXRlLXBpY2tlcjogdmFsdWUgY2FudCBiZSBuZWdhdGl2ZSEnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsLnZhbHVlID4gdGhpcy5tYXgoKSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodGhpcy5tYXgoKSk7XG4gICAgICAgIGNvbnNvbGUud2FybignYXgtcmF0ZS1waWNrZXI6IHZhbHVlIGNhbnQgYmUgbW9yZSB0aGFuIG1heCEnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWwudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgYW5kIHVwZGF0ZXMgdGhlIHJhdGluZyBiYXNlZCBvbiB0aGUgbW91c2Ugb3IgdG91Y2ggZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudCB0cmlnZ2VyaW5nIHRoZSByYXRpbmcgY2FsY3VsYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FsY3VsYXRlUmF0ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJyk7XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnJlYWRvbmx5ICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBwb2ludGVyUGVyY2VudGFnZSA9IGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50KTtcbiAgICAgIGlmIChwb2ludGVyUGVyY2VudGFnZSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGNvbnNvbGUubG9nKCdPbmx5IHN1cHBvcnQgdG91Y2ggYW5kIGNsaWNrIGV2ZW50cy4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlID0gKHBvaW50ZXJQZXJjZW50YWdlIC8gMTAwKSAqIHRoaXMubWF4KCk7XG4gICAgICBjb25zdCBmaW5hbFZhbHVlID0gdGhpcy5pc1JvdW5kKCkgPyBNYXRoLmNlaWwodmFsdWUpIDogTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUudG9GaXhlZCgyKSk7XG4gICAgICBpZiAoZmluYWxWYWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5wcmV2U3RhdGUuaXNob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldChmaW5hbFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKGZpbmFsVmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2UgZW50ZXIgZXZlbnRzIHRvIHN0YXJ0IHRyYWNraW5nIG1vdXNlIG1vdmVtZW50cyBmb3IgcmF0aW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIG1vdXNlRW50ZXIoKSB7XG4gICAgdGhpcy5wcmV2U3RhdGUgPSB7XG4gICAgICBpc2hvdmVyOiB0cnVlLFxuICAgICAgcHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSxcbiAgICB9O1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnODAlJyk7XG4gICAgfVxuICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IChtb3ZlRXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLmNhbGN1bGF0ZVJhdGUobW92ZUV2ZW50KTtcbiAgICBjb25zdCBlbmRMaXN0ZW5lciA9ICgpID0+IHRoaXMub25FbmQobW92ZUxpc3RlbmVyLCBlbmRMaXN0ZW5lcik7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJFbCgpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBlbmRMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBlbmRMaXN0ZW5lcik7XG4gIH1cbiAgbW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBDbGVhbnMgdXAgZXZlbnQgbGlzdGVuZXJzIGFuZCByZXN0b3JlcyB0aGUgcHJldmlvdXMgcmF0aW5nIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gbW92ZUxpc3RlbmVyIC0gVGhlIGZ1bmN0aW9uIHRvIHJlbW92ZSBmb3IgbW91c2UgbW92ZSBldmVudHMuXG4gICAqIEBwYXJhbSBlbmRMaXN0ZW5lciAtIFRoZSBmdW5jdGlvbiB0byByZW1vdmUgZm9yIG1vdXNlIGVuZCBldmVudHMuXG4gICAqL1xuICBwcml2YXRlIG9uRW5kKG1vdmVMaXN0ZW5lcjogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZCwgZW5kTGlzdGVuZXI6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMucmF0aW5nRWwoKS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAndHJhbnNpdGlvbicsXG4gICAgICAgIGB3aWR0aCAke3RoaXMubWF4KCkgKiA1MCArIDI1MH1tcyBjdWJpYy1iZXppZXIoMC4yOSwgMC43MiwgMC42OCwgMC44NSlgLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50VmFsdWUuc2V0KHRoaXMucHJldlN0YXRlLnByZXZpb3VzVmFsdWUpO1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogZmFsc2UsXG4gICAgICBwcmV2aW91c1ZhbHVlOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwoKS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgZW5kTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBhY3RpdmUgKGkuZS4sIG5vdCByZWFkb25seSBvciBkaXNhYmxlZCkuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGdldCBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGluIHJlYWRvbmx5IG1vZGUuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgZ2V0IGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlJykgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NcbiAgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1jb250YWluZXJcIlxuICAoY2xpY2spPVwiY2FsY3VsYXRlUmF0ZSgkZXZlbnQpXCJcbiAgKHRvdWNoc3RhcnQpPVwiY2FsY3VsYXRlUmF0ZSgkZXZlbnQpXCJcbiAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgpXCJcbj5cbiAgPGRpdiAjciBjbGFzcz1cImF4LXJhdGUtcGlja2VyLXJhdGluZ1wiIFtzdHlsZS53aWR0aC4lXT1cInJhdGVQZXJjZW50YWdlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbnMgYXgtcnAtYWN0aXZlXCI+XG4gICAgICBAZm9yIChyYXRlIG9mIHJhdGVzKCk7IHRyYWNrIHJhdGUpIHtcbiAgICAgICAgPGkgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29uIGZhLXNvbGlkXCIgW2NsYXNzXT1cImljb25OYW1lKClcIiBbY2xhc3MucG9pbnRlcl09XCIhdGhpcy5yZWFkb25seVwiPjwvaT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29ucyBheC1ycC1pbmFjdGl2ZVwiPlxuICAgIEBmb3IgKHJhdGUgb2YgcmF0ZXMoKTsgdHJhY2sgcmF0ZSkge1xuICAgICAgPGkgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29uIGZhLXNvbGlkXCIgW2NsYXNzXT1cImljb25OYW1lKClcIj48L2k+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { AXRatePickerComponent } from './rate-picker.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXRatePickerModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, declarations: [AXRatePickerComponent], imports: [CommonModule], exports: [AXRatePickerComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXRatePickerComponent],
14
+ imports: [CommonModule],
15
+ exports: [AXRatePickerComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9oRSxNQUFNLE9BQU8sa0JBQWtCOzhHQUFsQixrQkFBa0I7K0dBQWxCLGtCQUFrQixpQkFKZCxxQkFBcUIsYUFDMUIsWUFBWSxhQUNaLHFCQUFxQjsrR0FFcEIsa0JBQWtCLFlBSG5CLFlBQVk7OzJGQUdYLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vcmF0ZS1waWNrZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhSYXRlUGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFJhdGVQaWNrZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJhdGVQaWNrZXJNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtdGltZS1saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtbGluZS9zcmMvYWNvcmV4LWNvbXBvbmVudHMtdGltZS1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './lib/time-line-item.component';
2
+ export * from './lib/time-line.component';
3
+ export * from './lib/time-line.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGltZS1saW5lL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWUtbGluZS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWUtbGluZS5tb2R1bGUnO1xuIl19
@@ -0,0 +1,34 @@
1
+ import { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AXTimeLineItemComponent {
5
+ constructor() {
6
+ this.text = input('');
7
+ this.isCollapsed = signal(false);
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXTimeLineItemComponent, selector: "ax-time-line-item", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11
+ <div class="ax-time-line-header">
12
+ <span class="ax-time-line-text">{{ text() }}</span>
13
+ <span
14
+ class="ax-icon ax-icon-chevron-down ax-collapse-arrow"
15
+ [ngClass]="{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }"
16
+ ></span>
17
+ </div>
18
+ <div class="ax-time-line-content"><ng-content></ng-content></div>
19
+ `, isInline: true, styles: ["ax-time-line-item{padding-bottom:.75rem;display:block}ax-time-line-item .ax-time-line-header{display:flex;justify-content:space-between;align-items:center;padding:0 .75rem}ax-time-line-item .ax-time-line-header .ax-time-line-text{flex:1}ax-time-line-item .ax-time-line-content{padding:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineItemComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'ax-time-line-item', template: `
24
+ <div class="ax-time-line-header">
25
+ <span class="ax-time-line-text">{{ text() }}</span>
26
+ <span
27
+ class="ax-icon ax-icon-chevron-down ax-collapse-arrow"
28
+ [ngClass]="{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }"
29
+ ></span>
30
+ </div>
31
+ <div class="ax-time-line-content"><ng-content></ng-content></div>
32
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["ax-time-line-item{padding-bottom:.75rem;display:block}ax-time-line-item .ax-time-line-header{display:flex;justify-content:space-between;align-items:center;padding:0 .75rem}ax-time-line-item .ax-time-line-header .ax-time-line-text{flex:1}ax-time-line-item .ax-time-line-content{padding:.75rem}\n"] }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1saW5lLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtbGluZS9zcmMvbGliL3RpbWUtbGluZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWtCckcsTUFBTSxPQUFPLHVCQUF1QjtJQWhCcEM7UUFpQkUsU0FBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3Qjs4R0FKWSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwwTEFkeEI7Ozs7Ozs7OztHQVNUOzsyRkFLVSx1QkFBdUI7a0JBaEJuQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQjs7Ozs7Ozs7O0dBU1QsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRpbWUtbGluZS1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtdGltZS1saW5lLWhlYWRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC10aW1lLWxpbmUtdGV4dFwiPnt7IHRleHQoKSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tZG93biBheC1jb2xsYXBzZS1hcnJvd1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJy1yb3RhdGlvbi05MCc6IGlzQ29sbGFwc2VkKCksICdyb3RhdGlvbi05MCc6ICFpc0NvbGxhcHNlZCgpIH1cIlxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtdGltZS1saW5lLWNvbnRlbnRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi90aW1lLWxpbmUtaXRlbS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRpbWVMaW5lSXRlbUNvbXBvbmVudCB7XG4gIHRleHQgPSBpbnB1dCgnJyk7XG5cbiAgaXNDb2xsYXBzZWQgPSBzaWduYWwoZmFsc2UpO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXTimeLineComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXTimeLineComponent, selector: "ax-time-line", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'ax-time-line', template: "<ng-content></ng-content>\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aW1lLWxpbmUvc3JjL2xpYi90aW1lLWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtbGluZS9zcmMvbGliL3RpbWUtbGluZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQixvRENQaEMsNkJBQ0E7OzJGRE1hLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRpbWUtbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLWxpbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lLWxpbmUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUaW1lTGluZUNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { AXTimeLineItemComponent } from './time-line-item.component';
4
+ import { AXTimeLineComponent } from './time-line.component';
5
+ import * as i0 from "@angular/core";
6
+ export class AXTimeLineModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineModule, declarations: [AXTimeLineComponent, AXTimeLineItemComponent], imports: [CommonModule], exports: [AXTimeLineComponent, AXTimeLineItemComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTimeLineModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [AXTimeLineComponent, AXTimeLineItemComponent],
15
+ imports: [CommonModule],
16
+ exports: [AXTimeLineComponent, AXTimeLineItemComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1saW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aW1lLWxpbmUvc3JjL2xpYi90aW1lLWxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU81RCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsRUFBRSx1QkFBdUIsYUFDakQsWUFBWSxhQUNaLG1CQUFtQixFQUFFLHVCQUF1QjsrR0FFM0MsZ0JBQWdCLFlBSGpCLFlBQVk7OzJGQUdYLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQztvQkFDNUQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVGltZUxpbmVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLWxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUaW1lTGluZUNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1saW5lLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FYVGltZUxpbmVDb21wb25lbnQsIEFYVGltZUxpbmVJdGVtQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFRpbWVMaW5lQ29tcG9uZW50LCBBWFRpbWVMaW5lSXRlbUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGltZUxpbmVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,96 @@
1
+ import { AXLeafletService } from '@acorex/cdk/map';
2
+ import * as i0 from '@angular/core';
3
+ import { input, output, viewChild, effect, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
4
+ import { distinctUntilChanged } from 'rxjs/operators';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ class AXMapComponent {
8
+ ngAfterViewInit() {
9
+ this.leaflet = new AXLeafletService(this.mapContainer().nativeElement, { latitude: this.latitude(), longitude: this.longitude() }, this.zoomLevel());
10
+ if (this.markers()) {
11
+ this.leaflet.addMarker(this.markers());
12
+ }
13
+ }
14
+ addMarker(location) {
15
+ this.leaflet.addMarker(location);
16
+ }
17
+ flyTo(location, zoom, setMarker, duration) {
18
+ this.leaflet.flyTo(location, zoom, setMarker, duration);
19
+ }
20
+ constructor() {
21
+ this.zoomLevel = input(13);
22
+ this.latitude = input(51.505);
23
+ this.longitude = input(-0.09);
24
+ this.hasMarker = input(false);
25
+ this.markerPlace = input('topleft');
26
+ this.hasLocator = input(false);
27
+ this.locatePlace = input('bottomright');
28
+ this.markers = input(undefined);
29
+ this.onMarkerAdded = output();
30
+ this.onLocationFound = output();
31
+ this.mapContainer = viewChild('mapContainer');
32
+ effect(() => {
33
+ if (!this.hasLocator()) {
34
+ this.leaflet.removeLocateControl();
35
+ }
36
+ else {
37
+ this.leaflet.addLocateControl(this.locatePlace());
38
+ this.leaflet.onLocationFound
39
+ .pipe(distinctUntilChanged((prev, curr) => prev.latitude === curr.latitude && prev.longitude === curr.longitude))
40
+ .subscribe((location) => {
41
+ this.onLocationFound.emit(location);
42
+ });
43
+ }
44
+ });
45
+ effect(() => {
46
+ if (!this.hasMarker()) {
47
+ this.leaflet.removeDrawControl(this.markerPlace());
48
+ }
49
+ else {
50
+ this.leaflet.addDrawControl();
51
+ this.leaflet.onMarkerAdded.subscribe((location) => {
52
+ this.onMarkerAdded.emit(location);
53
+ });
54
+ }
55
+ });
56
+ effect(() => {
57
+ this.leaflet.setZoomLevel(this.zoomLevel());
58
+ }, {});
59
+ effect(() => {
60
+ this.leaflet.setCenter({
61
+ latitude: this.latitude(),
62
+ longitude: this.longitude(),
63
+ });
64
+ });
65
+ }
66
+ ngOnDestroy() {
67
+ this.leaflet.destroyMap();
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXMapComponent, selector: "ax-map", inputs: { zoomLevel: { classPropertyName: "zoomLevel", publicName: "zoomLevel", isSignal: true, isRequired: false, transformFunction: null }, latitude: { classPropertyName: "latitude", publicName: "latitude", isSignal: true, isRequired: false, transformFunction: null }, longitude: { classPropertyName: "longitude", publicName: "longitude", isSignal: true, isRequired: false, transformFunction: null }, hasMarker: { classPropertyName: "hasMarker", publicName: "hasMarker", isSignal: true, isRequired: false, transformFunction: null }, markerPlace: { classPropertyName: "markerPlace", publicName: "markerPlace", isSignal: true, isRequired: false, transformFunction: null }, hasLocator: { classPropertyName: "hasLocator", publicName: "hasLocator", isSignal: true, isRequired: false, transformFunction: null }, locatePlace: { classPropertyName: "locatePlace", publicName: "locatePlace", isSignal: true, isRequired: false, transformFunction: null }, markers: { classPropertyName: "markers", publicName: "markers", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMarkerAdded: "onMarkerAdded", onLocationFound: "onLocationFound" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #mapContainer class=\"ax-map-container\"></div>\n", styles: [".ax-map-container{height:100%;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMapComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'ax-map', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #mapContainer class=\"ax-map-container\"></div>\n", styles: [".ax-map-container{height:100%;width:100%}\n"] }]
75
+ }], ctorParameters: () => [] });
76
+
77
+ class AXMapModule {
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
79
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMapModule, declarations: [AXMapComponent], imports: [CommonModule], exports: [AXMapComponent] }); }
80
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMapModule, imports: [CommonModule] }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMapModule, decorators: [{
83
+ type: NgModule,
84
+ args: [{
85
+ declarations: [AXMapComponent],
86
+ imports: [CommonModule],
87
+ exports: [AXMapComponent],
88
+ }]
89
+ }] });
90
+
91
+ /**
92
+ * Generated bundle index. Do not edit.
93
+ */
94
+
95
+ export { AXMapComponent, AXMapModule };
96
+ //# sourceMappingURL=acorex-components-map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-map.mjs","sources":["../../../../libs/components/map/src/lib/map.component.ts","../../../../libs/components/map/src/lib/map.component.html","../../../../libs/components/map/src/lib/map.module.ts","../../../../libs/components/map/src/acorex-components-map.ts"],"sourcesContent":["import { AXLeafletService, AXMapControlPlace, AXMapLocation } from '@acorex/cdk/map';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'ax-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMapComponent implements AfterViewInit, OnDestroy {\n zoomLevel = input(13);\n latitude = input(51.505);\n longitude = input(-0.09);\n hasMarker = input(false);\n markerPlace = input<AXMapControlPlace>('topleft');\n hasLocator = input(false);\n locatePlace = input<AXMapControlPlace>('bottomright');\n markers = input<AXMapLocation | AXMapLocation[] | undefined>(undefined);\n onMarkerAdded = output<AXMapLocation>();\n onLocationFound = output<AXMapLocation>();\n\n private mapContainer = viewChild<ElementRef>('mapContainer');\n private leaflet;\n\n ngAfterViewInit() {\n this.leaflet = new AXLeafletService(\n this.mapContainer().nativeElement,\n { latitude: this.latitude(), longitude: this.longitude() },\n this.zoomLevel(),\n );\n if (this.markers()) {\n this.leaflet.addMarker(this.markers());\n }\n }\n\n addMarker(location: AXMapLocation) {\n this.leaflet.addMarker(location);\n }\n\n flyTo(location: AXMapLocation, zoom?: number, setMarker?: boolean, duration?: number) {\n this.leaflet.flyTo(location, zoom, setMarker, duration);\n }\n\n constructor() {\n effect(() => {\n if (!this.hasLocator()) {\n this.leaflet.removeLocateControl();\n } else {\n this.leaflet.addLocateControl(this.locatePlace());\n this.leaflet.onLocationFound\n .pipe(\n distinctUntilChanged(\n (prev: AXMapLocation, curr: AXMapLocation) =>\n prev.latitude === curr.latitude && prev.longitude === curr.longitude,\n ),\n )\n .subscribe((location: AXMapLocation) => {\n this.onLocationFound.emit(location);\n });\n }\n });\n effect(() => {\n if (!this.hasMarker()) {\n this.leaflet.removeDrawControl(this.markerPlace());\n } else {\n this.leaflet.addDrawControl();\n this.leaflet.onMarkerAdded.subscribe((location: AXMapLocation) => {\n this.onMarkerAdded.emit(location);\n });\n }\n });\n effect(() => {\n this.leaflet.setZoomLevel(this.zoomLevel());\n }, {});\n effect(() => {\n this.leaflet.setCenter({\n latitude: this.latitude(),\n longitude: this.longitude(),\n } as AXMapLocation);\n });\n }\n ngOnDestroy(): void {\n this.leaflet.destroyMap();\n }\n}\n","<div #mapContainer class=\"ax-map-container\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXMapComponent } from './map.component';\n\n@NgModule({\n declarations: [AXMapComponent],\n imports: [CommonModule],\n exports: [AXMapComponent],\n})\nexport class AXMapModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}