ca-components 1.0.70 → 1.0.72
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/ca-components.module.mjs +7 -1
- package/esm2022/lib/components/ca-chart/ca-chart.component.mjs +331 -118
- package/esm2022/lib/components/ca-chart/enums/chart-colors.enum.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/chart-event-types.enum.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/chart-font-properties.enum.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/chart-plugin-ids.enum.mjs +2 -1
- package/esm2022/lib/components/ca-chart/models/chart-annotation.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-base-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-center-label.model.mjs +2 -0
- package/esm2022/lib/components/ca-chart/models/chart-config.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-dataset-hover.model.mjs +2 -0
- package/esm2022/lib/components/ca-chart/models/chart-line-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/index.mjs +3 -1
- package/esm2022/lib/components/ca-chart/utils/constants/chart.constants.mjs +4 -0
- package/esm2022/lib/components/ca-chart/utils/constants/index.mjs +2 -0
- package/esm2022/lib/components/ca-chart/utils/helpers/chart.helper.mjs +74 -6
- package/esm2022/lib/components/ca-chart-manager/ca-chart-manager.component.mjs +108 -0
- package/esm2022/lib/components/ca-chart-manager/models/hover-state.model.mjs +2 -0
- package/esm2022/lib/components/ca-chart-manager/models/index.mjs +2 -0
- package/esm2022/lib/components/ca-chart-manager/services/chart-manager.service.mjs +21 -0
- package/esm2022/lib/components/ca-chart-manager/services/index.mjs +2 -0
- package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -1
- package/esm2022/lib/components/ca-dropdown-menu/models/dropdown-menu-option-emit.model.mjs +2 -0
- package/esm2022/lib/components/ca-dropdown-menu/models/index.mjs +2 -2
- package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +1 -1
- package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +1 -1
- package/esm2022/lib/components/ca-tooltip-list/ca-tooltip-list.component.mjs +5 -4
- package/esm2022/lib/components/ca-tooltip-list/models/tooltip-list-item.model.mjs +1 -1
- package/esm2022/lib/components/ca-tooltip-list/models/tooltip-list.model.mjs +1 -1
- package/esm2022/lib/utils/helpers/dropdown-menu-content-conditional-items.helper.mjs +1 -1
- package/esm2022/lib/utils/helpers/dropdown-menu-content.helper.mjs +3 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ca-components.mjs +530 -129
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/ca-components.module.d.ts +7 -6
- package/lib/components/ca-chart/ca-chart.component.d.ts +18 -10
- package/lib/components/ca-chart/enums/chart-colors.enum.d.ts +2 -1
- package/lib/components/ca-chart/enums/chart-plugin-ids.enum.d.ts +2 -1
- package/lib/components/ca-chart/models/chart-annotation.model.d.ts +1 -1
- package/lib/components/ca-chart/models/chart-base-dataset.model.d.ts +5 -2
- package/lib/components/ca-chart/models/chart-center-label.model.d.ts +11 -0
- package/lib/components/ca-chart/models/chart-config.model.d.ts +10 -3
- package/lib/components/ca-chart/models/chart-dataset-hover.model.d.ts +5 -0
- package/lib/components/ca-chart/models/chart-line-dataset.model.d.ts +0 -3
- package/lib/components/ca-chart/models/index.d.ts +2 -0
- package/lib/components/ca-chart/utils/constants/chart.constants.d.ts +3 -0
- package/lib/components/ca-chart/utils/constants/index.d.ts +1 -0
- package/lib/components/ca-chart/utils/helpers/chart.helper.d.ts +7 -1
- package/lib/components/ca-chart-manager/ca-chart-manager.component.d.ts +27 -0
- package/lib/components/ca-chart-manager/models/hover-state.model.d.ts +4 -0
- package/lib/components/ca-chart-manager/models/index.d.ts +1 -0
- package/lib/components/ca-chart-manager/services/chart-manager.service.d.ts +10 -0
- package/lib/components/ca-chart-manager/services/index.d.ts +1 -0
- package/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.d.ts +2 -2
- package/lib/components/ca-dropdown-menu/models/{dropdown-option-emit.model.d.ts → dropdown-menu-option-emit.model.d.ts} +1 -1
- package/lib/components/ca-dropdown-menu/models/index.d.ts +1 -1
- package/lib/components/ca-filters/ca-filter.component.d.ts +2 -2
- package/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.d.ts +3 -3
- package/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.d.ts +2 -2
- package/lib/components/ca-tooltip-list/ca-tooltip-list.component.d.ts +1 -1
- package/lib/components/ca-tooltip-list/models/tooltip-list-item.model.d.ts +0 -1
- package/lib/components/ca-tooltip-list/models/tooltip-list.model.d.ts +1 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/assets/ca-components/svg/common/states/ic_alabama.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_alaska.svg +14 -0
- package/src/assets/ca-components/svg/common/states/ic_arizona.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_arkansas.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_california.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_colorado.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_connecticut.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_delaware.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_florida.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_georgia.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_hawaii.svg +10 -0
- package/src/assets/ca-components/svg/common/states/ic_idaho.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_illinois.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_indiana.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_iowa.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_kansas.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_kentucky.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_louisiana.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_maine.svg +9 -0
- package/src/assets/ca-components/svg/common/states/ic_maryland.svg +7 -0
- package/src/assets/ca-components/svg/common/states/ic_massachusetts.svg +7 -0
- package/src/assets/ca-components/svg/common/states/ic_michigan.svg +11 -0
- package/src/assets/ca-components/svg/common/states/ic_minnesota.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_mississippi.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_missouri.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_montana.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_nebraska.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_nevada.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_new_hampshire.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_new_jersey.svg +5 -0
- package/src/assets/ca-components/svg/common/states/ic_new_mexico.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_new_york.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_north_carolina.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_north_dakota.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_ohio.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_oklahoma.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_oregon.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_pennsylvania.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_rhode_island.svg +8 -0
- package/src/assets/ca-components/svg/common/states/ic_south_carolina.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_south_dakota.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_tennessee.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_texas.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_utah.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_vermont.svg +7 -0
- package/src/assets/ca-components/svg/common/states/ic_virginia.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_washington.svg +15 -0
- package/src/assets/ca-components/svg/common/states/ic_west_virginia.svg +3 -0
- package/src/assets/ca-components/svg/common/states/ic_wisconsin.svg +4 -0
- package/src/assets/ca-components/svg/common/states/ic_wyoming.svg +3 -0
- package/esm2022/lib/components/ca-chart/config/ca-base-chart-dataset.config.mjs +0 -10
- package/esm2022/lib/components/ca-chart/config/index.mjs +0 -2
- package/esm2022/lib/components/ca-dropdown-menu/models/dropdown-option-emit.model.mjs +0 -2
- package/lib/components/ca-chart/config/ca-base-chart-dataset.config.d.ts +0 -4
- package/lib/components/ca-chart/config/index.d.ts +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sb3JzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9lbnVtcy9jaGFydC1jb2xvcnMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gQ2hhcnRDb2xvcnNTdHJpbmdFbnVtIHtcbiAgV0hJVEUgPSAnI0ZGRkZGRicsXG4gIEhPVkVSX1NFR01FTlQgPSAnI0VFRUVFRScsXG4gIFhfQVhJU19MQUJFTF9DT0xPUiA9ICcjOTE5MTkxJyxcbiAgVFJBTlNQQVJFTlQgPSAndHJhbnNwYXJlbnQnLFxuICBCT1JERVJfQk9UVE9NX0xJTkVfQ0hBUlRfQ09MT1IgPSAnI0RBREFEQScsXG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@ export var ChartEventTypesStringEnum;
|
|
|
2
2
|
(function (ChartEventTypesStringEnum) {
|
|
3
3
|
ChartEventTypesStringEnum["MOUSE_OUT"] = "mouseout";
|
|
4
4
|
})(ChartEventTypesStringEnum || (ChartEventTypesStringEnum = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZXZlbnQtdHlwZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWNoYXJ0L2VudW1zL2NoYXJ0LWV2ZW50LXR5cGVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkseUJBRVg7QUFGRCxXQUFZLHlCQUF5QjtJQUNuQyxtREFBc0IsQ0FBQTtBQUN4QixDQUFDLEVBRlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUVwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0RXZlbnRUeXBlc1N0cmluZ0VudW0ge1xuICBNT1VTRV9PVVQgPSAnbW91c2VvdXQnLFxufVxuIl19
|
|
@@ -3,4 +3,4 @@ export var ChartFontPropertiesStringEnum;
|
|
|
3
3
|
ChartFontPropertiesStringEnum["FONT_FAMILY_MONTSERRAT"] = "Montserrat";
|
|
4
4
|
ChartFontPropertiesStringEnum["FONT_WEIGHT_BOLDER"] = "bolder";
|
|
5
5
|
})(ChartFontPropertiesStringEnum || (ChartFontPropertiesStringEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZm9udC1wcm9wZXJ0aWVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9lbnVtcy9jaGFydC1mb250LXByb3BlcnRpZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSw2QkFHWDtBQUhELFdBQVksNkJBQTZCO0lBQ3ZDLHNFQUFxQyxDQUFBO0lBQ3JDLDhEQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBR3hDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2hhcnRGb250UHJvcGVydGllc1N0cmluZ0VudW0ge1xuICBGT05UX0ZBTUlMWV9NT05UU0VSUkFUID0gJ01vbnRzZXJyYXQnLFxuICBGT05UX1dFSUdIVF9CT0xERVIgPSAnYm9sZGVyJyxcbn1cbiJdfQ==
|
|
@@ -2,5 +2,6 @@ export var ChartPluginIdsStringEnum;
|
|
|
2
2
|
(function (ChartPluginIdsStringEnum) {
|
|
3
3
|
ChartPluginIdsStringEnum["HIGHLIGHT_SEGMENT_ON_HOVER"] = "highlightSegmentOnHover";
|
|
4
4
|
ChartPluginIdsStringEnum["HIGHLIGHT_POINT_ON_HOVER"] = "highlightPointOnHover";
|
|
5
|
+
ChartPluginIdsStringEnum["BORDER_BOTTOM_LINE_CHART"] = "borderBottomLineChart";
|
|
5
6
|
})(ChartPluginIdsStringEnum || (ChartPluginIdsStringEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtcGx1Z2luLWlkcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvZW51bXMvY2hhcnQtcGx1Z2luLWlkcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDbEMsa0ZBQXNELENBQUE7SUFDdEQsOEVBQWtELENBQUE7SUFDbEQsOEVBQWtELENBQUE7QUFDcEQsQ0FBQyxFQUpXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFJbkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFydFBsdWdpbklkc1N0cmluZ0VudW0ge1xuICBISUdITElHSFRfU0VHTUVOVF9PTl9IT1ZFUiA9ICdoaWdobGlnaHRTZWdtZW50T25Ib3ZlcicsXG4gIEhJR0hMSUdIVF9QT0lOVF9PTl9IT1ZFUiA9ICdoaWdobGlnaHRQb2ludE9uSG92ZXInLFxuICBCT1JERVJfQk9UVE9NX0xJTkVfQ0hBUlQgPSAnYm9yZGVyQm90dG9tTGluZUNoYXJ0Jyxcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYW5ub3RhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWNoYXJ0L21vZGVscy9jaGFydC1hbm5vdGF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEVDaGFydEFubm90YXRpb25UeXBlLFxuICAgIEVDaGFydEV2ZW50UHJvcGVydGllc1xufSBmcm9tIFwiLi4vZW51bXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhcnRBbm5vdGF0aW9uIHtcbiAgICBpZD86IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHR5cGU6IEVDaGFydEFubm90YXRpb25UeXBlO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICAgIC8vIFRha2VzIHRoZSB3aWR0aCBvZiB0aGUgZGFzaCBhbmQgc3BhY2luZyBiZXR3ZWVuIHRoZW1cbiAgICBib3JkZXJEYXNoPzogW251bWJlciwgbnVtYmVyXTtcbiAgICBheGlzOiBFQ2hhcnRFdmVudFByb3BlcnRpZXM7XG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFzZS1kYXRhc2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWJhc2UtZGF0YXNldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRUeXBlUmVnaXN0cnkgfSBmcm9tICdjaGFydC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VEYXRhc2V0IHtcbiAgdHlwZToga2V5b2YgQ2hhcnRUeXBlUmVnaXN0cnk7XG4gIG9yZGVyPzogbnVtYmVyO1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXRhOiBudW1iZXJbXSB8IFtudW1iZXIsIG51bWJlcl1bXTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IENhbnZhc0dyYWRpZW50O1xuICBjb2xvcj86IHN0cmluZztcbiAgc3BhbkdhcHM/OiBib29sZWFuO1xuICBjb2xvckVkZ2VWYWx1ZT86IG51bWJlcjtcbiAgY29sb3IyPzogc3RyaW5nO1xuICBmaWxsPzogYm9vbGVhbjtcbiAgeUF4aXNJRD86IHN0cmluZztcbiAgc2hpZnRWYWx1ZT86IG51bWJlcjtcbiAgaXNDdXJyZW5jeT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY2VudGVyLWxhYmVsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWNlbnRlci1sYWJlbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2hhcnRDZW50ZXJMYWJlbCB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBwb3NpdGlvbj86IHtcbiAgICAgICAgdG9wPzogbnVtYmVyO1xuICAgICAgICBib3R0b20/OiBudW1iZXI7XG4gICAgICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIH0sXG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBudW1iZXJcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBDaGFydFR5cGVSZWdpc3RyeSB9IGZyb20gJ2NoYXJ0LmpzJztcblxuLy8gTW9kZWxzXG5pbXBvcnQgeyBJQmFzZURhdGFzZXQsIElDaGFydENlbnRlckxhYmVsLCBJQ2hhcnREYXRhIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElDaGFydEFubm90YXRpb24gfSBmcm9tICcuL2NoYXJ0LWFubm90YXRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDaGFydENvbmZpZ3VyYXRpb24ge1xuICBjaGFydFR5cGU6IGtleW9mIENoYXJ0VHlwZVJlZ2lzdHJ5O1xuICBjaGFydERhdGE6IElDaGFydERhdGE8SUJhc2VEYXRhc2V0PjtcbiAgY2hhcnRPcHRpb25zOiBDaGFydE9wdGlvbnM7XG4gIGhlaWdodDogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBub0RhdGFJbWFnZTogc3RyaW5nO1xuICBpc011bHRpWUF4aXM/OiBib29sZWFuO1xuICBpc1N0YWNrZWQ/OiBib29sZWFuO1xuICBzaG93VG9vbHRpcEJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93WEF4aXNMYWJlbHM/OiBib29sZWFuO1xuICB2ZXJ0aWNhbHlBbGlnbkJhckNoYXJ0V2l0aExpbmVDYXJ0PzogYm9vbGVhbjtcbiAgc2hvd0hpZ2hsaWdodFBvaW50T25Ib3Zlcj86IGJvb2xlYW47XG4gIGlzRGF0YXNldEhvdmVyRW5hYmxlZD86IGJvb2xlYW47XG4gIGlzVG9vbHRpcEl0ZW1JblNlbGVjdGVkSXRlbXM/OiBib29sZWFuO1xuICBzaG93Qm90dG9tTGluZU9uTGluZUNoYXJ0PzogYm9vbGVhbjtcbiAgYW5ub3RhdGlvbnM/OiBJQ2hhcnRBbm5vdGF0aW9uW107XG4gIC8vIFRPRE8gTWF5YmUgYWRqdXN0IGxhdGVyIG9yIGdlbmVyYWxpemUgaWYgbmV3IHVzZSBjYXNlcyBhcHBlYXJcbiAgaGFzVmVydGljYWxEYXNoZWRBbm5vdGF0aW9uPzogYm9vbGVhbjtcbiAgaXNEYXNoYm9hcmRDaGFydD86IGJvb2xlYW47XG4gIGNlbnRlckxhYmVscz86IElDaGFydENlbnRlckxhYmVsW107XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGF0YXNldC1ob3Zlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWNoYXJ0L21vZGVscy9jaGFydC1kYXRhc2V0LWhvdmVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDaGFydERhdGFzZXRIb3ZlciB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGlzSG92ZXJkOiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGluZS1kYXRhc2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWxpbmUtZGF0YXNldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyaXB0YWJsZUNvbnRleHQgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBJQmFzZURhdGFzZXQgfSBmcm9tICcuL2NoYXJ0LWJhc2UtZGF0YXNldC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmVEYXRhc2V0IGV4dGVuZHMgSUJhc2VEYXRhc2V0IHtcbiAgdGVuc2lvbj86IG51bWJlcjtcbiAgY3ViaWNJbnRlcnBvbGF0aW9uTW9kZT86IHN0cmluZztcbiAgcG9pbnRSYWRpdXM/OiBudW1iZXI7XG4gIHBvaW50Qm9yZGVyV2lkdGg/OiBudW1iZXI7XG4gIHBvaW50Qm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIHBvaW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBwb2ludEhvdmVyUmFkaXVzPzogbnVtYmVyO1xuICBzaG93TGluZT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -3,4 +3,6 @@ export * from './chart-base-dataset.model';
|
|
|
3
3
|
export * from './chart-line-dataset.model';
|
|
4
4
|
export * from './chart-config.model';
|
|
5
5
|
export * from './chart-annotation.model';
|
|
6
|
-
|
|
6
|
+
export * from './chart-dataset-hover.model';
|
|
7
|
+
export * from './chart-center-label.model';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnQtZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWJhc2UtZGF0YXNldC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWxpbmUtZGF0YXNldC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWFubm90YXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1kYXRhc2V0LWhvdmVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtY2VudGVyLWxhYmVsLm1vZGVsJzsiXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export class ChartConstants {
|
|
2
|
+
static { this.STRING_EMPTY = ''; }
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvdXRpbHMvY29uc3RhbnRzL2NoYXJ0LmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYzthQUNoQixpQkFBWSxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDaGFydENvbnN0YW50cyB7XG4gICAgc3RhdGljIFNUUklOR19FTVBUWSA9ICcnO1xufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './chart.constants';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC91dGlscy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnQuY29uc3RhbnRzJzsiXX0=
|
|
@@ -24,17 +24,35 @@ export class ChartHelper {
|
|
|
24
24
|
else
|
|
25
25
|
return rgb;
|
|
26
26
|
}
|
|
27
|
+
static changeOpacityOfRgbOrRgba(color, opacity) {
|
|
28
|
+
const rgbaRegex = /^rgba?\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})(?:,\s*(\d?\.?\d+))?\)$/;
|
|
29
|
+
const match = color.match(rgbaRegex);
|
|
30
|
+
if (match) {
|
|
31
|
+
const red = parseInt(match[1], 10);
|
|
32
|
+
const green = parseInt(match[2], 10);
|
|
33
|
+
const blue = parseInt(match[3], 10);
|
|
34
|
+
return `rgba(${red}, ${green}, ${blue}, ${opacity})`;
|
|
35
|
+
}
|
|
36
|
+
return color;
|
|
37
|
+
}
|
|
27
38
|
static calculateMinValue(data) {
|
|
28
39
|
return Math.min(...data);
|
|
29
40
|
}
|
|
30
41
|
static calculateMaxValue(data) {
|
|
31
42
|
return Math.max(...data);
|
|
32
43
|
}
|
|
33
|
-
static createGradient(chartContext, chartCanvas, color, color2) {
|
|
44
|
+
static createGradient(chartContext, chartCanvas, color, color2, opacityColor1 = 1, opacityColor2 = 1, areColorsInRgbaFormat = false) {
|
|
34
45
|
const gradient = chartContext.createLinearGradient(0, 0, 0, chartCanvas.nativeElement.height);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
let fillColorTop = '';
|
|
47
|
+
let fillColorBottom = '';
|
|
48
|
+
if (areColorsInRgbaFormat) {
|
|
49
|
+
fillColorTop = this.changeOpacityOfRgbOrRgba(color, opacityColor1);
|
|
50
|
+
fillColorBottom = this.changeOpacityOfRgbOrRgba(color2, opacityColor2);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
fillColorTop = this.hexToRgba(color, opacityColor1);
|
|
54
|
+
fillColorBottom = this.hexToRgba(color2, opacityColor2);
|
|
55
|
+
}
|
|
38
56
|
gradient.addColorStop(0, fillColorTop);
|
|
39
57
|
gradient.addColorStop(0.8, fillColorBottom);
|
|
40
58
|
return gradient;
|
|
@@ -77,15 +95,47 @@ export class ChartHelper {
|
|
|
77
95
|
ctx.fill();
|
|
78
96
|
ctx.restore();
|
|
79
97
|
}
|
|
98
|
+
// This is a dumb function whose only function is only to position legend elements one below under
|
|
99
|
+
// Call it in ngFor
|
|
100
|
+
static drawDoughnutLegend(chart, position, text,
|
|
101
|
+
// Initial idea
|
|
102
|
+
fontSize = 18, color = '#424242') {
|
|
103
|
+
const { ctx } = chart;
|
|
104
|
+
if (!ctx)
|
|
105
|
+
return;
|
|
106
|
+
ctx.save();
|
|
107
|
+
const datasetMeta = chart.getDatasetMeta(0);
|
|
108
|
+
const xCoord = datasetMeta?.data[0]?.x;
|
|
109
|
+
const yCoord = datasetMeta?.data[0]?.y / 3 * 2 +
|
|
110
|
+
position.indx * 20 +
|
|
111
|
+
position.offsetTop;
|
|
112
|
+
if (xCoord === undefined || yCoord == undefined)
|
|
113
|
+
return;
|
|
114
|
+
ctx.font = `bold ${fontSize}px sans-serif`;
|
|
115
|
+
ctx.fillStyle = color;
|
|
116
|
+
ctx.textAlign = 'center';
|
|
117
|
+
ctx.textBaseline = 'middle';
|
|
118
|
+
ctx.fillText(text, xCoord, yCoord);
|
|
119
|
+
ctx.restore();
|
|
120
|
+
}
|
|
80
121
|
static highlightPoint(ctx, chart, index, chartData) {
|
|
81
122
|
chartData.datasets.forEach((dataset, datasetIndex) => {
|
|
82
123
|
const meta = chart.getDatasetMeta(datasetIndex);
|
|
124
|
+
if (!meta || !meta.data[index])
|
|
125
|
+
return;
|
|
83
126
|
const point = meta.data[index];
|
|
127
|
+
const yScale = chart.scales[dataset.yAxisID || 'y-axis-0'];
|
|
128
|
+
const xScale = chart.scales['x'];
|
|
129
|
+
const value = dataset.data[index];
|
|
130
|
+
if (value === undefined || value === null)
|
|
131
|
+
return;
|
|
132
|
+
const xPixel = xScale.getPixelForValue(index);
|
|
133
|
+
const yPixel = Math.abs(yScale.getPixelForValue(value));
|
|
84
134
|
if (!point)
|
|
85
135
|
return;
|
|
86
136
|
ctx.save();
|
|
87
137
|
ctx.beginPath();
|
|
88
|
-
ctx.arc(
|
|
138
|
+
ctx.arc(xPixel, yPixel, 4, 0, 2 * Math.PI);
|
|
89
139
|
ctx.fillStyle = "#FFFFFF" /* ChartColorsStringEnum.WHITE */;
|
|
90
140
|
ctx.fill();
|
|
91
141
|
ctx.lineWidth = 2;
|
|
@@ -101,5 +151,23 @@ export class ChartHelper {
|
|
|
101
151
|
const segmentStart = tickPositions[index] - segmentWidth / 2;
|
|
102
152
|
return { segmentStart, segmentWidth };
|
|
103
153
|
}
|
|
154
|
+
static convertRgbToRgba(colorValue, alpha = 1) {
|
|
155
|
+
if (alpha < 0 || alpha > 1)
|
|
156
|
+
return colorValue;
|
|
157
|
+
const rgbaMatch = colorValue.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d+(\.\d+)?)\)/);
|
|
158
|
+
if (rgbaMatch) {
|
|
159
|
+
const [, r, g, b] = rgbaMatch;
|
|
160
|
+
// Return updated RGBA with the new alpha
|
|
161
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
162
|
+
}
|
|
163
|
+
// Extract the RGB values using a regular expression
|
|
164
|
+
const rgbMatch = colorValue.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
|
165
|
+
if (!rgbMatch)
|
|
166
|
+
return colorValue;
|
|
167
|
+
// Destructure the matched values
|
|
168
|
+
const [, r, g, b] = rgbMatch;
|
|
169
|
+
// Return the RGBA string
|
|
170
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
171
|
+
}
|
|
104
172
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvdXRpbHMvaGVscGVycy9jaGFydC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFVBQWtCLENBQUM7UUFDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixRQUFRO2lCQUNMLEtBQUssQ0FBQyxFQUFFLENBQUM7aUJBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFMUIsT0FBTyxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLE9BQU8sR0FBRyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWMsY0FBYyxFQUFFLE9BQWU7UUFDNUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FB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QUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQy9CLE1BQW1DLEVBQ25DLEtBQWE7UUFFYixNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBDaGFydCwge1xuICBDYXRlZ29yeVNjYWxlLFxuICBDaGFydEFyZWEsXG4gIExpbmVhclNjYWxlLFxufSBmcm9tICdjaGFydC5qcy9hdXRvJztcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IElCYXNlRGF0YXNldCwgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDaGFydEhlbHBlciB7XG4gIHN0YXRpYyBoZXhUb1JnYmEoY29sb3JIZXg6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyID0gMSk6IHN0cmluZyB7XG4gICAgY29sb3JIZXggPSBjb2xvckhleC5yZXBsYWNlKC9eIy8sICcnKTtcblxuICAgIGlmIChjb2xvckhleC5sZW5ndGggPT09IDMpIHtcbiAgICAgIGNvbG9ySGV4XG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcCgoY2hhcikgPT4gY2hhciArIGNoYXIpXG4gICAgICAgIC5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaWdpbnQgPSBwYXJzZUludChjb2xvckhleCwgMTYpO1xuICAgIGNvbnN0IHJlZCA9IChiaWdpbnQgPj4gMTYpICYgMjU1O1xuICAgIGNvbnN0IGdyZWVuID0gKGJpZ2ludCA+PiA4KSAmIDI1NTtcbiAgICBjb25zdCBibHVlID0gYmlnaW50ICYgMjU1O1xuXG4gICAgcmV0dXJuIGByZ2JhKCR7cmVkfSwgJHtncmVlbn0sICR7Ymx1ZX0sICR7b3BhY2l0eX0pYDtcbiAgfVxuXG4gIHN0YXRpYyByZ2JUb1JnYmEocmdiOiBzdHJpbmcgPSAncmdiKDAsIDAsIDApJywgb3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCByZ2JWYWx1ZXMgPSByZ2IubWF0Y2goL1xcZCsvZyk7XG5cbiAgICBpZiAocmdiVmFsdWVzICYmIHJnYlZhbHVlcy5sZW5ndGggPT09IDMpIHtcbiAgICAgIGNvbnN0IHJlZCA9IHJnYlZhbHVlc1swXTtcbiAgICAgIGNvbnN0IGdyZWVuID0gcmdiVmFsdWVzWzFdO1xuICAgICAgY29uc3QgYmx1ZSA9IHJnYlZhbHVlc1syXTtcblxuICAgICAgcmV0dXJuIGByZ2JhKCR7cmVkfSwgJHtncmVlbn0sICR7Ymx1ZX0sICR7b3BhY2l0eX0pYDtcbiAgICB9IGVsc2UgcmV0dXJuIHJnYjtcbiAgfVxuXG4gIHN0YXRpYyBjYWxjdWxhdGVNaW5WYWx1ZShkYXRhOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKC4uLmRhdGEpO1xuICB9XG5cbiAgc3RhdGljIGNhbGN1bGF0ZU1heFZhbHVlKGRhdGE6IG51bWJlcltdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoLi4uZGF0YSk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlR3JhZGllbnQoXG4gICAgY2hhcnRDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY2hhcnRDYW52YXM6IEVsZW1lbnRSZWYsXG4gICAgY29sb3I6IHN0cmluZyxcbiAgICBjb2xvcjI6IHN0cmluZ1xuICApOiBDYW52YXNHcmFkaWVudCB7XG4gICAgY29uc3QgZ3JhZGllbnQgPSBjaGFydENvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBjaGFydENhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodFxuICAgICk7XG5cbiAgICBjb25zdCBvcGFjaXR5ID0gMC40O1xuICAgIGNvbnN0IGZpbGxDb2xvclRvcCA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yLCBvcGFjaXR5KTtcbiAgICBjb25zdCBmaWxsQ29sb3JCb3R0b20gPSB0aGlzLmhleFRvUmdiYShjb2xvcjIsIDEpO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBmaWxsQ29sb3JUb3ApO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjgsIGZpbGxDb2xvckJvdHRvbSk7XG5cbiAgICByZXR1cm4gZ3JhZGllbnQ7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlR3JhZGllbnRXaXRoU2hpZnRWYWx1ZShcbiAgICBjaGFydENvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjaGFydEhlaWdodDogbnVtYmVyLFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgY29sb3IyOiBzdHJpbmcsXG4gICAgc2hpZnRWYWx1ZTogbnVtYmVyLFxuICAgIGhhc0ZhZGU/OiBib29sZWFuXG4gICk6IENhbnZhc0dyYWRpZW50IHtcbiAgICBjb25zdCBncmFkaWVudCA9IGNoYXJ0Q29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIGNoYXJ0SGVpZ2h0XG4gICAgKTtcblxuICAgIGNvbnN0IGZpbGxDb2xvclRvcCA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yLCAwLjgpO1xuICAgIGNvbnN0IGZpbGxDb2xvckJvdHRvbSA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yMiwgMC44KTtcblxuICAgIGlmICghaGFzRmFkZSkge1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgICBncmFkaWVudC5hZGRDb2xvclN0b3Aoc2hpZnRWYWx1ZSwgZmlsbENvbG9yVG9wKTtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIGZpbGxDb2xvckJvdHRvbSk7XG4gICAgICByZXR1cm4gZ3JhZGllbnQ7XG4gICAgfVxuXG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIENoYXJ0Q29sb3JzU3RyaW5nRW51bS5XSElURSk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIGZpbGxDb2xvckJvdHRvbSk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIENoYXJ0Q29sb3JzU3RyaW5nRW51bS5XSElURSk7XG5cbiAgICByZXR1cm4gZ3JhZGllbnQ7XG4gIH1cblxuICBzdGF0aWMgY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSk6IG51bWJlcltdIHtcbiAgICByZXR1cm4geFNjYWxlLnRpY2tzLm1hcCgoXywgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgIHhTY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBoaWdobGlnaHRTZWdtZW50KFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIHhTY2FsZTogQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlLFxuICAgIGNoYXJ0QXJlYTogQ2hhcnRBcmVhLFxuICAgIGNoYXJ0SGVpZ2h0OiBudW1iZXIsXG4gICAgaW5kZXg6IG51bWJlclxuICApOiB2b2lkIHtcbiAgICBjb25zdCB7IHNlZ21lbnRTdGFydCwgc2VnbWVudFdpZHRoIH0gPSBDaGFydEhlbHBlci5nZXRTZWdtZW50UG9zaXRpb24oXG4gICAgICB4U2NhbGUsXG4gICAgICBpbmRleFxuICAgICk7XG4gICAgY29uc3QgYm9yZGVyUmFkaXVzID0gMjtcblxuICAgIGN0eC5zYXZlKCk7XG4gICAgY3R4LmZpbGxTdHlsZSA9IENoYXJ0Q29sb3JzU3RyaW5nRW51bS5IT1ZFUl9TRUdNRU5UO1xuXG4gICAgLy8gRHJhdyBzZWdtZW50IHdpdGggYm9yZGVyLXJhZGl1cyBhdCB0aGUgdG9wIGNvcm5lcnNcbiAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgY3R4Lm1vdmVUbyhzZWdtZW50U3RhcnQgKyBib3JkZXJSYWRpdXMsIGNoYXJ0QXJlYS50b3ApO1xuICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoIC0gYm9yZGVyUmFkaXVzLCBjaGFydEFyZWEudG9wKTtcbiAgICBjdHguYXJjVG8oXG4gICAgICBzZWdtZW50U3RhcnQgKyBzZWdtZW50V2lkdGgsXG4gICAgICBjaGFydEFyZWEudG9wLFxuICAgICAgc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoLFxuICAgICAgY2hhcnRBcmVhLnRvcCArIGJvcmRlclJhZGl1cyxcbiAgICAgIGJvcmRlclJhZGl1c1xuICAgICk7XG4gICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQgKyBzZWdtZW50V2lkdGgsIGNoYXJ0SGVpZ2h0KTtcbiAgICBjdHgubGluZVRvKHNlZ21lbnRTdGFydCwgY2hhcnRIZWlnaHQpO1xuICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0LCBjaGFydEFyZWEudG9wICsgYm9yZGVyUmFkaXVzKTtcbiAgICBjdHguYXJjVG8oXG4gICAgICBzZWdtZW50U3RhcnQsXG4gICAgICBjaGFydEFyZWEudG9wLFxuICAgICAgc2VnbWVudFN0YXJ0ICsgYm9yZGVyUmFkaXVzLFxuICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgIGJvcmRlclJhZGl1c1xuICAgICk7XG4gICAgY3R4LmNsb3NlUGF0aCgpO1xuXG4gICAgY3R4LmZpbGwoKTtcbiAgICBjdHgucmVzdG9yZSgpO1xuICB9XG5cbiAgc3RhdGljIGhpZ2hsaWdodFBvaW50KFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIGNoYXJ0OiBDaGFydCxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGNoYXJ0RGF0YTogSUNoYXJ0RGF0YTxJQmFzZURhdGFzZXQ+XG4gICk6IHZvaWQge1xuICAgIGNoYXJ0RGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBkYXRhc2V0SW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpO1xuICAgICAgY29uc3QgcG9pbnQgPSBtZXRhLmRhdGFbaW5kZXhdO1xuXG4gICAgICBpZiAoIXBvaW50KSByZXR1cm47XG5cbiAgICAgIGN0eC5zYXZlKCk7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHguYXJjKHBvaW50LngsIHBvaW50LnksIDQsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEU7XG4gICAgICBjdHguZmlsbCgpO1xuICAgICAgY3R4LmxpbmVXaWR0aCA9IDI7XG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPVxuICAgICAgICBkYXRhc2V0LmJvcmRlckNvbG9yIHx8IENoYXJ0Q29sb3JzU3RyaW5nRW51bS5UUkFOU1BBUkVOVDtcbiAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgIGN0eC5yZXN0b3JlKCk7XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFNlZ21lbnRQb3NpdGlvbihcbiAgICB4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSxcbiAgICBpbmRleDogbnVtYmVyXG4gICk6IHsgc2VnbWVudFN0YXJ0OiBudW1iZXI7IHNlZ21lbnRXaWR0aDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IHRpY2tQb3NpdGlvbnMgPSBDaGFydEhlbHBlci5jYWxjdWxhdGVUaWNrUG9zaXRpb25zKHhTY2FsZSk7XG4gICAgY29uc3Qgc2VnbWVudFdpZHRoID0gdGlja1Bvc2l0aW9uc1sxXSAtIHRpY2tQb3NpdGlvbnNbMF07XG4gICAgY29uc3Qgc2VnbWVudFN0YXJ0ID0gdGlja1Bvc2l0aW9uc1tpbmRleF0gLSBzZWdtZW50V2lkdGggLyAyO1xuICAgIHJldHVybiB7IHNlZ21lbnRTdGFydCwgc2VnbWVudFdpZHRoIH07XG4gIH1cblxufVxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvdXRpbHMvaGVscGVycy9jaGFydC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFdBQVc7SUFFdEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFVBQWtCLENBQUM7UUFDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixRQUFRO2lCQUNMLEtBQUssQ0FBQyxFQUFFLENBQUM7aUJBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFMUIsT0FBTyxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLE9BQU8sR0FBRyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWMsY0FBYyxFQUFFLE9BQWU7UUFDNUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FB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QUUsT0FBTyxVQUFVLENBQUM7UUFFakMsaUNBQWlDO1FBQ2pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdCLHlCQUF5QjtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7SUFDNUMsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IENoYXJ0LCB7XG4gIENhdGVnb3J5U2NhbGUsXG4gIENoYXJ0QXJlYSxcbiAgTGluZWFyU2NhbGUsXG59IGZyb20gJ2NoYXJ0LmpzL2F1dG8nO1xuaW1wb3J0IHsgQ2hhcnRDb2xvcnNTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgSUJhc2VEYXRhc2V0LCBJQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIENoYXJ0SGVscGVyIHtcblxuICBzdGF0aWMgaGV4VG9SZ2JhKGNvbG9ySGV4OiBzdHJpbmcsIG9wYWNpdHk6IG51bWJlciA9IDEpOiBzdHJpbmcge1xuICAgIGNvbG9ySGV4ID0gY29sb3JIZXgucmVwbGFjZSgvXiMvLCAnJyk7XG5cbiAgICBpZiAoY29sb3JIZXgubGVuZ3RoID09PSAzKSB7XG4gICAgICBjb2xvckhleFxuICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgIC5tYXAoKGNoYXIpID0+IGNoYXIgKyBjaGFyKVxuICAgICAgICAuam9pbignJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYmlnaW50ID0gcGFyc2VJbnQoY29sb3JIZXgsIDE2KTtcbiAgICBjb25zdCByZWQgPSAoYmlnaW50ID4+IDE2KSAmIDI1NTtcbiAgICBjb25zdCBncmVlbiA9IChiaWdpbnQgPj4gOCkgJiAyNTU7XG4gICAgY29uc3QgYmx1ZSA9IGJpZ2ludCAmIDI1NTtcblxuICAgIHJldHVybiBgcmdiYSgke3JlZH0sICR7Z3JlZW59LCAke2JsdWV9LCAke29wYWNpdHl9KWA7XG4gIH1cblxuICBzdGF0aWMgcmdiVG9SZ2JhKHJnYjogc3RyaW5nID0gJ3JnYigwLCAwLCAwKScsIG9wYWNpdHk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcmdiVmFsdWVzID0gcmdiLm1hdGNoKC9cXGQrL2cpO1xuXG4gICAgaWYgKHJnYlZhbHVlcyAmJiByZ2JWYWx1ZXMubGVuZ3RoID09PSAzKSB7XG4gICAgICBjb25zdCByZWQgPSByZ2JWYWx1ZXNbMF07XG4gICAgICBjb25zdCBncmVlbiA9IHJnYlZhbHVlc1sxXTtcbiAgICAgIGNvbnN0IGJsdWUgPSByZ2JWYWx1ZXNbMl07XG5cbiAgICAgIHJldHVybiBgcmdiYSgke3JlZH0sICR7Z3JlZW59LCAke2JsdWV9LCAke29wYWNpdHl9KWA7XG4gICAgfSBlbHNlIHJldHVybiByZ2I7XG4gIH1cblxuICBzdGF0aWMgY2hhbmdlT3BhY2l0eU9mUmdiT3JSZ2JhKGNvbG9yOiBzdHJpbmcsIG9wYWNpdHk6IG51bWJlcik6IHN0cmluZyB7XG5cbiAgICBjb25zdCByZ2JhUmVnZXggPSAvXnJnYmE/XFwoKFxcZHsxLDN9KSxcXHMqKFxcZHsxLDN9KSxcXHMqKFxcZHsxLDN9KSg/OixcXHMqKFxcZD9cXC4/XFxkKykpP1xcKSQvO1xuXG4gICAgY29uc3QgbWF0Y2ggPSBjb2xvci5tYXRjaChyZ2JhUmVnZXgpO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgY29uc3QgcmVkID0gcGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgICAgIGNvbnN0IGdyZWVuID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcbiAgICAgIGNvbnN0IGJsdWUgPSBwYXJzZUludChtYXRjaFszXSwgMTApO1xuXG4gICAgICByZXR1cm4gYHJnYmEoJHtyZWR9LCAke2dyZWVufSwgJHtibHVlfSwgJHtvcGFjaXR5fSlgO1xuICAgIH1cbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuICBzdGF0aWMgY2FsY3VsYXRlTWluVmFsdWUoZGF0YTogbnVtYmVyW10pOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbiguLi5kYXRhKTtcbiAgfVxuXG4gIHN0YXRpYyBjYWxjdWxhdGVNYXhWYWx1ZShkYXRhOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmRhdGEpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUdyYWRpZW50KFxuICAgIGNoYXJ0Q29udGV4dDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIGNoYXJ0Q2FudmFzOiBFbGVtZW50UmVmLFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgY29sb3IyOiBzdHJpbmcsXG4gICAgb3BhY2l0eUNvbG9yMTogbnVtYmVyID0gMSxcbiAgICBvcGFjaXR5Q29sb3IyOiBudW1iZXIgPSAxLFxuICAgIGFyZUNvbG9yc0luUmdiYUZvcm1hdDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IENhbnZhc0dyYWRpZW50IHtcbiAgICBjb25zdCBncmFkaWVudCA9IGNoYXJ0Q29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIGNoYXJ0Q2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0XG4gICAgKTtcbiAgICBsZXQgZmlsbENvbG9yVG9wID0gJyc7XG4gICAgbGV0IGZpbGxDb2xvckJvdHRvbSA9ICcnO1xuICAgIGlmIChhcmVDb2xvcnNJblJnYmFGb3JtYXQpIHtcbiAgICAgIGZpbGxDb2xvclRvcCA9IHRoaXMuY2hhbmdlT3BhY2l0eU9mUmdiT3JSZ2JhKGNvbG9yLCBvcGFjaXR5Q29sb3IxKTtcbiAgICAgIGZpbGxDb2xvckJvdHRvbSA9IHRoaXMuY2hhbmdlT3BhY2l0eU9mUmdiT3JSZ2JhKGNvbG9yMiwgb3BhY2l0eUNvbG9yMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGxDb2xvclRvcCA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yLCBvcGFjaXR5Q29sb3IxKTtcbiAgICAgIGZpbGxDb2xvckJvdHRvbSA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yMiwgb3BhY2l0eUNvbG9yMik7XG4gICAgfVxuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBmaWxsQ29sb3JUb3ApO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjgsIGZpbGxDb2xvckJvdHRvbSk7XG5cbiAgICByZXR1cm4gZ3JhZGllbnQ7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlR3JhZGllbnRXaXRoU2hpZnRWYWx1ZShcbiAgICBjaGFydENvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjaGFydEhlaWdodDogbnVtYmVyLFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgY29sb3IyOiBzdHJpbmcsXG4gICAgc2hpZnRWYWx1ZTogbnVtYmVyLFxuICAgIGhhc0ZhZGU/OiBib29sZWFuXG4gICk6IENhbnZhc0dyYWRpZW50IHtcbiAgICBjb25zdCBncmFkaWVudCA9IGNoYXJ0Q29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIGNoYXJ0SGVpZ2h0XG4gICAgKTtcblxuICAgIGNvbnN0IGZpbGxDb2xvclRvcCA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yLCAwLjgpO1xuICAgIGNvbnN0IGZpbGxDb2xvckJvdHRvbSA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yMiwgMC44KTtcblxuICAgIGlmICghaGFzRmFkZSkge1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgICBncmFkaWVudC5hZGRDb2xvclN0b3Aoc2hpZnRWYWx1ZSwgZmlsbENvbG9yVG9wKTtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIGZpbGxDb2xvckJvdHRvbSk7XG4gICAgICByZXR1cm4gZ3JhZGllbnQ7XG4gICAgfVxuXG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIENoYXJ0Q29sb3JzU3RyaW5nRW51bS5XSElURSk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIGZpbGxDb2xvckJvdHRvbSk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIENoYXJ0Q29sb3JzU3RyaW5nRW51bS5XSElURSk7XG5cbiAgICByZXR1cm4gZ3JhZGllbnQ7XG4gIH1cblxuICBzdGF0aWMgY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSk6IG51bWJlcltdIHtcbiAgICByZXR1cm4geFNjYWxlLnRpY2tzLm1hcCgoXywgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgIHhTY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBoaWdobGlnaHRTZWdtZW50KFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIHhTY2FsZTogQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlLFxuICAgIGNoYXJ0QXJlYTogQ2hhcnRBcmVhLFxuICAgIGNoYXJ0SGVpZ2h0OiBudW1iZXIsXG4gICAgaW5kZXg6IG51bWJlclxuICApOiB2b2lkIHtcbiAgICBjb25zdCB7IHNlZ21lbnRTdGFydCwgc2VnbWVudFdpZHRoIH0gPSBDaGFydEhlbHBlci5nZXRTZWdtZW50UG9zaXRpb24oXG4gICAgICB4U2NhbGUsXG4gICAgICBpbmRleFxuICAgICk7XG4gICAgY29uc3QgYm9yZGVyUmFkaXVzID0gMjtcblxuICAgIGN0eC5zYXZlKCk7XG4gICAgY3R4LmZpbGxTdHlsZSA9IENoYXJ0Q29sb3JzU3RyaW5nRW51bS5IT1ZFUl9TRUdNRU5UO1xuXG4gICAgLy8gRHJhdyBzZWdtZW50IHdpdGggYm9yZGVyLXJhZGl1cyBhdCB0aGUgdG9wIGNvcm5lcnNcbiAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgY3R4Lm1vdmVUbyhzZWdtZW50U3RhcnQgKyBib3JkZXJSYWRpdXMsIGNoYXJ0QXJlYS50b3ApO1xuICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoIC0gYm9yZGVyUmFkaXVzLCBjaGFydEFyZWEudG9wKTtcbiAgICBjdHguYXJjVG8oXG4gICAgICBzZWdtZW50U3RhcnQgKyBzZWdtZW50V2lkdGgsXG4gICAgICBjaGFydEFyZWEudG9wLFxuICAgICAgc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoLFxuICAgICAgY2hhcnRBcmVhLnRvcCArIGJvcmRlclJhZGl1cyxcbiAgICAgIGJvcmRlclJhZGl1c1xuICAgICk7XG4gICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQgKyBzZWdtZW50V2lkdGgsIGNoYXJ0SGVpZ2h0KTtcbiAgICBjdHgubGluZVRvKHNlZ21lbnRTdGFydCwgY2hhcnRIZWlnaHQpO1xuICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0LCBjaGFydEFyZWEudG9wICsgYm9yZGVyUmFkaXVzKTtcbiAgICBjdHguYXJjVG8oXG4gICAgICBzZWdtZW50U3RhcnQsXG4gICAgICBjaGFydEFyZWEudG9wLFxuICAgICAgc2VnbWVudFN0YXJ0ICsgYm9yZGVyUmFkaXVzLFxuICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgIGJvcmRlclJhZGl1c1xuICAgICk7XG4gICAgY3R4LmNsb3NlUGF0aCgpO1xuXG4gICAgY3R4LmZpbGwoKTtcbiAgICBjdHgucmVzdG9yZSgpO1xuICB9XG5cbiAgLy8gVGhpcyBpcyBhIGR1bWIgZnVuY3Rpb24gd2hvc2Ugb25seSBmdW5jdGlvbiBpcyBvbmx5IHRvIHBvc2l0aW9uIGxlZ2VuZCBlbGVtZW50cyBvbmUgYmVsb3cgdW5kZXJcbiAgLy8gQ2FsbCBpdCBpbiBuZ0ZvclxuICBwdWJsaWMgc3RhdGljIGRyYXdEb3VnaG51dExlZ2VuZChcbiAgICBjaGFydDogQ2hhcnQsXG4gICAgcG9zaXRpb246IHtcbiAgICAgIGluZHg6IG51bWJlcixcbiAgICAgIC8vIFRPRE8gaWYgbmVlZGVkLCBjb252ZXJ0IHRvIG9iamVjdFxuICAgICAgb2Zmc2V0VG9wOiBudW1iZXI7XG4gICAgfSxcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgLy8gSW5pdGlhbCBpZGVhXG4gICAgZm9udFNpemU6IG51bWJlciA9IDE4LFxuICAgIGNvbG9yOiBzdHJpbmcgPSAnIzQyNDI0MidcbiAgKTogdm9pZCB7XG5cbiAgICBjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XG5cbiAgICBpZiAoIWN0eCkgcmV0dXJuO1xuXG4gICAgY3R4LnNhdmUoKTtcblxuICAgIGNvbnN0IGRhdGFzZXRNZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoMCk7XG4gICAgY29uc3QgeENvb3JkID0gZGF0YXNldE1ldGE/LmRhdGFbMF0/Lng7XG4gICAgY29uc3QgeUNvb3JkID0gZGF0YXNldE1ldGE/LmRhdGFbMF0/LnkgLyAzICogMiArXG4gICAgICBwb3NpdGlvbi5pbmR4ICogMjAgK1xuICAgICAgcG9zaXRpb24ub2Zmc2V0VG9wO1xuXG4gICAgaWYgKHhDb29yZCA9PT0gdW5kZWZpbmVkIHx8IHlDb29yZCA9PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIGN0eC5mb250ID0gYGJvbGQgJHtmb250U2l6ZX1weCBzYW5zLXNlcmlmYDtcbiAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcbiAgICBjdHguZmlsbFRleHQodGV4dCwgeENvb3JkLCB5Q29vcmQpO1xuXG4gICAgY3R4LnJlc3RvcmUoKTtcbiAgfVxuXG4gIHN0YXRpYyBoaWdobGlnaHRQb2ludChcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjaGFydDogQ2hhcnQsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBjaGFydERhdGE6IElDaGFydERhdGE8SUJhc2VEYXRhc2V0PlxuICApOiB2b2lkIHtcbiAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldCwgZGF0YXNldEluZGV4KSA9PiB7XG4gICAgICBjb25zdCBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTtcblxuICAgICAgaWYgKCFtZXRhIHx8ICFtZXRhLmRhdGFbaW5kZXhdKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHBvaW50ID0gbWV0YS5kYXRhW2luZGV4XTtcbiAgICAgIGNvbnN0IHlTY2FsZSA9IGNoYXJ0LnNjYWxlc1tkYXRhc2V0LnlBeGlzSUQgfHwgJ3ktYXhpcy0wJ107XG4gICAgICBjb25zdCB4U2NhbGUgPSBjaGFydC5zY2FsZXNbJ3gnXTtcblxuICAgICAgY29uc3QgdmFsdWUgPSBkYXRhc2V0LmRhdGFbaW5kZXhdO1xuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgY29uc3QgeFBpeGVsID0geFNjYWxlLmdldFBpeGVsRm9yVmFsdWUoaW5kZXgpO1xuICAgICAgY29uc3QgeVBpeGVsID0gTWF0aC5hYnMoeVNjYWxlLmdldFBpeGVsRm9yVmFsdWUodmFsdWUgYXMgbnVtYmVyKSk7XG5cbiAgICAgIGlmICghcG9pbnQpIHJldHVybjtcblxuICAgICAgY3R4LnNhdmUoKTtcbiAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgIGN0eC5hcmMoeFBpeGVsLCB5UGl4ZWwsIDQsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEU7XG4gICAgICBjdHguZmlsbCgpO1xuICAgICAgY3R4LmxpbmVXaWR0aCA9IDI7XG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPVxuICAgICAgICBkYXRhc2V0LmJvcmRlckNvbG9yIHx8IENoYXJ0Q29sb3JzU3RyaW5nRW51bS5UUkFOU1BBUkVOVDtcbiAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgIGN0eC5yZXN0b3JlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRTZWdtZW50UG9zaXRpb24oXG4gICAgeFNjYWxlOiBDYXRlZ29yeVNjYWxlIHwgTGluZWFyU2NhbGUsXG4gICAgaW5kZXg6IG51bWJlclxuICApOiB7IHNlZ21lbnRTdGFydDogbnVtYmVyOyBzZWdtZW50V2lkdGg6IG51bWJlciB9IHtcbiAgICBjb25zdCB0aWNrUG9zaXRpb25zID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGUpO1xuICAgIGNvbnN0IHNlZ21lbnRXaWR0aCA9IHRpY2tQb3NpdGlvbnNbMV0gLSB0aWNrUG9zaXRpb25zWzBdO1xuICAgIGNvbnN0IHNlZ21lbnRTdGFydCA9IHRpY2tQb3NpdGlvbnNbaW5kZXhdIC0gc2VnbWVudFdpZHRoIC8gMjtcbiAgICByZXR1cm4geyBzZWdtZW50U3RhcnQsIHNlZ21lbnRXaWR0aCB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb252ZXJ0UmdiVG9SZ2JhKGNvbG9yVmFsdWU6IHN0cmluZywgYWxwaGE6IG51bWJlciA9IDEpOiBzdHJpbmcge1xuICAgIGlmIChhbHBoYSA8IDAgfHwgYWxwaGEgPiAxKSByZXR1cm4gY29sb3JWYWx1ZTtcblxuICAgIGNvbnN0IHJnYmFNYXRjaCA9IGNvbG9yVmFsdWUubWF0Y2goL3JnYmFcXCgoXFxkKyksXFxzKihcXGQrKSxcXHMqKFxcZCspLFxccyooXFxkKyhcXC5cXGQrKT8pXFwpLyk7XG5cbiAgICBpZiAocmdiYU1hdGNoKSB7XG4gICAgICBjb25zdCBbLCByLCBnLCBiXSA9IHJnYmFNYXRjaDtcbiAgICAgIC8vIFJldHVybiB1cGRhdGVkIFJHQkEgd2l0aCB0aGUgbmV3IGFscGhhXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcbiAgICB9XG5cbiAgICAvLyBFeHRyYWN0IHRoZSBSR0IgdmFsdWVzIHVzaW5nIGEgcmVndWxhciBleHByZXNzaW9uXG4gICAgY29uc3QgcmdiTWF0Y2ggPSBjb2xvclZhbHVlLm1hdGNoKC9yZ2JcXCgoXFxkKyksXFxzKihcXGQrKSxcXHMqKFxcZCspXFwpLyk7XG4gICAgaWYgKCFyZ2JNYXRjaCkgcmV0dXJuIGNvbG9yVmFsdWU7XG5cbiAgICAvLyBEZXN0cnVjdHVyZSB0aGUgbWF0Y2hlZCB2YWx1ZXNcbiAgICBjb25zdCBbLCByLCBnLCBiXSA9IHJnYk1hdGNoO1xuXG4gICAgLy8gUmV0dXJuIHRoZSBSR0JBIHN0cmluZ1xuICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
//Services
|
|
4
|
+
import { ChartManagerService } from './services/chart-manager.service';
|
|
5
|
+
//Components
|
|
6
|
+
import { CaChartComponent } from '../ca-chart/ca-chart.component';
|
|
7
|
+
import { CaTooltipListComponent } from '../ca-tooltip-list/ca-tooltip-list.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "./services/chart-manager.service";
|
|
10
|
+
export class CaChartManagerComponent {
|
|
11
|
+
constructor(chartManagerService, cdr) {
|
|
12
|
+
this.chartManagerService = chartManagerService;
|
|
13
|
+
this.cdr = cdr;
|
|
14
|
+
this.chartConfigs = [];
|
|
15
|
+
this.tooltipLables = [];
|
|
16
|
+
this.chartDatasetHover = null;
|
|
17
|
+
this.hoveredIndex = null;
|
|
18
|
+
this.hoveredChartId = null;
|
|
19
|
+
this.tooltipList = null;
|
|
20
|
+
this.tooltipPosition = { x: 0, y: 0 };
|
|
21
|
+
this.chartManagerService.hoverState$.subscribe(({ index, chartId }) => {
|
|
22
|
+
this.hoveredIndex = index;
|
|
23
|
+
this.hoveredChartId = chartId;
|
|
24
|
+
this.updateTooltipList(this.hoveredIndex);
|
|
25
|
+
this.cdr.markForCheck();
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
trackByIndex(index) {
|
|
29
|
+
return index;
|
|
30
|
+
}
|
|
31
|
+
onMouseMove(event) {
|
|
32
|
+
const containerRect = this.chartManagerContainer.nativeElement.getBoundingClientRect();
|
|
33
|
+
const padding = 100;
|
|
34
|
+
let x = event.clientX - containerRect.left + padding;
|
|
35
|
+
let y = event.clientY - containerRect.top + padding;
|
|
36
|
+
if (this.tooltipContainer) {
|
|
37
|
+
const tooltipWidth = this.tooltipContainer.nativeElement.offsetWidth;
|
|
38
|
+
const tooltipHeight = this.tooltipContainer.nativeElement.offsetHeight;
|
|
39
|
+
// Adjust Y position if the tooltip goes above the top of container
|
|
40
|
+
if (y < tooltipHeight / 2)
|
|
41
|
+
y = tooltipHeight / 2 + padding;
|
|
42
|
+
// Adjust Y position if the tooltip goes below the container
|
|
43
|
+
if (y + tooltipHeight / 2 > containerRect.height)
|
|
44
|
+
y = containerRect.height - tooltipHeight / 2 - padding;
|
|
45
|
+
// Adjust X position if it overflows the right edge
|
|
46
|
+
if (x + tooltipWidth > containerRect.width)
|
|
47
|
+
x = event.clientX - containerRect.left - tooltipWidth - padding; // Move tooltip to the left
|
|
48
|
+
}
|
|
49
|
+
this.tooltipPosition = { x, y };
|
|
50
|
+
}
|
|
51
|
+
updateTooltipList(index) {
|
|
52
|
+
if (index === null || !this.chartConfigs.length) {
|
|
53
|
+
this.tooltipList = null;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const selectedItems = [];
|
|
57
|
+
const otherItems = [];
|
|
58
|
+
this.chartConfigs.forEach((config) => {
|
|
59
|
+
const visibleDatasets = config.chartData.datasets.filter((dataset) => !dataset.hidden);
|
|
60
|
+
visibleDatasets.forEach((dataset) => {
|
|
61
|
+
const rawData = dataset.data[index];
|
|
62
|
+
const value = Array.isArray(rawData) ? rawData[0] : rawData;
|
|
63
|
+
const tooltipItem = {
|
|
64
|
+
label: dataset.label,
|
|
65
|
+
value: value || 0,
|
|
66
|
+
isCurrency: dataset.isCurrency || false,
|
|
67
|
+
color: dataset.borderColor || "#FFFFFF" /* ChartColorsStringEnum.WHITE */,
|
|
68
|
+
};
|
|
69
|
+
if (config.isTooltipItemInSelectedItems)
|
|
70
|
+
selectedItems.push(tooltipItem);
|
|
71
|
+
else
|
|
72
|
+
otherItems.push(tooltipItem);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
this.tooltipList = {
|
|
76
|
+
date: this.tooltipLables[index],
|
|
77
|
+
selectedItems: selectedItems,
|
|
78
|
+
otherItems: otherItems,
|
|
79
|
+
showPercentage: false,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaChartManagerComponent, deps: [{ token: i1.ChartManagerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaChartManagerComponent, isStandalone: true, selector: "app-ca-chart-manager", inputs: { chartConfigs: "chartConfigs", tooltipLables: "tooltipLables", chartDatasetHover: "chartDatasetHover" }, providers: [ChartManagerService], viewQueries: [{ propertyName: "chartManagerContainer", first: true, predicate: ["chartManagerContainer"], descendants: true }, { propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }], ngImport: i0, template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex !== null) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type:
|
|
84
|
+
//Components
|
|
85
|
+
CaChartComponent, selector: "app-ca-chart", inputs: ["chartId", "chartDatasetHover", "chartConfig"], outputs: ["hoveredIndex"] }, { kind: "component", type: CaTooltipListComponent, selector: "app-ca-tooltip-list", inputs: ["tooltipList"] }] }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaChartManagerComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{ selector: 'app-ca-chart-manager', standalone: true, imports: [
|
|
90
|
+
CommonModule,
|
|
91
|
+
//Components
|
|
92
|
+
CaChartComponent,
|
|
93
|
+
CaTooltipListComponent,
|
|
94
|
+
], providers: [ChartManagerService], template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex !== null) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"] }]
|
|
95
|
+
}], ctorParameters: () => [{ type: i1.ChartManagerService }, { type: i0.ChangeDetectorRef }], propDecorators: { chartConfigs: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], tooltipLables: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], chartDatasetHover: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], chartManagerContainer: [{
|
|
102
|
+
type: ViewChild,
|
|
103
|
+
args: ['chartManagerContainer']
|
|
104
|
+
}], tooltipContainer: [{
|
|
105
|
+
type: ViewChild,
|
|
106
|
+
args: ['tooltipContainer']
|
|
107
|
+
}] } });
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY2hhcnQtbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQtbWFuYWdlci9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsVUFBVTtBQUNWLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3ZFLFlBQVk7QUFDWixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBZXRGLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxtQkFBd0MsRUFDeEMsR0FBc0I7UUFEdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWR2QixpQkFBWSxHQUEwQixFQUFFLENBQUM7UUFDekMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQThCLElBQUksQ0FBQztRQUt0RCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QXVCO2dCQUNILGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vU2VydmljZXNcbmltcG9ydCB7IENoYXJ0TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NoYXJ0LW1hbmFnZXIuc2VydmljZSc7XG5cbi8vTW9kZWxzXG5pbXBvcnQgeyBJQ2hhcnRDb25maWd1cmF0aW9uLCBJQ2hhcnREYXRhc2V0SG92ZXIgfSBmcm9tICcuLi9jYS1jaGFydC9tb2RlbHMnO1xuaW1wb3J0IHsgSVRvb2x0aXBMaXN0LCBJVG9vbHRpcExpc3RJdGVtIH0gZnJvbSAnLi4vY2EtdG9vbHRpcC1saXN0L21vZGVscyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uL2NhLWNoYXJ0L2VudW1zJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhVG9vbHRpcExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jYS10b29sdGlwLWxpc3QvY2EtdG9vbHRpcC1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1jaGFydC1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy9Db21wb25lbnRzXG4gICAgQ2FDaGFydENvbXBvbmVudCxcbiAgICBDYVRvb2x0aXBMaXN0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtDaGFydE1hbmFnZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FDaGFydE1hbmFnZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBjaGFydENvbmZpZ3M6IElDaGFydENvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSB0b29sdGlwTGFibGVzOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFydERhdGFzZXRIb3ZlcjogSUNoYXJ0RGF0YXNldEhvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnRNYW5hZ2VyQ29udGFpbmVyJykgY2hhcnRNYW5hZ2VyQ29udGFpbmVyITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBob3ZlcmVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaG92ZXJlZENoYXJ0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcExpc3Q6IElUb29sdGlwTGlzdCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFydE1hbmFnZXJTZXJ2aWNlOiBDaGFydE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmNoYXJ0TWFuYWdlclNlcnZpY2UuaG92ZXJTdGF0ZSQuc3Vic2NyaWJlKCh7IGluZGV4LCBjaGFydElkIH0pID0+IHtcbiAgICAgIHRoaXMuaG92ZXJlZEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLmhvdmVyZWRDaGFydElkID0gY2hhcnRJZDtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcExpc3QodGhpcy5ob3ZlcmVkSW5kZXgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPVxuICAgICAgdGhpcy5jaGFydE1hbmFnZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTAwO1xuXG4gICAgbGV0IHggPSBldmVudC5jbGllbnRYIC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgcGFkZGluZztcbiAgICBsZXQgeSA9IGV2ZW50LmNsaWVudFkgLSBjb250YWluZXJSZWN0LnRvcCArIHBhZGRpbmc7XG5cbiAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyKSB7XG4gICAgICBjb25zdCB0b29sdGlwV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgIC8vIEFkanVzdCBZIHBvc2l0aW9uIGlmIHRoZSB0b29sdGlwIGdvZXMgYWJvdmUgdGhlIHRvcCBvZiBjb250YWluZXJcbiAgICAgIGlmICh5IDwgdG9vbHRpcEhlaWdodCAvIDIpXG4gICAgICAgIHkgPSB0b29sdGlwSGVpZ2h0IC8gMiArIHBhZGRpbmc7XG5cblxuICAgICAgLy8gQWRqdXN0IFkgcG9zaXRpb24gaWYgdGhlIHRvb2x0aXAgZ29lcyBiZWxvdyB0aGUgY29udGFpbmVyXG4gICAgICBpZiAoeSArIHRvb2x0aXBIZWlnaHQgLyAyID4gY29udGFpbmVyUmVjdC5oZWlnaHQpXG4gICAgICAgIHkgPSBjb250YWluZXJSZWN0LmhlaWdodCAtIHRvb2x0aXBIZWlnaHQgLyAyIC0gcGFkZGluZztcblxuXG4gICAgICAvLyBBZGp1c3QgWCBwb3NpdGlvbiBpZiBpdCBvdmVyZmxvd3MgdGhlIHJpZ2h0IGVkZ2VcbiAgICAgIGlmICh4ICsgdG9vbHRpcFdpZHRoID4gY29udGFpbmVyUmVjdC53aWR0aClcbiAgICAgICAgeCA9IGV2ZW50LmNsaWVudFggLSBjb250YWluZXJSZWN0LmxlZnQgLSB0b29sdGlwV2lkdGggLSBwYWRkaW5nOyAvLyBNb3ZlIHRvb2x0aXAgdG8gdGhlIGxlZnRcblxuICAgIH1cblxuICAgIHRoaXMudG9vbHRpcFBvc2l0aW9uID0geyB4LCB5IH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBMaXN0KGluZGV4OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSBudWxsIHx8ICF0aGlzLmNoYXJ0Q29uZmlncy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudG9vbHRpcExpc3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IG90aGVySXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgdGhpcy5jaGFydENvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlRGF0YXNldHMgPSBjb25maWcuY2hhcnREYXRhLmRhdGFzZXRzLmZpbHRlcihcbiAgICAgICAgKGRhdGFzZXQpID0+ICFkYXRhc2V0LmhpZGRlblxuICAgICAgKTtcblxuICAgICAgdmlzaWJsZURhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IGRhdGFzZXQuZGF0YVtpbmRleF07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdEYXRhKSA/IHJhd0RhdGFbMF0gOiByYXdEYXRhO1xuXG4gICAgICAgIGNvbnN0IHRvb2x0aXBJdGVtOiBJVG9vbHRpcExpc3RJdGVtID0ge1xuICAgICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCAwLFxuICAgICAgICAgIGlzQ3VycmVuY3k6IGRhdGFzZXQuaXNDdXJyZW5jeSB8fCBmYWxzZSxcbiAgICAgICAgICBjb2xvcjogZGF0YXNldC5ib3JkZXJDb2xvciB8fCBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5pc1Rvb2x0aXBJdGVtSW5TZWxlY3RlZEl0ZW1zKVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh0b29sdGlwSXRlbSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBvdGhlckl0ZW1zLnB1c2godG9vbHRpcEl0ZW0pO1xuXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMudG9vbHRpcExpc3QgPSB7XG4gICAgICBkYXRlOiB0aGlzLnRvb2x0aXBMYWJsZXNbaW5kZXhdLFxuICAgICAgc2VsZWN0ZWRJdGVtczogc2VsZWN0ZWRJdGVtcyxcbiAgICAgIG90aGVySXRlbXM6IG90aGVySXRlbXMsXG4gICAgICBzaG93UGVyY2VudGFnZTogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdlxuICAgICNjaGFydE1hbmFnZXJDb250YWluZXJcbiAgICBjbGFzcz1cImNoYXJ0LW1hbmFnZXItY29udGFpbmVyXCJcbiAgICAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGNoYXJ0Q29uZmlnIG9mIGNoYXJ0Q29uZmlnczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIHRyYWNrQnlJbmRleCkge1xuICAgICAgICA8YXBwLWNhLWNoYXJ0XG4gICAgICAgICAgICBbY2hhcnRDb25maWddPVwiY2hhcnRDb25maWdcIlxuICAgICAgICAgICAgW2NoYXJ0SWRdPVwiJ2NoYXJ0LScgKyBpXCJcbiAgICAgICAgICAgIFtjaGFydERhdGFzZXRIb3Zlcl09XCJcbiAgICAgICAgICAgICAgICBjaGFydENvbmZpZz8uaXNEYXRhc2V0SG92ZXJFbmFibGVkID8gY2hhcnREYXRhc2V0SG92ZXIgOiBudWxsXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWNoYXJ0PlxuICAgIH1cblxuICAgIEBpZiAoaG92ZXJlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwidG9vbHRpcFBvc2l0aW9uLnlcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwidG9vbHRpcFBvc2l0aW9uLnhcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLWNhLXRvb2x0aXAtbGlzdCBbdG9vbHRpcExpc3RdPVwidG9vbHRpcExpc3RcIj5cbiAgICAgICAgICAgIDwvYXBwLWNhLXRvb2x0aXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItc3RhdGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL21vZGVscy9ob3Zlci1zdGF0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJSG92ZXJTdGF0ZSB7XG4gICAgaW5kZXg6IG51bWJlciB8IG51bGw7XG4gICAgY2hhcnRJZDogc3RyaW5nIHwgbnVsbDtcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './hover-state.model';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ob3Zlci1zdGF0ZS5tb2RlbCc7Il19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ChartManagerService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.hoverStateSubject = new BehaviorSubject({
|
|
7
|
+
index: null,
|
|
8
|
+
chartId: null,
|
|
9
|
+
});
|
|
10
|
+
this.hoverState$ = this.hoverStateSubject.asObservable();
|
|
11
|
+
}
|
|
12
|
+
setHoverState(index, chartId) {
|
|
13
|
+
this.hoverStateSubject.next({ index, chartId });
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartManagerService }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartManagerService, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQtbWFuYWdlci9zZXJ2aWNlcy9jaGFydC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU12QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWM7WUFDMUQsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVJLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0tBSzVEO0lBSFEsYUFBYSxDQUFDLEtBQW9CLEVBQUUsT0FBc0I7UUFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7K0dBVlUsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy9Nb2RlbHNcbmltcG9ydCB7IElIb3ZlclN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENoYXJ0TWFuYWdlclNlcnZpY2Uge1xuICBwdWJsaWMgaG92ZXJTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElIb3ZlclN0YXRlPih7XG4gICAgaW5kZXg6IG51bGwsXG4gICAgY2hhcnRJZDogbnVsbCxcbiAgfSk7XG5cbiAgcHVibGljIGhvdmVyU3RhdGUkID0gdGhpcy5ob3ZlclN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgc2V0SG92ZXJTdGF0ZShpbmRleDogbnVtYmVyIHwgbnVsbCwgY2hhcnRJZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuaG92ZXJTdGF0ZVN1YmplY3QubmV4dCh7IGluZGV4LCBjaGFydElkIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './chart-manager.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoYXJ0LW1hbmFnZXIuc2VydmljZSc7Il19
|
|
@@ -63,6 +63,7 @@ export class CaDropdownMenuComponent {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
handleDropdownOpenCloseClick(dropdownPopover) {
|
|
66
|
+
this.activeInnerDropdownOptionIndex = -1;
|
|
66
67
|
if (dropdownPopover.isOpen()) {
|
|
67
68
|
dropdownPopover.close();
|
|
68
69
|
this.dropdownPopover = null;
|
|
@@ -115,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
115
116
|
}], dropdownOptionEmitter: [{
|
|
116
117
|
type: Output
|
|
117
118
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9jYS1kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLFFBQVE7QUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakQsYUFBYTtBQUNiLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUEwQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDO1FBbEJTLFNBQUksR0FBcUIsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1FBQy9ELFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDckQscUJB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O2dCQUNiLHVCQUF1QjtnQkFFdkIsUUFBUTtnQkFDUiw4QkFBOEI7OzRGQUd6Qix1QkFBdUI7a0JBbEJuQyxTQUFTOytCQUNJLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFFVCxhQUFhO3dCQUNiLHVCQUF1Qjt3QkFFdkIsUUFBUTt3QkFDUiw4QkFBOEI7cUJBQ2pDO3dEQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFSSxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JQb3BvdmVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51U3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMnO1xuXG4vLyBzdmcgcm91dGVzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzL3N2Zy1yb3V0ZXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51UGxhY2VtZW50Q2xhc3NQaXBlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L3BpcGVzJztcblxuLy8gdHlwZXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVJdGVtLCBEcm9wZG93bk9wdGlvbkVtaXQgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtZHJvcGRvd24tbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gbW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG5cbiAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcblxuICAgICAgICAvLyBwaXBlc1xuICAgICAgICBEcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzc1BpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FEcm9wZG93bk1lbnVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHR5cGU6IERyb3Bkb3duTWVudVR5cGUgPSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkRPVFNfTUVOVV9UWVBFO1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IERyb3Bkb3duTWVudUl0ZW1bXSA9IFtdO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogc3RyaW5nID0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5SSUdIVF9UT1A7XG4gICAgQElucHV0KCkgaXNEYXJrQmFja2dyb3VuZD86IGJvb2xlYW4gPSBmYWxzZTsgLy8gZHJvcGRvd24gbWVudSBvbiBkYXJrIGJhY2tncm91bmRcbiAgICBASW5wdXQoKSBpc0xlZnRTaWRlSWNvblBvc2l0aW9uPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUG9zaXRpb25UcmFuc2xhdGVVbnNldD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBkcm9wZG93bk9wdGlvbkVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbkVtaXQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbkVtaXQ+KCk7XG5cbiAgICBwdWJsaWMgZHJvcGRvd25NZW51U3ZnUm91dGVzID0gRHJvcGRvd25NZW51U3ZnUm91dGVzO1xuICAgIHB1YmxpYyBkcm9wZG93bk1lbnVTdHJpbmdFbnVtID0gRHJvcGRvd25NZW51U3RyaW5nRW51bTtcblxuICAgIHB1YmxpYyBkcm9wZG93blBvcG92ZXI6IE5nYlBvcG92ZXIgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBhY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXg6IG51bWJlciA9IC0xO1xuICAgIHB1YmxpYyBpc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRHJvcGRvd25NZW51QWN0aXZlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXI/LmlzT3BlbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVEcm9wZG93bk9wdGlvbkNsaWNrKFxuICAgICAgICBvcHRpb246IERyb3Bkb3duTWVudUl0ZW0sXG4gICAgICAgIG9wdGlvbkluZGV4OiBudW1iZXIgPSAtMVxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGlkLCB0eXBlLCBpbm5lckRyb3Bkb3duQ29udGVudCwgaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW0gfSA9XG4gICAgICAgICAgICBvcHRpb247XG5cbiAgICAgICAgLy8gaW5uZXIgZHJvcGRvd24gb3B0aW9uIGNsaWNrXG4gICAgICAgIGlmICghIWlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPT09IG9wdGlvbkluZGV4XG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiBvcHRpb25JbmRleDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2VsZWN0IGRyb3Bkb3duIGFjdGlvbiBvcHRpb24gY2xpY2tcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy50eXBlID09PSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLlNFTEVDVF9NRU5VX1RZUEUgJiZcbiAgICAgICAgICAgIGlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkID1cbiAgICAgICAgICAgICAgICAhdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiB0aGlzLmlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtU2VsZWN0ZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVndWxhciBkcm9wZG93biBvcHRpb24gY2xpY2sgLSBlbWl0IGlkIGlmIHR5cGUgaXMgbm90IHByZXNlbnQgKHNlbGVjdCBtZW51IHNpbXBsZSBpdGVtcylcbiAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh0eXBlID8geyB0eXBlIH0gOiB7IGlkIH0pO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMudHlwZSAhPT0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5TRUxFQ1RfTUVOVV9UWVBFIHx8XG4gICAgICAgICAgICAhaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9IC0xO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVEcm9wZG93bk9wZW5DbG9zZUNsaWNrKGRyb3Bkb3duUG9wb3ZlcjogTmdiUG9wb3Zlcik6IHZvaWQge1xuICAgICAgICBpZiAoZHJvcGRvd25Qb3BvdmVyLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBkcm9wZG93blBvcG92ZXIuY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkNMT1NFLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBkcm9wZG93blBvcG92ZXI7XG5cbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyLm9wZW4oKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJvcGRvd25NZW51U3RyaW5nRW51bS5PUEVOLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBkcm9wZG93bi1tZW51LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIHR5cGUgfCBkcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzczogaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0ISA6IHBsYWNlbWVudFxuICAgIFwiXG4+XG4gICAgPCEtLSBJY29uIC0tPlxuXG4gICAgPGRpdlxuICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgIFttYWluQ2FUb29sdGlwXT1cIidNb3JlJ1wiXG4gICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGRyb3Bkb3duUG9wb3Zlci5pc09wZW4oKSxcbiAgICAgICAgICAgICAgICAnZGFyay1iYWNrZ3JvdW5kJzogaXNEYXJrQmFja2dyb3VuZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgI2Ryb3Bkb3duUG9wb3Zlcj1cIm5nYlBvcG92ZXJcIlxuICAgICAgICAgICAgdHJpZ2dlcnM9XCInbWFudWFsJ1wiXG4gICAgICAgICAgICBbbmdiUG9wb3Zlcl09XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxuICAgICAgICAgICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURyb3Bkb3duT3BlbkNsb3NlQ2xpY2soZHJvcGRvd25Qb3BvdmVyKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gZHJvcGRvd25NZW51U3RyaW5nRW51bS5ET1RTX01FTlVfVFlQRVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuZG90c0Ryb3Bkb3duSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuaGFtYnVyZ2VyRHJvcGRvd25JY29uXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodC5weCc6IDE4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEcm9wZG93biAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb25JbmRleCA9ICRpbmRleCxcbiAgICAgICAgICAgICAgICBsYXN0ID0gJGxhc3Q7XG4gICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uSW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdoYXMtYm9yZGVyJzogb3B0aW9uPy5oYXNCb3JkZXIgJiYgIWxhc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uPy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tbGVmdCc6IGlzTGVmdFNpZGVJY29uUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbm5lci1kcm9wZG93bi1pdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09IGFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5oYXNCb3JkZXIgfHwgbGFzdCA/IDAgOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGRyb3Bkb3duLWl0ZW0tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0U2lkZUljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duT3B0aW9uQ2xpY2sob3B0aW9uLCBvcHRpb25JbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS0wIHRleHQtc2l6ZS0xNCB0ZXh0LWNvbG9yLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhLWZvbnQtYm9sZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy50aXRsZU9wdGlvbmFsQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uPy50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8IG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tb3B0aW9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy5zdmdDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuc2hvd01vcmVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0LnB4JzogMTgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW5uZXIgRHJvcGRvd24gLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBpbm5lci1kcm9wZG93bi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJEcm9wZG93bk9wdGlvbiBvZiBvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9ICRpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlubmVyRHJvcGRvd25PcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDAgZHJvcGRvd24taXRlbS1vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyRHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgdGV4dC1zaXplLTE0IHRleHQtY29sb3Itd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5uZXJEcm9wZG93bk9wdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9jYS1kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLFFBQVE7QUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakQsYUFBYTtBQUNiLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUEwQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDO1FBbEJTLFNBQUksR0FBcUIsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1FBQy9ELFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDckQscUJB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Q1YsWUFBWSxpTkFDWixvQkFBb0IsZ09BQ3BCLFNBQVM7Z0JBRVQsYUFBYTtnQkFDYix1QkFBdUI7Z0JBRXZCLFFBQVE7Z0JBQ1IsOEJBQThCOzs0RkFHekIsdUJBQXVCO2tCQWxCbkMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBRVQsYUFBYTt3QkFDYix1QkFBdUI7d0JBRXZCLFFBQVE7d0JBQ1IsOEJBQThCO3FCQUNqQzt3REFHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IE5nYk1vZHVsZSwgTmdiUG9wb3ZlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gZW51bXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcblxuLy8gc3ZnIHJvdXRlc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51U3ZnUm91dGVzIH0gZnJvbSAnLi91dGlscy9zdmctcm91dGVzJztcblxuLy8gcGlwZXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVBsYWNlbWVudENsYXNzUGlwZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9waXBlcyc7XG5cbi8vIHR5cGVzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51SXRlbSwgRHJvcGRvd25NZW51T3B0aW9uRW1pdCB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYS1kcm9wZG93bi1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBtb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcblxuICAgICAgICAvLyBjb21wb25lbnRzXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuXG4gICAgICAgIC8vIHBpcGVzXG4gICAgICAgIERyb3Bkb3duTWVudVBsYWNlbWVudENsYXNzUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYURyb3Bkb3duTWVudUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdHlwZTogRHJvcGRvd25NZW51VHlwZSA9IERyb3Bkb3duTWVudVN0cmluZ0VudW0uRE9UU19NRU5VX1RZUEU7XG4gICAgQElucHV0KCkgb3B0aW9uczogRHJvcGRvd25NZW51SXRlbVtdID0gW107XG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgPSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLlJJR0hUX1RPUDtcbiAgICBASW5wdXQoKSBpc0RhcmtCYWNrZ3JvdW5kPzogYm9vbGVhbiA9IGZhbHNlOyAvLyBkcm9wZG93biBtZW51IG9uIGRhcmsgYmFja2dyb3VuZFxuICAgIEBJbnB1dCgpIGlzTGVmdFNpZGVJY29uUG9zaXRpb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0PzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGRyb3Bkb3duT3B0aW9uRW1pdHRlcjogRXZlbnRFbWl0dGVyPERyb3Bkb3duTWVudU9wdGlvbkVtaXQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bk1lbnVPcHRpb25FbWl0PigpO1xuXG4gICAgcHVibGljIGRyb3Bkb3duTWVudVN2Z1JvdXRlcyA9IERyb3Bkb3duTWVudVN2Z1JvdXRlcztcbiAgICBwdWJsaWMgZHJvcGRvd25NZW51U3RyaW5nRW51bSA9IERyb3Bkb3duTWVudVN0cmluZ0VudW07XG5cbiAgICBwdWJsaWMgZHJvcGRvd25Qb3BvdmVyOiBOZ2JQb3BvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4OiBudW1iZXIgPSAtMTtcbiAgICBwdWJsaWMgaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIGdldCBpc0Ryb3Bkb3duTWVudUFjdGl2ZSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Qb3BvdmVyPy5pc09wZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgb3B0aW9uOiBEcm9wZG93bk1lbnVJdGVtLFxuICAgICAgICBvcHRpb25JbmRleDogbnVtYmVyID0gLTFcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCwgdHlwZSwgaW5uZXJEcm9wZG93bkNvbnRlbnQsIGlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtIH0gPVxuICAgICAgICAgICAgb3B0aW9uO1xuXG4gICAgICAgIC8vIGlubmVyIGRyb3Bkb3duIG9wdGlvbiBjbGlja1xuICAgICAgICBpZiAoISFpbm5lckRyb3Bkb3duQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPVxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4ID09PSBvcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICA/IC0xXG4gICAgICAgICAgICAgICAgICAgIDogb3B0aW9uSW5kZXg7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNlbGVjdCBkcm9wZG93biBhY3Rpb24gb3B0aW9uIGNsaWNrXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5TRUxFQ1RfTUVOVV9UWVBFICYmXG4gICAgICAgICAgICBpc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgIXRoaXMuaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZDtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlZ3VsYXIgZHJvcGRvd24gb3B0aW9uIGNsaWNrIC0gZW1pdCBpZCBpZiB0eXBlIGlzIG5vdCBwcmVzZW50IChzZWxlY3QgbWVudSBzaW1wbGUgaXRlbXMpXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25FbWl0dGVyLmVtaXQodHlwZSA/IHsgdHlwZSB9IDogeyBpZCB9KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnR5cGUgIT09IERyb3Bkb3duTWVudVN0cmluZ0VudW0uU0VMRUNUX01FTlVfVFlQRSB8fFxuICAgICAgICAgICAgIWlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPSAtMTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXI/LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRHJvcGRvd25PcGVuQ2xvc2VDbGljayhkcm9wZG93blBvcG92ZXI6IE5nYlBvcG92ZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPSAtMTtcblxuICAgICAgICBpZiAoZHJvcGRvd25Qb3BvdmVyLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBkcm9wZG93blBvcG92ZXIuY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkNMT1NFLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBkcm9wZG93blBvcG92ZXI7XG5cbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyLm9wZW4oKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJvcGRvd25NZW51U3RyaW5nRW51bS5PUEVOLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBkcm9wZG93bi1tZW51LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIHR5cGUgfCBkcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzczogaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0ISA6IHBsYWNlbWVudFxuICAgIFwiXG4+XG4gICAgPCEtLSBJY29uIC0tPlxuXG4gICAgPGRpdlxuICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgIFttYWluQ2FUb29sdGlwXT1cIidNb3JlJ1wiXG4gICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGRyb3Bkb3duUG9wb3Zlci5pc09wZW4oKSxcbiAgICAgICAgICAgICAgICAnZGFyay1iYWNrZ3JvdW5kJzogaXNEYXJrQmFja2dyb3VuZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgI2Ryb3Bkb3duUG9wb3Zlcj1cIm5nYlBvcG92ZXJcIlxuICAgICAgICAgICAgdHJpZ2dlcnM9XCInbWFudWFsJ1wiXG4gICAgICAgICAgICBbbmdiUG9wb3Zlcl09XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxuICAgICAgICAgICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURyb3Bkb3duT3BlbkNsb3NlQ2xpY2soZHJvcGRvd25Qb3BvdmVyKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gZHJvcGRvd25NZW51U3RyaW5nRW51bS5ET1RTX01FTlVfVFlQRVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuZG90c0Ryb3Bkb3duSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuaGFtYnVyZ2VyRHJvcGRvd25JY29uXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodC5weCc6IDE4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEcm9wZG93biAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb25JbmRleCA9ICRpbmRleCxcbiAgICAgICAgICAgICAgICBsYXN0ID0gJGxhc3Q7XG4gICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uSW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdoYXMtYm9yZGVyJzogb3B0aW9uPy5oYXNCb3JkZXIgJiYgIWxhc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uPy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tbGVmdCc6IGlzTGVmdFNpZGVJY29uUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbm5lci1kcm9wZG93bi1pdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09IGFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5oYXNCb3JkZXIgfHwgbGFzdCA/IDAgOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGRyb3Bkb3duLWl0ZW0tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0U2lkZUljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duT3B0aW9uQ2xpY2sob3B0aW9uLCBvcHRpb25JbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS0wIHRleHQtc2l6ZS0xNCB0ZXh0LWNvbG9yLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhLWZvbnQtYm9sZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy50aXRsZU9wdGlvbmFsQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uPy50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8IG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tb3B0aW9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy5zdmdDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuc2hvd01vcmVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0LnB4JzogMTgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW5uZXIgRHJvcGRvd24gLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBpbm5lci1kcm9wZG93bi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJEcm9wZG93bk9wdGlvbiBvZiBvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9ICRpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlubmVyRHJvcGRvd25PcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDAgZHJvcGRvd24taXRlbS1vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyRHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgdGV4dC1zaXplLTE0IHRleHQtY29sb3Itd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5uZXJEcm9wZG93bk9wdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1vcHRpb24tZW1pdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWRyb3Bkb3duLW1lbnUvbW9kZWxzL2Ryb3Bkb3duLW1lbnUtb3B0aW9uLWVtaXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25NZW51T3B0aW9uRW1pdCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './dropdown-menu-item.model';
|
|
2
|
-
export * from './dropdown-option-emit.model';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export * from './dropdown-menu-option-emit.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtb3B0aW9uLWVtaXQubW9kZWwnO1xuIl19
|