@tolle_/tolle-ui 18.2.24 → 18.2.26

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 (184) hide show
  1. package/esm2022/lib/accordion-item.component.mjs +17 -5
  2. package/esm2022/lib/alert-dialog-dynamic.component.mjs +1 -1
  3. package/esm2022/lib/alert-dialog.component.mjs +48 -10
  4. package/esm2022/lib/alert-dialog.service.mjs +13 -2
  5. package/esm2022/lib/alert.component.mjs +5 -5
  6. package/esm2022/lib/avatar.component.mjs +30 -9
  7. package/esm2022/lib/badge.component.mjs +41 -15
  8. package/esm2022/lib/breadcrumb-link.component.mjs +5 -5
  9. package/esm2022/lib/button.component.mjs +14 -3
  10. package/esm2022/lib/calendar.component.mjs +99 -17
  11. package/esm2022/lib/card.component.mjs +29 -9
  12. package/esm2022/lib/carousel/carousel.component.mjs +19 -3
  13. package/esm2022/lib/checkbox.component.mjs +44 -21
  14. package/esm2022/lib/collapsible.component.mjs +12 -4
  15. package/esm2022/lib/country-selector.component.mjs +140 -20
  16. package/esm2022/lib/data-table.component.mjs +27 -16
  17. package/esm2022/lib/date-picker.component.mjs +24 -4
  18. package/esm2022/lib/date-range-picker.component.mjs +37 -9
  19. package/esm2022/lib/dropdown-item.component.mjs +19 -5
  20. package/esm2022/lib/dropdown-label.component.mjs +3 -3
  21. package/esm2022/lib/dropdown-menu.component.mjs +3 -3
  22. package/esm2022/lib/dropdown-separator.component.mjs +3 -3
  23. package/esm2022/lib/dropdown-trigger.directive.mjs +7 -3
  24. package/esm2022/lib/empty-state.component.mjs +3 -3
  25. package/esm2022/lib/hover-card.component.mjs +4 -2
  26. package/esm2022/lib/input.component.mjs +7 -5
  27. package/esm2022/lib/label.component.mjs +2 -2
  28. package/esm2022/lib/masked-input.component.mjs +3 -3
  29. package/esm2022/lib/modal.component.mjs +58 -22
  30. package/esm2022/lib/modal.service.mjs +13 -1
  31. package/esm2022/lib/multi-select.component.mjs +228 -20
  32. package/esm2022/lib/otp.component.mjs +6 -3
  33. package/esm2022/lib/pagination.component.mjs +19 -9
  34. package/esm2022/lib/progress.component.mjs +8 -5
  35. package/esm2022/lib/radio-group.component.mjs +51 -3
  36. package/esm2022/lib/radio-item.component.mjs +46 -8
  37. package/esm2022/lib/radio-service.mjs +60 -1
  38. package/esm2022/lib/range-calendar.component.mjs +317 -98
  39. package/esm2022/lib/resizable-panel.component.mjs +5 -4
  40. package/esm2022/lib/scroll-area.component.mjs +5 -5
  41. package/esm2022/lib/segment.component.mjs +73 -7
  42. package/esm2022/lib/select-item.component.mjs +20 -2
  43. package/esm2022/lib/select-separator.component.mjs +3 -3
  44. package/esm2022/lib/select.component.mjs +221 -14
  45. package/esm2022/lib/separator.component.mjs +12 -6
  46. package/esm2022/lib/sheet-ref.mjs +8 -1
  47. package/esm2022/lib/sheet-wrapper.component.mjs +27 -11
  48. package/esm2022/lib/sheet.component.mjs +57 -16
  49. package/esm2022/lib/sheet.service.mjs +5 -1
  50. package/esm2022/lib/sidebar.component.mjs +73 -15
  51. package/esm2022/lib/skeleton.component.mjs +19 -5
  52. package/esm2022/lib/switch.component.mjs +59 -53
  53. package/esm2022/lib/tabs.component.mjs +75 -13
  54. package/esm2022/lib/tag-input.component.mjs +6 -3
  55. package/esm2022/lib/textarea.component.mjs +9 -7
  56. package/esm2022/lib/theme.service.mjs +114 -138
  57. package/esm2022/lib/toaster.component.mjs +19 -9
  58. package/esm2022/lib/toggle-group.component.mjs +76 -4
  59. package/esm2022/lib/tolle-config.mjs +1 -1
  60. package/esm2022/lib/tooltip.directive.mjs +41 -17
  61. package/esm2022/lib/utils/color.mjs +324 -0
  62. package/esm2022/public-api.mjs +2 -1
  63. package/fesm2022/tolle-ui.mjs +2645 -637
  64. package/fesm2022/tolle-ui.mjs.map +1 -1
  65. package/lib/alert-dialog.component.d.ts +10 -1
  66. package/lib/avatar.component.d.ts +16 -3
  67. package/lib/badge.component.d.ts +17 -5
  68. package/lib/button.component.d.ts +10 -3
  69. package/lib/calendar.component.d.ts +21 -3
  70. package/lib/card.component.d.ts +6 -0
  71. package/lib/carousel/carousel.component.d.ts +1 -0
  72. package/lib/checkbox.component.d.ts +12 -4
  73. package/lib/country-selector.component.d.ts +11 -2
  74. package/lib/date-picker.component.d.ts +1 -0
  75. package/lib/date-range-picker.component.d.ts +4 -1
  76. package/lib/dropdown-item.component.d.ts +4 -2
  77. package/lib/dropdown-trigger.directive.d.ts +1 -1
  78. package/lib/modal.component.d.ts +6 -0
  79. package/lib/multi-select.component.d.ts +20 -0
  80. package/lib/otp.component.d.ts +1 -0
  81. package/lib/progress.component.d.ts +1 -0
  82. package/lib/radio-group.component.d.ts +8 -0
  83. package/lib/radio-item.component.d.ts +10 -4
  84. package/lib/radio-service.d.ts +29 -0
  85. package/lib/range-calendar.component.d.ts +33 -4
  86. package/lib/segment.component.d.ts +13 -0
  87. package/lib/select-item.component.d.ts +4 -1
  88. package/lib/select.component.d.ts +20 -0
  89. package/lib/separator.component.d.ts +2 -0
  90. package/lib/sheet-wrapper.component.d.ts +4 -0
  91. package/lib/sheet.component.d.ts +10 -1
  92. package/lib/sidebar.component.d.ts +2 -0
  93. package/lib/skeleton.component.d.ts +9 -3
  94. package/lib/switch.component.d.ts +13 -20
  95. package/lib/tabs.component.d.ts +11 -1
  96. package/lib/theme.service.d.ts +21 -6
  97. package/lib/toaster.component.d.ts +2 -2
  98. package/lib/toggle-group.component.d.ts +20 -2
  99. package/lib/toggle.component.d.ts +1 -1
  100. package/lib/tolle-config.d.ts +8 -0
  101. package/lib/tooltip.directive.d.ts +3 -0
  102. package/lib/utils/color.d.ts +87 -0
  103. package/package.json +4 -1
  104. package/preset.js +28 -0
  105. package/public-api.d.ts +1 -0
  106. package/registry/docs-content.json +4214 -0
  107. package/registry/llms-full.txt +1599 -0
  108. package/registry/llms.txt +83 -0
  109. package/registry/manifest.json +4925 -0
  110. package/registry/r/accordion-item.json +21 -0
  111. package/registry/r/accordion.json +23 -0
  112. package/registry/r/alert-dialog-dynamic.json +31 -0
  113. package/registry/r/alert-dialog.json +26 -0
  114. package/registry/r/alert.json +23 -0
  115. package/registry/r/aspect-ratio.json +21 -0
  116. package/registry/r/avatar-fallback.json +16 -0
  117. package/registry/r/avatar.json +23 -0
  118. package/registry/r/badge.json +23 -0
  119. package/registry/r/breadcrumb-item.json +16 -0
  120. package/registry/r/breadcrumb-link.json +16 -0
  121. package/registry/r/breadcrumb-separator.json +16 -0
  122. package/registry/r/breadcrumb.json +21 -0
  123. package/registry/r/button-group.json +21 -0
  124. package/registry/r/button.json +23 -0
  125. package/registry/r/calendar.json +23 -0
  126. package/registry/r/card.json +21 -0
  127. package/registry/r/carousel.json +18 -0
  128. package/registry/r/checkbox.json +23 -0
  129. package/registry/r/collapsible.json +21 -0
  130. package/registry/r/context-menu-trigger.json +23 -0
  131. package/registry/r/context-menu.json +28 -0
  132. package/registry/r/country-selector.json +31 -0
  133. package/registry/r/data-table.json +38 -0
  134. package/registry/r/date-picker.json +27 -0
  135. package/registry/r/date-range-picker.json +32 -0
  136. package/registry/r/dropdown-item.json +21 -0
  137. package/registry/r/dropdown-label.json +16 -0
  138. package/registry/r/dropdown-menu.json +16 -0
  139. package/registry/r/dropdown-separator.json +16 -0
  140. package/registry/r/dropdown-trigger.json +20 -0
  141. package/registry/r/empty-state.json +23 -0
  142. package/registry/r/hover-card.json +23 -0
  143. package/registry/r/input.json +21 -0
  144. package/registry/r/label.json +21 -0
  145. package/registry/r/masked-input.json +21 -0
  146. package/registry/r/modal.json +36 -0
  147. package/registry/r/multi-select.json +33 -0
  148. package/registry/r/otp-group.json +16 -0
  149. package/registry/r/otp-slot.json +21 -0
  150. package/registry/r/otp.json +21 -0
  151. package/registry/r/pagination.json +32 -0
  152. package/registry/r/phone-number-input.json +34 -0
  153. package/registry/r/popover-content.json +21 -0
  154. package/registry/r/popover.json +18 -0
  155. package/registry/r/progress.json +21 -0
  156. package/registry/r/radio-group.json +26 -0
  157. package/registry/r/radio-item.json +26 -0
  158. package/registry/r/range-calendar.json +28 -0
  159. package/registry/r/resizable-panel-item.json +23 -0
  160. package/registry/r/resizable-panel.json +23 -0
  161. package/registry/r/resizable.json +21 -0
  162. package/registry/r/scroll-area.json +21 -0
  163. package/registry/r/segment.json +21 -0
  164. package/registry/r/select-group.json +21 -0
  165. package/registry/r/select-item.json +26 -0
  166. package/registry/r/select-separator.json +21 -0
  167. package/registry/r/select.json +31 -0
  168. package/registry/r/separator.json +21 -0
  169. package/registry/r/sheet-wrapper.json +31 -0
  170. package/registry/r/sheet.json +21 -0
  171. package/registry/r/sidebar.json +21 -0
  172. package/registry/r/skeleton.json +23 -0
  173. package/registry/r/slider.json +21 -0
  174. package/registry/r/switch.json +23 -0
  175. package/registry/r/tabs.json +23 -0
  176. package/registry/r/tag-input.json +25 -0
  177. package/registry/r/textarea.json +21 -0
  178. package/registry/r/toaster.json +26 -0
  179. package/registry/r/toggle-group.json +25 -0
  180. package/registry/r/toggle.json +23 -0
  181. package/registry/r/tolle-cell.json +16 -0
  182. package/registry/r/tooltip.json +23 -0
  183. package/registry/registry.json +1540 -0
  184. package/theme.css +56 -1
