valtech-components 2.0.434 → 2.0.436

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 (60) hide show
  1. package/esm2022/lib/components/atoms/fab/fab.component.mjs +5 -4
  2. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +13 -5
  3. package/esm2022/lib/components/molecules/comment-input/types.mjs +2 -0
  4. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +23 -4
  5. package/esm2022/lib/components/molecules/date-input/types.mjs +2 -0
  6. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +352 -0
  7. package/esm2022/lib/components/molecules/feedback-form/types.mjs +2 -0
  8. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +7 -7
  9. package/esm2022/lib/components/molecules/file-input/types.mjs +2 -0
  10. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +23 -9
  11. package/esm2022/lib/components/molecules/number-from-to/types.mjs +2 -0
  12. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +2 -2
  13. package/esm2022/lib/components/molecules/pin-input/types.mjs +2 -0
  14. package/esm2022/lib/components/organisms/form/form.component.mjs +110 -32
  15. package/esm2022/lib/services/auth/auth.service.mjs +25 -25
  16. package/esm2022/lib/services/content/content-types/blog.mjs +275 -0
  17. package/esm2022/lib/services/content/content-types/documentation.mjs +303 -0
  18. package/esm2022/lib/services/content/content-types/news.mjs +277 -0
  19. package/esm2022/lib/services/content/index.mjs +51 -0
  20. package/esm2022/lib/services/content/transformer.mjs +265 -0
  21. package/esm2022/lib/services/content/types.mjs +41 -0
  22. package/esm2022/lib/services/feedback/config.mjs +49 -0
  23. package/esm2022/lib/services/feedback/feedback.service.mjs +174 -0
  24. package/esm2022/lib/services/feedback/index.mjs +44 -0
  25. package/esm2022/lib/services/feedback/types.mjs +30 -0
  26. package/esm2022/lib/services/firebase/index.mjs +3 -1
  27. package/esm2022/lib/services/firebase/shared-config.mjs +132 -0
  28. package/esm2022/public-api.mjs +14 -1
  29. package/fesm2022/valtech-components.mjs +2255 -207
  30. package/fesm2022/valtech-components.mjs.map +1 -1
  31. package/lib/components/atoms/fab/fab.component.d.ts +2 -0
  32. package/lib/components/molecules/comment-input/comment-input.component.d.ts +4 -4
  33. package/lib/components/molecules/comment-input/types.d.ts +59 -0
  34. package/lib/components/molecules/date-input/date-input.component.d.ts +4 -3
  35. package/lib/components/molecules/date-input/types.d.ts +74 -0
  36. package/lib/components/molecules/feedback-form/feedback-form.component.d.ts +56 -0
  37. package/lib/components/molecules/feedback-form/types.d.ts +54 -0
  38. package/lib/components/molecules/file-input/file-input.component.d.ts +5 -3
  39. package/lib/components/molecules/file-input/types.d.ts +72 -0
  40. package/lib/components/molecules/number-from-to/number-from-to.component.d.ts +8 -2
  41. package/lib/components/molecules/number-from-to/types.d.ts +76 -0
  42. package/lib/components/molecules/pin-input/pin-input.component.d.ts +4 -3
  43. package/lib/components/molecules/pin-input/types.d.ts +63 -0
  44. package/lib/components/organisms/article/article.component.d.ts +1 -1
  45. package/lib/components/organisms/form/form.component.d.ts +16 -2
  46. package/lib/services/auth/auth.service.d.ts +1 -0
  47. package/lib/services/content/content-types/blog.d.ts +148 -0
  48. package/lib/services/content/content-types/documentation.d.ts +183 -0
  49. package/lib/services/content/content-types/news.d.ts +162 -0
  50. package/lib/services/content/index.d.ts +49 -0
  51. package/lib/services/content/transformer.d.ts +96 -0
  52. package/lib/services/content/types.d.ts +220 -0
  53. package/lib/services/feedback/config.d.ts +35 -0
  54. package/lib/services/feedback/feedback.service.d.ts +76 -0
  55. package/lib/services/feedback/index.d.ts +40 -0
  56. package/lib/services/feedback/types.d.ts +107 -0
  57. package/lib/services/firebase/index.d.ts +1 -0
  58. package/lib/services/firebase/shared-config.d.ts +120 -0
  59. package/package.json +1 -1
  60. package/public-api.d.ts +9 -0
@@ -4,6 +4,7 @@ import { CommonModule } from '@angular/common';
4
4
  import { addIcons } from 'ionicons';
5
5
  import { add, close, share, create, trash, heart, star, camera, mic, send } from 'ionicons/icons';
6
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/icons.service";
7
8
  addIcons({ add, close, share, create, trash, heart, star, camera, mic, send });
8
9
  /**
9
10
  * val-fab
@@ -35,7 +36,7 @@ addIcons({ add, close, share, create, trash, heart, star, camera, mic, send });
35
36
  * @output actionClick: FabActionMetadata - Emits when an action is clicked
36
37
  */
