@tolle_/tolle-ui 18.2.23 → 18.2.25

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 (183) 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 +60 -25
  18. package/esm2022/lib/date-range-picker.component.mjs +64 -26
  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 +2715 -682
  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 +8 -1
  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 +2 -1
  75. package/lib/date-range-picker.component.d.ts +5 -2
  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/tolle-config.d.ts +8 -0
  100. package/lib/tooltip.directive.d.ts +3 -0
  101. package/lib/utils/color.d.ts +87 -0
  102. package/package.json +4 -1
  103. package/preset.js +28 -0
  104. package/public-api.d.ts +1 -0
  105. package/registry/docs-content.json +4214 -0
  106. package/registry/llms-full.txt +1599 -0
  107. package/registry/llms.txt +83 -0
  108. package/registry/manifest.json +4925 -0
  109. package/registry/r/accordion-item.json +21 -0
  110. package/registry/r/accordion.json +23 -0
  111. package/registry/r/alert-dialog-dynamic.json +31 -0
  112. package/registry/r/alert-dialog.json +26 -0
  113. package/registry/r/alert.json +23 -0
  114. package/registry/r/aspect-ratio.json +21 -0
  115. package/registry/r/avatar-fallback.json +16 -0
  116. package/registry/r/avatar.json +23 -0
  117. package/registry/r/badge.json +23 -0
  118. package/registry/r/breadcrumb-item.json +16 -0
  119. package/registry/r/breadcrumb-link.json +16 -0
  120. package/registry/r/breadcrumb-separator.json +16 -0
  121. package/registry/r/breadcrumb.json +21 -0
  122. package/registry/r/button-group.json +21 -0
  123. package/registry/r/button.json +23 -0
  124. package/registry/r/calendar.json +23 -0
  125. package/registry/r/card.json +21 -0
  126. package/registry/r/carousel.json +18 -0
  127. package/registry/r/checkbox.json +23 -0
  128. package/registry/r/collapsible.json +21 -0
  129. package/registry/r/context-menu-trigger.json +23 -0
  130. package/registry/r/context-menu.json +28 -0
  131. package/registry/r/country-selector.json +31 -0
  132. package/registry/r/data-table.json +38 -0
  133. package/registry/r/date-picker.json +27 -0
  134. package/registry/r/date-range-picker.json +32 -0
  135. package/registry/r/dropdown-item.json +21 -0
  136. package/registry/r/dropdown-label.json +16 -0
  137. package/registry/r/dropdown-menu.json +16 -0
  138. package/registry/r/dropdown-separator.json +16 -0
  139. package/registry/r/dropdown-trigger.json +20 -0
  140. package/registry/r/empty-state.json +23 -0
  141. package/registry/r/hover-card.json +23 -0
  142. package/registry/r/input.json +21 -0
  143. package/registry/r/label.json +21 -0
  144. package/registry/r/masked-input.json +21 -0
  145. package/registry/r/modal.json +36 -0
  146. package/registry/r/multi-select.json +33 -0
  147. package/registry/r/otp-group.json +16 -0
  148. package/registry/r/otp-slot.json +21 -0
  149. package/registry/r/otp.json +21 -0
  150. package/registry/r/pagination.json +32 -0
  151. package/registry/r/phone-number-input.json +34 -0
  152. package/registry/r/popover-content.json +21 -0
  153. package/registry/r/popover.json +18 -0
  154. package/registry/r/progress.json +21 -0
  155. package/registry/r/radio-group.json +26 -0
  156. package/registry/r/radio-item.json +26 -0
  157. package/registry/r/range-calendar.json +28 -0
  158. package/registry/r/resizable-panel-item.json +23 -0
  159. package/registry/r/resizable-panel.json +23 -0
  160. package/registry/r/resizable.json +21 -0
  161. package/registry/r/scroll-area.json +21 -0
  162. package/registry/r/segment.json +21 -0
  163. package/registry/r/select-group.json +21 -0
  164. package/registry/r/select-item.json +26 -0
  165. package/registry/r/select-separator.json +21 -0
  166. package/registry/r/select.json +31 -0
  167. package/registry/r/separator.json +21 -0
  168. package/registry/r/sheet-wrapper.json +31 -0
  169. package/registry/r/sheet.json +21 -0
  170. package/registry/r/sidebar.json +21 -0
  171. package/registry/r/skeleton.json +23 -0
  172. package/registry/r/slider.json +21 -0
  173. package/registry/r/switch.json +23 -0
  174. package/registry/r/tabs.json +23 -0
  175. package/registry/r/tag-input.json +25 -0
  176. package/registry/r/textarea.json +21 -0
  177. package/registry/r/toaster.json +26 -0
  178. package/registry/r/toggle-group.json +25 -0
  179. package/registry/r/toggle.json +23 -0
  180. package/registry/r/tolle-cell.json +16 -0
  181. package/registry/r/tooltip.json +23 -0
  182. package/registry/registry.json +1540 -0
  183. package/theme.css +60 -5
