valtech-components 4.0.979 → 4.0.981

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 (83) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  4. package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
  5. package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
  6. package/esm2022/lib/components/atoms/emoji-rating/emoji-rating.component.mjs +89 -0
  7. package/esm2022/lib/components/atoms/emoji-rating/types.mjs +11 -0
  8. package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
  9. package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
  10. package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
  11. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
  12. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
  13. package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
  14. package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
  15. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
  16. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
  18. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
  19. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
  20. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -3
  21. package/esm2022/lib/components/molecules/comment/comment.component.mjs +3 -3
  22. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
  23. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  24. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
  25. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
  27. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
  28. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  29. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
  30. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  31. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
  32. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  33. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
  34. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
  35. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  36. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
  37. package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
  38. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
  39. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
  40. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +3 -3
  41. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
  42. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
  43. package/esm2022/lib/components/organisms/article/article.component.mjs +3 -3
  44. package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
  45. package/esm2022/lib/components/organisms/code-validator/code-validator.component.mjs +55 -53
  46. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
  47. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
  48. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  49. package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
  50. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +3 -3
  51. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
  52. package/esm2022/lib/components/organisms/survey-builder/survey-builder.component.mjs +330 -0
  53. package/esm2022/lib/components/organisms/survey-builder/survey-builder.i18n.mjs +39 -0
  54. package/esm2022/lib/components/organisms/survey-builder/types.mjs +2 -0
  55. package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +325 -0
  56. package/esm2022/lib/components/organisms/survey-response/survey-response.i18n.mjs +39 -0
  57. package/esm2022/lib/components/organisms/survey-response/types.mjs +2 -0
  58. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
  59. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
  60. package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
  61. package/esm2022/lib/services/qr-generator/types.mjs +20 -3
  62. package/esm2022/lib/services/requests/request.service.mjs +19 -2
  63. package/esm2022/lib/services/requests/types.mjs +8 -1
  64. package/esm2022/lib/version.mjs +2 -2
  65. package/esm2022/public-api.mjs +7 -1
  66. package/fesm2022/valtech-components.mjs +1228 -388
  67. package/fesm2022/valtech-components.mjs.map +1 -1
  68. package/lib/components/atoms/emoji-rating/emoji-rating.component.d.ts +25 -0
  69. package/lib/components/atoms/emoji-rating/types.d.ts +22 -0
  70. package/lib/components/organisms/code-validator/code-validator.component.d.ts +8 -1
  71. package/lib/components/organisms/survey-builder/survey-builder.component.d.ts +43 -0
  72. package/lib/components/organisms/survey-builder/survey-builder.i18n.d.ts +2 -0
  73. package/lib/components/organisms/survey-builder/types.d.ts +28 -0
  74. package/lib/components/organisms/survey-response/survey-response.component.d.ts +68 -0
  75. package/lib/components/organisms/survey-response/survey-response.i18n.d.ts +2 -0
  76. package/lib/components/organisms/survey-response/types.d.ts +7 -0
  77. package/lib/services/qr-generator/types.d.ts +11 -0
  78. package/lib/services/requests/request.service.d.ts +7 -0
  79. package/lib/services/requests/types.d.ts +34 -0
  80. package/lib/version.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/public-api.d.ts +6 -0
  83. package/src/lib/components/styles/variables.scss +15 -0
@@ -33,7 +33,7 @@ export class NoContentComponent {
33
33
  <div>
34
34
  <val-banner [props]="props.bottomContent" (onClick)="onClickHandler($event)"></val-banner>
35
35
  </div>
36
- `, 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;--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;--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)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: BannerComponent, selector: "val-banner", inputs: ["props"], outputs: ["onClick", "onClose"] }] }); }
36
+ `, 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: #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;--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)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: BannerComponent, selector: "val-banner", inputs: ["props"], outputs: ["onClick", "onClose"] }] }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NoContentComponent, decorators: [{
39
39
  type: Component,
@@ -47,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
47
47
  <div>
48
48
  <val-banner [props]="props.bottomContent" (onClick)="onClickHandler($event)"></val-banner>
49
49
  </div>
50
- `, 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;--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;--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)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"] }]
50
+ `, 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: #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;--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)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"] }]
51
51
  }], propDecorators: { props: [{
52
52
  type: Input
53
53
  }], onClick: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQW9CN0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBN0IvQjtRQWtDRSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQU90QztJQUxDLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FYVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1SUF6Qm5COzs7Ozs7Ozs7O0dBVVQsNG9HQVhTLGNBQWMseUVBQUUsZUFBZTs7NEZBMEI5QixrQkFBa0I7a0JBN0I5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsWUFDaEM7Ozs7Ozs7Ozs7R0FVVDs4QkFpQkQsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vQ29udGVudE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1uby1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ltYWdlQ29tcG9uZW50LCBCYW5uZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHMudG9wQ29udGVudCkge1xuICAgICAgPGRpdj5cbiAgICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLnRvcENvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDx2YWwtaW1hZ2UgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbcHJvcHNdPVwicHJvcHMuaW1hZ2VcIj48L3ZhbC1pbWFnZT5cbiAgICA8ZGl2PlxuICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLmJvdHRvbUNvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9uby1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiBOb0NvbnRlbnRDb21wb25lbnRcbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgbW9zdHJhciB1bmEgcGFudGFsbGEgZGUgXCJzaW4gY29udGVuaWRvXCIgY29uIGltYWdlbiB5IGJhbm5lcnMgb3BjaW9uYWxlcyBhcnJpYmEgeSBhYmFqby5cbiAqIMOadGlsIHBhcmEgZXN0YWRvcyB2YWPDrW9zLCBlcnJvcmVzIG8gbWVuc2FqZXMgaW5mb3JtYXRpdm9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLW5vLWNvbnRlbnQgW3Byb3BzXT1cInsgaW1hZ2U6IHsgc3JjOiAnZW1wdHkuc3ZnJyB9LCBib3R0b21Db250ZW50OiB7IC4uLiB9IH1cIj48L3ZhbC1uby1jb250ZW50PlxuICpcbiAqIEBpbnB1dCBwcm9wcyB7Tm9Db250ZW50TWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGltYWdlbiB5IGJhbm5lcnMgYSBtb3N0cmFyLlxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdGUgZWwgdG9rZW4gZGUgYWNjacOzbiBkZSBsb3MgYmFubmVycyBzaSBjb3JyZXNwb25kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBOb0NvbnRlbnRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG5nT25Jbml0KCkge31cblxuICBvbkNsaWNrSGFuZGxlcih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQW9CN0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBN0IvQjtRQWtDRSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQU90QztJQUxDLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FYVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1SUF6Qm5COzs7Ozs7Ozs7O0dBVVQsbXhHQVhTLGNBQWMseUVBQUUsZUFBZTs7NEZBMEI5QixrQkFBa0I7a0JBN0I5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsWUFDaEM7Ozs7Ozs7Ozs7R0FVVDs4QkFpQkQsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vQ29udGVudE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1uby1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ltYWdlQ29tcG9uZW50LCBCYW5uZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHMudG9wQ29udGVudCkge1xuICAgICAgPGRpdj5cbiAgICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLnRvcENvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDx2YWwtaW1hZ2UgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbcHJvcHNdPVwicHJvcHMuaW1hZ2VcIj48L3ZhbC1pbWFnZT5cbiAgICA8ZGl2PlxuICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLmJvdHRvbUNvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9uby1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiBOb0NvbnRlbnRDb21wb25lbnRcbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgbW9zdHJhciB1bmEgcGFudGFsbGEgZGUgXCJzaW4gY29udGVuaWRvXCIgY29uIGltYWdlbiB5IGJhbm5lcnMgb3BjaW9uYWxlcyBhcnJpYmEgeSBhYmFqby5cbiAqIMOadGlsIHBhcmEgZXN0YWRvcyB2YWPDrW9zLCBlcnJvcmVzIG8gbWVuc2FqZXMgaW5mb3JtYXRpdm9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLW5vLWNvbnRlbnQgW3Byb3BzXT1cInsgaW1hZ2U6IHsgc3JjOiAnZW1wdHkuc3ZnJyB9LCBib3R0b21Db250ZW50OiB7IC4uLiB9IH1cIj48L3ZhbC1uby1jb250ZW50PlxuICpcbiAqIEBpbnB1dCBwcm9wcyB7Tm9Db250ZW50TWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGltYWdlbiB5IGJhbm5lcnMgYSBtb3N0cmFyLlxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdGUgZWwgdG9rZW4gZGUgYWNjacOzbiBkZSBsb3MgYmFubmVycyBzaSBjb3JyZXNwb25kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBOb0NvbnRlbnRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG5nT25Jbml0KCkge31cblxuICBvbkNsaWNrSGFuZGxlcih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,330 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, inject, signal } from '@angular/core';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { firstValueFrom } from 'rxjs';
