@danske/sapphire-angular 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/esm2020/lib/avatar/public_api.mjs +3 -0
  2. package/esm2020/lib/avatar/src/avatar.component.mjs +53 -0
  3. package/esm2020/lib/avatar/src/avatar.module.mjs +16 -0
  4. package/esm2020/lib/badge/src/badge.component.mjs +11 -7
  5. package/esm2020/lib/button/src/button-group.component.mjs +2 -2
  6. package/esm2020/lib/button/src/button.component.mjs +19 -6
  7. package/esm2020/lib/button/src/icon-button.component.mjs +21 -8
  8. package/esm2020/lib/button/src/toggle-button.component.mjs +19 -6
  9. package/esm2020/lib/checkbox/src/checkbox-group.component.mjs +2 -2
  10. package/esm2020/lib/checkbox/src/checkbox.component.mjs +3 -3
  11. package/esm2020/lib/core.module.mjs +22 -1
  12. package/esm2020/lib/feedback-message/public_api.mjs +7 -0
  13. package/esm2020/lib/feedback-message/src/feedback-message.component.mjs +104 -0
  14. package/esm2020/lib/feedback-message/src/feedback-message.module.mjs +40 -0
  15. package/esm2020/lib/field/src/field-note.directive.mjs +18 -2
  16. package/esm2020/lib/field/src/field.component.mjs +33 -15
  17. package/esm2020/lib/field/src/field.module.mjs +7 -3
  18. package/esm2020/lib/help-button/src/help-button.component.mjs +15 -12
  19. package/esm2020/lib/icon/public_api.mjs +2 -1
  20. package/esm2020/lib/icon/src/icon-size-provider.mjs +1 -1
  21. package/esm2020/lib/icon/src/icon.component.mjs +30 -18
  22. package/esm2020/lib/icon/src/icon.module.mjs +4 -2
  23. package/esm2020/lib/icon/src/iconRegistry.service.mjs +37 -0
  24. package/esm2020/lib/icon/src/svgSanitizer.mjs +690 -0
  25. package/esm2020/lib/label/src/label.component.mjs +3 -3
  26. package/esm2020/lib/link/src/link.component.mjs +3 -8
  27. package/esm2020/lib/list/src/list.component.mjs +2 -2
  28. package/esm2020/lib/listbox/src/listbox-item.component.mjs +15 -15
  29. package/esm2020/lib/listbox/src/listbox.component.mjs +7 -10
  30. package/esm2020/lib/menu/src/menu-item.component.mjs +3 -3
  31. package/esm2020/lib/menu/src/menu.component.mjs +8 -13
  32. package/esm2020/lib/modal/public_api.mjs +2 -1
  33. package/esm2020/lib/modal/src/dialog/alert-dialog.component.mjs +111 -0
  34. package/esm2020/lib/modal/src/dialog/dialog.component.mjs +2 -2
  35. package/esm2020/lib/modal/src/layout/modal-header.component.mjs +15 -12
  36. package/esm2020/lib/modal/src/layout/modal-layout.component.mjs +2 -2
  37. package/esm2020/lib/modal/src/modal.module.mjs +27 -2
  38. package/esm2020/lib/modal/src/panel/panel.component.mjs +2 -2
  39. package/esm2020/lib/notification-badge/src/notification-badge.component.mjs +2 -2
  40. package/esm2020/lib/pagination/src/page-selection-row.component.mjs +3 -3
  41. package/esm2020/lib/pagination/src/pagination.component.mjs +16 -13
  42. package/esm2020/lib/popover/src/popover.component.mjs +2 -2
  43. package/esm2020/lib/radio/src/radio-group.component.mjs +2 -2
  44. package/esm2020/lib/radio/src/radio.component.mjs +2 -2
  45. package/esm2020/lib/radio/src/segmented/segmented-radio-group.component.mjs +2 -2
  46. package/esm2020/lib/segmented-tabs/src/segmented-tab.component.mjs +2 -2
  47. package/esm2020/lib/segmented-tabs/src/segmented-tabs.component.mjs +2 -2
  48. package/esm2020/lib/select/public_api.mjs +2 -2
  49. package/esm2020/lib/select/src/select/select.component.mjs +22 -19
  50. package/esm2020/lib/select/src/select/select.module.mjs +10 -10
  51. package/esm2020/lib/select/src/select-button/select-button.component.mjs +136 -0
  52. package/esm2020/lib/skeleton/src/skeleton.component.mjs +2 -2
  53. package/esm2020/lib/spinner/public_api.mjs +7 -0
  54. package/esm2020/lib/spinner/src/spinner.component.mjs +26 -0
  55. package/esm2020/lib/spinner/src/spinner.module.mjs +18 -0
  56. package/esm2020/lib/surface/src/surface.component.mjs +5 -3
  57. package/esm2020/lib/switch/src/switch.component.mjs +2 -2
  58. package/esm2020/lib/table/src/table-head-cell.component.mjs +16 -13
  59. package/esm2020/lib/table/src/table.component.mjs +2 -2
  60. package/esm2020/lib/text-field/src/text-field.component.mjs +2 -2
  61. package/esm2020/lib/theme/src/themes.mjs +4 -4
  62. package/esm2020/lib/tooltip/src/tooltip.component.mjs +2 -2
  63. package/esm2020/lib/typography/public_api.mjs +4 -2
  64. package/esm2020/lib/typography/src/body.component.mjs +43 -0
  65. package/esm2020/lib/typography/src/caption.component.mjs +37 -0
  66. package/esm2020/lib/typography/src/heading.component.mjs +23 -13
  67. package/esm2020/lib/typography/src/subheading.component.mjs +37 -0
  68. package/esm2020/lib/typography/src/typography.module.mjs +23 -5
  69. package/esm2020/public-api.mjs +4 -1
  70. package/fesm2015/danske-sapphire-angular.mjs +1513 -226
  71. package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
  72. package/fesm2020/danske-sapphire-angular.mjs +1513 -225
  73. package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
  74. package/lib/avatar/public_api.d.ts +2 -0
  75. package/lib/avatar/src/avatar.component.d.ts +22 -0
  76. package/lib/avatar/src/avatar.module.d.ts +7 -0
  77. package/lib/badge/src/badge.component.d.ts +3 -3
  78. package/lib/button/src/button.component.d.ts +1 -1
  79. package/lib/button/src/icon-button.component.d.ts +2 -3
  80. package/lib/core.module.d.ts +23 -20
  81. package/lib/feedback-message/public_api.d.ts +2 -0
  82. package/lib/feedback-message/src/feedback-message.component.d.ts +33 -0
  83. package/lib/feedback-message/src/feedback-message.module.d.ts +10 -0
  84. package/lib/field/src/field-note.directive.d.ts +3 -1
  85. package/lib/field/src/field.component.d.ts +2 -1
  86. package/lib/field/src/field.module.d.ts +2 -1
  87. package/lib/help-button/src/help-button.component.d.ts +2 -0
  88. package/lib/icon/public_api.d.ts +1 -0
  89. package/lib/icon/src/icon-size-provider.d.ts +1 -1
  90. package/lib/icon/src/icon.component.d.ts +16 -9
  91. package/lib/icon/src/iconRegistry.service.d.ts +14 -0
  92. package/lib/icon/src/svgSanitizer.d.ts +1 -0
  93. package/lib/link/src/link.component.d.ts +1 -2
  94. package/lib/listbox/src/listbox-item.component.d.ts +3 -3
  95. package/lib/listbox/src/listbox.component.d.ts +2 -4
  96. package/lib/menu/src/menu-item.component.d.ts +1 -1
  97. package/lib/menu/src/menu.component.d.ts +1 -2
  98. package/lib/modal/public_api.d.ts +1 -0
  99. package/lib/modal/src/dialog/alert-dialog.component.d.ts +42 -0
  100. package/lib/modal/src/layout/modal-header.component.d.ts +2 -0
  101. package/lib/modal/src/modal.module.d.ts +13 -11
  102. package/lib/pagination/src/pagination.component.d.ts +2 -0
  103. package/lib/select/public_api.d.ts +1 -1
  104. package/lib/select/src/select/select.component.d.ts +3 -2
  105. package/lib/select/src/select/select.module.d.ts +2 -2
  106. package/lib/select/src/{basic-select/basic-select.component.d.ts → select-button/select-button.component.d.ts} +12 -11
  107. package/lib/spinner/public_api.d.ts +2 -0
  108. package/lib/spinner/src/spinner.component.d.ts +14 -0
  109. package/lib/spinner/src/spinner.module.d.ts +8 -0
  110. package/lib/surface/src/surface.component.d.ts +1 -1
  111. package/lib/table/src/table-head-cell.component.d.ts +3 -2
  112. package/lib/typography/public_api.d.ts +3 -1
  113. package/lib/typography/src/body.component.d.ts +16 -0
  114. package/lib/typography/src/caption.component.d.ts +14 -0
  115. package/lib/typography/src/heading.component.d.ts +5 -3
  116. package/lib/typography/src/subheading.component.d.ts +14 -0
  117. package/lib/typography/src/typography.module.d.ts +5 -3
  118. package/package.json +5 -4
  119. package/public-api.d.ts +3 -0
  120. package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +0 -133
  121. package/esm2020/lib/typography/src/paragraph.component.mjs +0 -24
  122. package/lib/typography/src/paragraph.component.d.ts +0 -8
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, ContentChild, ContentChildren, forwardRef, Input, isDevMode, ViewChild, } from '@angular/core';
2
+ import { Component, ContentChild, ContentChildren, Injectable, Input, isDevMode, ViewChild, } from '@angular/core';
3
3
  import { FieldNoteDirective } from './field-note.directive';
4
4
  import { FieldErrorDirective } from './field-error.directive';
5
5
  import { LabelComponent } from '../../label/src/label.component';
@@ -11,11 +11,27 @@ import { FieldLabelDirective } from './field-label.directive';
11
11
  import { UseComponentStylesOnHost } from '../../common/sapphire-view-encapsulation';
12
12
  import { ICON_SIZE_PROVIDER, } from '../../icon/src/icon-size-provider';
13
13
  import { RadioGroupComponent } from '../../radio/src/radio-group.component';
14
+ import { iconWarning, iconError, iconCheckmarkOutline, } from '@danske/sapphire-icons/js';
14
15
  import * as i0 from "@angular/core";
15
- import * as i1 from "../../common/sapphire-view-encapsulation";
16
- import * as i2 from "@angular/common";
17
- import * as i3 from "@angular/cdk/portal";
18
- import * as i4 from "../../label/src/label.component";
16
+ import * as i1 from "../../icon/public_api";
17
+ import * as i2 from "../../common/sapphire-view-encapsulation";
18
+ import * as i3 from "@angular/common";
19
+ import * as i4 from "@angular/cdk/portal";
20
+ import * as i5 from "../../label/src/label.component";
21
+ import * as i6 from "../../icon/src/icon.component";
22
+ class FieldIconSizeProvider {
23
+ constructor(field) {
24
+ this.field = field;
25
+ }
26
+ get size() {
27
+ return this.field.size === 'lg' ? 'md' : 'sm';
28
+ }
29
+ }
30
+ FieldIconSizeProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldIconSizeProvider, deps: [{ token: FieldComponent }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ FieldIconSizeProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldIconSizeProvider });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldIconSizeProvider, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: FieldComponent }]; } });
19
35
  /**
20
36
  * A field is a common container for labelable controls such as select, radio group, text field,
21
37
  * etc.
@@ -39,7 +55,7 @@ import * as i4 from "../../label/src/label.component";
39
55
  * is determined based on the presence of @angular/form's {@link RequiredValidator}.
40
56
  */
