valtech-components 4.0.1030 → 4.0.1031

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 (29) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +7 -9
  2. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +13 -12
  3. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +92 -36
  4. package/esm2022/lib/components/molecules/action-card/types.mjs +1 -1
  5. package/esm2022/lib/components/molecules/card/card.component.mjs +56 -28
  6. package/esm2022/lib/components/molecules/comment/comment.component.mjs +1 -1
  7. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +2 -2
  8. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +22 -10
  9. package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +2 -2
  10. package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs +26 -5
  11. package/esm2022/lib/components/organisms/attachment-uploader/types.mjs +1 -1
  12. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +2 -2
  13. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +2 -2
  14. package/esm2022/lib/components/organisms/settings-hub/settings-hub.component.mjs +2 -2
  15. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +2 -2
  16. package/esm2022/lib/services/i18n/default-content.mjs +3 -1
  17. package/esm2022/lib/version.mjs +2 -2
  18. package/fesm2022/valtech-components.mjs +219 -101
  19. package/fesm2022/valtech-components.mjs.map +1 -1
  20. package/lib/components/atoms/avatar/avatar.component.d.ts +2 -2
  21. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +2 -1
  22. package/lib/components/molecules/action-card/action-card.component.d.ts +28 -7
  23. package/lib/components/molecules/action-card/types.d.ts +4 -1
  24. package/lib/components/molecules/card/card.component.d.ts +2 -2
  25. package/lib/components/molecules/stats-card/stats-card.component.d.ts +3 -1
  26. package/lib/components/organisms/attachment-uploader/attachment-uploader.component.d.ts +5 -2
  27. package/lib/components/organisms/attachment-uploader/types.d.ts +6 -0
  28. package/lib/version.d.ts +1 -1
  29. package/package.json +1 -1
@@ -3,16 +3,16 @@ import { IonAvatar } from '@ionic/angular/standalone';
3
3
  import { PresetService } from '../../../services/presets';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * val-avatar
6
+ * vds-avatar
7
7
  *
8
8
  * Displays a user or profile image, optionally with a box style and different sizes.
9
9
  * Supports presets for reusable configurations.
10
10
  *
11
11
  * @example With preset (recommended):
12
- * <val-avatar preset="profile" [props]="{ image: 'url' }" (onClick)="handler()"></val-avatar>
12
+ * <vds-avatar preset="profile" [props]="{ image: 'url' }" (onClick)="handler()"></vds-avatar>
13
13
  *
14
14
  * @example Static (backwards compatible):
15
- * <val-avatar [props]="{ image: 'url', size: 'medium', box: true }" (onClick)="handler()"></val-avatar>
15
+ * <vds-avatar [props]="{ image: 'url', size: 'medium', box: true }" (onClick)="handler()"></vds-avatar>
16
16
  *
17
17
  * @input preset: string - Name of preset to apply
18
18
  * @input props: AvatarMetadata - Configuration for the avatar (image, size, box, default image)