5
+ import { I18nService } from '../../../services/i18n';
6
+ import { RequestService } from '../../../services/requests/request.service';
7
+ import { RequestFormBuilderService } from '../../../services/requests/request-form-builder.service';
8
+ import { FIELD_TYPE_EMOJI_RATING } from '../../../services/requests/types';
9
+ import { ValtechErrorService } from '../../../services/errors/valtech-error.service';
10
+ import { TextInputComponent } from '../../molecules/text-input/text-input.component';
11
+ import { ButtonComponent } from '../../atoms/button/button.component';
12
+ import { SURVEY_BUILDER_I18N } from './survey-builder.i18n';
13
+ import * as i0 from "@angular/core";
14
+ const NAMESPACE = 'SurveyBuilder';
15
+ const DEFAULT_TYPE_PREFIX = 'survey';
16
+ let rowUid = 0;
17
+ /**
18
+ * val-survey-builder
19
+ *
20
+ * Autoría de una encuesta: título, subtítulo, preguntas — arma o actualiza un
21
+ * `RequestTypeConfig` con `Type: "<prefix>:<slug>"` (ADR-092), `skipReview:
22
+ * true` (cada respuesta se agrega, no se revisa una por una) y el `EntityRef`
23
+ * que le pasa el consumer (ej. el evento de bingo dueño de la encuesta).
24
+ *
25
+ * v1 solo ofrece los dos tipos de pregunta que `val-survey-response` sabe
26
+ * renderizar: emoji-rating y texto libre. Reusa `RequestFormBuilderService`
27
+ * (`toToken`/`uniqueFieldName`/`createFieldSchema`) para el nombre de campo —
28
+ * es la misma primitiva que ya arma el formulario dinámico de `request`, no
29
+ * una reimplementación.
30
+ */
31
+ export class SurveyBuilderComponent {
32
+ constructor() {
33
+ this.props = {};
34
+ this.saved = new EventEmitter();
35
+ this.i18n = inject(I18nService);
36
+ this.requests = inject(RequestService);
37
+ this.formBuilder = inject(RequestFormBuilderService);
38
+ this.errors = inject(ValtechErrorService);
39
+ this.emojiType = FIELD_TYPE_EMOJI_RATING;
40
+ this.titleControl = new FormControl('', { nonNullable: true });
41
+ this.subtitleControl = new FormControl('', { nonNullable: true });
42
+ this.questions = signal([]);
43
+ this.saving = signal(false);
44
+ this.rowControls = new Map();
45
+ if (!this.i18n.hasNamespace(NAMESPACE)) {
46
+ this.i18n.registerDefaults(NAMESPACE, SURVEY_BUILDER_I18N);
47
+ }
48
+ }
49
+ async ngOnInit() {
50
+ if (!this.props.typeId)
51
+ return;
52
+ try {
53
+ const cfg = await firstValueFrom(this.requests.getRequestType(this.props.typeId));
54
+ this.titleControl.setValue(cfg.label);
55
+ this.subtitleControl.setValue(cfg.subtitle ?? '');
56
+ this.questions.set([...cfg.fieldSchema].sort((a, b) => a.order - b.order).map(f => this.rowFromField(f)));
57
+ }
58
+ catch (err) {
59
+ this.errors.handle(err, {
60
+ context: 'surveyBuilder.load',
61
+ fallbackKey: 'loadError',
62
+ i18nNamespace: NAMESPACE,
63
+ });
64
+ }
65
+ }
66
+ rowFromField(f) {
67
+ const id = `row-${rowUid++}`;
68
+ this.rowControls.set(id, new FormControl(f.label ?? '', { nonNullable: true }));
69
+ return {
70
+ id,
71
+ label: f.label ?? '',
72
+ type: f.type === FIELD_TYPE_EMOJI_RATING ? 'EMOJI_RATING' : 'TEXTAREA',
73
+ required: !!f.required,
74
+ };
75
+ }
76
+ rowLabelControl(row) {
77
+ let control = this.rowControls.get(row.id);
78
+ if (!control) {
79
+ control = new FormControl(row.label, { nonNullable: true });
80
+ this.rowControls.set(row.id, control);
81
+ }
82
+ return control;
83
+ }
84
+ addQuestion() {
85
+ const id = `row-${rowUid++}`;
86
+ this.rowControls.set(id, new FormControl('', { nonNullable: true }));
87
+ this.questions.update(rows => [...rows, { id, label: '', type: 'TEXTAREA', required: true }]);
88
+ }
89
+ removeQuestion(row) {
90
+ this.rowControls.delete(row.id);
91
+ this.questions.update(rows => rows.filter(r => r.id !== row.id));
92
+ }
93
+ setType(row, type) {
94
+ this.questions.update(rows => rows.map(r => (r.id === row.id ? { ...r, type } : r)));
95
+ }
96
+ async save() {
97
+ if (this.saving())
98
+ return;
99
+ const title = this.titleControl.value.trim();
100
+ if (!title) {
101
+ this.titleControl.markAsTouched();
102
+ return;
103
+ }
104
+ const rows = this.questions();
105
+ const labels = rows.map(r => (this.rowControls.get(r.id)?.value ?? '').trim());
106
+ if (rows.length === 0 || labels.some(l => !l))
107
+ return;
108
+ this.saving.set(true);
109
+ const fieldSchema = [];
110
+ rows.forEach((row, index) => {
111
+ const name = this.formBuilder.uniqueFieldName(labels[index], fieldSchema);
112
+ fieldSchema.push(this.formBuilder.createFieldSchema({ name, label: labels[index], type: row.type, required: row.required }, index));
113
+ });
114
+ const typeId = this.props.typeId ?? `${this.props.typePrefix ?? DEFAULT_TYPE_PREFIX}:${this.formBuilder.toToken(title)}`;
115
+ const subtitle = this.subtitleControl.value.trim();
116
+ const payload = {
117
+ label: title,
118
+ subtitle,
119
+ entityRef: this.props.entityRef,
120
+ skipReview: true,
121
+ fieldSchema,
122
+ allowAnonymous: this.props.allowAnonymous ?? true,
123
+ visibility: this.props.visibility ?? 'PUBLIC',
124
+ };
125
+ const call$ = this.props.typeId
126
+ ? this.requests.updateRequestType(this.props.typeId, payload)
127
+ : this.requests.createRequestType({ ...payload, typeId });
128
+ try {
129
+ const typeConfig = await firstValueFrom(call$);
130
+ this.saving.set(false);
131
+ this.saved.emit({ typeConfig });
132
+ }
133
+ catch (err) {
134
+ this.saving.set(false);
135
+ this.errors.handle(err, {
136
+ context: 'surveyBuilder.save',
137
+ fallbackKey: 'saveError',
138
+ i18nNamespace: NAMESPACE,
139
+ });
140
+ }
141
+ }
142
+ t(key) {
143
+ return this.i18n.t(key, NAMESPACE);
144
+ }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SurveyBuilderComponent, isStandalone: true, selector: "val-survey-builder", inputs: { props: "props" }, outputs: { saved: "saved" }, ngImport: i0, template: `
147
+ <div class="survey-builder">
148
+ <val-text-input [props]="{ control: titleControl, label: t('titleLabel'), placeholder: t('titlePlaceholder') }" />
149
+ <val-text-input
150
+ [props]="{ control: subtitleControl, label: t('subtitleLabel'), placeholder: t('subtitlePlaceholder') }"
151
+ />
152
+
153
+ <div class="survey-builder__questions">
154
+ <span class="survey-builder__questions-label">{{ t('questionsLabel') }}</span>
155
+
156
+ @for (row of questions(); track row.id) {
157
+ <div class="survey-builder__row">
158
+ <val-text-input [props]="{ control: rowLabelControl(row), placeholder: t('questionLabelPlaceholder') }" />
159
+ <div class="survey-builder__row-actions">
160
+ <val-button
161
+ [props]="{
162
+ token: 'q-type-emoji-' + row.id,
163
+ text: t('typeEmoji'),
164
+ color: row.type === emojiType ? 'primary' : 'medium',
165
+ fill: row.type === emojiType ? 'solid' : 'outline',
166
+ shape: 'round',
167
+ size: 'small',
168
+ type: 'button',
169
+ state: 'ENABLED',
170
+ }"
171
+ (onClick)="setType(row, emojiType)"
172
+ />
173
+ <val-button
174
+ [props]="{
175
+ token: 'q-type-text-' + row.id,
176
+ text: t('typeText'),
177
+ color: row.type === 'TEXTAREA' ? 'primary' : 'medium',
178
+ fill: row.type === 'TEXTAREA' ? 'solid' : 'outline',
179
+ shape: 'round',
180
+ size: 'small',
181
+ type: 'button',
182
+ state: 'ENABLED',
183
+ }"
184
+ (onClick)="setType(row, 'TEXTAREA')"
185
+ />
186
+ <val-button
187
+ [props]="{
188
+ token: 'q-remove-' + row.id,
189
+ text: t('removeQuestion'),
190
+ color: 'danger',
191
+ fill: 'clear',
192
+ shape: 'round',
193
+ size: 'small',
194
+ type: 'button',
195
+ state: 'ENABLED',
196
+ }"
197
+ (onClick)="removeQuestion(row)"
198
+ />
199
+ </div>
200
+ </div>
201
+ }
202
+
203
+ <val-button
204
+ [props]="{
205
+ token: 'survey-builder-add-question',
206
+ text: t('addQuestion'),
207
+ color: 'dark',
208
+ fill: 'outline',
209
+ shape: 'round',
210
+ size: 'default',
211
+ type: 'button',
212
+ state: 'ENABLED',
213
+ icon: { name: 'add-outline', slot: 'start' },
214
+ }"
215
+ (onClick)="addQuestion()"
216
+ />
217
+ </div>
218
+
219
+ <val-button
220
+ [props]="{
221
+ token: 'survey-builder-save',
222
+ text: t('save'),
223
+ color: 'dark',
224
+ fill: 'solid',
225
+ shape: 'round',
226
+ expand: 'block',
227
+ type: 'button',
228
+ state: saving() ? 'WORKING' : 'ENABLED',
229
+ }"
230
+ (onClick)="save()"
231
+ />
232
+ </div>
233
+ `, isInline: true, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-actions{display:flex;gap:8px;flex-wrap:wrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
234
+ }
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyBuilderComponent, decorators: [{
236
+ type: Component,
237
+ args: [{ selector: 'val-survey-builder', standalone: true, imports: [CommonModule, ReactiveFormsModule, TextInputComponent, ButtonComponent], template: `
238
+ <div class="survey-builder">
239
+ <val-text-input [props]="{ control: titleControl, label: t('titleLabel'), placeholder: t('titlePlaceholder') }" />
240
+ <val-text-input
241
+ [props]="{ control: subtitleControl, label: t('subtitleLabel'), placeholder: t('subtitlePlaceholder') }"
242
+ />
243
+
244
+ <div class="survey-builder__questions">
245
+ <span class="survey-builder__questions-label">{{ t('questionsLabel') }}</span>
246
+
247
+ @for (row of questions(); track row.id) {
248
+ <div class="survey-builder__row">
249
+ <val-text-input [props]="{ control: rowLabelControl(row), placeholder: t('questionLabelPlaceholder') }" />
250
+ <div class="survey-builder__row-actions">
251
+ <val-button
252
+ [props]="{
253
+ token: 'q-type-emoji-' + row.id,
254
+ text: t('typeEmoji'),
255
+ color: row.type === emojiType ? 'primary' : 'medium',
256
+ fill: row.type === emojiType ? 'solid' : 'outline',
257
+ shape: 'round',
258
+ size: 'small',
259
+ type: 'button',
260
+ state: 'ENABLED',
261
+ }"
262
+ (onClick)="setType(row, emojiType)"
263
+ />
264
+ <val-button
265
+ [props]="{
266
+ token: 'q-type-text-' + row.id,
267
+ text: t('typeText'),
268
+ color: row.type === 'TEXTAREA' ? 'primary' : 'medium',
269
+ fill: row.type === 'TEXTAREA' ? 'solid' : 'outline',
270
+ shape: 'round',
271
+ size: 'small',
272
+ type: 'button',
273
+ state: 'ENABLED',
274
+ }"
275
+ (onClick)="setType(row, 'TEXTAREA')"
276
+ />
277
+ <val-button
278
+ [props]="{
279
+ token: 'q-remove-' + row.id,
280
+ text: t('removeQuestion'),
281
+ color: 'danger',
282
+ fill: 'clear',
283
+ shape: 'round',
284
+ size: 'small',
285
+ type: 'button',
286
+ state: 'ENABLED',
287
+ }"
288
+ (onClick)="removeQuestion(row)"
289
+ />
290
+ </div>
291
+ </div>
292
+ }
293
+
294
+ <val-button
295
+ [props]="{
296
+ token: 'survey-builder-add-question',
297
+ text: t('addQuestion'),
298
+ color: 'dark',
299
+ fill: 'outline',
300
+ shape: 'round',
301
+ size: 'default',
302
+ type: 'button',
303
+ state: 'ENABLED',
304
+ icon: { name: 'add-outline', slot: 'start' },
305
+ }"
306
+ (onClick)="addQuestion()"
307
+ />
308
+ </div>
309
+
310
+ <val-button
311
+ [props]="{
312
+ token: 'survey-builder-save',
313
+ text: t('save'),
314
+ color: 'dark',
315
+ fill: 'solid',
316
+ shape: 'round',
317
+ expand: 'block',
318
+ type: 'button',
319
+ state: saving() ? 'WORKING' : 'ENABLED',
320
+ }"
321
+ (onClick)="save()"
322
+ />
323
+ </div>
324
+ `, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-actions{display:flex;gap:8px;flex-wrap:wrap}\n"] }]
325
+ }], ctorParameters: () => [], propDecorators: { props: [{
326
+ type: Input
327
+ }], saved: [{
328
+ type: Output
329
+ }] } });
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zdXJ2ZXktYnVpbGRlci9zdXJ2ZXktYnVpbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3BHLE9BQU8sRUFBa0IsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTVELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQztBQUNsQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUVyQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7Ozs7Ozs7Ozs7OztHQWFHO0FB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UzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxZQUN2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUZUO3dEQXlDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsS0FBSztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdEZvcm1CdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3RzL3JlcXVlc3QtZm9ybS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRTY2hlbWFEZWYsIEZJRUxEX1RZUEVfRU1PSklfUkFUSU5HIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdHMvdHlwZXMnO1xuaW1wb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy92YWx0ZWNoLWVycm9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VydmV5QnVpbGRlck1ldGFkYXRhLCBTdXJ2ZXlCdWlsZGVyU2F2ZUV2ZW50LCBTdXJ2ZXlRdWVzdGlvblJvdyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU1VSVkVZX0JVSUxERVJfSTE4TiB9IGZyb20gJy4vc3VydmV5LWJ1aWxkZXIuaTE4bic7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlCdWlsZGVyJztcbmNvbnN0IERFRkFVTFRfVFlQRV9QUkVGSVggPSAnc3VydmV5JztcblxubGV0IHJvd1VpZCA9IDA7XG5cbi8qKlxuICogdmFsLXN1cnZleS1idWlsZGVyXG4gKlxuICogQXV0b3LDrWEgZGUgdW5hIGVuY3Vlc3RhOiB0w610dWxvLCBzdWJ0w610dWxvLCBwcmVndW50YXMg4oCUIGFybWEgbyBhY3R1YWxpemEgdW5cbiAqIGBSZXF1ZXN0VHlwZUNvbmZpZ2AgY29uIGBUeXBlOiBcIjxwcmVmaXg+OjxzbHVnPlwiYCAoQURSLTA5MiksIGBza2lwUmV2aWV3OlxuICogdHJ1ZWAgKGNhZGEgcmVzcHVlc3RhIHNlIGFncmVnYSwgbm8gc2UgcmV2aXNhIHVuYSBwb3IgdW5hKSB5IGVsIGBFbnRpdHlSZWZgXG4gKiBxdWUgbGUgcGFzYSBlbCBjb25zdW1lciAoZWouIGVsIGV2ZW50byBkZSBiaW5nbyBkdWXDsW8gZGUgbGEgZW5jdWVzdGEpLlxuICpcbiAqIHYxIHNvbG8gb2ZyZWNlIGxvcyBkb3MgdGlwb3MgZGUgcHJlZ3VudGEgcXVlIGB2YWwtc3VydmV5LXJlc3BvbnNlYCBzYWJlXG4gKiByZW5kZXJpemFyOiBlbW9qaS1yYXRpbmcgeSB0ZXh0byBsaWJyZS4gUmV1c2EgYFJlcXVlc3RGb3JtQnVpbGRlclNlcnZpY2VgXG4gKiAoYHRvVG9rZW5gL2B1bmlxdWVGaWVsZE5hbWVgL2BjcmVhdGVGaWVsZFNjaGVtYWApIHBhcmEgZWwgbm9tYnJlIGRlIGNhbXBvIOKAlFxuICogZXMgbGEgbWlzbWEgcHJpbWl0aXZhIHF1ZSB5YSBhcm1hIGVsIGZvcm11bGFyaW8gZGluw6FtaWNvIGRlIGByZXF1ZXN0YCwgbm9cbiAqIHVuYSByZWltcGxlbWVudGFjacOzbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXN1cnZleS1idWlsZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVGV4dElucHV0Q29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktYnVpbGRlclwiPlxuICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IHRpdGxlQ29udHJvbCwgbGFiZWw6IHQoJ3RpdGxlTGFiZWwnKSwgcGxhY2Vob2xkZXI6IHQoJ3RpdGxlUGxhY2Vob2xkZXInKSB9XCIgLz5cbiAgICAgIDx2YWwtdGV4dC1pbnB1dFxuICAgICAgICBbcHJvcHNdPVwieyBjb250cm9sOiBzdWJ0aXRsZUNvbnRyb2wsIGxhYmVsOiB0KCdzdWJ0aXRsZUxhYmVsJyksIHBsYWNlaG9sZGVyOiB0KCdzdWJ0aXRsZVBsYWNlaG9sZGVyJykgfVwiXG4gICAgICAvPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LWJ1aWxkZXJfX3F1ZXN0aW9uc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1idWlsZGVyX19xdWVzdGlvbnMtbGFiZWxcIj57eyB0KCdxdWVzdGlvbnNMYWJlbCcpIH19PC9zcGFuPlxuXG4gICAgICAgIEBmb3IgKHJvdyBvZiBxdWVzdGlvbnMoKTsgdHJhY2sgcm93LmlkKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1idWlsZGVyX19yb3dcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dC1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiByb3dMYWJlbENvbnRyb2wocm93KSwgcGxhY2Vob2xkZXI6IHQoJ3F1ZXN0aW9uTGFiZWxQbGFjZWhvbGRlcicpIH1cIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1idWlsZGVyX19yb3ctYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICB0b2tlbjogJ3EtdHlwZS1lbW9qaS0nICsgcm93LmlkLFxuICAgICAgICAgICAgICAgICAgdGV4dDogdCgndHlwZUVtb2ppJyksXG4gICAgICAgICAgICAgICAgICBjb2xvcjogcm93LnR5cGUgPT09IGVtb2ppVHlwZSA/ICdwcmltYXJ5JyA6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgZmlsbDogcm93LnR5cGUgPT09IGVtb2ppVHlwZSA/ICdzb2xpZCcgOiAnb3V0bGluZScsXG4gICAgICAgICAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic2V0VHlwZShyb3csIGVtb2ppVHlwZSlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICB0b2tlbjogJ3EtdHlwZS10ZXh0LScgKyByb3cuaWQsXG4gICAgICAgICAgICAgICAgICB0ZXh0OiB0KCd0eXBlVGV4dCcpLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IHJvdy50eXBlID09PSAnVEVYVEFSRUEnID8gJ3ByaW1hcnknIDogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBmaWxsOiByb3cudHlwZSA9PT0gJ1RFWFRBUkVBJyA/ICdzb2xpZCcgOiAnb3V0bGluZScsXG4gICAgICAgICAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic2V0VHlwZShyb3csICdURVhUQVJFQScpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgdG9rZW46ICdxLXJlbW92ZS0nICsgcm93LmlkLFxuICAgICAgICAgICAgICAgICAgdGV4dDogdCgncmVtb3ZlUXVlc3Rpb24nKSxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgICAgICAgICAgIGZpbGw6ICdjbGVhcicsXG4gICAgICAgICAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicmVtb3ZlUXVlc3Rpb24ocm93KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDx2YWwtYnV0dG9uXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHRva2VuOiAnc3VydmV5LWJ1aWxkZXItYWRkLXF1ZXN0aW9uJyxcbiAgICAgICAgICAgIHRleHQ6IHQoJ2FkZFF1ZXN0aW9uJyksXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICAgICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICBpY29uOiB7IG5hbWU6ICdhZGQtb3V0bGluZScsIHNsb3Q6ICdzdGFydCcgfSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAob25DbGljayk9XCJhZGRRdWVzdGlvbigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8dmFsLWJ1dHRvblxuICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgIHRva2VuOiAnc3VydmV5LWJ1aWxkZXItc2F2ZScsXG4gICAgICAgICAgdGV4dDogdCgnc2F2ZScpLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgZmlsbDogJ3NvbGlkJyxcbiAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgc3RhdGU6IHNhdmluZygpID8gJ1dPUktJTkcnIDogJ0VOQUJMRUQnLFxuICAgICAgICB9XCJcbiAgICAgICAgKG9uQ2xpY2spPVwic2F2ZSgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuc3VydmV5LWJ1aWxkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LWJ1aWxkZXJfX3F1ZXN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktYnVpbGRlcl9fcXVlc3Rpb25zLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktYnVpbGRlcl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4xKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LWJ1aWxkZXJfX3Jvdy1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlCdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IFN1cnZleUJ1aWxkZXJNZXRhZGF0YSA9IHt9O1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleUJ1aWxkZXJTYXZlRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0cyA9IGluamVjdChSZXF1ZXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXIgPSBpbmplY3QoUmVxdWVzdEZvcm1CdWlsZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGVtb2ppVHlwZSA9IEZJRUxEX1RZUEVfRU1PSklfUkFUSU5HO1xuICByZWFkb25seSB0aXRsZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHN1YnRpdGxlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgcXVlc3Rpb25zID0gc2lnbmFsPFN1cnZleVF1ZXN0aW9uUm93W10+KFtdKTtcbiAgcmVhZG9ubHkgc2F2aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJvd0NvbnRyb2xzID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPHN0cmluZz4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKE5BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKE5BTUVTUEFDRSwgU1VSVkVZX0JVSUxERVJfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnR5cGVJZCkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlcXVlc3RzLmdldFJlcXVlc3RUeXBlKHRoaXMucHJvcHMudHlwZUlkKSk7XG4gICAgICB0aGlzLnRpdGxlQ29udHJvbC5zZXRWYWx1ZShjZmcubGFiZWwpO1xuICAgICAgdGhpcy5zdWJ0aXRsZUNvbnRyb2wuc2V0VmFsdWUoY2ZnLnN1YnRpdGxlID8/ICcnKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zLnNldChbLi4uY2ZnLmZpZWxkU2NoZW1hXS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcikubWFwKGYgPT4gdGhpcy5yb3dGcm9tRmllbGQoZikpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3N1cnZleUJ1aWxkZXIubG9hZCcsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAnbG9hZEVycm9yJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogTkFNRVNQQUNFLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3dGcm9tRmllbGQoZjogRmllbGRTY2hlbWFEZWYpOiBTdXJ2ZXlRdWVzdGlvblJvdyB7XG4gICAgY29uc3QgaWQgPSBgcm93LSR7cm93VWlkKyt9YDtcbiAgICB0aGlzLnJvd0NvbnRyb2xzLnNldChpZCwgbmV3IEZvcm1Db250cm9sKGYubGFiZWwgPz8gJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSkpO1xuICAgIHJldHVybiB7XG4gICAgICBpZCxcbiAgICAgIGxhYmVsOiBmLmxhYmVsID8/ICcnLFxuICAgICAgdHlwZTogZi50eXBlID09PSBGSUVMRF9UWVBFX0VNT0pJX1JBVElORyA/ICdFTU9KSV9SQVRJTkcnIDogJ1RFWFRBUkVBJyxcbiAgICAgIHJlcXVpcmVkOiAhIWYucmVxdWlyZWQsXG4gICAgfTtcbiAgfVxuXG4gIHJvd0xhYmVsQ29udHJvbChyb3c6IFN1cnZleVF1ZXN0aW9uUm93KTogRm9ybUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLnJvd0NvbnRyb2xzLmdldChyb3cuaWQpO1xuICAgIGlmICghY29udHJvbCkge1xuICAgICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChyb3cubGFiZWwsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gICAgICB0aGlzLnJvd0NvbnRyb2xzLnNldChyb3cuaWQsIGNvbnRyb2wpO1xuICAgIH1cbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxuXG4gIGFkZFF1ZXN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGlkID0gYHJvdy0ke3Jvd1VpZCsrfWA7XG4gICAgdGhpcy5yb3dDb250cm9scy5zZXQoaWQsIG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSk7XG4gICAgdGhpcy5xdWVzdGlvbnMudXBkYXRlKHJvd3MgPT4gWy4uLnJvd3MsIHsgaWQsIGxhYmVsOiAnJywgdHlwZTogJ1RFWFRBUkVBJywgcmVxdWlyZWQ6IHRydWUgfV0pO1xuICB9XG5cbiAgcmVtb3ZlUXVlc3Rpb24ocm93OiBTdXJ2ZXlRdWVzdGlvblJvdyk6IHZvaWQge1xuICAgIHRoaXMucm93Q29udHJvbHMuZGVsZXRlKHJvdy5pZCk7XG4gICAgdGhpcy5xdWVzdGlvbnMudXBkYXRlKHJvd3MgPT4gcm93cy5maWx0ZXIociA9PiByLmlkICE9PSByb3cuaWQpKTtcbiAgfVxuXG4gIHNldFR5cGUocm93OiBTdXJ2ZXlRdWVzdGlvblJvdywgdHlwZTogU3VydmV5UXVlc3Rpb25Sb3dbJ3R5cGUnXSk6IHZvaWQge1xuICAgIHRoaXMucXVlc3Rpb25zLnVwZGF0ZShyb3dzID0+IHJvd3MubWFwKHIgPT4gKHIuaWQgPT09IHJvdy5pZCA/IHsgLi4uciwgdHlwZSB9IDogcikpKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKCkpIHJldHVybjtcblxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZUNvbnRyb2wudmFsdWUudHJpbSgpO1xuICAgIGlmICghdGl0bGUpIHtcbiAgICAgIHRoaXMudGl0bGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByb3dzID0gdGhpcy5xdWVzdGlvbnMoKTtcbiAgICBjb25zdCBsYWJlbHMgPSByb3dzLm1hcChyID0+ICh0aGlzLnJvd0NvbnRyb2xzLmdldChyLmlkKT8udmFsdWUgPz8gJycpLnRyaW0oKSk7XG4gICAgaWYgKHJvd3MubGVuZ3RoID09PSAwIHx8IGxhYmVscy5zb21lKGwgPT4gIWwpKSByZXR1cm47XG5cbiAgICB0aGlzLnNhdmluZy5zZXQodHJ1ZSk7XG5cbiAgICBjb25zdCBmaWVsZFNjaGVtYTogRmllbGRTY2hlbWFEZWZbXSA9IFtdO1xuICAgIHJvd3MuZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZm9ybUJ1aWxkZXIudW5pcXVlRmllbGROYW1lKGxhYmVsc1tpbmRleF0sIGZpZWxkU2NoZW1hKTtcbiAgICAgIGZpZWxkU2NoZW1hLnB1c2goXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY3JlYXRlRmllbGRTY2hlbWEoXG4gICAgICAgICAgeyBuYW1lLCBsYWJlbDogbGFiZWxzW2luZGV4XSwgdHlwZTogcm93LnR5cGUsIHJlcXVpcmVkOiByb3cucmVxdWlyZWQgfSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdHlwZUlkID1cbiAgICAgIHRoaXMucHJvcHMudHlwZUlkID8/IGAke3RoaXMucHJvcHMudHlwZVByZWZpeCA/PyBERUZBVUxUX1RZUEVfUFJFRklYfToke3RoaXMuZm9ybUJ1aWxkZXIudG9Ub2tlbih0aXRsZSl9YDtcbiAgICBjb25zdCBzdWJ0aXRsZSA9IHRoaXMuc3VidGl0bGVDb250cm9sLnZhbHVlLnRyaW0oKTtcblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBsYWJlbDogdGl0bGUsXG4gICAgICBzdWJ0aXRsZSxcbiAgICAgIGVudGl0eVJlZjogdGhpcy5wcm9wcy5lbnRpdHlSZWYsXG4gICAgICBza2lwUmV2aWV3OiB0cnVlLFxuICAgICAgZmllbGRTY2hlbWEsXG4gICAgICBhbGxvd0Fub255bW91czogdGhpcy5wcm9wcy5hbGxvd0Fub255bW91cyA/PyB0cnVlLFxuICAgICAgdmlzaWJpbGl0eTogdGhpcy5wcm9wcy52aXNpYmlsaXR5ID8/ICgnUFVCTElDJyBhcyBjb25zdCksXG4gICAgfTtcblxuICAgIGNvbnN0IGNhbGwkID0gdGhpcy5wcm9wcy50eXBlSWRcbiAgICAgID8gdGhpcy5yZXF1ZXN0cy51cGRhdGVSZXF1ZXN0VHlwZSh0aGlzLnByb3BzLnR5cGVJZCwgcGF5bG9hZClcbiAgICAgIDogdGhpcy5yZXF1ZXN0cy5jcmVhdGVSZXF1ZXN0VHlwZSh7IC4uLnBheWxvYWQsIHR5cGVJZCB9KTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eXBlQ29uZmlnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oY2FsbCQpO1xuICAgICAgdGhpcy5zYXZpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuc2F2ZWQuZW1pdCh7IHR5cGVDb25maWcgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLnNhdmluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnc3VydmV5QnVpbGRlci5zYXZlJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzYXZlRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiBOQU1FU1BBQ0UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBOQU1FU1BBQ0UpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ export const SURVEY_BUILDER_I18N = {
2
+ es: {
3
+ titleLabel: 'Título',
4
+ titlePlaceholder: 'Ej: ¿Qué te pareció el evento?',
5
+ subtitleLabel: 'Subtítulo',
6
+ subtitlePlaceholder: 'Ej: Ayúdanos a mejorar respondiendo estas preguntas',
7
+ questionsLabel: 'Preguntas',
8
+ questionLabelPlaceholder: 'Escribe la pregunta',
9
+ typeEmoji: 'Emoji',
10
+ typeText: 'Texto libre',
11
+ addQuestion: 'Agregar pregunta',
12
+ removeQuestion: 'Quitar',
13
+ save: 'Guardar encuesta',
14
+ noTitle: 'Ponle un título a la encuesta',
15
+ noQuestions: 'Agrega al menos una pregunta',
16
+ emptyQuestionLabel: 'Todas las preguntas necesitan texto',
17
+ saveError: 'No pudimos guardar la encuesta. Inténtalo de nuevo en un rato.',
18
+ loadError: 'No pudimos cargar la encuesta para editar.',
19
+ },
20
+ en: {
21
+ titleLabel: 'Title',
22
+ titlePlaceholder: 'E.g: How was the event?',
23
+ subtitleLabel: 'Subtitle',
24
+ subtitlePlaceholder: 'E.g: Help us improve by answering these questions',
25
+ questionsLabel: 'Questions',
26
+ questionLabelPlaceholder: 'Write the question',
27
+ typeEmoji: 'Emoji',
28
+ typeText: 'Free text',
29
+ addQuestion: 'Add question',
30
+ removeQuestion: 'Remove',
31
+ save: 'Save survey',
32
+ noTitle: 'Give the survey a title',
33
+ noQuestions: 'Add at least one question',
34
+ emptyQuestionLabel: 'Every question needs text',
35
+ saveError: "We couldn't save the survey. Please try again in a while.",
36
+ loadError: "We couldn't load the survey to edit.",
37
+ },
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWJ1aWxkZXIuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LWJ1aWxkZXIvc3VydmV5LWJ1aWxkZXIuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBcUI7SUFDbkQsRUFBRSxFQUFFO1FBQ0YsVUFBVSxFQUFFLFFBQVE7UUFDcEIsZ0JBQWdCLEVBQUUsZ0NBQWdDO1FBQ2xELGFBQWEsRUFBRSxXQUFXO1FBQzFCLG1CQUFtQixFQUFFLHFEQUFxRDtRQUMxRSxjQUFjLEVBQUUsV0FBVztRQUMzQix3QkFBd0IsRUFBRSxxQkFBcUI7UUFDL0MsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLGFBQWE7UUFDdkIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixjQUFjLEVBQUUsUUFBUTtRQUN4QixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSwrQkFBK0I7UUFDeEMsV0FBVyxFQUFFLDhCQUE4QjtRQUMzQyxrQkFBa0IsRUFBRSxxQ0FBcUM7UUFDekQsU0FBUyxFQUFFLGdFQUFnRTtRQUMzRSxTQUFTLEVBQUUsNENBQTRDO0tBQ3hEO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUseUJBQXlCO1FBQzNDLGFBQWEsRUFBRSxVQUFVO1FBQ3pCLG1CQUFtQixFQUFFLG1EQUFtRDtRQUN4RSxjQUFjLEVBQUUsV0FBVztRQUMzQix3QkFBd0IsRUFBRSxvQkFBb0I7UUFDOUMsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsY0FBYyxFQUFFLFFBQVE7UUFDeEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLGtCQUFrQixFQUFFLDJCQUEyQjtRQUMvQyxTQUFTLEVBQUUsMkRBQTJEO1FBQ3RFLFNBQVMsRUFBRSxzQ0FBc0M7S0FDbEQ7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgU1VSVkVZX0JVSUxERVJfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZUxhYmVsOiAnVMOtdHVsbycsXG4gICAgdGl0bGVQbGFjZWhvbGRlcjogJ0VqOiDCv1F1w6kgdGUgcGFyZWNpw7MgZWwgZXZlbnRvPycsXG4gICAgc3VidGl0bGVMYWJlbDogJ1N1YnTDrXR1bG8nLFxuICAgIHN1YnRpdGxlUGxhY2Vob2xkZXI6ICdFajogQXnDumRhbm9zIGEgbWVqb3JhciByZXNwb25kaWVuZG8gZXN0YXMgcHJlZ3VudGFzJyxcbiAgICBxdWVzdGlvbnNMYWJlbDogJ1ByZWd1bnRhcycsXG4gICAgcXVlc3Rpb25MYWJlbFBsYWNlaG9sZGVyOiAnRXNjcmliZSBsYSBwcmVndW50YScsXG4gICAgdHlwZUVtb2ppOiAnRW1vamknLFxuICAgIHR5cGVUZXh0OiAnVGV4dG8gbGlicmUnLFxuICAgIGFkZFF1ZXN0aW9uOiAnQWdyZWdhciBwcmVndW50YScsXG4gICAgcmVtb3ZlUXVlc3Rpb246ICdRdWl0YXInLFxuICAgIHNhdmU6ICdHdWFyZGFyIGVuY3Vlc3RhJyxcbiAgICBub1RpdGxlOiAnUG9ubGUgdW4gdMOtdHVsbyBhIGxhIGVuY3Vlc3RhJyxcbiAgICBub1F1ZXN0aW9uczogJ0FncmVnYSBhbCBtZW5vcyB1bmEgcHJlZ3VudGEnLFxuICAgIGVtcHR5UXVlc3Rpb25MYWJlbDogJ1RvZGFzIGxhcyBwcmVndW50YXMgbmVjZXNpdGFuIHRleHRvJyxcbiAgICBzYXZlRXJyb3I6ICdObyBwdWRpbW9zIGd1YXJkYXIgbGEgZW5jdWVzdGEuIEludMOpbnRhbG8gZGUgbnVldm8gZW4gdW4gcmF0by4nLFxuICAgIGxvYWRFcnJvcjogJ05vIHB1ZGltb3MgY2FyZ2FyIGxhIGVuY3Vlc3RhIHBhcmEgZWRpdGFyLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgdGl0bGVMYWJlbDogJ1RpdGxlJyxcbiAgICB0aXRsZVBsYWNlaG9sZGVyOiAnRS5nOiBIb3cgd2FzIHRoZSBldmVudD8nLFxuICAgIHN1YnRpdGxlTGFiZWw6ICdTdWJ0aXRsZScsXG4gICAgc3VidGl0bGVQbGFjZWhvbGRlcjogJ0UuZzogSGVscCB1cyBpbXByb3ZlIGJ5IGFuc3dlcmluZyB0aGVzZSBxdWVzdGlvbnMnLFxuICAgIHF1ZXN0aW9uc0xhYmVsOiAnUXVlc3Rpb25zJyxcbiAgICBxdWVzdGlvbkxhYmVsUGxhY2Vob2xkZXI6ICdXcml0ZSB0aGUgcXVlc3Rpb24nLFxuICAgIHR5cGVFbW9qaTogJ0Vtb2ppJyxcbiAgICB0eXBlVGV4dDogJ0ZyZWUgdGV4dCcsXG4gICAgYWRkUXVlc3Rpb246ICdBZGQgcXVlc3Rpb24nLFxuICAgIHJlbW92ZVF1ZXN0aW9uOiAnUmVtb3ZlJyxcbiAgICBzYXZlOiAnU2F2ZSBzdXJ2ZXknLFxuICAgIG5vVGl0bGU6ICdHaXZlIHRoZSBzdXJ2ZXkgYSB0aXRsZScsXG4gICAgbm9RdWVzdGlvbnM6ICdBZGQgYXQgbGVhc3Qgb25lIHF1ZXN0aW9uJyxcbiAgICBlbXB0eVF1ZXN0aW9uTGFiZWw6ICdFdmVyeSBxdWVzdGlvbiBuZWVkcyB0ZXh0JyxcbiAgICBzYXZlRXJyb3I6IFwiV2UgY291bGRuJ3Qgc2F2ZSB0aGUgc3VydmV5LiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgd2hpbGUuXCIsXG4gICAgbG9hZEVycm9yOiBcIldlIGNvdWxkbid0IGxvYWQgdGhlIHN1cnZleSB0byBlZGl0LlwiLFxuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3N1cnZleS1idWlsZGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlSZWYsIFJlcXVlc3RUeXBlQ29uZmlnLCBSZXF1ZXN0VmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzJztcblxuLyoqXG4gKiBVbmEgcHJlZ3VudGEgZW4gY29uc3RydWNjacOzbiDigJQgYW50ZXMgZGUgY29udmVydGlyc2UgZW4gYEZpZWxkU2NoZW1hRGVmYC5cbiAqIHYxIHNvbG8gc29wb3J0YSBlc3RvcyBkb3MgdGlwb3MgKEFEUi0wOTIpIOKAlCBlbCBtaXNtbyBwYXIgcXVlIHNhYmVcbiAqIHJlbmRlcml6YXIgYHZhbC1zdXJ2ZXktcmVzcG9uc2VgLiBBbXBsaWFyIGFjw6EgaW1wbGljYSBhbXBsaWFyIHRhbWJpw6luIGVsXG4gKiByZW5kZXJlciBkZSByZXNwdWVzdGEsIG5vIGVzIHVuIGNhbWJpbyBkZSB1biBzb2xvIGxhZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VydmV5UXVlc3Rpb25Sb3cge1xuICAvKiogSWQgbG9jYWwsIHNvbG8gcGFyYSBgdHJhY2tgIGVuIGVsIHRlbXBsYXRlIOKAlCBubyB2aWFqYSBhbCBiYWNrZW5kLiAqL1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB0eXBlOiAnVEVYVEFSRUEnIHwgJ0VNT0pJX1JBVElORyc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cnZleUJ1aWxkZXJNZXRhZGF0YSB7XG4gIC8qKiBTaSBzZSBwYXNhLCBlZGl0YSBlc2UgdGlwbyBleGlzdGVudGU7IHNpIG5vLCBjcmVhIHVubyBudWV2by4gKi9cbiAgdHlwZUlkPzogc3RyaW5nO1xuICAvKiogUHJlZmlqbyBkZWwgYFR5cGVgIGRlbCBSZXF1ZXN0VHlwZUNvbmZpZyDigJQgZWwgY29tcG9uZW50ZSBhcm1hIGBcIjxwcmVmaXg+OjxzbHVnPlwiYC4gKi9cbiAgdHlwZVByZWZpeD86IHN0cmluZztcbiAgZW50aXR5UmVmPzogRW50aXR5UmVmO1xuICAvKiogRGVmYXVsdCAnUFVCTElDJyDigJQgZWwgY2FzbyBtw6FzIGNvbcO6bjogbGluayBlbnZpYWRvIGEgZ2VudGUgc2luIGN1ZW50YS4gKi9cbiAgdmlzaWJpbGl0eT86IFJlcXVlc3RWaXNpYmlsaXR5O1xuICAvKiogRGVmYXVsdCB0cnVlLiAqL1xuICBhbGxvd0Fub255bW91cz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VydmV5QnVpbGRlclNhdmVFdmVudCB7XG4gIHR5cGVDb25maWc6IFJlcXVlc3RUeXBlQ29uZmlnO1xufVxuIl19