41
57
  export class FieldComponent {
42
- constructor(changeDetectorRef) {
58
+ constructor(changeDetectorRef, iconRegistry) {
43
59
  this.changeDetectorRef = changeDetectorRef;
44
60
  /**
45
61
  * Label placement with respect to the form control.
@@ -57,6 +73,9 @@ export class FieldComponent {
57
73
  */
58
74
  this._noteSuffixPortal = null;
59
75
  this.changed = false;
76
+ iconRegistry.registerIcon(iconCheckmarkOutline);
77
+ iconRegistry.registerIcon(iconWarning);
78
+ iconRegistry.registerIcon(iconError);
60
79
  }
61
80
  ngAfterContentInit() {
62
81
  if (!this.controls && isDevMode()) {
@@ -136,13 +155,13 @@ export class FieldComponent {
136
155
  this.changed = true;
137
156
  }
138
157
  }
139
- FieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
140
- FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: FieldComponent, selector: "sp-field", inputs: { necessityIndicator: "necessityIndicator", labelPlacement: "labelPlacement", noDefaultWidth: "noDefaultWidth", size: "size" }, host: { properties: { "class.sapphire-field--label-placement-side": "labelPlacement === \"side\"", "class.sapphire-field--no-width": "noDefaultWidth || !controlHasDefaultWidth()", "class.sapphire-field--label-alignment-top": "labelPlacement === \"side\" && hasRadioGroupChild()", "class.sapphire-field--md": "size === \"md\"", "class.sapphire-field--error": "hasError()", "class.is-disabled": "isDisabled()" }, classAttribute: "sapphire-field" }, providers: [
158
+ FieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IconRegistry }], target: i0.ɵɵFactoryTarget.Component });
159
+ FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: FieldComponent, selector: "sp-field", inputs: { necessityIndicator: "necessityIndicator", labelPlacement: "labelPlacement", noDefaultWidth: "noDefaultWidth", size: "size" }, host: { properties: { "class.sapphire-field--label-placement-side": "labelPlacement === \"side\"", "class.sapphire-field--no-width": "noDefaultWidth || !controlHasDefaultWidth()", "class.sapphire-field--label-alignment-top": "labelPlacement === \"side\" && hasRadioGroupChild()", "class.sapphire-field--md": "size === \"md\"", "class.is-disabled": "isDisabled()" }, classAttribute: "sapphire-field" }, providers: [
141
160
  {
142
161
  provide: ICON_SIZE_PROVIDER,
143
- useExisting: forwardRef(() => FieldComponent),
162
+ useClass: FieldIconSizeProvider,
144
163
  },
145
- ], queries: [{ propertyName: "note", first: true, predicate: FieldNoteDirective, descendants: true }, { propertyName: "error", first: true, predicate: FieldErrorDirective, descendants: true }, { propertyName: "_fieldLabel", first: true, predicate: FieldLabelDirective, descendants: true }, { propertyName: "radioGroup", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "requiredValidator", first: true, predicate: RequiredValidator, descendants: true }, { propertyName: "controls", predicate: FieldControl }], viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], hostDirectives: [{ directive: i1.UseComponentStylesOnHost }], ngImport: i0, template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-help-button\"\n ngProjectAs=\"sp-help-button\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div class=\"sapphire-field__note-row\">\n <div class=\"sapphire-field__note\" *ngIf=\"error\">\n <ng-content select=\"sp-field-error\"></ng-content>\n </div>\n <div class=\"sapphire-field__note\" *ngIf=\"note && !error\">\n <ng-content select=\"sp-field-note\"></ng-content>\n </div>\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-semantic-size-spacing-20);column-gap:var(--sapphire-semantic-size-spacing-40);font-family:var(--sapphire-semantic-font-name-default);grid-auto-rows:min-content;width:var(--sapphire-semantic-size-width-control-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.sapphire-field--no-width{width:auto}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;width:100%;min-width:0}.sapphire-field__control--group{display:flex;gap:var(--sapphire-semantic-size-spacing-control-horizontal-lg)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:top;font-size:var(--sapphire-semantic-size-font-label-md);line-height:var(--sapphire-semantic-size-line-height-md);color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-field--md .sapphire-field__note-row{font-size:var(--sapphire-semantic-size-font-label-sm);line-height:var(--sapphire-semantic-size-line-height-sm)}.sapphire-field__note{flex:1}.sapphire-field--error .sapphire-field__note{color:var(--sapphire-semantic-color-content-negative-secondary-default)}.sapphire-field.is-disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto;width:auto}.sapphire-field--label-placement-side:not(.sapphire-field--no-width) .sapphire-field__control{width:var(--sapphire-semantic-size-width-control-default)}.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-semantic-size-height-input-lg)}.sapphire-field--label-placement-side.sapphire-field--md .sapphire-field__label{max-height:var(--sapphire-semantic-size-height-input-md)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.LabelComponent, selector: "sp-label", inputs: ["id", "for", "disabled", "necessityIndicator", "size"], outputs: ["labelClick"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
164
+ ], queries: [{ propertyName: "note", first: true, predicate: FieldNoteDirective, descendants: true }, { propertyName: "error", first: true, predicate: FieldErrorDirective, descendants: true }, { propertyName: "_fieldLabel", first: true, predicate: FieldLabelDirective, descendants: true }, { propertyName: "radioGroup", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "requiredValidator", first: true, predicate: RequiredValidator, descendants: true }, { propertyName: "controls", predicate: FieldControl }], viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], hostDirectives: [{ directive: i2.UseComponentStylesOnHost }], ngImport: i0, template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-help-button\"\n ngProjectAs=\"sp-help-button\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div\n class=\"sapphire-field__note-row\"\n [ngClass]=\"{\n 'sapphire-text--negative': error,\n 'sapphire-text--positive': note?.variant === 'success',\n 'sapphire-text--warning': note?.variant === 'warning'\n }\"\n >\n <span class=\"sapphire-field__note-icon\" *ngIf=\"error || note?.icon\">\n <sp-icon *ngIf=\"error\" name=\"error\" size=\"sm\"></sp-icon>\n <sp-icon\n *ngIf=\"!error || note?.icon\"\n [name]=\"note?.icon\"\n size=\"sm\"\n ></sp-icon>\n </span>\n <div class=\"sapphire-field__note\" *ngIf=\"error || note\">\n <ng-content select=\"sp-field-error\"></ng-content>\n <ng-content select=\"sp-field-note\" *ngIf=\"!error\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-semantic-size-spacing-2xs);column-gap:var(--sapphire-semantic-size-spacing-md);font-family:var(--sapphire-semantic-font-name-default);grid-auto-rows:min-content;width:var(--sapphire-semantic-size-width-field);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.sapphire-field--no-width{width:auto}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;width:100%;min-width:0;line-height:var(--sapphire-semantic-size-line-height-md);font-size:var(--sapphire-semantic-size-font-control-lg)}.sapphire-field--md .sapphire-field__control{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-field__control--group{display:flex;gap:var(--sapphire-semantic-size-spacing-control-horizontal-lg)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:flex-start;gap:var(--sapphire-semantic-size-spacing-xs);font-size:var(--sapphire-semantic-size-font-label-md);line-height:var(--sapphire-semantic-size-line-height-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-field--md .sapphire-field__note-row{font-size:var(--sapphire-semantic-size-font-label-sm)}.sapphire-field__note{flex:1}.sapphire-field__note-icon{display:inline-flex;align-items:center;height:calc(1em * var(--sapphire-semantic-size-line-height-md))}.sapphire-field.is-disabled .sapphire-field__control{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto;width:auto}.sapphire-field--label-placement-side:not(.sapphire-field--no-width) .sapphire-field__control{width:var(--sapphire-semantic-size-width-field)}.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-field--label-placement-side.sapphire-field--md .sapphire-field__label{max-height:var(--sapphire-semantic-size-height-control-md)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-semantic-size-spacing-lg)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}.sapphire-text{font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-foreground-primary);font-weight:var(--sapphire-semantic-font-weight-default-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text--strong{font-weight:var(--sapphire-semantic-font-weight-default-bold)}.sapphire-text--underlined{text-decoration:underline}.sapphire-text--secondary{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text--informative{color:var(--sapphire-semantic-color-foreground-accent)}.sapphire-text--positive{color:var(--sapphire-semantic-color-foreground-positive)}.sapphire-text--warning{color:var(--sapphire-semantic-color-foreground-warning)}.sapphire-text--negative{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text--heading-2xl,.sapphire-text--heading-xl,.sapphire-text--heading-lg,.sapphire-text--heading-md,.sapphire-text--heading-sm,.sapphire-text--heading-xs{margin-top:0;margin-bottom:0;line-height:var(--sapphire-global-size-line-height-sm);letter-spacing:-1%}.sapphire-text--heading-2xl{font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-heading-2xl)}.sapphire-text--heading-xl{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-xl)}.sapphire-text--heading-lg{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-lg)}.sapphire-text--heading-md{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-md)}.sapphire-text--heading-sm{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-sm)}.sapphire-text--heading-xs{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-xs)}.sapphire-text--subheading-md,.sapphire-text--subheading-sm{line-height:var(--sapphire-global-size-line-height-sm)}.sapphire-text--subheading-md{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--subheading-sm{font-size:var(--sapphire-semantic-size-font-body-xs)}.sapphire-text--body-lg,.sapphire-text--body-md,.sapphire-text--body-sm,.sapphire-text--body-xs{line-height:var(--sapphire-global-size-line-height-md);margin-top:0;margin-bottom:0}.sapphire-text--body-lg{font-size:var(--sapphire-semantic-size-font-body-lg)}.sapphire-text--body-md{font-size:var(--sapphire-semantic-size-font-body-md)}.sapphire-text--body-sm{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--body-xs{font-size:var(--sapphire-semantic-size-font-body-xs)}.sapphire-text--caption-md,.sapphire-text--caption-sm{font-weight:var(--sapphire-semantic-font-weight-default-bold);line-height:var(--sapphire-global-size-line-height-sm)}.sapphire-text--caption-md{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--caption-sm{font-size:var(--sapphire-semantic-size-font-body-xs)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i5.LabelComponent, selector: "sp-label", inputs: ["id", "for", "disabled", "necessityIndicator", "size"], outputs: ["labelClick"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i6.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }] });
146
165
  __decorate([
147
166
  CoerceBoolean
148
167
  ], FieldComponent.prototype, "necessityIndicator", void 0);
@@ -157,15 +176,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
157
176
  '[class.sapphire-field--no-width]': 'noDefaultWidth || !controlHasDefaultWidth()',
158
177
  '[class.sapphire-field--label-alignment-top]': 'labelPlacement === "side" && hasRadioGroupChild()',
159
178
  '[class.sapphire-field--md]': 'size === "md"',
160
- '[class.sapphire-field--error]': 'hasError()',
161
179
  '[class.is-disabled]': 'isDisabled()',