@@ -47,9 +47,7 @@ export class AvatarComponent {
47
47
  * Explicit props take precedence over preset values.
48
48
  */
49
49
  resolveProps() {
50
- const presetProps = this.preset
51
- ? this.presets.get('avatar', this.preset)
52
- : {};
50
+ const presetProps = this.preset ? this.presets.get('avatar', this.preset) : {};
53
51
  this.resolvedProps = {
54
52
  ...presetProps,
55
53
  ...this.props,
@@ -59,7 +57,7 @@ export class AvatarComponent {
59
57
  this.onClick.emit();
60
58
  }
61
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AvatarComponent, isStandalone: true, selector: "val-avatar", inputs: { preset: "preset", props: "props" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: `
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AvatarComponent, isStandalone: true, selector: "val-avatar, vds-avatar", inputs: { preset: "preset", props: "props" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: `
63
61
  <ion-avatar
64
62
  aria-hidden="true"
65
63
  [class]="resolvedProps.size"
@@ -73,7 +71,7 @@ export class AvatarComponent {
73
71
  }
74
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, decorators: [{
75
73
  type: Component,
76
- args: [{ selector: 'val-avatar', standalone: true, imports: [IonAvatar], template: `
74
+ args: [{ selector: 'val-avatar, vds-avatar', standalone: true, imports: [IonAvatar], template: `
77
75
  <ion-avatar
78
76
  aria-hidden="true"
79
77
  [class]="resolvedProps.size"
@@ -91,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
91
89
  }], onClick: [{
92
90
  type: Output
93
91
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBb0IxRDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQWpDNUI7UUFrQ1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7V0FFRztRQUNNLFVBQUssR0FBNEIsRUFBRSxDQUFDO1FBRTdDOztXQUVHO1FBQ0gsa0JBQWEsR0FBbUIsRUFBb0IsQ0FBQztRQUVyRDs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBOEI5QjtJQTVCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUM3QixDQUFDLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQTZCO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFUCxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLEdBQUcsV0FBVztZQUNkLEdBQUcsSUFBSSxDQUFDLEtBQUs7U0FDSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQXZEVSxlQUFlO21HQUFmLGVBQWUsMEtBN0JoQjs7Ozs7Ozs7OztHQVVULHc0R0FYUyxTQUFTOzs0RkE4QlIsZUFBZTtrQkFqQzNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFNBQVMsQ0FBQyxZQUNWOzs7Ozs7Ozs7O0dBVVQ7OEJBNkJRLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBV04sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkF2YXRhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgQXZhdGFyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWF2YXRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25BdmF0YXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tYXZhdGFyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgW2NsYXNzXT1cInJlc29sdmVkUHJvcHMuc2l6ZVwiXG4gICAgICBbY2xhc3MuYm94XT1cInJlc29sdmVkUHJvcHMuYm94XCJcbiAgICAgIFtjbGFzcy5ncmF5c2NhbGVdPVwicmVzb2x2ZWRQcm9wcy5ncmF5c2NhbGVcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tIYW5kbGVyKClcIlxuICAgID5cbiAgICAgIDxpbWcgYWx0PVwicHJvZmlsZSBpbWFnZVwiIFtzcmNdPVwicmVzb2x2ZWRQcm9wcy5pbWFnZSB8fCByZXNvbHZlZFByb3BzLmRlZmF1bHRcIiAvPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYXZhdGFyXG4gKlxuICogRGlzcGxheXMgYSB1c2VyIG9yIHByb2ZpbGUgaW1hZ2UsIG9wdGlvbmFsbHkgd2l0aCBhIGJveCBzdHlsZSBhbmQgZGlmZmVyZW50IHNpemVzLlxuICogU3VwcG9ydHMgcHJlc2V0cyBmb3IgcmV1c2FibGUgY29uZmlndXJhdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwcmVzZXQgKHJlY29tbWVuZGVkKTpcbiAqIDx2YWwtYXZhdGFyIHByZXNldD1cInByb2ZpbGVcIiBbcHJvcHNdPVwieyBpbWFnZTogJ3VybCcgfVwiIChvbkNsaWNrKT1cImhhbmRsZXIoKVwiPjwvdmFsLWF2YXRhcj5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKGJhY2t3YXJkcyBjb21wYXRpYmxlKTpcbiAqIDx2YWwtYXZhdGFyIFtwcm9wc109XCJ7IGltYWdlOiAndXJsJywgc2l6ZTogJ21lZGl1bScsIGJveDogdHJ1ZSB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYXZhdGFyPlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5XG4gKiBAaW5wdXQgcHJvcHM6IEF2YXRhck1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF2YXRhciAoaW1hZ2UsIHNpemUsIGJveCwgZGVmYXVsdCBpbWFnZSlcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGF2YXRhciBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUHJlc2V0IG5hbWUgdG8gYXBwbHkuIFByZXNldHMgZGVmaW5lIHJldXNhYmxlIGF2YXRhciBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtYXZhdGFyIHByZXNldD1cInByb2ZpbGVcIiBbcHJvcHNdPVwieyBpbWFnZTogJ3VybCcgfVwiPjwvdmFsLWF2YXRhcj5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogQXZhdGFyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8QXZhdGFyTWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBBdmF0YXJNZXRhZGF0YSA9IHt9IGFzIEF2YXRhck1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGF2YXRhciBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXRcbiAgICAgID8gKHRoaXMucHJlc2V0cy5nZXQoJ2F2YXRhcicsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPEF2YXRhck1ldGFkYXRhPilcbiAgICAgIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBBdmF0YXJNZXRhZGF0YTtcbiAgfVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBb0IxRDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQWpDNUI7UUFrQ1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7V0FFRztRQUNNLFVBQUssR0FBNEIsRUFBRSxDQUFDO1FBRTdDOztXQUVHO1FBQ0gsa0JBQWEsR0FBbUIsRUFBb0IsQ0FBQztRQUVyRDs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBNEI5QjtJQTFCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBNkIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTVHLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsR0FBRyxXQUFXO1lBQ2QsR0FBRyxJQUFJLENBQUMsS0FBSztTQUNJLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBckRVLGVBQWU7bUdBQWYsZUFBZSxzTEE3QmhCOzs7Ozs7Ozs7O0dBVVQsdzRHQVhTLFNBQVM7OzRGQThCUixlQUFlO2tCQWpDM0IsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDLFlBQ1Y7Ozs7Ozs7Ozs7R0FVVDs4QkE2QlEsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFXTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQXZhdGFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBBdmF0YXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyLCB2ZHMtYXZhdGFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkF2YXRhcl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1hdmF0YXJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBbY2xhc3NdPVwicmVzb2x2ZWRQcm9wcy5zaXplXCJcbiAgICAgIFtjbGFzcy5ib3hdPVwicmVzb2x2ZWRQcm9wcy5ib3hcIlxuICAgICAgW2NsYXNzLmdyYXlzY2FsZV09XCJyZXNvbHZlZFByb3BzLmdyYXlzY2FsZVwiXG4gICAgICAoY2xpY2spPVwib25DbGlja0hhbmRsZXIoKVwiXG4gICAgPlxuICAgICAgPGltZyBhbHQ9XCJwcm9maWxlIGltYWdlXCIgW3NyY109XCJyZXNvbHZlZFByb3BzLmltYWdlIHx8IHJlc29sdmVkUHJvcHMuZGVmYXVsdFwiIC8+XG4gICAgPC9pb24tYXZhdGFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZkcy1hdmF0YXJcbiAqXG4gKiBEaXNwbGF5cyBhIHVzZXIgb3IgcHJvZmlsZSBpbWFnZSwgb3B0aW9uYWxseSB3aXRoIGEgYm94IHN0eWxlIGFuZCBkaWZmZXJlbnQgc2l6ZXMuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZkcy1hdmF0YXIgcHJlc2V0PVwicHJvZmlsZVwiIFtwcm9wc109XCJ7IGltYWdlOiAndXJsJyB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92ZHMtYXZhdGFyPlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoYmFja3dhcmRzIGNvbXBhdGlibGUpOlxuICogPHZkcy1hdmF0YXIgW3Byb3BzXT1cInsgaW1hZ2U6ICd1cmwnLCBzaXplOiAnbWVkaXVtJywgYm94OiB0cnVlIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj48L3Zkcy1hdmF0YXI+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHlcbiAqIEBpbnB1dCBwcm9wczogQXZhdGFyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYXZhdGFyIChpbWFnZSwgc2l6ZSwgYm94LCBkZWZhdWx0IGltYWdlKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiB0aGUgYXZhdGFyIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgYXZhdGFyIGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZkcy1hdmF0YXIgcHJlc2V0PVwicHJvZmlsZVwiIFtwcm9wc109XCJ7IGltYWdlOiAndXJsJyB9XCI+PC92ZHMtYXZhdGFyPlxuICAgKi9cbiAgQElucHV0KCkgcHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdmF0YXIgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxBdmF0YXJNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IEF2YXRhck1ldGFkYXRhID0ge30gYXMgQXZhdGFyTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXZhdGFyIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdhdmF0YXInLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxBdmF0YXJNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBBdmF0YXJNZXRhZGF0YTtcbiAgfVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -5,16 +5,16 @@ import { PresetService } from '../../../services/presets';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  /**
8
- * val-progress-bar
8
+ * vds-progress-bar
9
9
  *
10
10
  * A progress bar for indicating completion or loading state.
11
11
  * Supports presets for reusable configurations.
12
12
  *
13
13
  * @example With preset:
14
- * <val-progress-bar preset="default" [props]="{ progress: 0.5 }"></val-progress-bar>
14
+ * <vds-progress-bar preset="default" [props]="{ progress: 0.5 }"></vds-progress-bar>
15
15
  *
16
16
  * @example Static:
17
- * <val-progress-bar [props]="{ progress: 0.5, color: 'success', size: 'small' }"></val-progress-bar>
17
+ * <vds-progress-bar [props]="{ progress: 0.5, color: 'success', size: 'small' }"></vds-progress-bar>
18
18
  *
19
19
  * @input preset: string - Name of preset to apply
20
20
  * @input props: ProgressBarMetadata - Configuration for the progress bar (progress, color, size, etc.)
@@ -38,6 +38,9 @@ export class ProgressBarComponent {
38
38
  */
39
39
  this.resolvedProps = {};
40
40
  }
41
+ get colorClass() {
42
+ return `color-${this.resolvedProps.color || 'primary'}`;
43
+ }
41
44
  ngOnInit() {
42
45
  this.resolveProps();
43
46
  }
@@ -61,34 +64,32 @@ export class ProgressBarComponent {
61
64
  };
62
65
  }
63
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProgressBarComponent, isStandalone: true, selector: "val-progress-bar", inputs: { preset: "preset", props: "props" }, usesOnChanges: true, ngImport: i0, template: `
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProgressBarComponent, isStandalone: true, selector: "val-progress-bar, vds-progress-bar", inputs: { preset: "preset", props: "props" }, usesOnChanges: true, ngImport: i0, template: `
65
68
  <ion-progress-bar
66
- [ngClass]="[resolvedProps.size]"
69
+ [ngClass]="[resolvedProps.size, colorClass]"
67
70
  [class.rounded]="resolvedProps.rounded"
68
71
  [value]="resolvedProps.progress"
69
- [color]="resolvedProps.color"
70
72
  [buffer]="resolvedProps.buffer"
71
73
  [type]="resolvedProps.type"
72
74
  [attr.aria-label]="resolvedProps.label || 'Progreso'"
73
75
  ></ion-progress-bar>
74
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-progress-bar.rounded{border-radius:.5rem}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }] }); }
76
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-progress-bar{--background: var(--vds-progress-bar-track-bg, var(--vds-bg-muted, rgba(148, 163, 184, .22)));--buffer-background: var( --vds-progress-bar-buffer-bg, var(--vds-bg-subtle, rgba(148, 163, 184, .32)) );--progress-background: var( --vds-progress-bar-color, var(--vds-primary, var(--ion-color-primary, #2563eb)) )}ion-progress-bar.rounded{border-radius:.5rem}.color-primary{--vds-progress-bar-color: var( --vds-primary, var(--vds-action-primary, var(--ion-color-primary, #2563eb)) )}.color-secondary{--vds-progress-bar-color: var(--vds-secondary, var(--ion-color-secondary, #64748b))}.color-tertiary{--vds-progress-bar-color: var(--vds-tertiary, var(--ion-color-tertiary, #7c3aed))}.color-success{--vds-progress-bar-color: var(--vds-success, var(--ion-color-success, #16a34a))}.color-warning{--vds-progress-bar-color: var(--vds-warning, var(--ion-color-warning, #d97706))}.color-danger{--vds-progress-bar-color: var(--vds-danger, var(--ion-color-danger, #dc2626))}.color-info{--vds-progress-bar-color: var(--vds-info, #0284c7)}.color-neutral{--vds-progress-bar-color: var(--vds-neutral, #64748b)}.color-light{--vds-progress-bar-color: var(--vds-light, var(--ion-color-light, #f8fafc))}.color-dark{--vds-progress-bar-color: var(--vds-dark, var(--ion-color-dark, #0f172a))}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }] }); }
75
77
  }
76
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarComponent, decorators: [{
77
79
  type: Component,
78
- args: [{ selector: 'val-progress-bar', standalone: true, imports: [CommonModule, IonProgressBar], template: `
80
+ args: [{ selector: 'val-progress-bar, vds-progress-bar', standalone: true, imports: [CommonModule, IonProgressBar], template: `
79
81
  <ion-progress-bar
80
- [ngClass]="[resolvedProps.size]"
82
+ [ngClass]="[resolvedProps.size, colorClass]"
81
83
  [class.rounded]="resolvedProps.rounded"
82
84
  [value]="resolvedProps.progress"
83
- [color]="resolvedProps.color"
84
85
  [buffer]="resolvedProps.buffer"
85
86
  [type]="resolvedProps.type"
86
87
  [attr.aria-label]="resolvedProps.label || 'Progreso'"
87
88
  ></ion-progress-bar>
88
- `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-progress-bar.rounded{border-radius:.5rem}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"] }]
89
+ `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-progress-bar{--background: var(--vds-progress-bar-track-bg, var(--vds-bg-muted, rgba(148, 163, 184, .22)));--buffer-background: var( --vds-progress-bar-buffer-bg, var(--vds-bg-subtle, rgba(148, 163, 184, .32)) );--progress-background: var( --vds-progress-bar-color, var(--vds-primary, var(--ion-color-primary, #2563eb)) )}ion-progress-bar.rounded{border-radius:.5rem}.color-primary{--vds-progress-bar-color: var( --vds-primary, var(--vds-action-primary, var(--ion-color-primary, #2563eb)) )}.color-secondary{--vds-progress-bar-color: var(--vds-secondary, var(--ion-color-secondary, #64748b))}.color-tertiary{--vds-progress-bar-color: var(--vds-tertiary, var(--ion-color-tertiary, #7c3aed))}.color-success{--vds-progress-bar-color: var(--vds-success, var(--ion-color-success, #16a34a))}.color-warning{--vds-progress-bar-color: var(--vds-warning, var(--ion-color-warning, #d97706))}.color-danger{--vds-progress-bar-color: var(--vds-danger, var(--ion-color-danger, #dc2626))}.color-info{--vds-progress-bar-color: var(--vds-info, #0284c7)}.color-neutral{--vds-progress-bar-color: var(--vds-neutral, #64748b)}.color-light{--vds-progress-bar-color: var(--vds-light, var(--ion-color-light, #f8fafc))}.color-dark{--vds-progress-bar-color: var(--vds-dark, var(--ion-color-dark, #0f172a))}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"] }]
89
90
  }], propDecorators: { preset: [{
90
91
  type: Input
91
92
  }], props: [{
92
93
  type: Input
93
94
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFvQjFEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQWhDakM7UUFpQ1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVF4Qzs7Ozs7Ozs7O1dBU0c7UUFDTSxVQUFLLEdBQWlDLEVBQUUsQ0FBQztRQUVsRDs7V0FFRztRQUNILGtCQUFhLEdBQXdCLEVBQXlCLENBQUM7S0EyQmhFO0lBekJDLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNO1lBQzdCLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBa0M7WUFDaEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsSUFBSSxFQUFFLFFBQVE7WUFDZCxHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ1MsQ0FBQztJQUMzQixDQUFDOytHQWxEVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrSUE1QnJCOzs7Ozs7Ozs7O0dBVVQsMnhHQVhTLFlBQVksNkhBQUUsY0FBYzs7NEZBNkIzQixvQkFBb0I7a0JBaENoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLFlBQzdCOzs7Ozs7Ozs7O0dBVVQ7OEJBeUJRLE1BQU07c0JBQWQsS0FBSztnQkFZRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uUHJvZ3Jlc3NCYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IFByb2dyZXNzQmFyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXByb2dyZXNzLWJhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblByb2dyZXNzQmFyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXByb2dyZXNzLWJhclxuICAgICAgW25nQ2xhc3NdPVwiW3Jlc29sdmVkUHJvcHMuc2l6ZV1cIlxuICAgICAgW2NsYXNzLnJvdW5kZWRdPVwicmVzb2x2ZWRQcm9wcy5yb3VuZGVkXCJcbiAgICAgIFt2YWx1ZV09XCJyZXNvbHZlZFByb3BzLnByb2dyZXNzXCJcbiAgICAgIFtjb2xvcl09XCJyZXNvbHZlZFByb3BzLmNvbG9yXCJcbiAgICAgIFtidWZmZXJdPVwicmVzb2x2ZWRQcm9wcy5idWZmZXJcIlxuICAgICAgW3R5cGVdPVwicmVzb2x2ZWRQcm9wcy50eXBlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCAnUHJvZ3Jlc28nXCJcbiAgICA+PC9pb24tcHJvZ3Jlc3MtYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1wcm9ncmVzcy1iYXJcbiAqXG4gKiBBIHByb2dyZXNzIGJhciBmb3IgaW5kaWNhdGluZyBjb21wbGV0aW9uIG9yIGxvYWRpbmcgc3RhdGUuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldDpcbiAqIDx2YWwtcHJvZ3Jlc3MtYmFyIHByZXNldD1cImRlZmF1bHRcIiBbcHJvcHNdPVwieyBwcm9ncmVzczogMC41IH1cIj48L3ZhbC1wcm9ncmVzcy1iYXI+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljOlxuICogPHZhbC1wcm9ncmVzcy1iYXIgW3Byb3BzXT1cInsgcHJvZ3Jlc3M6IDAuNSwgY29sb3I6ICdzdWNjZXNzJywgc2l6ZTogJ3NtYWxsJyB9XCI+PC92YWwtcHJvZ3Jlc3MtYmFyPlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5XG4gKiBAaW5wdXQgcHJvcHM6IFByb2dyZXNzQmFyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyIChwcm9ncmVzcywgY29sb3IsIHNpemUsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgcHJvZ3Jlc3MgYmFyIGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogUHJvZ3Jlc3MgYmFyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7UHJvZ3Jlc3NCYXJNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IHByb2dyZXNzIC0gVGhlIHByb2dyZXNzIHZhbHVlICgwIHRvIDEpLlxuICAgKiBAcHJvcGVydHkgc2l6ZSAtIFRoZSBwcm9ncmVzcyBiYXIgc2l6ZSAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKS5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHByb2dyZXNzIGJhciBjb2xvciAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAgICogQHByb3BlcnR5IGJ1ZmZlciAtIFRoZSBidWZmZXIgdmFsdWUgZm9yIHRoZSBiYXIuXG4gICAqIEBwcm9wZXJ0eSB0eXBlIC0gVGhlIHR5cGUgb2YgcHJvZ3Jlc3MgYmFyICgnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnKS5cbiAgICogQHByb3BlcnR5IHJvdW5kZWQgLSBXaGV0aGVyIHRoZSBiYXIgaGFzIHJvdW5kZWQgY29ybmVycy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFByb2dyZXNzQmFyTWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBQcm9ncmVzc0Jhck1ldGFkYXRhID0ge30gYXMgUHJvZ3Jlc3NCYXJNZXRhZGF0YTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldFxuICAgICAgPyAodGhpcy5wcmVzZXRzLmdldCgncHJvZ3Jlc3NCYXInLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxQcm9ncmVzc0Jhck1ldGFkYXRhPilcbiAgICAgIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIFByb2dyZXNzQmFyTWV0YWRhdGE7XG4gIH1cbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFtQjFEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQS9CakM7UUFnQ1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVF4Qzs7Ozs7Ozs7O1dBU0c7UUFDTSxVQUFLLEdBQWlDLEVBQUUsQ0FBQztRQUVsRDs7V0FFRztRQUNILGtCQUFhLEdBQXdCLEVBQXlCLENBQUM7S0ErQmhFO0lBN0JDLElBQUksVUFBVTtRQUNaLE9BQU8sU0FBUyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVk7UUFDbEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDN0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFrQztZQUNoRixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixJQUFJLEVBQUUsUUFBUTtZQUNkLEdBQUcsV0FBVztZQUNkLEdBQUcsSUFBSSxDQUFDLEtBQUs7U0FDUyxDQUFDO0lBQzNCLENBQUM7K0dBdERVLG9CQUFvQjttR0FBcEIsb0JBQW9CLGlLQTNCckI7Ozs7Ozs7OztHQVNULGkvSUFWUyxZQUFZLDZIQUFFLGNBQWM7OzRGQTRCM0Isb0JBQW9CO2tCQS9CaEMsU0FBUzsrQkFDRSxvQ0FBb0MsY0FDbEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxZQUM3Qjs7Ozs7Ozs7O0dBU1Q7OEJBeUJRLE1BQU07c0JBQWQsS0FBSztnQkFZRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uUHJvZ3Jlc3NCYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IFByb2dyZXNzQmFyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXByb2dyZXNzLWJhciwgdmRzLXByb2dyZXNzLWJhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblByb2dyZXNzQmFyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXByb2dyZXNzLWJhclxuICAgICAgW25nQ2xhc3NdPVwiW3Jlc29sdmVkUHJvcHMuc2l6ZSwgY29sb3JDbGFzc11cIlxuICAgICAgW2NsYXNzLnJvdW5kZWRdPVwicmVzb2x2ZWRQcm9wcy5yb3VuZGVkXCJcbiAgICAgIFt2YWx1ZV09XCJyZXNvbHZlZFByb3BzLnByb2dyZXNzXCJcbiAgICAgIFtidWZmZXJdPVwicmVzb2x2ZWRQcm9wcy5idWZmZXJcIlxuICAgICAgW3R5cGVdPVwicmVzb2x2ZWRQcm9wcy50eXBlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCAnUHJvZ3Jlc28nXCJcbiAgICA+PC9pb24tcHJvZ3Jlc3MtYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZkcy1wcm9ncmVzcy1iYXJcbiAqXG4gKiBBIHByb2dyZXNzIGJhciBmb3IgaW5kaWNhdGluZyBjb21wbGV0aW9uIG9yIGxvYWRpbmcgc3RhdGUuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldDpcbiAqIDx2ZHMtcHJvZ3Jlc3MtYmFyIHByZXNldD1cImRlZmF1bHRcIiBbcHJvcHNdPVwieyBwcm9ncmVzczogMC41IH1cIj48L3Zkcy1wcm9ncmVzcy1iYXI+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljOlxuICogPHZkcy1wcm9ncmVzcy1iYXIgW3Byb3BzXT1cInsgcHJvZ3Jlc3M6IDAuNSwgY29sb3I6ICdzdWNjZXNzJywgc2l6ZTogJ3NtYWxsJyB9XCI+PC92ZHMtcHJvZ3Jlc3MtYmFyPlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5XG4gKiBAaW5wdXQgcHJvcHM6IFByb2dyZXNzQmFyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyIChwcm9ncmVzcywgY29sb3IsIHNpemUsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgcHJvZ3Jlc3MgYmFyIGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogUHJvZ3Jlc3MgYmFyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7UHJvZ3Jlc3NCYXJNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IHByb2dyZXNzIC0gVGhlIHByb2dyZXNzIHZhbHVlICgwIHRvIDEpLlxuICAgKiBAcHJvcGVydHkgc2l6ZSAtIFRoZSBwcm9ncmVzcyBiYXIgc2l6ZSAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKS5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHByb2dyZXNzIGJhciBjb2xvciAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAgICogQHByb3BlcnR5IGJ1ZmZlciAtIFRoZSBidWZmZXIgdmFsdWUgZm9yIHRoZSBiYXIuXG4gICAqIEBwcm9wZXJ0eSB0eXBlIC0gVGhlIHR5cGUgb2YgcHJvZ3Jlc3MgYmFyICgnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnKS5cbiAgICogQHByb3BlcnR5IHJvdW5kZWQgLSBXaGV0aGVyIHRoZSBiYXIgaGFzIHJvdW5kZWQgY29ybmVycy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFByb2dyZXNzQmFyTWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBQcm9ncmVzc0Jhck1ldGFkYXRhID0ge30gYXMgUHJvZ3Jlc3NCYXJNZXRhZGF0YTtcblxuICBnZXQgY29sb3JDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY29sb3ItJHt0aGlzLnJlc29sdmVkUHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknfWA7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldFxuICAgICAgPyAodGhpcy5wcmVzZXRzLmdldCgncHJvZ3Jlc3NCYXInLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxQcm9ncmVzc0Jhck1ldGFkYXRhPilcbiAgICAgIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIFByb2dyZXNzQmFyTWV0YWRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -6,19 +6,19 @@ import { addIcons } from 'ionicons';
6
6
  import { chevronForwardOutline } from 'ionicons/icons';
7
7
  import { I18nService } from '../../../services/i18n';
8
8
  import { NavigationService } from '../../../services/navigation';
9
- import { resolveIonicColor } from '../../../shared/utils/ionic-color';
9
+ import { isIonicColor } from '../../../shared/utils/ionic-color';
10
10
  import { ACTION_CARD_DEFAULTS } from './types';
11
11
  import * as i0 from "@angular/core";
12
12
  addIcons({ chevronForwardOutline });
13
13
  /**
14
- * val-action-card
14
+ * vds-action-card
15
15
  *
16
16
  * A clickable card component with icon, title, description, and optional badge.
17
17
  * Supports multiple icon formats: Ionicons, SVG paths, and image URLs.
18
18
  *
19
19
  * @example Basic usage with Ionicon
20
20
  * ```html
21
- * <val-action-card
21
+ * <vds-action-card
22
22
  * [props]="{
23
23
  * icon: { ionicon: 'settings-outline' },
24
24
  * title: 'Settings',
@@ -30,7 +30,7 @@ addIcons({ chevronForwardOutline });
30
30
  *
31
31
  * @example With routerLink navigation
32
32
  * ```html
33
- * <val-action-card
33
+ * <vds-action-card
34
34
  * [props]="{
35
35
  * icon: { ionicon: 'person-outline', color: 'primary' },
36
36
  * title: 'Profile',
@@ -43,7 +43,7 @@ addIcons({ chevronForwardOutline });
43
43
  *
44
44
  * @example With custom SVG icon
45
45
  * ```html
46
- * <val-action-card
46
+ * <vds-action-card
47
47
  * [props]="{
48
48
  * icon: { svgPath: 'M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5' },
49
49
  * title: 'Custom Feature',
@@ -59,13 +59,60 @@ export class ActionCardComponent {
59
59
  this.navigation = inject(NavigationService);
60
60
  /** Component configuration */
61
61
  this.props = input({});
62
+ this.title = input();
63
+ this.titleKey = input();
64
+ this.description = input();
65
+ this.descriptionKey = input();
66
+ this.i18nNamespace = input();
67
+ this.icon = input();
68
+ this.size = input();
69
+ this.variant = input();
70
+ this.bordered = input();
71
+ this.borderColor = input();
72
+ this.backgroundColor = input();
73
+ this.shadowed = input();
74
+ this.disabled = input();
75
+ this.routerLink = input();
76
+ this.queryParams = input();
77
+ this.href = input();
78
+ this.badge = input();
79
+ this.showChevron = input();
80
+ this.token = input();
62
81
  /** Event emitted when card is clicked */
63
82
  this.onClick = new EventEmitter();
64
83
  /** Merged configuration with defaults */
65
- this.config = computed(() => ({
66
- ...ACTION_CARD_DEFAULTS,
67
- ...this.props(),
68
- }));
84
+ this.config = computed(() => {
85
+ const directProps = {};
86
+ this.assignIfDefined(directProps, 'title', this.title());
87
+ this.assignIfDefined(directProps, 'titleKey', this.titleKey());
88
+ this.assignIfDefined(directProps, 'description', this.description());
89
+ this.assignIfDefined(directProps, 'descriptionKey', this.descriptionKey());
90
+ this.assignIfDefined(directProps, 'i18nNamespace', this.i18nNamespace());
91
+ this.assignIfDefined(directProps, 'icon', this.icon());
92
+ this.assignIfDefined(directProps, 'size', this.size());
93
+ this.assignIfDefined(directProps, 'variant', this.variant());
94
+ this.assignIfDefined(directProps, 'bordered', this.bordered());
95
+ this.assignIfDefined(directProps, 'borderColor', this.borderColor());
96
+ this.assignIfDefined(directProps, 'backgroundColor', this.backgroundColor());
97
+ this.assignIfDefined(directProps, 'shadowed', this.shadowed());
98
+ this.assignIfDefined(directProps, 'disabled', this.disabled());
99
+ this.assignIfDefined(directProps, 'routerLink', this.routerLink());
100
+ this.assignIfDefined(directProps, 'queryParams', this.queryParams());
101
+ this.assignIfDefined(directProps, 'href', this.href());
102
+ this.assignIfDefined(directProps, 'badge', this.badge());
103
+ this.assignIfDefined(directProps, 'showChevron', this.showChevron());
104
+ this.assignIfDefined(directProps, 'token', this.token());
105
+ return {
106
+ ...ACTION_CARD_DEFAULTS,
107
+ ...this.props(),
108
+ ...directProps,
109
+ };
110
+ });
111
+ }
112
+ assignIfDefined(target, key, value) {
113
+ if (value !== undefined) {
114
+ target[key] = value;
115
+ }
69
116
  }
70
117
  /** Get title with i18n support */
71
118
  getTitle() {
@@ -85,30 +132,37 @@ export class ActionCardComponent {
85
132
  }
86
133
  return cfg.description || '';
87
134
  }
88
- /** Resolve color to CSS value (named Ionic token CSS var, else passthrough) */
89
- resolveColor(color) {
90
- return resolveIonicColor(color) ?? null;
135
+ /** Resolve a public role to VDS first, then keep Ionic as the compatibility fallback. */
136
+ resolveRoleColor(color, part) {
137
+ if (!color)
138
+ return null;
139
+ if (!isIonicColor(color))
140
+ return color;
141
+ const suffix = part && part !== 'base' ? `-${part}` : '';
142
+ const ionicSuffix = part === 'fg' ? '-contrast' : '';
143
+ return `var(--vds-${color}${suffix}, var(--ion-color-${color}${ionicSuffix}))`;
91
144
  }
92
145
  getBackgroundColor() {
93
- return this.resolveColor(this.config().backgroundColor);
146
+ return this.resolveRoleColor(this.config().backgroundColor, 'tint');
94
147
  }
95
148
  getBorderColor() {
96
- return this.resolveColor(this.config().borderColor) || 'var(--ion-color-light-shade)';
149
+ return (this.resolveRoleColor(this.config().borderColor, 'border') ||
150
+ 'var(--vds-border-subtle, var(--ion-color-light-shade, rgba(148, 163, 184, 0.24)))');
97
151
  }
98
152
  getIconColor() {
99
- return this.resolveColor(this.config().icon?.color) || 'var(--ion-color-primary)';
153
+ return this.resolveRoleColor(this.config().icon?.color, 'text') || 'var(--vds-primary-text, #1d4ed8)';
100
154
  }
101
155
  getIconBackgroundColor() {
102
156
  const bg = this.config().icon?.backgroundColor;
103
157
  if (!bg)
104
- return 'rgba(var(--ion-color-primary-rgb), 0.1)';
105
- return this.resolveColor(bg);
158
+ return 'var(--vds-primary-tint, rgba(var(--ion-color-primary-rgb), 0.1))';
159
+ return this.resolveRoleColor(bg, 'tint');
106
160
  }
107
161
  getBadgeColor() {
108
- return this.resolveColor(this.config().badge?.color) || 'white';
162
+ return this.resolveRoleColor(this.config().badge?.color, 'fg') || 'var(--vds-primary-fg, #ffffff)';
109
163
  }
110
164
  getBadgeBackgroundColor() {
111
- return this.resolveColor(this.config().badge?.backgroundColor) || 'var(--ion-color-primary)';
165
+ return this.resolveRoleColor(this.config().badge?.backgroundColor) || 'var(--vds-primary, #2563eb)';
112
166
  }
113
167
  /** Handle card click */
114
168
  handleClick(event) {
@@ -129,18 +183,23 @@ export class ActionCardComponent {
129
183
  }
130
184
  }
131
185
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionCardComponent, isStandalone: true, selector: "val-action-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionCardComponent, isStandalone: true, selector: "val-action-card, vds-action-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleKey: { classPropertyName: "titleKey", publicName: "titleKey", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, descriptionKey: { classPropertyName: "descriptionKey", publicName: "descriptionKey", isSignal: true, isRequired: false, transformFunction: null }, i18nNamespace: { classPropertyName: "i18nNamespace", publicName: "i18nNamespace", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, borderColor: { classPropertyName: "borderColor", publicName: "borderColor", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, shadowed: { classPropertyName: "shadowed", publicName: "shadowed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, showChevron: { classPropertyName: "showChevron", publicName: "showChevron", isSignal: true, isRequired: false, transformFunction: null }, token: { classPropertyName: "token", publicName: "token", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
133
187
  <div
134
188
  class="action-card"
135
189
  [class.action-card--small]="config().size === 'small'"
136
190
  [class.action-card--medium]="config().size === 'medium'"
137
191
  [class.action-card--large]="config().size === 'large'"
192
+ [class.action-card--marker]="config().variant === 'marker'"
138
193
  [class.action-card--bordered]="config().bordered"
139
194
  [class.action-card--shadowed]="config().shadowed"
140
195
  [class.action-card--disabled]="config().disabled"
141
196
  [class.action-card--clickable]="!config().disabled"
142
197
  [style.--card-bg]="getBackgroundColor()"
143
198
  [style.--card-border-color]="getBorderColor()"
199
+ [style.--card-icon-color]="getIconColor()"
200
+ [style.--card-icon-bg]="getIconBackgroundColor()"
201
+ [style.--card-badge-color]="getBadgeColor()"
202
+ [style.--card-badge-bg]="getBadgeBackgroundColor()"
144
203
  [routerLink]="config().disabled ? null : config().routerLink"
145
204
  [queryParams]="config().queryParams ?? null"
146
205
  (click)="handleClick($event)"
@@ -152,17 +211,13 @@ export class ActionCardComponent {
152
211
 
153
212
  <!-- Badge (top-right corner) -->
154
213
  @if (config().badge) {
155
- <span
156
- class="action-card__badge"
157
- [style.color]="getBadgeColor()"
158
- [style.background-color]="getBadgeBackgroundColor()"
159
- >
214
+ <span class="action-card__badge">
160
215
  {{ config().badge!.text }}
161
216
  </span>
162
217
  }
163
218
 
164
219
  <!-- Icon Container -->
165
- <div class="action-card__icon" [style.color]="getIconColor()" [style.background-color]="getIconBackgroundColor()">
220
+ <div class="action-card__icon">
166
221
  @if (config().icon?.ionicon) {
167
222
  <ion-icon [name]="config().icon!.ionicon!" aria-hidden="true"></ion-icon>
168
223
  } @else if (config().icon?.svgPath) {
@@ -194,22 +249,27 @@ export class ActionCardComponent {
194
249
  <ion-icon name="chevron-forward-outline" class="action-card__chevron" aria-hidden="true"></ion-icon>
195
250
  }
196
251
  </div>
197
- `, isInline: true, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--ion-card-background, var(--ion-background-color)));border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--ion-color-primary)}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--bordered{border:1px solid var(--card-border-color, var(--ion-color-light-shade))}.action-card--shadowed{box-shadow:0 2px 8px #00000014}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.action-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--ion-text-color);line-height:1.3}.action-card__description{margin:0;color:var(--ion-color-dark);line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--ion-color-dark);transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:0 4px 16px #0006}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
252
+ `, isInline: true, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--vds-bg-surface, var(--ion-card-background, var(--ion-background-color))));border-radius:var(--vds-action-card-radius, var(--vds-radius-surface, 12px));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--vds-primary, var(--ion-color-primary, #2563eb))}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--marker{align-items:flex-start;border:1px solid var(--card-border-color);box-shadow:none}.action-card--marker .action-card__icon{width:12px;height:12px;margin-top:.35rem;border-radius:var(--vds-radius-pill, 9999px);background-color:var(--card-icon-color, var(--vds-primary, #2563eb))}.action-card--marker .action-card__icon ion-icon,.action-card--marker .action-card__icon svg,.action-card--marker .action-card__icon img{display:none}.action-card--bordered{border:1px solid var(--card-border-color)}.action-card--shadowed{box-shadow:var(--vds-action-card-shadow, var(--vds-shadow-sm, 0 2px 8px rgba(15, 23, 42, .08)))}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:var(--vds-action-card-hover-shadow, var(--vds-shadow-md, 0 4px 16px rgba(15, 23, 42, .12)))}.action-card--clickable:focus-visible{outline:var(--vds-focus-ring-width, 2px) solid var(--vds-focus-ring-color, var(--vds-primary, #2563eb));outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1;background-color:var(--card-badge-bg, var(--vds-primary, #2563eb));color:var(--card-badge-color, var(--vds-primary-fg, #ffffff))}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:var(--card-icon-bg, var(--vds-primary-tint, rgba(var(--ion-color-primary-rgb), .1)));color:var(--card-icon-color, var(--vds-primary-text, #1d4ed8))}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--vds-fg-base, var(--ion-text-color, #0f172a));line-height:1.3}.action-card__description{margin:0;color:var(--vds-fg-subtle, var(--ion-color-dark, #334155));line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--vds-fg-muted, var(--ion-color-dark, #64748b));transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:var(--vds-action-card-shadow, var(--vds-shadow-sm, 0 2px 8px rgba(0, 0, 0, .3)))}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:var(--vds-action-card-hover-shadow, var(--vds-shadow-md, 0 4px 16px rgba(0, 0, 0, .4)))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
198
253
  }
199
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionCardComponent, decorators: [{
200
255
  type: Component,
201
- args: [{ selector: 'val-action-card', standalone: true, imports: [CommonModule, RouterLink, IonIcon, IonRippleEffect], template: `
256
+ args: [{ selector: 'val-action-card, vds-action-card', standalone: true, imports: [CommonModule, RouterLink, IonIcon, IonRippleEffect], template: `
202
257
  <div
203
258
  class="action-card"
204
259
  [class.action-card--small]="config().size === 'small'"
205
260
  [class.action-card--medium]="config().size === 'medium'"
206
261
  [class.action-card--large]="config().size === 'large'"
262
+ [class.action-card--marker]="config().variant === 'marker'"
207
263
  [class.action-card--bordered]="config().bordered"
208
264
  [class.action-card--shadowed]="config().shadowed"
209
265
  [class.action-card--disabled]="config().disabled"
210
266
  [class.action-card--clickable]="!config().disabled"
211
267
  [style.--card-bg]="getBackgroundColor()"
212
268
  [style.--card-border-color]="getBorderColor()"
269
+ [style.--card-icon-color]="getIconColor()"
270
+ [style.--card-icon-bg]="getIconBackgroundColor()"
271
+ [style.--card-badge-color]="getBadgeColor()"
272
+ [style.--card-badge-bg]="getBadgeBackgroundColor()"
213
273
  [routerLink]="config().disabled ? null : config().routerLink"
214
274
  [queryParams]="config().queryParams ?? null"
215
275
  (click)="handleClick($event)"
@@ -221,17 +281,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
221
281
 
222
282
  <!-- Badge (top-right corner) -->
223
283
  @if (config().badge) {
224
- <span
225
- class="action-card__badge"
226
- [style.color]="getBadgeColor()"
227
- [style.background-color]="getBadgeBackgroundColor()"
228
- >
284
+ <span class="action-card__badge">
229
285
  {{ config().badge!.text }}
230
286
  </span>
231
287
  }
232
288
 
233
289
  <!-- Icon Container -->
234
- <div class="action-card__icon" [style.color]="getIconColor()" [style.background-color]="getIconBackgroundColor()">
290
+ <div class="action-card__icon">
235
291
  @if (config().icon?.ionicon) {
236
292
  <ion-icon [name]="config().icon!.ionicon!" aria-hidden="true"></ion-icon>
237
293
  } @else if (config().icon?.svgPath) {
@@ -263,8 +319,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
263
319
  <ion-icon name="chevron-forward-outline" class="action-card__chevron" aria-hidden="true"></ion-icon>
264
320
  }
265
321
  </div>
266
- `, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--ion-card-background, var(--ion-background-color)));border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--ion-color-primary)}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--bordered{border:1px solid var(--card-border-color, var(--ion-color-light-shade))}.action-card--shadowed{box-shadow:0 2px 8px #00000014}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.action-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--ion-text-color);line-height:1.3}.action-card__description{margin:0;color:var(--ion-color-dark);line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--ion-color-dark);transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:0 4px 16px #0006}\n"] }]
322
+ `, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--vds-bg-surface, var(--ion-card-background, var(--ion-background-color))));border-radius:var(--vds-action-card-radius, var(--vds-radius-surface, 12px));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--vds-primary, var(--ion-color-primary, #2563eb))}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--marker{align-items:flex-start;border:1px solid var(--card-border-color);box-shadow:none}.action-card--marker .action-card__icon{width:12px;height:12px;margin-top:.35rem;border-radius:var(--vds-radius-pill, 9999px);background-color:var(--card-icon-color, var(--vds-primary, #2563eb))}.action-card--marker .action-card__icon ion-icon,.action-card--marker .action-card__icon svg,.action-card--marker .action-card__icon img{display:none}.action-card--bordered{border:1px solid var(--card-border-color)}.action-card--shadowed{box-shadow:var(--vds-action-card-shadow, var(--vds-shadow-sm, 0 2px 8px rgba(15, 23, 42, .08)))}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:var(--vds-action-card-hover-shadow, var(--vds-shadow-md, 0 4px 16px rgba(15, 23, 42, .12)))}.action-card--clickable:focus-visible{outline:var(--vds-focus-ring-width, 2px) solid var(--vds-focus-ring-color, var(--vds-primary, #2563eb));outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1;background-color:var(--card-badge-bg, var(--vds-primary, #2563eb));color:var(--card-badge-color, var(--vds-primary-fg, #ffffff))}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:var(--card-icon-bg, var(--vds-primary-tint, rgba(var(--ion-color-primary-rgb), .1)));color:var(--card-icon-color, var(--vds-primary-text, #1d4ed8))}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--vds-fg-base, var(--ion-text-color, #0f172a));line-height:1.3}.action-card__description{margin:0;color:var(--vds-fg-subtle, var(--ion-color-dark, #334155));line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--vds-fg-muted, var(--ion-color-dark, #64748b));transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:var(--vds-action-card-shadow, var(--vds-shadow-sm, 0 2px 8px rgba(0, 0, 0, .3)))}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:var(--vds-action-card-hover-shadow, var(--vds-shadow-md, 0 4px 16px rgba(0, 0, 0, .4)))}\n"] }]
267
323
  }], propDecorators: { onClick: [{
268
324
  type: Output
269
325
  }] } });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQTRDLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV6RixRQUFRLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFcEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQXlFSCxNQUFNLE9BQU8sbUJBQW1CO0lBeEVoQztRQXlFVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyw4QkFBOEI7UUFDckIsVUFBSyxHQUFHLEtBQUssQ0FBOEIsRUFBRSxDQUFDLENBQUM7UUFFeEQseUNBQXlDO1FBQy9CLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUU3RCx5Q0FBeUM7UUFDekMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEdBQUcsb0JBQW9CO1lBQ3ZCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtTQUNoQixDQUFDLENBQUMsQ0FBQztLQTBFTDtJQXhFQyxrQ0FBa0M7SUFDbEMsUUFBUTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7WUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0NBQXdDO1lBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGlGQUFpRjtJQUN6RSxZQUFZLENBQUMsS0FBYztRQUNqQyxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsZUFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFxQixDQUFDLElBQUksOEJBQThCLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFlLENBQUMsSUFBSSwwQkFBMEIsQ0FBQztJQUM5RixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyx5Q0FBeUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFlLENBQUMsSUFBSSxPQUFPLENBQUM7SUFDNUUsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxlQUF5QixDQUFDLElBQUksMEJBQTBCLENBQUM7SUFDekcsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixXQUFXLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTFCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsc0JBQXNCO1FBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQXZGVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixnUEFwRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlFVCxxMEdBbEVTLFlBQVksK0JBQUUsVUFBVSxvT0FBRSxPQUFPLDJKQUFFLGVBQWU7OzRGQXFFakQsbUJBQW1CO2tCQXhFL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsWUFDbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVUOzhCQVdTLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZXZyb25Gb3J3YXJkT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgcmVzb2x2ZUlvbmljQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvaW9uaWMtY29sb3InO1xuaW1wb3J0IHsgQWN0aW9uQ2FyZE1ldGFkYXRhLCBBY3Rpb25DYXJkQ2xpY2tFdmVudCwgQUNUSU9OX0NBUkRfREVGQVVMVFMgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjaGV2cm9uRm9yd2FyZE91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWFjdGlvbi1jYXJkXG4gKlxuICogQSBjbGlja2FibGUgY2FyZCBjb21wb25lbnQgd2l0aCBpY29uLCB0aXRsZSwgZGVzY3JpcHRpb24sIGFuZCBvcHRpb25hbCBiYWRnZS5cbiAqIFN1cHBvcnRzIG11bHRpcGxlIGljb24gZm9ybWF0czogSW9uaWNvbnMsIFNWRyBwYXRocywgYW5kIGltYWdlIFVSTHMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2Ugd2l0aCBJb25pY29uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBpb25pY29uOiAnc2V0dGluZ3Mtb3V0bGluZScgfSxcbiAqICAgICB0aXRsZTogJ1NldHRpbmdzJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ01hbmFnZSB5b3VyIHByZWZlcmVuY2VzJ1xuICogICB9XCJcbiAqICAgKG9uQ2xpY2spPVwib25DYXJkQ2xpY2soJGV2ZW50KVwiXG4gKiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCByb3V0ZXJMaW5rIG5hdmlnYXRpb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtYWN0aW9uLWNhcmRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBpY29uOiB7IGlvbmljb246ICdwZXJzb24tb3V0bGluZScsIGNvbG9yOiAncHJpbWFyeScgfSxcbiAqICAgICB0aXRsZTogJ1Byb2ZpbGUnLFxuICogICAgIGRlc2NyaXB0aW9uOiAnVmlldyBhbmQgZWRpdCB5b3VyIHByb2ZpbGUnLFxuICogICAgIHJvdXRlckxpbms6ICcvc2V0dGluZ3MvcHJvZmlsZScsXG4gKiAgICAgc2hvd0NoZXZyb246IHRydWVcbiAqICAgfVwiXG4gKiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBjdXN0b20gU1ZHIGljb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtYWN0aW9uLWNhcmRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBpY29uOiB7IHN2Z1BhdGg6ICdNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01JyB9LFxuICogICAgIHRpdGxlOiAnQ3VzdG9tIEZlYXR1cmUnLFxuICogICAgIGRlc2NyaXB0aW9uOiAnQSBmZWF0dXJlIHdpdGggY3VzdG9tIFNWRyBpY29uJyxcbiAqICAgICBiYWRnZTogeyB0ZXh0OiAnTkVXJywgY29sb3I6ICdsaWdodCcsIGJhY2tncm91bmRDb2xvcjogJ3ByaW1hcnknIH1cbiAqICAgfVwiXG4gKiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hY3Rpb24tY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIElvbkljb24sIElvblJpcHBsZUVmZmVjdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhY3Rpb24tY2FyZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLXNtYWxsXT1cImNvbmZpZygpLnNpemUgPT09ICdzbWFsbCdcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1tZWRpdW1dPVwiY29uZmlnKCkuc2l6ZSA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1sYXJnZV09XCJjb25maWcoKS5zaXplID09PSAnbGFyZ2UnXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tYm9yZGVyZWRdPVwiY29uZmlnKCkuYm9yZGVyZWRcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1zaGFkb3dlZF09XCJjb25maWcoKS5zaGFkb3dlZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLWRpc2FibGVkXT1cImNvbmZpZygpLmRpc2FibGVkXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tY2xpY2thYmxlXT1cIiFjb25maWcoKS5kaXNhYmxlZFwiXG4gICAgICBbc3R5bGUuLS1jYXJkLWJnXT1cImdldEJhY2tncm91bmRDb2xvcigpXCJcbiAgICAgIFtzdHlsZS4tLWNhcmQtYm9yZGVyLWNvbG9yXT1cImdldEJvcmRlckNvbG9yKClcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiY29uZmlnKCkuZGlzYWJsZWQgPyBudWxsIDogY29uZmlnKCkucm91dGVyTGlua1wiXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiY29uZmlnKCkucXVlcnlQYXJhbXMgPz8gbnVsbFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJjb25maWcoKS5kaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICBbYXR0ci5yb2xlXT1cIididXR0b24nXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiY29uZmlnKCkuZGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxpb24tcmlwcGxlLWVmZmVjdD48L2lvbi1yaXBwbGUtZWZmZWN0PlxuXG4gICAgICA8IS0tIEJhZGdlICh0b3AtcmlnaHQgY29ybmVyKSAtLT5cbiAgICAgIEBpZiAoY29uZmlnKCkuYmFkZ2UpIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImFjdGlvbi1jYXJkX19iYWRnZVwiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImdldEJhZGdlQ29sb3IoKVwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0QmFkZ2VCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjb25maWcoKS5iYWRnZSEudGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gSWNvbiBDb250YWluZXIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWNhcmRfX2ljb25cIiBbc3R5bGUuY29sb3JdPVwiZ2V0SWNvbkNvbG9yKClcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRJY29uQmFja2dyb3VuZENvbG9yKClcIj5cbiAgICAgICAgQGlmIChjb25maWcoKS5pY29uPy5pb25pY29uKSB7XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImNvbmZpZygpLmljb24hLmlvbmljb24hXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgfSBAZWxzZSBpZiAoY29uZmlnKCkuaWNvbj8uc3ZnUGF0aCkge1xuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImNvbmZpZygpLmljb24hLnN2Z1BhdGhcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICB9IEBlbHNlIGlmIChjb25maWcoKS5pY29uPy5pbWFnZVVybCkge1xuICAgICAgICAgIDxpbWcgW3NyY109XCJjb25maWcoKS5pY29uIS5pbWFnZVVybFwiIFthbHRdPVwiZ2V0VGl0bGUoKVwiIGNsYXNzPVwiYWN0aW9uLWNhcmRfX2ljb24taW1hZ2VcIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb250ZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1jYXJkX19jb250ZW50XCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImFjdGlvbi1jYXJkX190aXRsZVwiPnt7IGdldFRpdGxlKCkgfX08L2gzPlxuICAgICAgICBAaWYgKGdldERlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImFjdGlvbi1jYXJkX19kZXNjcmlwdGlvblwiPnt7IGdldERlc2NyaXB0aW9uKCkgfX08L3A+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIENoZXZyb24gKG9wdGlvbmFsKSAtLT5cbiAgICAgIEBpZiAoY29uZmlnKCkuc2hvd0NoZXZyb24gJiYgIWNvbmZpZygpLmRpc2FibGVkKSB7XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1mb3J3YXJkLW91dGxpbmVcIiBjbGFzcz1cImFjdGlvbi1jYXJkX19jaGV2cm9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQ2FyZENvbXBvbmVudCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgbmF2aWdhdGlvbiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG5cbiAgLyoqIENvbXBvbmVudCBjb25maWd1cmF0aW9uICovXG4gIHJlYWRvbmx5IHByb3BzID0gaW5wdXQ8UGFydGlhbDxBY3Rpb25DYXJkTWV0YWRhdGE+Pih7fSk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBjYXJkIGlzIGNsaWNrZWQgKi9cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbkNhcmRDbGlja0V2ZW50PigpO1xuXG4gIC8qKiBNZXJnZWQgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHRzICovXG4gIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgLi4uQUNUSU9OX0NBUkRfREVGQVVMVFMsXG4gICAgLi4udGhpcy5wcm9wcygpLFxuICB9KSk7XG5cbiAgLyoqIEdldCB0aXRsZSB3aXRoIGkxOG4gc3VwcG9ydCAqL1xuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgaWYgKGNmZy5pMThuTmFtZXNwYWNlICYmIGNmZy50aXRsZUtleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGNmZy50aXRsZUtleSwgY2ZnLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gY2ZnLnRpdGxlIHx8ICcnO1xuICB9XG5cbiAgLyoqIEdldCBkZXNjcmlwdGlvbiB3aXRoIGkxOG4gc3VwcG9ydCAqL1xuICBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgaWYgKGNmZy5pMThuTmFtZXNwYWNlICYmIGNmZy5kZXNjcmlwdGlvbktleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGNmZy5kZXNjcmlwdGlvbktleSwgY2ZnLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gY2ZnLmRlc2NyaXB0aW9uIHx8ICcnO1xuICB9XG5cbiAgLyoqIFJlc29sdmUgY29sb3IgdG8gQ1NTIHZhbHVlIChuYW1lZCBJb25pYyB0b2tlbiDihpIgQ1NTIHZhciwgZWxzZSBwYXNzdGhyb3VnaCkgKi9cbiAgcHJpdmF0ZSByZXNvbHZlQ29sb3IoY29sb3I/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZUlvbmljQ29sb3IoY29sb3IpID8/IG51bGw7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFja2dyb3VuZENvbG9yIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRCb3JkZXJDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IodGhpcy5jb25maWcoKS5ib3JkZXJDb2xvciBhcyBzdHJpbmcpIHx8ICd2YXIoLS1pb24tY29sb3ItbGlnaHQtc2hhZGUpJztcbiAgfVxuXG4gIGdldEljb25Db2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IodGhpcy5jb25maWcoKS5pY29uPy5jb2xvciBhcyBzdHJpbmcpIHx8ICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICB9XG5cbiAgZ2V0SWNvbkJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBiZyA9IHRoaXMuY29uZmlnKCkuaWNvbj8uYmFja2dyb3VuZENvbG9yO1xuICAgIGlmICghYmcpIHJldHVybiAncmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjEpJztcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IoYmcgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIGdldEJhZGdlQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFkZ2U/LmNvbG9yIGFzIHN0cmluZykgfHwgJ3doaXRlJztcbiAgfVxuXG4gIGdldEJhZGdlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVDb2xvcih0aGlzLmNvbmZpZygpLmJhZGdlPy5iYWNrZ3JvdW5kQ29sb3IgYXMgc3RyaW5nKSB8fCAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxuXG4gIC8qKiBIYW5kbGUgY2FyZCBjbGljayAqL1xuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICBpZiAoY2ZnLmRpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRW1pdCBjbGljayBldmVudFxuICAgIHRoaXMub25DbGljay5lbWl0KHtcbiAgICAgIHRva2VuOiBjZmcudG9rZW4sXG4gICAgICBuYXZpZ2F0ZWQ6ICEhY2ZnLnJvdXRlckxpbmsgfHwgISFjZmcuaHJlZixcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBleHRlcm5hbCBVUkxcbiAgICBpZiAoY2ZnLmhyZWYpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5vcGVuSW5OZXdUYWIoY2ZnLmhyZWYpO1xuICAgIH1cbiAgfVxufVxuIl19
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUE0QyxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFekYsUUFBUSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBRXBDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUEwRUgsTUFBTSxPQUFPLG1CQUFtQjtJQXpFaEM7UUEwRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixlQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFL0MsOEJBQThCO1FBQ3JCLFVBQUssR0FBRyxLQUFLLENBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLFVBQUssR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFDcEMsYUFBUSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUMxQyxtQkFBYyxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUM1QyxTQUFJLEdBQUcsS0FBSyxFQUEwQyxDQUFDO1FBQ3ZELFNBQUksR0FBRyxLQUFLLEVBQTBDLENBQUM7UUFDdkQsWUFBTyxHQUFHLEtBQUssRUFBNkMsQ0FBQztRQUM3RCxhQUFRLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsS0FBSyxFQUFpRCxDQUFDO1FBQ3JFLG9CQUFlLEdBQUcsS0FBSyxFQUFxRCxDQUFDO1FBQzdFLGFBQVEsR0FBRyxLQUFLLEVBQXVCLENBQUM7UUFDeEMsYUFBUSxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUN4QyxlQUFVLEdBQUcsS0FBSyxFQUFnRCxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsS0FBSyxFQUFpRCxDQUFDO1FBQ3JFLFNBQUksR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFDbkMsVUFBSyxHQUFHLEtBQUssRUFBMkMsQ0FBQztRQUN6RCxnQkFBVyxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUMzQyxVQUFLLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRTdDLHlDQUF5QztRQUMvQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFN0QseUNBQXlDO1FBQ3pDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sV0FBVyxHQUFnQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZUFB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QWUsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJO1NBQzFDLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUN0QixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzsrR0FwSlUsbUJBQW1CO21HQUFuQixtQkFBbUIsa3JGQXJFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtFVCw2aEpBbkVTLFlBQVksK0JBQUUsVUFBVSxvT0FBRSxPQUFPLDJKQUFFLGVBQWU7OzRGQXNFakQsbUJBQW1CO2tCQXpFL0IsU0FBUzsrQkFDRSxrQ0FBa0MsY0FDaEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLFlBQ25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrRVQ7OEJBOEJTLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZXZyb25Gb3J3YXJkT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgaXNJb25pY0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2lvbmljLWNvbG9yJztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSwgQWN0aW9uQ2FyZENsaWNrRXZlbnQsIEFDVElPTl9DQVJEX0RFRkFVTFRTIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZkcy1hY3Rpb24tY2FyZFxuICpcbiAqIEEgY2xpY2thYmxlIGNhcmQgY29tcG9uZW50IHdpdGggaWNvbiwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhbmQgb3B0aW9uYWwgYmFkZ2UuXG4gKiBTdXBwb3J0cyBtdWx0aXBsZSBpY29uIGZvcm1hdHM6IElvbmljb25zLCBTVkcgcGF0aHMsIGFuZCBpbWFnZSBVUkxzLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlIHdpdGggSW9uaWNvblxuICogYGBgaHRtbFxuICogPHZkcy1hY3Rpb24tY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGljb246IHsgaW9uaWNvbjogJ3NldHRpbmdzLW91dGxpbmUnIH0sXG4gKiAgICAgdGl0bGU6ICdTZXR0aW5ncycsXG4gKiAgICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgeW91ciBwcmVmZXJlbmNlcydcbiAqICAgfVwiXG4gKiAgIChvbkNsaWNrKT1cIm9uQ2FyZENsaWNrKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcm91dGVyTGluayBuYXZpZ2F0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmRzLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBpb25pY29uOiAncGVyc29uLW91dGxpbmUnLCBjb2xvcjogJ3ByaW1hcnknIH0sXG4gKiAgICAgdGl0bGU6ICdQcm9maWxlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ1ZpZXcgYW5kIGVkaXQgeW91ciBwcm9maWxlJyxcbiAqICAgICByb3V0ZXJMaW5rOiAnL3NldHRpbmdzL3Byb2ZpbGUnLFxuICogICAgIHNob3dDaGV2cm9uOiB0cnVlXG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIFNWRyBpY29uXG4gKiBgYGBodG1sXG4gKiA8dmRzLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBzdmdQYXRoOiAnTTEyIDJMMiA3bDEwIDUgMTAtNS0xMC01ek0yIDE3bDEwIDUgMTAtNU0yIDEybDEwIDUgMTAtNScgfSxcbiAqICAgICB0aXRsZTogJ0N1c3RvbSBGZWF0dXJlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ0EgZmVhdHVyZSB3aXRoIGN1c3RvbSBTVkcgaWNvbicsXG4gKiAgICAgYmFkZ2U6IHsgdGV4dDogJ05FVycsIGNvbG9yOiAnbGlnaHQnLCBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB9XG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYWN0aW9uLWNhcmQsIHZkcy1hY3Rpb24tY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIElvbkljb24sIElvblJpcHBsZUVmZmVjdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhY3Rpb24tY2FyZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLXNtYWxsXT1cImNvbmZpZygpLnNpemUgPT09ICdzbWFsbCdcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1tZWRpdW1dPVwiY29uZmlnKCkuc2l6ZSA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1sYXJnZV09XCJjb25maWcoKS5zaXplID09PSAnbGFyZ2UnXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tbWFya2VyXT1cImNvbmZpZygpLnZhcmlhbnQgPT09ICdtYXJrZXInXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tYm9yZGVyZWRdPVwiY29uZmlnKCkuYm9yZGVyZWRcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1zaGFkb3dlZF09XCJjb25maWcoKS5zaGFkb3dlZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLWRpc2FibGVkXT1cImNvbmZpZygpLmRpc2FibGVkXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tY2xpY2thYmxlXT1cIiFjb25maWcoKS5kaXNhYmxlZFwiXG4gICAgICBbc3R5bGUuLS1jYXJkLWJnXT1cImdldEJhY2tncm91bmRDb2xvcigpXCJcbiAgICAgIFtzdHlsZS4tLWNhcmQtYm9yZGVyLWNvbG9yXT1cImdldEJvcmRlckNvbG9yKClcIlxuICAgICAgW3N0eWxlLi0tY2FyZC1pY29uLWNvbG9yXT1cImdldEljb25Db2xvcigpXCJcbiAgICAgIFtzdHlsZS4tLWNhcmQtaWNvbi1iZ109XCJnZXRJY29uQmFja2dyb3VuZENvbG9yKClcIlxuICAgICAgW3N0eWxlLi0tY2FyZC1iYWRnZS1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKClcIlxuICAgICAgW3N0eWxlLi0tY2FyZC1iYWRnZS1iZ109XCJnZXRCYWRnZUJhY2tncm91bmRDb2xvcigpXCJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cImNvbmZpZygpLmRpc2FibGVkID8gbnVsbCA6IGNvbmZpZygpLnJvdXRlckxpbmtcIlxuICAgICAgW3F1ZXJ5UGFyYW1zXT1cImNvbmZpZygpLnF1ZXJ5UGFyYW1zID8/IG51bGxcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiY29uZmlnKCkuZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgW2F0dHIucm9sZV09XCInYnV0dG9uJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImNvbmZpZygpLmRpc2FibGVkXCJcbiAgICA+XG4gICAgICA8aW9uLXJpcHBsZS1lZmZlY3Q+PC9pb24tcmlwcGxlLWVmZmVjdD5cblxuICAgICAgPCEtLSBCYWRnZSAodG9wLXJpZ2h0IGNvcm5lcikgLS0+XG4gICAgICBAaWYgKGNvbmZpZygpLmJhZGdlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWNhcmRfX2JhZGdlXCI+XG4gICAgICAgICAge3sgY29uZmlnKCkuYmFkZ2UhLnRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuXG4gICAgICA8IS0tIEljb24gQ29udGFpbmVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1jYXJkX19pY29uXCI+XG4gICAgICAgIEBpZiAoY29uZmlnKCkuaWNvbj8uaW9uaWNvbikge1xuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJjb25maWcoKS5pY29uIS5pb25pY29uIVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgIH0gQGVsc2UgaWYgKGNvbmZpZygpLmljb24/LnN2Z1BhdGgpIHtcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJjb25maWcoKS5pY29uIS5zdmdQYXRoXCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfSBAZWxzZSBpZiAoY29uZmlnKCkuaWNvbj8uaW1hZ2VVcmwpIHtcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiY29uZmlnKCkuaWNvbiEuaW1hZ2VVcmxcIiBbYWx0XT1cImdldFRpdGxlKClcIiBjbGFzcz1cImFjdGlvbi1jYXJkX19pY29uLWltYWdlXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ29udGVudCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tY2FyZF9fY29udGVudFwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJhY3Rpb24tY2FyZF9fdGl0bGVcIj57eyBnZXRUaXRsZSgpIH19PC9oMz5cbiAgICAgICAgQGlmIChnZXREZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJhY3Rpb24tY2FyZF9fZGVzY3JpcHRpb25cIj57eyBnZXREZXNjcmlwdGlvbigpIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDaGV2cm9uIChvcHRpb25hbCkgLS0+XG4gICAgICBAaWYgKGNvbmZpZygpLnNob3dDaGV2cm9uICYmICFjb25maWcoKS5kaXNhYmxlZCkge1xuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tZm9yd2FyZC1vdXRsaW5lXCIgY2xhc3M9XCJhY3Rpb24tY2FyZF9fY2hldnJvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNhcmRDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb24gPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PFBhcnRpYWw8QWN0aW9uQ2FyZE1ldGFkYXRhPj4oe30pO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgdGl0bGVLZXkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBkZXNjcmlwdGlvbktleSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgaTE4bk5hbWVzcGFjZSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PEFjdGlvbkNhcmRNZXRhZGF0YVsnaWNvbiddIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8QWN0aW9uQ2FyZE1ldGFkYXRhWydzaXplJ10gfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxBY3Rpb25DYXJkTWV0YWRhdGFbJ3ZhcmlhbnQnXSB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgYm9yZGVyZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBib3JkZXJDb2xvciA9IGlucHV0PEFjdGlvbkNhcmRNZXRhZGF0YVsnYm9yZGVyQ29sb3InXSB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgYmFja2dyb3VuZENvbG9yID0gaW5wdXQ8QWN0aW9uQ2FyZE1ldGFkYXRhWydiYWNrZ3JvdW5kQ29sb3InXSB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgc2hhZG93ZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IHJvdXRlckxpbmsgPSBpbnB1dDxBY3Rpb25DYXJkTWV0YWRhdGFbJ3JvdXRlckxpbmsnXSB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgcXVlcnlQYXJhbXMgPSBpbnB1dDxBY3Rpb25DYXJkTWV0YWRhdGFbJ3F1ZXJ5UGFyYW1zJ10gfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGhyZWYgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGJhZGdlID0gaW5wdXQ8QWN0aW9uQ2FyZE1ldGFkYXRhWydiYWRnZSddIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBzaG93Q2hldnJvbiA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IHRva2VuID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gY2FyZCBpcyBjbGlja2VkICovXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25DYXJkQ2xpY2tFdmVudD4oKTtcblxuICAvKiogTWVyZ2VkIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0cyAqL1xuICBjb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGlyZWN0UHJvcHM6IFBhcnRpYWw8QWN0aW9uQ2FyZE1ldGFkYXRhPiA9IHt9O1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAndGl0bGUnLCB0aGlzLnRpdGxlKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAndGl0bGVLZXknLCB0aGlzLnRpdGxlS2V5KCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAnZGVzY3JpcHRpb24nLCB0aGlzLmRlc2NyaXB0aW9uKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAnZGVzY3JpcHRpb25LZXknLCB0aGlzLmRlc2NyaXB0aW9uS2V5KCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAnaTE4bk5hbWVzcGFjZScsIHRoaXMuaTE4bk5hbWVzcGFjZSgpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ2ljb24nLCB0aGlzLmljb24oKSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoZGlyZWN0UHJvcHMsICdzaXplJywgdGhpcy5zaXplKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAndmFyaWFudCcsIHRoaXMudmFyaWFudCgpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ2JvcmRlcmVkJywgdGhpcy5ib3JkZXJlZCgpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ2JvcmRlckNvbG9yJywgdGhpcy5ib3JkZXJDb2xvcigpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ2JhY2tncm91bmRDb2xvcicsIHRoaXMuYmFja2dyb3VuZENvbG9yKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAnc2hhZG93ZWQnLCB0aGlzLnNoYWRvd2VkKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKCkpO1xuICAgIHRoaXMuYXNzaWduSWZEZWZpbmVkKGRpcmVjdFByb3BzLCAncm91dGVyTGluaycsIHRoaXMucm91dGVyTGluaygpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ3F1ZXJ5UGFyYW1zJywgdGhpcy5xdWVyeVBhcmFtcygpKTtcbiAgICB0aGlzLmFzc2lnbklmRGVmaW5lZChkaXJlY3RQcm9wcywgJ2hyZWYnLCB0aGlzLmhyZWYoKSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoZGlyZWN0UHJvcHMsICdiYWRnZScsIHRoaXMuYmFkZ2UoKSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoZGlyZWN0UHJvcHMsICdzaG93Q2hldnJvbicsIHRoaXMuc2hvd0NoZXZyb24oKSk7XG4gICAgdGhpcy5hc3NpZ25JZkRlZmluZWQoZGlyZWN0UHJvcHMsICd0b2tlbicsIHRoaXMudG9rZW4oKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uQUNUSU9OX0NBUkRfREVGQVVMVFMsXG4gICAgICAuLi50aGlzLnByb3BzKCksXG4gICAgICAuLi5kaXJlY3RQcm9wcyxcbiAgICB9O1xuICB9KTtcblxuICBwcml2YXRlIGFzc2lnbklmRGVmaW5lZDxLIGV4dGVuZHMga2V5b2YgQWN0aW9uQ2FyZE1ldGFkYXRhPihcbiAgICB0YXJnZXQ6IFBhcnRpYWw8QWN0aW9uQ2FyZE1ldGFkYXRhPixcbiAgICBrZXk6IEssXG4gICAgdmFsdWU6IEFjdGlvbkNhcmRNZXRhZGF0YVtLXSB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRpdGxlIHdpdGggaTE4biBzdXBwb3J0ICovXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcbiAgICBpZiAoY2ZnLmkxOG5OYW1lc3BhY2UgJiYgY2ZnLnRpdGxlS2V5KSB7XG4gICAgICB0aGlzLmkxOG4ubGFuZygpOyAvLyBUcmFjayBsYW5ndWFnZSBjaGFuZ2VzIGZvciByZWFjdGl2aXR5XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoY2ZnLnRpdGxlS2V5LCBjZmcuaTE4bk5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHJldHVybiBjZmcudGl0bGUgfHwgJyc7XG4gIH1cblxuICAvKiogR2V0IGRlc2NyaXB0aW9uIHdpdGggaTE4biBzdXBwb3J0ICovXG4gIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcbiAgICBpZiAoY2ZnLmkxOG5OYW1lc3BhY2UgJiYgY2ZnLmRlc2NyaXB0aW9uS2V5KSB7XG4gICAgICB0aGlzLmkxOG4ubGFuZygpOyAvLyBUcmFjayBsYW5ndWFnZSBjaGFuZ2VzIGZvciByZWFjdGl2aXR5XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoY2ZnLmRlc2NyaXB0aW9uS2V5LCBjZmcuaTE4bk5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHJldHVybiBjZmcuZGVzY3JpcHRpb24gfHwgJyc7XG4gIH1cblxuICAvKiogUmVzb2x2ZSBhIHB1YmxpYyByb2xlIHRvIFZEUyBmaXJzdCwgdGhlbiBrZWVwIElvbmljIGFzIHRoZSBjb21wYXRpYmlsaXR5IGZhbGxiYWNrLiAqL1xuICBwcml2YXRlIHJlc29sdmVSb2xlQ29sb3IoY29sb3I/OiBzdHJpbmcsIHBhcnQ/OiAnYmFzZScgfCAnaG92ZXInIHwgJ2ZnJyB8ICd0aW50JyB8ICdib3JkZXInIHwgJ3RleHQnKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFjb2xvcikgcmV0dXJuIG51bGw7XG4gICAgaWYgKCFpc0lvbmljQ29sb3IoY29sb3IpKSByZXR1cm4gY29sb3I7XG5cbiAgICBjb25zdCBzdWZmaXggPSBwYXJ0ICYmIHBhcnQgIT09ICdiYXNlJyA/IGAtJHtwYXJ0fWAgOiAnJztcbiAgICBjb25zdCBpb25pY1N1ZmZpeCA9IHBhcnQgPT09ICdmZycgPyAnLWNvbnRyYXN0JyA6ICcnO1xuICAgIHJldHVybiBgdmFyKC0tdmRzLSR7Y29sb3J9JHtzdWZmaXh9LCB2YXIoLS1pb24tY29sb3ItJHtjb2xvcn0ke2lvbmljU3VmZml4fSkpYDtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlUm9sZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFja2dyb3VuZENvbG9yIGFzIHN0cmluZywgJ3RpbnQnKTtcbiAgfVxuXG4gIGdldEJvcmRlckNvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlc29sdmVSb2xlQ29sb3IodGhpcy5jb25maWcoKS5ib3JkZXJDb2xvciBhcyBzdHJpbmcsICdib3JkZXInKSB8fFxuICAgICAgJ3ZhcigtLXZkcy1ib3JkZXItc3VidGxlLCB2YXIoLS1pb24tY29sb3ItbGlnaHQtc2hhZGUsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yNCkpKSdcbiAgICApO1xuICB9XG5cbiAgZ2V0SWNvbkNvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVSb2xlQ29sb3IodGhpcy5jb25maWcoKS5pY29uPy5jb2xvciBhcyBzdHJpbmcsICd0ZXh0JykgfHwgJ3ZhcigtLXZkcy1wcmltYXJ5LXRleHQsICMxZDRlZDgpJztcbiAgfVxuXG4gIGdldEljb25CYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYmcgPSB0aGlzLmNvbmZpZygpLmljb24/LmJhY2tncm91bmRDb2xvcjtcbiAgICBpZiAoIWJnKSByZXR1cm4gJ3ZhcigtLXZkcy1wcmltYXJ5LXRpbnQsIHJnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiKSwgMC4xKSknO1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVSb2xlQ29sb3IoYmcgYXMgc3RyaW5nLCAndGludCcpO1xuICB9XG5cbiAgZ2V0QmFkZ2VDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlUm9sZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFkZ2U/LmNvbG9yIGFzIHN0cmluZywgJ2ZnJykgfHwgJ3ZhcigtLXZkcy1wcmltYXJ5LWZnLCAjZmZmZmZmKSc7XG4gIH1cblxuICBnZXRCYWRnZUJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlUm9sZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFkZ2U/LmJhY2tncm91bmRDb2xvciBhcyBzdHJpbmcpIHx8ICd2YXIoLS12ZHMtcHJpbWFyeSwgIzI1NjNlYiknO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjYXJkIGNsaWNrICovXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcblxuICAgIGlmIChjZmcuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBFbWl0IGNsaWNrIGV2ZW50XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgdG9rZW46IGNmZy50b2tlbixcbiAgICAgIG5hdmlnYXRlZDogISFjZmcucm91dGVyTGluayB8fCAhIWNmZy5ocmVmLFxuICAgIH0pO1xuXG4gICAgLy8gSGFuZGxlIGV4dGVybmFsIFVSTFxuICAgIGlmIChjZmcuaHJlZikge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uLm9wZW5Jbk5ld1RhYihjZmcuaHJlZik7XG4gICAgfVxuICB9XG59XG4iXX0=