valtech-components 2.0.988 → 2.0.989

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 (31) hide show
  1. package/esm2022/lib/components/atoms/button/button.component.mjs +6 -3
  2. package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +229 -0
  3. package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.i18n.mjs +38 -0
  4. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +519 -0
  5. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.i18n.mjs +54 -0
  6. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +406 -0
  7. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.i18n.mjs +72 -0
  8. package/esm2022/lib/components/organisms/member-detail-modal/types.mjs +2 -0
  9. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +231 -0
  10. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.i18n.mjs +27 -0
  11. package/esm2022/lib/components/organisms/transfer-ownership-modal/types.mjs +2 -0
  12. package/esm2022/lib/components/types.mjs +1 -1
  13. package/esm2022/lib/version.mjs +2 -2
  14. package/esm2022/public-api.mjs +7 -1
  15. package/fesm2022/valtech-components.mjs +1543 -30
  16. package/fesm2022/valtech-components.mjs.map +1 -1
  17. package/lib/components/organisms/article/article.component.d.ts +1 -0
  18. package/lib/components/organisms/edit-org-modal/edit-org-modal.component.d.ts +49 -0
  19. package/lib/components/organisms/edit-org-modal/edit-org-modal.i18n.d.ts +7 -0
  20. package/lib/components/organisms/invite-member-modal/invite-member-modal.component.d.ts +74 -0
  21. package/lib/components/organisms/invite-member-modal/invite-member-modal.i18n.d.ts +7 -0
  22. package/lib/components/organisms/member-detail-modal/member-detail-modal.component.d.ts +67 -0
  23. package/lib/components/organisms/member-detail-modal/member-detail-modal.i18n.d.ts +7 -0
  24. package/lib/components/organisms/member-detail-modal/types.d.ts +17 -0
  25. package/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.d.ts +44 -0
  26. package/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.i18n.d.ts +8 -0
  27. package/lib/components/organisms/transfer-ownership-modal/types.d.ts +11 -0
  28. package/lib/components/types.d.ts +2 -0
  29. package/lib/version.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/public-api.d.ts +6 -0
@@ -1,5 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
3
4
  import { IonButton, IonIcon, IonSpinner, IonText } from '@ionic/angular/standalone';
4
5
  import { PresetService } from '../../../services/presets';
5
6
  import { ActionType, ComponentStates } from '../../types';
@@ -130,6 +131,7 @@ export class ButtonComponent {
130
131
  [fill]="resolvedProps.fill"
131
132
  [size]="resolvedProps.size"
132
133
  [href]="resolvedProps.href"
134
+ [routerLink]="resolvedProps.routerLink ?? null"
133
135
  [target]="resolvedProps.target"
134
136
  [shape]="resolvedProps.shape"
135
137
  (click)="clickHandler()"
@@ -140,11 +142,11 @@ export class ButtonComponent {
140
142
  <ion-spinner *ngIf="resolvedProps.state === states.WORKING" name="circular"></ion-spinner>
141
143
  <ion-text *ngIf="resolvedProps.state !== states.WORKING">{{ displayText }}</ion-text>
142
144
  </ion-button>
143
- `, 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-padding: 16px;--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: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}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-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}ion-button ion-spinner{--color: currentColor}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
145
+ `, 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-padding: 16px;--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: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}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-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}ion-button ion-spinner{--color: currentColor}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
144
146
  }
145
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
146
148
  type: Component,