@@ -57,6 +57,16 @@ export class CarouselComponent {
57
57
  ngAfterViewInit() {
58
58
  // We expect tolleCarouselContent to provide the viewport element
59
59
  }
60
+ onKeydown(event) {
61
+ if (event.key === 'ArrowLeft') {
62
+ event.preventDefault();
63
+ this.carouselContext.scrollPrev();
64
+ }
65
+ else if (event.key === 'ArrowRight') {
66
+ event.preventDefault();
67
+ this.carouselContext.scrollNext();
68
+ }
69
+ }
60
70
  initApi(viewport) {
61
71
  this.emblaApi = EmblaCarousel(viewport, {
62
72
  ...this.opts,
@@ -74,6 +84,8 @@ export class CarouselComponent {
74
84
  class="relative"
75
85
  role="region"
76
86
  aria-roledescription="carousel"
87
+ tabindex="0"
88
+ (keydown)="onKeydown($event)"
77
89
  [class.flex-col]="orientation === 'vertical'"
78
90
  >
79
91
  <ng-content></ng-content>
@@ -92,6 +104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
92
104
  class="relative"
93
105
  role="region"
94
106
  aria-roledescription="carousel"
107
+ tabindex="0"
108
+ (keydown)="onKeydown($event)"
95
109
  [class.flex-col]="orientation === 'vertical'"
96
110
  >
97
111
  <ng-content></ng-content>
@@ -167,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
167
181
  export class CarouselPreviousDirective {
168
182
  carouselContext = inject(CarouselContext);
169
183
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselPreviousDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
170
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CarouselPreviousDirective, isStandalone: true, selector: "[tolleCarouselPrevious]", host: { listeners: { "click": "carouselContext.scrollPrev()" }, properties: { "attr.disabled": "!carouselContext.canScrollPrev ? true : null" } }, ngImport: i0 });
184
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CarouselPreviousDirective, isStandalone: true, selector: "[tolleCarouselPrevious]", host: { attributes: { "aria-label": "Previous slide" }, listeners: { "click": "carouselContext.scrollPrev()" }, properties: { "attr.disabled": "!carouselContext.canScrollPrev ? true : null" } }, ngImport: i0 });
171
185
  }
172
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselPreviousDirective, decorators: [{
173
187
  type: Directive,
@@ -175,6 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
175
189
  selector: '[tolleCarouselPrevious]',
176
190
  standalone: true,
177
191
  host: {
192
+ 'aria-label': 'Previous slide',
178
193
  '[attr.disabled]': '!carouselContext.canScrollPrev ? true : null',
179
194
  '(click)': 'carouselContext.scrollPrev()',
180
195
  }
@@ -183,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
183
198
  export class CarouselNextDirective {
184
199
  carouselContext = inject(CarouselContext);
185
200
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselNextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
186
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CarouselNextDirective, isStandalone: true, selector: "[tolleCarouselNext]", host: { listeners: { "click": "carouselContext.scrollNext()" }, properties: { "attr.disabled": "!carouselContext.canScrollNext ? true : null" } }, ngImport: i0 });
201
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CarouselNextDirective, isStandalone: true, selector: "[tolleCarouselNext]", host: { attributes: { "aria-label": "Next slide" }, listeners: { "click": "carouselContext.scrollNext()" }, properties: { "attr.disabled": "!carouselContext.canScrollNext ? true : null" } }, ngImport: i0 });
187
202
  }
