oasys-lib 2.6.0-rc.0 → 2.6.0
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/alert/alert-cancel.directive.mjs +22 -0
- package/esm2022/lib/components/alert/alert-confirm.directive.mjs +22 -0
- package/esm2022/lib/components/alert/alert-content.directive.mjs +14 -0
- package/esm2022/lib/components/alert/alert-title.directive.mjs +14 -0
- package/esm2022/lib/components/alert/alert.component.mjs +78 -0
- package/esm2022/lib/components/alert/alert.module.mjs +40 -0
- package/esm2022/lib/components/alert/index.mjs +7 -0
- package/esm2022/lib/components/banner/banner.component.mjs +62 -0
- package/esm2022/lib/components/banner/banner.module.mjs +16 -0
- package/esm2022/lib/components/banner/index.mjs +3 -0
- package/esm2022/lib/components/button/button.component.mjs +120 -0
- package/esm2022/lib/components/button/button.mjs +2 -0
- package/esm2022/lib/components/button/button.module.mjs +16 -0
- package/esm2022/lib/components/button/index.mjs +4 -0
- package/esm2022/lib/components/button-group/button-group.component.mjs +55 -0
- package/esm2022/lib/components/button-group/button-group.module.mjs +16 -0
- package/esm2022/lib/components/button-group/index.mjs +3 -0
- package/esm2022/lib/components/card/card.component.mjs +87 -0
- package/esm2022/lib/components/card/card.mjs +2 -0
- package/esm2022/lib/components/card/card.module.mjs +16 -0
- package/esm2022/lib/components/card/index.mjs +3 -0
- package/esm2022/lib/components/carousel/carousel.component.mjs +289 -0
- package/esm2022/lib/components/carousel/carousel.module.mjs +16 -0
- package/esm2022/lib/components/carousel/index.mjs +3 -0
- package/esm2022/lib/components/divider/divider.component.mjs +22 -0
- package/esm2022/lib/components/divider/divider.mjs +2 -0
- package/esm2022/lib/components/divider/divider.module.mjs +16 -0
- package/esm2022/lib/components/divider/index.mjs +3 -0
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +81 -0
- package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +16 -0
- package/esm2022/lib/components/form/checkbox/index.mjs +3 -0
- package/esm2022/lib/components/form/chip/chip.component.mjs +88 -0
- package/esm2022/lib/components/form/chip/chip.module.mjs +16 -0
- package/esm2022/lib/components/form/chip/index.mjs +3 -0
- package/esm2022/lib/components/form/combobox/combobox.component.mjs +478 -0
- package/esm2022/lib/components/form/combobox/combobox.mjs +2 -0
- package/esm2022/lib/components/form/combobox/combobox.module.mjs +82 -0
- package/esm2022/lib/components/form/combobox/index.mjs +3 -0
- package/esm2022/lib/components/form/errors/form-errors.component.mjs +26 -0
- package/esm2022/lib/components/form/errors/form-errors.module.mjs +16 -0
- package/esm2022/lib/components/form/errors/index.mjs +3 -0
- package/esm2022/lib/components/form/errors-summary/errors-summary-item/form-errors-summary-item.component.mjs +47 -0
- package/esm2022/lib/components/form/errors-summary/errors-summary-title/form-errors-summary-title.component.mjs +21 -0
- package/esm2022/lib/components/form/errors-summary/form-errors-summary.component.mjs +30 -0
- package/esm2022/lib/components/form/errors-summary/index.mjs +4 -0
- package/esm2022/lib/components/form/form-group/form-group.component.mjs +32 -0
- package/esm2022/lib/components/form/form-group/form-group.module.mjs +16 -0
- package/esm2022/lib/components/form/form-group/index.mjs +3 -0
- package/esm2022/lib/components/form/forms.mjs +2 -0
- package/esm2022/lib/components/form/radio/index.mjs +3 -0
- package/esm2022/lib/components/form/radio/radio.component.mjs +80 -0
- package/esm2022/lib/components/form/radio/radio.module.mjs +16 -0
- package/esm2022/lib/components/form/text-input/index.mjs +4 -0
- package/esm2022/lib/components/form/text-input/text-input.component.mjs +204 -0
- package/esm2022/lib/components/form/text-input/text-input.mjs +2 -0
- package/esm2022/lib/components/form/text-input/text-input.module.mjs +16 -0
- package/esm2022/lib/components/heading/heading.component.mjs +107 -0
- package/esm2022/lib/components/heading/heading.mjs +2 -0
- package/esm2022/lib/components/heading/heading.module.mjs +16 -0
- package/esm2022/lib/components/heading/index.mjs +3 -0
- package/esm2022/lib/components/hero/hero.component.mjs +109 -0
- package/esm2022/lib/components/hero/hero.module.mjs +16 -0
- package/esm2022/lib/components/hero/index.mjs +3 -0
- package/esm2022/lib/components/icon/icon.component.mjs +61 -0
- package/esm2022/lib/components/icon/icon.mjs +2 -0
- package/esm2022/lib/components/icon/icon.module.mjs +16 -0
- package/esm2022/lib/components/icon/index.mjs +4 -0
- package/esm2022/lib/components/image/image.component.mjs +154 -0
- package/esm2022/lib/components/image/image.mjs +2 -0
- package/esm2022/lib/components/image/image.module.mjs +16 -0
- package/esm2022/lib/components/image/index.mjs +3 -0
- package/esm2022/lib/components/label/index.mjs +3 -0
- package/esm2022/lib/components/label/label.component.mjs +69 -0
- package/esm2022/lib/components/label/label.module.mjs +16 -0
- package/esm2022/lib/components/layout/Layout.mjs +2 -0
- package/esm2022/lib/components/layout/box/box.component.mjs +183 -0
- package/esm2022/lib/components/layout/box/box.mjs +3 -0
- package/esm2022/lib/components/layout/container/container.component.mjs +44 -0
- package/esm2022/lib/components/layout/grid/grid-column.component.mjs +55 -0
- package/esm2022/lib/components/layout/grid/grid.component.mjs +53 -0
- package/esm2022/lib/components/layout/index.mjs +8 -0
- package/esm2022/lib/components/layout/layout.module.mjs +40 -0
- package/esm2022/lib/components/layout/stack/stack.component.mjs +64 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.component.mjs +37 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +16 -0
- package/esm2022/lib/components/navigation/breadcrumbs/index.mjs +3 -0
- package/esm2022/lib/components/navigation/tabs/tab/tab.component.mjs +33 -0
- package/esm2022/lib/components/navigation/tabs/tab-active/tab-active.component.mjs +19 -0
- package/esm2022/lib/components/navigation/tabs/tab-group/index.mjs +4 -0
- package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.component.mjs +38 -0
- package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.module.mjs +27 -0
- package/esm2022/lib/components/navigation/tabs/tab-header/tab-header.component.mjs +70 -0
- package/esm2022/lib/components/pill/index.mjs +3 -0
- package/esm2022/lib/components/pill/pill.component.mjs +21 -0
- package/esm2022/lib/components/pill/pill.mjs +2 -0
- package/esm2022/lib/components/pill/pill.module.mjs +16 -0
- package/esm2022/lib/components/pill-group/index.mjs +3 -0
- package/esm2022/lib/components/pill-group/pill-group.component.mjs +41 -0
- package/esm2022/lib/components/pill-group/pill-group.module.mjs +16 -0
- package/esm2022/lib/components/price/index.mjs +3 -0
- package/esm2022/lib/components/price/price.component.mjs +32 -0
- package/esm2022/lib/components/price/price.module.mjs +16 -0
- package/esm2022/lib/components/progress-bar/index.mjs +2 -0
- package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +23 -0
- package/esm2022/lib/components/promo-card/index.mjs +3 -0
- package/esm2022/lib/components/promo-card/promo-card.component.mjs +87 -0
- package/esm2022/lib/components/promo-card/promo-card.module.mjs +16 -0
- package/esm2022/lib/components/section/index.mjs +3 -0
- package/esm2022/lib/components/section/section.component.mjs +119 -0
- package/esm2022/lib/components/section/section.module.mjs +16 -0
- package/esm2022/lib/components/select-card/index.mjs +3 -0
- package/esm2022/lib/components/select-card/select-card.component.mjs +94 -0
- package/esm2022/lib/components/select-card/select-card.module.mjs +16 -0
- package/esm2022/lib/components/seo-block/index.mjs +3 -0
- package/esm2022/lib/components/seo-block/seo-block.component.mjs +84 -0
- package/esm2022/lib/components/seo-block/seo-block.module.mjs +16 -0
- package/esm2022/lib/components/text/index.mjs +3 -0
- package/esm2022/lib/components/text/text.component.mjs +29 -0
- package/esm2022/lib/components/text/text.mjs +2 -0
- package/esm2022/lib/components/text/text.module.mjs +16 -0
- package/esm2022/lib/directives/autofocus/autofocus.directive.mjs +31 -0
- package/esm2022/lib/directives/emphasis/emphasis.directive.mjs +38 -0
- package/esm2022/lib/directives/href/href.directive.mjs +26 -0
- package/esm2022/lib/services/breakpoint.service.mjs +49 -0
- package/esm2022/lib/services/image.service.mjs +68 -0
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/media-base-url.provider.mjs +3 -0
- package/esm2022/lib/services/routing-handler.provider.mjs +3 -0
- package/esm2022/lib/services/swiper.provider.mjs +13 -0
- package/esm2022/lib/services/token.service.mjs +71 -0
- package/esm2022/oasys-lib.mjs +5 -0
- package/esm2022/public-api.mjs +38 -0
- package/fesm2022/oasys-lib.mjs +297 -278
- package/fesm2022/oasys-lib.mjs.map +1 -1
- package/lib/components/form/text-input/index.d.ts +2 -1
- package/lib/components/form/text-input/index.d.ts.map +1 -1
- package/lib/components/form/text-input/text-input.component.d.ts +7 -3
- package/lib/components/form/text-input/text-input.component.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/assets/bloomandwild/variables.css +1 -1
- package/src/assets/bloomon/variables.css +1 -1
- package/src/assets/global/scss-breakpoints.scss +1 -1
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { DOCUMENT, NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { Component, ElementRef, Input, ViewChild, ViewEncapsulation, Inject, EventEmitter, Output, CUSTOM_ELEMENTS_SCHEMA, inject, } from '@angular/core';
|
|
3
|
+
import { TokenService } from '../../services/token.service';
|
|
4
|
+
import { LayoutBoxComponent } from '../layout/box/box.component';
|
|
5
|
+
import { LayoutStackComponent } from '../layout/stack/stack.component';
|
|
6
|
+
import { OasysButtonComponent } from '../button/button.component';
|
|
7
|
+
import { SWIPER_PROVIDER_TOKEN } from '../../services';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../services/token.service";
|
|
10
|
+
/* This component wraps around the swiper.js library WebComponent */
|
|
11
|
+
export class CarouselComponent {
|
|
12
|
+
tokenService;
|
|
13
|
+
document;
|
|
14
|
+
element;
|
|
15
|
+
// The swiper instance
|
|
16
|
+
swiper;
|
|
17
|
+
carouselscrollbarplaceholder;
|
|
18
|
+
carouselctastack;
|
|
19
|
+
// Rewinds the slides back to the start when the user reaches the end when set to true
|
|
20
|
+
rewind = false;
|
|
21
|
+
carousel_overflow = false;
|
|
22
|
+
carousel_gap = 'default';
|
|
23
|
+
carousel_pagination = 'none';
|
|
24
|
+
carousel_slides_per_view_desktop = 4;
|
|
25
|
+
carousel_slides_per_view_laptop = 3;
|
|
26
|
+
carousel_slides_per_view_tablet = 2.5;
|
|
27
|
+
carousel_slides_per_view_mobile = 1.25;
|
|
28
|
+
text_for_left_arrow = 'previous slide';
|
|
29
|
+
text_for_right_arrow = 'next slide';
|
|
30
|
+
carousel_rows_per_row_mobile = 1; // Required for CATEGORY_CARD experiment. Remove if experiment fails.
|
|
31
|
+
carousel_loading = 'lazy'; // If we don't have multiple carousels on page and want to prioritise UI loading on time
|
|
32
|
+
carousel_free_mode = false; // Enables scrolling with mousewheel / smoother momentum swiping experience
|
|
33
|
+
center_insufficient_slides = true; // Centers the slides if there are not enough to fill the space
|
|
34
|
+
center_active_slide = false; // Centers the active slide
|
|
35
|
+
start_slide = 0; // Start slide index
|
|
36
|
+
offset_scrollbar_top = false; // Offset the scrollbar to the top of the carousel
|
|
37
|
+
activeIndexOnSlideChange = new EventEmitter();
|
|
38
|
+
constructor(tokenService, document, element) {
|
|
39
|
+
this.tokenService = tokenService;
|
|
40
|
+
this.document = document;
|
|
41
|
+
this.element = element;
|
|
42
|
+
inject(SWIPER_PROVIDER_TOKEN).ensureSwiperRegistered();
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
if (this.carousel_loading === 'lazy') {
|
|
46
|
+
this.setUpIntersectionObserver();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.initSwiper();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Set up the intersection observer with the relevant options
|
|
54
|
+
*/
|
|
55
|
+
setUpIntersectionObserver() {
|
|
56
|
+
// Set IntersectionObserver options
|
|
57
|
+
const options = {
|
|
58
|
+
root: null,
|
|
59
|
+
rootMargin: '0px',
|
|
60
|
+
threshold: 0.5,
|
|
61
|
+
once: true,
|
|
62
|
+
};
|
|
63
|
+
// Set up the IntersectionObserver
|
|
64
|
+
const observer = new IntersectionObserver(this.onIntersection.bind(this), options);
|
|
65
|
+
observer.observe(this.element.nativeElement);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* This function gets called just before the user scrolls this component into view
|
|
69
|
+
* @param entries - An array of interswection observer entries
|
|
70
|
+
* @param observer - Intersection observer
|
|
71
|
+
*/
|
|
72
|
+
onIntersection(entries, observer) {
|
|
73
|
+
entries.forEach((entry) => {
|
|
74
|
+
if (entry.isIntersecting) {
|
|
75
|
+
// Initialise swiper
|
|
76
|
+
this.initSwiper();
|
|
77
|
+
observer.unobserve(entry.target);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getStyle(element, style) {
|
|
82
|
+
return this.document.defaultView.getComputedStyle(element, null).getPropertyValue(style);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Set the scrollbar placement and width based on carouselscrollbarplaceholder and carouselctastack
|
|
86
|
+
*/
|
|
87
|
+
setupScrollbarLayoutProperties() {
|
|
88
|
+
if (this.carousel_pagination === 'none') {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const carouselStack = this.carouselctastack?.nativeElement;
|
|
92
|
+
const scrollbarElement = this.carouselscrollbarplaceholder?.nativeElement;
|
|
93
|
+
const scrollbarHeight = this.document.defaultView
|
|
94
|
+
.getComputedStyle(document.documentElement)
|
|
95
|
+
.getPropertyValue('--swiper-scrollbar-size');
|
|
96
|
+
if (carouselStack && this.carousel_pagination === 'scroll-arrows') {
|
|
97
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-width', `${scrollbarElement?.offsetWidth - parseInt(this.getStyle(carouselStack, 'gap'), 10)}px`);
|
|
98
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-offset-top', `${parseInt(this.getStyle(carouselStack, 'gap'), 10) + scrollbarElement?.offsetHeight / 2 + parseInt(scrollbarHeight, 10) / 2}px`);
|
|
99
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-height', '2px');
|
|
100
|
+
}
|
|
101
|
+
if (carouselStack && this.carousel_pagination === 'scroll-bar') {
|
|
102
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-width', '100%');
|
|
103
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-offset-top', `${this.offset_scrollbar_top ? parseInt(this.getStyle(carouselStack, 'gap'), 10) + 'px' : '0px'}`);
|
|
104
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-height', '4px');
|
|
105
|
+
this.element?.nativeElement?.style?.setProperty('--ui-carousel-scrollbar-left', '0px');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Set the dynamic swiper params and initialise the swiper instance
|
|
110
|
+
*/
|
|
111
|
+
// eslint-disable-next-line complexity
|
|
112
|
+
initSwiper() {
|
|
113
|
+
// Colour overides
|
|
114
|
+
const scrollbarBackgroundColour = this.tokenService.getTokenValue('--oasys-color-linen-grey-200');
|
|
115
|
+
const scrollbarSliderColour = this.tokenService.getTokenValue('--oasys-color-brand-foreground-primary');
|
|
116
|
+
// swiper element
|
|
117
|
+
const swiperEl = this.swiper.nativeElement;
|
|
118
|
+
const carouselGap = this.tokenService.getTokenValue(`--oasys-spacing-${this.carousel_gap}`);
|
|
119
|
+
// swiper parameters
|
|
120
|
+
const swiperParams = {
|
|
121
|
+
rewind: this.rewind,
|
|
122
|
+
grabCursor: true,
|
|
123
|
+
spaceBetween: parseInt(carouselGap.replace('.', ''), 10) || 0,
|
|
124
|
+
centeredSlides: this.center_active_slide,
|
|
125
|
+
initialSlide: this.start_slide,
|
|
126
|
+
scrollbar: {
|
|
127
|
+
enabled: this.carousel_pagination === 'scroll-arrows' || this.carousel_pagination === 'scroll-bar',
|
|
128
|
+
draggable: true,
|
|
129
|
+
},
|
|
130
|
+
centerInsufficientSlides: this.center_insufficient_slides,
|
|
131
|
+
freeMode: this.carousel_free_mode
|
|
132
|
+
? {
|
|
133
|
+
enabled: true,
|
|
134
|
+
sticky: true,
|
|
135
|
+
momentumVelocityRatio: 0.75,
|
|
136
|
+
momentumRatio: 0.75,
|
|
137
|
+
}
|
|
138
|
+
: false,
|
|
139
|
+
mousewheel: this.carousel_free_mode
|
|
140
|
+
? {
|
|
141
|
+
forceToAxis: true,
|
|
142
|
+
}
|
|
143
|
+
: false,
|
|
144
|
+
injectStyles: [
|
|
145
|
+
`
|
|
146
|
+
.swiper {
|
|
147
|
+
overflow: ${this.carousel_overflow ? 'visible' : 'hidden'} !important;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.swiper-scrollbar.swiper-scrollbar-horizontal {
|
|
151
|
+
position: relative;
|
|
152
|
+
top: var(--ui-carousel-scrollbar-offset-top);
|
|
153
|
+
width: var(--ui-carousel-scrollbar-width);
|
|
154
|
+
height: var(--ui-carousel-scrollbar-height);
|
|
155
|
+
left: ${this.carousel_pagination === 'scroll-bar' ? 'var(--ui-carousel-scrollbar-left)' : '1%'};
|
|
156
|
+
background: ${scrollbarBackgroundColour}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.swiper-scrollbar-drag {
|
|
160
|
+
background: ${scrollbarSliderColour}
|
|
161
|
+
}`,
|
|
162
|
+
],
|
|
163
|
+
breakpoints: {
|
|
164
|
+
0: {
|
|
165
|
+
scrollbar: {
|
|
166
|
+
enabled: this.carousel_pagination === 'scroll-arrows' ||
|
|
167
|
+
this.carousel_pagination === 'scroll-bar',
|
|
168
|
+
draggable: true,
|
|
169
|
+
},
|
|
170
|
+
slidesPerView: this.carousel_slides_per_view_mobile,
|
|
171
|
+
grid: {
|
|
172
|
+
rows: this.carousel_rows_per_row_mobile,
|
|
173
|
+
fill: 'row',
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
767: {
|
|
177
|
+
scrollbar: {
|
|
178
|
+
enabled: this.carousel_pagination === 'scroll-arrows' ||
|
|
179
|
+
this.carousel_pagination === 'scroll-bar',
|
|
180
|
+
draggable: true,
|
|
181
|
+
},
|
|
182
|
+
slidesPerView: this.carousel_slides_per_view_tablet,
|
|
183
|
+
},
|
|
184
|
+
1080: {
|
|
185
|
+
scrollbar: {
|
|
186
|
+
enabled: this.carousel_pagination === 'scroll-arrows' ||
|
|
187
|
+
this.carousel_pagination === 'scroll-bar',
|
|
188
|
+
draggable: true,
|
|
189
|
+
},
|
|
190
|
+
slidesPerView: this.carousel_slides_per_view_laptop,
|
|
191
|
+
},
|
|
192
|
+
1440: {
|
|
193
|
+
scrollbar: {
|
|
194
|
+
enabled: this.carousel_pagination === 'scroll-arrows' ||
|
|
195
|
+
this.carousel_pagination === 'scroll-bar',
|
|
196
|
+
draggable: true,
|
|
197
|
+
},
|
|
198
|
+
slidesPerView: this.carousel_slides_per_view_desktop,
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
on: {
|
|
202
|
+
slideChange: this.onSlideChange.bind(this),
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
// now we need to assign all parameters to the Swiper element
|
|
206
|
+
Object.assign(swiperEl, swiperParams);
|
|
207
|
+
// and now initialize it
|
|
208
|
+
swiperEl.initialize();
|
|
209
|
+
// Set up scrollbar and ensure this is recalculated on resize events
|
|
210
|
+
this.setupScrollbarLayoutProperties();
|
|
211
|
+
swiperEl.addEventListener('resize', () => {
|
|
212
|
+
this.setupScrollbarLayoutProperties();
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Move the carousel on to the next slide
|
|
217
|
+
*/
|
|
218
|
+
nextSlide() {
|
|
219
|
+
this.swiper.nativeElement.swiper.slideNext();
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Move the carousel back to the previous slide
|
|
223
|
+
*/
|
|
224
|
+
previousSlide() {
|
|
225
|
+
this.swiper.nativeElement.swiper.slidePrev();
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Emit event when the slide changes
|
|
229
|
+
* @param swiper
|
|
230
|
+
*/
|
|
231
|
+
onSlideChange(swiper) {
|
|
232
|
+
this.activeIndexOnSlideChange.emit(swiper.activeIndex);
|
|
233
|
+
}
|
|
234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, deps: [{ token: i1.TokenService }, { token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CarouselComponent, isStandalone: true, selector: "ui-carousel", inputs: { rewind: "rewind", carousel_overflow: "carousel_overflow", carousel_gap: "carousel_gap", carousel_pagination: "carousel_pagination", carousel_slides_per_view_desktop: "carousel_slides_per_view_desktop", carousel_slides_per_view_laptop: "carousel_slides_per_view_laptop", carousel_slides_per_view_tablet: "carousel_slides_per_view_tablet", carousel_slides_per_view_mobile: "carousel_slides_per_view_mobile", text_for_left_arrow: "text_for_left_arrow", text_for_right_arrow: "text_for_right_arrow", carousel_rows_per_row_mobile: "carousel_rows_per_row_mobile", carousel_loading: "carousel_loading", carousel_free_mode: "carousel_free_mode", center_insufficient_slides: "center_insufficient_slides", center_active_slide: "center_active_slide", start_slide: "start_slide", offset_scrollbar_top: "offset_scrollbar_top" }, outputs: { activeIndexOnSlideChange: "activeIndexOnSlideChange" }, providers: [TokenService], viewQueries: [{ propertyName: "swiper", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "carouselscrollbarplaceholder", first: true, predicate: ["carouselscrollbarplaceholder"], descendants: true, read: ElementRef }, { propertyName: "carouselctastack", first: true, predicate: ["carouselctastack"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box\n class=\"ui-carousel\"\n [ngClass]=\"{ 'ui-carousel-overflow': carousel_overflow }\"\n box_align_y=\"center\"\n box_space=\"none\"\n [box_content_fill_width]=\"true\"\n box_background=\"transparent\"\n>\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack\n *ngIf=\"carousel_pagination === 'small-arrows'\"\n stack_direction=\"x\"\n stack_align=\"center\"\n stack_distribute=\"end\"\n >\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"none\"\n [box_space_right]=\"{ mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none' }\"\n box_background=\"transparent\"\n >\n <div\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n class=\"ui-carousel__small-arrows\"\n >\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"\n >\n Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"\n >\n Next slide\n </ui-button>\n </div>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\"\n >\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"center\"\n *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\"\n >\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{ mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none' }\"\n box_background=\"transparent\"\n >\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\"\n >\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"\n >\n Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"\n >\n Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}.ui-carousel__small-arrows{align-items:center;display:flex;flex-direction:row;gap:var(--oasys-spacing-near);justify-content:center}@media only screen and (max-width: 767px){.ui-carousel__small-arrows{gap:var(--oasys-spacing-tight)}}\n"], dependencies: [{ kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OasysButtonComponent, selector: "ui-button", inputs: ["button_icon", "button_icon_placement", "button_size", "button_type", "button_full_width", "button_event_type", "button_disabled", "button_selected", "button_text_nowrap", "aria_label", "aria_role", "href"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
236
|
+
}
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
238
|
+
type: Component,
|
|
239
|
+
args: [{ selector: 'ui-carousel', encapsulation: ViewEncapsulation.None, standalone: true, imports: [LayoutBoxComponent, NgClass, LayoutStackComponent, NgIf, OasysButtonComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], providers: [TokenService], template: "<ui-box\n class=\"ui-carousel\"\n [ngClass]=\"{ 'ui-carousel-overflow': carousel_overflow }\"\n box_align_y=\"center\"\n box_space=\"none\"\n [box_content_fill_width]=\"true\"\n box_background=\"transparent\"\n>\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack\n *ngIf=\"carousel_pagination === 'small-arrows'\"\n stack_direction=\"x\"\n stack_align=\"center\"\n stack_distribute=\"end\"\n >\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"none\"\n [box_space_right]=\"{ mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none' }\"\n box_background=\"transparent\"\n >\n <div\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n class=\"ui-carousel__small-arrows\"\n >\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"\n >\n Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"\n >\n Next slide\n </ui-button>\n </div>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\"\n >\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"center\"\n *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\"\n >\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{ mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none' }\"\n box_background=\"transparent\"\n >\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\"\n >\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"\n >\n Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"\n >\n Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}.ui-carousel__small-arrows{align-items:center;display:flex;flex-direction:row;gap:var(--oasys-spacing-near);justify-content:center}@media only screen and (max-width: 767px){.ui-carousel__small-arrows{gap:var(--oasys-spacing-tight)}}\n"] }]
|
|
240
|
+
}], ctorParameters: () => [{ type: i1.TokenService }, { type: Document, decorators: [{
|
|
241
|
+
type: Inject,
|
|
242
|
+
args: [DOCUMENT]
|
|
243
|
+
}] }, { type: i0.ElementRef }], propDecorators: { swiper: [{
|
|
244
|
+
type: ViewChild,
|
|
245
|
+
args: ['swiper', { static: true }]
|
|
246
|
+
}], carouselscrollbarplaceholder: [{
|
|
247
|
+
type: ViewChild,
|
|
248
|
+
args: ['carouselscrollbarplaceholder', { static: false, read: ElementRef }]
|
|
249
|
+
}], carouselctastack: [{
|
|
250
|
+
type: ViewChild,
|
|
251
|
+
args: ['carouselctastack', { static: false, read: ElementRef }]
|
|
252
|
+
}], rewind: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], carousel_overflow: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], carousel_gap: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], carousel_pagination: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], carousel_slides_per_view_desktop: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], carousel_slides_per_view_laptop: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], carousel_slides_per_view_tablet: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], carousel_slides_per_view_mobile: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], text_for_left_arrow: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], text_for_right_arrow: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], carousel_rows_per_row_mobile: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], carousel_loading: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], carousel_free_mode: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], center_insufficient_slides: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], center_active_slide: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], start_slide: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], offset_scrollbar_top: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], activeIndexOnSlideChange: [{
|
|
287
|
+
type: Output
|
|
288
|
+
}] } });
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLHNCQUFzQixFQUN0QixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFdkQsb0VBQW9FO0FBWXBFLE1BQU0sT0FBTyxpQkFBaUI7SUFtQ2xCO0lBQ2tCO0lBQ2xCO0lBcENWLHNCQUFzQjtJQUNpQixNQUFNLENBQThCO0lBRTNFLDRCQUE0QixDQUFhO0lBQzJCLGdCQUFnQixDQUFhO0lBRWpHLHNGQUFzRjtJQUM3RSxNQUFNLEdBQVksS0FBSyxDQUFDO0lBRXhCLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxZQUFZLEdB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RUFBRSxVQUFVLEVBQUU7Z0JBR3pELE1BQU07c0JBQWQsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUNHLCtCQUErQjtzQkFBdkMsS0FBSztnQkFDRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSx3QkFBd0I7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEluamVjdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU3dpcGVyIGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyL3R5cGVzJztcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3dpcGVyQ29udGFpbmVyIH0gZnJvbSAnc3dpcGVyL2VsZW1lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFN0YWNrQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L3N0YWNrL3N0YWNrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYXN5c0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNXSVBFUl9QUk9WSURFUl9UT0tFTiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuLyogVGhpcyBjb21wb25lbnQgd3JhcHMgYXJvdW5kIHRoZSBzd2lwZXIuanMgbGlicmFyeSBXZWJDb21wb25lbnQgKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTGF5b3V0Qm94Q29tcG9uZW50LCBOZ0NsYXNzLCBMYXlvdXRTdGFja0NvbXBvbmVudCwgTmdJZiwgT2FzeXNCdXR0b25Db21wb25lbnRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHByb3ZpZGVyczogW1Rva2VuU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVGhlIHN3aXBlciBpbnN0YW5jZVxuICBAVmlld0NoaWxkKCdzd2lwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2lwZXI6IEVsZW1lbnRSZWY8U3dpcGVyQ29udGFpbmVyPjtcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBjYXJvdXNlbHNjcm9sbGJhcnBsYWNlaG9sZGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjYXJvdXNlbGN0YXN0YWNrJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIGNhcm91c2VsY3Rhc3RhY2s6IEVsZW1lbnRSZWY7XG5cbiAgLy8gUmV3aW5kcyB0aGUgc2xpZGVzIGJhY2sgdG8gdGhlIHN0YXJ0IHdoZW4gdGhlIHVzZXIgcmVhY2hlcyB0aGUgZW5kIHdoZW4gc2V0IHRvIHRydWVcbiAgQElucHV0KCkgcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfb3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjYXJvdXNlbF9nYXA6ICdkZWZhdWx0JyB8ICd0aWdodCcgfCAnbmVhcicgfCAnbm9uZScgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfcGFnaW5hdGlvbjogJ3Njcm9sbC1hcnJvd3MnIHwgJ25vbmUnIHwgJ3Njcm9sbC1iYXInIHwgJ3NtYWxsLWFycm93cycgPSAnbm9uZSc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2Rlc2t0b3A6IG51bWJlciA9IDQ7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld19sYXB0b3A6IG51bWJlciA9IDM7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld190YWJsZXQ6IG51bWJlciA9IDIuNTtcbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X21vYmlsZTogbnVtYmVyID0gMS4yNTtcbiAgQElucHV0KCkgdGV4dF9mb3JfbGVmdF9hcnJvdzogc3RyaW5nID0gJ3ByZXZpb3VzIHNsaWRlJztcbiAgQElucHV0KCkgdGV4dF9mb3JfcmlnaHRfYXJyb3c6IHN0cmluZyA9ICduZXh0IHNsaWRlJztcblxuICBASW5wdXQoKSBjYXJvdXNlbF9yb3dzX3Blcl9yb3dfbW9iaWxlOiAxIHwgMiA9IDE7IC8vIFJlcXVpcmVkIGZvciBDQVRFR09SWV9DQVJEIGV4cGVyaW1lbnQuIFJlbW92ZSBpZiBleHBlcmltZW50IGZhaWxzLlxuXG4gIEBJbnB1dCgpIGNhcm91c2VsX2xvYWRpbmc6ICdsYXp5JyB8ICdlYWdlcicgPSAnbGF6eSc7IC8vIElmIHdlIGRvbid0IGhhdmUgbXVsdGlwbGUgY2Fyb3VzZWxzIG9uIHBhZ2UgYW5kIHdhbnQgdG8gcHJpb3JpdGlzZSBVSSBsb2FkaW5nIG9uIHRpbWVcbiAgQElucHV0KCkgY2Fyb3VzZWxfZnJlZV9tb2RlOiBib29sZWFuID0gZmFsc2U7IC8vIEVuYWJsZXMgc2Nyb2xsaW5nIHdpdGggbW91c2V3aGVlbCAvIHNtb290aGVyIG1vbWVudHVtIHN3aXBpbmcgZXhwZXJpZW5jZVxuICBASW5wdXQoKSBjZW50ZXJfaW5zdWZmaWNpZW50X3NsaWRlczogYm9vbGVhbiA9IHRydWU7IC8vIENlbnRlcnMgdGhlIHNsaWRlcyBpZiB0aGVyZSBhcmUgbm90IGVub3VnaCB0byBmaWxsIHRoZSBzcGFjZVxuICBASW5wdXQoKSBjZW50ZXJfYWN0aXZlX3NsaWRlOiBib29sZWFuID0gZmFsc2U7IC8vIENlbnRlcnMgdGhlIGFjdGl2ZSBzbGlkZVxuICBASW5wdXQoKSBzdGFydF9zbGlkZTogbnVtYmVyID0gMDsgLy8gU3RhcnQgc2xpZGUgaW5kZXhcbiAgQElucHV0KCkgb2Zmc2V0X3Njcm9sbGJhcl90b3A6IGJvb2xlYW4gPSBmYWxzZTsgLy8gT2Zmc2V0IHRoZSBzY3JvbGxiYXIgdG8gdGhlIHRvcCBvZiB0aGUgY2Fyb3VzZWxcblxuICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhPblNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICkge1xuICAgIGluamVjdChTV0lQRVJfUFJPVklERVJfVE9LRU4pLmVuc3VyZVN3aXBlclJlZ2lzdGVyZWQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhcm91c2VsX2xvYWRpbmcgPT09ICdsYXp5Jykge1xuICAgICAgdGhpcy5zZXRVcEludGVyc2VjdGlvbk9ic2VydmVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdFN3aXBlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciB3aXRoIHRoZSByZWxldmFudCBvcHRpb25zXG4gICAqL1xuICBzZXRVcEludGVyc2VjdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIC8vIFNldCBJbnRlcnNlY3Rpb25PYnNlcnZlciBvcHRpb25zXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJvb3Q6IG51bGwsXG4gICAgICByb290TWFyZ2luOiAnMHB4JyxcbiAgICAgIHRocmVzaG9sZDogMC41LFxuICAgICAgb25jZTogdHJ1ZSxcbiAgICB9O1xuICAgIC8vIFNldCB1cCB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLm9uSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksIG9wdGlvbnMpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQganVzdCBiZWZvcmUgdGhlIHVzZXIgc2Nyb2xscyB0aGlzIGNvbXBvbmVudCBpbnRvIHZpZXdcbiAgICogQHBhcmFtIGVudHJpZXMgLSBBbiBhcnJheSBvZiBpbnRlcnN3ZWN0aW9uIG9ic2VydmVyIGVudHJpZXNcbiAgICogQHBhcmFtIG9ic2VydmVyIC0gSW50ZXJzZWN0aW9uIG9ic2VydmVyXG4gICAqL1xuICBvbkludGVyc2VjdGlvbihlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10sIG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcik6IHZvaWQge1xuICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpOiB2b2lkID0+IHtcbiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAvLyBJbml0aWFsaXNlIHN3aXBlclxuICAgICAgICB0aGlzLmluaXRTd2lwZXIoKTtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHN0eWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNjcm9sbGJhciBwbGFjZW1lbnQgYW5kIHdpZHRoIGJhc2VkIG9uIGNhcm91c2Vsc2Nyb2xsYmFycGxhY2Vob2xkZXIgYW5kIGNhcm91c2VsY3Rhc3RhY2tcbiAgICovXG4gIHNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnbm9uZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYXJvdXNlbFN0YWNrOiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxjdGFzdGFjaz8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxiYXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHNjcm9sbGJhckhlaWdodCA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXdcbiAgICAgIC5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudClcbiAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCctLXN3aXBlci1zY3JvbGxiYXItc2l6ZScpO1xuXG4gICAgaWYgKGNhcm91c2VsU3RhY2sgJiYgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWFycm93cycpIHtcbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItd2lkdGgnLFxuICAgICAgICBgJHtzY3JvbGxiYXJFbGVtZW50Py5vZmZzZXRXaWR0aCAtIHBhcnNlSW50KHRoaXMuZ2V0U3R5bGUoY2Fyb3VzZWxTdGFjaywgJ2dhcCcpLCAxMCl9cHhgLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAgICctLXVpLWNhcm91c2VsLXNjcm9sbGJhci1vZmZzZXQtdG9wJyxcbiAgICAgICAgYCR7cGFyc2VJbnQodGhpcy5nZXRTdHlsZShjYXJvdXNlbFN0YWNrLCAnZ2FwJyksIDEwKSArIHNjcm9sbGJhckVsZW1lbnQ/Lm9mZnNldEhlaWdodCAvIDIgKyBwYXJzZUludChzY3JvbGxiYXJIZWlnaHQsIDEwKSAvIDJ9cHhgLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoJy0tdWktY2Fyb3VzZWwtc2Nyb2xsYmFyLWhlaWdodCcsICcycHgnKTtcbiAgICB9XG5cbiAgICBpZiAoY2Fyb3VzZWxTdGFjayAmJiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJykge1xuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoJy0tdWktY2Fyb3VzZWwtc2Nyb2xsYmFyLXdpZHRoJywgJzEwMCUnKTtcblxuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAgICctLXVpLWNhcm91c2VsLXNjcm9sbGJhci1vZmZzZXQtdG9wJyxcbiAgICAgICAgYCR7dGhpcy5vZmZzZXRfc2Nyb2xsYmFyX3RvcCA/IHBhcnNlSW50KHRoaXMuZ2V0U3R5bGUoY2Fyb3VzZWxTdGFjaywgJ2dhcCcpLCAxMCkgKyAncHgnIDogJzBweCd9YCxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KCctLXVpLWNhcm91c2VsLXNjcm9sbGJhci1oZWlnaHQnLCAnNHB4Jyk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KCctLXVpLWNhcm91c2VsLXNjcm9sbGJhci1sZWZ0JywgJzBweCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGR5bmFtaWMgc3dpcGVyIHBhcmFtcyBhbmQgaW5pdGlhbGlzZSB0aGUgc3dpcGVyIGluc3RhbmNlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICBpbml0U3dpcGVyKCk6IHZvaWQge1xuICAgIC8vIENvbG91ciBvdmVyaWRlc1xuICAgIGNvbnN0IHNjcm9sbGJhckJhY2tncm91bmRDb2xvdXIgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgJy0tb2FzeXMtY29sb3ItbGluZW4tZ3JleS0yMDAnLFxuICAgICk7XG4gICAgY29uc3Qgc2Nyb2xsYmFyU2xpZGVyQ29sb3VyID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZShcbiAgICAgICctLW9hc3lzLWNvbG9yLWJyYW5kLWZvcmVncm91bmQtcHJpbWFyeScsXG4gICAgKTtcblxuICAgIC8vIHN3aXBlciBlbGVtZW50XG4gICAgY29uc3Qgc3dpcGVyRWwgPSB0aGlzLnN3aXBlci5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgY2Fyb3VzZWxHYXAgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKGAtLW9hc3lzLXNwYWNpbmctJHt0aGlzLmNhcm91c2VsX2dhcH1gKTtcblxuICAgIC8vIHN3aXBlciBwYXJhbWV0ZXJzXG4gICAgY29uc3Qgc3dpcGVyUGFyYW1zOiBTd2lwZXJPcHRpb25zID0ge1xuICAgICAgcmV3aW5kOiB0aGlzLnJld2luZCxcbiAgICAgIGdyYWJDdXJzb3I6IHRydWUsXG4gICAgICBzcGFjZUJldHdlZW46IHBhcnNlSW50KGNhcm91c2VsR2FwLnJlcGxhY2UoJy4nLCAnJyksIDEwKSB8fCAwLFxuICAgICAgY2VudGVyZWRTbGlkZXM6IHRoaXMuY2VudGVyX2FjdGl2ZV9zbGlkZSxcbiAgICAgIGluaXRpYWxTbGlkZTogdGhpcy5zdGFydF9zbGlkZSxcbiAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICBlbmFibGVkOlxuICAgICAgICAgIHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICBkcmFnZ2FibGU6IHRydWUsXG4gICAgICB9LFxuICAgICAgY2VudGVySW5zdWZmaWNpZW50U2xpZGVzOiB0aGlzLmNlbnRlcl9pbnN1ZmZpY2llbnRfc2xpZGVzLFxuICAgICAgZnJlZU1vZGU6IHRoaXMuY2Fyb3VzZWxfZnJlZV9tb2RlXG4gICAgICAgID8ge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIHN0aWNreTogdHJ1ZSxcbiAgICAgICAgICAgIG1vbWVudHVtVmVsb2NpdHlSYXRpbzogMC43NSxcbiAgICAgICAgICAgIG1vbWVudHVtUmF0aW86IDAuNzUsXG4gICAgICAgICAgfVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgbW91c2V3aGVlbDogdGhpcy5jYXJvdXNlbF9mcmVlX21vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBmb3JjZVRvQXhpczogdHJ1ZSxcbiAgICAgICAgICB9XG4gICAgICAgIDogZmFsc2UsXG4gICAgICBpbmplY3RTdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAuc3dpcGVyIHtcbiAgICAgICAgICBvdmVyZmxvdzogJHt0aGlzLmNhcm91c2VsX292ZXJmbG93ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IHZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci1vZmZzZXQtdG9wKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tdWktY2Fyb3VzZWwtc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci1oZWlnaHQpO1xuICAgICAgICAgIGxlZnQ6ICR7dGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicgPyAndmFyKC0tdWktY2Fyb3VzZWwtc2Nyb2xsYmFyLWxlZnQpJyA6ICcxJSd9O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR7c2Nyb2xsYmFyQmFja2dyb3VuZENvbG91cn1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR7c2Nyb2xsYmFyU2xpZGVyQ29sb3VyfVxuICAgICAgICB9YCxcbiAgICAgIF0sXG4gICAgICBicmVha3BvaW50czoge1xuICAgICAgICAwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOlxuICAgICAgICAgICAgICB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fFxuICAgICAgICAgICAgICB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMuY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X21vYmlsZSxcbiAgICAgICAgICBncmlkOiB7XG4gICAgICAgICAgICByb3dzOiB0aGlzLmNhcm91c2VsX3Jvd3NfcGVyX3Jvd19tb2JpbGUsXG4gICAgICAgICAgICBmaWxsOiAncm93JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICA3Njc6IHtcbiAgICAgICAgICBzY3JvbGxiYXI6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6XG4gICAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8XG4gICAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jYXJvdXNlbF9zbGlkZXNfcGVyX3ZpZXdfdGFibGV0LFxuICAgICAgICB9LFxuICAgICAgICAxMDgwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOlxuICAgICAgICAgICAgICB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fFxuICAgICAgICAgICAgICB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMuY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2xhcHRvcCxcbiAgICAgICAgfSxcbiAgICAgICAgMTQ0MDoge1xuICAgICAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICAgICAgZW5hYmxlZDpcbiAgICAgICAgICAgICAgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWFycm93cycgfHxcbiAgICAgICAgICAgICAgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicsXG4gICAgICAgICAgICBkcmFnZ2FibGU6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzbGlkZXNQZXJWaWV3OiB0aGlzLmNhcm91c2VsX3NsaWRlc19wZXJfdmlld19kZXNrdG9wLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIHNsaWRlQ2hhbmdlOiB0aGlzLm9uU2xpZGVDaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIG5vdyB3ZSBuZWVkIHRvIGFzc2lnbiBhbGwgcGFyYW1ldGVycyB0byB0aGUgU3dpcGVyIGVsZW1lbnRcbiAgICBPYmplY3QuYXNzaWduKHN3aXBlckVsLCBzd2lwZXJQYXJhbXMpO1xuXG4gICAgLy8gYW5kIG5vdyBpbml0aWFsaXplIGl0XG4gICAgc3dpcGVyRWwuaW5pdGlhbGl6ZSgpO1xuXG4gICAgLy8gU2V0IHVwIHNjcm9sbGJhciBhbmQgZW5zdXJlIHRoaXMgaXMgcmVjYWxjdWxhdGVkIG9uIHJlc2l6ZSBldmVudHNcbiAgICB0aGlzLnNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpO1xuXG4gICAgc3dpcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zZXR1cFNjcm9sbGJhckxheW91dFByb3BlcnRpZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIHRoZSBjYXJvdXNlbCBvbiB0byB0aGUgbmV4dCBzbGlkZVxuICAgKi9cbiAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmUgdGhlIGNhcm91c2VsIGJhY2sgdG8gdGhlIHByZXZpb3VzIHNsaWRlXG4gICAqL1xuICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlUHJldigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgd2hlbiB0aGUgc2xpZGUgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3dpcGVyXG4gICAqL1xuICBvblNsaWRlQ2hhbmdlKHN3aXBlcjogU3dpcGVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleE9uU2xpZGVDaGFuZ2UuZW1pdChzd2lwZXIuYWN0aXZlSW5kZXgpO1xuICB9XG59XG4iLCI8dWktYm94XG4gIGNsYXNzPVwidWktY2Fyb3VzZWxcIlxuICBbbmdDbGFzc109XCJ7ICd1aS1jYXJvdXNlbC1vdmVyZmxvdyc6IGNhcm91c2VsX292ZXJmbG93IH1cIlxuICBib3hfYWxpZ25feT1cImNlbnRlclwiXG4gIGJveF9zcGFjZT1cIm5vbmVcIlxuICBbYm94X2NvbnRlbnRfZmlsbF93aWR0aF09XCJ0cnVlXCJcbiAgYm94X2JhY2tncm91bmQ9XCJ0cmFuc3BhcmVudFwiXG4+XG4gIDx1aS1zdGFjayAjY2Fyb3VzZWxjdGFzdGFjaz5cbiAgICA8IS0tIEN1c3RvbSBuYXZpZ2F0aW9uIGJ1dHRvbnMgLS0+XG4gICAgPHVpLXN0YWNrXG4gICAgICAqbmdJZj1cImNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzbWFsbC1hcnJvd3MnXCJcbiAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgc3RhY2tfYWxpZ249XCJjZW50ZXJcIlxuICAgICAgc3RhY2tfZGlzdHJpYnV0ZT1cImVuZFwiXG4gICAgPlxuICAgICAgPHVpLWJveFxuICAgICAgICBib3hfc3BhY2U9XCJub25lXCJcbiAgICAgICAgYm94X2ZpbGxfbW9kZT1cImZpdFwiXG4gICAgICAgIGJveF9zcGFjZV9ib3R0b209XCJub25lXCJcbiAgICAgICAgW2JveF9zcGFjZV9yaWdodF09XCJ7IG1vYmlsZTogJ3RpZ2h0JywgdGFibGV0OiAnbm9uZScsIGxhcHRvcDogJ25vbmUnLCBkZXNrdG9wOiAnbm9uZScgfVwiXG4gICAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCIhKHN3aXBlcj8uc3dpcGVyPy5pc0JlZ2lubmluZyAmJiBzd2lwZXI/LnN3aXBlcj8uaXNFbmQpXCJcbiAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19zbWFsbC1hcnJvd3NcIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBQcmV2aW91cyBidXR0b24tLT5cbiAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19wcmV2aW91c1wiXG4gICAgICAgICAgICBidXR0b25fc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGJ1dHRvbl9pY29uX3BsYWNlbWVudD1cImljb25Pbmx5XCJcbiAgICAgICAgICAgIGJ1dHRvbl9pY29uPVwiYXJyb3ctbGVmdFwiXG4gICAgICAgICAgICBidXR0b25fdHlwZT1cInRlcnRpYXJ5XCJcbiAgICAgICAgICAgIFthcmlhX2xhYmVsXT1cInRleHRfZm9yX2xlZnRfYXJyb3dcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwicHJldmlvdXNTbGlkZSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBQcmV2b3VzIHNsaWRlXG4gICAgICAgICAgPC91aS1idXR0b24+XG4gICAgICAgICAgPCEtLSBOZXh0IGJ1dHRvbi0tPlxuICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwidWktY2Fyb3VzZWxfX25leHRcIlxuICAgICAgICAgICAgYnV0dG9uX3NpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBidXR0b25faWNvbl9wbGFjZW1lbnQ9XCJpY29uT25seVwiXG4gICAgICAgICAgICBidXR0b25faWNvbj1cImFycm93LXJpZ2h0XCJcbiAgICAgICAgICAgIGJ1dHRvbl90eXBlPVwidGVydGlhcnlcIlxuICAgICAgICAgICAgW2FyaWFfbGFiZWxdPVwidGV4dF9mb3JfcmlnaHRfYXJyb3dcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV4dFNsaWRlKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIE5leHQgc2xpZGVcbiAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3VpLWJveD5cbiAgICA8L3VpLXN0YWNrPlxuXG4gICAgPCEtLSBTd2lwZXIgV2ViQ29tcG9uZW50LS0+XG4gICAgPHN3aXBlci1jb250YWluZXJcbiAgICAgICNzd2lwZXJcbiAgICAgIGluaXQ9XCJmYWxzZVwiXG4gICAgICB0b3VjaC1zdGFydC1wcmV2ZW50LWRlZmF1bHQ9XCJmYWxzZVwiXG4gICAgICBwcmV2ZW50LWNsaWNrcy1wcm9wYWdhdGlvbj1cInRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3N3aXBlci1jb250YWluZXI+XG5cbiAgICA8IS0tIEN1c3RvbSBuYXZpZ2F0aW9uIGJ1dHRvbnMgLS0+XG4gICAgPHVpLXN0YWNrXG4gICAgICBzdGFja19kaXJlY3Rpb249XCJ4XCJcbiAgICAgIHN0YWNrX2FsaWduPVwiY2VudGVyXCJcbiAgICAgICpuZ0lmPVwiY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IGNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInVpLWNhcm91c2VsLXNjcm9sbGJhci1wbGFjZWhvbGRlclwiICNjYXJvdXNlbHNjcm9sbGJhcnBsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgPHVpLWJveFxuICAgICAgICAqbmdJZj1cImNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJ1wiXG4gICAgICAgIGJveF9zcGFjZT1cIm5vbmVcIlxuICAgICAgICBib3hfZmlsbF9tb2RlPVwiZml0XCJcbiAgICAgICAgW2JveF9zcGFjZV9yaWdodF09XCJ7IG1vYmlsZTogJ3RpZ2h0JywgdGFibGV0OiAnbm9uZScsIGxhcHRvcDogJ25vbmUnLCBkZXNrdG9wOiAnbm9uZScgfVwiXG4gICAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgPlxuICAgICAgICA8dWktc3RhY2tcbiAgICAgICAgICAqbmdJZj1cIiEoc3dpcGVyPy5zd2lwZXI/LmlzQmVnaW5uaW5nICYmIHN3aXBlcj8uc3dpcGVyPy5pc0VuZClcIlxuICAgICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICAgIHN0YWNrX2dhcD1cIm5lYXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBQcmV2aW91cyBidXR0b24tLT5cbiAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19wcmV2aW91c1wiXG4gICAgICAgICAgICBidXR0b25fc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgIGJ1dHRvbl9pY29uX3BsYWNlbWVudD1cImljb25Pbmx5XCJcbiAgICAgICAgICAgIGJ1dHRvbl9pY29uPVwiYXJyb3ctbGVmdFwiXG4gICAgICAgICAgICBidXR0b25fdHlwZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBbYXJpYV9sYWJlbF09XCJ0ZXh0X2Zvcl9sZWZ0X2Fycm93XCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cInByZXZpb3VzU2xpZGUoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgUHJldm91cyBzbGlkZVxuICAgICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgICAgIDwhLS0gTmV4dCBidXR0b24tLT5cbiAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19uZXh0XCJcbiAgICAgICAgICAgIGJ1dHRvbl9zaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgYnV0dG9uX2ljb25fcGxhY2VtZW50PVwiaWNvbk9ubHlcIlxuICAgICAgICAgICAgYnV0dG9uX2ljb249XCJhcnJvdy1yaWdodFwiXG4gICAgICAgICAgICBidXR0b25fdHlwZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBbYXJpYV9sYWJlbF09XCJ0ZXh0X2Zvcl9yaWdodF9hcnJvd1wiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJuZXh0U2xpZGUoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgTmV4dCBzbGlkZVxuICAgICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgPC91aS1ib3g+XG4gICAgPC91aS1zdGFjaz5cbiAgPC91aS1zdGFjaz5cbjwvdWktYm94PlxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CarouselComponent } from './carousel.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OasysCarouselModule {
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysCarouselModule, imports: [CarouselComponent], exports: [CarouselComponent] });
|
|
7
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysCarouselModule });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysCarouselModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
imports: [CarouselComponent],
|
|
13
|
+
exports: [CarouselComponent],
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsWUFIcEIsaUJBQWlCLGFBQ2pCLGlCQUFpQjt5R0FFaEIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDYXJvdXNlbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDYXJvdXNlbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE9hc3lzQ2Fyb3VzZWxNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './carousel.component';
|
|
2
|
+
export * from './carousel.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2Fyb3VzZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2Fyb3VzZWwubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { LayoutBoxComponent } from '../layout/box/box.component';
|
|
4
|
+
import { NgClass } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DividerComponent {
|
|
7
|
+
divider_type = 'secondary';
|
|
8
|
+
getClass() {
|
|
9
|
+
return this.divider_type === 'secondary'
|
|
10
|
+
? `ui-divider--type-${this.divider_type}`
|
|
11
|
+
: `ui-divider--type-${this.divider_type}`;
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DividerComponent, isStandalone: true, selector: "ui-divider", inputs: { divider_type: "divider_type" }, ngImport: i0, template: "<ui-box\n box_fill_mode=\"fill\"\n box_space=\"none\"\n box_background=\"core-secondary\"\n [ngClass]=\"getClass()\"\n></ui-box>\n", styles: ["ui-divider{display:block;width:100%}ui-divider ui-box.ui-divider--type-secondary:after{content:\"\";display:block;height:var(--oasys-size-unit-1);width:100%}ui-divider ui-box.ui-divider--type-primary:after{content:\"\";display:block;height:var(--oasys-size-unit-8);width:100%}\n"], dependencies: [{ kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DividerComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'ui-divider', encapsulation: ViewEncapsulation.None, standalone: true, imports: [LayoutBoxComponent, NgClass], template: "<ui-box\n box_fill_mode=\"fill\"\n box_space=\"none\"\n box_background=\"core-secondary\"\n [ngClass]=\"getClass()\"\n></ui-box>\n", styles: ["ui-divider{display:block;width:100%}ui-divider ui-box.ui-divider--type-secondary:after{content:\"\";display:block;height:var(--oasys-size-unit-1);width:100%}ui-divider ui-box.ui-divider--type-primary:after{content:\"\";display:block;height:var(--oasys-size-unit-8);width:100%}\n"] }]
|
|
19
|
+
}], propDecorators: { divider_type: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVUxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQVksR0FBZ0IsV0FBVyxDQUFDO0lBRXhDLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVztZQUN0QyxDQUFDLENBQUMsb0JBQW9CLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekMsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzt3R0FSVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixnSENkN0Isd0lBTUEsZ1ZETVksa0JBQWtCLGdVQUFFLE9BQU87OzRGQUUxQixnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQzs4QkFJdEMsWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpdmlkZXJUeXBlIH0gZnJvbSAnLi9kaXZpZGVyJztcbmltcG9ydCB7IExheW91dEJveENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9ib3gvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZGl2aWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXZpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGl2aWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTGF5b3V0Qm94Q29tcG9uZW50LCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgRGl2aWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGRpdmlkZXJfdHlwZTogRGl2aWRlclR5cGUgPSAnc2Vjb25kYXJ5JztcblxuICBnZXRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpdmlkZXJfdHlwZSA9PT0gJ3NlY29uZGFyeSdcbiAgICAgID8gYHVpLWRpdmlkZXItLXR5cGUtJHt0aGlzLmRpdmlkZXJfdHlwZX1gXG4gICAgICA6IGB1aS1kaXZpZGVyLS10eXBlLSR7dGhpcy5kaXZpZGVyX3R5cGV9YDtcbiAgfVxufVxuIiwiPHVpLWJveFxuICBib3hfZmlsbF9tb2RlPVwiZmlsbFwiXG4gIGJveF9zcGFjZT1cIm5vbmVcIlxuICBib3hfYmFja2dyb3VuZD1cImNvcmUtc2Vjb25kYXJ5XCJcbiAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoKVwiXG4+PC91aS1ib3g+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEaXZpZGVyVHlwZSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DividerComponent } from './divider.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OasysDividerModule {
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysDividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysDividerModule, imports: [DividerComponent], exports: [DividerComponent] });
|
|
7
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysDividerModule });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysDividerModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
imports: [DividerComponent],
|
|
13
|
+
exports: [DividerComponent],
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLGtCQUFrQjt3R0FBbEIsa0JBQWtCO3lHQUFsQixrQkFBa0IsWUFIbkIsZ0JBQWdCLGFBQ2hCLGdCQUFnQjt5R0FFZixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kaXZpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEaXZpZGVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0RpdmlkZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBPYXN5c0RpdmlkZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './divider.component';
|
|
2
|
+
export * from './divider.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIubW9kdWxlJztcbiJdfQ==
|