@@ -1,4 +1,4 @@
1
- import { Component, Input, ContentChildren, ElementRef, inject, ChangeDetectorRef } from '@angular/core';
1
+ import { Component, Input, ContentChildren, ElementRef, inject, ChangeDetectorRef, forwardRef } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { cn } from './utils/cn';
4
4
  import { ResizablePanelItemComponent } from './resizable-panel-item.component';
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export class ResizablePanelComponent {
7
7
  direction = 'horizontal';
8
8
  class = '';
9
+ // forwardRef breaks the panel <-> item circular import (TDZ at class-decoration time).
9
10
  panels;
10
11
  el = inject(ElementRef);
11
12
  cdr = inject(ChangeDetectorRef);
@@ -102,7 +103,7 @@ export class ResizablePanelComponent {
102
103
  return cn('w-full h-full', this.class);
103
104
  }
104
105
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
105
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelComponent, isStandalone: true, selector: "tolle-resizable-panel", inputs: { direction: "direction", class: "class" }, queries: [{ propertyName: "panels", predicate: ResizablePanelItemComponent }], ngImport: i0, template: `
106
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelComponent, isStandalone: true, selector: "tolle-resizable-panel", inputs: { direction: "direction", class: "class" }, queries: [{ propertyName: "panels", predicate: i0.forwardRef(() => ResizablePanelItemComponent) }], ngImport: i0, template: `
106
107
  <div [class]="computedContainerClass">
107
108
  <div class="flex" [class.flex-col]="direction === 'vertical'" [class.flex-row]="direction === 'horizontal'">
108
109
  <ng-content></ng-content>
@@ -125,6 +126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
125
126
  type: Input
126
127
  }], panels: [{
127
128
  type: ContentChildren,
128
- args: [ResizablePanelItemComponent]
129
+ args: [forwardRef(() => ResizablePanelItemComponent)]
129
130
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvcmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQStCLFVBQVUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDakosT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBbUIvRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBQ3BELEtBQUssR0FBVyxFQUFFLENBQUM7SUFFa0IsTUFBTSxDQUEwQztJQUV0RixFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVoQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUN4QixlQUFlLEdBQWEsRUFBRSxDQUFDO0lBRS9CLGlCQUFpQixDQUEyQjtJQUM1QyxlQUFlLENBQTJCO0lBRWxELGtCQUFrQjtRQUNoQixtQ0FBbUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFD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QUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxFQUFFLENBQ1AsZUFBZSxFQUNmLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7d0dBM0hVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDRKQUlqQiwyQkFBMkIsNkJBakJsQzs7Ozs7O0dBTVQsK0ZBUFMsWUFBWTs7NEZBY1gsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7OztHQU1UOzhCQVFRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUV3QyxNQUFNO3NCQUFuRCxlQUFlO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBFbGVtZW50UmVmLCBpbmplY3QsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuaW1wb3J0IHsgUmVzaXphYmxlUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNpemFibGUtcGFuZWwtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1yZXNpemFibGUtcGFuZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENvbnRhaW5lckNsYXNzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiIFtjbGFzcy5mbGV4LWNvbF09XCJkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCdcIiBbY2xhc3MuZmxleC1yb3ddPVwiZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZVBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihSZXNpemFibGVQYW5lbEl0ZW1Db21wb25lbnQpIHBhbmVscyE6IFF1ZXJ5TGlzdDxSZXNpemFibGVQYW5lbEl0ZW1Db21wb25lbnQ+O1xuXG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIGlzUmVzaXppbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhY3RpdmVQYW5lbEluZGV4ID0gLTE7XG4gIHByaXZhdGUgc3RhcnRDdXJzb3JQb3NpdGlvbiA9IDA7XG4gIHByaXZhdGUgc3RhcnRQYW5lbFNpemVzOiBudW1iZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgbW91c2VNb3ZlTGlzdGVuZXI/OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBtb3VzZVVwTGlzdGVuZXI/OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBwYW5lbCBzaXplcyBpZiBuZWVkZWRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlUGFuZWxTaXplcygpO1xuICAgICAgdGhpcy51cGRhdGVMYXN0U3RhdHVzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBhbmVscy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVBhbmVsU2l6ZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlTGFzdFN0YXR1cygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGVhbnVwTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxhc3RTdGF0dXMoKSB7XG4gICAgY29uc3QgcGFuZWxzID0gdGhpcy5wYW5lbHMudG9BcnJheSgpO1xuICAgIHBhbmVscy5mb3JFYWNoKChwLCBpKSA9PiBwLmlzTGFzdCA9IGkgPT09IHBhbmVscy5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXplKGl0ZW06IFJlc2l6YWJsZVBhbmVsSXRlbUNvbXBvbmVudCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBwYW5lbHMgPSB0aGlzLnBhbmVscy50b0FycmF5KCk7XG4gICAgdGhpcy5hY3RpdmVQYW5lbEluZGV4ID0gcGFuZWxzLmluZGV4T2YoaXRlbSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlUGFuZWxJbmRleCA9PT0gLTEgfHwgdGhpcy5hY3RpdmVQYW5lbEluZGV4ID09PSBwYW5lbHMubGVuZ3RoIC0gMSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXJ0Q3Vyc29yUG9zaXRpb24gPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gZXZlbnQuY2xpZW50WCA6IGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5zdGFydFBhbmVsU2l6ZXMgPSBwYW5lbHMubWFwKHAgPT4gcC5zaXplKTtcblxuICAgIHRoaXMuc2V0dXBMaXN0ZW5lcnMoKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAnY29sLXJlc2l6ZScgOiAncm93LXJlc2l6ZSc7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJ25vbmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cExpc3RlbmVycygpIHtcbiAgICB0aGlzLm1vdXNlTW92ZUxpc3RlbmVyID0gKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMub25Nb3VzZU1vdmUoZSk7XG4gICAgdGhpcy5tb3VzZVVwTGlzdGVuZXIgPSAoKSA9PiB0aGlzLnN0b3BSZXNpemUoKTtcblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm1vdXNlVXBMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNsZWFudXBMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpO1xuICAgIGlmICh0aGlzLm1vdXNlVXBMaXN0ZW5lcikgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMubW91c2VVcExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaXNSZXNpemluZykgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFBvcyA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WTtcbiAgICBjb25zdCBkZWx0YVB4ID0gY3VycmVudFBvcyAtIHRoaXMuc3RhcnRDdXJzb3JQb3NpdGlvbjtcblxuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICA/IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFxuICAgICAgOiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY29uc3QgZGVsdGFQZXJjZW50ID0gKGRlbHRhUHggLyBjb250YWluZXJTaXplKSAqIDEwMDtcblxuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzLnRvQXJyYXkoKTtcbiAgICBjb25zdCBwYW5lbEEgPSBwYW5lbHNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XTtcbiAgICBjb25zdCBwYW5lbEIgPSBwYW5lbHNbdGhpcy5hY3RpdmVQYW5lbEluZGV4ICsgMV07XG5cbiAgICBjb25zdCBuZXdTaXplQSA9IE1hdGgubWF4KHBhbmVsQS5taW5TaXplLCB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdICsgZGVsdGFQZXJjZW50KTtcbiAgICBjb25zdCBhY3R1YWxEZWx0YSA9IG5ld1NpemVBIC0gdGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XTtcbiAgICBjb25zdCBuZXdTaXplQiA9IE1hdGgubWF4KHBhbmVsQi5taW5TaXplLCB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXggKyAxXSAtIGFjdHVhbERlbHRhKTtcblxuICAgIHBhbmVsQS5zaXplID0gbmV3U2l6ZUE7XG4gICAgcGFuZWxCLnNpemUgPSB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdICsgdGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4ICsgMV0gLSBwYW5lbEEuc2l6ZTtcblxuICAgIGlmIChwYW5lbEIuc2l6ZSA8IHBhbmVsQi5taW5TaXplKSB7XG4gICAgICBwYW5lbEIuc2l6ZSA9IHBhbmVsQi5taW5TaXplO1xuICAgICAgcGFuZWxBLnNpemUgPSAodGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XSArIHRoaXMuc3RhcnRQYW5lbFNpemVzW3RoaXMuYWN0aXZlUGFuZWxJbmRleCArIDFdKSAtIHBhbmVsQi5taW5TaXplO1xuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFJlc2l6ZSgpIHtcbiAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFudXBMaXN0ZW5lcnMoKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICcnO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYW5lbFNpemVzKCkge1xuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzLnRvQXJyYXkoKTtcbiAgICBjb25zdCB0b3RhbFBhbmVscyA9IHBhbmVscy5sZW5ndGg7XG5cbiAgICBpZiAodG90YWxQYW5lbHMgPiAwKSB7XG4gICAgICBjb25zdCBkZWZhdWx0U2l6ZSA9IDEwMCAvIHRvdGFsUGFuZWxzO1xuICAgICAgcGFuZWxzLmZvckVhY2gocGFuZWwgPT4ge1xuICAgICAgICBpZiAoIXBhbmVsLnNpemUpIHtcbiAgICAgICAgICBwYW5lbC5zaXplID0gZGVmYXVsdFNpemU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb21wdXRlZENvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgICd3LWZ1bGwgaC1mdWxsJyxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICApO1xuICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvcmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQStCLFVBQVUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdKLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQW1CL0UsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixTQUFTLEdBQThCLFlBQVksQ0FBQztJQUNwRCxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRTVCLHVGQUF1RjtJQUN2QixNQUFNLENBQTBDO0lBRXhHLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWhDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLGVBQWUsR0FBYSxFQUFFLENBQUM7SUFFL0IsaUJBQWlCLENBQTJCO0lBQzVDLGVBQWUsQ0FBMkI7SUFFbEQsa0JBQWtCO1FBQ2hCLG1DQUFtQztRQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxD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LENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLEVBQUUsQ0FDUCxlQUFlLEVBQ2YsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQzt3R0E1SFUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0xBS0EsMkJBQTJCLDhCQWxCbkQ7Ozs7OztHQU1ULCtGQVBTLFlBQVk7OzRGQWNYLHVCQUF1QjtrQkFqQm5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7R0FNVDs4QkFRUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHMEQsTUFBTTtzQkFBckUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJDb250ZW50SW5pdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcbmltcG9ydCB7IFJlc2l6YWJsZVBhbmVsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcmVzaXphYmxlLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtcmVzaXphYmxlLXBhbmVsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDb250YWluZXJDbGFzc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIiBbY2xhc3MuZmxleC1jb2xdPVwiZGlyZWN0aW9uID09PSAndmVydGljYWwnXCIgW2NsYXNzLmZsZXgtcm93XT1cImRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIC8vIGZvcndhcmRSZWYgYnJlYWtzIHRoZSBwYW5lbCA8LT4gaXRlbSBjaXJjdWxhciBpbXBvcnQgKFREWiBhdCBjbGFzcy1kZWNvcmF0aW9uIHRpbWUpLlxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gUmVzaXphYmxlUGFuZWxJdGVtQ29tcG9uZW50KSkgcGFuZWxzITogUXVlcnlMaXN0PFJlc2l6YWJsZVBhbmVsSXRlbUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHByaXZhdGUgaXNSZXNpemluZyA9IGZhbHNlO1xuICBwcml2YXRlIGFjdGl2ZVBhbmVsSW5kZXggPSAtMTtcbiAgcHJpdmF0ZSBzdGFydEN1cnNvclBvc2l0aW9uID0gMDtcbiAgcHJpdmF0ZSBzdGFydFBhbmVsU2l6ZXM6IG51bWJlcltdID0gW107XG5cbiAgcHJpdmF0ZSBtb3VzZU1vdmVMaXN0ZW5lcj86IChlOiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBwcml2YXRlIG1vdXNlVXBMaXN0ZW5lcj86IChlOiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAvLyBJbml0aWFsaXplIHBhbmVsIHNpemVzIGlmIG5lZWRlZFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVQYW5lbFNpemVzKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxhc3RTdGF0dXMoKTtcbiAgICB9KTtcblxuICAgIHRoaXMucGFuZWxzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlUGFuZWxTaXplcygpO1xuICAgICAgdGhpcy51cGRhdGVMYXN0U3RhdHVzKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFudXBMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGFzdFN0YXR1cygpIHtcbiAgICBjb25zdCBwYW5lbHMgPSB0aGlzLnBhbmVscy50b0FycmF5KCk7XG4gICAgcGFuZWxzLmZvckVhY2goKHAsIGkpID0+IHAuaXNMYXN0ID0gaSA9PT0gcGFuZWxzLmxlbmd0aCAtIDEpO1xuICB9XG5cbiAgc3RhcnRSZXNpemUoaXRlbTogUmVzaXphYmxlUGFuZWxJdGVtQ29tcG9uZW50LCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzLnRvQXJyYXkoKTtcbiAgICB0aGlzLmFjdGl2ZVBhbmVsSW5kZXggPSBwYW5lbHMuaW5kZXhPZihpdGVtKTtcbiAgICBpZiAodGhpcy5hY3RpdmVQYW5lbEluZGV4ID09PSAtMSB8fCB0aGlzLmFjdGl2ZVBhbmVsSW5kZXggPT09IHBhbmVscy5sZW5ndGggLSAxKSByZXR1cm47XG5cbiAgICB0aGlzLmlzUmVzaXppbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RhcnRDdXJzb3JQb3NpdGlvbiA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WTtcbiAgICB0aGlzLnN0YXJ0UGFuZWxTaXplcyA9IHBhbmVscy5tYXAocCA9PiBwLnNpemUpO1xuXG4gICAgdGhpcy5zZXR1cExpc3RlbmVycygpO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/ICdjb2wtcmVzaXplJyA6ICdyb3ctcmVzaXplJztcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTGlzdGVuZXJzKCkge1xuICAgIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIgPSAoZTogTW91c2VFdmVudCkgPT4gdGhpcy5vbk1vdXNlTW92ZShlKTtcbiAgICB0aGlzLm1vdXNlVXBMaXN0ZW5lciA9ICgpID0+IHRoaXMuc3RvcFJlc2l6ZSgpO1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmVMaXN0ZW5lcik7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMubW91c2VVcExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cExpc3RlbmVycygpIHtcbiAgICBpZiAodGhpcy5tb3VzZU1vdmVMaXN0ZW5lcikgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmVMaXN0ZW5lcik7XG4gICAgaWYgKHRoaXMubW91c2VVcExpc3RlbmVyKSBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5tb3VzZVVwTGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IGV2ZW50LmNsaWVudFggOiBldmVudC5jbGllbnRZO1xuICAgIGNvbnN0IGRlbHRhUHggPSBjdXJyZW50UG9zIC0gdGhpcy5zdGFydEN1cnNvclBvc2l0aW9uO1xuXG4gICAgY29uc3QgY29udGFpbmVyU2l6ZSA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgID8gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXG4gICAgICA6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICBjb25zdCBkZWx0YVBlcmNlbnQgPSAoZGVsdGFQeCAvIGNvbnRhaW5lclNpemUpICogMTAwO1xuXG4gICAgY29uc3QgcGFuZWxzID0gdGhpcy5wYW5lbHMudG9BcnJheSgpO1xuICAgIGNvbnN0IHBhbmVsQSA9IHBhbmVsc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdO1xuICAgIGNvbnN0IHBhbmVsQiA9IHBhbmVsc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXggKyAxXTtcblxuICAgIGNvbnN0IG5ld1NpemVBID0gTWF0aC5tYXgocGFuZWxBLm1pblNpemUsIHRoaXMuc3RhcnRQYW5lbFNpemVzW3RoaXMuYWN0aXZlUGFuZWxJbmRleF0gKyBkZWx0YVBlcmNlbnQpO1xuICAgIGNvbnN0IGFjdHVhbERlbHRhID0gbmV3U2l6ZUEgLSB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdO1xuICAgIGNvbnN0IG5ld1NpemVCID0gTWF0aC5tYXgocGFuZWxCLm1pblNpemUsIHRoaXMuc3RhcnRQYW5lbFNpemVzW3RoaXMuYWN0aXZlUGFuZWxJbmRleCArIDFdIC0gYWN0dWFsRGVsdGEpO1xuXG4gICAgcGFuZWxBLnNpemUgPSBuZXdTaXplQTtcbiAgICBwYW5lbEIuc2l6ZSA9IHRoaXMuc3RhcnRQYW5lbFNpemVzW3RoaXMuYWN0aXZlUGFuZWxJbmRleF0gKyB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXggKyAxXSAtIHBhbmVsQS5zaXplO1xuXG4gICAgaWYgKHBhbmVsQi5zaXplIDwgcGFuZWxCLm1pblNpemUpIHtcbiAgICAgIHBhbmVsQi5zaXplID0gcGFuZWxCLm1pblNpemU7XG4gICAgICBwYW5lbEEuc2l6ZSA9ICh0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdICsgdGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4ICsgMV0pIC0gcGFuZWxCLm1pblNpemU7XG4gICAgfVxuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUmVzaXplKCkge1xuICAgIHRoaXMuaXNSZXNpemluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2xlYW51cExpc3RlbmVycygpO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJyc7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJyc7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVBhbmVsU2l6ZXMoKSB7XG4gICAgY29uc3QgcGFuZWxzID0gdGhpcy5wYW5lbHMudG9BcnJheSgpO1xuICAgIGNvbnN0IHRvdGFsUGFuZWxzID0gcGFuZWxzLmxlbmd0aDtcblxuICAgIGlmICh0b3RhbFBhbmVscyA+IDApIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTaXplID0gMTAwIC8gdG90YWxQYW5lbHM7XG4gICAgICBwYW5lbHMuZm9yRWFjaChwYW5lbCA9PiB7XG4gICAgICAgIGlmICghcGFuZWwuc2l6ZSkge1xuICAgICAgICAgIHBhbmVsLnNpemUgPSBkZWZhdWx0U2l6ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbXB1dGVkQ29udGFpbmVyQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgJ3ctZnVsbCBoLWZ1bGwnLFxuICAgICAgdGhpcy5jbGFzc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -14,14 +14,14 @@ export class ScrollAreaComponent {
14
14
  [style.height]="height"
15
15
  >
16
16
  <div
17
- class="h-full w-full rounded-[inherit] overflow-auto scrollbar-hide select-none"
17
+ class="h-full w-full rounded-[inherit] overflow-auto scrollbar-hide"
18
18
  [class.overflow-x-hidden]="orientation === 'vertical'"
19
19
  [class.overflow-y-hidden]="orientation === 'horizontal'"
20
20
  >
21
21
  <ng-content></ng-content>
22
22
  </div>
23
23
  </div>
24
- `, isInline: true, styles: [":host{display:block}.scrollbar-hide::-webkit-scrollbar{width:6px;height:6px}.scrollbar-hide::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar-thumb{background:#e5e5e5;border-radius:10px}:host-context(.dark) .scrollbar-hide::-webkit-scrollbar-thumb{background:#262626}.scrollbar-hide::-webkit-scrollbar-thumb:hover{background:#d4d4d4}:host-context(.dark) .scrollbar-hide::-webkit-scrollbar-thumb:hover{background:#404040}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
24
+ `, isInline: true, styles: [":host{display:block}.scrollbar-hide::-webkit-scrollbar{width:6px;height:6px}.scrollbar-hide::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar-thumb{background:rgb(var(--border));border-radius:10px}.scrollbar-hide::-webkit-scrollbar-thumb:hover{background:rgb(var(--muted-foreground))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollAreaComponent, decorators: [{
27
27
  type: Component,
@@ -31,14 +31,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
31
31
  [style.height]="height"
32
32
  >
33
33
  <div
34
- class="h-full w-full rounded-[inherit] overflow-auto scrollbar-hide select-none"
34
+ class="h-full w-full rounded-[inherit] overflow-auto scrollbar-hide"
35
35
  [class.overflow-x-hidden]="orientation === 'vertical'"
36
36
  [class.overflow-y-hidden]="orientation === 'horizontal'"
37
37
  >
38
38
  <ng-content></ng-content>
39
39
  </div>
40
40
  </div>
41
- `, styles: [":host{display:block}.scrollbar-hide::-webkit-scrollbar{width:6px;height:6px}.scrollbar-hide::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar-thumb{background:#e5e5e5;border-radius:10px}:host-context(.dark) .scrollbar-hide::-webkit-scrollbar-thumb{background:#262626}.scrollbar-hide::-webkit-scrollbar-thumb:hover{background:#d4d4d4}:host-context(.dark) .scrollbar-hide::-webkit-scrollbar-thumb:hover{background:#404040}\n"] }]
41
+ `, styles: [":host{display:block}.scrollbar-hide::-webkit-scrollbar{width:6px;height:6px}.scrollbar-hide::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar-thumb{background:rgb(var(--border));border-radius:10px}.scrollbar-hide::-webkit-scrollbar-thumb:hover{background:rgb(var(--muted-foreground))}\n"] }]
42
42
  }], propDecorators: { class: [{
43
43
  type: Input
44
44
  }], height: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
46
46
  }], orientation: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9zY3JvbGwtYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBa0RoQyxNQUFNLE9BQU8sbUJBQW1CO0lBQ25CLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUN4QixXQUFXLEdBQXVDLE1BQU0sQ0FBQztJQUVsRSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUxDLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHVKQTVDbEI7Ozs7Ozs7Ozs7Ozs7R0FhWCxnaEJBZFcsWUFBWTs7NEZBNkNiLG1CQUFtQjtrQkFoRC9CLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7O0dBYVg7OEJBZ0NVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLXNjcm9sbC1hcmVhJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBcbiAgICAgIFtjbGFzc109XCJjbigncmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuJywgY2xhc3MpXCJcbiAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICA+XG4gICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgcm91bmRlZC1baW5oZXJpdF0gb3ZlcmZsb3ctYXV0byBzY3JvbGxiYXItaGlkZSBzZWxlY3Qtbm9uZVwiXG4gICAgICAgIFtjbGFzcy5vdmVyZmxvdy14LWhpZGRlbl09XCJvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICAgIFtjbGFzcy5vdmVyZmxvdy15LWhpZGRlbl09XCJvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gICAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBcbiAgICAuc2Nyb2xsYmFyLWhpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICB9XG4gICAgXG4gICAgLnNjcm9sbGJhci1oaWRlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgXG4gICAgLnNjcm9sbGJhci1oaWRlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyAvKiBuZXV0cmFsLTIwMCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG4gICAgXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLnNjcm9sbGJhci1oaWRlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjYyNjI2OyAvKiBuZXV0cmFsLTgwMCAqL1xuICAgIH1cblxuICAgIC5zY3JvbGxiYXItaGlkZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Q0ZDRkNDsgLyogbmV1dHJhbC0zMDAgKi9cbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuc2Nyb2xsYmFyLWhpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0MDQwNDA7IC8qIG5ldXRyYWwtNzAwICovXG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxBcmVhQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnMTAwJSc7XG4gICAgQElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCAnYm90aCcgPSAnYm90aCc7XG5cbiAgICBjbiA9IGNuO1xufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9zY3JvbGwtYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBMENoQyxNQUFNLE9BQU8sbUJBQW1CO0lBQ25CLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUN4QixXQUFXLEdBQXVDLE1BQU0sQ0FBQztJQUVsRSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUxDLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHVKQXBDbEI7Ozs7Ozs7Ozs7Ozs7R0FhWCx3WUFkVyxZQUFZOzs0RkFxQ2IsbUJBQW1CO2tCQXhDL0IsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7Ozs7Ozs7Ozs7R0FhWDs4QkF3QlUsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9sbGUtc2Nyb2xsLWFyZWEnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFxuICAgICAgW2NsYXNzXT1cImNuKCdyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4nLCBjbGFzcylcIlxuICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIlxuICAgID5cbiAgICAgIDxkaXYgXG4gICAgICAgIGNsYXNzPVwiaC1mdWxsIHctZnVsbCByb3VuZGVkLVtpbmhlcml0XSBvdmVyZmxvdy1hdXRvIHNjcm9sbGJhci1oaWRlXCJcbiAgICAgICAgW2NsYXNzLm92ZXJmbG93LXgtaGlkZGVuXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCJcbiAgICAgICAgW2NsYXNzLm92ZXJmbG93LXktaGlkZGVuXT1cIm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgICBzdHlsZXM6IFtgXG4gICAgOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIFxuICAgIC5zY3JvbGxiYXItaGlkZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgIH1cbiAgICBcbiAgICAuc2Nyb2xsYmFyLWhpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBcbiAgICAuc2Nyb2xsYmFyLWhpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1ib3JkZXIpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNjcm9sbGJhci1oaWRlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsQXJlYUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzEwMCUnO1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnIHwgJ2JvdGgnID0gJ2JvdGgnO1xuXG4gICAgY24gPSBjbjtcbn1cbiJdfQ==