188
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselNextDirective, decorators: [{
189
204
  type: Directive,
@@ -191,9 +206,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
191
206
  selector: '[tolleCarouselNext]',
192
207
  standalone: true,
193
208
  host: {
209
+ 'aria-label': 'Next slide',
194
210
  '[attr.disabled]': '!carouselContext.canScrollNext ? true : null',
195
211
  '(click)': 'carouselContext.scrollNext()',
196
212
  }
197
213
  }]
198
214
  }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQU9ULFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLGFBSU4sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sZUFBZTtJQU9KO0lBTnBCLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUN4QyxHQUFHLENBQXFCO0lBQ3hCLFdBQVcsR0FBOEIsWUFBWSxDQUFDO0lBQ3RELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQXNCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxX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eUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsOENBQThDO3dCQUNqRSxTQUFTLEVBQUUsOEJBQThCO3FCQUM1QztpQkFDSjs7QUFhRCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7d0dBRGpDLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsOENBQThDO3dCQUNqRSxTQUFTLEVBQUUsOEJBQThCO3FCQUM1QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RhYmxlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwge1xuICAgIEVtYmxhQ2Fyb3VzZWxUeXBlLFxuICAgIEVtYmxhT3B0aW9uc1R5cGUsXG4gICAgRW1ibGFQbHVnaW5UeXBlLFxufSBmcm9tICdlbWJsYS1jYXJvdXNlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbnRleHQge1xuICAgIGFwaSQgPSBuZXcgU3ViamVjdDxFbWJsYUNhcm91c2VsVHlwZT4oKTtcbiAgICBhcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcbiAgICBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgICBjYW5TY3JvbGxQcmV2ID0gZmFsc2U7XG4gICAgY2FuU2Nyb2xsTmV4dCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICAgIHNldEFwaShhcGk6IEVtYmxhQ2Fyb3VzZWxUeXBlKSB7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLmFwaSQubmV4dChhcGkpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG5cbiAgICAgICAgYXBpLm9uKCdzZWxlY3QnLCAoKSA9PiB0aGlzLnVwZGF0ZVN0YXRlKCkpO1xuICAgICAgICBhcGkub24oJ3JlSW5pdCcsICgpID0+IHRoaXMudXBkYXRlU3RhdGUoKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5hcGkpIHJldHVybjtcbiAgICAgICAgdGhpcy5jYW5TY3JvbGxQcmV2ID0gdGhpcy5hcGkuY2FuU2Nyb2xsUHJldigpO1xuICAgICAgICB0aGlzLmNhblNjcm9sbE5leHQgPSB0aGlzLmFwaS5jYW5TY3JvbGxOZXh0KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzY3JvbGxQcmV2KCkge1xuICAgICAgICB0aGlzLmFwaT8uc2Nyb2xsUHJldigpO1xuICAgIH1cblxuICAgIHNjcm9sbE5leHQoKSB7XG4gICAgICAgIHRoaXMuYXBpPy5zY3JvbGxOZXh0KCk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWNhcm91c2VsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0Nhcm91c2VsQ29udGV4dF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJjYXJvdXNlbFwiXG4gICAgICBbY2xhc3MuZmxleC1jb2xdPVwib3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuZmxleF0nOiAnb3JpZW50YXRpb24gPT09IFwidmVydGljYWxcIicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgb3B0czogRW1ibGFPcHRpb25zVHlwZSA9IHt9O1xuICAgIEBJbnB1dCgpIHBsdWdpbnM6IEVtYmxhUGx1Z2luVHlwZVtdID0gW107XG4gICAgQElucHV0KCkgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgICBAT3V0cHV0KCkgYXBpID0gbmV3IEV2ZW50RW1pdHRlcjxFbWJsYUNhcm91c2VsVHlwZT4oKTtcblxuICAgIHByaXZhdGUgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG4gICAgcHJpdmF0ZSBlbWJsYUFwaT86IEVtYmxhQ2Fyb3VzZWxUeXBlO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZj86IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxDb250ZXh0Lm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQub3JpZW50YXRpb24gPSB0aGlzLm9yaWVudGF0aW9uO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gV2UgZXhwZWN0IHRvbGxlQ2Fyb3VzZWxDb250ZW50IHRvIHByb3ZpZGUgdGhlIHZpZXdwb3J0IGVsZW1lbnRcbiAgICB9XG5cbiAgICBpbml0QXBpKHZpZXdwb3J0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLmVtYmxhQXBpID0gRW1ibGFDYXJvdXNlbCh2aWV3cG9ydCwge1xuICAgICAgICAgICAgLi4udGhpcy5vcHRzLFxuICAgICAgICAgICAgYXhpczogdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3gnIDogJ3knLFxuICAgICAgICB9LCB0aGlzLnBsdWdpbnMpO1xuXG4gICAgICAgIHRoaXMuY2Fyb3VzZWxDb250ZXh0LnNldEFwaSh0aGlzLmVtYmxhQXBpKTtcbiAgICAgICAgdGhpcy5hcGkuZW1pdCh0aGlzLmVtYmxhQXBpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5lbWJsYUFwaT8uZGVzdHJveSgpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbENvbnRlbnRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ292ZXJmbG93LWhpZGRlbicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIGNhcm91c2VsID0gaW5qZWN0KENhcm91c2VsQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmNhcm91c2VsLmluaXRBcGkodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxDb250YWluZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzc10nOiAnY2Fyb3VzZWxDb250ZXh0Lm9yaWVudGF0aW9uID09PSBcImhvcml6b250YWxcIiA/IFwiZmxleCAtbWwtNFwiIDogXCJmbGV4IGZsZXgtY29sIC1tdC00XCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb250YWluZXJEaXJlY3RpdmUge1xuICAgIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b2xsZUNhcm91c2VsSXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAncm9sZSc6ICdncm91cCcsXG4gICAgICAgICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6ICdzbGlkZScsXG4gICAgICAgICdbY2xhc3NdJzogJ2Nhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgPyBcIm1pbi13LTAgc2hyaW5rLTAgZ3Jvdy0wIGJhc2lzLWZ1bGwgcGwtNFwiIDogXCJtaW4tdy0wIHNocmluay0wIGdyb3ctMCBiYXNpcy1mdWxsIHB0LTRcIicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbEl0ZW1EaXJlY3RpdmUge1xuICAgIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b2xsZUNhcm91c2VsUHJldmlvdXNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICchY2Fyb3VzZWxDb250ZXh0LmNhblNjcm9sbFByZXYgPyB0cnVlIDogbnVsbCcsXG4gICAgICAgICcoY2xpY2spJzogJ2Nhcm91c2VsQ29udGV4dC5zY3JvbGxQcmV2KCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxQcmV2aW91c0RpcmVjdGl2ZSB7XG4gICAgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxOZXh0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnIWNhcm91c2VsQ29udGV4dC5jYW5TY3JvbGxOZXh0ID8gdHJ1ZSA6IG51bGwnLFxuICAgICAgICAnKGNsaWNrKSc6ICdjYXJvdXNlbENvbnRleHQuc2Nyb2xsTmV4dCgpJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsTmV4dERpcmVjdGl2ZSB7XG4gICAgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG59XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQU9ULFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLGFBSU4sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sZUFBZTtJQU9KO0lBTnBCLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUN4QyxHQUFHLENBQXFCO0lBQ3hCLFdBQVcsR0FBOEIsWUFBWSxDQUFDO0lBQ3RELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQXNCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxX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QkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLE1BQU0sRUFBRSxPQUFPO3dCQUNmLHNCQUFzQixFQUFFLE9BQU87d0JBQy9CLFNBQVMsRUFBRSxzSUFBc0k7cUJBQ3BKO2lCQUNKOztBQWNELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3R0FEakMseUJBQXlCOzRGQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBVHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsZ0JBQWdCO3dCQUM5QixpQkFBaUIsRUFBRSw4Q0FBOEM7d0JBQ2pFLFNBQVMsRUFBRSw4QkFBOEI7cUJBQzVDO2lCQUNKOztBQWNELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3R0FEakMscUJBQXFCOzRGQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBVGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsaUJBQWlCLEVBQUUsOENBQThDO3dCQUNqRSxTQUFTLEVBQUUsOEJBQThCO3FCQUM1QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RhYmxlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwge1xuICAgIEVtYmxhQ2Fyb3VzZWxUeXBlLFxuICAgIEVtYmxhT3B0aW9uc1R5cGUsXG4gICAgRW1ibGFQbHVnaW5UeXBlLFxufSBmcm9tICdlbWJsYS1jYXJvdXNlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbnRleHQge1xuICAgIGFwaSQgPSBuZXcgU3ViamVjdDxFbWJsYUNhcm91c2VsVHlwZT4oKTtcbiAgICBhcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcbiAgICBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgICBjYW5TY3JvbGxQcmV2ID0gZmFsc2U7XG4gICAgY2FuU2Nyb2xsTmV4dCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICAgIHNldEFwaShhcGk6IEVtYmxhQ2Fyb3VzZWxUeXBlKSB7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLmFwaSQubmV4dChhcGkpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG5cbiAgICAgICAgYXBpLm9uKCdzZWxlY3QnLCAoKSA9PiB0aGlzLnVwZGF0ZVN0YXRlKCkpO1xuICAgICAgICBhcGkub24oJ3JlSW5pdCcsICgpID0+IHRoaXMudXBkYXRlU3RhdGUoKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5hcGkpIHJldHVybjtcbiAgICAgICAgdGhpcy5jYW5TY3JvbGxQcmV2ID0gdGhpcy5hcGkuY2FuU2Nyb2xsUHJldigpO1xuICAgICAgICB0aGlzLmNhblNjcm9sbE5leHQgPSB0aGlzLmFwaS5jYW5TY3JvbGxOZXh0KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzY3JvbGxQcmV2KCkge1xuICAgICAgICB0aGlzLmFwaT8uc2Nyb2xsUHJldigpO1xuICAgIH1cblxuICAgIHNjcm9sbE5leHQoKSB7XG4gICAgICAgIHRoaXMuYXBpPy5zY3JvbGxOZXh0KCk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWNhcm91c2VsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0Nhcm91c2VsQ29udGV4dF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJjYXJvdXNlbFwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgW2NsYXNzLmZsZXgtY29sXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmZsZXhdJzogJ29yaWVudGF0aW9uID09PSBcInZlcnRpY2FsXCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIG9wdHM6IEVtYmxhT3B0aW9uc1R5cGUgPSB7fTtcbiAgICBASW5wdXQoKSBwbHVnaW5zOiBFbWJsYVBsdWdpblR5cGVbXSA9IFtdO1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQE91dHB1dCgpIGFwaSA9IG5ldyBFdmVudEVtaXR0ZXI8RW1ibGFDYXJvdXNlbFR5cGU+KCk7XG5cbiAgICBwcml2YXRlIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xuICAgIHByaXZhdGUgZW1ibGFBcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY/OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb247XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxDb250ZXh0Lm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCB0b2xsZUNhcm91c2VsQ29udGVudCB0byBwcm92aWRlIHRoZSB2aWV3cG9ydCBlbGVtZW50XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsUHJldigpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsTmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdEFwaSh2aWV3cG9ydDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5lbWJsYUFwaSA9IEVtYmxhQ2Fyb3VzZWwodmlld3BvcnQsIHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgICAgIGF4aXM6IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICd4JyA6ICd5JyxcbiAgICAgICAgfSwgdGhpcy5wbHVnaW5zKTtcblxuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5zZXRBcGkodGhpcy5lbWJsYUFwaSk7XG4gICAgICAgIHRoaXMuYXBpLmVtaXQodGhpcy5lbWJsYUFwaSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZW1ibGFBcGk/LmRlc3Ryb3koKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdvdmVyZmxvdy1oaWRkZW4nLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBjYXJvdXNlbCA9IGluamVjdChDYXJvdXNlbENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbC5pbml0QXBpKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b2xsZUNhcm91c2VsQ29udGFpbmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3NdJzogJ2Nhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgPyBcImZsZXggLW1sLTRcIiA6IFwiZmxleCBmbGV4LWNvbCAtbXQtNFwiJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29udGFpbmVyRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbEl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3JvbGUnOiAnZ3JvdXAnLFxuICAgICAgICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAnc2xpZGUnLFxuICAgICAgICAnW2NsYXNzXSc6ICdjYXJvdXNlbENvbnRleHQub3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiID8gXCJtaW4tdy0wIHNocmluay0wIGdyb3ctMCBiYXNpcy1mdWxsIHBsLTRcIiA6IFwibWluLXctMCBzaHJpbmstMCBncm93LTAgYmFzaXMtZnVsbCBwdC00XCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxJdGVtRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbFByZXZpb3VzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ1ByZXZpb3VzIHNsaWRlJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICchY2Fyb3VzZWxDb250ZXh0LmNhblNjcm9sbFByZXYgPyB0cnVlIDogbnVsbCcsXG4gICAgICAgICcoY2xpY2spJzogJ2Nhcm91c2VsQ29udGV4dC5zY3JvbGxQcmV2KCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxQcmV2aW91c0RpcmVjdGl2ZSB7XG4gICAgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxOZXh0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ05leHQgc2xpZGUnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJyFjYXJvdXNlbENvbnRleHQuY2FuU2Nyb2xsTmV4dCA/IHRydWUgOiBudWxsJyxcbiAgICAgICAgJyhjbGljayknOiAnY2Fyb3VzZWxDb250ZXh0LnNjcm9sbE5leHQoKScsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbE5leHREaXJlY3RpdmUge1xuICAgIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xufVxuIl19
