@acorex/components 22.4.31 → 22.4.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-components-autocomplete.mjs +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +1 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +1 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +1 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +13 -3
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +237 -28
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +175 -43
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +92 -11
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +14 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +214 -20
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +1 -1
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +5 -5
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +25 -6
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-dropdown.d.ts +8 -1
- package/types/acorex-components-notification.d.ts +66 -3
- package/types/acorex-components-otp.d.ts +39 -5
- package/types/acorex-components-paint.d.ts +29 -3
- package/types/acorex-components-phone-box.d.ts +3 -0
- package/types/acorex-components-picker.d.ts +43 -4
- package/types/acorex-components-select-box.d.ts +7 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AXComponent, MXValueComponent } from '@acorex/cdk/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, HostBinding, ViewEncapsulation, Component, viewChild, signal, afterNextRender, effect, forwardRef, NgModule } from '@angular/core';
|
|
3
|
+
import { input, HostBinding, ViewEncapsulation, Component, inject, DestroyRef, viewChild, signal, booleanAttribute, afterNextRender, effect, forwardRef, NgModule } from '@angular/core';
|
|
4
4
|
import { AXCarouselDirective } from '@acorex/cdk/carousel';
|
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
@@ -13,11 +13,11 @@ class AXPickerContainerComponent {
|
|
|
13
13
|
return `${this.customClass()}`;
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXPickerContainerComponent, isStandalone: true, selector: "ax-picker-container", inputs: { customClass: { classPropertyName: "customClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }], ngImport: i0, template: "<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n", styles: ["@layer components{ax-picker-container{display:flex;height:100%;width:100%;flex-direction:column;
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXPickerContainerComponent, isStandalone: true, selector: "ax-picker-container", inputs: { customClass: { classPropertyName: "customClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }], ngImport: i0, template: "<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-container{--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-title-height: 2.25rem;display:flex;height:100%;width:100%;flex-direction:column;overflow:hidden}ax-picker-container .ax-picker-items-container{position:relative;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;flex:1;align-items:stretch;justify-content:center}ax-picker-container .ax-picker-title-container{height:var(--ax-comp-picker-title-height);min-height:var(--ax-comp-picker-title-height);max-height:var(--ax-comp-picker-title-height);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden}ax-picker-container .ax-picker-selection-band{pointer-events:none;position:absolute;inset-inline:calc(var(--spacing, .25rem) * 1);z-index:1;box-sizing:border-box;border-style:var(--tw-border-style);border-width:0px;top:calc(100% / var(--ax-comp-picker-visible-rows) * var(--ax-comp-picker-selection-row-offset));height:calc(100% / var(--ax-comp-picker-visible-rows));border-radius:var(--ax-sys-border-radius-base, .5rem);background-color:rgba(var(--ax-sys-color-lighter-surface));box-shadow:inset 0 0 0 1px rgba(var(--ax-sys-color-border-lighter-surface))}ax-picker-container ax-picker-items{position:relative;z-index:2;min-height:calc(var(--spacing, .25rem) * 0);width:100%;flex:1}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerContainerComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'ax-picker-container', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }], template: "<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n", styles: ["@layer components{ax-picker-container{display:flex;height:100%;width:100%;flex-direction:column;
|
|
20
|
+
args: [{ selector: 'ax-picker-container', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }], template: "<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-container{--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-title-height: 2.25rem;display:flex;height:100%;width:100%;flex-direction:column;overflow:hidden}ax-picker-container .ax-picker-items-container{position:relative;display:flex;min-height:calc(var(--spacing, .25rem) * 0);width:100%;flex:1;align-items:stretch;justify-content:center}ax-picker-container .ax-picker-title-container{height:var(--ax-comp-picker-title-height);min-height:var(--ax-comp-picker-title-height);max-height:var(--ax-comp-picker-title-height);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden}ax-picker-container .ax-picker-selection-band{pointer-events:none;position:absolute;inset-inline:calc(var(--spacing, .25rem) * 1);z-index:1;box-sizing:border-box;border-style:var(--tw-border-style);border-width:0px;top:calc(100% / var(--ax-comp-picker-visible-rows) * var(--ax-comp-picker-selection-row-offset));height:calc(100% / var(--ax-comp-picker-visible-rows));border-radius:var(--ax-sys-border-radius-base, .5rem);background-color:rgba(var(--ax-sys-color-lighter-surface));box-shadow:inset 0 0 0 1px rgba(var(--ax-sys-color-border-lighter-surface))}ax-picker-container ax-picker-items{position:relative;z-index:2;min-height:calc(var(--spacing, .25rem) * 0);width:100%;flex:1}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
21
21
|
}], propDecorators: { customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], __hostClass: [{
|
|
22
22
|
type: HostBinding,
|
|
23
23
|
args: ['class']
|
|
@@ -26,6 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
26
26
|
class AXPickerItemsComponent extends MXValueComponent {
|
|
27
27
|
constructor() {
|
|
28
28
|
super(...arguments);
|
|
29
|
+
this.destroyRef = inject(DestroyRef);
|
|
29
30
|
this.swiperRef = viewChild('c', /* @ts-ignore */
|
|
30
31
|
...(ngDevMode ? [{ debugName: "swiperRef" }] : /* istanbul ignore next */ []));
|
|
31
32
|
this.items = input.required(/* @ts-ignore */
|
|
@@ -44,20 +45,38 @@ class AXPickerItemsComponent extends MXValueComponent {
|
|
|
44
45
|
...(ngDevMode ? [{ debugName: "minValue" }] : /* istanbul ignore next */ []));
|
|
45
46
|
this.maxValue = input(null, /* @ts-ignore */
|
|
46
47
|
...(ngDevMode ? [{ debugName: "maxValue" }] : /* istanbul ignore next */ []));
|
|
48
|
+
/**
|
|
49
|
+
* iOS-style stepped opacity from center (1, 0.8, 0.6 … min 0.2). Wheel scale/tilt is always on.
|
|
50
|
+
*/
|
|
51
|
+
this.fade = input(true, { ...(ngDevMode ? { debugName: "fade" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
47
52
|
this.option = signal({
|
|
48
53
|
direction: 'vertical',
|
|
49
54
|
keyboard: true,
|
|
50
|
-
mousewheel:
|
|
51
|
-
autoHeight:
|
|
55
|
+
mousewheel: false,
|
|
56
|
+
autoHeight: false,
|
|
52
57
|
slidesPerView: 'auto',
|
|
53
58
|
centeredSlides: true,
|
|
54
59
|
slidesPerGroup: 1,
|
|
55
|
-
|
|
60
|
+
spaceBetween: 0,
|
|
61
|
+
freeMode: { enabled: true, sticky: true, momentumRatio: 0.35, momentumBounce: false },
|
|
56
62
|
loop: false,
|
|
63
|
+
watchSlidesProgress: true,
|
|
64
|
+
resistanceRatio: 0.65,
|
|
65
|
+
speed: 280,
|
|
57
66
|
}, /* @ts-ignore */
|
|
58
67
|
...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
|
|
68
|
+
this.wheelHandlersBound = false;
|
|
69
|
+
this.mouseWheelStepBound = false;
|
|
70
|
+
this.mouseWheelDeltaAccumulator = 0;
|
|
71
|
+
this.lastMouseWheelStepAt = 0;
|
|
59
72
|
this.#init = afterNextRender(async () => {
|
|
60
73
|
await this.swiperRef().init(this.option());
|
|
74
|
+
const swiper = this.swiperRef().carousel();
|
|
75
|
+
swiper?.update();
|
|
76
|
+
this.bindWheelHandlers();
|
|
77
|
+
if (swiper) {
|
|
78
|
+
this.bindMouseWheelStep(swiper);
|
|
79
|
+
}
|
|
61
80
|
this.disabledChange.subscribe((e) => {
|
|
62
81
|
if (e) {
|
|
63
82
|
this.swiperRef().carousel().disable();
|
|
@@ -94,8 +113,11 @@ class AXPickerItemsComponent extends MXValueComponent {
|
|
|
94
113
|
}, /* @ts-ignore */
|
|
95
114
|
...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
|
|
96
115
|
this.#effect2 = effect(() => {
|
|
97
|
-
|
|
98
|
-
|
|
116
|
+
const index = this.selectedItemIndex();
|
|
117
|
+
const swiper = this.swiperRef()?.carousel();
|
|
118
|
+
if (swiper && index != null && index >= 0) {
|
|
119
|
+
swiper.slideTo(index);
|
|
120
|
+
requestAnimationFrame(() => this.updateSlideWheelVisuals(swiper));
|
|
99
121
|
}
|
|
100
122
|
}, /* @ts-ignore */
|
|
101
123
|
...(ngDevMode ? [{ debugName: "#effect2" }] : /* istanbul ignore next */ []));
|
|
@@ -108,11 +130,135 @@ class AXPickerItemsComponent extends MXValueComponent {
|
|
|
108
130
|
}
|
|
109
131
|
}, /* @ts-ignore */
|
|
110
132
|
...(ngDevMode ? [{ debugName: "#effect3" }] : /* istanbul ignore next */ []));
|
|
133
|
+
this.#fadeEffect = effect(() => {
|
|
134
|
+
this.fade();
|
|
135
|
+
const swiper = this.swiperRef()?.carousel();
|
|
136
|
+
if (swiper) {
|
|
137
|
+
this.updateSlideWheelVisuals(swiper);
|
|
138
|
+
}
|
|
139
|
+
}, /* @ts-ignore */
|
|
140
|
+
...(ngDevMode ? [{ debugName: "#fadeEffect" }] : /* istanbul ignore next */ []));
|
|
141
|
+
/** @ignore */
|
|
142
|
+
this.hostWheelClass = true;
|
|
111
143
|
}
|
|
144
|
+
static { this.fadeMinOpacity = 0.2; }
|
|
145
|
+
static { this.fadeStep = 0.2; }
|
|
146
|
+
static { this.selectedFontRem = 1.375; }
|
|
147
|
+
static { this.baseFontRem = 1.0625; }
|
|
148
|
+
static { this.minFontRem = 0.8125; }
|
|
149
|
+
static { this.wheelScaleFalloff = 0.07; }
|
|
150
|
+
static { this.wheelMinScale = 0.82; }
|
|
151
|
+
static { this.wheelRotateFactor = 18; }
|
|
152
|
+
static { this.mouseWheelDeltaThreshold = 48; }
|
|
153
|
+
static { this.mouseWheelStepCooldownMs = 140; }
|
|
112
154
|
#init;
|
|
113
155
|
#effect;
|
|
114
156
|
#effect2;
|
|
115
157
|
#effect3;
|
|
158
|
+
#fadeEffect;
|
|
159
|
+
bindWheelHandlers() {
|
|
160
|
+
const swiper = this.swiperRef()?.carousel();
|
|
161
|
+
if (!swiper || this.wheelHandlersBound) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
this.wheelHandlersBound = true;
|
|
165
|
+
const update = () => this.updateSlideWheelVisuals(swiper);
|
|
166
|
+
const events = [
|
|
167
|
+
'progress',
|
|
168
|
+
'setTransition',
|
|
169
|
+
'setTranslate',
|
|
170
|
+
'sliderMove',
|
|
171
|
+
'slideChange',
|
|
172
|
+
'resize',
|
|
173
|
+
'transitionEnd',
|
|
174
|
+
'touchMove',
|
|
175
|
+
];
|
|
176
|
+
for (const event of events) {
|
|
177
|
+
swiper.on(event, update);
|
|
178
|
+
}
|
|
179
|
+
update();
|
|
180
|
+
}
|
|
181
|
+
bindMouseWheelStep(swiper) {
|
|
182
|
+
if (this.mouseWheelStepBound) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.mouseWheelStepBound = true;
|
|
186
|
+
const el = swiper.el;
|
|
187
|
+
const onWheel = (event) => {
|
|
188
|
+
if (this.disabled || this.readonly) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
event.preventDefault();
|
|
192
|
+
event.stopPropagation();
|
|
193
|
+
const now = Date.now();
|
|
194
|
+
this.mouseWheelDeltaAccumulator += event.deltaY;
|
|
195
|
+
if (Math.abs(this.mouseWheelDeltaAccumulator) < AXPickerItemsComponent.mouseWheelDeltaThreshold) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (now - this.lastMouseWheelStepAt < AXPickerItemsComponent.mouseWheelStepCooldownMs) {
|
|
199
|
+
this.mouseWheelDeltaAccumulator = 0;
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const direction = this.mouseWheelDeltaAccumulator > 0 ? 1 : -1;
|
|
203
|
+
this.mouseWheelDeltaAccumulator = 0;
|
|
204
|
+
this.lastMouseWheelStepAt = now;
|
|
205
|
+
const maxIndex = swiper.slides.length - 1;
|
|
206
|
+
const targetIndex = Math.max(0, Math.min(maxIndex, swiper.activeIndex + direction));
|
|
207
|
+
if (targetIndex !== swiper.activeIndex) {
|
|
208
|
+
swiper.slideTo(targetIndex);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
el.addEventListener('wheel', onWheel, { passive: false });
|
|
212
|
+
this.destroyRef.onDestroy(() => el.removeEventListener('wheel', onWheel));
|
|
213
|
+
}
|
|
214
|
+
updateSlideWheelVisuals(swiper) {
|
|
215
|
+
for (const slide of swiper.slides) {
|
|
216
|
+
const slideEl = slide;
|
|
217
|
+
const item = slideEl.querySelector('.ax-picker-item');
|
|
218
|
+
const visual = slideEl.querySelector('.ax-picker-item-visual');
|
|
219
|
+
if (!item || !visual) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
const { offset, progress } = this.getSlideWheelMetrics(swiper, slideEl);
|
|
223
|
+
const rowStep = Math.round(offset);
|
|
224
|
+
const isCenter = offset < 0.15;
|
|
225
|
+
const scale = Math.max(AXPickerItemsComponent.wheelMinScale, 1 - offset * AXPickerItemsComponent.wheelScaleFalloff);
|
|
226
|
+
const rotateX = progress * AXPickerItemsComponent.wheelRotateFactor;
|
|
227
|
+
const fontRem = AXPickerItemsComponent.baseFontRem +
|
|
228
|
+
Math.max(0, AXPickerItemsComponent.selectedFontRem - AXPickerItemsComponent.baseFontRem) *
|
|
229
|
+
Math.max(0, 1 - offset * 0.95);
|
|
230
|
+
visual.style.fontSize = `${Math.max(AXPickerItemsComponent.minFontRem, fontRem)}rem`;
|
|
231
|
+
visual.style.fontWeight = isCenter ? '500' : '400';
|
|
232
|
+
visual.style.transform = `rotateX(${rotateX}deg) scale(${scale})`;
|
|
233
|
+
item.classList.toggle('ax-picker-item-selected', isCenter);
|
|
234
|
+
if (this.fade()) {
|
|
235
|
+
visual.style.opacity = String(this.opacityForRowDistance(rowStep));
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
visual.style.opacity = '';
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
opacityForRowDistance(rowDistance) {
|
|
243
|
+
return Math.max(AXPickerItemsComponent.fadeMinOpacity, 1 - rowDistance * AXPickerItemsComponent.fadeStep);
|
|
244
|
+
}
|
|
245
|
+
getSlideWheelMetrics(swiper, slideEl) {
|
|
246
|
+
const progress = slideEl.progress;
|
|
247
|
+
if (typeof progress === 'number' && Number.isFinite(progress)) {
|
|
248
|
+
return { offset: Math.abs(progress), progress };
|
|
249
|
+
}
|
|
250
|
+
const root = swiper.el;
|
|
251
|
+
const rootRect = root.getBoundingClientRect();
|
|
252
|
+
const centerY = rootRect.top + rootRect.height / 2;
|
|
253
|
+
const slideRect = slideEl.getBoundingClientRect();
|
|
254
|
+
const rowHeight = slideRect.height || 32;
|
|
255
|
+
const slideCenterY = slideRect.top + slideRect.height / 2;
|
|
256
|
+
const rowsFromCenter = (slideCenterY - centerY) / rowHeight;
|
|
257
|
+
return {
|
|
258
|
+
offset: Math.abs(rowsFromCenter),
|
|
259
|
+
progress: Math.max(-3, Math.min(3, rowsFromCenter)),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
116
262
|
clickHandler(v) {
|
|
117
263
|
if (this.minValue() != null && v.text < this.minValue())
|
|
118
264
|
return;
|
|
@@ -138,18 +284,26 @@ class AXPickerItemsComponent extends MXValueComponent {
|
|
|
138
284
|
}
|
|
139
285
|
}
|
|
140
286
|
/** @ignore */
|
|
141
|
-
get
|
|
142
|
-
return
|
|
287
|
+
get hostDisabledClass() {
|
|
288
|
+
return this.disabled;
|
|
289
|
+
}
|
|
290
|
+
/** @ignore */
|
|
291
|
+
get hostReadonlyClass() {
|
|
292
|
+
return this.readonly;
|
|
293
|
+
}
|
|
294
|
+
/** @ignore */
|
|
295
|
+
get hostFadeClass() {
|
|
296
|
+
return this.fade();
|
|
143
297
|
}
|
|
144
298
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerItemsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXPickerItemsComponent, isStandalone: true, selector: "ax-picker-items", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, readonlyChange: { classPropertyName: "readonlyChange", publicName: "readonlyChange", isSignal: false, isRequired: false, transformFunction: null }, disabledChange: { classPropertyName: "disabledChange", publicName: "disabledChange", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, slidesPerGroup: { classPropertyName: "slidesPerGroup", publicName: "slidesPerGroup", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "class": "this.
|
|
299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXPickerItemsComponent, isStandalone: true, selector: "ax-picker-items", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, readonlyChange: { classPropertyName: "readonlyChange", publicName: "readonlyChange", isSignal: false, isRequired: false, transformFunction: null }, disabledChange: { classPropertyName: "disabledChange", publicName: "disabledChange", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, slidesPerGroup: { classPropertyName: "slidesPerGroup", publicName: "slidesPerGroup", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, fade: { classPropertyName: "fade", publicName: "fade", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "class.ax-picker-wheel": "this.hostWheelClass", "class.ax-state-disabled": "this.hostDisabledClass", "class.ax-state-readonly": "this.hostReadonlyClass", "class.ax-picker-fade": "this.hostFadeClass" } }, providers: [
|
|
146
300
|
{
|
|
147
301
|
provide: NG_VALUE_ACCESSOR,
|
|
148
302
|
useExisting: forwardRef(() => AXPickerItemsComponent),
|
|
149
303
|
multi: true,
|
|
150
304
|
},
|
|
151
305
|
{ provide: AXComponent, useExisting: AXPickerItemsComponent },
|
|
152
|
-
], viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["c"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else {\n <p class=\"ax-picker-item\">{{ item.text }}</p>\n }\n </div>\n }\n </div>\n
|
|
306
|
+
], viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["c"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else {\n <p class=\"ax-picker-item\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n }\n </div>\n }\n </div>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-items{container-type:size;container-name:ax-picker-items;--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-row-height: calc(100% / var(--ax-comp-picker-visible-rows));--ax-comp-picker-font-size: 1.0625rem;--ax-comp-picker-font-size-selected: 1.375rem;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;align-items:stretch;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none}@supports (height: 1cqh){ax-picker-items{--ax-comp-picker-row-height: calc(100cqh / var(--ax-comp-picker-visible-rows))}}ax-picker-items .ax-state-disabled{cursor:not-allowed;opacity:50%}ax-picker-items.ax-state-disabled{opacity:50%}ax-picker-items.ax-state-disabled .ax-carousel .ax-carousel-slide{cursor:not-allowed}ax-picker-items.ax-picker-wheel .ax-picker-item{margin:calc(var(--spacing, .25rem) * 0);display:flex;height:100%;width:100%;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 0)}ax-picker-items.ax-picker-wheel .ax-picker-item-visual{display:inline-flex;transform-origin:center;align-items:center;justify-content:center;font-size:var(--ax-comp-picker-font-size);--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);transition-property:opacity,font-size,font-weight,transform;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1));transform-style:preserve-3d;backface-visibility:hidden}ax-picker-items.ax-picker-wheel .ax-picker-item.ax-picker-item-selected .ax-picker-item-visual{font-size:var(--ax-comp-picker-font-size-selected);font-weight:500}ax-picker-items.ax-picker-wheel .ax-carousel{height:100%;width:100%;overflow:hidden;perspective:820px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .35) 8%,black 22%,black 78%,rgb(0 0 0 / .35) 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .35) 8%,black 22%,black 78%,rgb(0 0 0 / .35) 92%,transparent 100%)}ax-picker-items.ax-picker-wheel .ax-carousel-wrapper{transform-style:preserve-3d}ax-picker-items.ax-picker-wheel .ax-picker-item:hover{background-color:transparent}ax-picker-items .ax-carousel{position:relative;height:100%;width:100%}ax-picker-items .ax-carousel.swiper{height:100%;width:100%}ax-picker-items .ax-carousel .ax-carousel-wrapper{position:relative;z-index:2}ax-picker-items .ax-carousel .ax-carousel-slide,ax-picker-items .ax-carousel .swiper-slide{box-sizing:border-box;display:flex;height:var(--ax-comp-picker-row-height);max-height:var(--ax-comp-picker-row-height);min-height:var(--ax-comp-picker-row-height);width:100%;cursor:pointer;align-items:center;justify-content:center;text-align:center}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXCarouselDirective, selector: "[axCarousel]", exportAs: ["axCarousel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
153
307
|
}
|
|
154
308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerItemsComponent, decorators: [{
|
|
155
309
|
type: Component,
|
|
@@ -160,26 +314,66 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
160
314
|
multi: true,
|
|
161
315
|
},
|
|
162
316
|
{ provide: AXComponent, useExisting: AXPickerItemsComponent },
|
|
163
|
-
], imports: [AXCarouselDirective], template: "<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else {\n <p class=\"ax-picker-item\">{{ item.text }}</p>\n }\n </div>\n }\n </div>\n
|
|
164
|
-
}], propDecorators: { swiperRef: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], valueField: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueField", required: false }] }], textField: [{ type: i0.Input, args: [{ isSignal: true, alias: "textField", required: false }] }], slidesPerGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "slidesPerGroup", required: false }] }], loop: [{ type: i0.Input, args: [{ isSignal: true, alias: "loop", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }],
|
|
317
|
+
], imports: [AXCarouselDirective], template: "<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else {\n <p class=\"ax-picker-item\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n }\n </div>\n }\n </div>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-items{container-type:size;container-name:ax-picker-items;--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-row-height: calc(100% / var(--ax-comp-picker-visible-rows));--ax-comp-picker-font-size: 1.0625rem;--ax-comp-picker-font-size-selected: 1.375rem;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;align-items:stretch;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none}@supports (height: 1cqh){ax-picker-items{--ax-comp-picker-row-height: calc(100cqh / var(--ax-comp-picker-visible-rows))}}ax-picker-items .ax-state-disabled{cursor:not-allowed;opacity:50%}ax-picker-items.ax-state-disabled{opacity:50%}ax-picker-items.ax-state-disabled .ax-carousel .ax-carousel-slide{cursor:not-allowed}ax-picker-items.ax-picker-wheel .ax-picker-item{margin:calc(var(--spacing, .25rem) * 0);display:flex;height:100%;width:100%;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 0)}ax-picker-items.ax-picker-wheel .ax-picker-item-visual{display:inline-flex;transform-origin:center;align-items:center;justify-content:center;font-size:var(--ax-comp-picker-font-size);--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400);--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);transition-property:opacity,font-size,font-weight,transform;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1));transform-style:preserve-3d;backface-visibility:hidden}ax-picker-items.ax-picker-wheel .ax-picker-item.ax-picker-item-selected .ax-picker-item-visual{font-size:var(--ax-comp-picker-font-size-selected);font-weight:500}ax-picker-items.ax-picker-wheel .ax-carousel{height:100%;width:100%;overflow:hidden;perspective:820px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .35) 8%,black 22%,black 78%,rgb(0 0 0 / .35) 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .35) 8%,black 22%,black 78%,rgb(0 0 0 / .35) 92%,transparent 100%)}ax-picker-items.ax-picker-wheel .ax-carousel-wrapper{transform-style:preserve-3d}ax-picker-items.ax-picker-wheel .ax-picker-item:hover{background-color:transparent}ax-picker-items .ax-carousel{position:relative;height:100%;width:100%}ax-picker-items .ax-carousel.swiper{height:100%;width:100%}ax-picker-items .ax-carousel .ax-carousel-wrapper{position:relative;z-index:2}ax-picker-items .ax-carousel .ax-carousel-slide,ax-picker-items .ax-carousel .swiper-slide{box-sizing:border-box;display:flex;height:var(--ax-comp-picker-row-height);max-height:var(--ax-comp-picker-row-height);min-height:var(--ax-comp-picker-row-height);width:100%;cursor:pointer;align-items:center;justify-content:center;text-align:center}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-ordinal{syntax: \"*\"; inherits: false;}@property --tw-slashed-zero{syntax: \"*\"; inherits: false;}@property --tw-numeric-figure{syntax: \"*\"; inherits: false;}@property --tw-numeric-spacing{syntax: \"*\"; inherits: false;}@property --tw-numeric-fraction{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
318
|
+
}], propDecorators: { swiperRef: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], valueField: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueField", required: false }] }], textField: [{ type: i0.Input, args: [{ isSignal: true, alias: "textField", required: false }] }], slidesPerGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "slidesPerGroup", required: false }] }], loop: [{ type: i0.Input, args: [{ isSignal: true, alias: "loop", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], fade: [{ type: i0.Input, args: [{ isSignal: true, alias: "fade", required: false }] }], hostWheelClass: [{
|
|
165
319
|
type: HostBinding,
|
|
166
|
-
args: ['class']
|
|
320
|
+
args: ['class.ax-picker-wheel']
|
|
321
|
+
}], hostDisabledClass: [{
|
|
322
|
+
type: HostBinding,
|
|
323
|
+
args: ['class.ax-state-disabled']
|
|
324
|
+
}], hostReadonlyClass: [{
|
|
325
|
+
type: HostBinding,
|
|
326
|
+
args: ['class.ax-state-readonly']
|
|
327
|
+
}], hostFadeClass: [{
|
|
328
|
+
type: HostBinding,
|
|
329
|
+
args: ['class.ax-picker-fade']
|
|
167
330
|
}] } });
|
|
168
331
|
|
|
169
332
|
class AXPickerTitleComponent {
|
|
170
333
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXPickerTitleComponent, isStandalone: true, selector: "ax-picker-title", providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-picker-title{display:flex;height:
|
|
334
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXPickerTitleComponent, isStandalone: true, selector: "ax-picker-title", providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-picker-title{display:flex;height:100%;width:100%;align-items:center;justify-content:center;padding-inline:calc(var(--spacing, .25rem) * 1);padding-block:calc(var(--spacing, .25rem) * 0)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
172
335
|
}
|
|
173
336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerTitleComponent, decorators: [{
|
|
174
337
|
type: Component,
|
|
175
|
-
args: [{ selector: 'ax-picker-title', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }], template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-picker-title{display:flex;height:
|
|
338
|
+
args: [{ selector: 'ax-picker-title', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }], template: "<ng-content></ng-content>\n", styles: ["@layer components{ax-picker-title{display:flex;height:100%;width:100%;align-items:center;justify-content:center;padding-inline:calc(var(--spacing, .25rem) * 1);padding-block:calc(var(--spacing, .25rem) * 0)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
176
339
|
}] });
|
|
177
340
|
|
|
178
|
-
|
|
341
|
+
class AXPickerWrapperComponent {
|
|
342
|
+
constructor() {
|
|
343
|
+
this.customClass = input('', { ...(ngDevMode ? { debugName: "customClass" } : /* istanbul ignore next */ {}), alias: 'class' });
|
|
344
|
+
/** When false, selection band is vertically centered on the full wrapper (no title row). */
|
|
345
|
+
this.reserveTitleSpace = input(true, { ...(ngDevMode ? { debugName: "reserveTitleSpace" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
346
|
+
}
|
|
347
|
+
get hostClass() {
|
|
348
|
+
return `${this.customClass()} ${!this.reserveTitleSpace() ? 'ax-picker-wrapper--no-title' : ''}`.trim();
|
|
349
|
+
}
|
|
350
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
351
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXPickerWrapperComponent, isStandalone: true, selector: "ax-picker-wrapper", inputs: { customClass: { classPropertyName: "customClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, reserveTitleSpace: { classPropertyName: "reserveTitleSpace", publicName: "reserveTitleSpace", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"ax-picker-wrapper-inner\">\n <ng-content select=\"ax-picker-container\"></ng-content>\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-wrapper{--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-title-height: 2.25rem;display:block;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%}ax-picker-wrapper.ax-picker-wrapper--no-title{--ax-comp-picker-title-height: 0px}ax-picker-wrapper .ax-picker-wrapper-inner{position:relative;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;align-items:stretch;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}ax-picker-wrapper .ax-picker-selection-band{pointer-events:none;position:absolute;inset-inline:calc(var(--spacing, .25rem) * 1);z-index:1;box-sizing:border-box;border-style:var(--tw-border-style);border-width:0px;top:calc(var(--ax-comp-picker-title-height) + (100% - var(--ax-comp-picker-title-height)) / var(--ax-comp-picker-visible-rows) * var(--ax-comp-picker-selection-row-offset));height:calc((100% - var(--ax-comp-picker-title-height)) / var(--ax-comp-picker-visible-rows));border-radius:var(--ax-sys-border-radius-base, .5rem);background-color:rgba(var(--ax-sys-color-lighter-surface));box-shadow:inset 0 0 0 1px rgba(var(--ax-sys-color-border-lighter-surface))}ax-picker-wrapper ax-picker-container{position:relative;z-index:2;min-height:calc(var(--spacing, .25rem) * 0);width:auto;min-width:calc(var(--spacing, .25rem) * 0);flex:none}ax-picker-wrapper ax-picker-container:only-child{width:100%}ax-picker-wrapper ax-picker-container .ax-picker-selection-band{display:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
352
|
+
}
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerWrapperComponent, decorators: [{
|
|
354
|
+
type: Component,
|
|
355
|
+
args: [{ selector: 'ax-picker-wrapper', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-picker-wrapper-inner\">\n <ng-content select=\"ax-picker-container\"></ng-content>\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n</div>\n", styles: ["@layer properties;@layer components{ax-picker-wrapper{--ax-comp-picker-visible-rows: 5;--ax-comp-picker-selection-row-offset: 2;--ax-comp-picker-title-height: 2.25rem;display:block;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%}ax-picker-wrapper.ax-picker-wrapper--no-title{--ax-comp-picker-title-height: 0px}ax-picker-wrapper .ax-picker-wrapper-inner{position:relative;display:flex;height:100%;min-height:calc(var(--spacing, .25rem) * 0);width:100%;align-items:stretch;justify-content:center;gap:calc(var(--spacing, .25rem) * 1)}ax-picker-wrapper .ax-picker-selection-band{pointer-events:none;position:absolute;inset-inline:calc(var(--spacing, .25rem) * 1);z-index:1;box-sizing:border-box;border-style:var(--tw-border-style);border-width:0px;top:calc(var(--ax-comp-picker-title-height) + (100% - var(--ax-comp-picker-title-height)) / var(--ax-comp-picker-visible-rows) * var(--ax-comp-picker-selection-row-offset));height:calc((100% - var(--ax-comp-picker-title-height)) / var(--ax-comp-picker-visible-rows));border-radius:var(--ax-sys-border-radius-base, .5rem);background-color:rgba(var(--ax-sys-color-lighter-surface));box-shadow:inset 0 0 0 1px rgba(var(--ax-sys-color-border-lighter-surface))}ax-picker-wrapper ax-picker-container{position:relative;z-index:2;min-height:calc(var(--spacing, .25rem) * 0);width:auto;min-width:calc(var(--spacing, .25rem) * 0);flex:none}ax-picker-wrapper ax-picker-container:only-child{width:100%}ax-picker-wrapper ax-picker-container .ax-picker-selection-band{display:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
356
|
+
}], propDecorators: { customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], reserveTitleSpace: [{ type: i0.Input, args: [{ isSignal: true, alias: "reserveTitleSpace", required: false }] }], hostClass: [{
|
|
357
|
+
type: HostBinding,
|
|
358
|
+
args: ['class']
|
|
359
|
+
}] } });
|
|
360
|
+
|
|
361
|
+
const COMPONENT = [
|
|
362
|
+
AXPickerContainerComponent,
|
|
363
|
+
AXPickerItemsComponent,
|
|
364
|
+
AXPickerTitleComponent,
|
|
365
|
+
AXPickerWrapperComponent,
|
|
366
|
+
];
|
|
179
367
|
const MODULES = [CommonModule, AXCarouselDirective];
|
|
180
368
|
class AXPickerModule {
|
|
181
369
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
182
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXPickerModule, imports: [CommonModule, AXCarouselDirective, AXPickerContainerComponent,
|
|
370
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXPickerModule, imports: [CommonModule, AXCarouselDirective, AXPickerContainerComponent,
|
|
371
|
+
AXPickerItemsComponent,
|
|
372
|
+
AXPickerTitleComponent,
|
|
373
|
+
AXPickerWrapperComponent], exports: [AXPickerContainerComponent,
|
|
374
|
+
AXPickerItemsComponent,
|
|
375
|
+
AXPickerTitleComponent,
|
|
376
|
+
AXPickerWrapperComponent] }); }
|
|
183
377
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerModule, imports: [CommonModule] }); }
|
|
184
378
|
}
|
|
185
379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXPickerModule, decorators: [{
|
|
@@ -195,5 +389,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
195
389
|
* Generated bundle index. Do not edit.
|
|
196
390
|
*/
|
|
197
391
|
|
|
198
|
-
export { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerModule, AXPickerTitleComponent };
|
|
392
|
+
export { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerModule, AXPickerTitleComponent, AXPickerWrapperComponent };
|
|
199
393
|
//# sourceMappingURL=acorex-components-picker.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-picker.mjs","sources":["../../../../packages/components/picker/src/lib/picker-container/picker-container.component.ts","../../../../packages/components/picker/src/lib/picker-container/picker-container.component.html","../../../../packages/components/picker/src/lib/picker-items/picker-items.component.ts","../../../../packages/components/picker/src/lib/picker-items/picker-items.component.html","../../../../packages/components/picker/src/lib/picker-title/picker-title.component.ts","../../../../packages/components/picker/src/lib/picker-title/picker-title.component.html","../../../../packages/components/picker/src/lib/picker.module.ts","../../../../packages/components/picker/src/acorex-components-picker.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-picker-container',\n templateUrl: './picker-container.component.html',\n styleUrls: ['./picker-container.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }],\n})\nexport class AXPickerContainerComponent {\n readonly customClass = input<string>('', { alias: 'class' });\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.customClass()}`;\n }\n}\n","<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n","import { AXCarouselDirective, AXCarouselOptions } from '@acorex/cdk/carousel';\nimport { AXComponent, MXValueComponent } from '@acorex/cdk/common';\nimport {\n afterNextRender,\n Component,\n effect,\n forwardRef,\n HostBinding,\n input,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ax-picker-items',\n templateUrl: './picker-items.component.html',\n styleUrls: ['./picker-items.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['disabled', 'readonly', 'readonlyChange', 'disabledChange'],\n outputs: ['onValueChanged'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPickerItemsComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXPickerItemsComponent },\n ],\n imports: [AXCarouselDirective],\n})\nexport class AXPickerItemsComponent extends MXValueComponent {\n protected swiperRef = viewChild<AXCarouselDirective>('c');\n\n readonly items = input.required<any[]>();\n readonly valueField = input('id');\n readonly textField = input('text');\n readonly slidesPerGroup = input<number>();\n readonly loop = input<boolean>();\n private selectedItemIndex = signal(null);\n\n readonly minValue = input<number>(null);\n readonly maxValue = input<number>(null);\n\n protected option = signal<AXCarouselOptions>({\n direction: 'vertical',\n keyboard: true,\n mousewheel: true,\n autoHeight: true,\n slidesPerView: 'auto',\n centeredSlides: true,\n slidesPerGroup: 1,\n freeMode: { enabled: true, sticky: true },\n loop: false,\n });\n\n #init = afterNextRender(async () => {\n await this.swiperRef().init(this.option());\n\n this.disabledChange.subscribe((e) => {\n if (e) {\n this.swiperRef().carousel().disable();\n } else {\n this.swiperRef().carousel().enable();\n }\n });\n\n this.readonlyChange.subscribe((e) => {\n if (e) {\n this.swiperRef().carousel().disable();\n } else {\n this.swiperRef().carousel().enable();\n }\n });\n });\n\n #effect = effect(() => {\n if (this.swiperRef().carousel()) {\n this.swiperRef()\n .carousel()\n .on('slideChange', (e) => {\n if (this.minValue() != null && this.items()[e.activeIndex].text < this.minValue()) return;\n if (this.maxValue() != null && this.items()[e.activeIndex].text > this.maxValue()) return;\n\n this.onValueChanged.emit({\n value: this.items()[e.activeIndex],\n component: this,\n isUserInteraction: true,\n });\n });\n }\n });\n\n #effect2 = effect(() => {\n if (this.swiperRef().carousel() && this.selectedItemIndex()) {\n this.swiperRef().carousel().slideTo(this.selectedItemIndex());\n }\n });\n\n #effect3 = effect(() => {\n if (this.slidesPerGroup()) {\n this.option.update((prev) => ({ ...prev, slidesPerGroup: this.slidesPerGroup() }));\n }\n if (this.loop()) {\n this.option.update((prev) => ({ ...prev, loop: true }));\n }\n });\n\n protected clickHandler(v: any) {\n if (this.minValue() != null && v.text < this.minValue()) return;\n if (this.maxValue() != null && v.text > this.maxValue()) return;\n\n if (v == null) return v;\n if (typeof v == 'object') {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v[this.valueField()]));\n } else {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v));\n }\n }\n\n override internalSetValue(v) {\n if (v == null) return v;\n if (typeof v == 'object') {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v[this.valueField()]));\n } else {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v));\n }\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`${this.disabled && 'ax-state-disabled'}`, `${this.readonly && 'ax-state-readonly'}`];\n }\n}\n","<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">{{ item.text }}</p>\n } @else {\n <p class=\"ax-picker-item\">{{ item.text }}</p>\n }\n </div>\n }\n </div>\n\n <div class=\"ax-selected-picker-border\"></div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-picker-title',\n templateUrl: './picker-title.component.html',\n styleUrls: ['./picker-title.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }],\n})\nexport class AXPickerTitleComponent {}\n","<ng-content></ng-content>\n","import { AXCarouselDirective } from '@acorex/cdk/carousel';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPickerContainerComponent } from './picker-container/picker-container.component';\nimport { AXPickerItemsComponent } from './picker-items/picker-items.component';\nimport { AXPickerTitleComponent } from './picker-title/picker-title.component';\n\nconst COMPONENT = [AXPickerContainerComponent, AXPickerItemsComponent, AXPickerTitleComponent];\nconst MODULES = [CommonModule, AXCarouselDirective];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-picker.mjs","sources":["../../../../packages/components/picker/src/lib/picker-container/picker-container.component.ts","../../../../packages/components/picker/src/lib/picker-container/picker-container.component.html","../../../../packages/components/picker/src/lib/picker-items/picker-items.component.ts","../../../../packages/components/picker/src/lib/picker-items/picker-items.component.html","../../../../packages/components/picker/src/lib/picker-title/picker-title.component.ts","../../../../packages/components/picker/src/lib/picker-title/picker-title.component.html","../../../../packages/components/picker/src/lib/picker-wrapper/picker-wrapper.component.ts","../../../../packages/components/picker/src/lib/picker-wrapper/picker-wrapper.component.html","../../../../packages/components/picker/src/lib/picker.module.ts","../../../../packages/components/picker/src/acorex-components-picker.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-picker-container',\n templateUrl: './picker-container.component.html',\n styleUrls: ['./picker-container.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [{ provide: AXComponent, useExisting: AXPickerContainerComponent }],\n})\nexport class AXPickerContainerComponent {\n readonly customClass = input<string>('', { alias: 'class' });\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.customClass()}`;\n }\n}\n","<div class=\"ax-picker-title-container\">\n <ng-content select=\"ax-picker-title\"></ng-content>\n</div>\n<div class=\"ax-picker-items-container\">\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n <ng-content select=\"ax-picker-items\"></ng-content>\n</div>\n","import { AXCarouselDirective, AXCarouselOptions } from '@acorex/cdk/carousel';\nimport { AXComponent, MXValueComponent } from '@acorex/cdk/common';\nimport {\n afterNextRender,\n booleanAttribute,\n Component,\n DestroyRef,\n effect,\n forwardRef,\n HostBinding,\n inject,\n input,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { Swiper } from 'swiper/types';\n\n@Component({\n selector: 'ax-picker-items',\n templateUrl: './picker-items.component.html',\n styleUrls: ['./picker-items.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['disabled', 'readonly', 'readonlyChange', 'disabledChange'],\n outputs: ['onValueChanged'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPickerItemsComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXPickerItemsComponent },\n ],\n imports: [AXCarouselDirective],\n})\nexport class AXPickerItemsComponent extends MXValueComponent {\n private readonly destroyRef = inject(DestroyRef);\n\n protected swiperRef = viewChild<AXCarouselDirective>('c');\n\n readonly items = input.required<any[]>();\n readonly valueField = input('id');\n readonly textField = input('text');\n readonly slidesPerGroup = input<number>();\n readonly loop = input<boolean>();\n private selectedItemIndex = signal(null);\n\n readonly minValue = input<number>(null);\n readonly maxValue = input<number>(null);\n\n /**\n * iOS-style stepped opacity from center (1, 0.8, 0.6 … min 0.2). Wheel scale/tilt is always on.\n */\n readonly fade = input(true, { transform: booleanAttribute });\n\n private static readonly fadeMinOpacity = 0.2;\n private static readonly fadeStep = 0.2;\n private static readonly selectedFontRem = 1.375;\n private static readonly baseFontRem = 1.0625;\n private static readonly minFontRem = 0.8125;\n private static readonly wheelScaleFalloff = 0.07;\n private static readonly wheelMinScale = 0.82;\n private static readonly wheelRotateFactor = 18;\n private static readonly mouseWheelDeltaThreshold = 48;\n private static readonly mouseWheelStepCooldownMs = 140;\n\n protected option = signal<AXCarouselOptions>({\n direction: 'vertical',\n keyboard: true,\n mousewheel: false,\n autoHeight: false,\n slidesPerView: 'auto',\n centeredSlides: true,\n slidesPerGroup: 1,\n spaceBetween: 0,\n freeMode: { enabled: true, sticky: true, momentumRatio: 0.35, momentumBounce: false },\n loop: false,\n watchSlidesProgress: true,\n resistanceRatio: 0.65,\n speed: 280,\n });\n\n private wheelHandlersBound = false;\n private mouseWheelStepBound = false;\n private mouseWheelDeltaAccumulator = 0;\n private lastMouseWheelStepAt = 0;\n\n #init = afterNextRender(async () => {\n await this.swiperRef().init(this.option());\n const swiper = this.swiperRef().carousel();\n swiper?.update();\n this.bindWheelHandlers();\n if (swiper) {\n this.bindMouseWheelStep(swiper);\n }\n\n this.disabledChange.subscribe((e) => {\n if (e) {\n this.swiperRef().carousel().disable();\n } else {\n this.swiperRef().carousel().enable();\n }\n });\n\n this.readonlyChange.subscribe((e) => {\n if (e) {\n this.swiperRef().carousel().disable();\n } else {\n this.swiperRef().carousel().enable();\n }\n });\n });\n\n #effect = effect(() => {\n if (this.swiperRef().carousel()) {\n this.swiperRef()\n .carousel()\n .on('slideChange', (e) => {\n if (this.minValue() != null && this.items()[e.activeIndex].text < this.minValue()) return;\n if (this.maxValue() != null && this.items()[e.activeIndex].text > this.maxValue()) return;\n\n this.onValueChanged.emit({\n value: this.items()[e.activeIndex],\n component: this,\n isUserInteraction: true,\n });\n });\n }\n });\n\n #effect2 = effect(() => {\n const index = this.selectedItemIndex();\n const swiper = this.swiperRef()?.carousel();\n if (swiper && index != null && index >= 0) {\n swiper.slideTo(index);\n requestAnimationFrame(() => this.updateSlideWheelVisuals(swiper));\n }\n });\n\n #effect3 = effect(() => {\n if (this.slidesPerGroup()) {\n this.option.update((prev) => ({ ...prev, slidesPerGroup: this.slidesPerGroup() }));\n }\n if (this.loop()) {\n this.option.update((prev) => ({ ...prev, loop: true }));\n }\n });\n\n #fadeEffect = effect(() => {\n this.fade();\n const swiper = this.swiperRef()?.carousel();\n if (swiper) {\n this.updateSlideWheelVisuals(swiper);\n }\n });\n\n private bindWheelHandlers(): void {\n const swiper = this.swiperRef()?.carousel();\n if (!swiper || this.wheelHandlersBound) {\n return;\n }\n this.wheelHandlersBound = true;\n const update = () => this.updateSlideWheelVisuals(swiper);\n const events = [\n 'progress',\n 'setTransition',\n 'setTranslate',\n 'sliderMove',\n 'slideChange',\n 'resize',\n 'transitionEnd',\n 'touchMove',\n ] as const;\n for (const event of events) {\n swiper.on(event, update);\n }\n update();\n }\n\n private bindMouseWheelStep(swiper: Swiper): void {\n if (this.mouseWheelStepBound) {\n return;\n }\n this.mouseWheelStepBound = true;\n\n const el = swiper.el as HTMLElement;\n const onWheel = (event: WheelEvent): void => {\n if (this.disabled || this.readonly) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const now = Date.now();\n this.mouseWheelDeltaAccumulator += event.deltaY;\n\n if (Math.abs(this.mouseWheelDeltaAccumulator) < AXPickerItemsComponent.mouseWheelDeltaThreshold) {\n return;\n }\n\n if (now - this.lastMouseWheelStepAt < AXPickerItemsComponent.mouseWheelStepCooldownMs) {\n this.mouseWheelDeltaAccumulator = 0;\n return;\n }\n\n const direction = this.mouseWheelDeltaAccumulator > 0 ? 1 : -1;\n this.mouseWheelDeltaAccumulator = 0;\n this.lastMouseWheelStepAt = now;\n\n const maxIndex = swiper.slides.length - 1;\n const targetIndex = Math.max(0, Math.min(maxIndex, swiper.activeIndex + direction));\n if (targetIndex !== swiper.activeIndex) {\n swiper.slideTo(targetIndex);\n }\n };\n\n el.addEventListener('wheel', onWheel, { passive: false });\n this.destroyRef.onDestroy(() => el.removeEventListener('wheel', onWheel));\n }\n\n private updateSlideWheelVisuals(swiper: Swiper): void {\n for (const slide of swiper.slides) {\n const slideEl = slide as HTMLElement;\n const item = slideEl.querySelector<HTMLElement>('.ax-picker-item');\n const visual = slideEl.querySelector<HTMLElement>('.ax-picker-item-visual');\n if (!item || !visual) {\n continue;\n }\n\n const { offset, progress } = this.getSlideWheelMetrics(swiper, slideEl);\n const rowStep = Math.round(offset);\n const isCenter = offset < 0.15;\n\n const scale = Math.max(\n AXPickerItemsComponent.wheelMinScale,\n 1 - offset * AXPickerItemsComponent.wheelScaleFalloff,\n );\n const rotateX = progress * AXPickerItemsComponent.wheelRotateFactor;\n const fontRem =\n AXPickerItemsComponent.baseFontRem +\n Math.max(0, AXPickerItemsComponent.selectedFontRem - AXPickerItemsComponent.baseFontRem) *\n Math.max(0, 1 - offset * 0.95);\n\n visual.style.fontSize = `${Math.max(AXPickerItemsComponent.minFontRem, fontRem)}rem`;\n visual.style.fontWeight = isCenter ? '500' : '400';\n visual.style.transform = `rotateX(${rotateX}deg) scale(${scale})`;\n item.classList.toggle('ax-picker-item-selected', isCenter);\n\n if (this.fade()) {\n visual.style.opacity = String(this.opacityForRowDistance(rowStep));\n } else {\n visual.style.opacity = '';\n }\n }\n }\n\n private opacityForRowDistance(rowDistance: number): number {\n return Math.max(AXPickerItemsComponent.fadeMinOpacity, 1 - rowDistance * AXPickerItemsComponent.fadeStep);\n }\n\n private getSlideWheelMetrics(swiper: Swiper, slideEl: HTMLElement): { offset: number; progress: number } {\n const progress = (slideEl as HTMLElement & { progress?: number }).progress;\n if (typeof progress === 'number' && Number.isFinite(progress)) {\n return { offset: Math.abs(progress), progress };\n }\n\n const root = swiper.el as HTMLElement;\n const rootRect = root.getBoundingClientRect();\n const centerY = rootRect.top + rootRect.height / 2;\n const slideRect = slideEl.getBoundingClientRect();\n const rowHeight = slideRect.height || 32;\n const slideCenterY = slideRect.top + slideRect.height / 2;\n const rowsFromCenter = (slideCenterY - centerY) / rowHeight;\n\n return {\n offset: Math.abs(rowsFromCenter),\n progress: Math.max(-3, Math.min(3, rowsFromCenter)),\n };\n }\n\n protected clickHandler(v: any) {\n if (this.minValue() != null && v.text < this.minValue()) return;\n if (this.maxValue() != null && v.text > this.maxValue()) return;\n\n if (v == null) return v;\n if (typeof v == 'object') {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v[this.valueField()]));\n } else {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v));\n }\n }\n\n override internalSetValue(v) {\n if (v == null) return v;\n if (typeof v == 'object') {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v[this.valueField()]));\n } else {\n this.selectedItemIndex.set(this.items().findIndex((c) => c[this.valueField()] == v));\n }\n }\n\n /** @ignore */\n @HostBinding('class.ax-picker-wheel')\n protected readonly hostWheelClass = true;\n\n /** @ignore */\n @HostBinding('class.ax-state-disabled')\n protected get hostDisabledClass(): boolean {\n return this.disabled;\n }\n\n /** @ignore */\n @HostBinding('class.ax-state-readonly')\n protected get hostReadonlyClass(): boolean {\n return this.readonly;\n }\n\n /** @ignore */\n @HostBinding('class.ax-picker-fade')\n protected get hostFadeClass(): boolean {\n return this.fade();\n }\n}\n","<div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of items(); track item.id) {\n <div (click)=\"clickHandler(item)\" class=\"ax-carousel-slide\">\n @if (minValue() != null && item.text < minValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else if (maxValue() != null && item.text > maxValue()) {\n <p class=\"ax-picker-item ax-state-disabled\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n } @else {\n <p class=\"ax-picker-item\">\n <span class=\"ax-picker-item-visual\">{{ item.text }}</span>\n </p>\n }\n </div>\n }\n </div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-picker-title',\n templateUrl: './picker-title.component.html',\n styleUrls: ['./picker-title.component.css'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [{ provide: AXComponent, useExisting: AXPickerTitleComponent }],\n})\nexport class AXPickerTitleComponent {}\n","<ng-content></ng-content>\n","import { booleanAttribute, Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-picker-wrapper',\n templateUrl: './picker-wrapper.component.html',\n styleUrls: ['./picker-wrapper.component.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPickerWrapperComponent {\n readonly customClass = input<string>('', { alias: 'class' });\n\n /** When false, selection band is vertically centered on the full wrapper (no title row). */\n readonly reserveTitleSpace = input(true, { transform: booleanAttribute });\n\n @HostBinding('class')\n protected get hostClass(): string {\n return `${this.customClass()} ${!this.reserveTitleSpace() ? 'ax-picker-wrapper--no-title' : ''}`.trim();\n }\n}\n","<div class=\"ax-picker-wrapper-inner\">\n <ng-content select=\"ax-picker-container\"></ng-content>\n <div class=\"ax-picker-selection-band\" aria-hidden=\"true\"></div>\n</div>\n","import { AXCarouselDirective } from '@acorex/cdk/carousel';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPickerContainerComponent } from './picker-container/picker-container.component';\nimport { AXPickerItemsComponent } from './picker-items/picker-items.component';\nimport { AXPickerTitleComponent } from './picker-title/picker-title.component';\nimport { AXPickerWrapperComponent } from './picker-wrapper/picker-wrapper.component';\n\nconst COMPONENT = [\n AXPickerContainerComponent,\n AXPickerItemsComponent,\n AXPickerTitleComponent,\n AXPickerWrapperComponent,\n];\nconst MODULES = [CommonModule, AXCarouselDirective];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAWa,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAM7D,IAAA;AAJC,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE;IAChC;8GANW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAF1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,0BCThF,+RAOA,EAAA,MAAA,EAAA,CAAA,ktDAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDIa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,aAE1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,0BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,+RAAA,EAAA,MAAA,EAAA,CAAA,ktDAAA,CAAA,EAAA;;sBAK7E,WAAW;uBAAC,OAAO;;;AEuBhB,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAlB5D,IAAA,WAAA,GAAA;;AAmBmB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEtC,IAAA,CAAA,SAAS,GAAG,SAAS,CAAsB,GAAG;sFAAC;QAEhD,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAS;QAC/B,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,IAAI;uFAAC;QACxB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,MAAM;sFAAC;AACzB,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK;sGAAU;AAChC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK;4FAAW;QACxB,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,IAAI;8FAAC;QAE/B,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,IAAI;qFAAC;QAC9B,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,IAAI;qFAAC;AAEvC;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,IAAI,4EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAalD,IAAA,CAAA,MAAM,GAAG,MAAM,CAAoB;AAC3C,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;AACrF,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,KAAK,EAAE,GAAG;AACX,SAAA;mFAAC;QAEM,IAAA,CAAA,kBAAkB,GAAG,KAAK;QAC1B,IAAA,CAAA,mBAAmB,GAAG,KAAK;QAC3B,IAAA,CAAA,0BAA0B,GAAG,CAAC;QAC9B,IAAA,CAAA,oBAAoB,GAAG,CAAC;AAEhC,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,YAAW;AACjC,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM,EAAE;YAChB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACjC;YAEA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;gBAClC,IAAI,CAAC,EAAE;oBACL,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;gBACvC;qBAAO;oBACL,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;gBACtC;AACF,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;gBAClC,IAAI,CAAC,EAAE;oBACL,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;gBACvC;qBAAO;oBACL,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;gBACtC;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAK;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC/B,IAAI,CAAC,SAAS;AACX,qBAAA,QAAQ;AACR,qBAAA,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,KAAI;oBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;wBAAE;oBACnF,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;wBAAE;AAEnF,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AAClC,wBAAA,SAAS,EAAE,IAAI;AACf,wBAAA,iBAAiB,EAAE,IAAI;AACxB,qBAAA,CAAC;AACJ,gBAAA,CAAC,CAAC;YACN;QACF,CAAC;oFAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE;YAC3C,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AACzC,gBAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrB,qBAAqB,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACnE;QACF,CAAC;qFAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACpF;AACA,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD;QACF,CAAC;qFAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,MAAK;YACxB,IAAI,CAAC,IAAI,EAAE;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE;YAC3C,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;YACtC;QACF,CAAC;wFAAC;;QAsJiB,IAAA,CAAA,cAAc,GAAG,IAAI;AAmBzC,IAAA;aA5QyB,IAAA,CAAA,cAAc,GAAG,GAAH,CAAO;aACrB,IAAA,CAAA,QAAQ,GAAG,GAAH,CAAO;aACf,IAAA,CAAA,eAAe,GAAG,KAAH,CAAS;aACxB,IAAA,CAAA,WAAW,GAAG,MAAH,CAAU;aACrB,IAAA,CAAA,UAAU,GAAG,MAAH,CAAU;aACpB,IAAA,CAAA,iBAAiB,GAAG,IAAH,CAAQ;aACzB,IAAA,CAAA,aAAa,GAAG,IAAH,CAAQ;aACrB,IAAA,CAAA,iBAAiB,GAAG,EAAH,CAAM;aACvB,IAAA,CAAA,wBAAwB,GAAG,EAAH,CAAM;aAC9B,IAAA,CAAA,wBAAwB,GAAG,GAAH,CAAO;AAuBvD,IAAA,KAAK;AA0BL,IAAA,OAAO;AAiBP,IAAA,QAAQ;AASR,IAAA,QAAQ;AASR,IAAA,WAAW;IAQH,iBAAiB,GAAA;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE;AAC3C,QAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACtC;QACF;AACA,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AACzD,QAAA,MAAM,MAAM,GAAG;YACb,UAAU;YACV,eAAe;YACf,cAAc;YACd,YAAY;YACZ,aAAa;YACb,QAAQ;YACR,eAAe;YACf,WAAW;SACH;AACV,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC1B;AACA,QAAA,MAAM,EAAE;IACV;AAEQ,IAAA,kBAAkB,CAAC,MAAc,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B;QACF;AACA,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAE/B,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,EAAiB;AACnC,QAAA,MAAM,OAAO,GAAG,CAAC,KAAiB,KAAU;YAC1C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC;YACF;YAEA,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;AAEvB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,0BAA0B,IAAI,KAAK,CAAC,MAAM;AAE/C,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,EAAE;gBAC/F;YACF;YAEA,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,wBAAwB,EAAE;AACrF,gBAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC;gBACnC;YACF;AAEA,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9D,YAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC;AACnC,YAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG;YAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;AACnF,YAAA,IAAI,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE;AACtC,gBAAA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7B;AACF,QAAA,CAAC;AAED,QAAA,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3E;AAEQ,IAAA,uBAAuB,CAAC,MAAc,EAAA;AAC5C,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YACjC,MAAM,OAAO,GAAG,KAAoB;YACpC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAc,iBAAiB,CAAC;YAClE,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAc,wBAAwB,CAAC;AAC3E,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACpB;YACF;AAEA,YAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAClC,YAAA,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI;AAE9B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,sBAAsB,CAAC,aAAa,EACpC,CAAC,GAAG,MAAM,GAAG,sBAAsB,CAAC,iBAAiB,CACtD;AACD,YAAA,MAAM,OAAO,GAAG,QAAQ,GAAG,sBAAsB,CAAC,iBAAiB;AACnE,YAAA,MAAM,OAAO,GACX,sBAAsB,CAAC,WAAW;AAClC,gBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC;oBACtF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAElC,YAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK;AACpF,YAAA,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK;YAClD,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,OAAO,CAAA,WAAA,EAAc,KAAK,CAAA,CAAA,CAAG;YACjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC;AAE1D,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACf,gBAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACpE;iBAAO;AACL,gBAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;YAC3B;QACF;IACF;AAEQ,IAAA,qBAAqB,CAAC,WAAmB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC,GAAG,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC;IAC3G;IAEQ,oBAAoB,CAAC,MAAc,EAAE,OAAoB,EAAA;AAC/D,QAAA,MAAM,QAAQ,GAAI,OAA+C,CAAC,QAAQ;AAC1E,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC7D,YAAA,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE;QACjD;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,EAAiB;AACrC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;AAClD,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,EAAE;AACjD,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE;QACxC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACzD,MAAM,cAAc,GAAG,CAAC,YAAY,GAAG,OAAO,IAAI,SAAS;QAE3D,OAAO;AACL,YAAA,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;AAChC,YAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SACpD;IACH;AAEU,IAAA,YAAY,CAAC,CAAM,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;YAAE;AACzD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;YAAE;QAEzD,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,CAAC;AACvB,QAAA,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzG;aAAO;AACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF;IACF;AAES,IAAA,gBAAgB,CAAC,CAAC,EAAA;QACzB,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,CAAC;AACvB,QAAA,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzG;aAAO;AACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF;IACF;;AAOA,IAAA,IACc,iBAAiB,GAAA;QAC7B,OAAO,IAAI,CAAC,QAAQ;IACtB;;AAGA,IAAA,IACc,iBAAiB,GAAA;QAC7B,OAAO,IAAI,CAAC,QAAQ;IACtB;;AAGA,IAAA,IACc,aAAa,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;IACpB;8GA/RW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAVtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE;SAC9D,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCH,00BAqBA,6tIDcY,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAElB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,iBAGZ,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAE7B,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,WAC3D,CAAC,gBAAgB,CAAC,EAAA,SAAA,EAChB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,wBAAwB,EAAE;qBAC9D,EAAA,OAAA,EACQ,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,00BAAA,EAAA,MAAA,EAAA,CAAA,qqIAAA,CAAA,EAAA;uEAKuB,GAAG,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA;sBAyQvD,WAAW;uBAAC,uBAAuB;;sBAInC,WAAW;uBAAC,yBAAyB;;sBAMrC,WAAW;uBAAC,yBAAyB;;sBAMrC,WAAW;uBAAC,sBAAsB;;;MEtTxB,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,0BCT5E,6BACA,EAAA,MAAA,EAAA,CAAA,wRAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDUa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,aAE1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wRAAA,CAAA,EAAA;;;MED/D,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;;QAGnD,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,IAAI,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAM1E,IAAA;AAJC,IAAA,IACc,SAAS,GAAA;QACrB,OAAO,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,EAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,6BAA6B,GAAG,EAAE,CAAA,CAAE,CAAC,IAAI,EAAE;IACzG;8GATW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,8aCRrC,sLAIA,EAAA,MAAA,EAAA,CAAA,m2DAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDIa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAGd,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,sLAAA,EAAA,MAAA,EAAA,CAAA,m2DAAA,CAAA,EAAA;;sBAQpC,WAAW;uBAAC,OAAO;;;AENtB,MAAM,SAAS,GAAG;IAChB,0BAA0B;IAC1B,sBAAsB;IACtB,sBAAsB;IACtB,wBAAwB;CACzB;AACD,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC;MAOtC,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,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,cAAc,EAAA,OAAA,EAAA,CAPV,YAAY,EAAE,mBAAmB,EALhD,0BAA0B;YAC1B,sBAAsB;YACtB,sBAAsB;AACtB,YAAA,wBAAwB,aAHxB,0BAA0B;YAC1B,sBAAsB;YACtB,sBAAsB;YACtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AASb,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,cAAc,YAPV,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAOhB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACpBD;;AAEG;;"}
|
|
@@ -329,7 +329,7 @@ class AXRestApiGeneratorComponent {
|
|
|
329
329
|
this.service.outPutJSON.update((prev) => ({ ...prev, method: e.value }));
|
|
330
330
|
}
|
|
331
331
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRestApiGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
332
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXRestApiGeneratorComponent, isStandalone: true, selector: "ax-rest-api-generator", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange" }, providers: [AXRestApiGeneratorService, { provide: AXComponent, useExisting: AXRestApiGeneratorComponent }], ngImport: i0, template: "<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n class=\"ax-rest-api-method-select\"\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box>\n </ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n", styles: ["@layer properties;@layer components{ax-rest-api-generator{display:flex;min-width:40rem;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}ax-rest-api-generator .ax-url-input-container ax-text-box>.ax-editor-container{gap:calc(var(--spacing, .25rem) * 0);padding-inline-start:calc(var(--spacing, .25rem) * 0)}ax-rest-api-generator .ax-url-input-container ax-text-box>.ax-editor-container>.ax-input{padding-inline-start:calc(var(--spacing, .25rem) * 3)}ax-rest-api-generator .ax-url-input-container ax-prefix{align-self:stretch;padding-inline-end:calc(var(--spacing, .25rem) * 0)}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select{display:block;height:100%;width:auto;min-width:6.5rem}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container{--ax-comp-editor-border-width: 0px !important;--ax-comp-editor-space-start-size: .75rem;--ax-comp-editor-space-end-size: .25rem;height:100%;min-height:calc(var(--spacing, .25rem) * 0);justify-content:flex-start;gap:calc(var(--spacing, .25rem) * 1);border-radius:0;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container.ax-editor-container{--ax-comp-editor-box-outline-width: 0}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container .ax-chips-container{min-height:calc(var(--spacing, .25rem) * 0);flex-wrap:nowrap;padding-inline:calc(var(--spacing, .25rem) * 0);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container .ax-general-button-icon{flex-shrink:0;padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-rest-api-generator .ax-select-box{border-style:var(--tw-border-style);border-width:0px}}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXQueryParamsComponent, selector: "ax-query-params" }, { kind: "component", type: AXRequestBodyComponent, selector: "ax-request-body" }, { kind: "component", type: AXRestApiAuthComponent, selector: "ax-rest-api-auth" }, { kind: "component", type: AXRequestHeadersComponent, selector: "ax-request-headers" }, { kind: "directive", type: AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXRestApiGeneratorComponent, isStandalone: true, selector: "ax-rest-api-generator", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange" }, providers: [AXRestApiGeneratorService, { provide: AXComponent, useExisting: AXRestApiGeneratorComponent }], ngImport: i0, template: "<div class=\"ax-url-input-container\">\n <ax-text-box [(ngModel)]=\"service.outPutJSON().url\" placeholder=\"URL\" (onValueChanged)=\"urlHandler($event)\">\n <ax-clear-button></ax-clear-button>\n <ax-prefix>\n <ax-select-box\n class=\"ax-rest-api-method-select\"\n [(ngModel)]=\"service.outPutJSON().method\"\n (onValueChanged)=\"methodHandler($event)\"\n [dataSource]=\"['GET', 'POST', 'DELETE', 'PUT', 'PATCH']\"\n >\n </ax-select-box>\n </ax-prefix>\n </ax-text-box>\n</div>\n\n<ax-tabs [content]=\"cronTab\" look=\"with-line\" [fitParent]=\"true\" location=\"bottom\">\n <ax-tab-item key=\"1\" text=\"Params\">\n <ax-content> <ax-query-params></ax-query-params> </ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"2\" text=\"Body\">\n <ax-content><ax-request-body></ax-request-body></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"3\" text=\"Auth\">\n <ax-content> <ax-rest-api-auth></ax-rest-api-auth></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"4\" text=\"Headers\">\n <ax-content> <ax-request-headers></ax-request-headers></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n", styles: ["@layer properties;@layer components{ax-rest-api-generator{display:flex;min-width:40rem;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}ax-rest-api-generator .ax-url-input-container ax-text-box>.ax-editor-container{gap:calc(var(--spacing, .25rem) * 0);padding-inline-start:calc(var(--spacing, .25rem) * 0)}ax-rest-api-generator .ax-url-input-container ax-text-box>.ax-editor-container>.ax-input{padding-inline-start:calc(var(--spacing, .25rem) * 3)}ax-rest-api-generator .ax-url-input-container ax-prefix{align-self:stretch;padding-inline-end:calc(var(--spacing, .25rem) * 0)}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select{display:block;height:100%;width:auto;min-width:6.5rem}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container{--ax-comp-editor-border-width: 0px !important;--ax-comp-editor-space-start-size: .75rem;--ax-comp-editor-space-end-size: .25rem;height:100%;min-height:calc(var(--spacing, .25rem) * 0);justify-content:flex-start;gap:calc(var(--spacing, .25rem) * 1);border-radius:0;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container.ax-editor-container{--ax-comp-editor-box-outline-width: 0}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container .ax-chips-container{min-height:calc(var(--spacing, .25rem) * 0);flex-wrap:nowrap;padding-inline:calc(var(--spacing, .25rem) * 0);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-rest-api-generator .ax-url-input-container ax-prefix .ax-rest-api-method-select ax-dropdown-box.ax-editor-container .ax-general-button-icon{flex-shrink:0;padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-rest-api-generator .ax-select-box{border-style:var(--tw-border-style);border-width:0px}}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "dropdownAnchor", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXQueryParamsComponent, selector: "ax-query-params" }, { kind: "component", type: AXRequestBodyComponent, selector: "ax-request-body" }, { kind: "component", type: AXRestApiAuthComponent, selector: "ax-rest-api-auth" }, { kind: "component", type: AXRequestHeadersComponent, selector: "ax-request-headers" }, { kind: "directive", type: AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
333
333
|
}
|
|
334
334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRestApiGeneratorComponent, decorators: [{
|
|
335
335
|
type: Component,
|