ontimize-web-ngx 15.0.0-beta.2 → 15.0.0-beta.4

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.
Files changed (41) hide show
  1. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +2 -2
  2. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +3 -3
  3. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +3 -3
  4. package/esm2020/lib/components/grid/o-grid.component.mjs +5 -5
  5. package/esm2020/lib/components/input/combo/o-combo.component.mjs +2 -2
  6. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +3 -11
  7. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +3 -3
  8. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +2 -2
  9. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +2 -2
  10. package/esm2020/lib/components/list/o-list.component.mjs +5 -14
  11. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +3 -3
  12. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +3 -3
  13. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +3 -3
  14. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +2 -2
  15. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +3 -3
  16. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +3 -3
  17. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +3 -3
  18. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +3 -3
  19. package/esm2020/lib/components/table/o-table.component.mjs +8 -8
  20. package/esm2020/lib/i18n/i18n.mjs +2 -2
  21. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +2 -2
  22. package/esm2020/lib/services/local-storage.service.mjs +5 -2
  23. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +3 -3
  24. package/esm2020/lib/util/currencyUtil.mjs +53 -0
  25. package/esm2020/lib/util/index.mjs +2 -1
  26. package/fesm2015/ontimize-web-ngx.mjs +109 -70
  27. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  28. package/fesm2020/ontimize-web-ngx.mjs +108 -70
  29. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  30. package/lib/components/input/currency-input/o-currency-input.component.d.ts +7 -0
  31. package/lib/components/list/o-list.component.d.ts +1 -3
  32. package/lib/util/currencyUtil.d.ts +41 -0
  33. package/lib/util/index.d.ts +1 -0
  34. package/ontimize.scss +2 -72
  35. package/package.json +1 -1
  36. package/theme.scss +147 -163
  37. package/theming/addons/report-on-demand.scss +5 -1
  38. package/theming/ontimize-style-v8.scss +3 -2
  39. package/theming/styles/density.scss +52 -23
  40. package/theming/styles/ontimize-v8/o-form-field-style.scss +3 -2
  41. package/theming/styles/ontimize-v8/o-table-style.scss +1 -1
@@ -44,10 +44,10 @@ export class OLoadFilterDialogComponent {
44
44
  }
45
45
  }
46
46
  OLoadFilterDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OLoadFilterDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
