valtech-components 2.0.408 → 2.0.412
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/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +82 -0
- package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +2 -0
- package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +82 -0
- package/esm2022/lib/components/atoms/rights-footer/types.mjs +2 -0
- package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +55 -11
- package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +13 -4
- package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +27 -23
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +277 -0
- package/esm2022/lib/components/molecules/footer-links/types.mjs +2 -0
- package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +157 -0
- package/esm2022/lib/components/molecules/links-accordion/types.mjs +2 -0
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +12 -2
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +39 -9
- package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
- package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +13 -4
- package/esm2022/lib/components/molecules/recap-card/recap-card.component.mjs +78 -0
- package/esm2022/lib/components/molecules/recap-card/types.mjs +2 -0
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +31 -14
- package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +206 -0
- package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +2 -0
- package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +138 -0
- package/esm2022/lib/components/molecules/testimonial-card/types.mjs +2 -0
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +14 -4
- package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +61 -0
- package/esm2022/lib/components/organisms/cards-carousel/types.mjs +2 -0
- package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +72 -0
- package/esm2022/lib/components/organisms/company-footer/types.mjs +2 -0
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +184 -6
- package/esm2022/lib/components/organisms/data-table/types.mjs +1 -1
- package/esm2022/lib/components/organisms/form/form.component.mjs +2 -2
- package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +225 -0
- package/esm2022/lib/components/organisms/fun-header/types.mjs +2 -0
- package/esm2022/lib/components/organisms/menu/menu.component.mjs +197 -0
- package/esm2022/lib/components/organisms/menu/types.mjs +2 -0
- package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +72 -0
- package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-content/page-content.component.mjs +156 -0
- package/esm2022/lib/components/templates/page-content/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-template/page-template.component.mjs +181 -0
- package/esm2022/lib/components/templates/page-template/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +195 -0
- package/esm2022/lib/components/templates/page-wrapper/types.mjs +2 -0
- package/esm2022/lib/components/types.mjs +1 -1
- package/esm2022/lib/services/firebase/config.mjs +103 -0
- package/esm2022/lib/services/firebase/firebase.service.mjs +285 -0
- package/esm2022/lib/services/firebase/firestore-collection.mjs +266 -0
- package/esm2022/lib/services/firebase/firestore.service.mjs +508 -0
- package/esm2022/lib/services/firebase/index.mjs +46 -0
- package/esm2022/lib/services/firebase/messaging.service.mjs +503 -0
- package/esm2022/lib/services/firebase/storage.service.mjs +421 -0
- package/esm2022/lib/services/firebase/types.mjs +8 -0
- package/esm2022/lib/services/firebase/utils/path-builder.mjs +195 -0
- package/esm2022/lib/services/firebase/utils/query-builder.mjs +302 -0
- package/esm2022/public-api.mjs +33 -1
- package/fesm2022/valtech-components.mjs +5839 -862
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +41 -0
- package/lib/components/atoms/horizontal-scroll/types.d.ts +13 -0
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +39 -0
- package/lib/components/atoms/rights-footer/types.d.ts +13 -0
- package/lib/components/molecules/check-input/check-input.component.d.ts +17 -2
- package/lib/components/molecules/email-input/email-input.component.d.ts +1 -2
- package/lib/components/molecules/footer-links/footer-links.component.d.ts +47 -0
- package/lib/components/molecules/footer-links/types.d.ts +37 -0
- package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +48 -0
- package/lib/components/molecules/links-accordion/types.d.ts +33 -0
- package/lib/components/molecules/password-input/password-input.component.d.ts +1 -1
- package/lib/components/molecules/prompter/prompter.component.d.ts +9 -10
- package/lib/components/molecules/prompter/types.d.ts +7 -1
- package/lib/components/molecules/radio-input/radio-input.component.d.ts +1 -2
- package/lib/components/molecules/recap-card/recap-card.component.d.ts +36 -0
- package/lib/components/molecules/recap-card/types.d.ts +30 -0
- package/lib/components/molecules/select-input/select-input.component.d.ts +6 -1
- package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +66 -0
- package/lib/components/molecules/swipe-carousel/types.d.ts +35 -0
- package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +41 -0
- package/lib/components/molecules/testimonial-card/types.d.ts +25 -0
- package/lib/components/molecules/text-input/text-input.component.d.ts +13 -4
- package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +30 -0
- package/lib/components/organisms/cards-carousel/types.d.ts +11 -0
- package/lib/components/organisms/company-footer/company-footer.component.d.ts +32 -0
- package/lib/components/organisms/company-footer/types.d.ts +15 -0
- package/lib/components/organisms/data-table/data-table.component.d.ts +4 -1
- package/lib/components/organisms/data-table/types.d.ts +6 -0
- package/lib/components/organisms/fun-header/fun-header.component.d.ts +72 -0
- package/lib/components/organisms/fun-header/types.d.ts +28 -0
- package/lib/components/organisms/menu/menu.component.d.ts +39 -0
- package/lib/components/organisms/menu/types.d.ts +23 -0
- package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +33 -0
- package/lib/components/organisms/testimonial-carousel/types.d.ts +8 -0
- package/lib/components/templates/page-content/page-content.component.d.ts +55 -0
- package/lib/components/templates/page-content/types.d.ts +14 -0
- package/lib/components/templates/page-template/page-template.component.d.ts +49 -0
- package/lib/components/templates/page-template/types.d.ts +17 -0
- package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +61 -0
- package/lib/components/templates/page-wrapper/types.d.ts +19 -0
- package/lib/components/types.d.ts +14 -0
- package/lib/services/firebase/config.d.ts +49 -0
- package/lib/services/firebase/firebase.service.d.ts +140 -0
- package/lib/services/firebase/firestore-collection.d.ts +195 -0
- package/lib/services/firebase/firestore.service.d.ts +303 -0
- package/lib/services/firebase/index.d.ts +38 -0
- package/lib/services/firebase/messaging.service.d.ts +254 -0
- package/lib/services/firebase/storage.service.d.ts +204 -0
- package/lib/services/firebase/types.d.ts +279 -0
- package/lib/services/firebase/utils/path-builder.d.ts +132 -0
- package/lib/services/firebase/utils/query-builder.d.ts +210 -0
- package/package.json +3 -1
- package/public-api.d.ts +31 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import Swiper from 'swiper';
|
|
4
|
+
import { Autoplay, EffectCoverflow, EffectCube, EffectFade, EffectFlip, Navigation, Pagination } from 'swiper/modules';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
/**
|
|
8
|
+
* val-swipe-carousel
|
|
9
|
+
*
|
|
10
|
+
* A powerful carousel component built on Swiper with multiple transition effects,
|
|
11
|
+
* navigation, pagination, and responsive breakpoints.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <val-swipe-carousel
|
|
15
|
+
* [items]="slides"
|
|
16
|
+
* [itemTemplate]="slideTemplate"
|
|
17
|
+
* [props]="{ effect: 'coverflow', pagination: true }"
|
|
18
|
+
* ></val-swipe-carousel>
|
|
19
|
+
*
|
|
20
|
+
* <ng-template #slideTemplate let-item>
|
|
21
|
+
* <div class="slide-content">{{ item.title }}</div>
|
|
22
|
+
* </ng-template>
|
|
23
|
+
*
|
|
24
|
+
* @input items - Array of items to render as slides
|
|
25
|
+
* @input itemTemplate - Template reference for rendering each slide
|
|
26
|
+
* @input props - Configuration options (effect, pagination, navigation, etc.)
|
|
27
|
+
*/
|
|
28
|
+
export class SwipeCarouselComponent {
|
|
29
|
+
constructor() {
|
|
30
|
+
/**
|
|
31
|
+
* Array of items to render as slides.
|
|
32
|
+
*/
|
|
33
|
+
this.items = [];
|
|
34
|
+
this.defaultOptions = {
|
|
35
|
+
slidesPerView: 1,
|
|
36
|
+
spaceBetween: 10,
|
|
37
|
+
loop: true,
|
|
38
|
+
centeredSlides: true,
|
|
39
|
+
effect: 'slide',
|
|
40
|
+
pagination: true,
|
|
41
|
+
navigation: true,
|
|
42
|
+
scaleEffect: true,
|
|
43
|
+
breakpoints: {
|
|
44
|
+
768: {
|
|
45
|
+
slidesPerView: 1.5,
|
|
46
|
+
spaceBetween: 40,
|
|
47
|
+
},
|
|
48
|
+
1024: {
|
|
49
|
+
slidesPerView: 1.7,
|
|
50
|
+
spaceBetween: 50,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
ngOnChanges(changes) {
|
|
56
|
+
if (changes['items'] || changes['props']) {
|
|
57
|
+
this.destroySwiper();
|
|
58
|
+
if (this.items && this.items.length > 0 && this.swiperContainer) {
|
|
59
|
+
setTimeout(() => this.initSwiper(), 0);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ngAfterViewInit() {
|
|
64
|
+
if (this.items && this.items.length > 0) {
|
|
65
|
+
this.initSwiper();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
this.destroySwiper();
|
|
70
|
+
}
|
|
71
|
+
initSwiper() {
|
|
72
|
+
const options = { ...this.defaultOptions, ...this.props };
|
|
73
|
+
const swiperConfig = {
|
|
74
|
+
modules: [Navigation, Pagination, EffectFade, EffectCube, EffectCoverflow, EffectFlip, Autoplay],
|
|
75
|
+
slidesPerView: options.slidesPerView,
|
|
76
|
+
spaceBetween: options.spaceBetween,
|
|
77
|
+
loop: options.loop,
|
|
78
|
+
centeredSlides: options.centeredSlides,
|
|
79
|
+
effect: options.effect,
|
|
80
|
+
autoplay: options.autoplay,
|
|
81
|
+
breakpoints: options.breakpoints,
|
|
82
|
+
pagination: options.pagination !== false
|
|
83
|
+
? {
|
|
84
|
+
el: '.swiper-pagination',
|
|
85
|
+
clickable: true,
|
|
86
|
+
}
|
|
87
|
+
: false,
|
|
88
|
+
navigation: options.navigation !== false
|
|
89
|
+
? {
|
|
90
|
+
nextEl: '.swiper-button-next',
|
|
91
|
+
prevEl: '.swiper-button-prev',
|
|
92
|
+
}
|
|
93
|
+
: false,
|
|
94
|
+
};
|
|
95
|
+
// Effect-specific configurations
|
|
96
|
+
if (options.effect === 'coverflow') {
|
|
97
|
+
swiperConfig.coverflowEffect = {
|
|
98
|
+
rotate: 50,
|
|
99
|
+
stretch: 0,
|
|
100
|
+
depth: 100,
|
|
101
|
+
modifier: 1,
|
|
102
|
+
slideShadows: false,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (options.effect === 'cube') {
|
|
106
|
+
swiperConfig.cubeEffect = {
|
|
107
|
+
shadow: true,
|
|
108
|
+
slideShadows: true,
|
|
109
|
+
shadowOffset: 20,
|
|
110
|
+
shadowScale: 0.94,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
this.swiper = new Swiper(this.swiperContainer.nativeElement, swiperConfig);
|
|
114
|
+
}
|
|
115
|
+
destroySwiper() {
|
|
116
|
+
if (this.swiper) {
|
|
117
|
+
this.swiper.destroy(true, true);
|
|
118
|
+
this.swiper = undefined;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Public API for external control
|
|
122
|
+
/**
|
|
123
|
+
* Navigate to previous slide.
|
|
124
|
+
*/
|
|
125
|
+
slidePrev() {
|
|
126
|
+
this.swiper?.slidePrev();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Navigate to next slide.
|
|
130
|
+
*/
|
|
131
|
+
slideNext() {
|
|
132
|
+
this.swiper?.slideNext();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Navigate to specific slide by index.
|
|
136
|
+
*/
|
|
137
|
+
slideTo(index) {
|
|
138
|
+
this.swiper?.slideTo(index);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the Swiper instance for advanced control.
|
|
142
|
+
*/
|
|
143
|
+
getSwiperInstance() {
|
|
144
|
+
return this.swiper;
|
|
145
|
+
}
|
|
146
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwipeCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
147
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwipeCarouselComponent, isStandalone: true, selector: "val-swipe-carousel", inputs: { items: "items", itemTemplate: "itemTemplate", props: "props" }, viewQueries: [{ propertyName: "swiperContainer", first: true, predicate: ["swiperContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
148
|
+
<div
|
|
149
|
+
class="carousel-wrapper"
|
|
150
|
+
[class.scale-effect]="props?.scaleEffect !== false"
|
|
151
|
+
[class.no-padding]="!props?.navigation"
|
|
152
|
+
[style.padding]="props?.wrapperPadding"
|
|
153
|
+
>
|
|
154
|
+
<div class="swiper-container" #swiperContainer>
|
|
155
|
+
<div class="swiper-wrapper">
|
|
156
|
+
@for (item of items; track $index) {
|
|
157
|
+
<div class="swiper-slide">
|
|
158
|
+
<ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: $index }"></ng-container>
|
|
159
|
+
</div>
|
|
160
|
+
}
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<div *ngIf="props?.pagination !== false" class="swiper-pagination"></div>
|
|
164
|
+
</div>
|
|
165
|
+
|
|
166
|
+
<div *ngIf="props?.navigation !== false" class="swiper-button-prev"></div>
|
|
167
|
+
<div *ngIf="props?.navigation !== false" class="swiper-button-next"></div>
|
|
168
|
+
</div>
|
|
169
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--ion-color-medium, #999);opacity:.7;margin:0 4px;cursor:pointer;transition:all .3s ease}.swiper-pagination-bullet-active{opacity:1;background:var(--ion-color-primary, #3880ff);width:10px;height:10px}.carousel-wrapper{position:relative;width:100%;padding:0 50px}.carousel-wrapper.no-padding{padding:0}.carousel-wrapper .swiper-container{width:100%;overflow:visible}.carousel-wrapper .swiper-wrapper{padding-bottom:32px}.carousel-wrapper .swiper-slide{display:flex;justify-content:center;align-items:center;padding:2px 0}.carousel-wrapper.scale-effect .swiper-slide{transform:scale(.85);opacity:.7;transition:transform .3s ease,opacity .3s ease}.carousel-wrapper.scale-effect .swiper-slide.swiper-slide-active{transform:scale(1);opacity:1}.carousel-wrapper .swiper-pagination{bottom:0!important;left:50%;transform:translate(-50%);width:auto}.carousel-wrapper .swiper-button-prev,.carousel-wrapper .swiper-button-next{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);width:45px;height:45px;background-color:var(--ion-background-color, #ffffff);border-radius:50%;box-shadow:0 4px 10px #00000026;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:10;transition:box-shadow .2s ease,transform .2s ease;border:none;outline:none}.carousel-wrapper .swiper-button-prev:hover,.carousel-wrapper .swiper-button-next:hover{box-shadow:0 6px 14px #0003;transform:translateY(-50%) scale(1.05)}.carousel-wrapper .swiper-button-prev:after,.carousel-wrapper .swiper-button-next:after{font-size:24px;color:var(--ion-color-primary, #3880ff);font-weight:700}.carousel-wrapper .swiper-button-prev{left:0}.carousel-wrapper .swiper-button-prev:after{content:\"\\2039\"}.carousel-wrapper .swiper-button-next{right:0}.carousel-wrapper .swiper-button-next:after{content:\"\\203a\"}.carousel-wrapper .swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwipeCarouselComponent, decorators: [{
|
|
172
|
+
type: Component,
|
|
173
|
+
args: [{ selector: 'val-swipe-carousel', standalone: true, imports: [CommonModule], template: `
|
|
174
|
+
<div
|
|
175
|
+
class="carousel-wrapper"
|
|
176
|
+
[class.scale-effect]="props?.scaleEffect !== false"
|
|
177
|
+
[class.no-padding]="!props?.navigation"
|
|
178
|
+
[style.padding]="props?.wrapperPadding"
|
|
179
|
+
>
|
|
180
|
+
<div class="swiper-container" #swiperContainer>
|
|
181
|
+
<div class="swiper-wrapper">
|
|
182
|
+
@for (item of items; track $index) {
|
|
183
|
+
<div class="swiper-slide">
|
|
184
|
+
<ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: $index }"></ng-container>
|
|
185
|
+
</div>
|
|
186
|
+
}
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<div *ngIf="props?.pagination !== false" class="swiper-pagination"></div>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
<div *ngIf="props?.navigation !== false" class="swiper-button-prev"></div>
|
|
193
|
+
<div *ngIf="props?.navigation !== false" class="swiper-button-next"></div>
|
|
194
|
+
</div>
|
|
195
|
+
`, styles: ["@charset \"UTF-8\";.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--ion-color-medium, #999);opacity:.7;margin:0 4px;cursor:pointer;transition:all .3s ease}.swiper-pagination-bullet-active{opacity:1;background:var(--ion-color-primary, #3880ff);width:10px;height:10px}.carousel-wrapper{position:relative;width:100%;padding:0 50px}.carousel-wrapper.no-padding{padding:0}.carousel-wrapper .swiper-container{width:100%;overflow:visible}.carousel-wrapper .swiper-wrapper{padding-bottom:32px}.carousel-wrapper .swiper-slide{display:flex;justify-content:center;align-items:center;padding:2px 0}.carousel-wrapper.scale-effect .swiper-slide{transform:scale(.85);opacity:.7;transition:transform .3s ease,opacity .3s ease}.carousel-wrapper.scale-effect .swiper-slide.swiper-slide-active{transform:scale(1);opacity:1}.carousel-wrapper .swiper-pagination{bottom:0!important;left:50%;transform:translate(-50%);width:auto}.carousel-wrapper .swiper-button-prev,.carousel-wrapper .swiper-button-next{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);width:45px;height:45px;background-color:var(--ion-background-color, #ffffff);border-radius:50%;box-shadow:0 4px 10px #00000026;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:10;transition:box-shadow .2s ease,transform .2s ease;border:none;outline:none}.carousel-wrapper .swiper-button-prev:hover,.carousel-wrapper .swiper-button-next:hover{box-shadow:0 6px 14px #0003;transform:translateY(-50%) scale(1.05)}.carousel-wrapper .swiper-button-prev:after,.carousel-wrapper .swiper-button-next:after{font-size:24px;color:var(--ion-color-primary, #3880ff);font-weight:700}.carousel-wrapper .swiper-button-prev{left:0}.carousel-wrapper .swiper-button-prev:after{content:\"\\2039\"}.carousel-wrapper .swiper-button-next{right:0}.carousel-wrapper .swiper-button-next:after{content:\"\\203a\"}.carousel-wrapper .swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}\n"] }]
|
|
196
|
+
}], propDecorators: { items: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], itemTemplate: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], props: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], swiperContainer: [{
|
|
203
|
+
type: ViewChild,
|
|
204
|
+
args: ['swiperContainer']
|
|
205
|
+
}] } });
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zd2lwZS1jYXJvdXNlbC9zd2lwZS1jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHdkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBOEJILE1BQU0sT0FBTyxzQkFBc0I7SUE3Qm5DO1FBOEJFOztXQUVHO1FBQ00sVUFBSyxHQUFRLEVBQUUsQ0FBQztRQWlCakIsbUJBQWMsR0FBMEI7WUFDOUMsYUFBYSxFQUFFLENBQUM7WUFDaEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxFQUFFLElBQUk7WUFDVixjQUFjLEVBQUUsSUFBSTtZQUNwQixNQUFNLEVBQUUsT0FBTztZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUU7b0JBQ0gsYUFBYSxFQUFFLEdBQUc7b0JBQ2xCLFlBQVksRUFBRSxFQUFFO2lCQUNqQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osYUFBYSxFQUFFLEdBQUc7b0JBQ2xCLFlBQVksRUFBRSxFQUFFO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztLQTRHSDtJQTFHQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNoRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUxRCxNQUFNLFlBQVksR0FBUTtZQUN4QixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDaEcsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLFVBQVUsRUFDUixPQUFPLENBQUMsVUFBVSxLQUFLLEtBQUs7Z0JBQzFCLENBQUMsQ0FBQztvQkFDRSxFQUFFLEVBQUUsb0JBQW9CO29CQUN4QixTQUFTLEVBQUUsSUFBSTtpQkFDaEI7Z0JBQ0gsQ0FBQyxDQUFDLEtBQUs7WUFDWCxVQUFVLEVBQ1IsT0FBTyxDQUFDLFVBQVUsS0FBSyxLQUFLO2dCQUMxQixDQUFDLENBQUM7b0JBQ0UsTUFBTSxFQUFFLHFCQUFxQjtvQkFDN0IsTUFBTSxFQUFFLHFCQUFxQjtpQkFDOUI7Z0JBQ0gsQ0FBQyxDQUFDLEtBQUs7U0FDWixDQUFDO1FBRUYsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxZQUFZLENBQUMsZUFBZSxHQUFHO2dCQUM3QixNQUFNLEVBQUUsRUFBRTtnQkFDVixPQUFPLEVBQUUsQ0FBQztnQkFDVixLQUFLLEVBQUUsR0FBRztnQkFDVixRQUFRLEVBQUUsQ0FBQztnQkFDWCxZQUFZLEVBQUUsS0FBSzthQUNwQixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5QixZQUFZLENBQUMsVUFBVSxHQUFHO2dCQUN4QixNQUFNLEVBQUUsSUFBSTtnQkFDWixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxrQ0FBa0M7SUFFbEM7O09BRUc7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzsrR0FuSlUsc0JBQXNCO21HQUF0QixzQkFBc0IsaVNBekJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVCxpL0VBdkJTLFlBQVk7OzRGQTBCWCxzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDs4QkFPUSxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRXdCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2lwZXIgZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IEF1dG9wbGF5LCBFZmZlY3RDb3ZlcmZsb3csIEVmZmVjdEN1YmUsIEVmZmVjdEZhZGUsIEVmZmVjdEZsaXAsIE5hdmlnYXRpb24sIFBhZ2luYXRpb24gfSBmcm9tICdzd2lwZXIvbW9kdWxlcyc7XG5pbXBvcnQgeyBTd2lwZUNhcm91c2VsTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtc3dpcGUtY2Fyb3VzZWxcbiAqXG4gKiBBIHBvd2VyZnVsIGNhcm91c2VsIGNvbXBvbmVudCBidWlsdCBvbiBTd2lwZXIgd2l0aCBtdWx0aXBsZSB0cmFuc2l0aW9uIGVmZmVjdHMsXG4gKiBuYXZpZ2F0aW9uLCBwYWdpbmF0aW9uLCBhbmQgcmVzcG9uc2l2ZSBicmVha3BvaW50cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1zd2lwZS1jYXJvdXNlbFxuICogICBbaXRlbXNdPVwic2xpZGVzXCJcbiAqICAgW2l0ZW1UZW1wbGF0ZV09XCJzbGlkZVRlbXBsYXRlXCJcbiAqICAgW3Byb3BzXT1cInsgZWZmZWN0OiAnY292ZXJmbG93JywgcGFnaW5hdGlvbjogdHJ1ZSB9XCJcbiAqID48L3ZhbC1zd2lwZS1jYXJvdXNlbD5cbiAqXG4gKiA8bmctdGVtcGxhdGUgI3NsaWRlVGVtcGxhdGUgbGV0LWl0ZW0+XG4gKiAgIDxkaXYgY2xhc3M9XCJzbGlkZS1jb250ZW50XCI+e3sgaXRlbS50aXRsZSB9fTwvZGl2PlxuICogPC9uZy10ZW1wbGF0ZT5cbiAqXG4gKiBAaW5wdXQgaXRlbXMgLSBBcnJheSBvZiBpdGVtcyB0byByZW5kZXIgYXMgc2xpZGVzXG4gKiBAaW5wdXQgaXRlbVRlbXBsYXRlIC0gVGVtcGxhdGUgcmVmZXJlbmNlIGZvciByZW5kZXJpbmcgZWFjaCBzbGlkZVxuICogQGlucHV0IHByb3BzIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIChlZmZlY3QsIHBhZ2luYXRpb24sIG5hdmlnYXRpb24sIGV0Yy4pXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zd2lwZS1jYXJvdXNlbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2Fyb3VzZWwtd3JhcHBlclwiXG4gICAgICBbY2xhc3Muc2NhbGUtZWZmZWN0XT1cInByb3BzPy5zY2FsZUVmZmVjdCAhPT0gZmFsc2VcIlxuICAgICAgW2NsYXNzLm5vLXBhZGRpbmddPVwiIXByb3BzPy5uYXZpZ2F0aW9uXCJcbiAgICAgIFtzdHlsZS5wYWRkaW5nXT1cInByb3BzPy53cmFwcGVyUGFkZGluZ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1jb250YWluZXJcIiAjc3dpcGVyQ29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiAkaW5kZXggfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcHM/LnBhZ2luYXRpb24gIT09IGZhbHNlXCIgY2xhc3M9XCJzd2lwZXItcGFnaW5hdGlvblwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJwcm9wcz8ubmF2aWdhdGlvbiAhPT0gZmFsc2VcIiBjbGFzcz1cInN3aXBlci1idXR0b24tcHJldlwiPjwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInByb3BzPy5uYXZpZ2F0aW9uICE9PSBmYWxzZVwiIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3N3aXBlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN3aXBlQ2Fyb3VzZWxDb21wb25lbnQ8VCA9IGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBpdGVtcyB0byByZW5kZXIgYXMgc2xpZGVzLlxuICAgKi9cbiAgQElucHV0KCkgaXRlbXM6IFRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHJlbmRlcmluZyBlYWNoIHNsaWRlLlxuICAgKiBUaGUgdGVtcGxhdGUgcmVjZWl2ZXMgdGhlIGl0ZW0gYXMgaW1wbGljaXQgY29udGV4dCBhbmQgaW5kZXggYXMgJ2luZGV4Jy5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGNhcm91c2VsLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM/OiBTd2lwZUNhcm91c2VsTWV0YWRhdGE7XG5cbiAgQFZpZXdDaGlsZCgnc3dpcGVyQ29udGFpbmVyJykgc3dpcGVyQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIHN3aXBlcj86IFN3aXBlcjtcblxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBTd2lwZUNhcm91c2VsTWV0YWRhdGEgPSB7XG4gICAgc2xpZGVzUGVyVmlldzogMSxcbiAgICBzcGFjZUJldHdlZW46IDEwLFxuICAgIGxvb3A6IHRydWUsXG4gICAgY2VudGVyZWRTbGlkZXM6IHRydWUsXG4gICAgZWZmZWN0OiAnc2xpZGUnLFxuICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgbmF2aWdhdGlvbjogdHJ1ZSxcbiAgICBzY2FsZUVmZmVjdDogdHJ1ZSxcbiAgICBicmVha3BvaW50czoge1xuICAgICAgNzY4OiB7XG4gICAgICAgIHNsaWRlc1BlclZpZXc6IDEuNSxcbiAgICAgICAgc3BhY2VCZXR3ZWVuOiA0MCxcbiAgICAgIH0sXG4gICAgICAxMDI0OiB7XG4gICAgICAgIHNsaWRlc1BlclZpZXc6IDEuNyxcbiAgICAgICAgc3BhY2VCZXR3ZWVuOiA1MCxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5kZXN0cm95U3dpcGVyKCk7XG4gICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5zd2lwZXJDb250YWluZXIpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluaXRTd2lwZXIoKSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pbml0U3dpcGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95U3dpcGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTd2lwZXIoKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4udGhpcy5wcm9wcyB9O1xuXG4gICAgY29uc3Qgc3dpcGVyQ29uZmlnOiBhbnkgPSB7XG4gICAgICBtb2R1bGVzOiBbTmF2aWdhdGlvbiwgUGFnaW5hdGlvbiwgRWZmZWN0RmFkZSwgRWZmZWN0Q3ViZSwgRWZmZWN0Q292ZXJmbG93LCBFZmZlY3RGbGlwLCBBdXRvcGxheV0sXG4gICAgICBzbGlkZXNQZXJWaWV3OiBvcHRpb25zLnNsaWRlc1BlclZpZXcsXG4gICAgICBzcGFjZUJldHdlZW46IG9wdGlvbnMuc3BhY2VCZXR3ZWVuLFxuICAgICAgbG9vcDogb3B0aW9ucy5sb29wLFxuICAgICAgY2VudGVyZWRTbGlkZXM6IG9wdGlvbnMuY2VudGVyZWRTbGlkZXMsXG4gICAgICBlZmZlY3Q6IG9wdGlvbnMuZWZmZWN0LFxuICAgICAgYXV0b3BsYXk6IG9wdGlvbnMuYXV0b3BsYXksXG4gICAgICBicmVha3BvaW50czogb3B0aW9ucy5icmVha3BvaW50cyxcbiAgICAgIHBhZ2luYXRpb246XG4gICAgICAgIG9wdGlvbnMucGFnaW5hdGlvbiAhPT0gZmFsc2VcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZWw6ICcuc3dpcGVyLXBhZ2luYXRpb24nLFxuICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBmYWxzZSxcbiAgICAgIG5hdmlnYXRpb246XG4gICAgICAgIG9wdGlvbnMubmF2aWdhdGlvbiAhPT0gZmFsc2VcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICAgICAgICAgIHByZXZFbDogJy5zd2lwZXItYnV0dG9uLXByZXYnLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIEVmZmVjdC1zcGVjaWZpYyBjb25maWd1cmF0aW9uc1xuICAgIGlmIChvcHRpb25zLmVmZmVjdCA9PT0gJ2NvdmVyZmxvdycpIHtcbiAgICAgIHN3aXBlckNvbmZpZy5jb3ZlcmZsb3dFZmZlY3QgPSB7XG4gICAgICAgIHJvdGF0ZTogNTAsXG4gICAgICAgIHN0cmV0Y2g6IDAsXG4gICAgICAgIGRlcHRoOiAxMDAsXG4gICAgICAgIG1vZGlmaWVyOiAxLFxuICAgICAgICBzbGlkZVNoYWRvd3M6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5lZmZlY3QgPT09ICdjdWJlJykge1xuICAgICAgc3dpcGVyQ29uZmlnLmN1YmVFZmZlY3QgPSB7XG4gICAgICAgIHNoYWRvdzogdHJ1ZSxcbiAgICAgICAgc2xpZGVTaGFkb3dzOiB0cnVlLFxuICAgICAgICBzaGFkb3dPZmZzZXQ6IDIwLFxuICAgICAgICBzaGFkb3dTY2FsZTogMC45NCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5zd2lwZXIgPSBuZXcgU3dpcGVyKHRoaXMuc3dpcGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHN3aXBlckNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lTd2lwZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3dpcGVyKSB7XG4gICAgICB0aGlzLnN3aXBlci5kZXN0cm95KHRydWUsIHRydWUpO1xuICAgICAgdGhpcy5zd2lwZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUHVibGljIEFQSSBmb3IgZXh0ZXJuYWwgY29udHJvbFxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSB0byBwcmV2aW91cyBzbGlkZS5cbiAgICovXG4gIHNsaWRlUHJldigpOiB2b2lkIHtcbiAgICB0aGlzLnN3aXBlcj8uc2xpZGVQcmV2KCk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGUgdG8gbmV4dCBzbGlkZS5cbiAgICovXG4gIHNsaWRlTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnN3aXBlcj8uc2xpZGVOZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGUgdG8gc3BlY2lmaWMgc2xpZGUgYnkgaW5kZXguXG4gICAqL1xuICBzbGlkZVRvKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN3aXBlcj8uc2xpZGVUbyhpbmRleCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTd2lwZXIgaW5zdGFuY2UgZm9yIGFkdmFuY2VkIGNvbnRyb2wuXG4gICAqL1xuICBnZXRTd2lwZXJJbnN0YW5jZSgpOiBTd2lwZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnN3aXBlcjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3N3aXBlLWNhcm91c2VsL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIFN3aXBlciBjYXJvdXNlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2lwZUNhcm91c2VsTWV0YWRhdGEge1xuICAvKiogTnVtYmVyIG9mIHNsaWRlcyBwZXIgdmlldy4gRGVmYXVsdDogMSAqL1xuICBzbGlkZXNQZXJWaWV3PzogbnVtYmVyIHwgJ2F1dG8nO1xuICAvKiogU3BhY2UgYmV0d2VlbiBzbGlkZXMgaW4gcGl4ZWxzLiBEZWZhdWx0OiAxMCAqL1xuICBzcGFjZUJldHdlZW4/OiBudW1iZXI7XG4gIC8qKiBFbmFibGUgaW5maW5pdGUgbG9vcC4gRGVmYXVsdDogdHJ1ZSAqL1xuICBsb29wPzogYm9vbGVhbjtcbiAgLyoqIENlbnRlciBhY3RpdmUgc2xpZGUuIERlZmF1bHQ6IHRydWUgKi9cbiAgY2VudGVyZWRTbGlkZXM/OiBib29sZWFuO1xuICAvKiogVHJhbnNpdGlvbiBlZmZlY3QuIERlZmF1bHQ6ICdzbGlkZScgKi9cbiAgZWZmZWN0PzogJ3NsaWRlJyB8ICdmYWRlJyB8ICdjdWJlJyB8ICdjb3ZlcmZsb3cnIHwgJ2ZsaXAnO1xuICAvKiogQXV0b3BsYXkgY29uZmlndXJhdGlvbi4gRGVmYXVsdDogZmFsc2UgKi9cbiAgYXV0b3BsYXk/OiBib29sZWFuIHwgeyBkZWxheTogbnVtYmVyOyBkaXNhYmxlT25JbnRlcmFjdGlvbjogYm9vbGVhbiB9O1xuICAvKiogUmVzcG9uc2l2ZSBicmVha3BvaW50cyAqL1xuICBicmVha3BvaW50cz86IHtcbiAgICBbd2lkdGg6IG51bWJlcl06IHtcbiAgICAgIHNsaWRlc1BlclZpZXc/OiBudW1iZXIgfCAnYXV0byc7XG4gICAgICBzcGFjZUJldHdlZW4/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIFNob3cgcGFnaW5hdGlvbiBidWxsZXRzLiBEZWZhdWx0OiB0cnVlICovXG4gIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICAvKiogU2hvdyBuYXZpZ2F0aW9uIGFycm93cy4gRGVmYXVsdDogdHJ1ZSAqL1xuICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIEFwcGx5IHNjYWxlIGVmZmVjdCB0byBpbmFjdGl2ZSBzbGlkZXMuIERlZmF1bHQ6IHRydWUgKi9cbiAgc2NhbGVFZmZlY3Q/OiBib29sZWFuO1xuICAvKiogUGFkZGluZyBmb3IgdGhlIGNhcm91c2VsIHdyYXBwZXIuIERlZmF1bHQ6ICcwIDMycHgnICovXG4gIHdyYXBwZXJQYWRkaW5nPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, inject, Input } from '@angular/core';
|
|
3
|
+
import { IonCard, IonCardContent } from '@ionic/angular/standalone';
|
|
4
|
+
import { ThemeService } from '../../../services/theme.service';
|
|
5
|
+
import { ImageComponent } from '../../atoms/image/image.component';
|
|
6
|
+
import { ButtonGroupComponent } from '../button-group/button-group.component';
|
|
7
|
+
import { LinkComponent } from '../link/link.component';
|
|
8
|
+
import { TitleBlockComponent } from '../title-block/title-block.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
/**
|
|
12
|
+
* val-testimonial-card
|
|
13
|
+
*
|
|
14
|
+
* A card component for testimonials with image, title, link, and action buttons.
|
|
15
|
+
* Supports dynamic background gradients and dark mode overlay.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <val-testimonial-card
|
|
19
|
+
* [props]="{
|
|
20
|
+
* title: { title: 'John Doe', subtitle: 'CEO, Company' },
|
|
21
|
+
* link: { text: 'Read full story', url: '#' },
|
|
22
|
+
* image: { src: 'avatar.jpg', alt: 'John Doe' },
|
|
23
|
+
* color: 'primary'
|
|
24
|
+
* }"
|
|
25
|
+
* ></val-testimonial-card>
|
|
26
|
+
*
|
|
27
|
+
* @input props - Card configuration (title, link, image, color, background, actions)
|
|
28
|
+
*/
|
|
29
|
+
export class TestimonialCardComponent {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.theme = inject(ThemeService);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Gets the effective color/background.
|
|
35
|
+
* Supports: Ionic color names (primary, secondary), CSS variables (--my-color),
|
|
36
|
+
* direct colors (#fff, rgb()), or url() for images.
|
|
37
|
+
*/
|
|
38
|
+
getColor() {
|
|
39
|
+
const color = this.props.background || this.props.color || 'secondary';
|
|
40
|
+
// If it's a CSS variable, url, gradient, or direct color value, return as-is
|
|
41
|
+
if (color.startsWith('--') ||
|
|
42
|
+
color.startsWith('var(') ||
|
|
43
|
+
color.startsWith('url(') ||
|
|
44
|
+
color.startsWith('#') ||
|
|
45
|
+
color.startsWith('rgb') ||
|
|
46
|
+
color.startsWith('hsl') ||
|
|
47
|
+
color.includes('gradient')) {
|
|
48
|
+
return color.startsWith('--') ? `var(${color})` : color;
|
|
49
|
+
}
|
|
50
|
+
// Assume it's an Ionic color name
|
|
51
|
+
return `var(--ion-color-${color})`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Generates dynamic card styles with overlay based on theme.
|
|
55
|
+
*/
|
|
56
|
+
cardStyle() {
|
|
57
|
+
const isDark = this.theme.IsDark;
|
|
58
|
+
const overlay = isDark
|
|
59
|
+
? 'linear-gradient(0deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.45) 100%)'
|
|
60
|
+
: 'linear-gradient(0deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.55) 100%)';
|
|
61
|
+
const color = this.getColor();
|
|
62
|
+
// If color is an image URL
|
|
63
|
+
if (typeof color === 'string' && color.startsWith('url(')) {
|
|
64
|
+
return {
|
|
65
|
+
backgroundImage: `${overlay}, ${color}`,
|
|
66
|
+
backgroundSize: 'cover',
|
|
67
|
+
backgroundPosition: 'center',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// Gradient overlay over any background
|
|
71
|
+
return {
|
|
72
|
+
backgroundImage: `${overlay}, linear-gradient(200deg, var(--ion-color-light) 2%, ${color} 95%)`,
|
|
73
|
+
backgroundSize: 'cover',
|
|
74
|
+
backgroundPosition: 'center',
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TestimonialCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TestimonialCardComponent, isStandalone: true, selector: "val-testimonial-card", inputs: { props: "props" }, ngImport: i0, template: `
|
|
79
|
+
<ion-card class="testimonial-card" [ngStyle]="cardStyle()">
|
|
80
|
+
<ion-card-content
|
|
81
|
+
class="testimonial-card__content"
|
|
82
|
+
[style.min-height]="props.minHeight || '450px'"
|
|
83
|
+
[style.max-height]="props.minHeight || '450px'"
|
|
84
|
+
[style.min-width]="props.minWidth || '300px'"
|
|
85
|
+
>
|
|
86
|
+
<section>
|
|
87
|
+
@if (props.image) {
|
|
88
|
+
<section class="image-container">
|
|
89
|
+
<val-image style="display: contents;" [props]="props.image" />
|
|
90
|
+
</section>
|
|
91
|
+
}
|
|
92
|
+
<val-title-block [props]="props.title" />
|
|
93
|
+
</section>
|
|
94
|
+
|
|
95
|
+
@if (props.link) {
|
|
96
|
+
<val-link [props]="props.link" />
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@if (props.actions) {
|
|
100
|
+
<val-button-group [props]="props.actions" />
|
|
101
|
+
}
|
|
102
|
+
</ion-card-content>
|
|
103
|
+
</ion-card>
|
|
104
|
+
`, isInline: true, styles: [".testimonial-card{position:relative;overflow:hidden;border-radius:16px;margin:10px}.testimonial-card .testimonial-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:450px;max-height:450px;min-width:300px;padding:16px}.testimonial-card .image-container{display:flex;justify-content:center;margin-bottom:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: LinkComponent, selector: "val-link", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: TitleBlockComponent, selector: "val-title-block", inputs: ["props"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }] }); }
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TestimonialCardComponent, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: 'val-testimonial-card', standalone: true, imports: [CommonModule, IonCard, IonCardContent, LinkComponent, TitleBlockComponent, ImageComponent, ButtonGroupComponent], template: `
|
|
109
|
+
<ion-card class="testimonial-card" [ngStyle]="cardStyle()">
|
|
110
|
+
<ion-card-content
|
|
111
|
+
class="testimonial-card__content"
|
|
112
|
+
[style.min-height]="props.minHeight || '450px'"
|
|
113
|
+
[style.max-height]="props.minHeight || '450px'"
|
|
114
|
+
[style.min-width]="props.minWidth || '300px'"
|
|
115
|
+
>
|
|
116
|
+
<section>
|
|
117
|
+
@if (props.image) {
|
|
118
|
+
<section class="image-container">
|
|
119
|
+
<val-image style="display: contents;" [props]="props.image" />
|
|
120
|
+
</section>
|
|
121
|
+
}
|
|
122
|
+
<val-title-block [props]="props.title" />
|
|
123
|
+
</section>
|
|
124
|
+
|
|
125
|
+
@if (props.link) {
|
|
126
|
+
<val-link [props]="props.link" />
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@if (props.actions) {
|
|
130
|
+
<val-button-group [props]="props.actions" />
|
|
131
|
+
}
|
|
132
|
+
</ion-card-content>
|
|
133
|
+
</ion-card>
|
|
134
|
+
`, styles: [".testimonial-card{position:relative;overflow:hidden;border-radius:16px;margin:10px}.testimonial-card .testimonial-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:450px;max-height:450px;min-width:300px;padding:16px}.testimonial-card .image-container{display:flex;justify-content:center;margin-bottom:16px}\n"] }]
|
|
135
|
+
}], propDecorators: { props: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Rlc3RpbW9uaWFsLWNhcmQvdGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBa0NILE1BQU0sT0FBTyx3QkFBd0I7SUFqQ3JDO1FBa0NVLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0EwRHRDO0lBbkRDOzs7O09BSUc7SUFDSyxRQUFRO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDO1FBRXZFLDZFQUE2RTtRQUM3RSxJQUNFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ3JCLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQzFCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRCxDQUFDO1FBRUQsa0NBQWtDO1FBQ2xDLE9BQU8sbUJBQW1CLEtBQUssR0FBRyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNO1lBQ3BCLENBQUMsQ0FBQyxtRUFBbUU7WUFDckUsQ0FBQyxDQUFDLCtFQUErRSxDQUFDO1FBQ3BGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QiwyQkFBMkI7UUFDM0IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFELE9BQU87Z0JBQ0wsZUFBZSxFQUFFLEdBQUcsT0FBTyxLQUFLLEtBQUssRUFBRTtnQkFDdkMsY0FBYyxFQUFFLE9BQU87Z0JBQ3ZCLGtCQUFrQixFQUFFLFFBQVE7YUFDN0IsQ0FBQztRQUNKLENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsT0FBTztZQUNMLGVBQWUsRUFBRSxHQUFHLE9BQU8sd0RBQXdELEtBQUssT0FBTztZQUMvRixjQUFjLEVBQUUsT0FBTztZQUN2QixrQkFBa0IsRUFBRSxRQUFRO1NBQzdCLENBQUM7SUFDSixDQUFDOytHQTFEVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw0R0E3QnpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVCw2Y0EzQlMsWUFBWSxvSEFBRSxPQUFPLHlMQUFFLGNBQWMsK0VBQUUsYUFBYSw4RkFBRSxtQkFBbUIsK0VBQUUsY0FBYyx5RUFBRSxvQkFBb0I7OzRGQThCOUcsd0JBQXdCO2tCQWpDcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxZQUNoSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7OEJBU1EsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQ2FyZCwgSW9uQ2FyZENvbnRlbnQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi4vdGl0bGUtYmxvY2svdGl0bGUtYmxvY2suY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RpbW9uaWFsQ2FyZE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLXRlc3RpbW9uaWFsLWNhcmRcbiAqXG4gKiBBIGNhcmQgY29tcG9uZW50IGZvciB0ZXN0aW1vbmlhbHMgd2l0aCBpbWFnZSwgdGl0bGUsIGxpbmssIGFuZCBhY3Rpb24gYnV0dG9ucy5cbiAqIFN1cHBvcnRzIGR5bmFtaWMgYmFja2dyb3VuZCBncmFkaWVudHMgYW5kIGRhcmsgbW9kZSBvdmVybGF5LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXRlc3RpbW9uaWFsLWNhcmRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogeyB0aXRsZTogJ0pvaG4gRG9lJywgc3VidGl0bGU6ICdDRU8sIENvbXBhbnknIH0sXG4gKiAgICAgbGluazogeyB0ZXh0OiAnUmVhZCBmdWxsIHN0b3J5JywgdXJsOiAnIycgfSxcbiAqICAgICBpbWFnZTogeyBzcmM6ICdhdmF0YXIuanBnJywgYWx0OiAnSm9obiBEb2UnIH0sXG4gKiAgICAgY29sb3I6ICdwcmltYXJ5J1xuICogICB9XCJcbiAqID48L3ZhbC10ZXN0aW1vbmlhbC1jYXJkPlxuICpcbiAqIEBpbnB1dCBwcm9wcyAtIENhcmQgY29uZmlndXJhdGlvbiAodGl0bGUsIGxpbmssIGltYWdlLCBjb2xvciwgYmFja2dyb3VuZCwgYWN0aW9ucylcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRlc3RpbW9uaWFsLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25DYXJkLCBJb25DYXJkQ29udGVudCwgTGlua0NvbXBvbmVudCwgVGl0bGVCbG9ja0NvbXBvbmVudCwgSW1hZ2VDb21wb25lbnQsIEJ1dHRvbkdyb3VwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmQgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1jYXJkXCIgW25nU3R5bGVdPVwiY2FyZFN0eWxlKClcIj5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50XG4gICAgICAgIGNsYXNzPVwidGVzdGltb25pYWwtY2FyZF9fY29udGVudFwiXG4gICAgICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cInByb3BzLm1pbkhlaWdodCB8fCAnNDUwcHgnXCJcbiAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwicHJvcHMubWluSGVpZ2h0IHx8ICc0NTBweCdcIlxuICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cInByb3BzLm1pbldpZHRoIHx8ICczMDBweCdcIlxuICAgICAgPlxuICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICBAaWYgKHByb3BzLmltYWdlKSB7XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8dmFsLWltYWdlIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCIgW3Byb3BzXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHZhbC10aXRsZS1ibG9jayBbcHJvcHNdPVwicHJvcHMudGl0bGVcIiAvPlxuICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgQGlmIChwcm9wcy5saW5rKSB7XG4gICAgICAgICAgPHZhbC1saW5rIFtwcm9wc109XCJwcm9wcy5saW5rXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAocHJvcHMuYWN0aW9ucykge1xuICAgICAgICAgIDx2YWwtYnV0dG9uLWdyb3VwIFtwcm9wc109XCJwcm9wcy5hY3Rpb25zXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgIDwvaW9uLWNhcmQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Rlc3RpbW9uaWFsLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGVzdGltb25pYWxDYXJkQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSB0aGVtZSA9IGluamVjdChUaGVtZVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBDYXJkIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wcyE6IFRlc3RpbW9uaWFsQ2FyZE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBlZmZlY3RpdmUgY29sb3IvYmFja2dyb3VuZC5cbiAgICogU3VwcG9ydHM6IElvbmljIGNvbG9yIG5hbWVzIChwcmltYXJ5LCBzZWNvbmRhcnkpLCBDU1MgdmFyaWFibGVzICgtLW15LWNvbG9yKSxcbiAgICogZGlyZWN0IGNvbG9ycyAoI2ZmZiwgcmdiKCkpLCBvciB1cmwoKSBmb3IgaW1hZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb2xvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5wcm9wcy5iYWNrZ3JvdW5kIHx8IHRoaXMucHJvcHMuY29sb3IgfHwgJ3NlY29uZGFyeSc7XG5cbiAgICAvLyBJZiBpdCdzIGEgQ1NTIHZhcmlhYmxlLCB1cmwsIGdyYWRpZW50LCBvciBkaXJlY3QgY29sb3IgdmFsdWUsIHJldHVybiBhcy1pc1xuICAgIGlmIChcbiAgICAgIGNvbG9yLnN0YXJ0c1dpdGgoJy0tJykgfHxcbiAgICAgIGNvbG9yLnN0YXJ0c1dpdGgoJ3ZhcignKSB8fFxuICAgICAgY29sb3Iuc3RhcnRzV2l0aCgndXJsKCcpIHx8XG4gICAgICBjb2xvci5zdGFydHNXaXRoKCcjJykgfHxcbiAgICAgIGNvbG9yLnN0YXJ0c1dpdGgoJ3JnYicpIHx8XG4gICAgICBjb2xvci5zdGFydHNXaXRoKCdoc2wnKSB8fFxuICAgICAgY29sb3IuaW5jbHVkZXMoJ2dyYWRpZW50JylcbiAgICApIHtcbiAgICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpID8gYHZhcigke2NvbG9yfSlgIDogY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIGl0J3MgYW4gSW9uaWMgY29sb3IgbmFtZVxuICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGR5bmFtaWMgY2FyZCBzdHlsZXMgd2l0aCBvdmVybGF5IGJhc2VkIG9uIHRoZW1lLlxuICAgKi9cbiAgY2FyZFN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGlzRGFyayA9IHRoaXMudGhlbWUuSXNEYXJrO1xuICAgIGNvbnN0IG92ZXJsYXkgPSBpc0RhcmtcbiAgICAgID8gJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuNDUpIDAlLCByZ2JhKDAsMCwwLDAuNDUpIDEwMCUpJ1xuICAgICAgOiAnbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC41NSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC41NSkgMTAwJSknO1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5nZXRDb2xvcigpO1xuXG4gICAgLy8gSWYgY29sb3IgaXMgYW4gaW1hZ2UgVVJMXG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ3N0cmluZycgJiYgY29sb3Iuc3RhcnRzV2l0aCgndXJsKCcpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGAke292ZXJsYXl9LCAke2NvbG9yfWAsXG4gICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHcmFkaWVudCBvdmVybGF5IG92ZXIgYW55IGJhY2tncm91bmRcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2dyb3VuZEltYWdlOiBgJHtvdmVybGF5fSwgbGluZWFyLWdyYWRpZW50KDIwMGRlZywgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KSAyJSwgJHtjb2xvcn0gOTUlKWAsXG4gICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvdmVyJyxcbiAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Rlc3RpbW9uaWFsLWNhcmQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkdyb3VwTWV0YWRhdGEgfSBmcm9tICcuLi9idXR0b24tZ3JvdXAvdHlwZXMnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcbmltcG9ydCB7IExpbmtNZXRhZGF0YSB9IGZyb20gJy4uL2xpbmsvdHlwZXMnO1xuaW1wb3J0IHsgVGl0bGVCbG9ja01ldGFkYSB9IGZyb20gJy4uL3RpdGxlLWJsb2NrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgdGVzdGltb25pYWwgY2FyZCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdGltb25pYWxDYXJkTWV0YWRhdGEge1xuICAvKiogVGl0bGUgYmxvY2sgY29uZmlndXJhdGlvbiAqL1xuICB0aXRsZTogVGl0bGVCbG9ja01ldGFkYTtcbiAgLyoqIE9wdGlvbmFsIGxpbmsgY29uZmlndXJhdGlvbiAqL1xuICBsaW5rPzogTGlua01ldGFkYXRhO1xuICAvKiogT3B0aW9uYWwgaW1hZ2UgY29uZmlndXJhdGlvbiAqL1xuICBpbWFnZT86IEltYWdlTWV0YWRhdGE7XG4gIC8qKiBCYWNrZ3JvdW5kIGNvbG9yIChJb25pYyBjb2xvciwgQ1NTIGNvbG9yLCBvciBDU1MgdmFyaWFibGUpICovXG4gIGNvbG9yPzogc3RyaW5nO1xuICAvKiogQmFja2dyb3VuZCAodXJsKC4uLikgZm9yIGltYWdlLCBncmFkaWVudCwgb3IgY29sb3IpICovXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBhY3Rpb24gYnV0dG9ucyAqL1xuICBhY3Rpb25zPzogQnV0dG9uR3JvdXBNZXRhZGF0YTtcbiAgLyoqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBjYXJkLiBEZWZhdWx0OiAnNDUwcHgnICovXG4gIG1pbkhlaWdodD86IHN0cmluZztcbiAgLyoqIE1pbmltdW0gd2lkdGggb2YgdGhlIGNhcmQuIERlZmF1bHQ6ICczMDBweCcgKi9cbiAgbWluV2lkdGg/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -9,9 +9,19 @@ import * as i1 from "@angular/forms";
|
|
|
9
9
|
* val-text-input
|
|
10
10
|
*
|
|
11
11
|
* A text input field integrated with Angular forms.
|
|
12
|
+
* For i18n support, pass the translated placeholder text via props.
|
|
12
13
|
*
|
|
13
|
-
* @example
|
|
14
|
-
* <val-text-input [props]="{ control: myControl, placeholder: 'Enter text'
|
|
14
|
+
* @example Static placeholder:
|
|
15
|
+
* <val-text-input [props]="{ control: myControl, placeholder: 'Enter text' }"></val-text-input>
|
|
16
|
+
*
|
|
17
|
+
* @example With i18n:
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // In component
|
|
20
|
+
* textProps = {
|
|
21
|
+
* control: this.textControl,
|
|
22
|
+
* placeholder: this.langService.getText('MyComponent', 'namePlaceholder')
|
|
23
|
+
* };
|
|
24
|
+
* ```
|
|
15
25
|
*
|
|
16
26
|
* @input props: InputMetadata - Configuration for the input (form control, placeholder, label, etc.)
|
|
17
27
|
*/
|
|
@@ -31,7 +41,7 @@ export class TextInputComponent {
|
|
|
31
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
32
42
|
type: Component,
|
|
33
43
|
args: [{ selector: 'val-text-input', standalone: true, imports: [ReactiveFormsModule, IonInput], template: ` <ion-input [formControl]="props.control" type="text" [placeholder]="props.placeholder" /> `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"] }]
|
|
34
|
-
}],
|
|
44
|
+
}], propDecorators: { props: [{
|
|
35
45
|
type: Input
|
|
36
46
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sYUFBYSxDQUFDOzs7QUFTN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBM0IvQjtRQXFDRSxXQUFNLEdBQUcsZUFBZSxDQUFDO0tBUTFCO0lBTkMsUUFBUTtRQUNOLHlDQUF5QztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakQsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQWpCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzR0F2Qm5CLDZGQUE2RixnckZBRDdGLG1CQUFtQiwwVEFBRSxRQUFROzs0RkF3QjVCLGtCQUFrQjtrQkEzQjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLFlBQzlCLDZGQUE2Rjs4QkErQjlGLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb3JtLWRlZmF1bHRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcywgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRleHQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXRdLFxuICB0ZW1wbGF0ZTogYCA8aW9uLWlucHV0IFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIiAvPiBgLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtdGV4dC1pbnB1dFxuICpcbiAqIEEgdGV4dCBpbnB1dCBmaWVsZCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3Jtcy5cbiAqIEZvciBpMThuIHN1cHBvcnQsIHBhc3MgdGhlIHRyYW5zbGF0ZWQgcGxhY2Vob2xkZXIgdGV4dCB2aWEgcHJvcHMuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIHBsYWNlaG9sZGVyOlxuICogPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgcGxhY2Vob2xkZXI6ICdFbnRlciB0ZXh0JyB9XCI+PC92YWwtdGV4dC1pbnB1dD5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGkxOG46XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHRleHRQcm9wcyA9IHtcbiAqICAgY29udHJvbDogdGhpcy50ZXh0Q29udHJvbCxcbiAqICAgcGxhY2Vob2xkZXI6IHRoaXMubGFuZ1NlcnZpY2UuZ2V0VGV4dCgnTXlDb21wb25lbnQnLCAnbmFtZVBsYWNlaG9sZGVyJylcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgaW5wdXQgKGZvcm0gY29udHJvbCwgcGxhY2Vob2xkZXIsIGxhYmVsLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGlucHV0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC4gRm9yIGkxOG4sIHVzZSBsYW5nU2VydmljZS5nZXRUZXh0KCkgdG8gZ2V0IHRyYW5zbGF0ZWQgdmFsdWUuXG4gICAqIEBwcm9wZXJ0eSBsYWJlbCwgbmFtZSwgaGludCwgdHlwZSwgdmFsaWRhdG9ycywgZXRjLiAtIFNlZSBJbnB1dE1ldGFkYXRhIGZvciBhbGwgb3B0aW9ucy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBBcHBseSBkZWZhdWx0IHZhbHVlcyBvbiBpbml0aWFsaXphdGlvblxuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { ActionHeaderComponent } from '../../molecules/action-header/action-header.component';
|
|
4
|
+
import { HorizontalScrollComponent } from '../../atoms/horizontal-scroll/horizontal-scroll.component';
|
|
5
|
+
import { RecapCardComponent } from '../../molecules/recap-card/recap-card.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* val-cards-carousel
|
|
9
|
+
*
|
|
10
|
+
* A horizontal carousel of recap cards with optional action header.
|
|
11
|
+
* Combines HorizontalScroll for smooth horizontal scrolling with RecapCard
|
|
12
|
+
* components for consistent card styling.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <val-cards-carousel
|
|
16
|
+
* [props]="{
|
|
17
|
+
* header: { title: 'Featured Items', actionType: 'link', actionLabel: 'View All' },
|
|
18
|
+
* cards: [
|
|
19
|
+
* { title: 'Card 1', description: 'Description', href: '/item/1' },
|
|
20
|
+
* { title: 'Card 2', description: 'Description', href: '/item/2' }
|
|
21
|
+
* ]
|
|
22
|
+
* }"
|
|
23
|
+
* ></val-cards-carousel>
|
|
24
|
+
*
|
|
25
|
+
* @input props - Carousel configuration with cards and optional header
|
|
26
|
+
*/
|
|
27
|
+
export class CardsCarouselComponent {
|
|
28
|
+
constructor() {
|
|
29
|
+
/**
|
|
30
|
+
* Carousel configuration with cards and optional header.
|
|
31
|
+
*/
|
|
32
|
+
this.props = { cards: [] };
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardsCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardsCarouselComponent, isStandalone: true, selector: "val-cards-carousel", inputs: { props: "props" }, ngImport: i0, template: `
|
|
36
|
+
@if (props.header) {
|
|
37
|
+
<val-action-header [props]="props.header" />
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
<val-horizontal-scroll [items]="props.cards" [itemTemplate]="recapCardTemplate" />
|
|
41
|
+
<ng-template #recapCardTemplate let-recap>
|
|
42
|
+
<val-recap-card [props]="recap" />
|
|
43
|
+
</ng-template>
|
|
44
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: RecapCardComponent, selector: "val-recap-card", inputs: ["props"] }, { kind: "component", type: HorizontalScrollComponent, selector: "val-horizontal-scroll", inputs: ["items", "itemTemplate", "props"] }, { kind: "component", type: ActionHeaderComponent, selector: "val-action-header", inputs: ["props"] }] }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardsCarouselComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'val-cards-carousel', standalone: true, imports: [CommonModule, RecapCardComponent, HorizontalScrollComponent, ActionHeaderComponent], template: `
|
|
49
|
+
@if (props.header) {
|
|
50
|
+
<val-action-header [props]="props.header" />
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
<val-horizontal-scroll [items]="props.cards" [itemTemplate]="recapCardTemplate" />
|
|
54
|
+
<ng-template #recapCardTemplate let-recap>
|
|
55
|
+
<val-recap-card [props]="recap" />
|
|
56
|
+
</ng-template>
|
|
57
|
+
`, styles: [":host{display:block}\n"] }]
|
|
58
|
+
}], propDecorators: { props: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZHMtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9jYXJkcy1jYXJvdXNlbC9jYXJkcy1jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQUdyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQXFCSCxNQUFNLE9BQU8sc0JBQXNCO0lBcEJuQztRQXFCRTs7V0FFRztRQUNNLFVBQUssR0FBMEIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FDdkQ7K0dBTFksc0JBQXNCO21HQUF0QixzQkFBc0IsMEdBaEJ2Qjs7Ozs7Ozs7O0dBU1QsK0ZBVlMsWUFBWSwrQkFBRSxrQkFBa0IsOEVBQUUseUJBQXlCLDhHQUFFLHFCQUFxQjs7NEZBaUJqRixzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLENBQUMsWUFDbkY7Ozs7Ozs7OztHQVNUOzhCQVdRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWhlYWRlci9hY3Rpb24taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsU2Nyb2xsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaG9yaXpvbnRhbC1zY3JvbGwvaG9yaXpvbnRhbC1zY3JvbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFJlY2FwQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9yZWNhcC1jYXJkL3JlY2FwLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRzQ2Fyb3VzZWxNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1jYXJkcy1jYXJvdXNlbFxuICpcbiAqIEEgaG9yaXpvbnRhbCBjYXJvdXNlbCBvZiByZWNhcCBjYXJkcyB3aXRoIG9wdGlvbmFsIGFjdGlvbiBoZWFkZXIuXG4gKiBDb21iaW5lcyBIb3Jpem9udGFsU2Nyb2xsIGZvciBzbW9vdGggaG9yaXpvbnRhbCBzY3JvbGxpbmcgd2l0aCBSZWNhcENhcmRcbiAqIGNvbXBvbmVudHMgZm9yIGNvbnNpc3RlbnQgY2FyZCBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWNhcmRzLWNhcm91c2VsXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaGVhZGVyOiB7IHRpdGxlOiAnRmVhdHVyZWQgSXRlbXMnLCBhY3Rpb25UeXBlOiAnbGluaycsIGFjdGlvbkxhYmVsOiAnVmlldyBBbGwnIH0sXG4gKiAgICAgY2FyZHM6IFtcbiAqICAgICAgIHsgdGl0bGU6ICdDYXJkIDEnLCBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJywgaHJlZjogJy9pdGVtLzEnIH0sXG4gKiAgICAgICB7IHRpdGxlOiAnQ2FyZCAyJywgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsIGhyZWY6ICcvaXRlbS8yJyB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqID48L3ZhbC1jYXJkcy1jYXJvdXNlbD5cbiAqXG4gKiBAaW5wdXQgcHJvcHMgLSBDYXJvdXNlbCBjb25maWd1cmF0aW9uIHdpdGggY2FyZHMgYW5kIG9wdGlvbmFsIGhlYWRlclxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2FyZHMtY2Fyb3VzZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWNhcENhcmRDb21wb25lbnQsIEhvcml6b250YWxTY3JvbGxDb21wb25lbnQsIEFjdGlvbkhlYWRlckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChwcm9wcy5oZWFkZXIpIHtcbiAgICAgIDx2YWwtYWN0aW9uLWhlYWRlciBbcHJvcHNdPVwicHJvcHMuaGVhZGVyXCIgLz5cbiAgICB9XG5cbiAgICA8dmFsLWhvcml6b250YWwtc2Nyb2xsIFtpdGVtc109XCJwcm9wcy5jYXJkc1wiIFtpdGVtVGVtcGxhdGVdPVwicmVjYXBDYXJkVGVtcGxhdGVcIiAvPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVjYXBDYXJkVGVtcGxhdGUgbGV0LXJlY2FwPlxuICAgICAgPHZhbC1yZWNhcC1jYXJkIFtwcm9wc109XCJyZWNhcFwiIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkc0Nhcm91c2VsQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENhcm91c2VsIGNvbmZpZ3VyYXRpb24gd2l0aCBjYXJkcyBhbmQgb3B0aW9uYWwgaGVhZGVyLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IENhcmRzQ2Fyb3VzZWxNZXRhZGF0YSA9IHsgY2FyZHM6IFtdIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2NhcmRzLWNhcm91c2VsL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25IZWFkZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24taGVhZGVyL3R5cGVzJztcbmltcG9ydCB7IFJlY2FwQ2FyZE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3JlY2FwLWNhcmQvdHlwZXMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBjYXJkcyBjYXJvdXNlbCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZHNDYXJvdXNlbE1ldGFkYXRhIHtcbiAgLyoqIEFycmF5IG9mIHJlY2FwIGNhcmRzIHRvIGRpc3BsYXkgKi9cbiAgY2FyZHM6IFJlY2FwQ2FyZE1ldGFkYXRhW107XG4gIC8qKiBPcHRpb25hbCBhY3Rpb24gaGVhZGVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgaGVhZGVyPzogQWN0aW9uSGVhZGVyTWV0YWRhdGE7XG59XG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { IonCol, IonGrid, IonRow } from '@ionic/angular/standalone';
|
|
4
|
+
import { FooterLinksComponent } from '../../molecules/footer-links/footer-links.component';
|
|
5
|
+
import { RightsFooterComponent } from '../../atoms/rights-footer/rights-footer.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* val-company-footer
|
|
9
|
+
*
|
|
10
|
+
* A complete footer component combining footer links (with logo and social icons)
|
|
11
|
+
* and a rights/copyright footer. Configurable padding and background options.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <val-company-footer
|
|
15
|
+
* [props]="{
|
|
16
|
+
* links: {
|
|
17
|
+
* leftLinks: { title: 'Company', size: 'medium', links: [...] },
|
|
18
|
+
* rightLinks: { title: 'Support', size: 'medium', links: [...] },
|
|
19
|
+
* logo: '/assets/logo.png',
|
|
20
|
+
* socialLinks: [...]
|
|
21
|
+
* },
|
|
22
|
+
* rights: { companyName: 'Acme Inc' },
|
|
23
|
+
* withPadding: true
|
|
24
|
+
* }"
|
|
25
|
+
* ></val-company-footer>
|
|
26
|
+
*
|
|
27
|
+
* @input props - Footer configuration
|
|
28
|
+
*/
|
|
29
|
+
export class CompanyFooterComponent {
|
|
30
|
+
constructor() {
|
|
31
|
+
/**
|
|
32
|
+
* Footer configuration.
|
|
33
|
+
*/
|
|
34
|
+
this.props = {
|
|
35
|
+
links: {
|
|
36
|
+
leftLinks: { title: '', size: 'medium', links: [] },
|
|
37
|
+
rightLinks: { title: '', size: 'medium', links: [] },
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CompanyFooterComponent, isStandalone: true, selector: "val-company-footer", inputs: { props: "props" }, ngImport: i0, template: `
|
|
43
|
+
<footer [class.withPadding]="props.withPadding" [class.withBackground]="props.withBackground">
|
|
44
|
+
<ion-grid>
|
|
45
|
+
<val-footer-links [props]="props.links" />
|
|
46
|
+
<ion-row>
|
|
47
|
+
<ion-col size="12">
|
|
48
|
+
<val-rights-footer [props]="props.rights || {}" />
|
|
49
|
+
</ion-col>
|
|
50
|
+
</ion-row>
|
|
51
|
+
</ion-grid>
|
|
52
|
+
</footer>
|
|
53
|
+
`, isInline: true, styles: [".withPadding{padding:16px}.withBackground{background-color:var(--ion-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: RightsFooterComponent, selector: "val-rights-footer", inputs: ["props"] }, { kind: "component", type: FooterLinksComponent, selector: "val-footer-links", inputs: ["props"], outputs: ["logoClick"] }] }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyFooterComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'val-company-footer', standalone: true, imports: [CommonModule, IonGrid, IonRow, IonCol, RightsFooterComponent, FooterLinksComponent], template: `
|
|
58
|
+
<footer [class.withPadding]="props.withPadding" [class.withBackground]="props.withBackground">
|
|
59
|
+
<ion-grid>
|
|
60
|
+
<val-footer-links [props]="props.links" />
|
|
61
|
+
<ion-row>
|
|
62
|
+
<ion-col size="12">
|
|
63
|
+
<val-rights-footer [props]="props.rights || {}" />
|
|
64
|
+
</ion-col>
|
|
65
|
+
</ion-row>
|
|
66
|
+
</ion-grid>
|
|
67
|
+
</footer>
|
|
68
|
+
`, styles: [".withPadding{padding:16px}.withBackground{background-color:var(--ion-background-color)}\n"] }]
|
|
69
|
+
}], propDecorators: { props: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9jb21wYW55LWZvb3Rlci9jb21wYW55LWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQUcxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBMkJILE1BQU0sT0FBTyxzQkFBc0I7SUExQm5DO1FBMkJFOztXQUVHO1FBQ00sVUFBSyxHQUEwQjtZQUN0QyxLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ25ELFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2FBQ3JEO1NBQ0YsQ0FBQztLQUNIOytHQVZZLHNCQUFzQjttR0FBdEIsc0JBQXNCLDBHQXRCdkI7Ozs7Ozs7Ozs7O0dBV1Qsa0tBWlMsWUFBWSwrQkFBRSxPQUFPLHdFQUFFLE1BQU0sb0RBQUUsTUFBTSxrVEFBRSxxQkFBcUIsaUZBQUUsb0JBQW9COzs0RkF1QmpGLHNCQUFzQjtrQkExQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxZQUNuRjs7Ozs7Ozs7Ozs7R0FXVDs4QkFlUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQ29sLCBJb25HcmlkLCBJb25Sb3cgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZvb3RlckxpbmtzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2Zvb3Rlci1saW5rcy9mb290ZXItbGlua3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJpZ2h0c0Zvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3JpZ2h0cy1mb290ZXIvcmlnaHRzLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGFueUZvb3Rlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLWNvbXBhbnktZm9vdGVyXG4gKlxuICogQSBjb21wbGV0ZSBmb290ZXIgY29tcG9uZW50IGNvbWJpbmluZyBmb290ZXIgbGlua3MgKHdpdGggbG9nbyBhbmQgc29jaWFsIGljb25zKVxuICogYW5kIGEgcmlnaHRzL2NvcHlyaWdodCBmb290ZXIuIENvbmZpZ3VyYWJsZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIG9wdGlvbnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29tcGFueS1mb290ZXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBsaW5rczoge1xuICogICAgICAgbGVmdExpbmtzOiB7IHRpdGxlOiAnQ29tcGFueScsIHNpemU6ICdtZWRpdW0nLCBsaW5rczogWy4uLl0gfSxcbiAqICAgICAgIHJpZ2h0TGlua3M6IHsgdGl0bGU6ICdTdXBwb3J0Jywgc2l6ZTogJ21lZGl1bScsIGxpbmtzOiBbLi4uXSB9LFxuICogICAgICAgbG9nbzogJy9hc3NldHMvbG9nby5wbmcnLFxuICogICAgICAgc29jaWFsTGlua3M6IFsuLi5dXG4gKiAgICAgfSxcbiAqICAgICByaWdodHM6IHsgY29tcGFueU5hbWU6ICdBY21lIEluYycgfSxcbiAqICAgICB3aXRoUGFkZGluZzogdHJ1ZVxuICogICB9XCJcbiAqID48L3ZhbC1jb21wYW55LWZvb3Rlcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHMgLSBGb290ZXIgY29uZmlndXJhdGlvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tcGFueS1mb290ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25HcmlkLCBJb25Sb3csIElvbkNvbCwgUmlnaHRzRm9vdGVyQ29tcG9uZW50LCBGb290ZXJMaW5rc0NvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZvb3RlciBbY2xhc3Mud2l0aFBhZGRpbmddPVwicHJvcHMud2l0aFBhZGRpbmdcIiBbY2xhc3Mud2l0aEJhY2tncm91bmRdPVwicHJvcHMud2l0aEJhY2tncm91bmRcIj5cbiAgICAgIDxpb24tZ3JpZD5cbiAgICAgICAgPHZhbC1mb290ZXItbGlua3MgW3Byb3BzXT1cInByb3BzLmxpbmtzXCIgLz5cbiAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCI+XG4gICAgICAgICAgICA8dmFsLXJpZ2h0cy1mb290ZXIgW3Byb3BzXT1cInByb3BzLnJpZ2h0cyB8fCB7fVwiIC8+XG4gICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8L2lvbi1yb3c+XG4gICAgICA8L2lvbi1ncmlkPlxuICAgIDwvZm9vdGVyPlxuICBgLFxuICBzdHlsZXM6IGBcbiAgICAud2l0aFBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgICB9XG5cbiAgICAud2l0aEJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcGFueUZvb3RlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBGb290ZXIgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBDb21wYW55Rm9vdGVyTWV0YWRhdGEgPSB7XG4gICAgbGlua3M6IHtcbiAgICAgIGxlZnRMaW5rczogeyB0aXRsZTogJycsIHNpemU6ICdtZWRpdW0nLCBsaW5rczogW10gfSxcbiAgICAgIHJpZ2h0TGlua3M6IHsgdGl0bGU6ICcnLCBzaXplOiAnbWVkaXVtJywgbGlua3M6IFtdIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2NvbXBhbnktZm9vdGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb290ZXJMaW5rc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2Zvb3Rlci1saW5rcy90eXBlcyc7XG5pbXBvcnQgeyBSaWdodHNGb290ZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3JpZ2h0cy1mb290ZXIvdHlwZXMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21wYW55IGZvb3RlciBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueUZvb3Rlck1ldGFkYXRhIHtcbiAgLyoqIEZvb3RlciBsaW5rcyBjb25maWd1cmF0aW9uICovXG4gIGxpbmtzOiBGb290ZXJMaW5rc01ldGFkYXRhO1xuICAvKiogUmlnaHRzIGZvb3RlciBjb25maWd1cmF0aW9uICovXG4gIHJpZ2h0cz86IFJpZ2h0c0Zvb3Rlck1ldGFkYXRhO1xuICAvKiogQWRkIHBhZGRpbmcgYXJvdW5kIHRoZSBmb290ZXIgKi9cbiAgd2l0aFBhZGRpbmc/OiBib29sZWFuO1xuICAvKiogQWRkIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIGZvb3RlciAqL1xuICB3aXRoQmFja2dyb3VuZD86IGJvb2xlYW47XG59XG4iXX0=
|