37
38
  export class FabComponent {
38
- constructor() {
39
+ constructor(icon) {
39
40
  this.fabClick = new EventEmitter();
40
41
  this.actionClick = new EventEmitter();
41
42
  this.isActivated = false;
@@ -76,7 +77,7 @@ export class FabComponent {
76
77
  this.isActivated = false;
77
78
  }
78
79
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FabComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
80
81
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FabComponent, isStandalone: true, selector: "val-fab", inputs: { props: "props" }, outputs: { fabClick: "fabClick", actionClick: "actionClick" }, ngImport: i0, template: `
81
82
  <ion-fab
82
83
  [vertical]="getVertical()"
@@ -142,11 +143,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
142
143
  }
143
144
  </ion-fab>
144
145
  `, styles: [":host{display:block}ion-fab{position:relative}ion-fab-button{--box-shadow: 0 4px 12px rgba(0, 0, 0, .15);transition:transform .2s}ion-fab-button:hover:not([disabled]){transform:scale(1.05)}ion-fab-button:active:not([disabled]){transform:scale(.95)}ion-fab-list ion-fab-button{--box-shadow: 0 2px 8px rgba(0, 0, 0, .1)}\n"] }]
145
- }], propDecorators: { props: [{
146
+ }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { props: [{
146
147
  type: Input
147
148
  }], fabClick: [{
148
149
  type: Output
149
150
  }], actionClick: [{
150
151
  type: Output
151
152
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9mYWIvZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVsRyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBdUMvRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBbEV6QjtRQXFFWSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBRTlELGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBcUNyQjtJQW5DQyxXQUFXO1FBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDO1FBQ2hELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFDOUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUM7UUFDaEQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQzFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUF5QjtRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOytHQTFDVSxZQUFZO21HQUFaLFlBQVksOEpBOURiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQseVlBL0JTLFlBQVksK0JBQUUsTUFBTSw2R0FBRSxZQUFZLDhPQUFFLFVBQVUsd0ZBQUUsT0FBTzs7NEZBK0R0RCxZQUFZO2tCQWxFeEIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsWUFDbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVDs4QkFpQ1EsS0FBSztzQkFBYixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25GYWIsIElvbkZhYkJ1dHRvbiwgSW9uRmFiTGlzdCwgSW9uSWNvbiwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGYWJNZXRhZGF0YSwgRmFiQWN0aW9uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYWRkLCBjbG9zZSwgc2hhcmUsIGNyZWF0ZSwgdHJhc2gsIGhlYXJ0LCBzdGFyLCBjYW1lcmEsIG1pYywgc2VuZCB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuYWRkSWNvbnMoeyBhZGQsIGNsb3NlLCBzaGFyZSwgY3JlYXRlLCB0cmFzaCwgaGVhcnQsIHN0YXIsIGNhbWVyYSwgbWljLCBzZW5kIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFiJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uRmFiLCBJb25GYWJCdXR0b24sIElvbkZhYkxpc3QsIElvbkljb24sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWZhYlxuICAgICAgW3ZlcnRpY2FsXT1cImdldFZlcnRpY2FsKClcIlxuICAgICAgW2hvcml6b250YWxdPVwiZ2V0SG9yaXpvbnRhbCgpXCJcbiAgICAgIFthY3RpdmF0ZWRdPVwiaXNBY3RpdmF0ZWRcIlxuICAgID5cbiAgICAgIDxpb24tZmFiLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIFt0cmFuc2x1Y2VudF09XCJwcm9wcy50cmFuc2x1Y2VudFwiXG4gICAgICAgIChjbGljayk9XCJvbk1haW5DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImdldE1haW5JY29uKClcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tZmFiLWJ1dHRvbj5cblxuICAgICAgQGlmIChwcm9wcy5hY3Rpb25zICYmIHByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICA8aW9uLWZhYi1saXN0IFtzaWRlXT1cInByb3BzLnNpZGUgfHwgJ3RvcCdcIj5cbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgcHJvcHMuYWN0aW9uczsgdHJhY2sgYWN0aW9uLnRva2VuIHx8ICRpbmRleCkge1xuICAgICAgICAgICAgPGlvbi1mYWItYnV0dG9uXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3IgfHwgJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImFjdGlvbi5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWZhYi1idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1mYWItbGlzdD5cbiAgICAgIH1cbiAgICA8L2lvbi1mYWI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2ZhYi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWZhYlxuICpcbiAqIEEgRmxvYXRpbmcgQWN0aW9uIEJ1dHRvbiBjb21wb25lbnQgd2l0aCBvcHRpb25hbCBzcGVlZCBkaWFsIGFjdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgU2ltcGxlIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCdcbiAqIH1cIiAoZmFiQ2xpY2spPVwib25DcmVhdGUoKVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAZXhhbXBsZSBTcGVlZCBkaWFsIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGljb25BY3RpdmF0ZWQ6ICdjbG9zZScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCcsXG4gKiAgIGFjdGlvbnM6IFtcbiAqICAgICB7IGljb246ICdjYW1lcmEnLCBsYWJlbDogJ1Bob3RvJywgdG9rZW46ICdwaG90bycgfSxcbiAqICAgICB7IGljb246ICdtaWMnLCBsYWJlbDogJ0F1ZGlvJywgdG9rZW46ICdhdWRpbycgfSxcbiAqICAgICB7IGljb246ICdjcmVhdGUnLCBsYWJlbDogJ05vdGUnLCB0b2tlbjogJ25vdGUnIH1cbiAqICAgXSxcbiAqICAgc2lkZTogJ3RvcCdcbiAqIH1cIiAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb24oJGV2ZW50KVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEZhYk1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIEZBQlxuICogQG91dHB1dCBmYWJDbGljazogdm9pZCAtIEVtaXRzIHdoZW4gbWFpbiBGQUIgaXMgY2xpY2tlZCAod2l0aG91dCBhY3Rpb25zKVxuICogQG91dHB1dCBhY3Rpb25DbGljazogRmFiQWN0aW9uTWV0YWRhdGEgLSBFbWl0cyB3aGVuIGFuIGFjdGlvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRmFiTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIGZhYkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZhYkFjdGlvbk1ldGFkYXRhPigpO1xuXG4gIGlzQWN0aXZhdGVkID0gZmFsc2U7XG5cbiAgZ2V0VmVydGljYWwoKTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInIHtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnByb3BzLnBvc2l0aW9uIHx8ICdib3R0b20tZW5kJztcbiAgICBpZiAocG9zLnN0YXJ0c1dpdGgoJ3RvcCcpKSByZXR1cm4gJ3RvcCc7XG4gICAgaWYgKHBvcy5zdGFydHNXaXRoKCdjZW50ZXInKSkgcmV0dXJuICdjZW50ZXInO1xuICAgIHJldHVybiAnYm90dG9tJztcbiAgfVxuXG4gIGdldEhvcml6b250YWwoKTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicge1xuICAgIGNvbnN0IHBvcyA9IHRoaXMucHJvcHMucG9zaXRpb24gfHwgJ2JvdHRvbS1lbmQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ3N0YXJ0JykpIHJldHVybiAnc3RhcnQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ2NlbnRlcicpKSByZXR1cm4gJ2NlbnRlcic7XG4gICAgcmV0dXJuICdlbmQnO1xuICB9XG5cbiAgZ2V0TWFpbkljb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2YXRlZCAmJiB0aGlzLnByb3BzLmljb25BY3RpdmF0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmljb25BY3RpdmF0ZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLmljb247XG4gIH1cblxuICBvbk1haW5DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5hY3Rpb25zICYmIHRoaXMucHJvcHMuYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmlzQWN0aXZhdGVkID0gIXRoaXMuaXNBY3RpdmF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmFiQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soYWN0aW9uOiBGYWJBY3Rpb25NZXRhZGF0YSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChhY3Rpb24pO1xuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlT25BY3Rpb24gIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmlzQWN0aXZhdGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9mYWIvZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHbEcsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQXVDL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQVF2QixZQUFZLElBQWlCO1FBTG5CLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFOUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFWSxDQUFDO0lBRWpDLFdBQVc7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUM7UUFDaEQsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUM5QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQztRQUNoRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUM7UUFDMUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU8sUUFBUSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBNUNVLFlBQVk7bUdBQVosWUFBWSw4SkE5RGI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCx5WUEvQlMsWUFBWSwrQkFBRSxNQUFNLDZHQUFFLFlBQVksOE9BQUUsVUFBVSx3RkFBRSxPQUFPOzs0RkErRHRELFlBQVk7a0JBbEV4QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUNsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJUO2dGQWlDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkZhYiwgSW9uRmFiQnV0dG9uLCBJb25GYWJMaXN0LCBJb25JY29uLCBJb25MYWJlbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZhYk1ldGFkYXRhLCBGYWJBY3Rpb25NZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhZGQsIGNsb3NlLCBzaGFyZSwgY3JlYXRlLCB0cmFzaCwgaGVhcnQsIHN0YXIsIGNhbWVyYSwgbWljLCBzZW5kIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcblxuYWRkSWNvbnMoeyBhZGQsIGNsb3NlLCBzaGFyZSwgY3JlYXRlLCB0cmFzaCwgaGVhcnQsIHN0YXIsIGNhbWVyYSwgbWljLCBzZW5kIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFiJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uRmFiLCBJb25GYWJCdXR0b24sIElvbkZhYkxpc3QsIElvbkljb24sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWZhYlxuICAgICAgW3ZlcnRpY2FsXT1cImdldFZlcnRpY2FsKClcIlxuICAgICAgW2hvcml6b250YWxdPVwiZ2V0SG9yaXpvbnRhbCgpXCJcbiAgICAgIFthY3RpdmF0ZWRdPVwiaXNBY3RpdmF0ZWRcIlxuICAgID5cbiAgICAgIDxpb24tZmFiLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIFt0cmFuc2x1Y2VudF09XCJwcm9wcy50cmFuc2x1Y2VudFwiXG4gICAgICAgIChjbGljayk9XCJvbk1haW5DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImdldE1haW5JY29uKClcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tZmFiLWJ1dHRvbj5cblxuICAgICAgQGlmIChwcm9wcy5hY3Rpb25zICYmIHByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICA8aW9uLWZhYi1saXN0IFtzaWRlXT1cInByb3BzLnNpZGUgfHwgJ3RvcCdcIj5cbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgcHJvcHMuYWN0aW9uczsgdHJhY2sgYWN0aW9uLnRva2VuIHx8ICRpbmRleCkge1xuICAgICAgICAgICAgPGlvbi1mYWItYnV0dG9uXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3IgfHwgJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImFjdGlvbi5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWZhYi1idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1mYWItbGlzdD5cbiAgICAgIH1cbiAgICA8L2lvbi1mYWI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2ZhYi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWZhYlxuICpcbiAqIEEgRmxvYXRpbmcgQWN0aW9uIEJ1dHRvbiBjb21wb25lbnQgd2l0aCBvcHRpb25hbCBzcGVlZCBkaWFsIGFjdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgU2ltcGxlIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCdcbiAqIH1cIiAoZmFiQ2xpY2spPVwib25DcmVhdGUoKVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAZXhhbXBsZSBTcGVlZCBkaWFsIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGljb25BY3RpdmF0ZWQ6ICdjbG9zZScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCcsXG4gKiAgIGFjdGlvbnM6IFtcbiAqICAgICB7IGljb246ICdjYW1lcmEnLCBsYWJlbDogJ1Bob3RvJywgdG9rZW46ICdwaG90bycgfSxcbiAqICAgICB7IGljb246ICdtaWMnLCBsYWJlbDogJ0F1ZGlvJywgdG9rZW46ICdhdWRpbycgfSxcbiAqICAgICB7IGljb246ICdjcmVhdGUnLCBsYWJlbDogJ05vdGUnLCB0b2tlbjogJ25vdGUnIH1cbiAqICAgXSxcbiAqICAgc2lkZTogJ3RvcCdcbiAqIH1cIiAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb24oJGV2ZW50KVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEZhYk1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIEZBQlxuICogQG91dHB1dCBmYWJDbGljazogdm9pZCAtIEVtaXRzIHdoZW4gbWFpbiBGQUIgaXMgY2xpY2tlZCAod2l0aG91dCBhY3Rpb25zKVxuICogQG91dHB1dCBhY3Rpb25DbGljazogRmFiQWN0aW9uTWV0YWRhdGEgLSBFbWl0cyB3aGVuIGFuIGFjdGlvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRmFiTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIGZhYkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZhYkFjdGlvbk1ldGFkYXRhPigpO1xuXG4gIGlzQWN0aXZhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoaWNvbjogSWNvblNlcnZpY2UpIHt9XG5cbiAgZ2V0VmVydGljYWwoKTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInIHtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnByb3BzLnBvc2l0aW9uIHx8ICdib3R0b20tZW5kJztcbiAgICBpZiAocG9zLnN0YXJ0c1dpdGgoJ3RvcCcpKSByZXR1cm4gJ3RvcCc7XG4gICAgaWYgKHBvcy5zdGFydHNXaXRoKCdjZW50ZXInKSkgcmV0dXJuICdjZW50ZXInO1xuICAgIHJldHVybiAnYm90dG9tJztcbiAgfVxuXG4gIGdldEhvcml6b250YWwoKTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicge1xuICAgIGNvbnN0IHBvcyA9IHRoaXMucHJvcHMucG9zaXRpb24gfHwgJ2JvdHRvbS1lbmQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ3N0YXJ0JykpIHJldHVybiAnc3RhcnQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ2NlbnRlcicpKSByZXR1cm4gJ2NlbnRlcic7XG4gICAgcmV0dXJuICdlbmQnO1xuICB9XG5cbiAgZ2V0TWFpbkljb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2YXRlZCAmJiB0aGlzLnByb3BzLmljb25BY3RpdmF0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmljb25BY3RpdmF0ZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLmljb247XG4gIH1cblxuICBvbk1haW5DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5hY3Rpb25zICYmIHRoaXMucHJvcHMuYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmlzQWN0aXZhdGVkID0gIXRoaXMuaXNBY3RpdmF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmFiQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soYWN0aW9uOiBGYWJBY3Rpb25NZXRhZGF0YSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChhY3Rpb24pO1xuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlT25BY3Rpb24gIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmlzQWN0aXZhdGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -10,24 +10,32 @@ import * as i1 from "@angular/forms";
10
10
  * A textarea input for multi-line comments, integrated with Angular forms.
11
11
  *
12
12
  * @example
13
- * <val-comment-input [props]="{ control: myControl, range: { max: 200 } }"></val-comment-input>
13
+ * <val-comment-input [props]="{ control: myControl, maxLength: 200 }"></val-comment-input>
14
14
  *
15
- * @input props: InputMetadata - Configuration for the textarea (form control, range, etc.)
15
+ * @input props: CommentInputMetadata - Configuration for the textarea (form control, maxLength, etc.)
16
16
  */
17
17
  export class CommentInputComponent {
18
18
  constructor() { }
19
19
  ngOnInit() { }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CommentInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
21
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CommentInputComponent, isStandalone: true, selector: "val-comment-input", inputs: { props: "props" }, ngImport: i0, template: `
22
- <ion-textarea [formControl]="props.control" [counter]="true" [maxlength]="props.range.max"></ion-textarea>
22
+ <ion-textarea
23
+ [formControl]="props.control"
24
+ [counter]="props.showCounter !== false"
25
+ [maxlength]="props.maxLength"
26
+ ></ion-textarea>
23
27
  `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
24
28
  }
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CommentInputComponent, decorators: [{
26
30
  type: Component,
27
31
  args: [{ selector: 'val-comment-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonCheckbox, IonTextarea], template: `
28
- <ion-textarea [formControl]="props.control" [counter]="true" [maxlength]="props.range.max"></ion-textarea>
32
+ <ion-textarea
33
+ [formControl]="props.control"
34
+ [counter]="props.showCounter !== false"
35
+ [maxlength]="props.maxLength"
36
+ ></ion-textarea>
29
37
  ` }]
30
38
  }], ctorParameters: () => [], propDecorators: { props: [{
31
39
  type: Input
32
40
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQtaW5wdXQvY29tbWVudC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVlyRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7K0dBWEYscUJBQXFCO21HQUFyQixxQkFBcUIseUdBZnRCOztHQUVULHlFQUhTLFlBQVksOEJBQUUsbUJBQW1CLDZkQUFlLFdBQVc7OzRGQWdCMUQscUJBQXFCO2tCQW5CakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsWUFDNUQ7O0dBRVQ7d0RBb0JRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25DaGVja2JveCwgSW9uVGV4dGFyZWEgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jb21tZW50LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uQ2hlY2tib3gsIElvblRleHRhcmVhXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXRleHRhcmVhIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCIgW2NvdW50ZXJdPVwidHJ1ZVwiIFttYXhsZW5ndGhdPVwicHJvcHMucmFuZ2UubWF4XCI+PC9pb24tdGV4dGFyZWE+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1jb21tZW50LWlucHV0XG4gKlxuICogQSB0ZXh0YXJlYSBpbnB1dCBmb3IgbXVsdGktbGluZSBjb21tZW50cywgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29tbWVudC1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIHJhbmdlOiB7IG1heDogMjAwIH0gfVwiPjwvdmFsLWNvbW1lbnQtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHRleHRhcmVhIChmb3JtIGNvbnRyb2wsIHJhbmdlLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgQ29tbWVudElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHRleHRhcmVhLlxuICAgKiBAcHJvcGVydHkgcmFuZ2UgLSBUaGUgcmFuZ2Ugb2JqZWN0IHdpdGggbWF4IGxlbmd0aC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQtaW5wdXQvY29tbWVudC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWdCckU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOytHQVhGLHFCQUFxQjttR0FBckIscUJBQXFCLHlHQW5CdEI7Ozs7OztHQU1ULHlFQVBTLFlBQVksOEJBQUUsbUJBQW1CLDZkQUFlLFdBQVc7OzRGQW9CMUQscUJBQXFCO2tCQXZCakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsWUFDNUQ7Ozs7OztHQU1UO3dEQW9CUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBDb21tZW50SW5wdXRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkNoZWNrYm94LCBJb25UZXh0YXJlYV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10ZXh0YXJlYVxuICAgICAgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIlxuICAgICAgW2NvdW50ZXJdPVwicHJvcHMuc2hvd0NvdW50ZXIgIT09IGZhbHNlXCJcbiAgICAgIFttYXhsZW5ndGhdPVwicHJvcHMubWF4TGVuZ3RoXCJcbiAgICA+PC9pb24tdGV4dGFyZWE+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1jb21tZW50LWlucHV0XG4gKlxuICogQSB0ZXh0YXJlYSBpbnB1dCBmb3IgbXVsdGktbGluZSBjb21tZW50cywgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29tbWVudC1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIG1heExlbmd0aDogMjAwIH1cIj48L3ZhbC1jb21tZW50LWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogQ29tbWVudElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgdGV4dGFyZWEgKGZvcm0gY29udHJvbCwgbWF4TGVuZ3RoLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgQ29tbWVudElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7Q29tbWVudElucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSB0ZXh0YXJlYS5cbiAgICogQHByb3BlcnR5IG1heExlbmd0aCAtIE1heGltdW0gY2hhcmFjdGVyIGxlbmd0aC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBDb21tZW50SW5wdXRNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQtaW5wdXQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIGNvbW1lbnQgaW5wdXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRJbnB1dE1ldGFkYXRhIHtcbiAgLyoqIEZvcm0gY29udHJvbCBmb3IgdGhlIGNvbW1lbnQgdmFsdWUgKi9cbiAgY29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gIC8qKiBVbmlxdWUgdG9rZW4gZm9yIHRoZSBpbnB1dCAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqIERpc3BsYXkgbGFiZWwgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBuYW1lICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBIZWxwIHRleHQgKi9cbiAgaGludD86IHN0cmluZztcbiAgLyoqIFBsYWNlaG9sZGVyIHRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBzdGF0ZSAqL1xuICBzdGF0ZT86IENvbXBvbmVudFN0YXRlO1xuXG4gIC8vID09PSBUZXh0YXJlYSBjb25maWd1cmF0aW9uID09PVxuICAvKiogTWF4aW11bSBjaGFyYWN0ZXIgbGVuZ3RoICovXG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgLyoqIE1pbmltdW0gY2hhcmFjdGVyIGxlbmd0aCAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgdmlzaWJsZSByb3dzICovXG4gIHJvd3M/OiBudW1iZXI7XG4gIC8qKiBTaG93IGNoYXJhY3RlciBjb3VudGVyICovXG4gIHNob3dDb3VudGVyPzogYm9vbGVhbjtcbiAgLyoqIENvdW50ZXIgZm9ybWF0IChlLmcuLCAne2N1cnJlbnR9L3ttYXh9JykgKi9cbiAgY291bnRlckZvcm1hdD86IHN0cmluZztcblxuICAvLyA9PT0gU3R5bGluZyA9PT1cbiAgLyoqIENvbXBvbmVudCBjb2xvciAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgLyoqIEZpbGwgc3R5bGUgKi9cbiAgZmlsbD86ICdzb2xpZCcgfCAnb3V0bGluZSc7XG5cbiAgLy8gPT09IFJlYWN0aXZlIGNvbnRlbnQgPT09XG4gIC8qKiBDb250ZW50IGtleSBmb3IgcmVhY3RpdmUgbGFiZWwgKi9cbiAgY29udGVudEtleT86IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCBjbGFzcyBuYW1lIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnQga2V5IGlzIG5vdCBmb3VuZCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG5cbiAgLy8gPT09IFZhbGlkYXRpb24gZGlzcGxheSA9PT1cbiAgLyoqIEN1c3RvbSBlcnJvciBtZXNzYWdlcyAqL1xuICBlcnJvcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogU2hvdyB2YWxpZGF0aW9uIGVycm9ycyAqL1xuICBzaG93RXJyb3JzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gY29tbWVudCBpbnB1dCBjaGFuZ2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRJbnB1dENoYW5nZUV2ZW50IHtcbiAgLyoqIEN1cnJlbnQgY29tbWVudCB2YWx1ZSAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQ3VycmVudCBjaGFyYWN0ZXIgY291bnQgKi9cbiAgbGVuZ3RoOiBudW1iZXI7XG4gIC8qKiBSZW1haW5pbmcgY2hhcmFjdGVycyAoaWYgbWF4TGVuZ3RoIGlzIHNldCkgKi9cbiAgcmVtYWluaW5nOiBudW1iZXIgfCBudWxsO1xufVxuIl19
@@ -2,7 +2,6 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, Input } from '@angular/core';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { IonDatetime, IonDatetimeButton, IonModal } from '@ionic/angular/standalone';
5
- import { applyDefaultValueToControl } from '../../../shared/utils/form-defaults';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "@angular/forms";
8
7
  /**
@@ -13,14 +12,34 @@ import * as i1 from "@angular/forms";
13
12
  * @example
14
13
  * <val-date-input [props]="{ control: myControl, hint: 'Select a date' }"></val-date-input>
15
14
  *
16
- * @input props: InputMetadata - Configuration for the date input (form control, hint, etc.)
15
+ * @input props: DateInputMetadata - Configuration for the date input (form control, hint, etc.)
17
16
  */
18
17
  export class DateInputComponent {
19
18
  constructor() { }
20
19
  ngOnInit() {
21
20
  // Apply default values on initialization
22
21
  if (this.props?.withDefault || this.props?.value) {
23
- applyDefaultValueToControl(this.props);
22
+ this.applyDefaultValue();
23
+ }
24
+ }
25
+ applyDefaultValue() {
26
+ if (!this.props.control)
27
+ return;
28
+ let defaultValue = null;
29
+ // Explicit value takes precedence
30
+ if (this.props.value) {
31
+ defaultValue = new Date(this.props.value).toISOString();
32
+ }
33
+ else if (typeof this.props.withDefault === 'string') {
34
+ defaultValue = new Date(this.props.withDefault).toISOString();
35
+ }
36
+ else if (this.props.withDefault === true) {
37
+ defaultValue = new Date().toISOString();
38
+ }
39
+ if (defaultValue) {
40
+ this.props.control.setValue(defaultValue);
41
+ this.props.control.markAsPristine();
42
+ this.props.control.updateValueAndValidity();
24
43
  }
25
44
  }
26
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -80,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
80
99
  }], ctorParameters: () => [], propDecorators: { props: [{
81
100
  type: Input
82
101
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQWtDakY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQVM3QixnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTix5Q0FBeUM7UUFDekMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzsrR0FoQlUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0dBckNuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULHN4RkF6QlMsWUFBWSw4QkFBRSxtQkFBbUIsMFRBQUUsV0FBVyxvaEJBQUUsaUJBQWlCLG1IQUFFLFFBQVE7OzRGQXNDMUUsa0JBQWtCO2tCQXpDOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxZQUM1RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUO3dEQW9CUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uRGF0ZXRpbWUsIElvbkRhdGV0aW1lQnV0dG9uLCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBjbGFzcz1cImFjdGlvblwiIFtkYXRldGltZV09XCJwcm9wcy50b2tlblwiPjwvaW9uLWRhdGV0aW1lLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aW9uLW1vZGFsIFtrZWVwQ29udGVudHNNb3VudGVkXT1cInRydWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgPGlvbi1kYXRldGltZVxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgICAgICBbaWRdPVwicHJvcHMudG9rZW5cIlxuICAgICAgICAgIHByZXNlbnRhdGlvbj1cImRhdGVcIlxuICAgICAgICAgIGxvY2FsZT1cImVzLUVTXCJcbiAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiMVwiXG4gICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICBkb25lVGV4dD1cIkFjZXB0YXJcIlxuICAgICAgICAgIGNhbmNlbFRleHQ9XCJDYW5jZWxhclwiXG4gICAgICAgICAgZm9ybWF0T3B0aW9ucz1cIntcbiAgICAgICAgICAgIGRhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9LFxuICAgICAgICAgICAgdGltZTogeyB0aW1lU3R5bGU6ICdzaG9ydCcgfVxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgcHJvcHMuaGludCB9fTwvc3Bhbj5cbiAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLW1vZGFsPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSBwaWNrZXIgaW5wdXQgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMsIHVzaW5nIElvbmljJ3MgZGF0ZXRpbWUgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWRhdGUtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBoaW50OiAnU2VsZWN0IGEgZGF0ZScgfVwiPjwvdmFsLWRhdGUtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRhdGUgaW5wdXQgKGZvcm0gY29udHJvbCwgaGludCwgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBJbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0lucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBkYXRlIGlucHV0LlxuICAgKiBAcHJvcGVydHkgaGludCAtIFRoZSBoaW50IHRleHQgZm9yIHRoZSBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBBcHBseSBkZWZhdWx0IHZhbHVlcyBvbiBpbml0aWFsaXphdGlvblxuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWtDckY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQVM3QixnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTix5Q0FBeUM7UUFDekMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRWhDLElBQUksWUFBWSxHQUFrQixJQUFJLENBQUM7UUFFdkMsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRCxDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3RELFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hFLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOytHQXJDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzR0FyQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQsc3hGQXpCUyxZQUFZLDhCQUFFLG1CQUFtQiwwVEFBRSxXQUFXLG9oQkFBRSxpQkFBaUIsbUhBQUUsUUFBUTs7NEZBc0MxRSxrQkFBa0I7a0JBekM5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLFlBQzVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7d0RBb0JRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25EYXRldGltZSwgSW9uRGF0ZXRpbWVCdXR0b24sIElvbk1vZGFsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBEYXRlSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBjbGFzcz1cImFjdGlvblwiIFtkYXRldGltZV09XCJwcm9wcy50b2tlblwiPjwvaW9uLWRhdGV0aW1lLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aW9uLW1vZGFsIFtrZWVwQ29udGVudHNNb3VudGVkXT1cInRydWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgPGlvbi1kYXRldGltZVxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgICAgICBbaWRdPVwicHJvcHMudG9rZW5cIlxuICAgICAgICAgIHByZXNlbnRhdGlvbj1cImRhdGVcIlxuICAgICAgICAgIGxvY2FsZT1cImVzLUVTXCJcbiAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiMVwiXG4gICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICBkb25lVGV4dD1cIkFjZXB0YXJcIlxuICAgICAgICAgIGNhbmNlbFRleHQ9XCJDYW5jZWxhclwiXG4gICAgICAgICAgZm9ybWF0T3B0aW9ucz1cIntcbiAgICAgICAgICAgIGRhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9LFxuICAgICAgICAgICAgdGltZTogeyB0aW1lU3R5bGU6ICdzaG9ydCcgfVxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgcHJvcHMuaGludCB9fTwvc3Bhbj5cbiAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLW1vZGFsPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSBwaWNrZXIgaW5wdXQgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMsIHVzaW5nIElvbmljJ3MgZGF0ZXRpbWUgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWRhdGUtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBoaW50OiAnU2VsZWN0IGEgZGF0ZScgfVwiPjwvdmFsLWRhdGUtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBEYXRlSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkYXRlIGlucHV0IChmb3JtIGNvbnRyb2wsIGhpbnQsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtEYXRlSW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGRhdGUgaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBoaW50IC0gVGhlIGhpbnQgdGV4dCBmb3IgdGhlIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IERhdGVJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBBcHBseSBkZWZhdWx0IHZhbHVlcyBvbiBpbml0aWFsaXphdGlvblxuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgdGhpcy5hcHBseURlZmF1bHRWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEZWZhdWx0VmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2wpIHJldHVybjtcblxuICAgIGxldCBkZWZhdWx0VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gRXhwbGljaXQgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZVxuICAgIGlmICh0aGlzLnByb3BzLnZhbHVlKSB7XG4gICAgICBkZWZhdWx0VmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnByb3BzLnZhbHVlKS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMucHJvcHMud2l0aERlZmF1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBkZWZhdWx0VmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnByb3BzLndpdGhEZWZhdWx0KS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy53aXRoRGVmYXVsdCA9PT0gdHJ1ZSkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHRoaXMucHJvcHMuY29udHJvbC5zZXRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgdGhpcy5wcm9wcy5jb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB0aGlzLnByb3BzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtaW5wdXQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIGRhdGUgaW5wdXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVJbnB1dE1ldGFkYXRhIHtcbiAgLyoqIEZvcm0gY29udHJvbCBmb3IgdGhlIGRhdGUgdmFsdWUgKElTTyBzdHJpbmcpICovXG4gIGNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAvKiogVW5pcXVlIHRva2VuIGZvciB0aGUgaW5wdXQgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBEaXNwbGF5IGxhYmVsICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogRmllbGQgbmFtZSAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogSGVscCB0ZXh0IC8gdGl0bGUgZGlzcGxheWVkIGluIG1vZGFsICovXG4gIGhpbnQ/OiBzdHJpbmc7XG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogRmllbGQgc3RhdGUgKi9cbiAgc3RhdGU/OiBDb21wb25lbnRTdGF0ZTtcblxuICAvLyA9PT0gRGF0ZSBjb25maWd1cmF0aW9uID09PVxuICAvKiogTWluaW11bSBzZWxlY3RhYmxlIGRhdGUgKElTTyBzdHJpbmcpICovXG4gIG1pbj86IHN0cmluZztcbiAgLyoqIE1heGltdW0gc2VsZWN0YWJsZSBkYXRlIChJU08gc3RyaW5nKSAqL1xuICBtYXg/OiBzdHJpbmc7XG4gIC8qKiBMb2NhbGUgZm9yIGRhdGUgZGlzcGxheSAoZS5nLiwgJ2VzLUVTJykgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuICAvKiogRmlyc3QgZGF5IG9mIHdlZWsgKDAgPSBTdW5kYXksIDEgPSBNb25kYXkpICovXG4gIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xuICAvKiogRGF0ZSBwcmVzZW50YXRpb24gZm9ybWF0ICovXG4gIHByZXNlbnRhdGlvbj86ICdkYXRlJyB8ICdkYXRlLXRpbWUnIHwgJ21vbnRoJyB8ICdtb250aC15ZWFyJyB8ICd5ZWFyJyB8ICd0aW1lJztcbiAgLyoqIEN1c3RvbSBmb3JtYXQgb3B0aW9ucyAqL1xuICBmb3JtYXRPcHRpb25zPzoge1xuICAgIGRhdGU/OiB7IGRhdGVTdHlsZT86ICdmdWxsJyB8ICdsb25nJyB8ICdtZWRpdW0nIHwgJ3Nob3J0JyB9O1xuICAgIHRpbWU/OiB7IHRpbWVTdHlsZT86ICdmdWxsJyB8ICdsb25nJyB8ICdtZWRpdW0nIHwgJ3Nob3J0JyB9O1xuICB9O1xuXG4gIC8vID09PSBNb2RhbCBjb25maWd1cmF0aW9uID09PVxuICAvKiogRG9uZSBidXR0b24gdGV4dCAqL1xuICBkb25lVGV4dD86IHN0cmluZztcbiAgLyoqIENhbmNlbCBidXR0b24gdGV4dCAqL1xuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICAvKiogU2hvdyBkZWZhdWx0IGJ1dHRvbnMgKi9cbiAgc2hvd0RlZmF1bHRCdXR0b25zPzogYm9vbGVhbjtcblxuICAvLyA9PT0gU3R5bGluZyA9PT1cbiAgLyoqIENvbXBvbmVudCBjb2xvciAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcblxuICAvLyA9PT0gRGVmYXVsdCB2YWx1ZSA9PT1cbiAgLyoqIEluaXRpYWwgdmFsdWUgZm9yIHRoZSBmaWVsZCAqL1xuICB2YWx1ZT86IHN0cmluZztcbiAgLyoqIERlZmF1bHQgdmFsdWUgY29uZmlndXJhdGlvbiAtIHN0cmluZyBmb3IgY3VzdG9tIGRlZmF1bHRzLCB0cnVlIGZvciBhdXRvIGRlZmF1bHRzICovXG4gIHdpdGhEZWZhdWx0Pzogc3RyaW5nIHwgYm9vbGVhbjtcblxuICAvLyA9PT0gUmVhY3RpdmUgY29udGVudCA9PT1cbiAgLyoqIENvbnRlbnQga2V5IGZvciByZWFjdGl2ZSBsYWJlbCAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIG5hbWUgZm9yIGNvbnRlbnQgbG9va3VwICovXG4gIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgLyoqIEZhbGxiYWNrIHRleHQgaWYgY29udGVudCBrZXkgaXMgbm90IGZvdW5kICovXG4gIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcblxuICAvLyA9PT0gVmFsaWRhdGlvbiBkaXNwbGF5ID09PVxuICAvKiogQ3VzdG9tIGVycm9yIG1lc3NhZ2VzICovXG4gIGVycm9ycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKiBTaG93IHZhbGlkYXRpb24gZXJyb3JzICovXG4gIHNob3dFcnJvcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBkYXRlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUlucHV0Q2hhbmdlRXZlbnQge1xuICAvKiogU2VsZWN0ZWQgZGF0ZSB2YWx1ZSAoSVNPIHN0cmluZykgKi9cbiAgdmFsdWU6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBGb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgZm9yIGRpc3BsYXkgKi9cbiAgZm9ybWF0dGVkVmFsdWU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,352 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, inject, signal, } from '@angular/core';
3
+ import { FormBuilder, ReactiveFormsModule, Validators, } from '@angular/forms';
4
+ import { IonButton, IonIcon, IonItem, IonLabel, IonList, IonNote, IonSelect, IonSelectOption, IonSpinner, IonText, IonTextarea, } from '@ionic/angular/standalone';
5
+ import { addIcons } from 'ionicons';
6
+ import { bugOutline, bulbOutline, chatbubbleOutline, checkmarkCircleOutline, closeCircleOutline, documentTextOutline, } from 'ionicons/icons';
7
+ import { FeedbackService, DEFAULT_FEEDBACK_TYPE_OPTIONS, } from '../../../services/feedback';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "@angular/forms";
11
+ /**
12
+ * val-feedback-form
13
+ *
14
+ * Formulario reutilizable para enviar feedback desde cualquier parte de la aplicación.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <!-- Feedback general -->
19
+ * <val-feedback-form
20
+ * [props]="{ defaultType: 'feedback', showTypeSelector: true }"
21
+ * (onSubmit)="handleSuccess($event)"
22
+ * (onCancel)="closeModal()"
23
+ * />
24
+ *
25
+ * <!-- Reportar contenido incorrecto -->
26
+ * <val-feedback-form
27
+ * [props]="{
28
+ * defaultType: 'poor-content',
29
+ * showTypeSelector: false,
30
+ * contentRef: { contentId: article.id, contentType: 'article' },
31
+ * submitButtonText: 'Reportar contenido'
32
+ * }"
33
+ * />
34
+ * ```
35
+ */
36
+ export class FeedbackFormComponent {
37
+ constructor() {
38
+ /**
39
+ * Configuración del formulario.
40
+ */
41
+ this.props = {};
42
+ /**
43
+ * Evento emitido cuando el feedback se envía exitosamente.
44
+ */
45
+ this.onSubmit = new EventEmitter();
46
+ /**
47
+ * Evento emitido cuando el usuario cancela.
48
+ */
49
+ this.onCancel = new EventEmitter();
50
+ this.fb = inject(FormBuilder);
51
+ this.feedbackService = inject(FeedbackService);
52
+ this.typeOptions = DEFAULT_FEEDBACK_TYPE_OPTIONS;
53
+ this.isSubmitting = signal(false);
54
+ this.isSuccess = signal(false);
55
+ this.error = signal(null);
56
+ addIcons({
57
+ bugOutline,
58
+ bulbOutline,
59
+ chatbubbleOutline,
60
+ checkmarkCircleOutline,
61
+ closeCircleOutline,
62
+ documentTextOutline,
63
+ });
64
+ }
65
+ ngOnInit() {
66
+ // Filtrar tipos habilitados si se especifica
67
+ if (this.props.enabledTypes?.length) {
68
+ this.typeOptions = this.typeOptions.filter((opt) => this.props.enabledTypes.includes(opt.value));
69
+ }
70
+ // Usar opciones personalizadas si se proporcionan
71
+ if (this.props.typeOptions?.length) {
72
+ this.typeOptions = this.props.typeOptions;
73
+ }
74
+ // Inicializar formulario
75
+ this.form = this.fb.group({
76
+ type: [this.props.defaultType || 'feedback', Validators.required],
77
+ title: [
78
+ '',
79
+ [Validators.required, Validators.minLength(5), Validators.maxLength(200)],
80
+ ],
81
+ description: [
82
+ '',
83
+ [Validators.required, Validators.minLength(10), Validators.maxLength(5000)],
84
+ ],
85
+ });
86
+ }
87
+ async handleSubmit() {
88
+ if (this.form.invalid || this.isSubmitting())
89
+ return;
90
+ this.isSubmitting.set(true);
91
+ this.error.set(null);
92
+ this.isSuccess.set(false);
93
+ try {
94
+ const { type, title, description } = this.form.value;
95
+ const response = await this.feedbackService.createAsync(type, title, description, [], // attachments (por ahora vacío)
96
+ this.props.contentRef);
97
+ this.isSuccess.set(true);
98
+ this.form.reset({ type: this.props.defaultType || 'feedback' });
99
+ this.onSubmit.emit({
100
+ response,
101
+ type: type,
102
+ title,
103
+ });
104
+ }
105
+ catch (err) {
106
+ this.error.set(err.error?.message || err.message || 'Error al enviar el feedback');
107
+ }
108
+ finally {
109
+ this.isSubmitting.set(false);
110
+ }
111
+ }
112
+ onCancelClick() {
113
+ this.onCancel.emit();
114
+ }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedbackFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FeedbackFormComponent, isStandalone: true, selector: "val-feedback-form", inputs: { props: "props" }, outputs: { onSubmit: "onSubmit", onCancel: "onCancel" }, ngImport: i0, template: `
117
+ <form
118
+ [formGroup]="form"
119
+ (ngSubmit)="handleSubmit()"
120
+ class="feedback-form"
121
+ [class.compact]="props.compact"
122
+ [ngClass]="props.cssClass"
123
+ >
124
+ <!-- Type selector -->
125
+ @if (props.showTypeSelector !== false) {
126
+ <ion-item>
127
+ <ion-select
128
+ formControlName="type"
129
+ label="Tipo de feedback"
130
+ labelPlacement="floating"
131
+ interface="popover"
132
+ >
133
+ @for (option of typeOptions; track option.value) {
134
+ <ion-select-option [value]="option.value">
135
+ {{ option.label }}
136
+ </ion-select-option>
137
+ }
138
+ </ion-select>
139
+ </ion-item>
140
+ }
141
+
142
+ <!-- Title -->
143
+ <ion-item>
144
+ <ion-textarea
145
+ formControlName="title"
146
+ [label]="props.titleLabel || 'Título'"
147
+ labelPlacement="floating"
148
+ [placeholder]="props.titlePlaceholder || 'Describe brevemente...'"
149
+ [maxlength]="200"
150
+ [counter]="true"
151
+ [autoGrow]="false"
152
+ rows="1"
153
+ ></ion-textarea>
154
+ </ion-item>
155
+ @if (form.get('title')?.invalid && form.get('title')?.touched) {
156
+ <ion-note color="danger" class="ion-padding-start">
157
+ El título debe tener entre 5 y 200 caracteres
158
+ </ion-note>
159
+ }
160
+
161
+ <!-- Description -->
162
+ <ion-item>
163
+ <ion-textarea
164
+ formControlName="description"
165
+ [label]="props.descriptionLabel || 'Descripción'"
166
+ labelPlacement="floating"
167
+ [placeholder]="props.descriptionPlaceholder || 'Proporciona más detalles...'"
168
+ [maxlength]="5000"
169
+ [counter]="true"
170
+ [autoGrow]="true"
171
+ rows="4"
172
+ ></ion-textarea>
173
+ </ion-item>
174
+ @if (form.get('description')?.invalid && form.get('description')?.touched) {
175
+ <ion-note color="danger" class="ion-padding-start">
176
+ La descripción debe tener entre 10 y 5000 caracteres
177
+ </ion-note>
178
+ }
179
+
180
+ <!-- Error message -->
181
+ @if (error()) {
182
+ <div class="feedback-alert error">
183
+ <ion-icon name="close-circle-outline"></ion-icon>
184
+ <span>{{ error() }}</span>
185
+ </div>
186
+ }
187
+
188
+ <!-- Success message -->
189
+ @if (isSuccess()) {
190
+ <div class="feedback-alert success">
191
+ <ion-icon name="checkmark-circle-outline"></ion-icon>
192
+ <span>{{ props.successMessage || 'Feedback enviado exitosamente' }}</span>
193
+ </div>
194
+ }
195
+
196
+ <!-- Actions -->
197
+ <div class="form-actions">
198
+ @if (props.cancelButtonText) {
199
+ <ion-button
200
+ fill="outline"
201
+ color="medium"
202
+ type="button"
203
+ (click)="onCancelClick()"
204
+ >
205
+ {{ props.cancelButtonText }}
206
+ </ion-button>
207
+ }
208
+ <ion-button
209
+ type="submit"
210
+ [disabled]="form.invalid || isSubmitting()"
211
+ expand="block"
212
+ >
213
+ @if (isSubmitting()) {
214
+ <ion-spinner name="crescent"></ion-spinner>
215
+ } @else {
216
+ {{ props.submitButtonText || 'Enviar' }}
217
+ }
218
+ </ion-button>
219
+ </div>
220
+ </form>
221
+ `, isInline: true, styles: [".feedback-form{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.form-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;ion-button{flex:1}}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}ion-note{font-size:12px;margin-top:-4px;margin-bottom:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
222
+ }
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedbackFormComponent, decorators: [{
224
+ type: Component,
225
+ args: [{ selector: 'val-feedback-form', standalone: true, imports: [
226
+ CommonModule,
227
+ ReactiveFormsModule,
228
+ IonButton,
229
+ IonIcon,
230
+ IonItem,
231
+ IonLabel,
232
+ IonList,
233
+ IonNote,
234
+ IonSelect,
235
+ IonSelectOption,
236
+ IonSpinner,
237
+ IonText,
238
+ IonTextarea,
239
+ ], template: `
240
+ <form
241
+ [formGroup]="form"
242
+ (ngSubmit)="handleSubmit()"
243
+ class="feedback-form"
244
+ [class.compact]="props.compact"
245
+ [ngClass]="props.cssClass"
246
+ >
247
+ <!-- Type selector -->
248
+ @if (props.showTypeSelector !== false) {
249
+ <ion-item>
250
+ <ion-select
251
+ formControlName="type"
252
+ label="Tipo de feedback"
253
+ labelPlacement="floating"
254
+ interface="popover"
255
+ >
256
+ @for (option of typeOptions; track option.value) {
257
+ <ion-select-option [value]="option.value">
258
+ {{ option.label }}
259
+ </ion-select-option>
260
+ }
261
+ </ion-select>
262
+ </ion-item>
263
+ }
264
+
265
+ <!-- Title -->
266
+ <ion-item>
267
+ <ion-textarea
268
+ formControlName="title"
269
+ [label]="props.titleLabel || 'Título'"
270
+ labelPlacement="floating"
271
+ [placeholder]="props.titlePlaceholder || 'Describe brevemente...'"
272
+ [maxlength]="200"
273
+ [counter]="true"
274
+ [autoGrow]="false"
275
+ rows="1"
276
+ ></ion-textarea>
277
+ </ion-item>
278
+ @if (form.get('title')?.invalid && form.get('title')?.touched) {
279
+ <ion-note color="danger" class="ion-padding-start">
280
+ El título debe tener entre 5 y 200 caracteres
281
+ </ion-note>
282
+ }
283
+
284
+ <!-- Description -->
285
+ <ion-item>
286
+ <ion-textarea
287
+ formControlName="description"
288
+ [label]="props.descriptionLabel || 'Descripción'"
289
+ labelPlacement="floating"
290
+ [placeholder]="props.descriptionPlaceholder || 'Proporciona más detalles...'"
291
+ [maxlength]="5000"
292
+ [counter]="true"
293
+ [autoGrow]="true"
294
+ rows="4"
295
+ ></ion-textarea>
296
+ </ion-item>
297
+ @if (form.get('description')?.invalid && form.get('description')?.touched) {
298
+ <ion-note color="danger" class="ion-padding-start">
299
+ La descripción debe tener entre 10 y 5000 caracteres
300
+ </ion-note>
301
+ }
302
+
303
+ <!-- Error message -->
304
+ @if (error()) {
305
+ <div class="feedback-alert error">
306
+ <ion-icon name="close-circle-outline"></ion-icon>
307
+ <span>{{ error() }}</span>
308
+ </div>
309
+ }
310
+
311
+ <!-- Success message -->
312
+ @if (isSuccess()) {
313
+ <div class="feedback-alert success">
314
+ <ion-icon name="checkmark-circle-outline"></ion-icon>
315
+ <span>{{ props.successMessage || 'Feedback enviado exitosamente' }}</span>
316
+ </div>
317
+ }
318
+
319
+ <!-- Actions -->
320
+ <div class="form-actions">
321
+ @if (props.cancelButtonText) {
322
+ <ion-button
323
+ fill="outline"
324
+ color="medium"
325
+ type="button"
326
+ (click)="onCancelClick()"
327
+ >
328
+ {{ props.cancelButtonText }}
329
+ </ion-button>
330
+ }
331
+ <ion-button
332
+ type="submit"
333
+ [disabled]="form.invalid || isSubmitting()"
334
+ expand="block"
335
+ >
336
+ @if (isSubmitting()) {
337
+ <ion-spinner name="crescent"></ion-spinner>
338
+ } @else {
339
+ {{ props.submitButtonText || 'Enviar' }}
340
+ }
341
+ </ion-button>
342
+ </div>
343
+ </form>
344
+ `, styles: [".feedback-form{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.form-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;ion-button{flex:1}}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}ion-note{font-size:12px;margin-top:-4px;margin-bottom:8px}\n"] }]
345
+ }], ctorParameters: () => [], propDecorators: { props: [{
346
+ type: Input
347
+ }], onSubmit: [{
348
+ type: Output
349
+ }], onCancel: [{
350
+ type: Output
351
+ }] } });
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlZWRiYWNrLWZvcm0vZmVlZGJhY2stZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsT0FBTyxFQUNQLFdBQVcsR0FDWixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLGVBQWUsRUFHZiw2QkFBNkIsR0FDOUIsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUdwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBbUxILE1BQU0sT0FBTyxxQkFBcUI7SUEwQmhDO1FBekJBOztXQUVHO1FBQ00sVUFBSyxHQUF5QixFQUFFLENBQUM7UUFFMUM7O1dBRUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFN0Q7O1dB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QUNaLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlHVDt3REEyRFEsS0FBSztzQkFBYixLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBpbmplY3QsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQnVpbGRlcixcbiAgRm9ybUdyb3VwLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvbkljb24sXG4gIElvbkl0ZW0sXG4gIElvbkxhYmVsLFxuICBJb25MaXN0LFxuICBJb25Ob3RlLFxuICBJb25TZWxlY3QsXG4gIElvblNlbGVjdE9wdGlvbixcbiAgSW9uU3Bpbm5lcixcbiAgSW9uVGV4dCxcbiAgSW9uVGV4dGFyZWEsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBidWdPdXRsaW5lLFxuICBidWxiT3V0bGluZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGNoZWNrbWFya0NpcmNsZU91dGxpbmUsXG4gIGNsb3NlQ2lyY2xlT3V0bGluZSxcbiAgZG9jdW1lbnRUZXh0T3V0bGluZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQge1xuICBGZWVkYmFja1NlcnZpY2UsXG4gIEZlZWRiYWNrVHlwZSxcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgREVGQVVMVF9GRUVEQkFDS19UWVBFX09QVElPTlMsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrJztcbmltcG9ydCB7IEZlZWRiYWNrRm9ybU1ldGFkYXRhLCBGZWVkYmFja1N1Ym1pdEV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLWZlZWRiYWNrLWZvcm1cbiAqXG4gKiBGb3JtdWxhcmlvIHJldXRpbGl6YWJsZSBwYXJhIGVudmlhciBmZWVkYmFjayBkZXNkZSBjdWFscXVpZXIgcGFydGUgZGUgbGEgYXBsaWNhY2nDs24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDwhLS0gRmVlZGJhY2sgZ2VuZXJhbCAtLT5cbiAqIDx2YWwtZmVlZGJhY2stZm9ybVxuICogICBbcHJvcHNdPVwieyBkZWZhdWx0VHlwZTogJ2ZlZWRiYWNrJywgc2hvd1R5cGVTZWxlY3RvcjogdHJ1ZSB9XCJcbiAqICAgKG9uU3VibWl0KT1cImhhbmRsZVN1Y2Nlc3MoJGV2ZW50KVwiXG4gKiAgIChvbkNhbmNlbCk9XCJjbG9zZU1vZGFsKClcIlxuICogLz5cbiAqXG4gKiA8IS0tIFJlcG9ydGFyIGNvbnRlbmlkbyBpbmNvcnJlY3RvIC0tPlxuICogPHZhbC1mZWVkYmFjay1mb3JtXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZGVmYXVsdFR5cGU6ICdwb29yLWNvbnRlbnQnLFxuICogICAgIHNob3dUeXBlU2VsZWN0b3I6IGZhbHNlLFxuICogICAgIGNvbnRlbnRSZWY6IHsgY29udGVudElkOiBhcnRpY2xlLmlkLCBjb250ZW50VHlwZTogJ2FydGljbGUnIH0sXG4gKiAgICAgc3VibWl0QnV0dG9uVGV4dDogJ1JlcG9ydGFyIGNvbnRlbmlkbydcbiAqICAgfVwiXG4gKiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1mZWVkYmFjay1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25JY29uLFxuICAgIElvbkl0ZW0sXG4gICAgSW9uTGFiZWwsXG4gICAgSW9uTGlzdCxcbiAgICBJb25Ob3RlLFxuICAgIElvblNlbGVjdCxcbiAgICBJb25TZWxlY3RPcHRpb24sXG4gICAgSW9uU3Bpbm5lcixcbiAgICBJb25UZXh0LFxuICAgIElvblRleHRhcmVhLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmb3JtXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgKG5nU3VibWl0KT1cImhhbmRsZVN1Ym1pdCgpXCJcbiAgICAgIGNsYXNzPVwiZmVlZGJhY2stZm9ybVwiXG4gICAgICBbY2xhc3MuY29tcGFjdF09XCJwcm9wcy5jb21wYWN0XCJcbiAgICAgIFtuZ0NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICA+XG4gICAgICA8IS0tIFR5cGUgc2VsZWN0b3IgLS0+XG4gICAgICBAaWYgKHByb3BzLnNob3dUeXBlU2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICA8aW9uLXNlbGVjdFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgICAgICBsYWJlbD1cIlRpcG8gZGUgZmVlZGJhY2tcIlxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9XCJmbG9hdGluZ1wiXG4gICAgICAgICAgICBpbnRlcmZhY2U9XCJwb3BvdmVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgdHlwZU9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgICA8aW9uLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgPC9pb24taXRlbT5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUaXRsZSAtLT5cbiAgICAgIDxpb24taXRlbT5cbiAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgICAgICBbbGFiZWxdPVwicHJvcHMudGl0bGVMYWJlbCB8fCAnVMOtdHVsbydcIlxuICAgICAgICAgIGxhYmVsUGxhY2VtZW50PVwiZmxvYXRpbmdcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy50aXRsZVBsYWNlaG9sZGVyIHx8ICdEZXNjcmliZSBicmV2ZW1lbnRlLi4uJ1wiXG4gICAgICAgICAgW21heGxlbmd0aF09XCIyMDBcIlxuICAgICAgICAgIFtjb3VudGVyXT1cInRydWVcIlxuICAgICAgICAgIFthdXRvR3Jvd109XCJmYWxzZVwiXG4gICAgICAgICAgcm93cz1cIjFcIlxuICAgICAgICA+PC9pb24tdGV4dGFyZWE+XG4gICAgICA8L2lvbi1pdGVtPlxuICAgICAgQGlmIChmb3JtLmdldCgndGl0bGUnKT8uaW52YWxpZCAmJiBmb3JtLmdldCgndGl0bGUnKT8udG91Y2hlZCkge1xuICAgICAgICA8aW9uLW5vdGUgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImlvbi1wYWRkaW5nLXN0YXJ0XCI+XG4gICAgICAgICAgRWwgdMOtdHVsbyBkZWJlIHRlbmVyIGVudHJlIDUgeSAyMDAgY2FyYWN0ZXJlc1xuICAgICAgICA8L2lvbi1ub3RlPlxuICAgICAgfVxuXG4gICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICAgICAgPGlvbi1pdGVtPlxuICAgICAgICA8aW9uLXRleHRhcmVhXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgIFtsYWJlbF09XCJwcm9wcy5kZXNjcmlwdGlvbkxhYmVsIHx8ICdEZXNjcmlwY2nDs24nXCJcbiAgICAgICAgICBsYWJlbFBsYWNlbWVudD1cImZsb2F0aW5nXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMuZGVzY3JpcHRpb25QbGFjZWhvbGRlciB8fCAnUHJvcG9yY2lvbmEgbcOhcyBkZXRhbGxlcy4uLidcIlxuICAgICAgICAgIFttYXhsZW5ndGhdPVwiNTAwMFwiXG4gICAgICAgICAgW2NvdW50ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgW2F1dG9Hcm93XT1cInRydWVcIlxuICAgICAgICAgIHJvd3M9XCI0XCJcbiAgICAgICAgPjwvaW9uLXRleHRhcmVhPlxuICAgICAgPC9pb24taXRlbT5cbiAgICAgIEBpZiAoZm9ybS5nZXQoJ2Rlc2NyaXB0aW9uJyk/LmludmFsaWQgJiYgZm9ybS5nZXQoJ2Rlc2NyaXB0aW9uJyk/LnRvdWNoZWQpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJpb24tcGFkZGluZy1zdGFydFwiPlxuICAgICAgICAgIExhIGRlc2NyaXBjacOzbiBkZWJlIHRlbmVyIGVudHJlIDEwIHkgNTAwMCBjYXJhY3RlcmVzXG4gICAgICAgIDwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gRXJyb3IgbWVzc2FnZSAtLT5cbiAgICAgIEBpZiAoZXJyb3IoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stYWxlcnQgZXJyb3JcIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLWNpcmNsZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBlcnJvcigpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBTdWNjZXNzIG1lc3NhZ2UgLS0+XG4gICAgICBAaWYgKGlzU3VjY2VzcygpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1hbGVydCBzdWNjZXNzXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7IHByb3BzLnN1Y2Nlc3NNZXNzYWdlIHx8ICdGZWVkYmFjayBlbnZpYWRvIGV4aXRvc2FtZW50ZScgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIEFjdGlvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1hY3Rpb25zXCI+XG4gICAgICAgIEBpZiAocHJvcHMuY2FuY2VsQnV0dG9uVGV4dCkge1xuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICBjb2xvcj1cIm1lZGl1bVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbENsaWNrKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHByb3BzLmNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGlzU3VibWl0dGluZygpXCJcbiAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKGlzU3VibWl0dGluZygpKSB7XG4gICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCI+PC9pb24tc3Bpbm5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHt7IHByb3BzLnN1Ym1pdEJ1dHRvblRleHQgfHwgJ0VudmlhcicgfX1cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmZlZWRiYWNrLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcblxuICAgICAgICAmLmNvbXBhY3Qge1xuICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICBpb24tYnV0dG9uIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mZWVkYmFjay1hbGVydCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItdGludCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItc2hhZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdWNjZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pb24tY29sb3Itc3VjY2Vzcy10aW50KTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW9uLWljb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpb24tbm90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBDb25maWd1cmFjacOzbiBkZWwgZm9ybXVsYXJpby5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBGZWVkYmFja0Zvcm1NZXRhZGF0YSA9IHt9O1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZW1pdGlkbyBjdWFuZG8gZWwgZmVlZGJhY2sgc2UgZW52w61hIGV4aXRvc2FtZW50ZS5cbiAgICovXG4gIEBPdXRwdXQoKSBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8RmVlZGJhY2tTdWJtaXRFdmVudD4oKTtcblxuICAvKipcbiAgICogRXZlbnRvIGVtaXRpZG8gY3VhbmRvIGVsIHVzdWFyaW8gY2FuY2VsYS5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcbiAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcblxuICBmb3JtITogRm9ybUdyb3VwO1xuICB0eXBlT3B0aW9ucyA9IERFRkFVTFRfRkVFREJBQ0tfVFlQRV9PUFRJT05TO1xuXG4gIGlzU3VibWl0dGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIGlzU3VjY2VzcyA9IHNpZ25hbChmYWxzZSk7XG4gIGVycm9yID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHtcbiAgICAgIGJ1Z091dGxpbmUsXG4gICAgICBidWxiT3V0bGluZSxcbiAgICAgIGNoYXRidWJibGVPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSxcbiAgICAgIGNsb3NlQ2lyY2xlT3V0bGluZSxcbiAgICAgIGRvY3VtZW50VGV4dE91dGxpbmUsXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaWx0cmFyIHRpcG9zIGhhYmlsaXRhZG9zIHNpIHNlIGVzcGVjaWZpY2FcbiAgICBpZiAodGhpcy5wcm9wcy5lbmFibGVkVHlwZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy50eXBlT3B0aW9ucyA9IHRoaXMudHlwZU9wdGlvbnMuZmlsdGVyKChvcHQpID0+XG4gICAgICAgIHRoaXMucHJvcHMuZW5hYmxlZFR5cGVzIS5pbmNsdWRlcyhvcHQudmFsdWUpXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFVzYXIgb3BjaW9uZXMgcGVyc29uYWxpemFkYXMgc2kgc2UgcHJvcG9yY2lvbmFuXG4gICAgaWYgKHRoaXMucHJvcHMudHlwZU9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy50eXBlT3B0aW9ucyA9IHRoaXMucHJvcHMudHlwZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gSW5pY2lhbGl6YXIgZm9ybXVsYXJpb1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdHlwZTogW3RoaXMucHJvcHMuZGVmYXVsdFR5cGUgfHwgJ2ZlZWRiYWNrJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB0aXRsZTogW1xuICAgICAgICAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMDApXSxcbiAgICAgIF0sXG4gICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTAwMCldLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQgfHwgdGhpcy5pc1N1Ym1pdHRpbmcoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyB0eXBlLCB0aXRsZSwgZGVzY3JpcHRpb24gfSA9IHRoaXMuZm9ybS52YWx1ZTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVBc3luYyhcbiAgICAgICAgdHlwZSBhcyBGZWVkYmFja1R5cGUsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgW10sIC8vIGF0dGFjaG1lbnRzIChwb3IgYWhvcmEgdmFjw61vKVxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRSZWZcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuaXNTdWNjZXNzLnNldCh0cnVlKTtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCh7IHR5cGU6IHRoaXMucHJvcHMuZGVmYXVsdFR5cGUgfHwgJ2ZlZWRiYWNrJyB9KTtcblxuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KHtcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIHR5cGU6IHR5cGUgYXMgRmVlZGJhY2tUeXBlLFxuICAgICAgICB0aXRsZSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICB0aGlzLmVycm9yLnNldChcbiAgICAgICAgZXJyLmVycm9yPy5tZXNzYWdlIHx8IGVyci5tZXNzYWdlIHx8ICdFcnJvciBhbCBlbnZpYXIgZWwgZmVlZGJhY2snXG4gICAgICApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FuY2VsQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlZWRiYWNrLWZvcm0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZlZWRiYWNrVHlwZSxcbiAgQ29udGVudFJlZixcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgRmVlZGJhY2tUeXBlT3B0aW9uLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mZWVkYmFjay90eXBlcyc7XG5cbi8qKlxuICogTWV0YWRhdGEgcGFyYSBlbCBjb21wb25lbnRlIEZlZWRiYWNrRm9ybS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja0Zvcm1NZXRhZGF0YSB7XG4gIC8qKiBUaXBvIGRlIGZlZWRiYWNrIHByZXNlbGVjY2lvbmFkbyAqL1xuICBkZWZhdWx0VHlwZT86IEZlZWRiYWNrVHlwZTtcblxuICAvKiogUmVmZXJlbmNpYSBhIGNvbnRlbmlkbyAoc2kgYXBsaWNhKSAqL1xuICBjb250ZW50UmVmPzogQ29udGVudFJlZjtcblxuICAvKiogTW9zdHJhciBzZWxlY3RvciBkZSB0aXBvIChkZWZhdWx0OiB0cnVlKSAqL1xuICBzaG93VHlwZVNlbGVjdG9yPzogYm9vbGVhbjtcblxuICAvKiogVGlwb3MgZGUgZmVlZGJhY2sgaGFiaWxpdGFkb3MgKHBvciBkZWZlY3RvIHRvZG9zKSAqL1xuICBlbmFibGVkVHlwZXM/OiBGZWVkYmFja1R5cGVbXTtcblxuICAvKiogT3BjaW9uZXMgcGVyc29uYWxpemFkYXMgcGFyYSB0aXBvcyBkZSBmZWVkYmFjayAqL1xuICB0eXBlT3B0aW9ucz86IEZlZWRiYWNrVHlwZU9wdGlvbltdO1xuXG4gIC8qKiBQbGFjZWhvbGRlciBwYXJhIHTDrXR1bG8gKi9cbiAgdGl0bGVQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKiogUGxhY2Vob2xkZXIgcGFyYSBkZXNjcmlwY2nDs24gKi9cbiAgZGVzY3JpcHRpb25QbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKiogTGFiZWwgcGFyYSBjYW1wbyBkZSB0w610dWxvICovXG4gIHRpdGxlTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIExhYmVsIHBhcmEgY2FtcG8gZGUgZGVzY3JpcGNpw7NuICovXG4gIGRlc2NyaXB0aW9uTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIFRleHRvIGRlbCBib3TDs24gZGUgZW52w61vICovXG4gIHN1Ym1pdEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqIFRleHRvIGRlbCBib3TDs24gY2FuY2VsYXIgKHNpIG5vIHNlIHByb3BvcmNpb25hLCBubyBzZSBtdWVzdHJhKSAqL1xuICBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKiBNb3N0cmFyIGNhbXBvIGRlIGFkanVudG9zIChkZWZhdWx0OiB0cnVlKSAqL1xuICBzaG93QXR0YWNobWVudHM/OiBib29sZWFuO1xuXG4gIC8qKiBMYWJlbCBwYXJhIGNhbXBvIGRlIGFkanVudG9zICovXG4gIGF0dGFjaG1lbnRzTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIE1lbnNhamUgZGUgw6l4aXRvIHBlcnNvbmFsaXphZG8gKi9cbiAgc3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqIENTUyBjbGFzcyBhZGljaW9uYWwgcGFyYSBlbCBjb250ZW5lZG9yICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8qKiBNb2RvIGNvbXBhY3RvIChtZW5vcyBlc3BhY2lhZG8pICovXG4gIGNvbXBhY3Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWl0aWRvIGN1YW5kbyBlbCBmZWVkYmFjayBzZSBlbnbDrWEgZXhpdG9zYW1lbnRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrU3VibWl0RXZlbnQge1xuICByZXNwb25zZTogQ3JlYXRlRmVlZGJhY2tSZXNwb25zZTtcbiAgdHlwZTogRmVlZGJhY2tUeXBlO1xuICB0aXRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZWwgZm9ybXVsYXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja0Zvcm1TdGF0ZSB7XG4gIGlzU3VibWl0dGluZzogYm9vbGVhbjtcbiAgaXNTdWNjZXNzOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbn1cbiJdfQ==