47
- OLoadFilterDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OLoadFilterDialogComponent, selector: "o-load-filter-dialog", viewQueries: [{ propertyName: "filterList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList dense class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemTitle>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ OLoadFilterDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OLoadFilterDialogComponent, selector: "o-load-filter-dialog", viewQueries: [{ propertyName: "filterList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemLine>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OLoadFilterDialogComponent, decorators: [{
49
49
  type: Component,
50
- args: [{ selector: 'o-load-filter-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList dense class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemTitle>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\n" }]
50
+ args: [{ selector: 'o-load-filter-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemLine>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\n" }]
51
51
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
52
52
  type: Inject,
53
53
  args: [MAT_DIALOG_DATA]
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
55
55
  type: ViewChild,
56
56
  args: [MatSelectionList, { static: true }]
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1sb2FkLWZpbHRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2ZpbHRlci9sb2FkLWZpbHRlci9vLWxvYWQtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZmlsdGVyL2xvYWQtZmlsdGVyL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBR1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNTLFNBQW1ELEVBQ2pDLElBQTJCLEVBQzFDLFFBQWtCO1FBRnJCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBRWhELGFBQVEsR0FBUixRQUFRLENBQVU7UUFWOUIsWUFBTyxHQUEwQixFQUFFLENBQUM7UUFFcEMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVWxELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsYUFBb0MsQ0FBQyxDQUFDO1FBQzVGLElBQUk7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQixpQkFBNEMsQ0FBQyxDQUFDO1NBQzlGO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FFWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBOEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEYsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQTdDVSwwQkFBMEIsOENBYTNCLGVBQWU7MkdBYmQsMEJBQTBCLHdHQUUxQixnQkFBZ0IsOERDekI3QixpK0NBd0JBOzJGRERhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs7MEJBZTVDLE1BQU07MkJBQUMsZUFBZTttRUFYc0IsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUZpbHRlcnNTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1zdGF0dXMudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tbG9hZC1maWx0ZXItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT0xvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IHRydWUgfSkgZmlsdGVyTGlzdDogTWF0U2VsZWN0aW9uTGlzdDtcblxuICBmaWx0ZXJzOiBPVGFibGVGaWx0ZXJzU3RhdHVzW10gPSBbXTtcblxuICBvbkRlbGV0ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YTogT1RhYmxlRmlsdGVyc1N0YXR1c1tdLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5sb2FkRmlsdGVycyhkYXRhKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxEaWFsb2dTZXJ2aWNlPihEaWFsb2dTZXJ2aWNlIGFzIFR5cGU8RGlhbG9nU2VydmljZT4pO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmNkID0gdGhpcy5pbmplY3Rvci5nZXQ8Q2hhbmdlRGV0ZWN0b3JSZWY+KENoYW5nZURldGVjdG9yUmVmIGFzIFR5cGU8Q2hhbmdlRGV0ZWN0b3JSZWY+KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBubyBwYXJlbnQgZm9ybVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMgPSBuZXcgU2VsZWN0aW9uTW9kZWw8TWF0TGlzdE9wdGlvbj4oZmFsc2UpO1xuICB9XG5cbiAgbG9hZEZpbHRlcnMoZmlsdGVyczogT1RhYmxlRmlsdGVyc1N0YXR1c1tdKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmlsdGVyTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBNYXRMaXN0T3B0aW9uW10gPSB0aGlzLmZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIHJldHVybiBzZWxlY3RlZC5sZW5ndGggPyBzZWxlY3RlZFswXS52YWx1ZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHJlbW92ZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybSgnQ09ORklSTScsICdUQUJMRS5ESUFMT0cuQ09ORklSTV9SRU1PVkVfRklMVEVSJykudGhlbihyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLm9uRGVsZXRlLmVtaXQoZmlsdGVyTmFtZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuRklMVEVSX0xPQUQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgPGRpdiBtYXQtc3ViaGVhZGVyPnt7ICdUQUJMRS5ESUFMT0cuTE9BRF9GSUxURVInIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LXNlbGVjdGlvbi1saXN0ICNmaWx0ZXJMaXN0IGRlbnNlIGNsYXNzPVwiby10YWJsZS1sb2FkLWZpbHRlci1kaWFsb2ctbGlzdFwiPlxuICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXJzIFwiIFt2YWx1ZV09XCJmaWx0ZXIubmFtZVwiIGNoZWNrYm94UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJvLXRhYmxlLWxvYWQtZmlsdGVyLWRpYWxvZy1saXN0LXRpdGxlXCI+e3sgZmlsdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7IGZpbHRlci5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImZpbHRlcnMubGVuZ3RoID09PSAwXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImVtcHR5LWZpbHRlci1saXN0XCI+e3sgJ1RBQkxFLkRJQUxPRy5FTVBUWV9GSUxURVJfTElTVCcgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW2Rpc2FibGVkXT1cImZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aCE9PTFcIlxuICAgIChjbGljayk9XCJyZW1vdmVGaWx0ZXIoZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWRbMF0udmFsdWUpXCIgY2xhc3M9XCJvLWJ1dHRvbi1kYW5nZXJcIj57eyAnREVMRVRFJyB8IG9UcmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJmaWx0ZXJMaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5sZW5ndGghPT0xXCJcbiAgICBjbGFzcz1cIm8tYnV0dG9uLXByaW1hcnlcIj5cbiAgICB7eydUQUJMRS5CVVRUT05TLkFQUExZJyB8IG9UcmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1sb2FkLWZpbHRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2ZpbHRlci9sb2FkLWZpbHRlci9vLWxvYWQtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZmlsdGVyL2xvYWQtZmlsdGVyL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBR1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNTLFNBQW1ELEVBQ2pDLElBQTJCLEVBQzFDLFFBQWtCO1FBRnJCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBRWhELGFBQVEsR0FBUixRQUFRLENBQVU7UUFWOUIsWUFBTyxHQUEwQixFQUFFLENBQUM7UUFFcEMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVWxELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsYUFBb0MsQ0FBQyxDQUFDO1FBQzVGLElBQUk7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQixpQkFBNEMsQ0FBQyxDQUFDO1NBQzlGO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FFWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBOEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEYsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQTdDVSwwQkFBMEIsOENBYTNCLGVBQWU7MkdBYmQsMEJBQTBCLHdHQUUxQixnQkFBZ0IsOERDekI3QiwwOUNBd0JBOzJGRERhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs7MEJBZTVDLE1BQU07MkJBQUMsZUFBZTttRUFYc0IsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUZpbHRlcnNTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1zdGF0dXMudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tbG9hZC1maWx0ZXItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT0xvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IHRydWUgfSkgZmlsdGVyTGlzdDogTWF0U2VsZWN0aW9uTGlzdDtcblxuICBmaWx0ZXJzOiBPVGFibGVGaWx0ZXJzU3RhdHVzW10gPSBbXTtcblxuICBvbkRlbGV0ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YTogT1RhYmxlRmlsdGVyc1N0YXR1c1tdLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5sb2FkRmlsdGVycyhkYXRhKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxEaWFsb2dTZXJ2aWNlPihEaWFsb2dTZXJ2aWNlIGFzIFR5cGU8RGlhbG9nU2VydmljZT4pO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmNkID0gdGhpcy5pbmplY3Rvci5nZXQ8Q2hhbmdlRGV0ZWN0b3JSZWY+KENoYW5nZURldGVjdG9yUmVmIGFzIFR5cGU8Q2hhbmdlRGV0ZWN0b3JSZWY+KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBubyBwYXJlbnQgZm9ybVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMgPSBuZXcgU2VsZWN0aW9uTW9kZWw8TWF0TGlzdE9wdGlvbj4oZmFsc2UpO1xuICB9XG5cbiAgbG9hZEZpbHRlcnMoZmlsdGVyczogT1RhYmxlRmlsdGVyc1N0YXR1c1tdKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmlsdGVyTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBNYXRMaXN0T3B0aW9uW10gPSB0aGlzLmZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIHJldHVybiBzZWxlY3RlZC5sZW5ndGggPyBzZWxlY3RlZFswXS52YWx1ZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHJlbW92ZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybSgnQ09ORklSTScsICdUQUJMRS5ESUFMT0cuQ09ORklSTV9SRU1PVkVfRklMVEVSJykudGhlbihyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLm9uRGVsZXRlLmVtaXQoZmlsdGVyTmFtZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuRklMVEVSX0xPQUQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgPGRpdiBtYXQtc3ViaGVhZGVyPnt7ICdUQUJMRS5ESUFMT0cuTE9BRF9GSUxURVInIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LXNlbGVjdGlvbi1saXN0ICNmaWx0ZXJMaXN0IGNsYXNzPVwiby10YWJsZS1sb2FkLWZpbHRlci1kaWFsb2ctbGlzdFwiPlxuICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXJzIFwiIFt2YWx1ZV09XCJmaWx0ZXIubmFtZVwiIGNoZWNrYm94UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJvLXRhYmxlLWxvYWQtZmlsdGVyLWRpYWxvZy1saXN0LXRpdGxlXCI+e3sgZmlsdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmU+e3sgZmlsdGVyLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZW1wdHktZmlsdGVyLWxpc3RcIj57eyAnVEFCTEUuRElBTE9HLkVNUFRZX0ZJTFRFUl9MSVNUJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoIT09MVwiXG4gICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXJMaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZFswXS52YWx1ZSlcIiBjbGFzcz1cIm8tYnV0dG9uLWRhbmdlclwiPnt7ICdERUxFVEUnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZmFsc2VcIiBjbGFzcz1cIm8tYnV0dG9uLWRlZmF1bHQgY2FuY2VsXCI+e3sgJ0NBTkNFTCcgfCBvVHJhbnNsYXRlIH19PC9idXR0b24+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aCE9PTFcIlxuICAgIGNsYXNzPVwiby1idXR0b24tcHJpbWFyeVwiPlxuICAgIHt7J1RBQkxFLkJVVFRPTlMuQVBQTFknIHwgb1RyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
@@ -0,0 +1,53 @@
1
+ export class CurrencyUtil {
2
+ static getCurrencyCode(language) {
3
+ const code = this.languageToCurrencyCode[language];
4
+ if (code) {
5
+ return code;
6
+ }
7
+ else {
8
+ return 'EUR';
9
+ }
10
+ }
11
+ static getCurrencyCodeFromSymbol(symbol) {
12
+ const currencyCode = Object.keys(this.currencyCodeToSymbol).find(code => this.currencyCodeToSymbol[code] === symbol);
13
+ return currencyCode;
14
+ }
15
+ }
16
+ CurrencyUtil.languageToCurrencyCode = {
17
+ 'es': 'EUR',
18
+ 'en': 'USD',
19
+ 'pt': 'BRL',
20
+ 'fr': 'EUR',
21
+ 'de': 'EUR',
22
+ 'it': 'EUR',
23
+ 'ja': 'JPY',
24
+ 'zh': 'CNY',
25
+ 'ru': 'RUB',
26
+ 'ar': 'AED',
27
+ 'cr': 'CRC',
28
+ 'ng': 'NGN',
29
+ 'ph': 'PHP',
30
+ 'pl': 'PLN',
31
+ 'py': 'PYG',
32
+ 'th': 'THB',
33
+ 'ua': 'UAH',
34
+ 'vn': 'VND',
35
+ };
36
+ CurrencyUtil.currencyCodeToSymbol = {
37
+ EUR: '€',
38
+ USD: '$',
39
+ BRL: 'R$',
40
+ JPY: '¥',
41
+ CNY: '¥',
42
+ RUB: '₽',
43
+ AED: 'د.إ',
44
+ CRC: '₡',
45
+ NGN: '₦',
46
+ PHP: '₱',
47
+ PLN: 'zł',
48
+ PYG: '₲',
49
+ THB: '฿',
50
+ UAH: '₴',
51
+ VND: '₫',
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3lVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3V0aWwvY3VycmVuY3lVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBeUN2QixNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWdCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLHlCQUF5QixDQUFDLE1BQWM7UUFDN0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FDbkQsQ0FBQztRQUVGLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7O0FBckRNLG1DQUFzQixHQUFHO0lBQzlCLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztDQUNaLENBQUM7QUFFSyxpQ0FBb0IsR0FBRztJQUM1QixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7Q0FDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEN1cnJlbmN5VXRpbCB7XG5cbiAgc3RhdGljIGxhbmd1YWdlVG9DdXJyZW5jeUNvZGUgPSB7XG4gICAgJ2VzJzogJ0VVUicsIC8vIFNwYW5pc2hcbiAgICAnZW4nOiAnVVNEJywgLy8gRW5nbGlzaFxuICAgICdwdCc6ICdCUkwnLCAvLyBQb3J0dWd1ZXNlXG4gICAgJ2ZyJzogJ0VVUicsIC8vIEZyZW5jaFxuICAgICdkZSc6ICdFVVInLCAvLyBHZXJtYW5cbiAgICAnaXQnOiAnRVVSJywgLy8gSXRhbGlhblxuICAgICdqYSc6ICdKUFknLCAvLyBKYXBhbmVzZVxuICAgICd6aCc6ICdDTlknLCAvLyBDaGluZXNlXG4gICAgJ3J1JzogJ1JVQicsIC8vIFJ1c3NpYW5cbiAgICAnYXInOiAnQUVEJywgLy8gQXJhYmljXG4gICAgJ2NyJzogJ0NSQycsIC8vIENvc3RhIFJpY2FuIENvbMOzblxuICAgICduZyc6ICdOR04nLCAvLyBOaWdlcmlhbiBOYWlyYVxuICAgICdwaCc6ICdQSFAnLCAvLyBQaGlsaXBwaW5lIFBlc29cbiAgICAncGwnOiAnUExOJywgLy8gUG9saXNoIFpsb3R5XG4gICAgJ3B5JzogJ1BZRycsIC8vIFBhcmFndWF5YW4gR3VhcmFuaVxuICAgICd0aCc6ICdUSEInLCAvLyBUaGFpIEJhaHRcbiAgICAndWEnOiAnVUFIJywgLy8gVWtyYWluaWFuIEhyeXZuaWFcbiAgICAndm4nOiAnVk5EJywgLy8gVmlldG5hbWVzZSBEb25nXG4gIH07XG5cbiAgc3RhdGljIGN1cnJlbmN5Q29kZVRvU3ltYm9sID0ge1xuICAgIEVVUjogJ+KCrCcsICAgICAvLyBFdXJvXG4gICAgVVNEOiAnJCcsICAgICAvLyBVUyBEb2xsYXJcbiAgICBCUkw6ICdSJCcsICAgIC8vIEJyYXppbGlhbiBSZWFsXG4gICAgSlBZOiAnwqUnLCAgICAgLy8gSmFwYW5lc2UgWWVuXG4gICAgQ05ZOiAnwqUnLCAgICAgLy8gQ2hpbmVzZSBZdWFuXG4gICAgUlVCOiAn4oK9JywgICAgIC8vIFJ1c3NpYW4gUnVibGVcbiAgICBBRUQ6ICfYry7YpScsICAgLy8gVUFFIERpcmhhbVxuICAgIENSQzogJ+KCoScsICAgICAvLyBDb3N0YSBSaWNhbiBDb2zDs25cbiAgICBOR046ICfigqYnLCAgICAgLy8gTmlnZXJpYW4gTmFpcmFcbiAgICBQSFA6ICfigrEnLCAgICAgLy8gUGhpbGlwcGluZSBQZXNvXG4gICAgUExOOiAnesWCJywgICAgLy8gUG9saXNoIFpsb3R5XG4gICAgUFlHOiAn4oKyJywgICAgIC8vIFBhcmFndWF5YW4gR3VhcmFuaVxuICAgIFRIQjogJ+C4vycsICAgICAvLyBUaGFpIEJhaHRcbiAgICBVQUg6ICfigrQnLCAgICAgLy8gVWtyYWluaWFuIEhyeXZuaWFcbiAgICBWTkQ6ICfigqsnLCAgICAgLy8gVmlldG5hbWVzZSBEb25nXG4gIH07XG5cbiAgc3RhdGljIGdldEN1cnJlbmN5Q29kZShsYW5ndWFnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5sYW5ndWFnZVRvQ3VycmVuY3lDb2RlW2xhbmd1YWdlXTtcbiAgICBpZiAoY29kZSkge1xuICAgICAgcmV0dXJuIGNvZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnRVVSJztcbiAgICB9XG4gIH1cbiAgc3RhdGljIGdldEN1cnJlbmN5Q29kZUZyb21TeW1ib2woc3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGN1cnJlbmN5Q29kZSA9IE9iamVjdC5rZXlzKHRoaXMuY3VycmVuY3lDb2RlVG9TeW1ib2wpLmZpbmQoXG4gICAgICBjb2RlID0+IHRoaXMuY3VycmVuY3lDb2RlVG9TeW1ib2xbY29kZV0gPT09IHN5bWJvbFxuICAgICk7XG5cbiAgICByZXR1cm4gY3VycmVuY3lDb2RlO1xuICB9XG59Il19
@@ -6,4 +6,5 @@ export * from './util';
6
6
  export * from './codes';
7
7
  export * from './filter-expression.utils';
8
8
  export * from './service.utils';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZTY0JztcbmV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcWx0eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1leHByZXNzaW9uLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS51dGlscyc7XG4iXX0=
9
+ export * from './currencyUtil';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXN5bmMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlNjQnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NxbHR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWV4cHJlc3Npb24udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3lVdGlsJztcbiJdfQ==