@@ -1,13 +1,35 @@
1
1
  import { Component, Input, forwardRef } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { cva } from 'class-variance-authority';
4
5
  import { cn } from './utils/cn';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
8
+ const checkboxVariants = cva('group flex shrink-0 cursor-pointer items-center justify-center p-0 rounded-sm border border-primary ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', {
9
+ variants: {
10
+ size: {
11
+ xs: 'h-3.5 w-3.5',
12
+ sm: 'h-4 w-4',
13
+ default: 'h-5 w-5',
14
+ lg: 'h-6 w-6',
15
+ },
16
+ checked: {
17
+ true: 'bg-primary text-primary-foreground',
18
+ false: 'bg-transparent',
19
+ },
20
+ },
21
+ defaultVariants: {
22
+ size: 'default',
23
+ checked: false,
24
+ },
25
+ });
7
26
  export class CheckboxComponent {
8
27
  cdr;
28
+ /** Extra Tailwind classes merged onto the checkbox via `cn()` (last-wins). */
9
29
  class = '';
30
+ /** Disables the checkbox and blocks toggling. @default false */
10
31
  disabled = false;
32
+ /** Size of the checkbox. @default 'default' */
11
33
  size = 'default';
12
34
  checked = false;
13
35
  onChange = () => { };
@@ -15,9 +37,8 @@ export class CheckboxComponent {
15
37
  constructor(cdr) {
16
38
  this.cdr = cdr;
17
39
  }
18
- cn = cn;
19
- get sizeClasses() {
20
- return cn(this.size === 'xs' && 'h-3.5 w-3.5', this.size === 'sm' && 'h-4 w-4', this.size === 'default' && 'h-5 w-5', this.size === 'lg' && 'h-6 w-6');
40
+ get computedClass() {
41
+ return cn(checkboxVariants({ size: this.size, checked: this.checked }), this.class);
21
42
  }
22
43
  toggle() {
23
44
  if (this.disabled)
@@ -33,7 +54,7 @@ export class CheckboxComponent {
33
54
  }
34
55
  registerOnChange(fn) { this.onChange = fn; }
35
56
  registerOnTouched(fn) { this.onTouched = fn; }
36
- setDisabledState(isDisabled) { this.disabled = isDisabled; }
57
+ setDisabledState(isDisabled) { this.disabled = isDisabled; this.cdr.markForCheck(); }
37
58
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
59
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CheckboxComponent, isStandalone: true, selector: "tolle-checkbox", inputs: { class: "class", disabled: "disabled", size: "size" }, providers: [
39
60
  {
@@ -42,21 +63,22 @@ export class CheckboxComponent {
42
63
  multi: true
43
64
  }
44
65
  ], ngImport: i0, template: `
45
- <div
66
+ <button
67
+ type="button"
68
+ role="checkbox"
69
+ [attr.aria-checked]="checked"
70
+ [attr.data-state]="checked ? 'checked' : 'unchecked'"
71
+ [disabled]="disabled"
46
72
  (click)="toggle()"
47
- [class]="cn(
48
- 'group flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border border-primary ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
49
- checked ? 'bg-primary text-primary-foreground' : 'bg-transparent',
50
- sizeClasses,
51
- class
52
- )"
73
+ [class]="computedClass"
53
74
  >
54
75
  <i
55
76
  *ngIf="checked"
56
77
  class="ri-check-line font-bold"
57
78
  [class]="size === 'xs' ? 'text-[10px]' : 'text-[14px]'"
79
+ aria-hidden="true"
58
80
  ></i>
59
- </div>
81
+ </button>
60
82
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
61
83
  }
62
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, decorators: [{
@@ -73,21 +95,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
73
95
  }
74
96
  ],
75
97
  template: `
76
- <div
98
+ <button
99
+ type="button"
100
+ role="checkbox"
101
+ [attr.aria-checked]="checked"
102
+ [attr.data-state]="checked ? 'checked' : 'unchecked'"
103
+ [disabled]="disabled"
77
104
  (click)="toggle()"
78
- [class]="cn(
79
- 'group flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border border-primary ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
80
- checked ? 'bg-primary text-primary-foreground' : 'bg-transparent',
81
- sizeClasses,
82
- class
83
- )"
105
+ [class]="computedClass"
84
106
  >
85
107
  <i
86
108
  *ngIf="checked"
87
109
  class="ri-check-line font-bold"
88
110
  [class]="size === 'xs' ? 'text-[10px]' : 'text-[14px]'"
111
+ aria-hidden="true"
89
112
  ></i>
90
- </div>
113
+ </button>
91
114
  `
92
115
  }]
93
116
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
@@ -97,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
97
120
  }], size: [{
98
121
  type: Input
99
122
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQStCaEMsTUFBTSxPQUFPLGlCQUFpQjtJQVVSO0lBVFgsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsSUFBSSxHQUFtQyxTQUFTLENBQUM7SUFFMUQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVoQixRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFMUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRXBDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFbEIsSUFBSSxXQUFXO1FBQ2IsT0FBTyxFQUFFLENBQ1AsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksYUFBYSxFQUNuQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxTQUFTLEVBQy9CLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFNBQVMsRUFDcEMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksU0FBUyxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELCtCQUErQjtJQUMvQixVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsZ0JBQWdCLENBQUMsVUFBbUIsSUFBVSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7d0dBdENoRSxpQkFBaUI7NEZBQWpCLGlCQUFpQiw2SEF6QmpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQUNTOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JULDJEQXhCUyxZQUFZOzs0RkEwQlgsaUJBQWlCO2tCQTdCN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtpQkFDRjtzRkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWNoZWNrYm94JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgIFtjbGFzc109XCJjbihcbiAgICAgICAgJ2dyb3VwIGZsZXggaC01IHctNSBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1zbSBib3JkZXIgYm9yZGVyLXByaW1hcnkgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWFsbCBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgICBjaGVja2VkID8gJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnIDogJ2JnLXRyYW5zcGFyZW50JyxcbiAgICAgICAgc2l6ZUNsYXNzZXMsXG4gICAgICAgIGNsYXNzXG4gICAgICApXCJcbiAgICA+XG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cImNoZWNrZWRcIlxuICAgICAgICBjbGFzcz1cInJpLWNoZWNrLWxpbmUgZm9udC1ib2xkXCJcbiAgICAgICAgW2NsYXNzXT1cInNpemUgPT09ICd4cycgPyAndGV4dC1bMTBweF0nIDogJ3RleHQtWzE0cHhdJ1wiXG4gICAgICA+PC9pPlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplOiAneHMnIHwgJ3NtJyB8ICdkZWZhdWx0JyB8ICdsZycgPSAnZGVmYXVsdCc7XG5cbiAgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG5cbiAgZ2V0IHNpemVDbGFzc2VzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ3hzJyAmJiAnaC0zLjUgdy0zLjUnLFxuICAgICAgdGhpcy5zaXplID09PSAnc20nICYmICdoLTQgdy00JyxcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ2RlZmF1bHQnICYmICdoLTUgdy01JyxcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ2xnJyAmJiAnaC02IHctNidcbiAgICApO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8vIC0tLSBDb250cm9sVmFsdWVBY2Nlc3NvciAtLS1cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkOyB9XG59XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBRWhDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUMxQiwrUkFBK1IsRUFDL1I7SUFDRSxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUU7WUFDSixFQUFFLEVBQUUsYUFBYTtZQUNqQixFQUFFLEVBQUUsU0FBUztZQUNiLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLEVBQUUsRUFBRSxTQUFTO1NBQ2Q7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsb0NBQW9DO1lBQzFDLEtBQUssRUFBRSxnQkFBZ0I7U0FDeEI7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtDQUNGLENBQ0YsQ0FBQztBQWtDRixNQUFNLE9BQU8saUJBQWlCO0lBYVI7SUFacEIsOEVBQThFO0lBQ3JFLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDcEIsZ0VBQWdFO0lBQ3ZELFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsK0NBQStDO0lBQ3RDLElBQUksR0FBMEIsU0FBUyxDQUFDO0lBRWpELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsUUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUN6QixTQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTFCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUU5QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUUsQ0FDUCxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELCtCQUErQjtJQUMvQixVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsZ0JBQWdCLENBQUMsVUFBbUIsSUFBVSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO3dHQXJDekYsaUJBQWlCOzRGQUFqQixpQkFBaUIsNkhBMUJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsMkRBekJTLFlBQVk7OzRGQTJCWCxpQkFBaUI7a0JBOUI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtpQkFDRjtzRkFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGN2YSwgdHlwZSBWYXJpYW50UHJvcHMgfSBmcm9tICdjbGFzcy12YXJpYW5jZS1hdXRob3JpdHknO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcblxuY29uc3QgY2hlY2tib3hWYXJpYW50cyA9IGN2YShcbiAgJ2dyb3VwIGZsZXggc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtMCByb3VuZGVkLXNtIGJvcmRlciBib3JkZXItcHJpbWFyeSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tYWxsIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgc2l6ZToge1xuICAgICAgICB4czogJ2gtMy41IHctMy41JyxcbiAgICAgICAgc206ICdoLTQgdy00JyxcbiAgICAgICAgZGVmYXVsdDogJ2gtNSB3LTUnLFxuICAgICAgICBsZzogJ2gtNiB3LTYnLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgdHJ1ZTogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLFxuICAgICAgICBmYWxzZTogJ2JnLXRyYW5zcGFyZW50JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIH1cbik7XG5cbmV4cG9ydCB0eXBlIENoZWNrYm94UHJvcHMgPSBWYXJpYW50UHJvcHM8dHlwZW9mIGNoZWNrYm94VmFyaWFudHM+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1jaGVja2JveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIlxuICAgID5cbiAgICAgIDxpXG4gICAgICAgICpuZ0lmPVwiY2hlY2tlZFwiXG4gICAgICAgIGNsYXNzPVwicmktY2hlY2stbGluZSBmb250LWJvbGRcIlxuICAgICAgICBbY2xhc3NdPVwic2l6ZSA9PT0gJ3hzJyA/ICd0ZXh0LVsxMHB4XScgOiAndGV4dC1bMTRweF0nXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgID48L2k+XG4gICAgPC9idXR0b24+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8qKiBFeHRyYSBUYWlsd2luZCBjbGFzc2VzIG1lcmdlZCBvbnRvIHRoZSBjaGVja2JveCB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICAvKiogRGlzYWJsZXMgdGhlIGNoZWNrYm94IGFuZCBibG9ja3MgdG9nZ2xpbmcuIEBkZWZhdWx0IGZhbHNlICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIC8qKiBTaXplIG9mIHRoZSBjaGVja2JveC4gQGRlZmF1bHQgJ2RlZmF1bHQnICovXG4gIEBJbnB1dCgpIHNpemU6IENoZWNrYm94UHJvcHNbJ3NpemUnXSA9ICdkZWZhdWx0JztcblxuICBjaGVja2VkID0gZmFsc2U7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgY29tcHV0ZWRDbGFzcygpIHtcbiAgICByZXR1cm4gY24oXG4gICAgICBjaGVja2JveFZhcmlhbnRzKHsgc2l6ZTogdGhpcy5zaXplLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSksXG4gICAgICB0aGlzLmNsYXNzXG4gICAgKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICAvLyAtLS0gQ29udHJvbFZhbHVlQWNjZXNzb3IgLS0tXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQgeyB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDsgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7IH1cbn1cbiJdfQ==
@@ -72,10 +72,10 @@ export class CollapsibleTriggerComponent {
72
72
  this.collapsibleService.toggle();
73
73
  }
74
74
  get computedClass() {
75
- return cn("cursor-pointer", this.class);
75
+ return cn("cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", this.class);
76
76
  }
77
77
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CollapsibleTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CollapsibleTriggerComponent, isStandalone: true, selector: "tolle-collapsible-trigger", inputs: { class: "class" }, host: { listeners: { "click": "onToggle()" }, properties: { "attr.data-state": "isOpen ? \"open\" : \"closed\"", "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CollapsibleTriggerComponent, isStandalone: true, selector: "tolle-collapsible-trigger", inputs: { class: "class" }, host: { attributes: { "role": "button" }, listeners: { "click": "onToggle()", "keydown.enter": "onToggle()", "keydown.space": "onToggle(); $event.preventDefault()" }, properties: { "attr.tabindex": "0", "attr.aria-expanded": "isOpen", "attr.data-state": "isOpen ? \"open\" : \"closed\"", "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CollapsibleTriggerComponent, decorators: [{
81
81
  type: Component,
@@ -85,8 +85,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
85
85
  imports: [CommonModule],
86
86
  template: `<ng-content></ng-content>`,
87
87
  host: {
88
+ 'role': 'button',
89
+ '[attr.tabindex]': '0',
90
+ '[attr.aria-expanded]': 'isOpen',
88
91
  '[attr.data-state]': 'isOpen ? "open" : "closed"',
89
92
  '(click)': 'onToggle()',
93
+ '(keydown.enter)': 'onToggle()',
94
+ '(keydown.space)': 'onToggle(); $event.preventDefault()',
90
95
  '[class]': 'computedClass'
91
96
  }
92
97
  }]
@@ -106,7 +111,7 @@ export class CollapsibleContentComponent {
106
111
  return cn("", this.class);
107
112
  }
108
113
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CollapsibleContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CollapsibleContentComponent, isStandalone: true, selector: "tolle-collapsible-content", inputs: { class: "class" }, host: { properties: { "attr.data-state": "isOpen ? \"open\" : \"closed\"", "class": "computedClass" } }, ngImport: i0, template: `
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CollapsibleContentComponent, isStandalone: true, selector: "tolle-collapsible-content", inputs: { class: "class" }, host: { properties: { "attr.data-state": "isOpen ? \"open\" : \"closed\"", "attr.inert": "isOpen ? null : \"\"", "class": "computedClass" } }, ngImport: i0, template: `
110
115
  <div [@expandCollapse]="isOpen ? 'open' : 'closed'" class="overflow-hidden">
111
116
  <ng-content></ng-content>
112
117
  </div>
@@ -138,10 +143,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
138
143
  ],
139
144
  host: {
140
145
  '[attr.data-state]': 'isOpen ? "open" : "closed"',
146
+ // `inert` (not `hidden`) so the height/opacity collapse animation still runs
147
+ // while removing collapsed content from the tab order + pointer interaction.
148
+ '[attr.inert]': 'isOpen ? null : ""',
141
149
  '[class]': 'computedClass'
142
150
  }
143
151
  }]
144
152
  }], ctorParameters: () => [], propDecorators: { class: [{
145
153
  type: Input
146
154
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jb2xsYXBzaWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFakYsTUFDTSxrQkFBa0I7SUFDWixXQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDMUQsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFeEMsT0FBTyxDQUFDLEtBQWM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQzt3R0FkQyxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEdkIsVUFBVTs7QUE0QlgsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixJQUFhLElBQUksQ0FBQyxHQUFZO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNTLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQzFDLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFcEIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFeEQsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzt3R0FqQlEsb0JBQW9COzRGQUFwQixvQkFBb0IscU1BTmxCLENBQUMsa0JBQWtCLENBQUMsMEJBQ3JCLDJCQUEyQiwyREFGM0IsWUFBWTs7NEZBT2Isb0JBQW9CO2tCQVZoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7cUJBQzdCO2lCQUNKOzhCQUVnQixJQUFJO3NCQUFoQixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLOztBQTBCVixNQUFNLE9BQU8sMkJBQTJCO0lBQzNCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFcEIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEQsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUVmO1FBQ0ksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBbEJRLDJCQUEyQjs0RkFBM0IsMkJBQTJCLGdRQVAxQiwyQkFBMkIsMkRBRDNCLFlBQVk7OzRGQVFiLDJCQUEyQjtrQkFYdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsNEJBQTRCO3dCQUNqRCxTQUFTLEVBQUUsWUFBWTt3QkFDdkIsU0FBUyxFQUFFLGVBQWU7cUJBQzdCO2lCQUNKO3dEQUVZLEtBQUs7c0JBQWIsS0FBSzs7QUF5Q1YsTUFBTSxPQUFPLDJCQUEyQjtJQUMzQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRXBCLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZjtRQUNJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt3R0FkUSwyQkFBMkI7NEZBQTNCLDJCQUEyQiwwTkFqQjFCOzs7O0dBSVgsMkRBTFcsWUFBWSxpQkFNVjtZQUNSLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQzthQUMvRSxDQUFDO1NBQ0w7OzRGQU1RLDJCQUEyQjtrQkFyQnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFOzs7O0dBSVg7b0JBQ0MsVUFBVSxFQUFFO3dCQUNSLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDdEIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNyRCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ2pELFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQzt5QkFDL0UsQ0FBQztxQkFDTDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsNEJBQTRCO3dCQUNqRCxTQUFTLEVBQUUsZUFBZTtxQkFDN0I7aUJBQ0o7d0RBRVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5jbGFzcyBDb2xsYXBzaWJsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgb3BlblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBvcGVuJCA9IHRoaXMub3BlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBzZXRPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3BlblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlblN1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMuc2V0T3BlbighdGhpcy5nZXRPcGVuKCkpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1jb2xsYXBzaWJsZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtDb2xsYXBzaWJsZVNlcnZpY2VdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzXSc6ICdjb21wdXRlZENsYXNzJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ29sbGFwc2libGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNldCBvcGVuKHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU2VydmljZS5zZXRPcGVuKHZhbCk7XG4gICAgfVxuICAgIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIHByaXZhdGUgY29sbGFwc2libGVTZXJ2aWNlID0gaW5qZWN0KENvbGxhcHNpYmxlU2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVNlcnZpY2Uub3BlbiQuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh2YWwpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGNuKFwidy1mdWxsXCIsIHRoaXMuY2xhc3MpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1jb2xsYXBzaWJsZS10cmlnZ2VyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXNPcGVuID8gXCJvcGVuXCIgOiBcImNsb3NlZFwiJyxcbiAgICAgICAgJyhjbGljayknOiAnb25Ub2dnbGUoKScsXG4gICAgICAgICdbY2xhc3NdJzogJ2NvbXB1dGVkQ2xhc3MnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZVRyaWdnZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIHByaXZhdGUgY29sbGFwc2libGVTZXJ2aWNlID0gaW5qZWN0KENvbGxhcHNpYmxlU2VydmljZSk7XG4gICAgaXNPcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVNlcnZpY2Uub3BlbiQuc3Vic2NyaWJlKG9wZW4gPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBvcGVuO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVNlcnZpY2UudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiBjbihcImN1cnNvci1wb2ludGVyXCIsIHRoaXMuY2xhc3MpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1jb2xsYXBzaWJsZS1jb250ZW50JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbQGV4cGFuZENvbGxhcHNlXT1cImlzT3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnXCIgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2V4cGFuZENvbGxhcHNlJywgW1xuICAgICAgICAgICAgc3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4Jywgb3BhY2l0eTogMCB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDEgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKScpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXNPcGVuID8gXCJvcGVuXCIgOiBcImNsb3NlZFwiJyxcbiAgICAgICAgJ1tjbGFzc10nOiAnY29tcHV0ZWRDbGFzcydcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENvbGxhcHNpYmxlQ29udGVudENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJpdmF0ZSBjb2xsYXBzaWJsZVNlcnZpY2UgPSBpbmplY3QoQ29sbGFwc2libGVTZXJ2aWNlKTtcbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU2VydmljZS5vcGVuJC5zdWJzY3JpYmUob3BlbiA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IG9wZW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgICAgICByZXR1cm4gY24oXCJcIiwgdGhpcy5jbGFzcyk7XG4gICAgfVxufVxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jb2xsYXBzaWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFakYsTUFDTSxrQkFBa0I7SUFDWixXQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDMUQsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFeEMsT0FBTyxDQUFDLEtBQWM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQzt3R0FkQyxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEdkIsVUFBVTs7QUE0QlgsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixJQUFhLElBQUksQ0FB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LENBQUM7eUJBQy9FLENBQUM7cUJBQ0w7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLDRCQUE0Qjt3QkFDakQsNkVBQTZFO3dCQUM3RSw2RUFBNkU7d0JBQzdFLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLFNBQVMsRUFBRSxlQUFlO3FCQUM3QjtpQkFDSjt3REFFWSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmNsYXNzIENvbGxhcHNpYmxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBvcGVuU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIG9wZW4kID0gdGhpcy5vcGVuU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHNldE9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuKCF0aGlzLmdldE9wZW4oKSk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWNvbGxhcHNpYmxlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0NvbGxhcHNpYmxlU2VydmljZV0sXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3NdJzogJ2NvbXB1dGVkQ2xhc3MnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgc2V0IG9wZW4odmFsOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLnNldE9wZW4odmFsKTtcbiAgICB9XG4gICAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJpdmF0ZSBjb2xsYXBzaWJsZVNlcnZpY2UgPSBpbmplY3QoQ29sbGFwc2libGVTZXJ2aWNlKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU2VydmljZS5vcGVuJC5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHZhbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgICAgICByZXR1cm4gY24oXCJ3LWZ1bGxcIiwgdGhpcy5jbGFzcyk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWNvbGxhcHNpYmxlLXRyaWdnZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBob3N0OiB7XG4gICAgICAgICdyb2xlJzogJ2J1dHRvbicsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnMCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdpc09wZW4nLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXNPcGVuID8gXCJvcGVuXCIgOiBcImNsb3NlZFwiJyxcbiAgICAgICAgJyhjbGljayknOiAnb25Ub2dnbGUoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlciknOiAnb25Ub2dnbGUoKScsXG4gICAgICAgICcoa2V5ZG93bi5zcGFjZSknOiAnb25Ub2dnbGUoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KCknLFxuICAgICAgICAnW2NsYXNzXSc6ICdjb21wdXRlZENsYXNzJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ29sbGFwc2libGVUcmlnZ2VyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIGNvbGxhcHNpYmxlU2VydmljZSA9IGluamVjdChDb2xsYXBzaWJsZVNlcnZpY2UpO1xuICAgIGlzT3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLm9wZW4kLnN1YnNjcmliZShvcGVuID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gb3BlbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ub2dnbGUoKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgICAgICByZXR1cm4gY24oXCJjdXJzb3ItcG9pbnRlciBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZ1wiLCB0aGlzLmNsYXNzKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9sbGUtY29sbGFwc2libGUtY29udGVudCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW0BleHBhbmRDb2xsYXBzZV09XCJpc09wZW4gPyAnb3BlbicgOiAnY2xvc2VkJ1wiIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdleHBhbmRDb2xsYXBzZScsIFtcbiAgICAgICAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7IGhlaWdodDogJyonLCBvcGFjaXR5OiAxIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlZCA8PT4gb3BlbicsIGFuaW1hdGUoJzMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSknKSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2lzT3BlbiA/IFwib3BlblwiIDogXCJjbG9zZWRcIicsXG4gICAgICAgIC8vIGBpbmVydGAgKG5vdCBgaGlkZGVuYCkgc28gdGhlIGhlaWdodC9vcGFjaXR5IGNvbGxhcHNlIGFuaW1hdGlvbiBzdGlsbCBydW5zXG4gICAgICAgIC8vIHdoaWxlIHJlbW92aW5nIGNvbGxhcHNlZCBjb250ZW50IGZyb20gdGhlIHRhYiBvcmRlciArIHBvaW50ZXIgaW50ZXJhY3Rpb24uXG4gICAgICAgICdbYXR0ci5pbmVydF0nOiAnaXNPcGVuID8gbnVsbCA6IFwiXCInLFxuICAgICAgICAnW2NsYXNzXSc6ICdjb21wdXRlZENsYXNzJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ29sbGFwc2libGVDb250ZW50Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIGNvbGxhcHNpYmxlU2VydmljZSA9IGluamVjdChDb2xsYXBzaWJsZVNlcnZpY2UpO1xuICAgIGlzT3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLm9wZW4kLnN1YnNjcmliZShvcGVuID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gb3BlbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiBjbihcIlwiLCB0aGlzLmNsYXNzKTtcbiAgICB9XG59XG4iXX0=