162
180
  }, hostDirectives: [UseComponentStylesOnHost], providers: [
163
181
  {
164
182
  provide: ICON_SIZE_PROVIDER,
165
- useExisting: forwardRef(() => FieldComponent),
183
+ useClass: FieldIconSizeProvider,
166
184
  },
167
- ], standalone: false, template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-help-button\"\n ngProjectAs=\"sp-help-button\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div class=\"sapphire-field__note-row\">\n <div class=\"sapphire-field__note\" *ngIf=\"error\">\n <ng-content select=\"sp-field-error\"></ng-content>\n </div>\n <div class=\"sapphire-field__note\" *ngIf=\"note && !error\">\n <ng-content select=\"sp-field-note\"></ng-content>\n </div>\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-semantic-size-spacing-20);column-gap:var(--sapphire-semantic-size-spacing-40);font-family:var(--sapphire-semantic-font-name-default);grid-auto-rows:min-content;width:var(--sapphire-semantic-size-width-control-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.sapphire-field--no-width{width:auto}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;width:100%;min-width:0}.sapphire-field__control--group{display:flex;gap:var(--sapphire-semantic-size-spacing-control-horizontal-lg)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:top;font-size:var(--sapphire-semantic-size-font-label-md);line-height:var(--sapphire-semantic-size-line-height-md);color:var(--sapphire-semantic-color-content-default-secondary)}.sapphire-field--md .sapphire-field__note-row{font-size:var(--sapphire-semantic-size-font-label-sm);line-height:var(--sapphire-semantic-size-line-height-sm)}.sapphire-field__note{flex:1}.sapphire-field--error .sapphire-field__note{color:var(--sapphire-semantic-color-content-negative-secondary-default)}.sapphire-field.is-disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto;width:auto}.sapphire-field--label-placement-side:not(.sapphire-field--no-width) .sapphire-field__control{width:var(--sapphire-semantic-size-width-control-default)}.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-semantic-size-height-input-lg)}.sapphire-field--label-placement-side.sapphire-field--md .sapphire-field__label{max-height:var(--sapphire-semantic-size-height-input-md)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-semantic-size-spacing-50)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}\n"] }]
168
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { necessityIndicator: [{
185
+ ], standalone: false, template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-help-button\"\n ngProjectAs=\"sp-help-button\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div\n class=\"sapphire-field__note-row\"\n [ngClass]=\"{\n 'sapphire-text--negative': error,\n 'sapphire-text--positive': note?.variant === 'success',\n 'sapphire-text--warning': note?.variant === 'warning'\n }\"\n >\n <span class=\"sapphire-field__note-icon\" *ngIf=\"error || note?.icon\">\n <sp-icon *ngIf=\"error\" name=\"error\" size=\"sm\"></sp-icon>\n <sp-icon\n *ngIf=\"!error || note?.icon\"\n [name]=\"note?.icon\"\n size=\"sm\"\n ></sp-icon>\n </span>\n <div class=\"sapphire-field__note\" *ngIf=\"error || note\">\n <ng-content select=\"sp-field-error\"></ng-content>\n <ng-content select=\"sp-field-note\" *ngIf=\"!error\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-semantic-size-spacing-2xs);column-gap:var(--sapphire-semantic-size-spacing-md);font-family:var(--sapphire-semantic-font-name-default);grid-auto-rows:min-content;width:var(--sapphire-semantic-size-width-field);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.sapphire-field--no-width{width:auto}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;width:100%;min-width:0;line-height:var(--sapphire-semantic-size-line-height-md);font-size:var(--sapphire-semantic-size-font-control-lg)}.sapphire-field--md .sapphire-field__control{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-field__control--group{display:flex;gap:var(--sapphire-semantic-size-spacing-control-horizontal-lg)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:flex-start;gap:var(--sapphire-semantic-size-spacing-xs);font-size:var(--sapphire-semantic-size-font-label-md);line-height:var(--sapphire-semantic-size-line-height-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-field--md .sapphire-field__note-row{font-size:var(--sapphire-semantic-size-font-label-sm)}.sapphire-field__note{flex:1}.sapphire-field__note-icon{display:inline-flex;align-items:center;height:calc(1em * var(--sapphire-semantic-size-line-height-md))}.sapphire-field.is-disabled .sapphire-field__control{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto;width:auto}.sapphire-field--label-placement-side:not(.sapphire-field--no-width) .sapphire-field__control{width:var(--sapphire-semantic-size-width-field)}.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-field--label-placement-side.sapphire-field--md .sapphire-field__label{max-height:var(--sapphire-semantic-size-height-control-md)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-semantic-size-spacing-lg)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}.sapphire-text{font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-foreground-primary);font-weight:var(--sapphire-semantic-font-weight-default-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text--strong{font-weight:var(--sapphire-semantic-font-weight-default-bold)}.sapphire-text--underlined{text-decoration:underline}.sapphire-text--secondary{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text--informative{color:var(--sapphire-semantic-color-foreground-accent)}.sapphire-text--positive{color:var(--sapphire-semantic-color-foreground-positive)}.sapphire-text--warning{color:var(--sapphire-semantic-color-foreground-warning)}.sapphire-text--negative{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text--heading-2xl,.sapphire-text--heading-xl,.sapphire-text--heading-lg,.sapphire-text--heading-md,.sapphire-text--heading-sm,.sapphire-text--heading-xs{margin-top:0;margin-bottom:0;line-height:var(--sapphire-global-size-line-height-sm);letter-spacing:-1%}.sapphire-text--heading-2xl{font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-heading-2xl)}.sapphire-text--heading-xl{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-xl)}.sapphire-text--heading-lg{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-lg)}.sapphire-text--heading-md{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-md)}.sapphire-text--heading-sm{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-sm)}.sapphire-text--heading-xs{font-weight:var(--sapphire-semantic-font-weight-default-medium);font-size:var(--sapphire-semantic-size-font-heading-xs)}.sapphire-text--subheading-md,.sapphire-text--subheading-sm{line-height:var(--sapphire-global-size-line-height-sm)}.sapphire-text--subheading-md{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--subheading-sm{font-size:var(--sapphire-semantic-size-font-body-xs)}.sapphire-text--body-lg,.sapphire-text--body-md,.sapphire-text--body-sm,.sapphire-text--body-xs{line-height:var(--sapphire-global-size-line-height-md);margin-top:0;margin-bottom:0}.sapphire-text--body-lg{font-size:var(--sapphire-semantic-size-font-body-lg)}.sapphire-text--body-md{font-size:var(--sapphire-semantic-size-font-body-md)}.sapphire-text--body-sm{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--body-xs{font-size:var(--sapphire-semantic-size-font-body-xs)}.sapphire-text--caption-md,.sapphire-text--caption-sm{font-weight:var(--sapphire-semantic-font-weight-default-bold);line-height:var(--sapphire-global-size-line-height-sm)}.sapphire-text--caption-md{font-size:var(--sapphire-semantic-size-font-body-sm)}.sapphire-text--caption-sm{font-size:var(--sapphire-semantic-size-font-body-xs)}\n"] }]
186
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.IconRegistry }]; }, propDecorators: { necessityIndicator: [{
169
187
  type: Input
170
188
  }], labelPlacement: [{
171
189
  type: Input
@@ -195,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
195
213
  type: ContentChild,
196
214
  args: [RequiredValidator, { descendants: true }]
197
215
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFFVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxrQkFBa0IsR0FFbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBRTVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUF5QkgsTUFBTSxPQUFPLGNBQWM7SUFnRXpCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENB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O3NCQURKLFlBQVk7dUJBQUMsbUJBQW1CO2dCQUlqQyxLQUFLO3NCQURKLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsV0FBVztzQkFEVixZQUFZO3VCQUFDLG1CQUFtQjtnQkFRakMsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLFlBQVk7Z0JBSTdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBSXpCLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYWJlbC9zcmMvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRDb250cm9sIH0gZnJvbSAnLi9maWVsZC1jb250cm9sJztcbmltcG9ydCB7IEZpZWxkTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLWxhYmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHtcbiAgSUNPTl9TSVpFX1BST1ZJREVSLFxuICBJY29uU2l6ZVByb3ZpZGVyLFxufSBmcm9tICcuLi8uLi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JhZGlvL3NyYy9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEEgZmllbGQgaXMgYSBjb21tb24gY29udGFpbmVyIGZvciBsYWJlbGFibGUgY29udHJvbHMgc3VjaCBhcyBzZWxlY3QsIHJhZGlvIGdyb3VwLCB0ZXh0IGZpZWxkLFxuICogZXRjLlxuICogSW4gYWRkaXRpb24gdG8gdGhlIGZpZWxkIGNvbnRyb2wgKHNwLXNlbGVjdCwgc3AtcmFkaW8tZ3JvdXAsIHNwLXRleHQtZmllbGQpLCB0aGUgZm9sbG93aW5nXG4gKiBjb21wb25lbnRzIGNhbiBiZSB1c2VkIGluc2lkZSBhIGZpZWxkOlxuICogLSBzcC1maWVsZC1sYWJlbDogaXMgdXNlZCB0byBwcm92aWRlIHRoZSBsYWJlbCB0ZXh0IGZvciB0aGUgZmllbGQuXG4gKiAtIHNwLWhlbHAtYnV0dG9uOiBpcyBwbGFjZWQgaW4gdGhlIGxhYmVsIGFyZWEsIG5leHQgdG8gdGhlIGxhYmVsIHRleHRcbiAqIC0gc3AtZmllbGQtZXJyb3I6IGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBlcnJvciBtZXNzYWdlLCB3aGljaCBpcyBwbGFjZWQgYmVsb3cgdGhlIGZpZWxkJ3NcbiAqIGNvbnRyb2wuXG4gKiAtIHNwLWZpZWxkLW5vdGU6IGlzIHVzZWQgdG8gcHJvdmlkZSBhIG5vdGUsIHdoaWNoIGlzIHBsYWNlZCBiZWxvdyB0aGUgZmllbGQncyBjb250cm9sLiBPbmx5XG4gKiBzaG93blxuICogICB3aGVuIHRoZXJlIGlzIG5vIGVycm9yXG4gKiAtIHNwLWZpZWxkLW5vdGUtc3VmZml4OiBpcyB1c2VkIHRvIHByb3ZpZGUgYSBzdWZmaXgsIHdoaWNoIGlzIHBsYWNlZCBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGVcbiAqIG5vdGUgYXJlYS5cbiAqXG4gKiBBZGRpdGlvbmFsbHksIGZpZWxkIHN1cHBvcnRzOlxuICogLSBMYWJlbCBwbGFjZW1lbnQgZWl0aGVyIGFib3ZlIChkZWZhdWx0KSBvciBvbiB0aGUgc2lkZSBvZiB0aGUgY29udHJvbC5cbiAqIC0gQXNzb2NpYXRpbmcgbGFiZWwgd2l0aCB0aGUgY29udHJvbCwgc28gdGhhdCBjbGlja2luZyB0aGUgbGFiZWwgZm9jdXNlcyB0aGUgY29udHJvbCwgc2hvd2luZ1xuICogICBmb2N1cyByaW5nLlxuICogLSBPcHRpb25hbGx5IHNob3dpbmcgbmVjZXNzaXR5IGluZGljYXRvciBpbiB0aGUgbGFiZWwuIEZpZWxkcyBuZWNlc3NpdHkgKHJlcXVpcmVkIG9yIG9wdGlvbmFsKVxuICogICBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBwcmVzZW5jZSBvZiBAYW5ndWxhci9mb3JtJ3Mge0BsaW5rIFJlcXVpcmVkVmFsaWRhdG9yfS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdzYXBwaGlyZS1maWVsZCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1maWVsZC0tbGFiZWwtcGxhY2VtZW50LXNpZGVdJzogJ2xhYmVsUGxhY2VtZW50ID09PSBcInNpZGVcIicsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1maWVsZC0tbm8td2lkdGhdJzpcbiAgICAgICdub0RlZmF1bHRXaWR0aCB8fCAhY29udHJvbEhhc0RlZmF1bHRXaWR0aCgpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1sYWJlbC1hbGlnbm1lbnQtdG9wXSc6XG4gICAgICAnbGFiZWxQbGFjZW1lbnQgPT09IFwic2lkZVwiICYmIGhhc1JhZGlvR3JvdXBDaGlsZCgpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1tZF0nOiAnc2l6ZSA9PT0gXCJtZFwiJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1lcnJvcl0nOiAnaGFzRXJyb3IoKScsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCgpJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtVc2VDb21wb25lbnRTdHlsZXNPbkhvc3RdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBJQ09OX1NJWkVfUFJPVklERVIsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWVsZENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgSWNvblNpemVQcm92aWRlclxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbmVjZXNzaXR5IGluZGljYXRvciBzaG91bGQgYmUgdmlzaWJsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5lY2Vzc2l0eUluZGljYXRvcj86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogTGFiZWwgcGxhY2VtZW50IHdpdGggcmVzcGVjdCB0byB0aGUgZm9ybSBjb250cm9sLlxuICAgKiBAZGVmYXVsdCBcImFib3ZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGxhYmVsUGxhY2VtZW50PzogJ3NpZGUnIHwgJ2Fib3ZlJyA9ICdhYm92ZSc7XG5cbiAgLyoqXG4gICAqIEF2b2lkIHRoZSBkZWZhdWx0IHdpZHRoXG4gICAqL1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBub0RlZmF1bHRXaWR0aD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogQGRlZmF1bHQgXCJsZ1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBzaXplPzogJ2xnJyB8ICdtZCcgPSAnbGcnO1xuXG4gIEBDb250ZW50Q2hpbGQoRmllbGROb3RlRGlyZWN0aXZlKVxuICBub3RlPzogRmllbGROb3RlRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoRmllbGRFcnJvckRpcmVjdGl2ZSlcbiAgZXJyb3I/OiBGaWVsZEVycm9yRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoTGFiZWxDb21wb25lbnQpXG4gIGxhYmVsPzogTGFiZWxDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChGaWVsZExhYmVsRGlyZWN0aXZlKVxuICBfZmllbGRMYWJlbD86IEZpZWxkTGFiZWxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIEZvY3VzYWJsZSwgbGFiZWxhYmxlIGNvbnRyb2wuIENvbXBvbmVudHMgbGlrZSBTZWxlY3QsIFJhZGlvR3JvdXAgb3IgVGV4dEZpZWxkLFxuICAgKiB0aGF0IGFyZSBtZWFudCB0byByZW5kZXJlZCBpbnNpZGUgc3AtZmllbGQsIHByb3ZpZGUgRmllbGRDb250cm9sLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihGaWVsZENvbnRyb2wpXG4gIGNvbnRyb2xzPzogUXVlcnlMaXN0PEZpZWxkQ29udHJvbD47XG5cbiAgQENvbnRlbnRDaGlsZChSYWRpb0dyb3VwQ29tcG9uZW50KVxuICByYWRpb0dyb3VwPzogUmFkaW9Hcm91cENvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKFJlcXVpcmVkVmFsaWRhdG9yLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVxdWlyZWRWYWxpZGF0b3I/OiBSZXF1aXJlZFZhbGlkYXRvcjtcblxuICAvKipcbiAgICogSXMgc2V0IHZpYSBmaWVsZC1ub3RlLWFmZml4IGRpcmVjdGl2ZS4gQ29udGVudENoaWxkIHF1ZXJ5IGNhbid0IGJlIHVzZWQgc2luY2Ugd2UgbmVlZFxuICAgKiB0byBxdWVyeSBmcm9tIGNvbnRlbnQgLT4gdmlldyBpbiBzb21lIGNhc2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9ub3RlU3VmZml4UG9ydGFsOiBEb21Qb3J0YWw8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5jb250cm9scyAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnc3AtZmllbGQgaXMgcmVuZGVyZWQgd2l0aG91dCBhbnkgY29udHJvbCBsaWtlIHNwLXNlbGVjdCwgc3AtdGV4dC1maWVsZCwgb3Igc3AtcmFkaW8tZ3JvdXAgaW5zaWRlIGl0LidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIC8qKlxuICAgICAqIFNpbmNlIG5vdGUgc3VmZml4IHBvcnRhbCBpcyBjaGFuZ2VkIGJ5IEZpZWxkTm90ZVN1ZmZpeERpcmVjdGl2ZSxcbiAgICAgKiBpdCBjcmVhdGVzIGEgY2FzZSBvZiBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgICAqIFNvIHdlIG5lZWQgdG8gbWFudWFsbHkgZGV0ZWN0IGNoYW5nZXMgd2hlbiBzdWZmaXggcG9ydGFsIGlzIGNoYW5nZWQuXG4gICAgICogV2UgV291bGRuJ3QgbmVlZCB0byBkbyBzbywgaWYgd2UgY291bGQgcXVlcnkgRmllbGROb3RlU3VmZml4RGlyZWN0aXZlXG4gICAgICogdmlhIEBDb250ZW50Q2hpbGQsIGJ1dCB3ZSBjYW4ndCBiZWNhdXNlIGl0IGNhbiBiZSBpbiB0aGUgdmlldyBvZiBhIGNvbnRlbnRcbiAgICAgKiBjaGlsZCwgd2hpY2ggbWFrZXMgaXQgbm90IHF1ZXJ5LWFibGUuXG4gICAgICovXG4gICAgaWYgKHRoaXMuY2hhbmdlZCkge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLmNoYW5nZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgY29udGFpbnMgYW4gZXJyb3IgbWVzc2FnZSAoc3AtZmllbGQtZXJyb3IpLlxuICAgKi9cbiAgaGFzRXJyb3IodGFyZ2V0RmllbGQ/OiBGaWVsZENvbnRyb2wpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5lcnJvciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAoIXRhcmdldEZpZWxkIHx8ICF0aGlzLmVycm9yLnRhcmdldCB8fCB0aGlzLmVycm9yLnRhcmdldCA9PT0gdGFyZ2V0RmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29udHJvbHMsIHRoZSBmaWVsZCBpcyBvbmx5IGRpc2FibGVkIHdoZW4gYWxsIG9mIHRoZW0gYXJlIGRpc2FibGVkXG4gICAqL1xuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jb250cm9scyB8fCB0aGlzLmNvbnRyb2xzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzPy50b0FycmF5KCkuZXZlcnkoKGNvbnRyb2wpID0+IGNvbnRyb2wuaXNEaXNhYmxlZCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBhbnkgb2YgdGhlIGNvbnRyb2xzIHNob3VsZCBiZSBjb25zdHJhaW5lZCBieSB0aGUgZmllbGQncyBkZWZhdWx0IHdpZGh0XG4gICAqL1xuICBjb250cm9sSGFzRGVmYXVsdFdpZHRoKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jb250cm9scyB8fCB0aGlzLmNvbnRyb2xzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzPy50b0FycmF5KCkuc29tZSgoY29udHJvbCkgPT4gY29udHJvbC5oYXNEZWZhdWx0V2lkdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgc3VwcG9ydCBmZWF0dXJlcyBsaWtlIGBmb3JgIG9yIGBsYWJlbENsaWNrYCBpZiB0aGUgZmllbGQgaGFzIG9uZSBjb250cm9sLlxuICAgKi9cbiAgZ2V0IGNvbnRyb2woKTogRmllbGRDb250cm9sIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9scz8ubGVuZ3RoID09PSAxID8gdGhpcy5jb250cm9scy5maXJzdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBpc0dyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzID8gdGhpcy5jb250cm9scy5sZW5ndGggPiAxIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgY29udHJvbCBpcyByYWRpbyBncm91cCAoc3AtcmFkaW8tZ3JvdXApLlxuICAgKi9cbiAgaGFzUmFkaW9Hcm91cENoaWxkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJhZGlvR3JvdXAgIT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGxhYmVsTmVjZXNzaXR5SW5kaWNhdG9yKCk6IExhYmVsQ29tcG9uZW50WyduZWNlc3NpdHlJbmRpY2F0b3InXSB7XG4gICAgaWYgKHRoaXMubmVjZXNzaXR5SW5kaWNhdG9yKSB7XG4gICAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMucmVxdWlyZWRWYWxpZGF0b3I/LnJlcXVpcmVkKVxuICAgICAgICA/ICdyZXF1aXJlZCdcbiAgICAgICAgOiAnb3B0aW9uYWwnO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgX3NldFN1ZmZpeFBvcnRhbChwb3J0YWw6IERvbVBvcnRhbDxIVE1MRWxlbWVudD4gfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX25vdGVTdWZmaXhQb3J0YWw/LmlzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuX25vdGVTdWZmaXhQb3J0YWwuZGV0YWNoKCk7XG4gICAgICAvLyBjYWxsaW5nIGRldGFjaCB3aWxsIG1vdmUgdGhlIGVsZW1lbnQgYmFjayB0byB0aGUgRE9NLiBDb3VsZG4ndCBmaW5kIGFueSBiZXR0ZXJcbiAgICAgIC8vIHdheSB0aGFuIGltcGVyYXRpdmVseSByZW1vdmluZyB0aGUgRE9NIGVsZW1lbnQgdG9vLlxuICAgICAgdGhpcy5fbm90ZVN1ZmZpeFBvcnRhbC5lbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cbiAgICB0aGlzLl9ub3RlU3VmZml4UG9ydGFsID0gcG9ydGFsO1xuICAgIHRoaXMuY2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbGFiZWxcIiAqbmdJZj1cIl9maWVsZExhYmVsXCI+XG4gIDxzcC1sYWJlbFxuICAgIFtuZWNlc3NpdHlJbmRpY2F0b3JdPVwibGFiZWxOZWNlc3NpdHlJbmRpY2F0b3JcIlxuICAgIFtmb3JdPVwiY29udHJvbD8uZ2V0SWQ/LigpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAobGFiZWxDbGljayk9XCJjb250cm9sPy5mb2N1cz8uKCdrZXlib2FyZCcpXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICBzZWxlY3Q9XCJzcC1oZWxwLWJ1dHRvblwiXG4gICAgICBuZ1Byb2plY3RBcz1cInNwLWhlbHAtYnV0dG9uXCJcbiAgICA+PC9uZy1jb250ZW50PlxuICA8L3NwLWxhYmVsPlxuPC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX2NvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NhcHBoaXJlLWZpZWxkX19jb250cm9sLS1ncm91cCc6IGlzR3JvdXBcbiAgfVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInNhcHBoaXJlLWZpZWxkX19tZXNzYWdlXCIgKm5nSWY9XCJub3RlIHx8IGVycm9yIHx8IF9ub3RlU3VmZml4UG9ydGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbm90ZS1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX25vdGVcIiAqbmdJZj1cImVycm9yXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1maWVsZC1lcnJvclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX25vdGVcIiAqbmdJZj1cIm5vdGUgJiYgIWVycm9yXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1maWVsZC1ub3RlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfbm90ZVN1ZmZpeFBvcnRhbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqY2RrUG9ydGFsT3V0bGV0PVwiX25vdGVTdWZmaXhQb3J0YWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFFVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxrQkFBa0IsR0FFbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU1RSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxvQkFBb0IsR0FDckIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFFbkMsTUFDTSxxQkFBcUI7SUFDekIsWUFBb0IsS0FB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LDhDQUE4QyxFQUFFLDJCQUEyQjt3QkFDM0Usa0NBQWtDLEVBQ2hDLDZDQUE2Qzt3QkFDL0MsNkNBQTZDLEVBQzNDLG1EQUFtRDt3QkFDckQsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MscUJBQXFCLEVBQUUsY0FBYztxQkFDdEMsa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQyxhQUMvQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixRQUFRLEVBQUUscUJBQXFCO3lCQUNoQztxQkFDRixjQUNXLEtBQUs7bUlBVWpCLGtCQUFrQjtzQkFGakIsS0FBSztnQkFTTixjQUFjO3NCQURiLEtBQUs7Z0JBUU4sY0FBYztzQkFGYixLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxLQUFLO3NCQURKLFlBQVk7dUJBQUMsbUJBQW1CO2dCQUlqQyxLQUFLO3NCQURKLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsV0FBVztzQkFEVixZQUFZO3VCQUFDLG1CQUFtQjtnQkFRakMsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLFlBQVk7Z0JBSTdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBSXpCLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5qZWN0YWJsZSxcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYWJlbC9zcmMvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRDb250cm9sIH0gZnJvbSAnLi9maWVsZC1jb250cm9sJztcbmltcG9ydCB7IEZpZWxkTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLWxhYmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHtcbiAgSUNPTl9TSVpFX1BST1ZJREVSLFxuICBJY29uU2l6ZVByb3ZpZGVyLFxufSBmcm9tICcuLi8uLi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JhZGlvL3NyYy9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vaWNvbi9wdWJsaWNfYXBpJztcbmltcG9ydCB7XG4gIGljb25XYXJuaW5nLFxuICBpY29uRXJyb3IsXG4gIGljb25DaGVja21hcmtPdXRsaW5lLFxufSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuQEluamVjdGFibGUoKVxuY2xhc3MgRmllbGRJY29uU2l6ZVByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWVsZDogRmllbGRDb21wb25lbnQpIHt9XG5cbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQuc2l6ZSA9PT0gJ2xnJyA/ICdtZCcgOiAnc20nO1xuICB9XG59XG5cbi8qKlxuICogQSBmaWVsZCBpcyBhIGNvbW1vbiBjb250YWluZXIgZm9yIGxhYmVsYWJsZSBjb250cm9scyBzdWNoIGFzIHNlbGVjdCwgcmFkaW8gZ3JvdXAsIHRleHQgZmllbGQsXG4gKiBldGMuXG4gKiBJbiBhZGRpdGlvbiB0byB0aGUgZmllbGQgY29udHJvbCAoc3Atc2VsZWN0LCBzcC1yYWRpby1ncm91cCwgc3AtdGV4dC1maWVsZCksIHRoZSBmb2xsb3dpbmdcbiAqIGNvbXBvbmVudHMgY2FuIGJlIHVzZWQgaW5zaWRlIGEgZmllbGQ6XG4gKiAtIHNwLWZpZWxkLWxhYmVsOiBpcyB1c2VkIHRvIHByb3ZpZGUgdGhlIGxhYmVsIHRleHQgZm9yIHRoZSBmaWVsZC5cbiAqIC0gc3AtaGVscC1idXR0b246IGlzIHBsYWNlZCBpbiB0aGUgbGFiZWwgYXJlYSwgbmV4dCB0byB0aGUgbGFiZWwgdGV4dFxuICogLSBzcC1maWVsZC1lcnJvcjogaXMgdXNlZCB0byBwcm92aWRlIGFuIGVycm9yIG1lc3NhZ2UsIHdoaWNoIGlzIHBsYWNlZCBiZWxvdyB0aGUgZmllbGQnc1xuICogY29udHJvbC5cbiAqIC0gc3AtZmllbGQtbm90ZTogaXMgdXNlZCB0byBwcm92aWRlIGEgbm90ZSwgd2hpY2ggaXMgcGxhY2VkIGJlbG93IHRoZSBmaWVsZCdzIGNvbnRyb2wuIE9ubHlcbiAqIHNob3duXG4gKiAgIHdoZW4gdGhlcmUgaXMgbm8gZXJyb3JcbiAqIC0gc3AtZmllbGQtbm90ZS1zdWZmaXg6IGlzIHVzZWQgdG8gcHJvdmlkZSBhIHN1ZmZpeCwgd2hpY2ggaXMgcGxhY2VkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZVxuICogbm90ZSBhcmVhLlxuICpcbiAqIEFkZGl0aW9uYWxseSwgZmllbGQgc3VwcG9ydHM6XG4gKiAtIExhYmVsIHBsYWNlbWVudCBlaXRoZXIgYWJvdmUgKGRlZmF1bHQpIG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjb250cm9sLlxuICogLSBBc3NvY2lhdGluZyBsYWJlbCB3aXRoIHRoZSBjb250cm9sLCBzbyB0aGF0IGNsaWNraW5nIHRoZSBsYWJlbCBmb2N1c2VzIHRoZSBjb250cm9sLCBzaG93aW5nXG4gKiAgIGZvY3VzIHJpbmcuXG4gKiAtIE9wdGlvbmFsbHkgc2hvd2luZyBuZWNlc3NpdHkgaW5kaWNhdG9yIGluIHRoZSBsYWJlbC4gRmllbGRzIG5lY2Vzc2l0eSAocmVxdWlyZWQgb3Igb3B0aW9uYWwpXG4gKiAgIGlzIGRldGVybWluZWQgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIEBhbmd1bGFyL2Zvcm0ncyB7QGxpbmsgUmVxdWlyZWRWYWxpZGF0b3J9LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLWZpZWxkJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1sYWJlbC1wbGFjZW1lbnQtc2lkZV0nOiAnbGFiZWxQbGFjZW1lbnQgPT09IFwic2lkZVwiJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1uby13aWR0aF0nOlxuICAgICAgJ25vRGVmYXVsdFdpZHRoIHx8ICFjb250cm9sSGFzRGVmYXVsdFdpZHRoKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLWxhYmVsLWFsaWdubWVudC10b3BdJzpcbiAgICAgICdsYWJlbFBsYWNlbWVudCA9PT0gXCJzaWRlXCIgJiYgaGFzUmFkaW9Hcm91cENoaWxkKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLW1kXSc6ICdzaXplID09PSBcIm1kXCInLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSUNPTl9TSVpFX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEZpZWxkSWNvblNpemVQcm92aWRlcixcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkLCBJY29uU2l6ZVByb3ZpZGVyXG57XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBuZWNlc3NpdHkgaW5kaWNhdG9yIHNob3VsZCBiZSB2aXNpYmxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgbmVjZXNzaXR5SW5kaWNhdG9yPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBMYWJlbCBwbGFjZW1lbnQgd2l0aCByZXNwZWN0IHRvIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqIEBkZWZhdWx0IFwiYWJvdmVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgbGFiZWxQbGFjZW1lbnQ/OiAnc2lkZScgfCAnYWJvdmUnID0gJ2Fib3ZlJztcblxuICAvKipcbiAgICogQXZvaWQgdGhlIGRlZmF1bHQgd2lkdGhcbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5vRGVmYXVsdFdpZHRoPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBcImxnXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNpemU/OiAnbGcnIHwgJ21kJyA9ICdsZyc7XG5cbiAgQENvbnRlbnRDaGlsZChGaWVsZE5vdGVEaXJlY3RpdmUpXG4gIG5vdGU/OiBGaWVsZE5vdGVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChGaWVsZEVycm9yRGlyZWN0aXZlKVxuICBlcnJvcj86IEZpZWxkRXJyb3JEaXJlY3RpdmU7XG5cbiAgQFZpZXdDaGlsZChMYWJlbENvbXBvbmVudClcbiAgbGFiZWw/OiBMYWJlbENvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEZpZWxkTGFiZWxEaXJlY3RpdmUpXG4gIF9maWVsZExhYmVsPzogRmllbGRMYWJlbERpcmVjdGl2ZTtcblxuICAvKipcbiAgICogRm9jdXNhYmxlLCBsYWJlbGFibGUgY29udHJvbC4gQ29tcG9uZW50cyBsaWtlIFNlbGVjdCwgUmFkaW9Hcm91cCBvciBUZXh0RmllbGQsXG4gICAqIHRoYXQgYXJlIG1lYW50IHRvIHJlbmRlcmVkIGluc2lkZSBzcC1maWVsZCwgcHJvdmlkZSBGaWVsZENvbnRyb2wuXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKEZpZWxkQ29udHJvbClcbiAgY29udHJvbHM/OiBRdWVyeUxpc3Q8RmllbGRDb250cm9sPjtcblxuICBAQ29udGVudENoaWxkKFJhZGlvR3JvdXBDb21wb25lbnQpXG4gIHJhZGlvR3JvdXA/OiBSYWRpb0dyb3VwQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoUmVxdWlyZWRWYWxpZGF0b3IsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZXF1aXJlZFZhbGlkYXRvcj86IFJlcXVpcmVkVmFsaWRhdG9yO1xuXG4gIC8qKlxuICAgKiBJcyBzZXQgdmlhIGZpZWxkLW5vdGUtYWZmaXggZGlyZWN0aXZlLiBDb250ZW50Q2hpbGQgcXVlcnkgY2FuJ3QgYmUgdXNlZCBzaW5jZSB3ZSBuZWVkXG4gICAqIHRvIHF1ZXJ5IGZyb20gY29udGVudCAtPiB2aWV3IGluIHNvbWUgY2FzZXMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX25vdGVTdWZmaXhQb3J0YWw6IERvbVBvcnRhbDxIVE1MRWxlbWVudD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGNoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeVxuICApIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25DaGVja21hcmtPdXRsaW5lKTtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25XYXJuaW5nKTtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25FcnJvcik7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdzcC1maWVsZCBpcyByZW5kZXJlZCB3aXRob3V0IGFueSBjb250cm9sIGxpa2Ugc3Atc2VsZWN0LCBzcC10ZXh0LWZpZWxkLCBvciBzcC1yYWRpby1ncm91cCBpbnNpZGUgaXQuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgLyoqXG4gICAgICogU2luY2Ugbm90ZSBzdWZmaXggcG9ydGFsIGlzIGNoYW5nZWQgYnkgRmllbGROb3RlU3VmZml4RGlyZWN0aXZlLFxuICAgICAqIGl0IGNyZWF0ZXMgYSBjYXNlIG9mIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgICogU28gd2UgbmVlZCB0byBtYW51YWxseSBkZXRlY3QgY2hhbmdlcyB3aGVuIHN1ZmZpeCBwb3J0YWwgaXMgY2hhbmdlZC5cbiAgICAgKiBXZSBXb3VsZG4ndCBuZWVkIHRvIGRvIHNvLCBpZiB3ZSBjb3VsZCBxdWVyeSBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmVcbiAgICAgKiB2aWEgQENvbnRlbnRDaGlsZCwgYnV0IHdlIGNhbid0IGJlY2F1c2UgaXQgY2FuIGJlIGluIHRoZSB2aWV3IG9mIGEgY29udGVudFxuICAgICAqIGNoaWxkLCB3aGljaCBtYWtlcyBpdCBub3QgcXVlcnktYWJsZS5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5jaGFuZ2VkKSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuY2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBjb250YWlucyBhbiBlcnJvciBtZXNzYWdlIChzcC1maWVsZC1lcnJvcikuXG4gICAqL1xuICBoYXNFcnJvcih0YXJnZXRGaWVsZD86IEZpZWxkQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmVycm9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICghdGFyZ2V0RmllbGQgfHwgIXRoaXMuZXJyb3IudGFyZ2V0IHx8IHRoaXMuZXJyb3IudGFyZ2V0ID09PSB0YXJnZXRGaWVsZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb250cm9scywgdGhlIGZpZWxkIGlzIG9ubHkgZGlzYWJsZWQgd2hlbiBhbGwgb2YgdGhlbSBhcmUgZGlzYWJsZWRcbiAgICovXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzIHx8IHRoaXMuY29udHJvbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHM/LnRvQXJyYXkoKS5ldmVyeSgoY29udHJvbCkgPT4gY29udHJvbC5pc0Rpc2FibGVkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGFueSBvZiB0aGUgY29udHJvbHMgc2hvdWxkIGJlIGNvbnN0cmFpbmVkIGJ5IHRoZSBmaWVsZCdzIGRlZmF1bHQgd2lkaHRcbiAgICovXG4gIGNvbnRyb2xIYXNEZWZhdWx0V2lkdGgoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzIHx8IHRoaXMuY29udHJvbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHM/LnRvQXJyYXkoKS5zb21lKChjb250cm9sKSA9PiBjb250cm9sLmhhc0RlZmF1bHRXaWR0aCk7XG4gIH1cblxuICAvKipcbiAgICogT25seSBzdXBwb3J0IGZlYXR1cmVzIGxpa2UgYGZvcmAgb3IgYGxhYmVsQ2xpY2tgIGlmIHRoZSBmaWVsZCBoYXMgb25lIGNvbnRyb2wuXG4gICAqL1xuICBnZXQgY29udHJvbCgpOiBGaWVsZENvbnRyb2wgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzPy5sZW5ndGggPT09IDEgPyB0aGlzLmNvbnRyb2xzLmZpcnN0IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGlzR3JvdXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHMgPyB0aGlzLmNvbnRyb2xzLmxlbmd0aCA+IDEgOiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBjb250cm9sIGlzIHJhZGlvIGdyb3VwIChzcC1yYWRpby1ncm91cCkuXG4gICAqL1xuICBoYXNSYWRpb0dyb3VwQ2hpbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmFkaW9Hcm91cCAhPSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgbGFiZWxOZWNlc3NpdHlJbmRpY2F0b3IoKTogTGFiZWxDb21wb25lbnRbJ25lY2Vzc2l0eUluZGljYXRvciddIHtcbiAgICBpZiAodGhpcy5uZWNlc3NpdHlJbmRpY2F0b3IpIHtcbiAgICAgIHJldHVybiBjb2VyY2VCb29sZWFuUHJvcGVydHkodGhpcy5yZXF1aXJlZFZhbGlkYXRvcj8ucmVxdWlyZWQpXG4gICAgICAgID8gJ3JlcXVpcmVkJ1xuICAgICAgICA6ICdvcHRpb25hbCc7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBfc2V0U3VmZml4UG9ydGFsKHBvcnRhbDogRG9tUG9ydGFsPEhUTUxFbGVtZW50PiB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbm90ZVN1ZmZpeFBvcnRhbD8uaXNBdHRhY2hlZCkge1xuICAgICAgdGhpcy5fbm90ZVN1ZmZpeFBvcnRhbC5kZXRhY2goKTtcbiAgICAgIC8vIGNhbGxpbmcgZGV0YWNoIHdpbGwgbW92ZSB0aGUgZWxlbWVudCBiYWNrIHRvIHRoZSBET00uIENvdWxkbid0IGZpbmQgYW55IGJldHRlclxuICAgICAgLy8gd2F5IHRoYW4gaW1wZXJhdGl2ZWx5IHJlbW92aW5nIHRoZSBET00gZWxlbWVudCB0b28uXG4gICAgICB0aGlzLl9ub3RlU3VmZml4UG9ydGFsLmVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICAgIHRoaXMuX25vdGVTdWZmaXhQb3J0YWwgPSBwb3J0YWw7XG4gICAgdGhpcy5jaGFuZ2VkID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNhcHBoaXJlLWZpZWxkX19sYWJlbFwiICpuZ0lmPVwiX2ZpZWxkTGFiZWxcIj5cbiAgPHNwLWxhYmVsXG4gICAgW25lY2Vzc2l0eUluZGljYXRvcl09XCJsYWJlbE5lY2Vzc2l0eUluZGljYXRvclwiXG4gICAgW2Zvcl09XCJjb250cm9sPy5nZXRJZD8uKClcIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIlxuICAgIChsYWJlbENsaWNrKT1cImNvbnRyb2w/LmZvY3VzPy4oJ2tleWJvYXJkJylcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtZmllbGQtbGFiZWxcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgIHNlbGVjdD1cInNwLWhlbHAtYnV0dG9uXCJcbiAgICAgIG5nUHJvamVjdEFzPVwic3AtaGVscC1idXR0b25cIlxuICAgID48L25nLWNvbnRlbnQ+XG4gIDwvc3AtbGFiZWw+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2FwcGhpcmUtZmllbGRfX2NvbnRyb2wtLWdyb3VwJzogaXNHcm91cFxuICB9XCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX21lc3NhZ2VcIiAqbmdJZj1cIm5vdGUgfHwgZXJyb3IgfHwgX25vdGVTdWZmaXhQb3J0YWxcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX25vdGUtcm93XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2FwcGhpcmUtdGV4dC0tbmVnYXRpdmUnOiBlcnJvcixcbiAgICAgICdzYXBwaGlyZS10ZXh0LS1wb3NpdGl2ZSc6IG5vdGU/LnZhcmlhbnQgPT09ICdzdWNjZXNzJyxcbiAgICAgICdzYXBwaGlyZS10ZXh0LS13YXJuaW5nJzogbm90ZT8udmFyaWFudCA9PT0gJ3dhcm5pbmcnXG4gICAgfVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInNhcHBoaXJlLWZpZWxkX19ub3RlLWljb25cIiAqbmdJZj1cImVycm9yIHx8IG5vdGU/Lmljb25cIj5cbiAgICAgIDxzcC1pY29uICpuZ0lmPVwiZXJyb3JcIiBuYW1lPVwiZXJyb3JcIiBzaXplPVwic21cIj48L3NwLWljb24+XG4gICAgICA8c3AtaWNvblxuICAgICAgICAqbmdJZj1cIiFlcnJvciB8fCBub3RlPy5pY29uXCJcbiAgICAgICAgW25hbWVdPVwibm90ZT8uaWNvblwiXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICA+PC9zcC1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX25vdGVcIiAqbmdJZj1cImVycm9yIHx8IG5vdGVcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLWVycm9yXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtZmllbGQtbm90ZVwiICpuZ0lmPVwiIWVycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9ub3RlU3VmZml4UG9ydGFsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpjZGtQb3J0YWxPdXRsZXQ9XCJfbm90ZVN1ZmZpeFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -7,6 +7,7 @@ import { FieldComponent } from './field.component';
7
7
  import { PortalModule } from '@angular/cdk/portal';
8
8
  import { CommonModule, NgIf } from '@angular/common';
9
9
  import { LabelComponent } from '../../label/public_api';
10
+ import { SapphireIconModule } from '../../icon/public_api';
10
11
  import * as i0 from "@angular/core";
11
12
  export class SapphireFieldModule {
12
13
  }
@@ -18,14 +19,16 @@ SapphireFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
18
19
  FieldErrorDirective,
19
20
  PortalModule,
20
21
  LabelComponent,
21
- CommonModule], exports: [FieldLabelDirective,
22
+ CommonModule,
23
+ SapphireIconModule], exports: [FieldLabelDirective,
22
24
  FieldNoteDirective,
23
25
  FieldNoteSuffixDirective,
24
26
  FieldErrorDirective,
25
27
  FieldComponent] });