147
- args: [{ selector: 'val-button', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonSpinner, IonText], template: `
149
+ args: [{ selector: 'val-button', standalone: true, imports: [CommonModule, RouterLink, IonButton, IonIcon, IonSpinner, IonText], template: `
148
150
  <ion-button
149
151
  [attr.data-testid]="resolvedProps.token"
150
152
  [type]="resolvedProps.type"
@@ -153,6 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
153
155
  [fill]="resolvedProps.fill"
154
156
  [size]="resolvedProps.size"
155
157
  [href]="resolvedProps.href"
158
+ [routerLink]="resolvedProps.routerLink ?? null"
156
159
  [target]="resolvedProps.target"
157
160
  [shape]="resolvedProps.shape"
158
161
  (click)="clickHandler()"
@@ -171,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
171
174
  }], onClick: [{
172
175
  type: Output
173
176
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBNEIxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQXFDMUIsWUFDVSxRQUF5QixFQUNqQyxLQUFrQixFQUNWLFVBQTZCO1FBRjdCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBRXpCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBdkN2QyxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRWpCLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEM7O1dBRUc7UUFDSCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQVd6Qjs7O1dBR0c7UUFDTSxVQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUU3Qzs7O1dBR0c7UUFDSCxrQkFBYSxHQUFtQixFQUFvQixDQUFDO1FBRXJEOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFNbEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFD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Q0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBbkhVLGVBQWU7bUdBQWYsZUFBZSwwS0EzQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJULDZnR0FwQlMsWUFBWSxpT0FBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsVUFBVSx5R0FBRSxPQUFPOzs0RkE0Q3BELGVBQWU7a0JBL0MzQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzhJQXlDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQVlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25TcGlubmVyLCBJb25UZXh0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBEb3dubG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSwgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1idXR0b25cbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cInJlc29sdmVkUHJvcHMudG9rZW5cIlxuICAgICAgW3R5cGVdPVwicmVzb2x2ZWRQcm9wcy50eXBlXCJcbiAgICAgIFtjb2xvcl09XCJyZXNvbHZlZFByb3BzLmNvbG9yXCJcbiAgICAgIFtleHBhbmRdPVwicmVzb2x2ZWRQcm9wcy5leHBhbmRcIlxuICAgICAgW2ZpbGxdPVwicmVzb2x2ZWRQcm9wcy5maWxsXCJcbiAgICAgIFtzaXplXT1cInJlc29sdmVkUHJvcHMuc2l6ZVwiXG4gICAgICBbaHJlZl09XCJyZXNvbHZlZFByb3BzLmhyZWZcIlxuICAgICAgW3RhcmdldF09XCJyZXNvbHZlZFByb3BzLnRhcmdldFwiXG4gICAgICBbc2hhcGVdPVwicmVzb2x2ZWRQcm9wcy5zaGFwZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKClcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICBbbmdDbGFzc109XCJyZXNvbHZlZFByb3BzLnNpemUgPyBbcmVzb2x2ZWRQcm9wcy5zaXplXSA6IFtdXCJcbiAgICA+XG4gICAgICA8aW9uLWljb24gKm5nSWY9XCJyZXNvbHZlZFByb3BzLmljb25cIiBbc2xvdF09XCJyZXNvbHZlZFByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInJlc29sdmVkUHJvcHMuaWNvbi5uYW1lXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tc3Bpbm5lciAqbmdJZj1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HXCIgbmFtZT1cImNpcmN1bGFyXCI+PC9pb24tc3Bpbm5lcj5cbiAgICAgIDxpb24tdGV4dCAqbmdJZj1cInJlc29sdmVkUHJvcHMuc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HXCI+e3sgZGlzcGxheVRleHQgfX08L2lvbi10ZXh0PlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYnV0dG9uXG4gKlxuICogQSBjdXN0b21pemFibGUgYnV0dG9uIHN1cHBvcnRpbmcgaWNvbnMsIGxvYWRpbmcgc3RhdGUsIG5hdmlnYXRpb24sIGFuZCBwcmVzZXRzLlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0IChyZWNvbW1lbmRlZCB3aXRoIGkxOG4pOlxuICogPHZhbC1idXR0b24gcHJlc2V0PVwicHJpbWFyeS1hY3Rpb25cIiBbcHJvcHNdPVwieyB0ZXh0OiAnU3VibWl0JyB8IHQgfVwiPjwvdmFsLWJ1dHRvbj5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgdGV4dDpcbiAqIDx2YWwtYnV0dG9uIFtwcm9wc109XCJ7XG4gKiAgIHRleHQ6ICdTYXZlJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgdHlwZTogJ2J1dHRvbicsXG4gKiAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gKiAgIGljb246IHsgbmFtZTogJ3NhdmUnLCBzbG90OiAnc3RhcnQnIH1cbiAqIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj48L3ZhbC1idXR0b24+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdwcmltYXJ5LWFjdGlvbicsICdkYW5nZXInKVxuICogQGlucHV0IHByb3BzOiBCdXR0b25NZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBidXR0b24gKG92ZXJyaWRlcyBwcmVzZXQgdmFsdWVzKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBvbiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgZGlzcGxheVRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgYnV0dG9uIGNvbmZpZ3VyYXRpb25zXG4gICAqIChzaXplLCBjb2xvciwgZmlsbCwgZXRjLikgdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtYnV0dG9uIHByZXNldD1cInByaW1hcnktYWN0aW9uXCIgW3Byb3BzXT1cInsgdGV4dDogJ1NhdmUnIH1cIj48L3ZhbC1idXR0b24+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiBjb25maWd1cmF0aW9uLiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBXaGVuIHVzaW5nIHByZXNldHMsIG9ubHkgcGFydGlhbCBwcm9wcyBhcmUgbmVlZGVkIChwcmVzZXQgcHJvdmlkZXMgZGVmYXVsdHMpLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqIFByZXNldCB2YWx1ZXMgYXJlIG92ZXJyaWRkZW4gYnkgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBCdXR0b25NZXRhZGF0YSA9IHt9IGFzIEJ1dHRvbk1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvd25sb2FkOiBEb3dubG9hZFNlcnZpY2UsXG4gICAgX2ljb246IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogTmF2aWdhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgdGhpcy5zZXR1cERpc3BsYXlUZXh0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgICB0aGlzLnNldHVwRGlzcGxheVRleHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgnYnV0dG9uJywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgLy8gTWVyZ2U6IHByZXNldCBkZWZhdWx0cyA8IGV4cGxpY2l0IHByb3BzXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgQnV0dG9uTWV0YWRhdGE7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSB0ZXh0IGNvbnRlbnQgYmFzZWQgb24gdGhlIHJlc29sdmVkIHByb3BzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHNldHVwRGlzcGxheVRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy50ZXh0KSB7XG4gICAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLmludGVycG9sYXRlQ29udGVudCh0aGlzLnJlc29sdmVkUHJvcHMudGV4dCwgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMudGV4dDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250ZW50RmFsbGJhY2spIHtcbiAgICAgIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5OiB1c2UgZmFsbGJhY2sgaWYgdGV4dCBpcyBub3QgcHJvdmlkZWRcbiAgICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udGVudEZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlUZXh0ID0gJyc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEludGVycG9sYXRlIHBsYWNlaG9sZGVycyBpbiBjb250ZW50IHdpdGggcHJvdmlkZWQgdmFsdWVzLlxuICAgKiBTdXBwb3J0cyB7e3BsYWNlaG9sZGVyfX0gZm9ybWF0LlxuICAgKi9cbiAgcHJpdmF0ZSBpbnRlcnBvbGF0ZUNvbnRlbnQoY29udGVudDogc3RyaW5nLCB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuICAgIHJldHVybiBjb250ZW50LnJlcGxhY2UoL1xce1xceyhcXHcrKVxcfVxcfS9nLCAobWF0Y2gsIGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHZhbHVlc1trZXldICE9PSB1bmRlZmluZWQgPyBTdHJpbmcodmFsdWVzW2tleV0pIDogbWF0Y2g7XG4gICAgfSk7XG4gIH1cblxuICBjbGlja0hhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gdGhpcy5zdGF0ZXMuRElTQUJMRUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmFjdGlvblR5cGUgPT09IEFjdGlvblR5cGUuQVBQX05BVklHQVRJT04pIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmVzb2x2ZWRQcm9wcy5saW5rKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmRvd25sb2FkKSB7XG4gICAgICB0aGlzLmRvd25sb2FkLmRvd25sb2FkTGlua0Zyb21Ccm93c2VyKHRoaXMucmVzb2x2ZWRQcm9wcy5kb3dubG9hZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5oYW5kbGVyKSB7XG4gICAgICB0aGlzLnJlc29sdmVkUHJvcHMuaGFuZGxlcih0aGlzLnJlc29sdmVkUHJvcHMucmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLnJlc29sdmVkUHJvcHMudG9rZW4pO1xuICB9XG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFrQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQTZCMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFxQzFCLFlBQ1UsUUFBeUIsRUFDakMsS0FBa0IsRUFDVixVQUE2QjtRQUY3QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUV6QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQXZDdkMsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUVqQixZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ0gsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFXekI7OztXQUdHO1FBQ00sVUFBSyxHQUE0QixFQUFFLENBQUM7UUFFN0M7OztXQUdHO1FBQ0gsa0JBQWEsR0FBbUIsRUFBb0IsQ0FBQztRQUVyRDs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBTWxDLENBQUM7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QztRQUNyRCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQW5IVSxlQUFlO21HQUFmLGVBQWUsMEtBNUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQsNmdHQXJCUyxZQUFZLGlPQUFFLFVBQVUsb09BQUUsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFVBQVUseUdBQUUsT0FBTzs7NEZBNkNoRSxlQUFlO2tCQWhEM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFDbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUOzhJQXlDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQVlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTGluaywgSW9uQnV0dG9uLCBJb25JY29uLCBJb25TcGlubmVyLCBJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWJ1dHRvblxuICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwicmVzb2x2ZWRQcm9wcy50b2tlblwiXG4gICAgICBbdHlwZV09XCJyZXNvbHZlZFByb3BzLnR5cGVcIlxuICAgICAgW2NvbG9yXT1cInJlc29sdmVkUHJvcHMuY29sb3JcIlxuICAgICAgW2V4cGFuZF09XCJyZXNvbHZlZFByb3BzLmV4cGFuZFwiXG4gICAgICBbZmlsbF09XCJyZXNvbHZlZFByb3BzLmZpbGxcIlxuICAgICAgW3NpemVdPVwicmVzb2x2ZWRQcm9wcy5zaXplXCJcbiAgICAgIFtocmVmXT1cInJlc29sdmVkUHJvcHMuaHJlZlwiXG4gICAgICBbcm91dGVyTGlua109XCJyZXNvbHZlZFByb3BzLnJvdXRlckxpbmsgPz8gbnVsbFwiXG4gICAgICBbdGFyZ2V0XT1cInJlc29sdmVkUHJvcHMudGFyZ2V0XCJcbiAgICAgIFtzaGFwZV09XCJyZXNvbHZlZFByb3BzLnNoYXBlXCJcbiAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgIFtuZ0NsYXNzXT1cInJlc29sdmVkUHJvcHMuc2l6ZSA/IFtyZXNvbHZlZFByb3BzLnNpemVdIDogW11cIlxuICAgID5cbiAgICAgIDxpb24taWNvbiAqbmdJZj1cInJlc29sdmVkUHJvcHMuaWNvblwiIFtzbG90XT1cInJlc29sdmVkUHJvcHMuaWNvbi5zbG90XCIgW25hbWVdPVwicmVzb2x2ZWRQcm9wcy5pY29uLm5hbWVcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1zcGlubmVyICpuZ0lmPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkdcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSAhPT0gc3RhdGVzLldPUktJTkdcIj57eyBkaXNwbGF5VGV4dCB9fTwvaW9uLXRleHQ+XG4gICAgPC9pb24tYnV0dG9uPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1idXR0b25cbiAqXG4gKiBBIGN1c3RvbWl6YWJsZSBidXR0b24gc3VwcG9ydGluZyBpY29ucywgbG9hZGluZyBzdGF0ZSwgbmF2aWdhdGlvbiwgYW5kIHByZXNldHMuXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwcmVzZXQgKHJlY29tbWVuZGVkIHdpdGggaTE4bik6XG4gKiA8dmFsLWJ1dHRvbiBwcmVzZXQ9XCJwcmltYXJ5LWFjdGlvblwiIFtwcm9wc109XCJ7IHRleHQ6ICdTdWJtaXQnIHwgdCB9XCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyB0ZXh0OlxuICogPHZhbC1idXR0b24gW3Byb3BzXT1cIntcbiAqICAgdGV4dDogJ1NhdmUnLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICB0eXBlOiAnYnV0dG9uJyxcbiAqICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAqICAgaWNvbjogeyBuYW1lOiAnc2F2ZScsIHNsb3Q6ICdzdGFydCcgfVxuICogfVwiIChvbkNsaWNrKT1cImhhbmRsZXIoKVwiPjwvdmFsLWJ1dHRvbj5cbiAqXG4gKiBAaW5wdXQgcHJlc2V0OiBzdHJpbmcgLSBOYW1lIG9mIHByZXNldCB0byBhcHBseSAoZS5nLiwgJ3ByaW1hcnktYWN0aW9uJywgJ2RhbmdlcicpXG4gKiBAaW5wdXQgcHJvcHM6IEJ1dHRvbk1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGJ1dHRvbiAob3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMpXG4gKiBAb3V0cHV0IG9uQ2xpY2sgLSBFbWl0cyB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IG9uIHRoZSBidXR0b24uXG4gICAqL1xuICBkaXNwbGF5VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBidXR0b24gY29uZmlndXJhdGlvbnNcbiAgICogKHNpemUsIGNvbG9yLCBmaWxsLCBldGMuKSB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZhbC1idXR0b24gcHJlc2V0PVwicHJpbWFyeS1hY3Rpb25cIiBbcHJvcHNdPVwieyB0ZXh0OiAnU2F2ZScgfVwiPjwvdmFsLWJ1dHRvbj5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogQnV0dG9uIGNvbmZpZ3VyYXRpb24uIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqIFdoZW4gdXNpbmcgcHJlc2V0cywgb25seSBwYXJ0aWFsIHByb3BzIGFyZSBuZWVkZWQgKHByZXNldCBwcm92aWRlcyBkZWZhdWx0cykuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxCdXR0b25NZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICogUHJlc2V0IHZhbHVlcyBhcmUgb3ZlcnJpZGRlbiBieSBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IEJ1dHRvbk1ldGFkYXRhID0ge30gYXMgQnV0dG9uTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZG93bmxvYWQ6IERvd25sb2FkU2VydmljZSxcbiAgICBfaWNvbjogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB0aGlzLnNldHVwRGlzcGxheVRleHQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICAgIHRoaXMuc2V0dXBEaXNwbGF5VGV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdidXR0b24nLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxCdXR0b25NZXRhZGF0YT4pIDoge307XG5cbiAgICAvLyBNZXJnZTogcHJlc2V0IGRlZmF1bHRzIDwgZXhwbGljaXQgcHJvcHNcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBCdXR0b25NZXRhZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIHRleHQgY29udGVudCBiYXNlZCBvbiB0aGUgcmVzb2x2ZWQgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBEaXNwbGF5VGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnRleHQpIHtcbiAgICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuY29udGVudEludGVycG9sYXRpb24pIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMuaW50ZXJwb2xhdGVDb250ZW50KHRoaXMucmVzb2x2ZWRQcm9wcy50ZXh0LCB0aGlzLnJlc29sdmVkUHJvcHMuY29udGVudEludGVycG9sYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy50ZXh0O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmNvbnRlbnRGYWxsYmFjaykge1xuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHk6IHVzZSBmYWxsYmFjayBpZiB0ZXh0IGlzIG5vdCBwcm92aWRlZFxuICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb250ZW50RmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcGxheVRleHQgPSAnJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJwb2xhdGUgcGxhY2Vob2xkZXJzIGluIGNvbnRlbnQgd2l0aCBwcm92aWRlZCB2YWx1ZXMuXG4gICAqIFN1cHBvcnRzIHt7cGxhY2Vob2xkZXJ9fSBmb3JtYXQuXG4gICAqL1xuICBwcml2YXRlIGludGVycG9sYXRlQ29udGVudChjb250ZW50OiBzdHJpbmcsIHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvXFx7XFx7KFxcdyspXFx9XFx9L2csIChtYXRjaCwga2V5KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWVzW2tleV0gIT09IHVuZGVmaW5lZCA/IFN0cmluZyh2YWx1ZXNba2V5XSkgOiBtYXRjaDtcbiAgICB9KTtcbiAgfVxuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnN0YXRlID09PSB0aGlzLnN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuYWN0aW9uVHlwZSA9PT0gQWN0aW9uVHlwZS5BUFBfTkFWSUdBVElPTikge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uLm5hdmlnYXRlQnlVcmwodGhpcy5yZXNvbHZlZFByb3BzLmxpbmspO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuZG93bmxvYWQpIHtcbiAgICAgIHRoaXMuZG93bmxvYWQuZG93bmxvYWRMaW5rRnJvbUJyb3dzZXIodGhpcy5yZXNvbHZlZFByb3BzLmRvd25sb2FkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmhhbmRsZXIpIHtcbiAgICAgIHRoaXMucmVzb2x2ZWRQcm9wcy5oYW5kbGVyKHRoaXMucmVzb2x2ZWRQcm9wcy5yZWYpO1xuICAgIH1cblxuICAgIHRoaXMub25DbGljay5lbWl0KHRoaXMucmVzb2x2ZWRQcm9wcy50b2tlbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,229 @@
1
+ import { Component, effect, inject, Input, signal } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { firstValueFrom } from 'rxjs';
4
+ import { IonButton, IonButtons, IonContent, IonHeader, IonToolbar } from '@ionic/angular/standalone';
5
+ import { FormComponent } from '../form/form.component';
6
+ import { DisplayComponent } from '../../atoms/display/display.component';
7
+ import { TitleComponent } from '../../atoms/title/title.component';
8
+ import { ComponentStates, InputType } from '../../types';
9
+ import { AuthService } from '../../../services/auth/auth.service';
10
+ import { I18nService } from '../../../services/i18n';
11
+ import { OrgService } from '../../../services/org/org.service';
12
+ import { ToastService } from '../../../services/toast.service';
13
+ import { ValtechErrorService } from '../../../services/errors/valtech-error.service';
14
+ import { EDIT_ORG_MODAL_I18N } from './edit-org-modal.i18n';
15
+ import * as i0 from "@angular/core";
16
+ const DEFAULT_NAMESPACE = 'EditOrgModal';
17
+ /**
18
+ * `val-edit-org-modal` — modal de edición de organización (nombre + descripción).
19
+ * Promovido desde `showcase` bajo el proceso de ADR-021. Reusado por la vista de
20
+ * gestión de organización (y futuras vistas org-aware).
21
+ *
22
+ * Edita la org vía `OrgService.updateOrg`. El formulario se construye una vez y se
23
+ * mantiene reactivo a idioma + estado de trabajo vía effects `allowSignalWrites`.
24
+ * Si el consumer no pasa `org`, cae al `activeOrgId` del `AuthService`.
25
+ *
26
+ * Abierto vía `ModalService` — recibe `_modalRef` por `componentProps` + callback
27
+ * `onSuccess(updated)`. Header canónico (Regla #5): sin `ion-title`, botón Cerrar
28
+ * texto en `slot=end`, título/subtítulo en el body con `val-display`/`val-title`.
29
+ *
30
+ * Auto-registra sus defaults i18n (es/en) si el consumer no proveyó el namespace
31
+ * `EditOrgModal`.
32
+ */
33
+ export class EditOrgModalComponent {
34
+ constructor() {
35
+ this.i18n = inject(I18nService);
36
+ this.orgService = inject(OrgService);
37
+ this.toast = inject(ToastService);
38
+ this.errors = inject(ValtechErrorService);
39
+ this.auth = inject(AuthService);
40
+ /** Organización a editar (pasada por `componentProps`). */
41
+ this.org = null;
42
+ /** Namespace i18n con que la vista resuelve sus textos. */
43
+ this.i18nNamespace = DEFAULT_NAMESPACE;
44
+ this.saving = signal(false);
45
+ if (!this.i18n.hasNamespace(DEFAULT_NAMESPACE)) {
46
+ this.i18n.registerContent(DEFAULT_NAMESPACE, EDIT_ORG_MODAL_I18N);
47
+ }
48
+ this.formMeta = signal(this.buildFormMeta());
49
+ effect(() => {
50
+ this.i18n.lang();
51
+ this.formMeta.set(this.buildFormMeta());
52
+ }, { allowSignalWrites: true });
53
+ effect(() => {
54
+ const w = this.saving();
55
+ this.formMeta.update(m => ({
56
+ ...m,
57
+ state: w ? ComponentStates.WORKING : ComponentStates.ENABLED,
58
+ actions: {
59
+ ...m.actions,
60
+ state: w ? ComponentStates.WORKING : ComponentStates.ENABLED,
61
+ },
62
+ }));
63
+ }, { allowSignalWrites: true });
64
+ }
65
+ ngOnInit() {
66
+ this.formMeta.set(this.buildFormMeta());
67
+ }
68
+ get activeOrgId() {
69
+ const u = this.auth.user();
70
+ return u?.activeOrgId ?? u?.activeOrg ?? '';
71
+ }
72
+ buildFormMeta() {
73
+ const nameField = {
74
+ token: 'edit-org-name',
75
+ name: 'name',
76
+ label: this.t('nameLabel'),
77
+ hint: '',
78
+ placeholder: this.t('namePlaceholder'),
79
+ type: InputType.TEXT,
80
+ order: 1,
81
+ validators: [Validators.required, Validators.minLength(2), Validators.maxLength(100)],
82
+ errors: {
83
+ required: this.t('nameRequired'),
84
+ minlength: this.t('nameMin'),
85
+ },
86
+ value: this.org?.name ?? '',
87
+ state: ComponentStates.ENABLED,
88
+ };
89
+ const descField = {
90
+ token: 'edit-org-desc',
91
+ name: 'description',
92
+ label: this.t('descriptionLabel'),
93
+ hint: '',
94
+ placeholder: this.t('descriptionPlaceholder'),
95
+ type: InputType.TEXTAREA,
96
+ order: 2,
97
+ validators: [],
98
+ errors: {},
99
+ value: this.org?.description ?? '',
100
+ state: ComponentStates.ENABLED,
101
+ };
102
+ return {
103
+ name: '',
104
+ state: ComponentStates.ENABLED,
105
+ sections: [{ name: '', order: 1, fields: [nameField, descField] }],
106
+ actions: {
107
+ text: this.t('saveCta'),
108
+ color: 'dark',
109
+ type: 'submit',
110
+ fill: 'solid',
111
+ size: 'default',
112
+ shape: 'round',
113
+ expand: 'block',
114
+ state: ComponentStates.ENABLED,
115
+ token: 'edit-org-submit',
116
+ },
117
+ };
118
+ }
119
+ onFormSubmit(event) {
120
+ const name = event.fields['name'];
121
+ if (!name?.trim()) {
122
+ this.toast.show({
123
+ message: this.t('fillRequired'),
124
+ duration: 3000,
125
+ color: 'dark',
126
+ position: 'top',
127
+ });
128
+ return;
129
+ }
130
+ const description = event.fields['description'] ?? '';
131
+ void this.save(name, description);
132
+ }
133
+ async save(name, description) {
134
+ const orgId = this.org?.id ?? this.activeOrgId;
135
+ if (!orgId || this.saving())
136
+ return;
137
+ this.saving.set(true);
138
+ try {
139
+ const updated = await firstValueFrom(this.orgService.updateOrg(orgId, { name, description }));
140
+ this.toast.show({
141
+ message: this.t('saveSuccess'),
142
+ color: 'dark',
143
+ duration: 3500,
144
+ });
145
+ this.onSuccess?.(updated);
146
+ this._modalRef?.dismiss(updated, 'confirm');
147
+ }
148
+ catch (err) {
149
+ this.errors.handle(err, {
150
+ context: 'editOrgModal.save',
151
+ fallbackKey: 'saveError',
152
+ i18nNamespace: this.i18nNamespace,
153
+ });
154
+ }
155
+ finally {
156
+ this.saving.set(false);
157
+ }
158
+ }
159
+ dismiss() {
160
+ this._modalRef?.dismiss(null, 'cancel');
161
+ }
162
+ t(key) {
163
+ return this.i18n.t(key, this.i18nNamespace);
164
+ }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditOrgModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditOrgModalComponent, isStandalone: true, selector: "val-edit-org-modal", inputs: { _modalRef: "_modalRef", org: "org", onSuccess: "onSuccess", i18nNamespace: "i18nNamespace" }, ngImport: i0, template: `
167
+ <ion-header>
168
+ <ion-toolbar>
169
+ <ion-buttons slot="end">
170
+ <ion-button fill="clear" color="dark" (click)="dismiss()">
171
+ <strong>{{ t('close') }}</strong>
172
+ </ion-button>
173
+ </ion-buttons>
174
+ </ion-toolbar>
175
+ </ion-header>
176
+ <ion-content class="ion-padding">
177
+ <val-display [props]="{ content: t('title'), size: 'small', color: 'dark' }" />
178
+ <val-title
179
+ [props]="{
180
+ content: t('subtitle'),
181
+ size: 'large',
182
+ color: '',
183
+ bold: false,
184
+ }"
185
+ />
186
+ <val-form [props]="formMeta()" (onSubmit)="onFormSubmit($event)" />
187
+ </ion-content>
188
+ `, isInline: true, dependencies: [{ kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onInvalid", "onSelectChange"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
189
+ }
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditOrgModalComponent, decorators: [{
191
+ type: Component,
192
+ args: [{
193
+ selector: 'val-edit-org-modal',
194
+ standalone: true,
195
+ imports: [IonHeader, IonToolbar, IonButtons, IonButton, IonContent, FormComponent, DisplayComponent, TitleComponent],
196
+ template: `
197
+ <ion-header>
198
+ <ion-toolbar>
199
+ <ion-buttons slot="end">
200
+ <ion-button fill="clear" color="dark" (click)="dismiss()">
201
+ <strong>{{ t('close') }}</strong>
202
+ </ion-button>
203
+ </ion-buttons>
204
+ </ion-toolbar>
205
+ </ion-header>
206
+ <ion-content class="ion-padding">
207
+ <val-display [props]="{ content: t('title'), size: 'small', color: 'dark' }" />
208
+ <val-title
209
+ [props]="{
210
+ content: t('subtitle'),
211
+ size: 'large',
212
+ color: '',
213
+ bold: false,
214
+ }"
215
+ />
216
+ <val-form [props]="formMeta()" (onSubmit)="onFormSubmit($event)" />
217
+ </ion-content>
218
+ `,
219
+ }]
220
+ }], ctorParameters: () => [], propDecorators: { _modalRef: [{
221
+ type: Input
222
+ }], org: [{
223
+ type: Input
224
+ }], onSuccess: [{
225
+ type: Input
226
+ }], i18nNamespace: [{
227
+ type: Input
228
+ }] } });
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1vcmctbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9lZGl0LW9yZy1tb2RhbC9lZGl0LW9yZy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFN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QXFCO2tCQTVCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO29CQUNwSCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7aUJBQ0Y7d0RBU1UsU0FBUztzQkFBakIsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMsIEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCwgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBPcmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL29yZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy90eXBlcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbHRlY2hFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgRURJVF9PUkdfTU9EQUxfSTE4TiB9IGZyb20gJy4vZWRpdC1vcmctbW9kYWwuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ0VkaXRPcmdNb2RhbCc7XG5cbi8qKlxuICogYHZhbC1lZGl0LW9yZy1tb2RhbGAg4oCUIG1vZGFsIGRlIGVkaWNpw7NuIGRlIG9yZ2FuaXphY2nDs24gKG5vbWJyZSArIGRlc2NyaXBjacOzbikuXG4gKiBQcm9tb3ZpZG8gZGVzZGUgYHNob3djYXNlYCBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMS4gUmV1c2FkbyBwb3IgbGEgdmlzdGEgZGVcbiAqIGdlc3Rpw7NuIGRlIG9yZ2FuaXphY2nDs24gKHkgZnV0dXJhcyB2aXN0YXMgb3JnLWF3YXJlKS5cbiAqXG4gKiBFZGl0YSBsYSBvcmcgdsOtYSBgT3JnU2VydmljZS51cGRhdGVPcmdgLiBFbCBmb3JtdWxhcmlvIHNlIGNvbnN0cnV5ZSB1bmEgdmV6IHkgc2VcbiAqIG1hbnRpZW5lIHJlYWN0aXZvIGEgaWRpb21hICsgZXN0YWRvIGRlIHRyYWJham8gdsOtYSBlZmZlY3RzIGBhbGxvd1NpZ25hbFdyaXRlc2AuXG4gKiBTaSBlbCBjb25zdW1lciBubyBwYXNhIGBvcmdgLCBjYWUgYWwgYGFjdGl2ZU9yZ0lkYCBkZWwgYEF1dGhTZXJ2aWNlYC5cbiAqXG4gKiBBYmllcnRvIHbDrWEgYE1vZGFsU2VydmljZWAg4oCUIHJlY2liZSBgX21vZGFsUmVmYCBwb3IgYGNvbXBvbmVudFByb3BzYCArIGNhbGxiYWNrXG4gKiBgb25TdWNjZXNzKHVwZGF0ZWQpYC4gSGVhZGVyIGNhbsOzbmljbyAoUmVnbGEgIzUpOiBzaW4gYGlvbi10aXRsZWAsIGJvdMOzbiBDZXJyYXJcbiAqIHRleHRvIGVuIGBzbG90PWVuZGAsIHTDrXR1bG8vc3VidMOtdHVsbyBlbiBlbCBib2R5IGNvbiBgdmFsLWRpc3BsYXlgL2B2YWwtdGl0bGVgLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRlZmF1bHRzIGkxOG4gKGVzL2VuKSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIGBFZGl0T3JnTW9kYWxgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZWRpdC1vcmctbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSW9uSGVhZGVyLCBJb25Ub29sYmFyLCBJb25CdXR0b25zLCBJb25CdXR0b24sIElvbkNvbnRlbnQsIEZvcm1Db21wb25lbnQsIERpc3BsYXlDb21wb25lbnQsIFRpdGxlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ2Nsb3NlJykgfX08L3N0cm9uZz5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3RpdGxlJyksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICA8dmFsLXRpdGxlXG4gICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgY29udGVudDogdCgnc3VidGl0bGUnKSxcbiAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgIGNvbG9yOiAnJyxcbiAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJmb3JtTWV0YSgpXCIgKG9uU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgkZXZlbnQpXCIgLz5cbiAgICA8L2lvbi1jb250ZW50PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0T3JnTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG9yZ1NlcnZpY2UgPSBpbmplY3QoT3JnU2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYCDigJQgcmVmZXJlbmNpYSBwYXJhIGNlcnJhciBkZXNkZSBkZW50cm8uICovXG4gIEBJbnB1dCgpIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiB2b2lkIH07XG5cbiAgLyoqIE9yZ2FuaXphY2nDs24gYSBlZGl0YXIgKHBhc2FkYSBwb3IgYGNvbXBvbmVudFByb3BzYCkuICovXG4gIEBJbnB1dCgpIG9yZzogT3JnYW5pemF0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIENhbGxiYWNrIHRyYXMgYWN0dWFsaXphciBsYSBvcmcgKHBhc2FkbyBwb3IgYGNvbXBvbmVudFByb3BzYCkuICovXG4gIEBJbnB1dCgpIG9uU3VjY2Vzcz86ICh1cGRhdGVkOiBPcmdhbml6YXRpb24pID0+IHZvaWQ7XG5cbiAgLyoqIE5hbWVzcGFjZSBpMThuIGNvbiBxdWUgbGEgdmlzdGEgcmVzdWVsdmUgc3VzIHRleHRvcy4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2F2aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgZm9ybU1ldGE6IFdyaXRhYmxlU2lnbmFsPEZvcm1NZXRhZGF0YT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKERFRkFVTFRfTkFNRVNQQUNFKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChERUZBVUxUX05BTUVTUEFDRSwgRURJVF9PUkdfTU9EQUxfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMuZm9ybU1ldGEgPSBzaWduYWwodGhpcy5idWlsZEZvcm1NZXRhKCkpO1xuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgICAgICB0aGlzLmZvcm1NZXRhLnNldCh0aGlzLmJ1aWxkRm9ybU1ldGEoKSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMuc2F2aW5nKCk7XG4gICAgICAgIHRoaXMuZm9ybU1ldGEudXBkYXRlKG0gPT4gKHtcbiAgICAgICAgICAuLi5tLFxuICAgICAgICAgIHN0YXRlOiB3ID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAuLi5tLmFjdGlvbnMsXG4gICAgICAgICAgICBzdGF0ZTogdyA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1NZXRhLnNldCh0aGlzLmJ1aWxkRm9ybU1ldGEoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBhY3RpdmVPcmdJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHtcbiAgICAgIGFjdGl2ZU9yZ0lkPzogc3RyaW5nO1xuICAgICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICAgIH0gfCBudWxsO1xuICAgIHJldHVybiB1Py5hY3RpdmVPcmdJZCA/PyB1Py5hY3RpdmVPcmcgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybU1ldGEoKTogRm9ybU1ldGFkYXRhIHtcbiAgICBjb25zdCBuYW1lRmllbGQ6IElucHV0TWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2VkaXQtb3JnLW5hbWUnLFxuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnbmFtZUxhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ25hbWVQbGFjZWhvbGRlcicpLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLlRFWFQsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV0sXG4gICAgICBlcnJvcnM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IHRoaXMudCgnbmFtZVJlcXVpcmVkJyksXG4gICAgICAgIG1pbmxlbmd0aDogdGhpcy50KCduYW1lTWluJyksXG4gICAgICB9LFxuICAgICAgdmFsdWU6IHRoaXMub3JnPy5uYW1lID8/ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IGRlc2NGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnZWRpdC1vcmctZGVzYycsXG4gICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgbGFiZWw6IHRoaXMudCgnZGVzY3JpcHRpb25MYWJlbCcpLFxuICAgICAgaGludDogJycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdkZXNjcmlwdGlvblBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICBvcmRlcjogMixcbiAgICAgIHZhbGlkYXRvcnM6IFtdLFxuICAgICAgZXJyb3JzOiB7fSxcbiAgICAgIHZhbHVlOiB0aGlzLm9yZz8uZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgc2VjdGlvbnM6IFt7IG5hbWU6ICcnLCBvcmRlcjogMSwgZmllbGRzOiBbbmFtZUZpZWxkLCBkZXNjRmllbGRdIH1dLFxuICAgICAgYWN0aW9uczoge1xuICAgICAgICB0ZXh0OiB0aGlzLnQoJ3NhdmVDdGEnKSxcbiAgICAgICAgY29sb3I6ICdkYXJrJyBhcyBjb25zdCxcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcgYXMgY29uc3QsXG4gICAgICAgIGZpbGw6ICdzb2xpZCcgYXMgY29uc3QsXG4gICAgICAgIHNpemU6ICdkZWZhdWx0JyBhcyBjb25zdCxcbiAgICAgICAgc2hhcGU6ICdyb3VuZCcgYXMgY29uc3QsXG4gICAgICAgIGV4cGFuZDogJ2Jsb2NrJyBhcyBjb25zdCxcbiAgICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgICB0b2tlbjogJ2VkaXQtb3JnLXN1Ym1pdCcsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBvbkZvcm1TdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBjb25zdCBuYW1lID0gZXZlbnQuZmllbGRzWyduYW1lJ10gYXMgc3RyaW5nO1xuICAgIGlmICghbmFtZT8udHJpbSgpKSB7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnQoJ2ZpbGxSZXF1aXJlZCcpLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gKGV2ZW50LmZpZWxkc1snZGVzY3JpcHRpb24nXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/ICcnO1xuICAgIHZvaWQgdGhpcy5zYXZlKG5hbWUsIGRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2F2ZShuYW1lOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMub3JnPy5pZCA/PyB0aGlzLmFjdGl2ZU9yZ0lkO1xuICAgIGlmICghb3JnSWQgfHwgdGhpcy5zYXZpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMuc2F2aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMub3JnU2VydmljZS51cGRhdGVPcmcob3JnSWQsIHsgbmFtZSwgZGVzY3JpcHRpb24gfSkpO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZTogdGhpcy50KCdzYXZlU3VjY2VzcycpLFxuICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICBkdXJhdGlvbjogMzUwMCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vblN1Y2Nlc3M/Lih1cGRhdGVkKTtcbiAgICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVwZGF0ZWQsICdjb25maXJtJyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdlZGl0T3JnTW9kYWwuc2F2ZScsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAnc2F2ZUVycm9yJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLmkxOG5OYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Defaults i18n (es/en) embebidos en `val-edit-org-modal`. Auto-registrados en
3
+ * el constructor del componente si el consumer no proveyó el namespace
4
+ * (`EditOrgModal` por default). SOLO incluye las keys que el modal usa.
5
+ */
6
+ export const EDIT_ORG_MODAL_I18N = {
7
+ es: {
8
+ title: 'Editar organización',
9
+ subtitle: 'Actualiza el nombre y descripción.',
10
+ nameLabel: 'Nombre',
11
+ namePlaceholder: 'Nombre de la organización',
12
+ nameRequired: 'El nombre es obligatorio.',
13
+ nameMin: 'Mínimo 2 caracteres.',
14
+ descriptionLabel: 'Descripción (opcional)',
15
+ descriptionPlaceholder: 'Describe tu organización',
16
+ saveCta: 'Guardar cambios',
17
+ close: 'Cancelar',
18
+ saveSuccess: 'Organización actualizada.',
19
+ saveError: 'No se pudo guardar. Intenta de nuevo.',
20
+ fillRequired: 'Completa todos los campos requeridos.',
21
+ },
22
+ en: {
23
+ title: 'Edit organization',
24
+ subtitle: 'Update the name and description.',
25
+ nameLabel: 'Name',
26
+ namePlaceholder: 'Organization name',
27
+ nameRequired: 'Name is required.',
28
+ nameMin: 'Minimum 2 characters.',
29
+ descriptionLabel: 'Description (optional)',
30
+ descriptionPlaceholder: 'Describe your organization',
31
+ saveCta: 'Save changes',
32
+ close: 'Cancel',
33
+ saveSuccess: 'Organization updated.',
34
+ saveError: 'Could not save. Please try again.',
35
+ fillRequired: 'Please fill in all required fields.',
36
+ },
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1vcmctbW9kYWwuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZWRpdC1vcmctbW9kYWwvZWRpdC1vcmctbW9kYWwuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXFCO0lBQ25ELEVBQUUsRUFBRTtRQUNGLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsUUFBUSxFQUFFLG9DQUFvQztRQUM5QyxTQUFTLEVBQUUsUUFBUTtRQUNuQixlQUFlLEVBQUUsMkJBQTJCO1FBQzVDLFlBQVksRUFBRSwyQkFBMkI7UUFDekMsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixnQkFBZ0IsRUFBRSx3QkFBd0I7UUFDMUMsc0JBQXNCLEVBQUUsMEJBQTBCO1FBQ2xELE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsS0FBSyxFQUFFLFVBQVU7UUFDakIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxTQUFTLEVBQUUsdUNBQXVDO1FBQ2xELFlBQVksRUFBRSx1Q0FBdUM7S0FDdEQ7SUFDRCxFQUFFLEVBQUU7UUFDRixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLFFBQVEsRUFBRSxrQ0FBa0M7UUFDNUMsU0FBUyxFQUFFLE1BQU07UUFDakIsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsZ0JBQWdCLEVBQUUsd0JBQXdCO1FBQzFDLHNCQUFzQixFQUFFLDRCQUE0QjtRQUNwRCxPQUFPLEVBQUUsY0FBYztRQUN2QixLQUFLLEVBQUUsUUFBUTtRQUNmLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsU0FBUyxFQUFFLG1DQUFtQztRQUM5QyxZQUFZLEVBQUUscUNBQXFDO0tBQ3BEO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZW1iZWJpZG9zIGVuIGB2YWwtZWRpdC1vcmctbW9kYWxgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuXG4gKiBlbCBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgRWRpdE9yZ01vZGFsYCBwb3IgZGVmYXVsdCkuIFNPTE8gaW5jbHV5ZSBsYXMga2V5cyBxdWUgZWwgbW9kYWwgdXNhLlxuICovXG5leHBvcnQgY29uc3QgRURJVF9PUkdfTU9EQUxfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZTogJ0VkaXRhciBvcmdhbml6YWNpw7NuJyxcbiAgICBzdWJ0aXRsZTogJ0FjdHVhbGl6YSBlbCBub21icmUgeSBkZXNjcmlwY2nDs24uJyxcbiAgICBuYW1lTGFiZWw6ICdOb21icmUnLFxuICAgIG5hbWVQbGFjZWhvbGRlcjogJ05vbWJyZSBkZSBsYSBvcmdhbml6YWNpw7NuJyxcbiAgICBuYW1lUmVxdWlyZWQ6ICdFbCBub21icmUgZXMgb2JsaWdhdG9yaW8uJyxcbiAgICBuYW1lTWluOiAnTcOtbmltbyAyIGNhcmFjdGVyZXMuJyxcbiAgICBkZXNjcmlwdGlvbkxhYmVsOiAnRGVzY3JpcGNpw7NuIChvcGNpb25hbCknLFxuICAgIGRlc2NyaXB0aW9uUGxhY2Vob2xkZXI6ICdEZXNjcmliZSB0dSBvcmdhbml6YWNpw7NuJyxcbiAgICBzYXZlQ3RhOiAnR3VhcmRhciBjYW1iaW9zJyxcbiAgICBjbG9zZTogJ0NhbmNlbGFyJyxcbiAgICBzYXZlU3VjY2VzczogJ09yZ2FuaXphY2nDs24gYWN0dWFsaXphZGEuJyxcbiAgICBzYXZlRXJyb3I6ICdObyBzZSBwdWRvIGd1YXJkYXIuIEludGVudGEgZGUgbnVldm8uJyxcbiAgICBmaWxsUmVxdWlyZWQ6ICdDb21wbGV0YSB0b2RvcyBsb3MgY2FtcG9zIHJlcXVlcmlkb3MuJyxcbiAgfSxcbiAgZW46IHtcbiAgICB0aXRsZTogJ0VkaXQgb3JnYW5pemF0aW9uJyxcbiAgICBzdWJ0aXRsZTogJ1VwZGF0ZSB0aGUgbmFtZSBhbmQgZGVzY3JpcHRpb24uJyxcbiAgICBuYW1lTGFiZWw6ICdOYW1lJyxcbiAgICBuYW1lUGxhY2Vob2xkZXI6ICdPcmdhbml6YXRpb24gbmFtZScsXG4gICAgbmFtZVJlcXVpcmVkOiAnTmFtZSBpcyByZXF1aXJlZC4nLFxuICAgIG5hbWVNaW46ICdNaW5pbXVtIDIgY2hhcmFjdGVycy4nLFxuICAgIGRlc2NyaXB0aW9uTGFiZWw6ICdEZXNjcmlwdGlvbiAob3B0aW9uYWwpJyxcbiAgICBkZXNjcmlwdGlvblBsYWNlaG9sZGVyOiAnRGVzY3JpYmUgeW91ciBvcmdhbml6YXRpb24nLFxuICAgIHNhdmVDdGE6ICdTYXZlIGNoYW5nZXMnLFxuICAgIGNsb3NlOiAnQ2FuY2VsJyxcbiAgICBzYXZlU3VjY2VzczogJ09yZ2FuaXphdGlvbiB1cGRhdGVkLicsXG4gICAgc2F2ZUVycm9yOiAnQ291bGQgbm90IHNhdmUuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICBmaWxsUmVxdWlyZWQ6ICdQbGVhc2UgZmlsbCBpbiBhbGwgcmVxdWlyZWQgZmllbGRzLicsXG4gIH0sXG59O1xuIl19