@progressio_resources/gravity-design-system 3.0.24 → 3.0.27
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/gravity-calendar/gravity-calendar.component.mjs +16 -9
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.mjs +12 -1
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.mjs +8 -7
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.mjs +20 -17
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.mjs +20 -18
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.mjs +38 -13
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.mjs +20 -17
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.mjs +20 -18
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.mjs +12 -9
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.mjs +23 -15
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.mjs +15 -8
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/services/header-type.service.mjs +28 -0
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/date-abbreviation.pipe.mjs +74 -0
- package/esm2022/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.mjs +31 -14
- package/esm2022/lib/components/gravity-dropdown-label/gravity-dropdown-label.component.mjs +58 -0
- package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +31 -14
- package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +2 -2
- package/esm2022/lib/components/gravity-icon/gravity-icon.component.mjs +58 -54
- package/esm2022/lib/components/gravity-link/gravity-link.component.mjs +7 -8
- package/esm2022/lib/components/gravity-modal/gravity-modal.component.mjs +1 -1
- package/esm2022/lib/components/gravity-navigation-card/gravity-navigation-card.component.mjs +43 -0
- package/esm2022/lib/components/gravity-status-indicator/gravity-status-indicator.component.mjs +3 -3
- package/esm2022/lib/gravity-design-system.module.mjs +15 -4
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/progressio_resources-gravity-design-system.mjs +479 -192
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-calendar/gravity-calendar.component.d.ts +4 -1
- package/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.d.ts +1 -0
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.d.ts +3 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.d.ts +3 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.d.ts +2 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.d.ts +15 -5
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.d.ts +3 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.d.ts +2 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.d.ts +3 -1
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.d.ts +9 -5
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.d.ts +3 -0
- package/lib/components/gravity-calendar-v2/datepicker/services/header-type.service.d.ts +17 -0
- package/lib/components/gravity-calendar-v2/datepicker/utils/date-abbreviation.pipe.d.ts +13 -0
- package/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.d.ts +8 -2
- package/lib/components/gravity-dropdown-label/gravity-dropdown-label.component.d.ts +17 -0
- package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +4 -1
- package/lib/components/gravity-icon/gravity-icon.component.d.ts +57 -53
- package/lib/components/gravity-link/gravity-link.component.d.ts +2 -3
- package/lib/components/gravity-navigation-card/gravity-navigation-card.component.d.ts +17 -0
- package/lib/components/gravity-status-indicator/gravity-status-indicator.component.d.ts +1 -1
- package/lib/gravity-design-system.module.d.ts +32 -29
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-xl-32.svg +10 -0
- package/src/lib/assets/json/icons.json +64 -0
- package/src/lib/styles/components/_datepicker-v2.scss +9 -1
- package/src/lib/styles/foundations/colors/themes/_hero.theme.scss +2 -2
- package/src/lib/assets/icon-set/gt-icon-arrow-up/gt-icon-switch-lg-24.svg +0 -10
- package/src/lib/assets/icon-set/gt-icon-arrow-up/gt-icon-switch-md-16.svg +0 -10
- package/src/lib/assets/icon-set/gt-icon-arrow-up/gt-icon-switch-sm-12.svg +0 -10
- package/src/lib/assets/icon-set/gt-icon-arrow-up/gt-icon-switch-xl-32.svg +0 -10
|
@@ -2,10 +2,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import { yearsPerCalendar } from '../../engine/format-years-calendar';
|
|
3
3
|
import { BsNavigationDirection } from '../../models';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
-
import * as i2 from "
|
|
5
|
+
import * as i1 from "../../services/header-type.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "../bs-datepicker-navigation-view/bs-datepicker-navigation-view.component";
|
|
7
8
|
export class BsYearsCalendarViewComponent {
|
|
8
|
-
constructor() {
|
|
9
|
+
constructor(headerTypeService) {
|
|
10
|
+
this.headerTypeService = headerTypeService;
|
|
9
11
|
this.onNavigate = new EventEmitter();
|
|
10
12
|
this.onViewMode = new EventEmitter();
|
|
11
13
|
this.onSelect = new EventEmitter();
|
|
@@ -17,20 +19,25 @@ export class BsYearsCalendarViewComponent {
|
|
|
17
19
|
}
|
|
18
20
|
viewYear(year) {
|
|
19
21
|
this.onSelect.emit(year);
|
|
22
|
+
this.headerTypeService.setCalendarType('months');
|
|
23
|
+
if (this.headerTypeService.getCalendarType() === 'days') {
|
|
24
|
+
this.headerTypeService.setHeaderType('self');
|
|
25
|
+
}
|
|
20
26
|
}
|
|
21
27
|
hoverYear(cell, isHovered) {
|
|
22
28
|
this.onHover.emit({ cell, isHovered });
|
|
23
29
|
}
|
|
24
30
|
changeViewMode(event) {
|
|
25
31
|
this.onViewMode.emit(event);
|
|
32
|
+
this.headerTypeService.setHeaderType('integrate');
|
|
26
33
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsYearsCalendarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: { calendar: "calendar", calendarIndex: "calendarIndex", showNavigationArrows: "showNavigationArrows", size: "size" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode", onSelect: "onSelect", onHover: "onHover" }, ngImport: i0, template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\"
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsYearsCalendarViewComponent, deps: [{ token: i1.HeaderTypeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: { calendar: "calendar", calendarIndex: "calendarIndex", showNavigationArrows: "showNavigationArrows", size: "size" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode", onSelect: "onSelect", onHover: "onHover" }, ngImport: i0, template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\">\n </bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <hr>\n <div class=\"calendar-body\">\n <div class=\"years\" *ngFor=\"let row of calendar?.years\">\n <article class=\"hr-body sm-regular\"\n [class.disabled]=\"year.isDisabled\"\n [class.is-highlighted]=\"year.isHovered\"\n [class.selected]=\"year.isSelected\"\n [class.today]=\"year.isToday\"\n\n (click)=\"viewYear(year)\" *ngFor=\"let year of row\"\n (mouseenter)=\"hoverYear(year, true)\" (mouseleave)=\"hoverYear(year, false)\">\n {{ year.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".calendar-body{display:grid;margin-top:8px;background-color:var(--bg-calender-primary);gap:var(--height-gap) var(--width-gap)}hr{margin-bottom:var(--gravity-spacing-sm);border:1px solid var(--divider-menu-active-primary)}.years{display:flex;align-items:center;justify-content:space-between}.years article{display:flex;cursor:pointer;border-radius:8px;align-items:center;justify-content:center;border:2px solid transparent;width:var(--month-article-width);height:var(--month-article-height);color:var(--on-bg-button-pressed-tertiary)}.years article.disabled{cursor:default;color:var(--on-bg-disabled)}.years article.today{border-color:var(--bg-number-calendar-hover-primary)}.years article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.years article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.BsDatepickerNavigationViewComponent, selector: "bs-datepicker-navigation-view", inputs: ["calendarIndex", "isDisabled", "calendar", "type", "showNavigationArrows"], outputs: ["onNavigate", "onViewMode"] }] }); }
|
|
29
36
|
}
|
|
30
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BsYearsCalendarViewComponent, decorators: [{
|
|
31
38
|
type: Component,
|
|
32
|
-
args: [{ selector: 'bs-years-calendar-view', template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\"
|
|
33
|
-
}], propDecorators: { calendar: [{
|
|
39
|
+
args: [{ selector: 'bs-years-calendar-view', template: "<!--navigation-->\n<div class=\"gt-calendar-view-head\">\n <bs-datepicker-navigation-view [calendar]=\"calendar\" [calendarIndex]=\"calendarIndex\"\n [showNavigationArrows]=\"showNavigationArrows\" (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\" [type]=\"'years'\">\n </bs-datepicker-navigation-view>\n</div>\n\n<div class=\"gt-calendar-view-body\">\n <hr>\n <div class=\"calendar-body\">\n <div class=\"years\" *ngFor=\"let row of calendar?.years\">\n <article class=\"hr-body sm-regular\"\n [class.disabled]=\"year.isDisabled\"\n [class.is-highlighted]=\"year.isHovered\"\n [class.selected]=\"year.isSelected\"\n [class.today]=\"year.isToday\"\n\n (click)=\"viewYear(year)\" *ngFor=\"let year of row\"\n (mouseenter)=\"hoverYear(year, true)\" (mouseleave)=\"hoverYear(year, false)\">\n {{ year.label }}\n </article>\n </div>\n </div>\n</div>\n", styles: [".calendar-body{display:grid;margin-top:8px;background-color:var(--bg-calender-primary);gap:var(--height-gap) var(--width-gap)}hr{margin-bottom:var(--gravity-spacing-sm);border:1px solid var(--divider-menu-active-primary)}.years{display:flex;align-items:center;justify-content:space-between}.years article{display:flex;cursor:pointer;border-radius:8px;align-items:center;justify-content:center;border:2px solid transparent;width:var(--month-article-width);height:var(--month-article-height);color:var(--on-bg-button-pressed-tertiary)}.years article.disabled{cursor:default;color:var(--on-bg-disabled)}.years article.today{border-color:var(--bg-number-calendar-hover-primary)}.years article.is-highlighted:not(.disabled){background-color:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary);color:var(--on-bg-button-pressed-tertiary)}.years article.selected{background-color:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary);color:var(--on-bg-button-pressed-primary)}\n"] }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.HeaderTypeService }]; }, propDecorators: { calendar: [{
|
|
34
41
|
type: Input
|
|
35
42
|
}], calendarIndex: [{
|
|
36
43
|
type: Input
|
|
@@ -47,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
47
54
|
}], onHover: [{
|
|
48
55
|
type: Output
|
|
49
56
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcvYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcvYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFFTCxxQkFBcUIsRUFLdEIsTUFBTSxjQUFjLENBQUM7Ozs7O0FBUXRCLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsWUFBcUIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDckQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRUksQ0FBQztJQUU1RCxVQUFVLENBQUMsS0FBNEI7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsZ0JBQWdCLEVBQUMsRUFBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUEyQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELElBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBRTtZQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUEyQixFQUFFLFNBQWtCO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUEyQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBbENVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHVTQ2pCekMsbWlDQXlCQTs7NEZEUmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHdCQUF3Qjt3R0FLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt5ZWFyc1BlckNhbGVuZGFyfSBmcm9tICcuLi8uLi9lbmdpbmUvZm9ybWF0LXllYXJzLWNhbGVuZGFyJztcbmltcG9ydCB7XG4gIEJzRGF0ZXBpY2tlclZpZXdNb2RlLFxuICBCc05hdmlnYXRpb25EaXJlY3Rpb24sXG4gIEJzTmF2aWdhdGlvbkV2ZW50LFxuICBDYWxlbmRhckNlbGxWaWV3TW9kZWwsXG4gIENlbGxIb3ZlckV2ZW50LFxuICBZZWFyc0NhbGVuZGFyVmlld01vZGVsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0hlYWRlclR5cGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaGVhZGVyLXR5cGUuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy15ZWFycy1jYWxlbmRhci12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icy15ZWFycy1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNZZWFyc0NhbGVuZGFyVmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNhbGVuZGFyITogWWVhcnNDYWxlbmRhclZpZXdNb2RlbDtcbiAgQElucHV0KCkgY2FsZW5kYXJJbmRleCE6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd05hdmlnYXRpb25BcnJvd3MhOiBib29sZWFuO1xuICBASW5wdXQoKSBzaXplITogJ3NtJyB8ICdtZCcgfCAnJztcblxuICBAT3V0cHV0KCkgb25OYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QnNOYXZpZ2F0aW9uRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblZpZXdNb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxCc0RhdGVwaWNrZXJWaWV3TW9kZT4oKTtcblxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyQ2VsbFZpZXdNb2RlbD4oKTtcbiAgQE91dHB1dCgpIG9uSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPENlbGxIb3ZlckV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIGhlYWRlclR5cGVTZXJ2aWNlOiBIZWFkZXJUeXBlU2VydmljZSl7fVxuXG4gIG5hdmlnYXRlVG8oZXZlbnQ6IEJzTmF2aWdhdGlvbkRpcmVjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXAgPSBCc05hdmlnYXRpb25EaXJlY3Rpb24uRE9XTiA9PT0gZXZlbnQgPyAtMSA6IDE7XG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe3N0ZXA6IHt5ZWFyOiBzdGVwICogeWVhcnNQZXJDYWxlbmRhcn19KTtcbiAgfVxuXG4gIHZpZXdZZWFyKHllYXI6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh5ZWFyKTtcbiAgICB0aGlzLmhlYWRlclR5cGVTZXJ2aWNlLnNldENhbGVuZGFyVHlwZSgnbW9udGhzJyk7XG4gICAgaWYodGhpcy5oZWFkZXJUeXBlU2VydmljZS5nZXRDYWxlbmRhclR5cGUoKSA9PT0gJ2RheXMnKSB7XG4gICAgICB0aGlzLmhlYWRlclR5cGVTZXJ2aWNlLnNldEhlYWRlclR5cGUoJ3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBob3ZlclllYXIoY2VsbDogQ2FsZW5kYXJDZWxsVmlld01vZGVsLCBpc0hvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9uSG92ZXIuZW1pdCh7Y2VsbCwgaXNIb3ZlcmVkfSk7XG4gIH1cblxuICBjaGFuZ2VWaWV3TW9kZShldmVudDogQnNEYXRlcGlja2VyVmlld01vZGUpOiB2b2lkIHtcbiAgICB0aGlzLm9uVmlld01vZGUuZW1pdChldmVudCk7XG4gICAgdGhpcy5oZWFkZXJUeXBlU2VydmljZS5zZXRIZWFkZXJUeXBlKCdpbnRlZ3JhdGUnKTtcbiAgfVxufVxuIiwiPCEtLW5hdmlnYXRpb24tLT5cbjxkaXYgY2xhc3M9XCJndC1jYWxlbmRhci12aWV3LWhlYWRcIj5cbiAgPGJzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3IFtjYWxlbmRhcl09XCJjYWxlbmRhclwiIFtjYWxlbmRhckluZGV4XT1cImNhbGVuZGFySW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQXJyb3dzXT1cInNob3dOYXZpZ2F0aW9uQXJyb3dzXCIgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZpZXdNb2RlKT1cImNoYW5nZVZpZXdNb2RlKCRldmVudClcIiBbdHlwZV09XCIneWVhcnMnXCI+XG4gIDwvYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXc+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImd0LWNhbGVuZGFyLXZpZXctYm9keVwiPlxuICAgIDxocj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ5ZWFyc1wiICpuZ0Zvcj1cImxldCByb3cgb2YgY2FsZW5kYXI/LnllYXJzXCI+XG4gICAgICAgIDxhcnRpY2xlIGNsYXNzPVwiaHItYm9keSBzbS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJ5ZWFyLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmlzLWhpZ2hsaWdodGVkXT1cInllYXIuaXNIb3ZlcmVkXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ5ZWFyLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnRvZGF5XT1cInllYXIuaXNUb2RheVwiXG5cbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3WWVhcih5ZWFyKVwiICpuZ0Zvcj1cImxldCB5ZWFyIG9mIHJvd1wiXG4gICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlclllYXIoeWVhciwgdHJ1ZSlcIiAobW91c2VsZWF2ZSk9XCJob3ZlclllYXIoeWVhciwgZmFsc2UpXCI+XG4gICAgICAgIHt7IHllYXIubGFiZWwgfX1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/lib/components/gravity-calendar-v2/datepicker/services/header-type.service.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class HeaderTypeService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.isMobileSubject = new BehaviorSubject(false);
|
|
7
|
+
this.calendarTypeSubject = new BehaviorSubject('days');
|
|
8
|
+
this.headerTypeSubject = new BehaviorSubject('self');
|
|
9
|
+
}
|
|
10
|
+
getCalendarType$() { return this.calendarTypeSubject.asObservable(); }
|
|
11
|
+
setCalendarType(value) { this.calendarTypeSubject.next(value); }
|
|
12
|
+
getCalendarType() { return this.calendarTypeSubject.value; }
|
|
13
|
+
getHeaderType$() { return this.headerTypeSubject.asObservable(); }
|
|
14
|
+
setHeaderType(value) { this.headerTypeSubject.next(value); }
|
|
15
|
+
getHeaderType() { return this.headerTypeSubject.value; }
|
|
16
|
+
getIsMobile$() { return this.isMobileSubject.asObservable(); }
|
|
17
|
+
setIsMobile(value) { this.isMobileSubject.next(value); }
|
|
18
|
+
getIsMobile() { return this.isMobileSubject.value; }
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTypeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTypeService, providedIn: 'root' }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTypeService, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root'
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXR5cGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL3NlcnZpY2VzL2hlYWRlci10eXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBS1Usb0JBQWUsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEYsd0JBQW1CLEdBQTRCLElBQUksZUFBZSxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQ25GLHNCQUFpQixHQUEwQyxJQUFJLGVBQWUsQ0FBUyxNQUFNLENBQUMsQ0FBQztLQVd4RztJQVRDLGdCQUFnQixLQUFJLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUEsQ0FBQztJQUNwRSxlQUFlLENBQUMsS0FBYSxJQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDO0lBQ3RFLGVBQWUsS0FBWSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO0lBQ2xFLGNBQWMsS0FBSSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBLENBQUM7SUFDaEUsYUFBYSxDQUFDLEtBQTJCLElBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUM7SUFDaEYsYUFBYSxLQUEwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO0lBQzVFLFlBQVksS0FBSSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQSxDQUFDO0lBQzVELFdBQVcsQ0FBQyxLQUFjLElBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDO0lBQy9ELFdBQVcsS0FBYSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQzsrR0FkaEQsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJUeXBlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBpc01vYmlsZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGNhbGVuZGFyVHlwZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdkYXlzJyk7XG4gIHByaXZhdGUgaGVhZGVyVHlwZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDwnc2VsZicgfCAnaW50ZWdyYXRlJz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdzZWxmJz4oJ3NlbGYnKTtcblxuICBnZXRDYWxlbmRhclR5cGUkKCkge3JldHVybiB0aGlzLmNhbGVuZGFyVHlwZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7fVxuICBzZXRDYWxlbmRhclR5cGUodmFsdWU6IHN0cmluZykge3RoaXMuY2FsZW5kYXJUeXBlU3ViamVjdC5uZXh0KHZhbHVlKTt9XG4gIGdldENhbGVuZGFyVHlwZSgpOiBzdHJpbmcge3JldHVybiB0aGlzLmNhbGVuZGFyVHlwZVN1YmplY3QudmFsdWU7fVxuICBnZXRIZWFkZXJUeXBlJCgpIHtyZXR1cm4gdGhpcy5oZWFkZXJUeXBlU3ViamVjdC5hc09ic2VydmFibGUoKTt9XG4gIHNldEhlYWRlclR5cGUodmFsdWU6ICdzZWxmJyB8ICdpbnRlZ3JhdGUnKSB7dGhpcy5oZWFkZXJUeXBlU3ViamVjdC5uZXh0KHZhbHVlKTt9XG4gIGdldEhlYWRlclR5cGUoKTogJ3NlbGYnIHwgJ2ludGVncmF0ZScge3JldHVybiB0aGlzLmhlYWRlclR5cGVTdWJqZWN0LnZhbHVlO31cbiAgZ2V0SXNNb2JpbGUkKCkge3JldHVybiB0aGlzLmlzTW9iaWxlU3ViamVjdC5hc09ic2VydmFibGUoKTt9XG4gIHNldElzTW9iaWxlKHZhbHVlOiBib29sZWFuKSB7dGhpcy5pc01vYmlsZVN1YmplY3QubmV4dCh2YWx1ZSk7fVxuICBnZXRJc01vYmlsZSgpOiBib29sZWFuIHtyZXR1cm4gdGhpcy5pc01vYmlsZVN1YmplY3QudmFsdWU7fVxufVxuIl19
|
package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/date-abbreviation.pipe.mjs
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DateAbbreviationPipe {
|
|
4
|
+
constructor() {
|
|
5
|
+
// Define month abbreviations for different languages
|
|
6
|
+
this.monthAbbreviations = {
|
|
7
|
+
'en': {
|
|
8
|
+
'January': 'Jan', 'February': 'Feb', 'March': 'Mar', 'April': 'Apr', 'May': 'May', 'June': 'Jun',
|
|
9
|
+
'July': 'Jul', 'August': 'Aug', 'September': 'Sep', 'October': 'Oct', 'November': 'Nov', 'December': 'Dec'
|
|
10
|
+
},
|
|
11
|
+
'es': {
|
|
12
|
+
'January': 'Ene', 'February': 'Feb', 'March': 'Mar', 'April': 'Abr', 'May': 'May', 'June': 'Jun',
|
|
13
|
+
'July': 'Jul', 'August': 'Ago', 'September': 'Sep', 'October': 'Oct', 'November': 'Nov', 'December': 'Dic'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
transform(date, lang = 'en', monthAbbreviation = true) {
|
|
18
|
+
if (!date)
|
|
19
|
+
return '';
|
|
20
|
+
// Check if it's a range of dates
|
|
21
|
+
if (date.includes(' - ')) {
|
|
22
|
+
const [startDate, endDate] = date.split(' - ');
|
|
23
|
+
return `${this.formatDate(startDate, lang, monthAbbreviation)} - ${this.formatDate(endDate, lang, monthAbbreviation)}`;
|
|
24
|
+
}
|
|
25
|
+
// If it's a single date
|
|
26
|
+
return this.formatDate(date, lang, monthAbbreviation);
|
|
27
|
+
}
|
|
28
|
+
formatDate(date, lang, monthAbbreviation) {
|
|
29
|
+
let parsedDate;
|
|
30
|
+
// Only year
|
|
31
|
+
if (date.length === 4 && !isNaN(Number(date))) {
|
|
32
|
+
return `${date}`;
|
|
33
|
+
}
|
|
34
|
+
// Only month
|
|
35
|
+
if (this.monthAbbreviations[lang] && this.monthAbbreviations[lang][date]) {
|
|
36
|
+
return monthAbbreviation ? this.monthAbbreviations[lang][date] : date;
|
|
37
|
+
}
|
|
38
|
+
// Convert the date string into a Date object
|
|
39
|
+
parsedDate = new Date(date);
|
|
40
|
+
// If the date is not valid
|
|
41
|
+
if (isNaN(parsedDate.getTime())) {
|
|
42
|
+
const parts = date.split('/');
|
|
43
|
+
if (parts.length === 2) {
|
|
44
|
+
const month = parseInt(parts[0], 10) - 1;
|
|
45
|
+
const year = parseInt(parts[1], 10);
|
|
46
|
+
parsedDate = new Date(year, month, 1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// If the date is still invalid, return an empty string
|
|
50
|
+
if (isNaN(parsedDate.getTime())) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
// Get the full month name from the Date object
|
|
54
|
+
const monthName = parsedDate.toLocaleString('en', { month: 'long' });
|
|
55
|
+
const abbreviatedMonth = monthAbbreviation ? this.monthAbbreviations[lang]?.[monthName] : monthName;
|
|
56
|
+
const day = parsedDate.getDate();
|
|
57
|
+
const year = parsedDate.getFullYear();
|
|
58
|
+
// Month and year
|
|
59
|
+
if (date.indexOf('/') !== -1 && date.split('/').length === 2) {
|
|
60
|
+
return monthAbbreviation ? `${abbreviatedMonth}, ${year}` : `${abbreviatedMonth} ${year}`;
|
|
61
|
+
}
|
|
62
|
+
// Day, month, and year
|
|
63
|
+
return `${abbreviatedMonth} ${day}, ${year}`;
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateAbbreviationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
66
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateAbbreviationPipe, name: "dateFormating" }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateAbbreviationPipe, decorators: [{
|
|
69
|
+
type: Pipe,
|
|
70
|
+
args: [{
|
|
71
|
+
name: 'dateFormating'
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hYmJyZXZpYXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL3V0aWxzL2RhdGUtYWJicmV2aWF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFLRSxxREFBcUQ7UUFDckQsdUJBQWtCLEdBQWlEO1lBQ2pFLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUs7Z0JBQ2hHLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSzthQUMzRztZQUNELElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUs7Z0JBQ2hHLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSzthQUMzRztTQUNGLENBQUM7S0E2REg7SUEzREMsU0FBUyxDQUFD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QUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1RCxPQUFPLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1NBQzNGO1FBRUQsdUJBQXVCO1FBQ3ZCLE9BQU8sR0FBRyxnQkFBZ0IsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0F4RVUsb0JBQW9COzZHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSGhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdkYXRlRm9ybWF0aW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlQWJicmV2aWF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIC8vIERlZmluZSBtb250aCBhYmJyZXZpYXRpb25zIGZvciBkaWZmZXJlbnQgbGFuZ3VhZ2VzXG4gIG1vbnRoQWJicmV2aWF0aW9uczogeyBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH0gPSB7XG4gICAgJ2VuJzoge1xuICAgICAgJ0phbnVhcnknOiAnSmFuJywgJ0ZlYnJ1YXJ5JzogJ0ZlYicsICdNYXJjaCc6ICdNYXInLCAnQXByaWwnOiAnQXByJywgJ01heSc6ICdNYXknLCAnSnVuZSc6ICdKdW4nLFxuICAgICAgJ0p1bHknOiAnSnVsJywgJ0F1Z3VzdCc6ICdBdWcnLCAnU2VwdGVtYmVyJzogJ1NlcCcsICdPY3RvYmVyJzogJ09jdCcsICdOb3ZlbWJlcic6ICdOb3YnLCAnRGVjZW1iZXInOiAnRGVjJ1xuICAgIH0sXG4gICAgJ2VzJzoge1xuICAgICAgJ0phbnVhcnknOiAnRW5lJywgJ0ZlYnJ1YXJ5JzogJ0ZlYicsICdNYXJjaCc6ICdNYXInLCAnQXByaWwnOiAnQWJyJywgJ01heSc6ICdNYXknLCAnSnVuZSc6ICdKdW4nLFxuICAgICAgJ0p1bHknOiAnSnVsJywgJ0F1Z3VzdCc6ICdBZ28nLCAnU2VwdGVtYmVyJzogJ1NlcCcsICdPY3RvYmVyJzogJ09jdCcsICdOb3ZlbWJlcic6ICdOb3YnLCAnRGVjZW1iZXInOiAnRGljJ1xuICAgIH1cbiAgfTtcblxuICB0cmFuc2Zvcm0oZGF0ZTogc3RyaW5nLCBsYW5nOiBzdHJpbmcgPSAnZW4nLCBtb250aEFiYnJldmlhdGlvbjogYm9vbGVhbiA9IHRydWUpOiBzdHJpbmcge1xuXG4gICAgaWYgKCFkYXRlKSByZXR1cm4gJyc7XG5cbiAgICAvLyBDaGVjayBpZiBpdCdzIGEgcmFuZ2Ugb2YgZGF0ZXNcbiAgICBpZiAoZGF0ZS5pbmNsdWRlcygnIC0gJykpIHtcbiAgICAgIGNvbnN0IFtzdGFydERhdGUsIGVuZERhdGVdID0gZGF0ZS5zcGxpdCgnIC0gJyk7XG4gICAgICByZXR1cm4gYCR7dGhpcy5mb3JtYXREYXRlKHN0YXJ0RGF0ZSwgbGFuZywgbW9udGhBYmJyZXZpYXRpb24pfSAtICR7dGhpcy5mb3JtYXREYXRlKGVuZERhdGUsIGxhbmcsIG1vbnRoQWJicmV2aWF0aW9uKX1gO1xuICAgIH1cblxuICAgIC8vIElmIGl0J3MgYSBzaW5nbGUgZGF0ZVxuICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUoZGF0ZSwgbGFuZywgbW9udGhBYmJyZXZpYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IHN0cmluZywgbGFuZzogc3RyaW5nLCBtb250aEFiYnJldmlhdGlvbjogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgbGV0IHBhcnNlZERhdGU6IERhdGU7XG5cbiAgICAvLyBPbmx5IHllYXJcbiAgICBpZiAoZGF0ZS5sZW5ndGggPT09IDQgJiYgIWlzTmFOKE51bWJlcihkYXRlKSkpIHtcbiAgICAgIHJldHVybiBgJHtkYXRlfWA7XG4gICAgfVxuXG4gICAgLy8gT25seSBtb250aFxuICAgIGlmICh0aGlzLm1vbnRoQWJicmV2aWF0aW9uc1tsYW5nXSAmJiB0aGlzLm1vbnRoQWJicmV2aWF0aW9uc1tsYW5nXVtkYXRlXSkge1xuICAgICAgcmV0dXJuIG1vbnRoQWJicmV2aWF0aW9uID8gdGhpcy5tb250aEFiYnJldmlhdGlvbnNbbGFuZ11bZGF0ZV0gOiBkYXRlO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGRhdGUgc3RyaW5nIGludG8gYSBEYXRlIG9iamVjdFxuICAgIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcblxuICAgIC8vIElmIHRoZSBkYXRlIGlzIG5vdCB2YWxpZFxuICAgIGlmIChpc05hTihwYXJzZWREYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGF0ZS5zcGxpdCgnLycpO1xuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KHBhcnRzWzBdLCAxMCkgLSAxO1xuICAgICAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQocGFydHNbMV0sIDEwKTtcbiAgICAgICAgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgZGF0ZSBpcyBzdGlsbCBpbnZhbGlkLCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nXG4gICAgaWYgKGlzTmFOKHBhcnNlZERhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIEdldCB0aGUgZnVsbCBtb250aCBuYW1lIGZyb20gdGhlIERhdGUgb2JqZWN0XG4gICAgY29uc3QgbW9udGhOYW1lID0gcGFyc2VkRGF0ZS50b0xvY2FsZVN0cmluZygnZW4nLCB7IG1vbnRoOiAnbG9uZycgfSk7XG4gICAgY29uc3QgYWJicmV2aWF0ZWRNb250aCA9IG1vbnRoQWJicmV2aWF0aW9uID8gdGhpcy5tb250aEFiYnJldmlhdGlvbnNbbGFuZ10/Llttb250aE5hbWVdIDogbW9udGhOYW1lO1xuICAgIGNvbnN0IGRheSA9IHBhcnNlZERhdGUuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IHllYXIgPSBwYXJzZWREYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAvLyBNb250aCBhbmQgeWVhclxuICAgIGlmIChkYXRlLmluZGV4T2YoJy8nKSAhPT0gLTEgJiYgZGF0ZS5zcGxpdCgnLycpLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIG1vbnRoQWJicmV2aWF0aW9uID8gYCR7YWJicmV2aWF0ZWRNb250aH0sICR7eWVhcn1gIDogYCR7YWJicmV2aWF0ZWRNb250aH0gJHt5ZWFyfWA7XG4gICAgfVxuXG4gICAgLy8gRGF5LCBtb250aCwgYW5kIHllYXJcbiAgICByZXR1cm4gYCR7YWJicmV2aWF0ZWRNb250aH0gJHtkYXl9LCAke3llYXJ9YDtcbiAgfVxufVxuIl19
|