26
28
  SapphireFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireFieldModule, imports: [PortalModule,
27
29
  LabelComponent,
28
- CommonModule] });
30
+ CommonModule,
31
+ SapphireIconModule] });
29
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireFieldModule, decorators: [{
30
33
  type: NgModule,
31
34
  args: [{
@@ -39,6 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
39
42
  PortalModule,
40
43
  LabelComponent,
41
44
  CommonModule,
45
+ SapphireIconModule,
42
46
  ],
43
47
  exports: [
44
48
  FieldLabelDirective,
@@ -49,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
49
53
  ],
50
54
  }]
51
55
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQnhELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFuQmYsY0FBYyxhQUUzQixJQUFJO1FBQ0osbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWSxhQUdaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLG1CQUFtQjtRQUNuQixjQUFjO2lIQUdMLG1CQUFtQixZQVo1QixZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7MkZBVUgsbUJBQW1CO2tCQXBCL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLW5vdGUtc3VmZml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xhYmVsL3B1YmxpY19hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGaWVsZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIEZpZWxkTGFiZWxEaXJlY3RpdmUsXG4gICAgRmllbGROb3RlRGlyZWN0aXZlLFxuICAgIEZpZWxkTm90ZVN1ZmZpeERpcmVjdGl2ZSxcbiAgICBGaWVsZEVycm9yRGlyZWN0aXZlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBMYWJlbENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWVsZExhYmVsRGlyZWN0aXZlLFxuICAgIEZpZWxkTm90ZURpcmVjdGl2ZSxcbiAgICBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmUsXG4gICAgRmllbGRFcnJvckRpcmVjdGl2ZSxcbiAgICBGaWVsZENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVGaWVsZE1vZHVsZSB7fVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF1QjNELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFwQmYsY0FBYyxhQUUzQixJQUFJO1FBQ0osbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWTtRQUNaLGtCQUFrQixhQUdsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsY0FBYztpSEFHTCxtQkFBbUIsWUFiNUIsWUFBWTtRQUNaLGNBQWM7UUFDZCxZQUFZO1FBQ1osa0JBQWtCOzJGQVVULG1CQUFtQjtrQkFyQi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixPQUFPLEVBQUU7d0JBQ1AsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLW5vdGUtc3VmZml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGFiZWwvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBTYXBwaGlyZUljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pY29uL3B1YmxpY19hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGaWVsZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIEZpZWxkTGFiZWxEaXJlY3RpdmUsXG4gICAgRmllbGROb3RlRGlyZWN0aXZlLFxuICAgIEZpZWxkTm90ZVN1ZmZpeERpcmVjdGl2ZSxcbiAgICBGaWVsZEVycm9yRGlyZWN0aXZlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBMYWJlbENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2FwcGhpcmVJY29uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmllbGRMYWJlbERpcmVjdGl2ZSxcbiAgICBGaWVsZE5vdGVEaXJlY3RpdmUsXG4gICAgRmllbGROb3RlU3VmZml4RGlyZWN0aXZlLFxuICAgIEZpZWxkRXJyb3JEaXJlY3RpdmUsXG4gICAgRmllbGRDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhcHBoaXJlRmllbGRNb2R1bGUge31cbiJdfQ==
@@ -5,13 +5,15 @@ import { SapphireIconModule } from '../../icon/src/icon.module';
5
5
  import { SapphirePopoverModule } from '../../popover/src/popover.module';
6
6
  import { PopoverTriggerDirective } from '../../popover/src/popover-trigger.directive';
7
7
  import { SapphireTypographyModule } from '../../typography/src/typography.module';
8
+ import { iconHelp, iconInformation } from '@danske/sapphire-icons/js';
8
9
  import * as i0 from "@angular/core";
9
- import * as i1 from "../../typography/src/heading.component";
10
- import * as i2 from "../../button/src/icon-button.component";
11
- import * as i3 from "../../icon/src/icon.component";
12
- import * as i4 from "../../popover/src/popover.component";
13
- import * as i5 from "../../popover/src/popover-trigger.directive";
14
- import * as i6 from "../../popover/src/popover-title.directive";
10
+ import * as i1 from "../../icon/public_api";
11
+ import * as i2 from "../../typography/src/heading.component";
12
+ import * as i3 from "../../button/src/icon-button.component";
13
+ import * as i4 from "../../icon/src/icon.component";
14
+ import * as i5 from "../../popover/src/popover.component";
15
+ import * as i6 from "../../popover/src/popover-trigger.directive";
16
+ import * as i7 from "../../popover/src/popover-title.directive";
15
17
  export class HelpButtonHeaderDirective {
16
18
  }
17
19
  HelpButtonHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: HelpButtonHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -46,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
46
48
  }]