@@ -53,6 +53,68 @@ export class SegmentedComponent {
53
53
  this.onTouched();
54
54
  this.updateGlider();
55
55
  }
56
+ /** True when the current value matches one of the items. */
57
+ hasSelectedValue() {
58
+ return this.items.some(i => i.value === this.value);
59
+ }
60
+ firstEnabledItem() {
61
+ if (this.disabled)
62
+ return undefined;
63
+ return this.items.find(i => !i.disabled);
64
+ }
65
+ /**
66
+ * Roving tabindex: the selected item is tab-reachable, or - when nothing is
67
+ * selected - the first enabled item. All other items get -1.
68
+ */
69
+ getTabIndex(item) {
70
+ if (this.disabled || item.disabled)
71
+ return -1;
72
+ if (this.value === item.value)
73
+ return 0;
74
+ if (!this.hasSelectedValue() && this.firstEnabledItem() === item)
75
+ return 0;
76
+ return -1;
77
+ }
78
+ /**
79
+ * WAI-ARIA radio group keyboard nav: Arrow Left/Right (and Home/End) move
80
+ * selection + focus across the enabled items, wrapping and skipping disabled.
81
+ */
82
+ onKeydown(event) {
83
+ if (this.disabled)
84
+ return;
85
+ const key = event.key;
86
+ const forward = key === 'ArrowRight';
87
+ const backward = key === 'ArrowLeft';
88
+ const home = key === 'Home';
89
+ const end = key === 'End';
90
+ if (!forward && !backward && !home && !end)
91
+ return;
92
+ const enabled = this.items.map((it, i) => ({ it, i })).filter(x => !x.it.disabled);
93
+ if (!enabled.length)
94
+ return;
95
+ event.preventDefault();
96
+ const buttons = this.itemElements?.toArray().map(r => r.nativeElement) ?? [];
97
+ const focusedIndex = buttons.indexOf(event.target);
98
+ let pos = enabled.findIndex(x => x.i === focusedIndex);
99
+ if (pos < 0)
100
+ pos = enabled.findIndex(x => x.it.value === this.value);
101
+ let targetPos;
102
+ if (home) {
103
+ targetPos = 0;
104
+ }
105
+ else if (end) {
106
+ targetPos = enabled.length - 1;
107
+ }
108
+ else if (forward) {
109
+ targetPos = pos < 0 ? 0 : (pos + 1) % enabled.length;
110
+ }
111
+ else {
112
+ targetPos = pos < 0 ? enabled.length - 1 : (pos - 1 + enabled.length) % enabled.length;
113
+ }
114
+ const target = enabled[targetPos];
115
+ this.select(target.it.value);
116
+ this.itemElements.get(target.i)?.nativeElement.focus();
117
+ }
56
118
  updateGlider() {
57
119
  if (!this.itemElements || !this.items.length)
58
120
  return;
@@ -96,7 +158,8 @@ export class SegmentedComponent {
96
158
  'relative flex items-center p-1 bg-muted rounded-lg select-none w-full gap-1',
97
159
  class
98
160
  )"
99
- role="tablist"
161
+ role="radiogroup"
162
+ (keydown)="onKeydown($event)"
100
163
  >
101
164
  <div
102
165
  class="absolute top-1 bottom-1 bg-primary shadow-sm rounded-md transition-all duration-300 ease-[cubic-bezier(0.2,0.0,0.2,1)]"
@@ -109,9 +172,10 @@ export class SegmentedComponent {
109
172
  *ngFor="let item of items"
110
173
  #itemEls
111
174
  type="button"
112
- role="tab"
175
+ role="radio"
113
176
  [disabled]="item.disabled || disabled"
114
- [attr.aria-selected]="value === item.value"
177
+ [attr.aria-checked]="value === item.value"
178
+ [attr.tabindex]="getTabIndex(item)"
115
179
  (click)="select(item.value)"
116
180
  [class]="cn(
117
181
  'relative z-10 flex-1 px-3 py-1.5 text-sm font-medium transition-colors duration-200 rounded-md text-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
@@ -151,7 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
151
215
  'relative flex items-center p-1 bg-muted rounded-lg select-none w-full gap-1',
152
216
  class
153
217
  )"
154
- role="tablist"
218
+ role="radiogroup"
219
+ (keydown)="onKeydown($event)"
155
220
  >
156
221
  <div
157
222
  class="absolute top-1 bottom-1 bg-primary shadow-sm rounded-md transition-all duration-300 ease-[cubic-bezier(0.2,0.0,0.2,1)]"
@@ -164,9 +229,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
164
229
  *ngFor="let item of items"
165
230
  #itemEls
166
231
  type="button"
167
- role="tab"
232
+ role="radio"
168
233
  [disabled]="item.disabled || disabled"
169
- [attr.aria-selected]="value === item.value"
234
+ [attr.aria-checked]="value === item.value"
235
+ [attr.tabindex]="getTabIndex(item)"
170
236
  (click)="select(item.value)"
171
237
  [class]="cn(
172
238
  'relative z-10 flex-1 px-3 py-1.5 text-sm font-medium transition-colors duration-200 rounded-md text-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
@@ -205,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
205
271
  type: ViewChildren,
206
272
  args: ['itemEls']
207
273
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL3NlZ21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFFVixZQUFZLEVBUVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQTBFaEMsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQWxCWCxLQUFLLEdBQWtCLEVBQUUsQ0FBQztJQUMxQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixZQUFZLENBQW9CLENBQUMsdUJBQXVCO0lBRWpFLEtBQUssR0FBUSxJQUFJLENBQUM7SUFDbEIsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVPLFdBQVcsQ0FBMkI7SUFDckMsWUFBWSxDQUFzQztJQUVuRSxjQUFjLENBQWtCO0lBRXhDLFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUIsU0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUzQixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdB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QUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUyxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQTNGUCxrQkFBa0I7NEZBQWxCLGtCQUFrQiw0SkEzRGxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHNPQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1QsK0ZBckRTLFlBQVksc2FBQUUsV0FBVzs7NEZBNER4QixrQkFBa0I7a0JBL0Q5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLGFBQ3pCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1Q7c0ZBUVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT2tCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFDRyxZQUFZO3NCQUFwQyxZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcblxuZXhwb3J0IHR5cGUgU2VnbWVudEl0ZW0gPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZzsgICAvLyBBZGRlZDogT3B0aW9uYWwgaWNvbiBjbGFzcyAoZS5nLiwgJ3JpLWhvbWUtbGluZScpXG4gIGNsYXNzPzogc3RyaW5nOyAgLy8gQWRkZWQ6IEN1c3RvbSBjbGFzcyBmb3Igc3BlY2lmaWMgaXRlbSB3cmFwcGVyXG4gIGRhdGE/OiBhbnk7ICAgICAgLy8gQWRkZWQ6IEV4dHJhIGRhdGEgcGF5bG9hZCBmb3IgY3VzdG9tIHRlbXBsYXRlc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1zZWdtZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlZ21lbnRlZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAjY29udGFpbmVyXG4gICAgICBbY2xhc3NdPVwiY24oXG4gICAgICAgICdyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBwLTEgYmctbXV0ZWQgcm91bmRlZC1sZyBzZWxlY3Qtbm9uZSB3LWZ1bGwgZ2FwLTEnLFxuICAgICAgICBjbGFzc1xuICAgICAgKVwiXG4gICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xIGJvdHRvbS0xIGJnLXByaW1hcnkgc2hhZG93LXNtIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2UtW2N1YmljLWJlemllcigwLjIsMC4wLDAuMiwxKV1cIlxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnbGlkZXJMZWZ0XCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImdsaWRlcldpZHRoXCJcbiAgICAgICAgW2NsYXNzLm9wYWNpdHktMF09XCIhaGFzVmFsdWVcIlxuICAgICAgPjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgI2l0ZW1FbHNcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidmFsdWUgPT09IGl0ZW0udmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0KGl0ZW0udmFsdWUpXCJcbiAgICAgICAgW2NsYXNzXT1cImNuKFxuICAgICAgICAgICdyZWxhdGl2ZSB6LTEwIGZsZXgtMSBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCByb3VuZGVkLW1kIHRleHQtY2VudGVyIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMicsXG4gICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yJyxcbiAgICAgICAgICB2YWx1ZSA9PT0gaXRlbS52YWx1ZVxuICAgICAgICAgICAgPyAndGV4dC1wcmltYXJ5LWZvcmVncm91bmQnXG4gICAgICAgICAgICA6ICd0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kLzcwJyxcbiAgICAgICAgICBpdGVtLmRpc2FibGVkICYmICdvcGFjaXR5LTUwIGN1cnNvci1ub3QtYWxsb3dlZCcsXG4gICAgICAgICAgaXRlbS5jbGFzc1xuICAgICAgICApXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0Q29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBzZWxlY3RlZDogdmFsdWUgPT09IGl0ZW0udmFsdWUgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb250ZW50PlxuICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbS5pY29uXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWdtZW50ZWRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpdGVtczogU2VnbWVudEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+OyAvLyBBbGxvdyBjdXN0b20gY29udGVudFxuXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xuICBnbGlkZXJMZWZ0ID0gMDtcbiAgZ2xpZGVyV2lkdGggPSAwO1xuICBoYXNWYWx1ZSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lckVsITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGRyZW4oJ2l0ZW1FbHMnKSBpdGVtRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlR2xpZGVyKCkpO1xuXG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb250YWluZXJFbCkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlR2xpZGVyKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gUmVjYWxjdWxhdGUgaWYgaXRlbXMgY2hhbmdlIG9yIGlmIHZhbHVlIGNoYW5nZXMgZXh0ZXJuYWxseVxuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmICFjaGFuZ2VzWydpdGVtcyddLmZpcnN0Q2hhbmdlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlR2xpZGVyKCkpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCh2YWw6IGFueSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZChpID0+IGkudmFsdWUgPT09IHZhbCk7XG4gICAgaWYgKGl0ZW0/LmRpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMudXBkYXRlR2xpZGVyKCk7XG4gIH1cblxuICB1cGRhdGVHbGlkZXIoKSB7XG4gICAgaWYgKCF0aGlzLml0ZW1FbGVtZW50cyB8fCAhdGhpcy5pdGVtcy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaSA9PiBpLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZ2xpZGVyV2lkdGggPSAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLml0ZW1FbGVtZW50cy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgdGhpcy5nbGlkZXJMZWZ0ID0gYWN0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgICAgdGhpcy5nbGlkZXJXaWR0aCA9IGFjdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ1ZBIEltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVHbGlkZXIoKSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG59XG4iXX0=
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL3NlZ21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFFVixZQUFZLEVBUVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQTRFaEMsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQWxCWCxLQUFLLEdBQWtCLEVBQUUsQ0FBQztJQUMxQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixZQUFZLENBQW9CLENBQUMsdUJBQXVCO0lBRWpFLEtBQUssR0FBUSxJQUFJLENBQUM7SUFDbEIsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVPLFdBQVcsQ0FBMkI7SUFDckMsWUFBWSxDQUFzQztJQUVuRSxjQUFjLENBQWtCO0lBRXhDLFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUIsU0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUzQixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdB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a0JBQWtCO2tCQWpFOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxhQUN6Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1Q7c0ZBUVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT2tCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFDRyxZQUFZO3NCQUFwQyxZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcblxuZXhwb3J0IHR5cGUgU2VnbWVudEl0ZW0gPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZzsgICAvLyBBZGRlZDogT3B0aW9uYWwgaWNvbiBjbGFzcyAoZS5nLiwgJ3JpLWhvbWUtbGluZScpXG4gIGNsYXNzPzogc3RyaW5nOyAgLy8gQWRkZWQ6IEN1c3RvbSBjbGFzcyBmb3Igc3BlY2lmaWMgaXRlbSB3cmFwcGVyXG4gIGRhdGE/OiBhbnk7ICAgICAgLy8gQWRkZWQ6IEV4dHJhIGRhdGEgcGF5bG9hZCBmb3IgY3VzdG9tIHRlbXBsYXRlc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1zZWdtZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlZ21lbnRlZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAjY29udGFpbmVyXG4gICAgICBbY2xhc3NdPVwiY24oXG4gICAgICAgICdyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBwLTEgYmctbXV0ZWQgcm91bmRlZC1sZyBzZWxlY3Qtbm9uZSB3LWZ1bGwgZ2FwLTEnLFxuICAgICAgICBjbGFzc1xuICAgICAgKVwiXG4gICAgICByb2xlPVwicmFkaW9ncm91cFwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xIGJvdHRvbS0xIGJnLXByaW1hcnkgc2hhZG93LXNtIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2UtW2N1YmljLWJlemllcigwLjIsMC4wLDAuMiwxKV1cIlxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnbGlkZXJMZWZ0XCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImdsaWRlcldpZHRoXCJcbiAgICAgICAgW2NsYXNzLm9wYWNpdHktMF09XCIhaGFzVmFsdWVcIlxuICAgICAgPjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgI2l0ZW1FbHNcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkIHx8IGRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInZhbHVlID09PSBpdGVtLnZhbHVlXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiSW5kZXgoaXRlbSlcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0KGl0ZW0udmFsdWUpXCJcbiAgICAgICAgW2NsYXNzXT1cImNuKFxuICAgICAgICAgICdyZWxhdGl2ZSB6LTEwIGZsZXgtMSBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCByb3VuZGVkLW1kIHRleHQtY2VudGVyIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMicsXG4gICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yJyxcbiAgICAgICAgICB2YWx1ZSA9PT0gaXRlbS52YWx1ZVxuICAgICAgICAgICAgPyAndGV4dC1wcmltYXJ5LWZvcmVncm91bmQnXG4gICAgICAgICAgICA6ICd0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kLzcwJyxcbiAgICAgICAgICBpdGVtLmRpc2FibGVkICYmICdvcGFjaXR5LTUwIGN1cnNvci1ub3QtYWxsb3dlZCcsXG4gICAgICAgICAgaXRlbS5jbGFzc1xuICAgICAgICApXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0Q29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBzZWxlY3RlZDogdmFsdWUgPT09IGl0ZW0udmFsdWUgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb250ZW50PlxuICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbS5pY29uXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWdtZW50ZWRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpdGVtczogU2VnbWVudEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+OyAvLyBBbGxvdyBjdXN0b20gY29udGVudFxuXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xuICBnbGlkZXJMZWZ0ID0gMDtcbiAgZ2xpZGVyV2lkdGggPSAwO1xuICBoYXNWYWx1ZSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lckVsITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGRyZW4oJ2l0ZW1FbHMnKSBpdGVtRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlR2xpZGVyKCkpO1xuXG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb250YWluZXJFbCkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlR2xpZGVyKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gUmVjYWxjdWxhdGUgaWYgaXRlbXMgY2hhbmdlIG9yIGlmIHZhbHVlIGNoYW5nZXMgZXh0ZXJuYWxseVxuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmICFjaGFuZ2VzWydpdGVtcyddLmZpcnN0Q2hhbmdlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlR2xpZGVyKCkpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCh2YWw6IGFueSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZChpID0+IGkudmFsdWUgPT09IHZhbCk7XG4gICAgaWYgKGl0ZW0/LmRpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMudXBkYXRlR2xpZGVyKCk7XG4gIH1cblxuICAvKiogVHJ1ZSB3aGVuIHRoZSBjdXJyZW50IHZhbHVlIG1hdGNoZXMgb25lIG9mIHRoZSBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBoYXNTZWxlY3RlZFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnNvbWUoaSA9PiBpLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlyc3RFbmFibGVkSXRlbSgpOiBTZWdtZW50SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChpID0+ICFpLmRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3ZpbmcgdGFiaW5kZXg6IHRoZSBzZWxlY3RlZCBpdGVtIGlzIHRhYi1yZWFjaGFibGUsIG9yIC0gd2hlbiBub3RoaW5nIGlzXG4gICAqIHNlbGVjdGVkIC0gdGhlIGZpcnN0IGVuYWJsZWQgaXRlbS4gQWxsIG90aGVyIGl0ZW1zIGdldCAtMS5cbiAgICovXG4gIGdldFRhYkluZGV4KGl0ZW06IFNlZ21lbnRJdGVtKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSByZXR1cm4gLTE7XG4gICAgaWYgKHRoaXMudmFsdWUgPT09IGl0ZW0udmFsdWUpIHJldHVybiAwO1xuICAgIGlmICghdGhpcy5oYXNTZWxlY3RlZFZhbHVlKCkgJiYgdGhpcy5maXJzdEVuYWJsZWRJdGVtKCkgPT09IGl0ZW0pIHJldHVybiAwO1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXQUktQVJJQSByYWRpbyBncm91cCBrZXlib2FyZCBuYXY6IEFycm93IExlZnQvUmlnaHQgKGFuZCBIb21lL0VuZCkgbW92ZVxuICAgKiBzZWxlY3Rpb24gKyBmb2N1cyBhY3Jvc3MgdGhlIGVuYWJsZWQgaXRlbXMsIHdyYXBwaW5nIGFuZCBza2lwcGluZyBkaXNhYmxlZC5cbiAgICovXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgY29uc3QgZm9yd2FyZCA9IGtleSA9PT0gJ0Fycm93UmlnaHQnO1xuICAgIGNvbnN0IGJhY2t3YXJkID0ga2V5ID09PSAnQXJyb3dMZWZ0JztcbiAgICBjb25zdCBob21lID0ga2V5ID09PSAnSG9tZSc7XG4gICAgY29uc3QgZW5kID0ga2V5ID09PSAnRW5kJztcbiAgICBpZiAoIWZvcndhcmQgJiYgIWJhY2t3YXJkICYmICFob21lICYmICFlbmQpIHJldHVybjtcblxuICAgIGNvbnN0IGVuYWJsZWQgPSB0aGlzLml0ZW1zLm1hcCgoaXQsIGkpID0+ICh7IGl0LCBpIH0pKS5maWx0ZXIoeCA9PiAheC5pdC5kaXNhYmxlZCk7XG4gICAgaWYgKCFlbmFibGVkLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGJ1dHRvbnMgPSB0aGlzLml0ZW1FbGVtZW50cz8udG9BcnJheSgpLm1hcChyID0+IHIubmF0aXZlRWxlbWVudCkgPz8gW107XG4gICAgY29uc3QgZm9jdXNlZEluZGV4ID0gYnV0dG9ucy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgbGV0IHBvcyA9IGVuYWJsZWQuZmluZEluZGV4KHggPT4geC5pID09PSBmb2N1c2VkSW5kZXgpO1xuICAgIGlmIChwb3MgPCAwKSBwb3MgPSBlbmFibGVkLmZpbmRJbmRleCh4ID0+IHguaXQudmFsdWUgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgbGV0IHRhcmdldFBvczogbnVtYmVyO1xuICAgIGlmIChob21lKSB7XG4gICAgICB0YXJnZXRQb3MgPSAwO1xuICAgIH0gZWxzZSBpZiAoZW5kKSB7XG4gICAgICB0YXJnZXRQb3MgPSBlbmFibGVkLmxlbmd0aCAtIDE7XG4gICAgfSBlbHNlIGlmIChmb3J3YXJkKSB7XG4gICAgICB0YXJnZXRQb3MgPSBwb3MgPCAwID8gMCA6IChwb3MgKyAxKSAlIGVuYWJsZWQubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXRQb3MgPSBwb3MgPCAwID8gZW5hYmxlZC5sZW5ndGggLSAxIDogKHBvcyAtIDEgKyBlbmFibGVkLmxlbmd0aCkgJSBlbmFibGVkLmxlbmd0aDtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBlbmFibGVkW3RhcmdldFBvc107XG4gICAgdGhpcy5zZWxlY3QodGFyZ2V0Lml0LnZhbHVlKTtcbiAgICB0aGlzLml0ZW1FbGVtZW50cy5nZXQodGFyZ2V0LmkpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICB1cGRhdGVHbGlkZXIoKSB7XG4gICAgaWYgKCF0aGlzLml0ZW1FbGVtZW50cyB8fCAhdGhpcy5pdGVtcy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaSA9PiBpLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZ2xpZGVyV2lkdGggPSAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLml0ZW1FbGVtZW50cy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgdGhpcy5nbGlkZXJMZWZ0ID0gYWN0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgICAgdGhpcy5nbGlkZXJXaWR0aCA9IGFjdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ1ZBIEltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVHbGlkZXIoKSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG59XG4iXX0=
@@ -12,6 +12,10 @@ export class SelectItemComponent {
12
12
  selected = false;
13
13
  disabled = false;
14
14
  multiSelect = false; // Will be set by parent component
15
+ // Stable option id used by the parent for aria-activedescendant wiring.
16
+ id = `select-item-${Math.random().toString(36).substr(2, 9)}`;
17
+ // Active-descendant highlight state, driven by the parent by index.
18
+ active = false;
15
19
  hidden = false;
16
20
  constructor(selectService, el) {
17
21
  this.selectService = selectService;
@@ -21,10 +25,16 @@ export class SelectItemComponent {
21
25
  getLabel() {
22
26
  return this.el.nativeElement.textContent?.trim() || '';
23
27
  }
28
+ // Scroll this option into view when it becomes the active descendant.
29
+ scrollIntoActiveView() {
30
+ this.el.nativeElement.scrollIntoView({ block: 'nearest' });
31
+ }
24
32
  getItemClasses() {
25
33
  return cn(
26
34
  // Base state
27
35
  'focus:bg-accent focus:text-accent-foreground',
36
+ // Active-descendant (keyboard) highlight
37
+ 'data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground',
28
38
  // Hover states (only if not disabled)
29
39
  !this.disabled && [
30
40
  'cursor-pointer',
@@ -59,9 +69,10 @@ export class SelectItemComponent {
59
69
  }
60
70
  cn = cn;
61
71
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectItemComponent, deps: [{ token: i1.SelectService, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SelectItemComponent, isStandalone: true, selector: "tolle-select-item", inputs: { value: "value", class: "class", selected: "selected", disabled: "disabled", multiSelect: "multiSelect" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: `
72
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SelectItemComponent, isStandalone: true, selector: "tolle-select-item", inputs: { value: "value", class: "class", selected: "selected", disabled: "disabled", multiSelect: "multiSelect", id: "id", active: "active" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: `
63
73
  <div
64
74
  *ngIf="!hidden"
75
+ [id]="id"
65
76
  [class]="cn(
66
77
  'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors',
67
78
  getItemClasses(),
@@ -69,6 +80,7 @@ export class SelectItemComponent {
69
80
  )"
70
81
  [attr.aria-disabled]="disabled"
71
82
  [attr.aria-selected]="selected"
83
+ [attr.data-highlighted]="active ? '' : null"
72
84
  role="option"
73
85
  >
74
86
  <!-- Single Select: Checkmark -->
@@ -110,6 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
110
122
  template: `
111
123
  <div
112
124
  *ngIf="!hidden"
125
+ [id]="id"
113
126
  [class]="cn(
114
127
  'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors',
115
128
  getItemClasses(),
@@ -117,6 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
117
130
  )"
118
131
  [attr.aria-disabled]="disabled"
119
132
  [attr.aria-selected]="selected"
133
+ [attr.data-highlighted]="active ? '' : null"
120
134
  role="option"
121
135
  >
122
136
  <!-- Single Select: Checkmark -->
@@ -161,8 +175,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
161
175
  type: Input
162
176
  }], multiSelect: [{
163
177
  type: Input
178
+ }], id: [{
179
+ type: Input
180
+ }], active: [{
181
+ type: Input
164
182
  }], onClick: [{
165
183
  type: HostListener,
166
184
  args: ['click', ['$event']]
167
185
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9zZWxlY3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFjLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQWlEaEMsTUFBTSxPQUFPLG1CQUFtQjtJQVVSO0lBQ1o7SUFWRCxLQUFLLENBQU07SUFDWCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxrQ0FBa0M7SUFFaEUsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUVmLFlBQ3NCLGFBQTRCLEVBQ3hDLEVBQWM7UUFERixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN4QyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ3JCLENBQUM7SUFFSiwwREFBMEQ7SUFDMUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sRUFBRTtRQUNQLGFBQWE7UUFDYiw4Q0FBOEM7UUFFOUMsc0NBQXNDO1FBQ3RDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSTtZQUNoQixnQkFBZ0I7WUFDaEIsOENBQThDO1NBQy9DO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLElBQUk7WUFDZixJQUFJLENBQUMsV0FBVztnQkFDZCxDQUFDLENBQUMsOEJBQThCO2dCQUNoQyxDQUFDLENBQUMsa0NBQWtDO1NBQ3ZDO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLElBQUk7WUFDZixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLDRDQUE0QztTQUM3QyxDQUNGLENBQUM7SUFDSixDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFekMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIscUNBQXFDO2dCQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNqQyxDQUFDO1lBQ0Qsa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFUyxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQS9EUCxtQkFBbUI7NEZBQW5CLG1CQUFtQixzUEExQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NULDJEQXpDUyxZQUFZOzs0RkEyQ1gsbUJBQW1CO2tCQTlDL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Q1Q7aUJBQ0Y7OzBCQVdJLFFBQVE7a0VBVEYsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkEwQ04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcbmltcG9ydCB7U2VsZWN0U2VydmljZX0gZnJvbSAnLi9zZWxlY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLXNlbGVjdC1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhaGlkZGVuXCJcbiAgICAgIFtjbGFzc109XCJjbihcbiAgICAgICAgJ3JlbGF0aXZlIGZsZXggdy1mdWxsIGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICBnZXRJdGVtQ2xhc3NlcygpLFxuICAgICAgICBjbGFzc1xuICAgICAgKVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgPlxuICAgICAgPCEtLSBTaW5nbGUgU2VsZWN0OiBDaGVja21hcmsgLS0+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFtdWx0aVNlbGVjdCAmJiBzZWxlY3RlZFwiIGNsYXNzPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicmktY2hlY2stbGluZSB0ZXh0LXByaW1hcnlcIj48L2k+XG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDwhLS0gTXVsdGktU2VsZWN0OiBDaGVja2JveCAtLT5cbiAgICAgIDxzcGFuICpuZ0lmPVwibXVsdGlTZWxlY3RcIiBjbGFzcz1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJjbihcbiAgICAgICAgICAnZmxleCBoLTQgdy00IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLXNtIGJvcmRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgIHNlbGVjdGVkID8gJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnIDogJ2JvcmRlci1pbnB1dCdcbiAgICAgICAgKVwiPlxuICAgICAgICAgIDxpIFtjbGFzc109XCJjbihcbiAgICAgICAgICAgICdyaS1jaGVjay1saW5lIHRleHQteHMgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICAgIHNlbGVjdGVkID8gJ29wYWNpdHktMTAwIHNjYWxlLTEwMCcgOiAnb3BhY2l0eS0wIHNjYWxlLTc1J1xuICAgICAgICAgIClcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsZXgtMSB0cnVuY2F0ZVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDwhLS0gRGlzYWJsZWQgaW5kaWNhdG9yIC0tPlxuICAgICAgPHNwYW4gKm5nSWY9XCJkaXNhYmxlZCAmJiAhc2VsZWN0ZWRcIiBjbGFzcz1cIm1sLTIgdGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQvNTBcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJyaS1mb3JiaWQtbGluZVwiPjwvaT5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0ID0gZmFsc2U7IC8vIFdpbGwgYmUgc2V0IGJ5IHBhcmVudCBjb21wb25lbnRcblxuICBoaWRkZW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHNlbGVjdFNlcnZpY2U6IFNlbGVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgLy8gSGVscGVyIG1ldGhvZCBmb3IgdGhlIHBhcmVudCB0byBnZXQgdGhlIHNlYXJjaGFibGUgdGV4dFxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJztcbiAgfVxuXG4gIGdldEl0ZW1DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gQmFzZSBzdGF0ZVxuICAgICAgJ2ZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcblxuICAgICAgLy8gSG92ZXIgc3RhdGVzIChvbmx5IGlmIG5vdCBkaXNhYmxlZClcbiAgICAgICF0aGlzLmRpc2FibGVkICYmIFtcbiAgICAgICAgJ2N1cnNvci1wb2ludGVyJyxcbiAgICAgICAgJ2hvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJ1xuICAgICAgXSxcblxuICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgIHRoaXMuc2VsZWN0ZWQgJiYgW1xuICAgICAgICB0aGlzLm11bHRpU2VsZWN0XG4gICAgICAgICAgPyAnYmctcHJpbWFyeS81IHRleHQtZm9yZWdyb3VuZCdcbiAgICAgICAgICA6ICdiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCdcbiAgICAgIF0sXG5cbiAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICB0aGlzLmRpc2FibGVkICYmIFtcbiAgICAgICAgJ29wYWNpdHktNTAnLFxuICAgICAgICAnY3Vyc29yLW5vdC1hbGxvd2VkJyxcbiAgICAgICAgJ2hvdmVyOmJnLXRyYW5zcGFyZW50IGhvdmVyOnRleHQtZm9yZWdyb3VuZCdcbiAgICAgIF1cbiAgICApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaGlkZGVuIHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLnNlbGVjdFNlcnZpY2UpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRMYWJlbCgpO1xuXG4gICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgICAvLyBGb3IgbXVsdGktc2VsZWN0LCB0b2dnbGUgc2VsZWN0aW9uXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICAgIH1cbiAgICAgIC8vIEZvciBib3RoIHNpbmdsZSBhbmQgbXVsdGktc2VsZWN0LCBub3RpZnkgcGFyZW50XG4gICAgICB0aGlzLnNlbGVjdFNlcnZpY2UucmVnaXN0ZXJDbGljayh0aGlzLnZhbHVlLCBsYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9zZWxlY3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFjLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQW1EaEMsTUFBTSxPQUFPLG1CQUFtQjtJQWNSO0lBQ1o7SUFkRCxLQUFLLENBQU07SUFDWCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxrQ0FBa0M7SUFDaEUsd0VBQXdFO0lBQy9ELEVBQUUsR0FBRyxlQUFlLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLG9FQUFvRTtJQUMzRCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXhCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixZQUNzQixhQUE0QixFQUN4QyxFQUFjO1FBREYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDeEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUNyQixDQUFDO0lBRUosMERBQTBEO0lBQzFELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLEVBQUU7UUFDUCxhQUFhO1FBQ2IsOENBQThDO1FBRTlDLHlDQUF5QztRQUN6Qyx3RUFBd0U7UUFFeEUsc0NBQXNDO1FBQ3RDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSTtZQUNoQixnQkFBZ0I7WUFDaEIsOENBQThDO1NBQy9DO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLElBQUk7WUFDZixJQUFJLENBQUMsV0FBVztnQkFDZCxDQUFDLENBQUMsOEJBQThCO2dCQUNoQyxDQUFDLENBQUMsa0NBQWtDO1NBQ3ZDO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLElBQUk7WUFDZixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLDRDQUE0QztTQUM3QyxDQUNGLENBQUM7SUFDSixDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFekMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIscUNBQXFDO2dCQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNqQyxDQUFDO1lBQ0Qsa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFUyxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQTNFUCxtQkFBbUI7NEZBQW5CLG1CQUFtQixrUkE1Q3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsMkRBM0NTLFlBQVk7OzRGQTZDWCxtQkFBbUI7a0JBaEQvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUO2lCQUNGOzswQkFlSSxRQUFRO2tFQWJGLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsRUFBRTtzQkFBVixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFrRE4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcbmltcG9ydCB7U2VsZWN0U2VydmljZX0gZnJvbSAnLi9zZWxlY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLXNlbGVjdC1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhaGlkZGVuXCJcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbY2xhc3NdPVwiY24oXG4gICAgICAgICdyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweS0xLjUgcGwtOCBwci0yIHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzJyxcbiAgICAgICAgZ2V0SXRlbUNsYXNzZXMoKSxcbiAgICAgICAgY2xhc3NcbiAgICAgIClcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFthdHRyLmRhdGEtaGlnaGxpZ2h0ZWRdPVwiYWN0aXZlID8gJycgOiBudWxsXCJcbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgID5cbiAgICAgIDwhLS0gU2luZ2xlIFNlbGVjdDogQ2hlY2ttYXJrIC0tPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhbXVsdGlTZWxlY3QgJiYgc2VsZWN0ZWRcIiBjbGFzcz1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8aSBjbGFzcz1cInJpLWNoZWNrLWxpbmUgdGV4dC1wcmltYXJ5XCI+PC9pPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8IS0tIE11bHRpLVNlbGVjdDogQ2hlY2tib3ggLS0+XG4gICAgICA8c3BhbiAqbmdJZj1cIm11bHRpU2VsZWN0XCIgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTIgZmxleCBoLTMuNSB3LTMuNSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwiY24oXG4gICAgICAgICAgJ2ZsZXggaC00IHctNCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1zbSBib3JkZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICBzZWxlY3RlZCA/ICdib3JkZXItcHJpbWFyeSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kJyA6ICdib3JkZXItaW5wdXQnXG4gICAgICAgIClcIj5cbiAgICAgICAgICA8aSBbY2xhc3NdPVwiY24oXG4gICAgICAgICAgICAncmktY2hlY2stbGluZSB0ZXh0LXhzIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCcsXG4gICAgICAgICAgICBzZWxlY3RlZCA/ICdvcGFjaXR5LTEwMCBzY2FsZS0xMDAnIDogJ29wYWNpdHktMCBzY2FsZS03NSdcbiAgICAgICAgICApXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPCEtLSBDb250ZW50IC0tPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LTEgdHJ1bmNhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8IS0tIERpc2FibGVkIGluZGljYXRvciAtLT5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZGlzYWJsZWQgJiYgIXNlbGVjdGVkXCIgY2xhc3M9XCJtbC0yIHRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kLzUwXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicmktZm9yYmlkLWxpbmVcIj48L2k+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBzZWxlY3RlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aVNlbGVjdCA9IGZhbHNlOyAvLyBXaWxsIGJlIHNldCBieSBwYXJlbnQgY29tcG9uZW50XG4gIC8vIFN0YWJsZSBvcHRpb24gaWQgdXNlZCBieSB0aGUgcGFyZW50IGZvciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgd2lyaW5nLlxuICBASW5wdXQoKSBpZCA9IGBzZWxlY3QtaXRlbS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuICAvLyBBY3RpdmUtZGVzY2VuZGFudCBoaWdobGlnaHQgc3RhdGUsIGRyaXZlbiBieSB0aGUgcGFyZW50IGJ5IGluZGV4LlxuICBASW5wdXQoKSBhY3RpdmUgPSBmYWxzZTtcblxuICBoaWRkZW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHNlbGVjdFNlcnZpY2U6IFNlbGVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgLy8gSGVscGVyIG1ldGhvZCBmb3IgdGhlIHBhcmVudCB0byBnZXQgdGhlIHNlYXJjaGFibGUgdGV4dFxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJztcbiAgfVxuXG4gIC8vIFNjcm9sbCB0aGlzIG9wdGlvbiBpbnRvIHZpZXcgd2hlbiBpdCBiZWNvbWVzIHRoZSBhY3RpdmUgZGVzY2VuZGFudC5cbiAgc2Nyb2xsSW50b0FjdGl2ZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgfVxuXG4gIGdldEl0ZW1DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gQmFzZSBzdGF0ZVxuICAgICAgJ2ZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcblxuICAgICAgLy8gQWN0aXZlLWRlc2NlbmRhbnQgKGtleWJvYXJkKSBoaWdobGlnaHRcbiAgICAgICdkYXRhLVtoaWdobGlnaHRlZF06YmctYWNjZW50IGRhdGEtW2hpZ2hsaWdodGVkXTp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcblxuICAgICAgLy8gSG92ZXIgc3RhdGVzIChvbmx5IGlmIG5vdCBkaXNhYmxlZClcbiAgICAgICF0aGlzLmRpc2FibGVkICYmIFtcbiAgICAgICAgJ2N1cnNvci1wb2ludGVyJyxcbiAgICAgICAgJ2hvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJ1xuICAgICAgXSxcblxuICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgIHRoaXMuc2VsZWN0ZWQgJiYgW1xuICAgICAgICB0aGlzLm11bHRpU2VsZWN0XG4gICAgICAgICAgPyAnYmctcHJpbWFyeS81IHRleHQtZm9yZWdyb3VuZCdcbiAgICAgICAgICA6ICdiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCdcbiAgICAgIF0sXG5cbiAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICB0aGlzLmRpc2FibGVkICYmIFtcbiAgICAgICAgJ29wYWNpdHktNTAnLFxuICAgICAgICAnY3Vyc29yLW5vdC1hbGxvd2VkJyxcbiAgICAgICAgJ2hvdmVyOmJnLXRyYW5zcGFyZW50IGhvdmVyOnRleHQtZm9yZWdyb3VuZCdcbiAgICAgIF1cbiAgICApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaGlkZGVuIHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLnNlbGVjdFNlcnZpY2UpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRMYWJlbCgpO1xuXG4gICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgICAvLyBGb3IgbXVsdGktc2VsZWN0LCB0b2dnbGUgc2VsZWN0aW9uXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICAgIH1cbiAgICAgIC8vIEZvciBib3RoIHNpbmdsZSBhbmQgbXVsdGktc2VsZWN0LCBub3RpZnkgcGFyZW50XG4gICAgICB0aGlzLnNlbGVjdFNlcnZpY2UucmVnaXN0ZXJDbGljayh0aGlzLnZhbHVlLCBsYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG59XG4iXX0=
@@ -6,7 +6,7 @@ export class SelectSeparatorComponent {
6
6
  cn = cn;
7
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
8
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SelectSeparatorComponent, isStandalone: true, selector: "tolle-select-separator", inputs: { class: "class" }, ngImport: i0, template: `
9
- <div [class]="cn('-mx-1 my-1 h-px bg-border', class)"></div>
9
+ <div role="separator" aria-hidden="true" [class]="cn('-mx-1 my-1 h-px bg-border', class)"></div>
10
10
  `, isInline: true });
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectSeparatorComponent, decorators: [{
@@ -15,10 +15,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
15
15
  selector: 'tolle-select-separator',
16
16
  standalone: true,
17
17
  template: `
18
- <div [class]="cn('-mx-1 my-1 h-px bg-border', class)"></div>
18
+ <div role="separator" aria-hidden="true" [class]="cn('-mx-1 my-1 h-px bg-border', class)"></div>
19
19
  `,
20
20
  }]
21
21
  }], propDecorators: { class: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlcGFyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL3NlbGVjdC1zZXBhcmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBU2hDLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNWLEVBQUUsR0FBRyxFQUFFLENBQUM7d0dBRlAsd0JBQXdCOzRGQUF4Qix3QkFBd0IsOEdBSnpCOztHQUVUOzs0RkFFVSx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7R0FFVDtpQkFDRjs4QkFFVSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1zZWxlY3Qtc2VwYXJhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjbignLW14LTEgbXktMSBoLXB4IGJnLWJvcmRlcicsIGNsYXNzKVwiPjwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTZXBhcmF0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlcGFyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL3NlbGVjdC1zZXBhcmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBU2hDLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNWLEVBQUUsR0FBRyxFQUFFLENBQUM7d0dBRlAsd0JBQXdCOzRGQUF4Qix3QkFBd0IsOEdBSnpCOztHQUVUOzs0RkFFVSx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7R0FFVDtpQkFDRjs4QkFFVSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1zZWxlY3Qtc2VwYXJhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IHJvbGU9XCJzZXBhcmF0b3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbY2xhc3NdPVwiY24oJy1teC0xIG15LTEgaC1weCBiZy1ib3JkZXInLCBjbGFzcylcIj48L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0U2VwYXJhdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgcHJvdGVjdGVkIGNuID0gY247XG59XG4iXX0=