47
49
  }] });
48
50
  export class HelpButtonComponent {
49
- constructor() {
51
+ constructor(iconRegistry) {
50
52
  /**
51
53
  *
52
54
  * The type of help button which determines the icon shown.
@@ -65,6 +67,7 @@ export class HelpButtonComponent {
65
67
  * Placement of popover relative to the icon that triggers it.
66
68
  */
67
69
  this.placement = 'top';
70
+ iconRegistry.registerIcons([iconInformation, iconHelp]);
68
71
  }
69
72
  isOpen() {
70
73
  return this._trigger?.isOpen();
@@ -79,8 +82,8 @@ export class HelpButtonComponent {
79
82
  return this._trigger?.close();
80
83
  }
81
84
  }
82
- HelpButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: HelpButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
- HelpButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: HelpButtonComponent, isStandalone: true, selector: "sp-help-button", inputs: { variant: "variant", placement: "placement", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "attr.aria-label": "null" } }, queries: [{ propertyName: "_footer", first: true, predicate: HelpButtonFooterDirective, descendants: true }, { propertyName: "_header", first: true, predicate: HelpButtonHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "_trigger", first: true, predicate: PopoverTriggerDirective, descendants: true }], ngImport: i0, template: "<button\n sp-icon-button\n size=\"xs\"\n variant=\"tertiary-ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-help-button-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-help-button-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-help-button-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-semantic-color-content-default-primary);line-height:var(--sapphire-global-size-line-height-sm);max-width:var(--sapphire-global-size-generic-750);font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-text-md);padding:var(--sapphire-semantic-size-spacing-50) var(--sapphire-semantic-size-spacing-50);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-semantic-size-spacing-30)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-semantic-size-spacing-20)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SapphireTypographyModule }, { kind: "component", type: i1.HeadingComponent, selector: "h1[sp-heading],h2[sp-heading],h3[sp-heading],h4[sp-heading],h5[sp-heading],h6[sp-heading]", inputs: ["sp-heading", "fontVariant"] }, { kind: "ngmodule", type: SapphireButtonModule }, { kind: "component", type: i2.IconButtonComponent, selector: "button[sp-icon-button], a[sp-icon-button]", inputs: ["variant", "size", "disabled", "type"] }, { kind: "ngmodule", type: SapphireIconModule }, { kind: "component", type: i3.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: SapphirePopoverModule }, { kind: "component", type: i4.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i5.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i6.PopoverTitleDirective, selector: "[spPopoverTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
+ HelpButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: HelpButtonComponent, deps: [{ token: i1.IconRegistry }], target: i0.ɵɵFactoryTarget.Component });
86
+ HelpButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: HelpButtonComponent, isStandalone: true, selector: "sp-help-button", inputs: { variant: "variant", placement: "placement", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "attr.aria-label": "null" } }, queries: [{ propertyName: "_footer", first: true, predicate: HelpButtonFooterDirective, descendants: true }, { propertyName: "_header", first: true, predicate: HelpButtonHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "_trigger", first: true, predicate: PopoverTriggerDirective, descendants: true }], ngImport: i0, template: "<button\n sp-icon-button\n size=\"xs\"\n variant=\"tertiary\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n size=\"sm\"\n name=\"help\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"information\" size=\"sm\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-help-button-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-help-button-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-help-button-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-semantic-color-foreground-primary);line-height:var(--sapphire-global-size-line-height-md);max-width:var(--sapphire-global-size-generic-750);font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-body-sm);padding:var(--sapphire-semantic-size-spacing-lg) var(--sapphire-semantic-size-spacing-lg);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-semantic-size-spacing-sm)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-semantic-size-spacing-2xs)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SapphireTypographyModule }, { kind: "component", type: i2.HeadingComponent, selector: "h1[sp-heading],h2[sp-heading],h3[sp-heading],h4[sp-heading],h5[sp-heading],h6[sp-heading]", inputs: ["sp-heading", "color"] }, { kind: "ngmodule", type: SapphireButtonModule }, { kind: "component", type: i3.IconButtonComponent, selector: "button[sp-icon-button], a[sp-icon-button]", inputs: ["variant", "size", "disabled", "type"] }, { kind: "ngmodule", type: SapphireIconModule }, { kind: "component", type: i4.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "ngmodule", type: SapphirePopoverModule }, { kind: "component", type: i5.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i6.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i7.PopoverTitleDirective, selector: "[spPopoverTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: HelpButtonComponent, decorators: [{
85
88
  type: Component,
86
89
  args: [{ selector: 'sp-help-button', standalone: true, imports: [
@@ -91,8 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
91
94
  SapphirePopoverModule,
92
95
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
93
96
  '[attr.aria-label]': 'null',
94
- }, template: "<button\n sp-icon-button\n size=\"xs\"\n variant=\"tertiary-ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-help-button-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-help-button-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-help-button-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-semantic-color-content-default-primary);line-height:var(--sapphire-global-size-line-height-sm);max-width:var(--sapphire-global-size-generic-750);font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-text-md);padding:var(--sapphire-semantic-size-spacing-50) var(--sapphire-semantic-size-spacing-50);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-semantic-size-spacing-30)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-semantic-size-spacing-20)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"] }]
95
- }], propDecorators: { variant: [{
97
+ }, template: "<button\n sp-icon-button\n size=\"xs\"\n variant=\"tertiary\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n size=\"sm\"\n name=\"help\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"information\" size=\"sm\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-help-button-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-help-button-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-help-button-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-semantic-color-foreground-primary);line-height:var(--sapphire-global-size-line-height-md);max-width:var(--sapphire-global-size-generic-750);font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-regular);font-size:var(--sapphire-semantic-size-font-body-sm);padding:var(--sapphire-semantic-size-spacing-lg) var(--sapphire-semantic-size-spacing-lg);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-semantic-size-spacing-sm)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-semantic-size-spacing-2xs)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"] }]
98
+ }], ctorParameters: function () { return [{ type: i1.IconRegistry }]; }, propDecorators: { variant: [{
96
99
  type: Input
97
100
  }], placement: [{
98
101
  type: Input
@@ -109,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
109
112
  type: ContentChild,
110
113
  args: [HelpButtonHeaderDirective]
111
114
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwLWJ1dHRvbi9zcmMvaGVscC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwLWJ1dHRvbi9zcmMvaGVscC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFPbEYsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU1ELE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFPRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBb0JELE1BQU0sT0FBTyxtQkFBbUI7SUFqQmhDO1FBa0JFOzs7Ozs7Ozs7Ozs7V0FZRztRQUVILFlBQU8sR0FBb0IsTUFBTSxDQUFDO1FBRWxDOztXQUVHO1FBRUgsY0FBUyxHQUFjLEtBQUssQ0FBQztLQWdDOUI7SUFiQyxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7O2dIQXBEVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvUUFrQ2hCLHlCQUF5QiwwRUFHekIseUJBQXlCLDBGQU41Qix1QkFBdUIsZ0RDakZwQyxnOUJBZ0NBLGcwQkRPSSxJQUFJLDRGQUNKLHdCQUF3Qiw4TkFDeEIsb0JBQW9CLDJMQUNwQixrQkFBa0IsNEhBQ2xCLHFCQUFxQjsyRkFPWixtQkFBbUI7a0JBakIvQixTQUFTOytCQUNFLGdCQUFnQixjQUdkLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTtxQkFDNUI7OEJBaUJELE9BQU87c0JBRE4sS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO3VCQUFDLFlBQVk7Z0JBSW5CLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBSWxDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyx5QkFBeUI7Z0JBSXZDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNhcHBoaXJlQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL3NyYy9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFNhcHBoaXJlSWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2ljb24vc3JjL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFNhcHBoaXJlUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uL3BvcG92ZXIvc3JjL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYXBwaGlyZVR5cG9ncmFwaHlNb2R1bGUgfSBmcm9tICcuLi8uLi90eXBvZ3JhcGh5L3NyYy90eXBvZ3JhcGh5Lm1vZHVsZSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vcGxhY2VtZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24taGVhZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGVscEJ1dHRvbkhlYWRlckRpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24tY29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Db250ZW50RGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLWhlbHAtYnV0dG9uLWZvb3RlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Gb290ZXJEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVscC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWxwLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBTYXBwaGlyZVR5cG9ncmFwaHlNb2R1bGUsXG4gICAgU2FwcGhpcmVCdXR0b25Nb2R1bGUsXG4gICAgU2FwcGhpcmVJY29uTW9kdWxlLFxuICAgIFNhcHBoaXJlUG9wb3Zlck1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Db21wb25lbnQge1xuICAvKipcbiAgICpcbiAgICogVGhlIHR5cGUgb2YgaGVscCBidXR0b24gd2hpY2ggZGV0ZXJtaW5lcyB0aGUgaWNvbiBzaG93bi5cbiAgICpcbiAgICogVXNlIFwiaW5mb1wiIGZvciBicmllZiwgY29udGV4dHVhbCBzdXBwbGVtZW50YWwgaW5mb3JtYXRpb24uIFRoZSBjb250ZW50XG4gICAqIGluc2lkZSBzaG91bGQgaGF2ZSBhbiBpbnN0cnVjdGl2ZSB0b25lLlxuICAgKlxuICAgKiBVc2UgXCJoZWxwXCIgdmFyaWFudCB0byBzaWduYWwgbW9yZSBpbi1kZXB0aCBndWlkYW5jZSBhYm91dCBhIHRhc2sgb3IgVUksXG4gICAqIHRoaXMgbWF5IGluY2x1ZGUgbGlua3Mgb3IgaW1hZ2VzIG9yIG90aGVyIGhlbHBmdWwgbWVkaWEuIFRoZSBjb250ZW50XG4gICAqIGluc2lkZSBzaG91bGQgaGF2ZSBhIGhlbHBmdWwgdG9uZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2luZm8nXG4gICAqL1xuICBASW5wdXQoKVxuICB2YXJpYW50OiAnaW5mbycgfCAnaGVscCcgPSAnaW5mbyc7XG5cbiAgLyoqXG4gICAqIFBsYWNlbWVudCBvZiBwb3BvdmVyIHJlbGF0aXZlIHRvIHRoZSBpY29uIHRoYXQgdHJpZ2dlcnMgaXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICd0b3AnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB0cmlnZ2VyIG9mIHRoZSBoZWxwIGRpYWxvZy5cbiAgICogVGhpcyB3aWxsIE5PVCBiZSByZW5kZXJlZCBvbiB0aGUgc2NyZWVuLCBidXQgaXQgaXMgcmVxdWlyZWRcbiAgICogZm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucy5cbiAgICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBAVmlld0NoaWxkKFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlKVxuICBfdHJpZ2dlcj86IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoSGVscEJ1dHRvbkZvb3RlckRpcmVjdGl2ZSlcbiAgX2Zvb3Rlcj86IEhlbHBCdXR0b25Gb290ZXJEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChIZWxwQnV0dG9uSGVhZGVyRGlyZWN0aXZlKVxuICBfaGVhZGVyPzogSGVscEJ1dHRvbkhlYWRlckRpcmVjdGl2ZTtcblxuICBpc09wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI/LmlzT3BlbigpO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy50b2dnbGUoKTtcbiAgfVxuICBvcGVuKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy5vcGVuKCk7XG4gIH1cbiAgY2xvc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI/LmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgc3AtaWNvbi1idXR0b25cbiAgc2l6ZT1cInhzXCJcbiAgdmFyaWFudD1cInRlcnRpYXJ5LWdob3N0XCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJGb3JdPVwicG9wb3ZlclwiXG4gIFtzcFBvcG92ZXJQbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuPlxuICA8c3AtaWNvblxuICAgICpuZ0lmPVwidmFyaWFudCA9PT0gJ2hlbHAnOyBlbHNlIGRlZmF1bHRJY29uXCJcbiAgICBuYW1lPVwicXVlc3Rpb25NYXJrQ2lyY2xlXCJcbiAgPjwvc3AtaWNvbj5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SWNvbj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiaW5mb1wiPjwvc3AtaWNvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyIG5vUGFkZGluZz5cbiAgICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiX2hlYWRlclwiIGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwX19oZWFkZXJcIj5cbiAgICAgICAgPGg2IHNwLWhlYWRpbmcgc3BQb3BvdmVyVGl0bGU+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtaGVscC1idXR0b24taGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2g2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1oZWxwLWJ1dHRvbi1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiAqbmdJZj1cIl9mb290ZXJcIiBjbGFzcz1cInNhcHBoaXJlLWNvbnRleHR1YWwtaGVscF9fZm9vdGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWhlbHAtYnV0dG9uLWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NwLXBvcG92ZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwLWJ1dHRvbi9zcmMvaGVscC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwLWJ1dHRvbi9zcmMvaGVscC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUdsRixPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFNdEUsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU1ELE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFPRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBb0JELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBWSxZQUEwQjtRQUd0Qzs7Ozs7Ozs7Ozs7O1dBWUc7UUFFSCxZQUFPLEdBQW9CLE1BQU0sQ0FBQztRQUVsQzs7V0FFRztRQUVILGNBQVMsR0FBYyxLQUFLLENBQUM7UUF0QjNCLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBd0NELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Z0hBdkRVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG9RQXFDaEIseUJBQXlCLDBFQUd6Qix5QkFBeUIsMEZBTjVCLHVCQUF1QixnREN0RnBDLGcrQkFpQ0EsNHpCRFFJLElBQUksNEZBQ0osd0JBQXdCLHdOQUN4QixvQkFBb0IsMkxBQ3BCLGtCQUFrQixxSUFDbEIscUJBQXFCOzJGQU9aLG1CQUFtQjtrQkFqQi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3FCQUN0QixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixtQkFBbUIsRUFBRSxNQUFNO3FCQUM1QjttR0FvQkQsT0FBTztzQkFETixLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFTTixTQUFTO3NCQURSLEtBQUs7dUJBQUMsWUFBWTtnQkFJbkIsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLHVCQUF1QjtnQkFJbEMsT0FBTztzQkFETixZQUFZO3VCQUFDLHlCQUF5QjtnQkFJdkMsT0FBTztzQkFETixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2FwcGhpcmVCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi9idXR0b24vc3JjL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2FwcGhpcmVJY29uTW9kdWxlIH0gZnJvbSAnLi4vLi4vaWNvbi9zcmMvaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2FwcGhpcmVQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9zcmMvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhcHBoaXJlVHlwb2dyYXBoeU1vZHVsZSB9IGZyb20gJy4uLy4uL3R5cG9ncmFwaHkvc3JjL3R5cG9ncmFwaHkubW9kdWxlJztcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9wbGFjZW1lbnQnO1xuaW1wb3J0IHsgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vaWNvbi9wdWJsaWNfYXBpJztcbmltcG9ydCB7IGljb25IZWxwLCBpY29uSW5mb3JtYXRpb24gfSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24taGVhZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGVscEJ1dHRvbkhlYWRlckRpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24tY29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Db250ZW50RGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLWhlbHAtYnV0dG9uLWZvb3RlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Gb290ZXJEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtaGVscC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVscC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWxwLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBTYXBwaGlyZVR5cG9ncmFwaHlNb2R1bGUsXG4gICAgU2FwcGhpcmVCdXR0b25Nb2R1bGUsXG4gICAgU2FwcGhpcmVJY29uTW9kdWxlLFxuICAgIFNhcHBoaXJlUG9wb3Zlck1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBCdXR0b25Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSkge1xuICAgIGljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtpY29uSW5mb3JtYXRpb24sIGljb25IZWxwXSk7XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqIFRoZSB0eXBlIG9mIGhlbHAgYnV0dG9uIHdoaWNoIGRldGVybWluZXMgdGhlIGljb24gc2hvd24uXG4gICAqXG4gICAqIFVzZSBcImluZm9cIiBmb3IgYnJpZWYsIGNvbnRleHR1YWwgc3VwcGxlbWVudGFsIGluZm9ybWF0aW9uLiBUaGUgY29udGVudFxuICAgKiBpbnNpZGUgc2hvdWxkIGhhdmUgYW4gaW5zdHJ1Y3RpdmUgdG9uZS5cbiAgICpcbiAgICogVXNlIFwiaGVscFwiIHZhcmlhbnQgdG8gc2lnbmFsIG1vcmUgaW4tZGVwdGggZ3VpZGFuY2UgYWJvdXQgYSB0YXNrIG9yIFVJLFxuICAgKiB0aGlzIG1heSBpbmNsdWRlIGxpbmtzIG9yIGltYWdlcyBvciBvdGhlciBoZWxwZnVsIG1lZGlhLiBUaGUgY29udGVudFxuICAgKiBpbnNpZGUgc2hvdWxkIGhhdmUgYSBoZWxwZnVsIHRvbmUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdpbmZvJ1xuICAgKi9cbiAgQElucHV0KClcbiAgdmFyaWFudDogJ2luZm8nIHwgJ2hlbHAnID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBQbGFjZW1lbnQgb2YgcG9wb3ZlciByZWxhdGl2ZSB0byB0aGUgaWNvbiB0aGF0IHRyaWdnZXJzIGl0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcGxhY2VtZW50OiBQbGFjZW1lbnQgPSAndG9wJztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgdHJpZ2dlciBvZiB0aGUgaGVscCBkaWFsb2cuXG4gICAqIFRoaXMgd2lsbCBOT1QgYmUgcmVuZGVyZWQgb24gdGhlIHNjcmVlbiwgYnV0IGl0IGlzIHJlcXVpcmVkXG4gICAqIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMuXG4gICAqL1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBhcmlhTGFiZWwhOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZChQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSlcbiAgX3RyaWdnZXI/OiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKEhlbHBCdXR0b25Gb290ZXJEaXJlY3RpdmUpXG4gIF9mb290ZXI/OiBIZWxwQnV0dG9uRm9vdGVyRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoSGVscEJ1dHRvbkhlYWRlckRpcmVjdGl2ZSlcbiAgX2hlYWRlcj86IEhlbHBCdXR0b25IZWFkZXJEaXJlY3RpdmU7XG5cbiAgaXNPcGVuKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy5pc09wZW4oKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcj8udG9nZ2xlKCk7XG4gIH1cbiAgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcj8ub3BlbigpO1xuICB9XG4gIGNsb3NlKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy5jbG9zZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIHNwLWljb24tYnV0dG9uXG4gIHNpemU9XCJ4c1wiXG4gIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gIFtzcFBvcG92ZXJUcmlnZ2VyRm9yXT1cInBvcG92ZXJcIlxuICBbc3BQb3BvdmVyUGxhY2VtZW50XT1cInBsYWNlbWVudFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbj5cbiAgPHNwLWljb25cbiAgICAqbmdJZj1cInZhcmlhbnQgPT09ICdoZWxwJzsgZWxzZSBkZWZhdWx0SWNvblwiXG4gICAgc2l6ZT1cInNtXCJcbiAgICBuYW1lPVwiaGVscFwiXG4gID48L3NwLWljb24+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb24+XG4gICAgPHNwLWljb24gbmFtZT1cImluZm9ybWF0aW9uXCIgc2l6ZT1cInNtXCI+PC9zcC1pY29uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlcj5cbiAgPHNwLXBvcG92ZXIgbm9QYWRkaW5nPlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1jb250ZXh0dWFsLWhlbHBcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJfaGVhZGVyXCIgY2xhc3M9XCJzYXBwaGlyZS1jb250ZXh0dWFsLWhlbHBfX2hlYWRlclwiPlxuICAgICAgICA8aDYgc3AtaGVhZGluZyBzcFBvcG92ZXJUaXRsZT5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1oZWxwLWJ1dHRvbi1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvaDY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWhlbHAtYnV0dG9uLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiX2Zvb3RlclwiIGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwX19mb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtaGVscC1idXR0b24tZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3AtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,4 +1,5 @@
1
+ export { IconRegistry } from './src/iconRegistry.service';
1
2
  export { IconComponent } from './src/icon.component';
2
3
  export { SapphireIconModule } from './src/icon.module';
3
4
  export { ICON_SIZE_PROVIDER } from './src/icon-size-provider';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaWNvbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9zcmMvaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2FwcGhpcmVJY29uTW9kdWxlIH0gZnJvbSAnLi9zcmMvaWNvbi5tb2R1bGUnO1xuZXhwb3J0IHsgSUNPTl9TSVpFX1BST1ZJREVSLCBJY29uU2l6ZVByb3ZpZGVyIH0gZnJvbSAnLi9zcmMvaWNvbi1zaXplLXByb3ZpZGVyJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaWNvbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEljb25SZWdpc3RyeSwgdHlwZSBJY29uRGF0YSB9IGZyb20gJy4vc3JjL2ljb25SZWdpc3RyeS5zZXJ2aWNlJztcbmV4cG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL3NyYy9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTYXBwaGlyZUljb25Nb2R1bGUgfSBmcm9tICcuL3NyYy9pY29uLm1vZHVsZSc7XG5leHBvcnQgeyBJQ09OX1NJWkVfUFJPVklERVIsIEljb25TaXplUHJvdmlkZXIgfSBmcm9tICcuL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuIl19
@@ -15,4 +15,4 @@ import { InjectionToken } from '@angular/core';
15
15
  * }
16
16
  */
17
17
  export const ICON_SIZE_PROVIDER = new InjectionToken("Icon size based on the context it's being used in");
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaXplLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxtREFBbUQsQ0FDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGltcGxlbWVudCBmb3IgdGhlIHZhbHVlIG9mIHtAbGluayBJQ09OX1NJWkVfUFJPVklERVJ9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNvblNpemVQcm92aWRlciB7XG4gIHNpemU/OiAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdG8gcHJvdmlkZSB0aGUgZGVmYXVsdCBzaXplIG9mIHRoZSBpY29uIGJhc2VkIG9uIHdoZXJlXG4gKiBpdCdzIHVzZWQuIFByb3ZpZGVkIHNpemUgd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQsIGlmIHRoZXJlIGlzIG5vIGV4cGxpY2l0XG4gKiBzaXplIHNldCBvbiB0aGUgaWNvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBAQ29tcG9uZW50KHtcbiAqICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGVzOiBJQ09OX1NJWkVfUFJPVklERVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE15Q29tcG9uZW50fV0sXG4gKiB9KVxuICogY2xhc3MgTXlDb21wb25lbnQgaW1wbGVtZW50cyBJY29uU2l6ZVByb3ZpZGVyIHtcbiAqICAgQElucHV0KClcbiAqICAgc2l6ZT86ICdzbScgfCAnbWQnO1xuICogfVxuICovXG5leHBvcnQgY29uc3QgSUNPTl9TSVpFX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuKFxuICBcIkljb24gc2l6ZSBiYXNlZCBvbiB0aGUgY29udGV4dCBpdCdzIGJlaW5nIHVzZWQgaW5cIlxuKTtcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaXplLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxtREFBbUQsQ0FDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGltcGxlbWVudCBmb3IgdGhlIHZhbHVlIG9mIHtAbGluayBJQ09OX1NJWkVfUFJPVklERVJ9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNvblNpemVQcm92aWRlciB7XG4gIHNpemU/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0byBwcm92aWRlIHRoZSBkZWZhdWx0IHNpemUgb2YgdGhlIGljb24gYmFzZWQgb24gd2hlcmVcbiAqIGl0J3MgdXNlZC4gUHJvdmlkZWQgc2l6ZSB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCwgaWYgdGhlcmUgaXMgbm8gZXhwbGljaXRcbiAqIHNpemUgc2V0IG9uIHRoZSBpY29uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIEBDb21wb25lbnQoe1xuICogICBwcm92aWRlcnM6IFt7cHJvdmlkZXM6IElDT05fU0laRV9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTXlDb21wb25lbnR9XSxcbiAqIH0pXG4gKiBjbGFzcyBNeUNvbXBvbmVudCBpbXBsZW1lbnRzIEljb25TaXplUHJvdmlkZXIge1xuICogICBASW5wdXQoKVxuICogICBzaXplPzogJ3NtJyB8ICdtZCc7XG4gKiB9XG4gKi9cbmV4cG9ydCBjb25zdCBJQ09OX1NJWkVfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gIFwiSWNvbiBzaXplIGJhc2VkIG9uIHRoZSBjb250ZXh0IGl0J3MgYmVpbmcgdXNlZCBpblwiXG4pO1xuIl19
@@ -1,44 +1,54 @@
1
1
  import { Component, Inject, Input, Optional, ViewEncapsulation, } from '@angular/core';
2
- import * as icons from '@danske/sapphire-icons/js';
3
2
  import { ICON_SIZE_PROVIDER } from './icon-size-provider';
3
+ import { sanitizeSvg } from './svgSanitizer';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "./iconRegistry.service";
5
6
  export class IconComponent {
6
7
  set name(value) {
7
- this.elementRef.nativeElement.innerHTML =
8
- icons[value]?.data || '';
9
- this._name = value;
10
- this.applySize();
11
- }
12
- get name() {
13
- return this._name;
8
+ const unsafeSvg = (value && this.registry.getSvg(value)) || '';
9
+ const safeSvg = sanitizeSvg(unsafeSvg);
10
+ this.elementRef.nativeElement.innerHTML = safeSvg;
11
+ this.setClasses();
14
12
  }
15
13
  get size() {
16
- return this.sizeInput ?? this.sizeProvider?.size ?? 'lg';
14
+ return this.sizeInput ?? this.sizeProvider?.size ?? 'md';
15
+ }
16
+ /**
17
+ * The semantic color of the text.
18
+ * No value means that the color will be inherited.
19
+ */
20
+ set color(color) {
21
+ this._color = color;
22
+ this.setClasses();
17
23
  }
18
- constructor(elementRef, sizeProvider) {
24
+ get color() {
25
+ return this._color;
26
+ }
27
+ constructor(elementRef, registry, sizeProvider) {
19
28
  this.elementRef = elementRef;
29
+ this.registry = registry;
20
30
  this.sizeProvider = sizeProvider;
21
31
  }
22
32
  ngDoCheck() {
23
33
  if (this.size !== this.iconClass) {
24
- this.applySize();
34
+ this.setClasses();
25
35
  }
26
36
  }
27
- applySize() {
37
+ setClasses() {
28
38
  this.iconClass = this.size;
29
39
  const svgElem = this.elementRef.nativeElement.querySelector('svg');
30
40
  if (!svgElem) {
31
41
  return;
32
42
  }
33
- svgElem.setAttribute('class', `sapphire-icon sapphire-icon--${this.iconClass}`);
43
+ svgElem.setAttribute('class', `sapphire-icon sapphire-icon--${this.iconClass} ${this.color && `sapphire-icon--${this.color}`}`);
34
44
  }
35
45
  }
36
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: ICON_SIZE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
37
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: IconComponent, selector: "sp-icon", inputs: { name: "name", sizeInput: ["size", "sizeInput"] }, ngImport: i0, template: '', isInline: true, styles: [".sapphire-icon{flex-shrink:0}.sapphire-icon.sapphire-icon--sm{height:var(--sapphire-semantic-size-icon-sm);width:var(--sapphire-semantic-size-icon-sm)}.sapphire-icon.sapphire-icon--md{height:var(--sapphire-semantic-size-icon-md);width:var(--sapphire-semantic-size-icon-md)}.sapphire-icon.sapphire-icon--lg{height:var(--sapphire-semantic-size-icon-lg);width:var(--sapphire-semantic-size-icon-lg)}.sapphire-icon.sapphire-icon--xl{height:var(--sapphire-semantic-size-icon-xl);width:var(--sapphire-semantic-size-icon-xl)}sp-icon{line-height:0}\n"], encapsulation: i0.ViewEncapsulation.None });
46
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.IconRegistry }, { token: ICON_SIZE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
47
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: IconComponent, selector: "sp-icon", inputs: { name: "name", sizeInput: ["size", "sizeInput"], color: "color" }, ngImport: i0, template: '', isInline: true, styles: [".sapphire-icon{flex-shrink:0}.sapphire-icon--sm{height:var(--sapphire-semantic-size-icon-sm);width:var(--sapphire-semantic-size-icon-sm)}.sapphire-icon--md{height:var(--sapphire-semantic-size-icon-md);width:var(--sapphire-semantic-size-icon-md)}.sapphire-icon--lg{height:var(--sapphire-semantic-size-icon-lg);width:var(--sapphire-semantic-size-icon-lg)}.sapphire-icon--xl{height:var(--sapphire-semantic-size-icon-xl);width:var(--sapphire-semantic-size-icon-xl)}.sapphire-icon--primary{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-icon--secondary{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-icon--informative{color:var(--sapphire-semantic-color-foreground-accent)}.sapphire-icon--positive{color:var(--sapphire-semantic-color-foreground-positive)}.sapphire-icon--warning{color:var(--sapphire-semantic-color-foreground-warning)}.sapphire-icon--negative{color:var(--sapphire-semantic-color-foreground-negative)}sp-icon{line-height:0}\n"], encapsulation: i0.ViewEncapsulation.None });
38
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: IconComponent, decorators: [{
39
49
  type: Component,
40
- args: [{ selector: 'sp-icon', template: '', encapsulation: ViewEncapsulation.None, standalone: false, styles: [".sapphire-icon{flex-shrink:0}.sapphire-icon.sapphire-icon--sm{height:var(--sapphire-semantic-size-icon-sm);width:var(--sapphire-semantic-size-icon-sm)}.sapphire-icon.sapphire-icon--md{height:var(--sapphire-semantic-size-icon-md);width:var(--sapphire-semantic-size-icon-md)}.sapphire-icon.sapphire-icon--lg{height:var(--sapphire-semantic-size-icon-lg);width:var(--sapphire-semantic-size-icon-lg)}.sapphire-icon.sapphire-icon--xl{height:var(--sapphire-semantic-size-icon-xl);width:var(--sapphire-semantic-size-icon-xl)}sp-icon{line-height:0}\n"] }]
41
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
50
+ args: [{ selector: 'sp-icon', template: '', encapsulation: ViewEncapsulation.None, standalone: false, styles: [".sapphire-icon{flex-shrink:0}.sapphire-icon--sm{height:var(--sapphire-semantic-size-icon-sm);width:var(--sapphire-semantic-size-icon-sm)}.sapphire-icon--md{height:var(--sapphire-semantic-size-icon-md);width:var(--sapphire-semantic-size-icon-md)}.sapphire-icon--lg{height:var(--sapphire-semantic-size-icon-lg);width:var(--sapphire-semantic-size-icon-lg)}.sapphire-icon--xl{height:var(--sapphire-semantic-size-icon-xl);width:var(--sapphire-semantic-size-icon-xl)}.sapphire-icon--primary{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-icon--secondary{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-icon--informative{color:var(--sapphire-semantic-color-foreground-accent)}.sapphire-icon--positive{color:var(--sapphire-semantic-color-foreground-positive)}.sapphire-icon--warning{color:var(--sapphire-semantic-color-foreground-warning)}.sapphire-icon--negative{color:var(--sapphire-semantic-color-foreground-negative)}sp-icon{line-height:0}\n"] }]
51
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.IconRegistry }, { type: undefined, decorators: [{
42
52
  type: Optional
43
53
  }, {
44
54
  type: Inject,
@@ -48,5 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
48
58
  }], sizeInput: [{
49
59
  type: Input,
50
60
  args: ['size']
61
+ }], color: [{
62
+ type: Input
51
63
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ljb24vc3JjL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxLQUFLLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLHNCQUFzQixDQUFDOztBQVc1RSxNQUFNLE9BQU8sYUFBYTtJQUV4QixJQUNJLElBQUksQ0FBQyxLQUE4QztRQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQ3JDLEtBQUssQ0FBQyxLQUEyQixDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBTUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFDVSxVQUFzQixFQUd0QixZQUErQjtRQUgvQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBR3RCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtJQUN0QyxDQUFDO0lBRUosU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTztTQUNSO1FBRUQsT0FBTyxDQUFDLFlBQVksQ0FDbEIsT0FBTyxFQUNQLGdDQUFnQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQ2pELENBQUM7SUFDSixDQUFDOzswR0FoRFUsYUFBYSw0Q0F5QmQsa0JBQWtCOzhGQXpCakIsYUFBYSwyR0FMZCxFQUFFOzJGQUtELGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsU0FBUyxZQUNULEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixLQUFLOzswQkEwQmQsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxrQkFBa0I7NENBdEJ4QixJQUFJO3NCQURQLEtBQUs7Z0JBY1MsU0FBUztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgaWNvbnMgZnJvbSAnQGRhbnNrZS9zYXBwaGlyZS1pY29ucy9qcyc7XG5pbXBvcnQgeyBJQ09OX1NJWkVfUFJPVklERVIsIEljb25TaXplUHJvdmlkZXIgfSBmcm9tICcuL2ljb24tc2l6ZS1wcm92aWRlcic7XG5cbnR5cGUgSWNvblNpemUgPSAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtaWNvbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBwcml2YXRlIGljb25DbGFzcz86IEljb25TaXplO1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogdW5kZWZpbmVkIHwga2V5b2YgdHlwZW9mIGljb25zIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID1cbiAgICAgIGljb25zW3ZhbHVlIGFzIGtleW9mIHR5cGVvZiBpY29uc10/LmRhdGEgfHwgJyc7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgIHRoaXMuYXBwbHlTaXplKCk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgX25hbWU/OiBrZXlvZiB0eXBlb2YgaWNvbnMgfCBzdHJpbmc7XG5cbiAgQElucHV0KCdzaXplJykgc2l6ZUlucHV0PzogSWNvblNpemU7XG5cbiAgZ2V0IHNpemUoKTogSWNvblNpemUge1xuICAgIHJldHVybiB0aGlzLnNpemVJbnB1dCA/PyB0aGlzLnNpemVQcm92aWRlcj8uc2l6ZSA/PyAnbGcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChJQ09OX1NJWkVfUFJPVklERVIpXG4gICAgcHJpdmF0ZSBzaXplUHJvdmlkZXI/OiBJY29uU2l6ZVByb3ZpZGVyXG4gICkge31cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuc2l6ZSAhPT0gdGhpcy5pY29uQ2xhc3MpIHtcbiAgICAgIHRoaXMuYXBwbHlTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNpemUoKSB7XG4gICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLnNpemU7XG4gICAgY29uc3Qgc3ZnRWxlbTogU1ZHU1ZHRWxlbWVudCA9XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzdmcnKTtcblxuICAgIGlmICghc3ZnRWxlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN2Z0VsZW0uc2V0QXR0cmlidXRlKFxuICAgICAgJ2NsYXNzJyxcbiAgICAgIGBzYXBwaGlyZS1pY29uIHNhcHBoaXJlLWljb24tLSR7dGhpcy5pY29uQ2xhc3N9YFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ljb24vc3JjL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQW1CN0MsTUFBTSxPQUFPLGFBQWE7SUFFeEIsSUFDSSxJQUFJLENBQUMsS0FBeUI7UUFDaEMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFJRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO0lBQzNELENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFDVSxVQUFzQixFQUN0QixRQUFzQixFQUd0QixZQUErQjtRQUovQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFHdEIsaUJBQVksR0FBWixZQUFZLENBQW1CO0lBQ3RDLENBQUM7SUFFSixTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTztTQUNSO1FBRUQsT0FBTyxDQUFDLFlBQVksQ0FDbEIsT0FBTyxFQUNQLGdDQUFnQyxJQUFJLENBQUMsU0FBUyxJQUM1QyxJQUFJLENBQUMsS0FBSyxJQUFJLGtCQUFrQixJQUFJLENBQUMsS0FBSyxFQUM1QyxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7OzBHQTdEVSxhQUFhLHdFQW9DZCxrQkFBa0I7OEZBcENqQixhQUFhLDJIQUxkLEVBQUU7MkZBS0QsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLEtBQUs7OzBCQXFDZCxRQUFROzswQkFDUixNQUFNOzJCQUFDLGtCQUFrQjs0Q0FqQ3hCLElBQUk7c0JBRFAsS0FBSztnQkFRUyxTQUFTO3NCQUF2QixLQUFLO3VCQUFDLE1BQU07Z0JBYVQsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNPTl9TSVpFX1BST1ZJREVSLCBJY29uU2l6ZVByb3ZpZGVyIH0gZnJvbSAnLi9pY29uLXNpemUtcHJvdmlkZXInO1xuaW1wb3J0IHsgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi9pY29uUmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBzYW5pdGl6ZVN2ZyB9IGZyb20gJy4vc3ZnU2FuaXRpemVyJztcblxudHlwZSBJY29uU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XG5cbnR5cGUgSWNvbkNvbG9yID1cbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdwb3NpdGl2ZSdcbiAgfCAnbmVnYXRpdmUnXG4gIHwgJ3dhcm5pbmcnXG4gIHwgJ2luZm9ybWF0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtaWNvbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBwcml2YXRlIGljb25DbGFzcz86IEljb25TaXplO1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgdW5zYWZlU3ZnID0gKHZhbHVlICYmIHRoaXMucmVnaXN0cnkuZ2V0U3ZnKHZhbHVlKSkgfHwgJyc7XG4gICAgY29uc3Qgc2FmZVN2ZyA9IHNhbml0aXplU3ZnKHVuc2FmZVN2Zyk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gc2FmZVN2ZztcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgfVxuXG4gIEBJbnB1dCgnc2l6ZScpIHNpemVJbnB1dD86IEljb25TaXplO1xuXG4gIGdldCBzaXplKCk6IEljb25TaXplIHtcbiAgICByZXR1cm4gdGhpcy5zaXplSW5wdXQgPz8gdGhpcy5zaXplUHJvdmlkZXI/LnNpemUgPz8gJ21kJztcbiAgfVxuXG4gIHByaXZhdGUgX2NvbG9yPzogSWNvbkNvbG9yO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VtYW50aWMgY29sb3Igb2YgdGhlIHRleHQuXG4gICAqIE5vIHZhbHVlIG1lYW5zIHRoYXQgdGhlIGNvbG9yIHdpbGwgYmUgaW5oZXJpdGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNvbG9yKGNvbG9yOiBJY29uQ29sb3IgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9jb2xvciA9IGNvbG9yO1xuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xuICB9XG5cbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlZ2lzdHJ5OiBJY29uUmVnaXN0cnksXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KElDT05fU0laRV9QUk9WSURFUilcbiAgICBwcml2YXRlIHNpemVQcm92aWRlcj86IEljb25TaXplUHJvdmlkZXJcbiAgKSB7fVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5zaXplICE9PSB0aGlzLmljb25DbGFzcykge1xuICAgICAgdGhpcy5zZXRDbGFzc2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDbGFzc2VzKCkge1xuICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy5zaXplO1xuICAgIGNvbnN0IHN2Z0VsZW06IFNWR1NWR0VsZW1lbnQgPVxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3ZnJyk7XG5cbiAgICBpZiAoIXN2Z0VsZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzdmdFbGVtLnNldEF0dHJpYnV0ZShcbiAgICAgICdjbGFzcycsXG4gICAgICBgc2FwcGhpcmUtaWNvbiBzYXBwaGlyZS1pY29uLS0ke3RoaXMuaWNvbkNsYXNzfSAke1xuICAgICAgICB0aGlzLmNvbG9yICYmIGBzYXBwaGlyZS1pY29uLS0ke3RoaXMuY29sb3J9YFxuICAgICAgfWBcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,18 +1,20 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { IconComponent } from './icon.component';
4
+ import { IconRegistry } from './iconRegistry.service';
4
5
  import * as i0 from "@angular/core";
5
6
  export class SapphireIconModule {
6
7
  }
7
8
  SapphireIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
9
  SapphireIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireIconModule, declarations: [IconComponent], imports: [CommonModule], exports: [IconComponent] });
9
- SapphireIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireIconModule, imports: [CommonModule] });
10
+ SapphireIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireIconModule, providers: [IconRegistry], imports: [CommonModule] });
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireIconModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
13
14
  declarations: [IconComponent],
14
15
  imports: [CommonModule],
15
16
  exports: [IconComponent],
17
+ providers: [IconRegistry],
16
18
  }]
17
19
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ljb24vc3JjL2ljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUpkLGFBQWEsYUFDbEIsWUFBWSxhQUNaLGFBQWE7Z0hBRVosa0JBQWtCLFlBSG5CLFlBQVk7MkZBR1gsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0ljb25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTYXBwaGlyZUljb25Nb2R1bGUge31cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ljb24vc3JjL2ljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUXRELE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFMZCxhQUFhLGFBQ2xCLFlBQVksYUFDWixhQUFhO2dIQUdaLGtCQUFrQixhQUZsQixDQUFDLFlBQVksQ0FBQyxZQUZmLFlBQVk7MkZBSVgsa0JBQWtCO2tCQU45QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4vaWNvblJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJY29uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbSWNvblJlZ2lzdHJ5XSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVJY29uTW9kdWxlIHt9XG4iXX0=