@clr/angular 17.2.0 → 17.3.0

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 (122) hide show
  1. package/accordion/stepper/stepper-panel.d.ts +1 -1
  2. package/button/button-loading/loading-button.d.ts +2 -2
  3. package/clarity.api.md +86 -55
  4. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +1 -1
  5. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +1 -1
  6. package/data/datagrid/datagrid-detail-header.d.ts +4 -1
  7. package/data/datagrid/datagrid-detail.d.ts +5 -1
  8. package/data/datagrid/datagrid-filter.d.ts +5 -3
  9. package/data/datagrid/datagrid-if-detail.d.ts +9 -0
  10. package/data/datagrid/datagrid-pagination.d.ts +1 -1
  11. package/data/datagrid/datagrid-row.d.ts +5 -3
  12. package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +5 -2
  13. package/data/datagrid/datagrid.d.ts +8 -2
  14. package/data/datagrid/enums/column-changes.enum.d.ts +2 -1
  15. package/data/datagrid/providers/column-resizer.service.d.ts +1 -1
  16. package/data/datagrid/providers/columns.service.d.ts +1 -0
  17. package/data/datagrid/providers/detail.service.d.ts +3 -0
  18. package/data/datagrid/render/cell-renderer.d.ts +1 -1
  19. package/data/datagrid/render/header-renderer.d.ts +1 -1
  20. package/data/datagrid/render/main-renderer.d.ts +2 -2
  21. package/data/datagrid/render/row-renderer.d.ts +2 -1
  22. package/data/datagrid/utils/key-navigation-grid.controller.d.ts +1 -0
  23. package/esm2020/accordion/stepper/stepper-panel.mjs +4 -1
  24. package/esm2020/button/button-loading/loading-button.mjs +1 -1
  25. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +1 -1
  26. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +1 -1
  27. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +3 -1
  28. package/esm2020/data/datagrid/datagrid-column-separator.mjs +1 -1
  29. package/esm2020/data/datagrid/datagrid-detail-header.mjs +12 -6
  30. package/esm2020/data/datagrid/datagrid-detail.mjs +36 -8
  31. package/esm2020/data/datagrid/datagrid-filter.mjs +22 -13
  32. package/esm2020/data/datagrid/datagrid-if-detail.mjs +30 -7
  33. package/esm2020/data/datagrid/datagrid-pagination.mjs +2 -2
  34. package/esm2020/data/datagrid/datagrid-placeholder.mjs +5 -5
  35. package/esm2020/data/datagrid/datagrid-row.mjs +12 -4
  36. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +13 -5
  37. package/esm2020/data/datagrid/datagrid.mjs +43 -21
  38. package/esm2020/data/datagrid/enums/column-changes.enum.mjs +3 -2
  39. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +1 -1
  40. package/esm2020/data/datagrid/providers/columns.service.mjs +9 -3
  41. package/esm2020/data/datagrid/providers/detail.service.mjs +10 -5
  42. package/esm2020/data/datagrid/render/cell-renderer.mjs +1 -3
  43. package/esm2020/data/datagrid/render/header-renderer.mjs +1 -1
  44. package/esm2020/data/datagrid/render/main-renderer.mjs +29 -19
  45. package/esm2020/data/datagrid/render/row-renderer.mjs +6 -3
  46. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +7 -4
  47. package/esm2020/data/stack-view/stack-block.mjs +4 -2
  48. package/esm2020/data/tree-view/tree-node.mjs +2 -2
  49. package/esm2020/forms/checkbox/checkbox-container.mjs +9 -5
  50. package/esm2020/forms/checkbox/checkbox.mjs +1 -1
  51. package/esm2020/forms/combobox/combobox-container.mjs +1 -1
  52. package/esm2020/forms/combobox/combobox.mjs +1 -1
  53. package/esm2020/forms/combobox/option.mjs +5 -4
  54. package/esm2020/forms/combobox/options.mjs +1 -1
  55. package/esm2020/forms/common/abstract-container.mjs +5 -2
  56. package/esm2020/forms/datalist/datalist-input.mjs +1 -1
  57. package/esm2020/forms/datepicker/date-container.mjs +1 -1
  58. package/esm2020/forms/datepicker/date-input.mjs +1 -1
  59. package/esm2020/forms/datepicker/monthpicker.mjs +1 -1
  60. package/esm2020/forms/datepicker/yearpicker.mjs +1 -1
  61. package/esm2020/forms/password/password.mjs +1 -1
  62. package/esm2020/forms/radio/radio-container.mjs +9 -5
  63. package/esm2020/layout/nav/nav-level.mjs +16 -12
  64. package/esm2020/layout/tabs/tab-link.directive.mjs +1 -1
  65. package/esm2020/modal/modal.mjs +15 -5
  66. package/esm2020/modal/side-panel.mjs +4 -2
  67. package/esm2020/popover/common/abstract-popover.mjs +1 -1
  68. package/esm2020/popover/signpost/signpost-content.mjs +1 -1
  69. package/esm2020/popover/signpost/signpost-trigger.mjs +1 -1
  70. package/esm2020/popover/tooltip/tooltip-content.mjs +1 -1
  71. package/esm2020/timeline/timeline-step.mjs +3 -3
  72. package/esm2020/timeline/timeline.mjs +3 -3
  73. package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +1 -1
  74. package/esm2020/utils/cdk/cdk-drag.module.mjs +1 -1
  75. package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +1 -1
  76. package/esm2020/utils/conditional/if-expanded.directive.mjs +1 -1
  77. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +1 -1
  78. package/esm2020/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.mjs +1 -1
  79. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +1 -1
  80. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +1 -1
  81. package/esm2020/utils/i18n/common-strings.default.mjs +2 -2
  82. package/esm2020/utils/popover/popover-close-button.mjs +1 -1
  83. package/esm2020/utils/popover/providers/popover-events.service.mjs +1 -1
  84. package/esm2020/wizard/wizard-stepnav-item.mjs +13 -19
  85. package/esm2020/wizard/wizard.mjs +3 -3
  86. package/esm2020/wizard/wizard.module.mjs +3 -3
  87. package/fesm2015/clr-angular.mjs +482 -320
  88. package/fesm2015/clr-angular.mjs.map +1 -1
  89. package/fesm2020/clr-angular.mjs +473 -315
  90. package/fesm2020/clr-angular.mjs.map +1 -1
  91. package/forms/checkbox/checkbox.d.ts +1 -1
  92. package/forms/combobox/combobox-container.d.ts +1 -1
  93. package/forms/combobox/combobox.d.ts +4 -4
  94. package/forms/combobox/option.d.ts +3 -3
  95. package/forms/combobox/options.d.ts +1 -1
  96. package/forms/datalist/datalist-input.d.ts +1 -1
  97. package/forms/datepicker/date-input.d.ts +2 -2
  98. package/forms/datepicker/monthpicker.d.ts +1 -1
  99. package/forms/datepicker/yearpicker.d.ts +1 -1
  100. package/forms/password/password.d.ts +1 -1
  101. package/layout/nav/nav-level.d.ts +0 -1
  102. package/layout/tabs/tab-link.directive.d.ts +2 -2
  103. package/modal/modal.d.ts +3 -1
  104. package/modal/side-panel.d.ts +1 -1
  105. package/package.json +5 -5
  106. package/popover/common/abstract-popover.d.ts +1 -1
  107. package/popover/signpost/signpost-content.d.ts +1 -1
  108. package/popover/signpost/signpost-trigger.d.ts +1 -1
  109. package/popover/tooltip/tooltip-content.d.ts +1 -1
  110. package/src/utils/popover/README.md +1 -1
  111. package/timeline/timeline-step.d.ts +1 -1
  112. package/utils/animations/expandable-animation/expandable-animation.d.ts +1 -1
  113. package/utils/cdk/cdk-drag.module.d.ts +1 -1
  114. package/utils/cdk/cdk-trap-focus.module.d.ts +1 -1
  115. package/utils/conditional/if-expanded.directive.d.ts +1 -1
  116. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +1 -1
  117. package/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.d.ts +1 -1
  118. package/utils/focus/key-focus/key-focus-item.d.ts +2 -2
  119. package/utils/focus/key-focus/roving-tabindex.d.ts +1 -1
  120. package/utils/popover/popover-close-button.d.ts +1 -1
  121. package/utils/popover/providers/popover-events.service.d.ts +3 -3
  122. package/wizard/wizard.d.ts +1 -1
@@ -84,6 +84,7 @@ export class ClrDatagridActionOverflow {
84
84
  ClrDatagridActionOverflow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridActionOverflow, deps: [{ token: i1.RowActionService }, { token: i2.ClrCommonStringsService }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i3.ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Component });
85
85
  ClrDatagridActionOverflow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridActionOverflow, selector: "clr-dg-action-overflow", inputs: { buttonLabel: ["clrDgActionOverflowButtonLabel", "buttonLabel"], open: ["clrDgActionOverflowOpen", "open"] }, outputs: { openChange: "clrDgActionOverflowOpenChange" }, viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true }], hostDirectives: [{ directive: i4.ClrPopoverHostDirective }], ngImport: i0, template: `
86
86
  <button
87
+ tabindex="-1"
87
88
  class="datagrid-action-toggle"
88
89
  type="button"
89
90
  role="button"
@@ -118,6 +119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
118
119
  hostDirectives: [ClrPopoverHostDirective],
119
120
  template: `
120
121
  <button
122
+ tabindex="-1"
121
123
  class="datagrid-action-toggle"
122
124
  type="button"
123
125
  role="button"
@@ -162,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
162
164
  type: Input,
163
165
  args: ['clrDgActionOverflowOpen']
164
166
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7OztBQUlyRixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFtQ3RCLE1BQU0sT0FBTyx5QkFBeUI7SUFtQnBDLFlBQ1UsZ0JBQWtDLEVBQ25DLGFBQXNDLEVBQ2hCLFVBQWUsRUFDcEMsSUFBWSxFQUNaLGtCQUEyQztRQUozQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBckJaLGVBQVUsR0FBRyxJQUFJLFlBQVks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dUJJLE1BQU07MkJBQUMsV0FBVzt1R0FyQm9CLFdBQVc7c0JBQW5ELEtBQUs7dUJBQUMsZ0NBQWdDO2dCQUVFLFVBQVU7c0JBQWxELE1BQU07dUJBQUMsK0JBQStCO2dCQVdFLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsV0FBVztnQkEyQmxCLElBQUk7c0JBRFAsS0FBSzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbHJLZXlGb2N1cyB9IGZyb20gJy4uLy4uL3V0aWxzL2ZvY3VzL2tleS1mb2N1cyc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9lbnVtcy9hbGlnbm1lbnQuZW51bSc7XG5pbXBvcnQgeyBDbHJBeGlzIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9lbnVtcy9heGlzLmVudW0nO1xuaW1wb3J0IHsgQ2xyU2lkZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvZW51bXMvc2lkZS5lbnVtJztcbmltcG9ydCB7IENsclBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvaW50ZXJmYWNlcy9wb3BvdmVyLXBvc2l0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVySG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvcG9wb3Zlci1ob3N0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyVG9nZ2xlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvcHJvdmlkZXJzL3BvcG92ZXItdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm93QWN0aW9uU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3Jvdy1hY3Rpb24tc2VydmljZSc7XG5cbmxldCBjbHJEZ0FjdGlvbklkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWRnLWFjdGlvbi1vdmVyZmxvdycsXG4gIGhvc3REaXJlY3RpdmVzOiBbQ2xyUG9wb3Zlckhvc3REaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiZGF0YWdyaWQtYWN0aW9uLXRvZ2dsZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgI2FuY2hvclxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwb3BvdmVySWRcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uTGFiZWwgfHwgY29tbW9uU3RyaW5ncy5rZXlzLnJvd0FjdGlvbnNcIlxuICAgICAgY2xyUG9wb3ZlckFuY2hvclxuICAgICAgY2xyUG9wb3Zlck9wZW5DbG9zZUJ1dHRvblxuICAgID5cbiAgICAgIDxjZHMtaWNvbiBzaGFwZT1cImVsbGlwc2lzLXZlcnRpY2FsXCIgW2F0dHIudGl0bGVdPVwiYnV0dG9uTGFiZWwgfHwgY29tbW9uU3RyaW5ncy5rZXlzLnJvd0FjdGlvbnNcIj48L2Nkcy1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3dcIlxuICAgICAgW2lkXT1cInBvcG92ZXJJZFwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhb3BlblwiXG4gICAgICBbYXR0ci5pZF09XCJwb3BvdmVySWRcIlxuICAgICAgY2xyS2V5Rm9jdXNcbiAgICAgIGNka1RyYXBGb2N1c1xuICAgICAgKGNsaWNrKT1cImNsb3NlT3ZlcmZsb3dDb250ZW50KCRldmVudClcIlxuICAgICAgKmNsclBvcG92ZXJDb250ZW50PVwib3BlbjsgYXQ6IHNtYXJ0UG9zaXRpb247IG91dHNpZGVDbGlja1RvQ2xvc2U6IHRydWU7IHNjcm9sbFRvQ2xvc2U6IHRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0YWdyaWRBY3Rpb25PdmVyZmxvdyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyRGdBY3Rpb25PdmVyZmxvd0J1dHRvbkxhYmVsJykgYnV0dG9uTGFiZWw6IHN0cmluZztcblxuICBAT3V0cHV0KCdjbHJEZ0FjdGlvbk92ZXJmbG93T3BlbkNoYW5nZScpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBwb3BvdmVySWQgPSB1bmlxdWVJZEZhY3RvcnkoKTtcblxuICBzbWFydFBvc2l0aW9uOiBDbHJQb3BvdmVyUG9zaXRpb24gPSB7XG4gICAgYXhpczogQ2xyQXhpcy5IT1JJWk9OVEFMLFxuICAgIHNpZGU6IENsclNpZGUuQUZURVIsXG4gICAgYW5jaG9yOiBDbHJBbGlnbm1lbnQuQ0VOVEVSLFxuICAgIGNvbnRlbnQ6IENsckFsaWdubWVudC5DRU5URVIsXG4gIH07XG5cbiAgQFZpZXdDaGlsZChDbHJLZXlGb2N1cykgcHJpdmF0ZSByZWFkb25seSBrZXlGb2N1czogQ2xyS2V5Rm9jdXM7XG5cbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3dBY3Rpb25TZXJ2aWNlOiBSb3dBY3Rpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHNtYXJ0VG9nZ2xlU2VydmljZTogQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yb3dBY3Rpb25TZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnNtYXJ0VG9nZ2xlU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZShvcGVuU3RhdGUgPT4ge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuU3RhdGU7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuc21hcnRUb2dnbGVTZXJ2aWNlLnBvcG92ZXJWaXNpYmxlLnN1YnNjcmliZSh2aXNpYmxlID0+IHtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICB0aGlzLmluaXRpYWxpemVGb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5wb3BvdmVySWQgPSAnY2xyLWFjdGlvbi1tZW51JyArIGNsckRnQWN0aW9uSWQrKztcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRGdBY3Rpb25PdmVyZmxvd09wZW4nKVxuICBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuICBzZXQgb3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgY29uc3Qgb3BlblN0YXRlID0gISFvcGVuO1xuICAgIGlmICghIW9wZW5TdGF0ZSAhPT0gdGhpcy5vcGVuKSB7XG4gICAgICAvLyBwcmV2ZW50cyBjaG9jb2xhdGUgbWVzc1xuICAgICAgdGhpcy5zbWFydFRvZ2dsZVNlcnZpY2Uub3BlbiA9IG9wZW5TdGF0ZTtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW5TdGF0ZSk7XG4gICAgICB0aGlzLl9vcGVuID0gb3BlblN0YXRlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucm93QWN0aW9uU2VydmljZS51bnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGNsb3NlT3ZlcmZsb3dDb250ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc21hcnRUb2dnbGVTZXJ2aWNlLnRvZ2dsZVdpdGhFdmVudChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVGb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgY29uc3QgYnV0dG9ucyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MQnV0dG9uRWxlbWVudD4oJ2J1dHRvbi5hY3Rpb24taXRlbScpKTtcblxuICAgICAgaWYgKGJ1dHRvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMua2V5Rm9jdXMuY3VycmVudCA9IDA7XG4gICAgICAgIHRoaXMua2V5Rm9jdXMuZm9jdXNhYmxlSXRlbXMgPSBidXR0b25zO1xuXG4gICAgICAgIHRoaXMua2V5Rm9jdXMuZm9jdXNDdXJyZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7OztBQUlyRixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFvQ3RCLE1BQU0sT0FBTyx5QkFBeUI7SUFtQnBDLFlBQ1UsZ0JBQWtDLEVBQ25DLGFBQXNDLEVBQ2hCLFVBQWUsRUFDcEMsSUFBWSxFQUNaLGtCQUEyQztRQUozQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBckJaLGVBQVUsR0FBRyxJQUFJLFlBQVks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QkF1QkksTUFBTTsyQkFBQyxXQUFXO3VHQXJCb0IsV0FBVztzQkFBbkQsS0FBSzt1QkFBQyxnQ0FBZ0M7Z0JBRUUsVUFBVTtzQkFBbEQsTUFBTTt1QkFBQywrQkFBK0I7Z0JBV0UsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxXQUFXO2dCQTJCbEIsSUFBSTtzQkFEUCxLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENscktleUZvY3VzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9jdXMva2V5LWZvY3VzJztcbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IHVuaXF1ZUlkRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL2lkLWdlbmVyYXRvci9pZC1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJBbGlnbm1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2VudW1zL2FsaWdubWVudC5lbnVtJztcbmltcG9ydCB7IENsckF4aXMgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2VudW1zL2F4aXMuZW51bSc7XG5pbXBvcnQgeyBDbHJTaWRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9lbnVtcy9zaWRlLmVudW0nO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9pbnRlcmZhY2VzL3BvcG92ZXItcG9zaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9wb3BvdmVyLWhvc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlci9wcm92aWRlcnMvcG9wb3Zlci10b2dnbGUuc2VydmljZSc7XG5pbXBvcnQgeyBSb3dBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvcm93LWFjdGlvbi1zZXJ2aWNlJztcblxubGV0IGNsckRnQWN0aW9uSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZGctYWN0aW9uLW92ZXJmbG93JyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDbHJQb3BvdmVySG9zdERpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBjbGFzcz1cImRhdGFncmlkLWFjdGlvbi10b2dnbGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICNhbmNob3JcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwicG9wb3ZlcklkXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkxhYmVsIHx8IGNvbW1vblN0cmluZ3Mua2V5cy5yb3dBY3Rpb25zXCJcbiAgICAgIGNsclBvcG92ZXJBbmNob3JcbiAgICAgIGNsclBvcG92ZXJPcGVuQ2xvc2VCdXR0b25cbiAgICA+XG4gICAgICA8Y2RzLWljb24gc2hhcGU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiIFthdHRyLnRpdGxlXT1cImJ1dHRvbkxhYmVsIHx8IGNvbW1vblN0cmluZ3Mua2V5cy5yb3dBY3Rpb25zXCI+PC9jZHMtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93XCJcbiAgICAgIFtpZF09XCJwb3BvdmVySWRcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIW9wZW5cIlxuICAgICAgW2F0dHIuaWRdPVwicG9wb3ZlcklkXCJcbiAgICAgIGNscktleUZvY3VzXG4gICAgICBjZGtUcmFwRm9jdXNcbiAgICAgIChjbGljayk9XCJjbG9zZU92ZXJmbG93Q29udGVudCgkZXZlbnQpXCJcbiAgICAgICpjbHJQb3BvdmVyQ29udGVudD1cIm9wZW47IGF0OiBzbWFydFBvc2l0aW9uOyBvdXRzaWRlQ2xpY2tUb0Nsb3NlOiB0cnVlOyBzY3JvbGxUb0Nsb3NlOiB0cnVlXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGFncmlkQWN0aW9uT3ZlcmZsb3cgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsckRnQWN0aW9uT3ZlcmZsb3dCdXR0b25MYWJlbCcpIGJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgnY2xyRGdBY3Rpb25PdmVyZmxvd09wZW5DaGFuZ2UnKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgcG9wb3ZlcklkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG5cbiAgc21hcnRQb3NpdGlvbjogQ2xyUG9wb3ZlclBvc2l0aW9uID0ge1xuICAgIGF4aXM6IENsckF4aXMuSE9SSVpPTlRBTCxcbiAgICBzaWRlOiBDbHJTaWRlLkFGVEVSLFxuICAgIGFuY2hvcjogQ2xyQWxpZ25tZW50LkNFTlRFUixcbiAgICBjb250ZW50OiBDbHJBbGlnbm1lbnQuQ0VOVEVSLFxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoQ2xyS2V5Rm9jdXMpIHByaXZhdGUgcmVhZG9ubHkga2V5Rm9jdXM6IENscktleUZvY3VzO1xuXG4gIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm93QWN0aW9uU2VydmljZTogUm93QWN0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBzbWFydFRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucm93QWN0aW9uU2VydmljZS5yZWdpc3RlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5zbWFydFRvZ2dsZVNlcnZpY2Uub3BlbkNoYW5nZS5zdWJzY3JpYmUob3BlblN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlblN0YXRlO1xuICAgICAgfSksXG4gICAgICB0aGlzLnNtYXJ0VG9nZ2xlU2VydmljZS5wb3BvdmVyVmlzaWJsZS5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplRm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMucG9wb3ZlcklkID0gJ2Nsci1hY3Rpb24tbWVudScgKyBjbHJEZ0FjdGlvbklkKys7XG4gIH1cblxuICBASW5wdXQoJ2NsckRnQWN0aW9uT3ZlcmZsb3dPcGVuJylcbiAgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cbiAgc2V0IG9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgIGNvbnN0IG9wZW5TdGF0ZSA9ICEhb3BlbjtcbiAgICBpZiAoISFvcGVuU3RhdGUgIT09IHRoaXMub3Blbikge1xuICAgICAgLy8gcHJldmVudHMgY2hvY29sYXRlIG1lc3NcbiAgICAgIHRoaXMuc21hcnRUb2dnbGVTZXJ2aWNlLm9wZW4gPSBvcGVuU3RhdGU7XG4gICAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChvcGVuU3RhdGUpO1xuICAgICAgdGhpcy5fb3BlbiA9IG9wZW5TdGF0ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJvd0FjdGlvblNlcnZpY2UudW5yZWdpc3RlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBjbG9zZU92ZXJmbG93Q29udGVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNtYXJ0VG9nZ2xlU2VydmljZS50b2dnbGVXaXRoRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IGJ1dHRvbnMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEJ1dHRvbkVsZW1lbnQ+KCdidXR0b24uYWN0aW9uLWl0ZW0nKSk7XG5cbiAgICAgIGlmIChidXR0b25zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSAwO1xuICAgICAgICB0aGlzLmtleUZvY3VzLmZvY3VzYWJsZUl0ZW1zID0gYnV0dG9ucztcblxuICAgICAgICB0aGlzLmtleUZvY3VzLmZvY3VzQ3VycmVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -168,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
168
168
  type: ViewChild,
169
169
  args: ['columnHandle']
170
170
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFNBQVMsRUFBYyxNQUFNLEVBQWdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7O0FBSWhGLG9EQUFvRDtBQUNwRCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQTBCbEMsTUFBTSxPQUFPLDBCQUEwQjtJQVVyQyxZQUNVLG9CQUEwQyxFQUMxQyxRQUFtQixFQUNuQixNQUFjLEVBQ2QsZ0JBQWtDLEVBQ25DLFlBQXFDLEVBQ2xCLFFBQWE7UUFML0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZnpDLHNCQUFpQixHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRTlCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUUvQixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFZdEMsQ0FBQztJQUVKLElBQUksYUFBYTtRQUNmLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLG1C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O3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uL3V0aWxzL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBub3JtYWxpemVLZXkgfSBmcm9tICcuLi8uLi91dGlscy9mb2N1cy9rZXktZm9jdXMvdXRpbCc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplclNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9jb2x1bW4tcmVzaXplci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlU2l6ZVNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy90YWJsZS1zaXplLnNlcnZpY2UnO1xuXG4vLyBEZWZhdWx0IHJlc2l6ZSBsZW5ndGggb24gZWFjaCBrZXlib2FyZCBtb3ZlIGV2ZW50XG5jb25zdCBLRVlCT0FSRF9SRVNJWkVfTEVOR1RIID0gMTI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1jb2x1bW4tc2VwYXJhdG9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiZGF0YWdyaWQtY29sdW1uLWhhbmRsZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZy5rZXlzLmNvbHVtblNlcGFyYXRvckFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaXB0aW9uSWRcIlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieFwiXG4gICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic2hvd1RyYWNrZXIoKVwiXG4gICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVUcmFja2VyKCRldmVudC5kaXN0YW5jZS54KVwiXG4gICAgICAoY2RrRHJhZ0VuZGVkKT1cImhpZGVUcmFja2VyKCk7ICRldmVudC5zb3VyY2UuX2RyYWdSZWYucmVzZXQoKVwiXG4gICAgICAjY29sdW1uSGFuZGxlXG4gICAgPjwvYnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwiY2xyLXNyLW9ubHlcIiBbYXR0ci5pZF09XCJkZXNjcmlwdGlvbklkXCI+XG4gICAgICB7eyBjb21tb25TdHJpbmcua2V5cy5jb2x1bW5TZXBhcmF0b3JEZXNjcmlwdGlvbiB9fVxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0YWdyaWQtY29sdW1uLXJlc2l6ZS10cmFja2VyXCIgI3Jlc2l6ZVRyYWNrZXI+PC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRhdGFncmlkLWNvbHVtbi1zZXBhcmF0b3JdJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZENvbHVtblNlcGFyYXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIGNvbHVtblNlcGFyYXRvcklkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG5cbiAgcHJpdmF0ZSByZXNpemVTdGFydGVkT25LZXlEb3duID0gZmFsc2U7XG4gIHByaXZhdGUgaXNXaXRoaW5NYXhSZXNpemVSYW5nZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSB1bmxpc3RlbmVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdyZXNpemVUcmFja2VyJykgcHJpdmF0ZSByZXNpemVUcmFja2VyUmVmOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjb2x1bW5IYW5kbGUnKSBwcml2YXRlIGNvbHVtbkhhbmRsZVJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbHVtblJlc2l6ZXJTZXJ2aWNlOiBDb2x1bW5SZXNpemVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHRhYmxlU2l6ZVNlcnZpY2U6IFRhYmxlU2l6ZVNlcnZpY2UsXG4gICAgcHVibGljIGNvbW1vblN0cmluZzogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XG4gICkge31cblxuICBnZXQgZGVzY3JpcHRpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbHVtblNlcGFyYXRvcklkfS1hcmlhLWRlc2NyaWJlZGJ5YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHJlc2l6ZVRyYWNrZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNpemVUcmFja2VyUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBjb2x1bW5IYW5kbGVFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5IYW5kbGVSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnVubGlzdGVuZXJzLnB1c2goXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuY29sdW1uSGFuZGxlRWwsICdrZXlkb3duJywgZXZlbnQgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd1RyYWNrZXJPbkZpcnN0S2V5RG93bihldmVudCk7XG4gICAgICAgICAgdGhpcy5tb3ZlVHJhY2tlck9uS2V5RG93bihldmVudCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy51bmxpc3RlbmVycy5wdXNoKFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmNvbHVtbkhhbmRsZUVsLCAna2V5dXAnLCBldmVudCA9PiB7XG4gICAgICAgICAgdGhpcy5oaWRlVHJhY2tlck9uS2V5VXAoZXZlbnQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5saXN0ZW5lcnMuZm9yRWFjaCh1bmxpc3RlbmVyID0+IHVubGlzdGVuZXIoKSk7XG4gIH1cblxuICBzaG93VHJhY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZXJTZXJ2aWNlLnN0YXJ0UmVzaXplKCk7XG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB0aGlzLnRhYmxlU2l6ZVNlcnZpY2UuZ2V0Q29sdW1uRHJhZ0hlaWdodCgpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yZXNpemVUcmFja2VyRWwsICdoZWlnaHQnLCB0YWJsZUhlaWdodCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJlc2l6ZVRyYWNrZXJFbCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgfVxuXG4gIG1vdmVUcmFja2VyKG1vdmVkQnk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UuY2FsY3VsYXRlUmVzaXplKG1vdmVkQnkpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yZXNpemVUcmFja2VyRWwsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgke3RoaXMuY29sdW1uUmVzaXplclNlcnZpY2UucmVzaXplZEJ5fXB4KWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnY3Vyc29yJywgJ2NvbC1yZXNpemUnKTtcbiAgICB0aGlzLnJlZEZsYWdUcmFja2VyKCk7XG4gIH1cblxuICBoaWRlVHJhY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZXJTZXJ2aWNlLmVuZFJlc2l6ZSgpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yZXNpemVUcmFja2VyRWwsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMucmVzaXplVHJhY2tlckVsLCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoMHB4KWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2x1bW5IYW5kbGVFbCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKDBweClgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2N1cnNvcicsICdhdXRvJyk7XG4gIH1cblxuICBwcml2YXRlIHNob3dUcmFja2VyT25GaXJzdEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVzaXplU3RhcnRlZE9uS2V5RG93biAmJiAodGhpcy5pc0Fycm93TGVmdEtleUV2ZW50KGV2ZW50KSB8fCB0aGlzLmlzQXJyb3dSaWdodEtleUV2ZW50KGV2ZW50KSkpIHtcbiAgICAgIHRoaXMucmVzaXplU3RhcnRlZE9uS2V5RG93biA9IHRydWU7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMucmVzaXplVHJhY2tlckVsLCAnb24tYXJyb3cta2V5LXJlc2l6ZScpO1xuICAgICAgdGhpcy5zaG93VHJhY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW92ZVRyYWNrZXJPbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Fycm93TGVmdEtleUV2ZW50KGV2ZW50KSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVUcmFja2VyKHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UucmVzaXplZEJ5IC0gS0VZQk9BUkRfUkVTSVpFX0xFTkdUSCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQXJyb3dSaWdodEtleUV2ZW50KGV2ZW50KSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVUcmFja2VyKHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UucmVzaXplZEJ5ICsgS0VZQk9BUkRfUkVTSVpFX0xFTkdUSCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoaWRlVHJhY2tlck9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNpemVTdGFydGVkT25LZXlEb3duICYmICh0aGlzLmlzQXJyb3dMZWZ0S2V5RXZlbnQoZXZlbnQpIHx8IHRoaXMuaXNBcnJvd1JpZ2h0S2V5RXZlbnQoZXZlbnQpKSkge1xuICAgICAgdGhpcy5yZXNpemVTdGFydGVkT25LZXlEb3duID0gZmFsc2U7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMucmVzaXplVHJhY2tlckVsLCAnb24tYXJyb3cta2V5LXJlc2l6ZScpO1xuICAgICAgdGhpcy5oaWRlVHJhY2tlcigpO1xuICAgICAgdGhpcy5jb2x1bW5IYW5kbGVFbC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVkRmxhZ1RyYWNrZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNXaXRoaW5NYXhSZXNpemVSYW5nZSAhPT0gdGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5pc1dpdGhpbk1heFJlc2l6ZVJhbmdlKSB7XG4gICAgICB0aGlzLmlzV2l0aGluTWF4UmVzaXplUmFuZ2UgPSB0aGlzLmNvbHVtblJlc2l6ZXJTZXJ2aWNlLmlzV2l0aGluTWF4UmVzaXplUmFuZ2U7XG4gICAgICBpZiAoIXRoaXMuaXNXaXRoaW5NYXhSZXNpemVSYW5nZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMucmVzaXplVHJhY2tlckVsLCAnZXhjZWVkZWQtbWF4Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMucmVzaXplVHJhY2tlckVsLCAnZXhjZWVkZWQtbWF4Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Fycm93TGVmdEtleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUtleShldmVudC5rZXkpID09PSBLZXlzLkFycm93TGVmdDtcbiAgfVxuXG4gIHByaXZhdGUgaXNBcnJvd1JpZ2h0S2V5RXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICByZXR1cm4gbm9ybWFsaXplS2V5KGV2ZW50LmtleSkgPT09IEtleXMuQXJyb3dSaWdodDtcbiAgfVxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFNBQVMsRUFBYyxNQUFNLEVBQWdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7O0FBSWhGLG9EQUFvRDtBQUNwRCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQTBCbEMsTUFBTSxPQUFPLDBCQUEwQjtJQVVyQyxZQUNVLG9CQUEwQyxFQUMxQyxRQUFtQixFQUNuQixNQUFjLEVBQ2QsZ0JBQWtDLEVBQ25DLFlBQXFDLEVBQ2xCLFFBQWE7UUFML0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZnpDLHNCQUFpQixHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRTlCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUUvQixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFZdEMsQ0FBQztJQUVKLElBQUksYUFBYTtRQUNmLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLG1C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O3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uL3V0aWxzL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBub3JtYWxpemVLZXkgfSBmcm9tICcuLi8uLi91dGlscy9mb2N1cy9rZXktZm9jdXMvdXRpbCc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplclNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9jb2x1bW4tcmVzaXplci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlU2l6ZVNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy90YWJsZS1zaXplLnNlcnZpY2UnO1xuXG4vLyBEZWZhdWx0IHJlc2l6ZSBsZW5ndGggb24gZWFjaCBrZXlib2FyZCBtb3ZlIGV2ZW50XG5jb25zdCBLRVlCT0FSRF9SRVNJWkVfTEVOR1RIID0gMTI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1jb2x1bW4tc2VwYXJhdG9yJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiZGF0YWdyaWQtY29sdW1uLWhhbmRsZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZy5rZXlzLmNvbHVtblNlcGFyYXRvckFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaXB0aW9uSWRcIlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieFwiXG4gICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic2hvd1RyYWNrZXIoKVwiXG4gICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVUcmFja2VyKCRldmVudC5kaXN0YW5jZS54KVwiXG4gICAgICAoY2RrRHJhZ0VuZGVkKT1cImhpZGVUcmFja2VyKCk7ICRldmVudC5zb3VyY2UuX2RyYWdSZWYucmVzZXQoKVwiXG4gICAgICAjY29sdW1uSGFuZGxlXG4gICAgPjwvYnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwiY2xyLXNyLW9ubHlcIiBbYXR0ci5pZF09XCJkZXNjcmlwdGlvbklkXCI+XG4gICAgICB7eyBjb21tb25TdHJpbmcua2V5cy5jb2x1bW5TZXBhcmF0b3JEZXNjcmlwdGlvbiB9fVxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0YWdyaWQtY29sdW1uLXJlc2l6ZS10cmFja2VyXCIgI3Jlc2l6ZVRyYWNrZXI+PC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRhdGFncmlkLWNvbHVtbi1zZXBhcmF0b3JdJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZENvbHVtblNlcGFyYXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIGNvbHVtblNlcGFyYXRvcklkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG5cbiAgcHJpdmF0ZSByZXNpemVTdGFydGVkT25LZXlEb3duID0gZmFsc2U7XG4gIHByaXZhdGUgaXNXaXRoaW5NYXhSZXNpemVSYW5nZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSB1bmxpc3RlbmVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdyZXNpemVUcmFja2VyJykgcHJpdmF0ZSByZXNpemVUcmFja2VyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29sdW1uSGFuZGxlJykgcHJpdmF0ZSBjb2x1bW5IYW5kbGVSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29sdW1uUmVzaXplclNlcnZpY2U6IENvbHVtblJlc2l6ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgdGFibGVTaXplU2VydmljZTogVGFibGVTaXplU2VydmljZSxcbiAgICBwdWJsaWMgY29tbW9uU3RyaW5nOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcbiAgKSB7fVxuXG4gIGdldCBkZXNjcmlwdGlvbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29sdW1uU2VwYXJhdG9ySWR9LWFyaWEtZGVzY3JpYmVkYnlgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcmVzaXplVHJhY2tlckVsKCkge1xuICAgIHJldHVybiB0aGlzLnJlc2l6ZVRyYWNrZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbHVtbkhhbmRsZUVsKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkhhbmRsZVJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMudW5saXN0ZW5lcnMucHVzaChcbiAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5jb2x1bW5IYW5kbGVFbCwgJ2tleWRvd24nLCBldmVudCA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93VHJhY2tlck9uRmlyc3RLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICB0aGlzLm1vdmVUcmFja2VyT25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnVubGlzdGVuZXJzLnB1c2goXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuY29sdW1uSGFuZGxlRWwsICdrZXl1cCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGVUcmFja2VyT25LZXlVcChldmVudCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bmxpc3RlbmVycy5mb3JFYWNoKHVubGlzdGVuZXIgPT4gdW5saXN0ZW5lcigpKTtcbiAgfVxuXG4gIHNob3dUcmFja2VyKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2Uuc3RhcnRSZXNpemUoKTtcbiAgICBjb25zdCB0YWJsZUhlaWdodCA9IHRoaXMudGFibGVTaXplU2VydmljZS5nZXRDb2x1bW5EcmFnSGVpZ2h0KCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJlc2l6ZVRyYWNrZXJFbCwgJ2hlaWdodCcsIHRhYmxlSGVpZ2h0KTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMucmVzaXplVHJhY2tlckVsLCAnZGlzcGxheScsICdibG9jaycpO1xuICB9XG5cbiAgbW92ZVRyYWNrZXIobW92ZWRCeTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5jYWxjdWxhdGVSZXNpemUobW92ZWRCeSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJlc2l6ZVRyYWNrZXJFbCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKCR7dGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5yZXNpemVkQnl9cHgpYCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdjdXJzb3InLCAnY29sLXJlc2l6ZScpO1xuICAgIHRoaXMucmVkRmxhZ1RyYWNrZXIoKTtcbiAgfVxuXG4gIGhpZGVUcmFja2VyKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UuZW5kUmVzaXplKCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJlc2l6ZVRyYWNrZXJFbCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yZXNpemVUcmFja2VyRWwsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgwcHgpYCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbHVtbkhhbmRsZUVsLCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoMHB4KWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnY3Vyc29yJywgJ2F1dG8nKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1RyYWNrZXJPbkZpcnN0S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXNpemVTdGFydGVkT25LZXlEb3duICYmICh0aGlzLmlzQXJyb3dMZWZ0S2V5RXZlbnQoZXZlbnQpIHx8IHRoaXMuaXNBcnJvd1JpZ2h0S2V5RXZlbnQoZXZlbnQpKSkge1xuICAgICAgdGhpcy5yZXNpemVTdGFydGVkT25LZXlEb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5yZXNpemVUcmFja2VyRWwsICdvbi1hcnJvdy1rZXktcmVzaXplJyk7XG4gICAgICB0aGlzLnNob3dUcmFja2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlVHJhY2tlck9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXJyb3dMZWZ0S2V5RXZlbnQoZXZlbnQpKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMubW92ZVRyYWNrZXIodGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5yZXNpemVkQnkgLSBLRVlCT0FSRF9SRVNJWkVfTEVOR1RIKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNBcnJvd1JpZ2h0S2V5RXZlbnQoZXZlbnQpKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMubW92ZVRyYWNrZXIodGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5yZXNpemVkQnkgKyBLRVlCT0FSRF9SRVNJWkVfTEVOR1RIKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVUcmFja2VyT25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc2l6ZVN0YXJ0ZWRPbktleURvd24gJiYgKHRoaXMuaXNBcnJvd0xlZnRLZXlFdmVudChldmVudCkgfHwgdGhpcy5pc0Fycm93UmlnaHRLZXlFdmVudChldmVudCkpKSB7XG4gICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWRPbktleURvd24gPSBmYWxzZTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5yZXNpemVUcmFja2VyRWwsICdvbi1hcnJvdy1rZXktcmVzaXplJyk7XG4gICAgICB0aGlzLmhpZGVUcmFja2VyKCk7XG4gICAgICB0aGlzLmNvbHVtbkhhbmRsZUVsLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWRGbGFnVHJhY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1dpdGhpbk1heFJlc2l6ZVJhbmdlICE9PSB0aGlzLmNvbHVtblJlc2l6ZXJTZXJ2aWNlLmlzV2l0aGluTWF4UmVzaXplUmFuZ2UpIHtcbiAgICAgIHRoaXMuaXNXaXRoaW5NYXhSZXNpemVSYW5nZSA9IHRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UuaXNXaXRoaW5NYXhSZXNpemVSYW5nZTtcbiAgICAgIGlmICghdGhpcy5pc1dpdGhpbk1heFJlc2l6ZVJhbmdlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5yZXNpemVUcmFja2VyRWwsICdleGNlZWRlZC1tYXgnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5yZXNpemVUcmFja2VyRWwsICdleGNlZWRlZC1tYXgnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQXJyb3dMZWZ0S2V5RXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICByZXR1cm4gbm9ybWFsaXplS2V5KGV2ZW50LmtleSkgPT09IEtleXMuQXJyb3dMZWZ0O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Fycm93UmlnaHRLZXlFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHJldHVybiBub3JtYWxpemVLZXkoZXZlbnQua2V5KSA9PT0gS2V5cy5BcnJvd1JpZ2h0O1xuICB9XG59XG4iXX0=
@@ -4,7 +4,7 @@
4
4
  * This software is released under MIT license.
5
5
  * The full license information can be found in LICENSE in the root directory of this project.
6
6
  */
7
- import { Component } from '@angular/core';
7
+ import { Component, ViewChild } from '@angular/core';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "./providers/detail.service";
10
10
  import * as i2 from "../../utils/i18n/common-strings.service";
@@ -17,10 +17,13 @@ export class ClrDatagridDetailHeader {
17
17
  get titleId() {
18
18
  return `${this.detailService.id}-title`;
19
19
  }
20
+ ngAfterViewInit() {
21
+ this.title.nativeElement.focus();
22
+ }
20
23
  }
21
24
  ClrDatagridDetailHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridDetailHeader, deps: [{ token: i1.DetailService }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
22
- ClrDatagridDetailHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridDetailHeader, selector: "clr-dg-detail-header", host: { properties: { "class.datagrid-detail-header": "true" } }, ngImport: i0, template: `
23
- <div class="datagrid-detail-header-title" cdkFocusInitial tabindex="-1" [id]="titleId">
25
+ ClrDatagridDetailHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridDetailHeader, selector: "clr-dg-detail-header", host: { properties: { "class.datagrid-detail-header": "true" } }, viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true }], ngImport: i0, template: `
26
+ <div #title class="datagrid-detail-header-title" tabindex="-1" [id]="titleId">
24
27
  <ng-content></ng-content>
25
28
  </div>
26
29
  <div class="datagrid-detail-pane-close">
@@ -42,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
42
45
  '[class.datagrid-detail-header]': 'true',
43
46
  },
44
47
  template: `
45
- <div class="datagrid-detail-header-title" cdkFocusInitial tabindex="-1" [id]="titleId">
48
+ <div #title class="datagrid-detail-header-title" tabindex="-1" [id]="titleId">
46
49
  <ng-content></ng-content>
47
50
  </div>
48
51
  <div class="datagrid-detail-pane-close">
@@ -57,5 +60,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
57
60
  </div>
58
61
  `,
59
62
  }]
60
- }], ctorParameters: function () { return [{ type: i1.DetailService }, { type: i2.ClrCommonStringsService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZGV0YWlsLWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvZGF0YWdyaWQtZGV0YWlsLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBMEIxQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW1CLGFBQTRCLEVBQVMsYUFBc0M7UUFBM0Usa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7SUFBRyxDQUFDO0lBRWxHLElBQUksT0FBTztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQzFDLENBQUM7O29IQUxVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhIQWhCeEI7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7MkZBRVUsdUJBQXVCO2tCQXJCbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0osZ0NBQWdDLEVBQUUsTUFBTTtxQkFDekM7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RldGFpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWRnLWRldGFpbC1oZWFkZXInLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kYXRhZ3JpZC1kZXRhaWwtaGVhZGVyXSc6ICd0cnVlJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGF0YWdyaWQtZGV0YWlsLWhlYWRlci10aXRsZVwiIGNka0ZvY3VzSW5pdGlhbCB0YWJpbmRleD1cIi0xXCIgW2lkXT1cInRpdGxlSWRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0YWdyaWQtZGV0YWlsLXBhbmUtY2xvc2VcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cImRldGFpbFNlcnZpY2UuY2xvc2UoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwidGltZXNcIj48L2Nkcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGFncmlkRGV0YWlsSGVhZGVyIHtcbiAgY29uc3RydWN0b3IocHVibGljIGRldGFpbFNlcnZpY2U6IERldGFpbFNlcnZpY2UsIHB1YmxpYyBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSkge31cblxuICBnZXQgdGl0bGVJZCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5kZXRhaWxTZXJ2aWNlLmlkfS10aXRsZWA7XG4gIH1cbn1cbiJdfQ==
63
+ }], ctorParameters: function () { return [{ type: i1.DetailService }, { type: i2.ClrCommonStringsService }]; }, propDecorators: { title: [{
64
+ type: ViewChild,
65
+ args: ['title']
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZGV0YWlsLWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvZGF0YWdyaWQtZGV0YWlsLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBaUIsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUEwQmhGLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsYUFBNEIsRUFBUyxhQUFzQztRQUEzRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtJQUFHLENBQUM7SUFFbEcsSUFBSSxPQUFPO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztvSEFYVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4TkFoQnhCOzs7Ozs7Ozs7Ozs7OztHQWNUOzJGQUVVLHVCQUF1QjtrQkFyQm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsSUFBSSxFQUFFO3dCQUNKLGdDQUFnQyxFQUFFLE1BQU07cUJBQ3pDO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7R0FjVDtpQkFDRjswSUFFcUIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBEZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvZGV0YWlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZGctZGV0YWlsLWhlYWRlcicsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRhdGFncmlkLWRldGFpbC1oZWFkZXJdJzogJ3RydWUnLFxuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgI3RpdGxlIGNsYXNzPVwiZGF0YWdyaWQtZGV0YWlsLWhlYWRlci10aXRsZVwiIHRhYmluZGV4PVwiLTFcIiBbaWRdPVwidGl0bGVJZFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkYXRhZ3JpZC1kZXRhaWwtcGFuZS1jbG9zZVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwiZGV0YWlsU2VydmljZS5jbG9zZSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb21tb25TdHJpbmdzLmtleXMuY2xvc2VcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJ0aW1lc1wiPjwvY2RzLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgndGl0bGUnKSB0aXRsZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRldGFpbFNlcnZpY2U6IERldGFpbFNlcnZpY2UsIHB1YmxpYyBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSkge31cblxuICBnZXQgdGl0bGVJZCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5kZXRhaWxTZXJ2aWNlLmlkfS10aXRsZWA7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@
4
4
  * This software is released under MIT license.
5
5
  * The full license information can be found in LICENSE in the root directory of this project.
6
6
  */
7
- import { Component, ContentChild } from '@angular/core';
7
+ import { Component, ContentChild, Input } from '@angular/core';
8
8
  import { ClrDatagridDetailHeader } from './datagrid-detail-header';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "./providers/detail.service";
@@ -16,21 +16,42 @@ export class ClrDatagridDetail {
16
16
  this.detailService = detailService;
17
17
  this.commonStrings = commonStrings;
18
18
  }
19
+ get labelledBy() {
20
+ if (this.ariaLabelledBy) {
21
+ return this.header ? `${this.header.titleId} ${this.ariaLabelledBy}` : this.ariaLabelledBy;
22
+ }
23
+ else if (this.ariaLabel) {
24
+ // If aria-label is set by the end user, do not set aria-labelledby
25
+ return null;
26
+ }
27
+ else {
28
+ return this.header?.titleId || '';
29
+ }
30
+ }
31
+ get label() {
32
+ if (!this.ariaLabelledBy) {
33
+ return this.ariaLabel || null;
34
+ }
35
+ else {
36
+ return null;
37
+ }
38
+ }
19
39
  close() {
20
40
  this.detailService.close();
21
41
  }
22
42
  }
23
43
  ClrDatagridDetail.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridDetail, deps: [{ token: i1.DetailService }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
24
- ClrDatagridDetail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridDetail, selector: "clr-dg-detail", host: { properties: { "class.datagrid-detail-pane": "true" } }, queries: [{ propertyName: "header", first: true, predicate: ClrDatagridDetailHeader, descendants: true }], ngImport: i0, template: `
44
+ ClrDatagridDetail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridDetail, selector: "clr-dg-detail", inputs: { ariaLabelledBy: ["clrDetailAriaLabelledBy", "ariaLabelledBy"], ariaLabel: ["clrDetailAriaLabel", "ariaLabel"] }, host: { properties: { "class.datagrid-detail-pane": "true" } }, queries: [{ propertyName: "header", first: true, predicate: ClrDatagridDetailHeader, descendants: true }], ngImport: i0, template: `
25
45
  <div
26
46
  cdkTrapFocus
27
- [cdkTrapFocusAutoCapture]="true"
47
+ [cdkTrapFocusAutoCapture]="!header"
28
48
  class="datagrid-detail-pane-content"
29
49
  *ngIf="detailService.isOpen"
30
50
  role="dialog"
31
51
  [id]="detailService.id"
32
52
  aria-modal="true"
33
- [attr.aria-describedby]="header ? header.titleId : ''"
53
+ [attr.aria-labelledby]="labelledBy"
54
+ [attr.aria-label]="label"
34
55
  >
35
56
  <div class="clr-sr-only">{{ commonStrings.keys.detailPaneStart }}</div>
36
57
  <ng-content></ng-content>
@@ -49,13 +70,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
49
70
  template: `
50
71
  <div
51
72
  cdkTrapFocus
52
- [cdkTrapFocusAutoCapture]="true"
73
+ [cdkTrapFocusAutoCapture]="!header"
53
74
  class="datagrid-detail-pane-content"
54
75
  *ngIf="detailService.isOpen"
55
76
  role="dialog"
56
77
  [id]="detailService.id"
57
78
  aria-modal="true"
58
- [attr.aria-describedby]="header ? header.titleId : ''"
79
+ [attr.aria-labelledby]="labelledBy"
80
+ [attr.aria-label]="label"
59
81
  >
60
82
  <div class="clr-sr-only">{{ commonStrings.keys.detailPaneStart }}</div>
61
83
  <ng-content></ng-content>
@@ -63,8 +85,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
63
85
  </div>
64
86
  `,
65
87
  }]
66
- }], ctorParameters: function () { return [{ type: i1.DetailService }, { type: i2.ClrCommonStringsService }]; }, propDecorators: { header: [{
88
+ }], ctorParameters: function () { return [{ type: i1.DetailService }, { type: i2.ClrCommonStringsService }]; }, propDecorators: { ariaLabelledBy: [{
89
+ type: Input,
90
+ args: ['clrDetailAriaLabelledBy']
91
+ }], ariaLabel: [{
92
+ type: Input,
93
+ args: ['clrDetailAriaLabel']
94
+ }], header: [{
67
95
  type: ContentChild,
68
96
  args: [ClrDatagridDetailHeader]
69
97
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBMkJuRSxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQW1CLGFBQTRCLEVBQVMsYUFBc0M7UUFBM0Usa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7SUFBRyxDQUFDO0lBRWxHLEtBQUs7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7OzhHQVBVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHlKQUNkLHVCQUF1QixnREFsQjNCOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDsyRkFFVSxpQkFBaUI7a0JBeEI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osOEJBQThCLEVBQUUsTUFBTTtxQkFDdkM7b0JBQ0QsOEVBQThFO29CQUM5RSxzR0FBc0c7b0JBQ3RHLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7aUJBQ0Y7MElBRXdDLE1BQU07c0JBQTVDLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZERldGFpbEhlYWRlciB9IGZyb20gJy4vZGF0YWdyaWQtZGV0YWlsLWhlYWRlcic7XG5pbXBvcnQgeyBEZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvZGV0YWlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZGctZGV0YWlsJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZGF0YWdyaWQtZGV0YWlsLXBhbmVdJzogJ3RydWUnLFxuICB9LFxuICAvLyBXZSBwdXQgdGhlICpuZ0lmIG9uIHRoZSBjZGtUcmFwRm9jdXMgc28gaXQgZG9lc24ndCBhbHdheXMgZXhpc3Qgb24gdGhlIHBhZ2VcbiAgLy8gaGF2ZSB0byB0ZXN0IGZvciBwcmVzZW5jZSBvZiBoZWFkZXIgZm9yIGFyaWEtZGVzY3JpYmVkYnkgYmVjYXVzZSBpdCB3YXMgY2F1c2luZyB1bml0IHRlc3RzIHRvIGNyYXNoXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2RrVHJhcEZvY3VzXG4gICAgICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cImRhdGFncmlkLWRldGFpbC1wYW5lLWNvbnRlbnRcIlxuICAgICAgKm5nSWY9XCJkZXRhaWxTZXJ2aWNlLmlzT3BlblwiXG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIFtpZF09XCJkZXRhaWxTZXJ2aWNlLmlkXCJcbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaGVhZGVyID8gaGVhZGVyLnRpdGxlSWQgOiAnJ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1zci1vbmx5XCI+e3sgY29tbW9uU3RyaW5ncy5rZXlzLmRldGFpbFBhbmVTdGFydCB9fTwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1zci1vbmx5XCI+e3sgY29tbW9uU3RyaW5ncy5rZXlzLmRldGFpbFBhbmVFbmQgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0YWdyaWREZXRhaWwge1xuICBAQ29udGVudENoaWxkKENsckRhdGFncmlkRGV0YWlsSGVhZGVyKSBoZWFkZXI6IENsckRhdGFncmlkRGV0YWlsSGVhZGVyO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkZXRhaWxTZXJ2aWNlOiBEZXRhaWxTZXJ2aWNlLCBwdWJsaWMgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UpIHt9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxTZXJ2aWNlLmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQTRCbkUsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUFtQixhQUE0QixFQUFTLGFBQXNDO1FBQTNFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQXlCO0lBQUcsQ0FBQztJQUVsRyxJQUFJLFVBQVU7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM1RjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN6QixtRUFBbUU7WUFDbkUsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztTQUMvQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs4R0E3QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb1JBSWQsdUJBQXVCLGdEQXRCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7MkZBRVUsaUJBQWlCO2tCQXpCN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNKLDhCQUE4QixFQUFFLE1BQU07cUJBQ3ZDO29CQUNELDhFQUE4RTtvQkFDOUUsc0dBQXNHO29CQUN0RyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7aUJBQ0Y7MElBRW1DLGNBQWM7c0JBQS9DLEtBQUs7dUJBQUMseUJBQXlCO2dCQUNILFNBQVM7c0JBQXJDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUVZLE1BQU07c0JBQTVDLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXIgfSBmcm9tICcuL2RhdGFncmlkLWRldGFpbC1oZWFkZXInO1xuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RldGFpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWRnLWRldGFpbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRhdGFncmlkLWRldGFpbC1wYW5lXSc6ICd0cnVlJyxcbiAgfSxcbiAgLy8gV2UgcHV0IHRoZSAqbmdJZiBvbiB0aGUgY2RrVHJhcEZvY3VzIHNvIGl0IGRvZXNuJ3QgYWx3YXlzIGV4aXN0IG9uIHRoZSBwYWdlXG4gIC8vIGhhdmUgdG8gdGVzdCBmb3IgcHJlc2VuY2Ugb2YgaGVhZGVyIGZvciBhcmlhLWRlc2NyaWJlZGJ5IGJlY2F1c2UgaXQgd2FzIGNhdXNpbmcgdW5pdCB0ZXN0cyB0byBjcmFzaFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNka1RyYXBGb2N1c1xuICAgICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cIiFoZWFkZXJcIlxuICAgICAgY2xhc3M9XCJkYXRhZ3JpZC1kZXRhaWwtcGFuZS1jb250ZW50XCJcbiAgICAgICpuZ0lmPVwiZGV0YWlsU2VydmljZS5pc09wZW5cIlxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBbaWRdPVwiZGV0YWlsU2VydmljZS5pZFwiXG4gICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xyLXNyLW9ubHlcIj57eyBjb21tb25TdHJpbmdzLmtleXMuZGV0YWlsUGFuZVN0YXJ0IH19PC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xyLXNyLW9ubHlcIj57eyBjb21tb25TdHJpbmdzLmtleXMuZGV0YWlsUGFuZUVuZCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZERldGFpbCB7XG4gIEBJbnB1dCgnY2xyRGV0YWlsQXJpYUxhYmVsbGVkQnknKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuICBASW5wdXQoJ2NsckRldGFpbEFyaWFMYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXIpIGhlYWRlcjogQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRldGFpbFNlcnZpY2U6IERldGFpbFNlcnZpY2UsIHB1YmxpYyBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSkge31cblxuICBnZXQgbGFiZWxsZWRCeSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFyaWFMYWJlbGxlZEJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWFkZXIgPyBgJHt0aGlzLmhlYWRlci50aXRsZUlkfSAke3RoaXMuYXJpYUxhYmVsbGVkQnl9YCA6IHRoaXMuYXJpYUxhYmVsbGVkQnk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFyaWFMYWJlbCkge1xuICAgICAgLy8gSWYgYXJpYS1sYWJlbCBpcyBzZXQgYnkgdGhlIGVuZCB1c2VyLCBkbyBub3Qgc2V0IGFyaWEtbGFiZWxsZWRieVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmhlYWRlcj8udGl0bGVJZCB8fCAnJztcbiAgICB9XG4gIH1cblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuYXJpYUxhYmVsbGVkQnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbCB8fCBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFpbFNlcnZpY2UuY2xvc2UoKTtcbiAgfVxufVxuIl19
@@ -5,7 +5,7 @@
5
5
  * The full license information can be found in LICENSE in the root directory of this project.
6
6
  */
7
7
  import { isPlatformBrowser } from '@angular/common';
8
- import { Component, ElementRef, EventEmitter, Inject, Input, Output, PLATFORM_ID, ViewChild, } from '@angular/core';
8
+ import { Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, PLATFORM_ID, ViewChild, } from '@angular/core';
9
9
  import { uniqueIdFactory } from '../../utils/id-generator/id-generator.service';
10
10
  import { ClrAlignment } from '../../utils/popover/enums/alignment.enum';
11
11
  import { ClrAxis } from '../../utils/popover/enums/axis.enum';
@@ -16,24 +16,26 @@ import * as i0 from "@angular/core";
16
16
  import * as i1 from "./providers/filters";
17
17
  import * as i2 from "../../utils/i18n/common-strings.service";
18
18
  import * as i3 from "../../utils/popover/providers/popover-toggle.service";
19
- import * as i4 from "../../utils/cdk/cdk-trap-focus.module";
20
- import * as i5 from "../../icon/icon";
21
- import * as i6 from "../../utils/popover/popover-anchor";
22
- import * as i7 from "../../utils/popover/popover-close-button";
23
- import * as i8 from "../../utils/popover/popover-open-close-button";
24
- import * as i9 from "../../utils/popover/popover-content";
19
+ import * as i4 from "./utils/key-navigation-grid.controller";
20
+ import * as i5 from "../../utils/cdk/cdk-trap-focus.module";
21
+ import * as i6 from "../../icon/icon";
22
+ import * as i7 from "../../utils/popover/popover-anchor";
23
+ import * as i8 from "../../utils/popover/popover-close-button";
24
+ import * as i9 from "../../utils/popover/popover-open-close-button";
25
+ import * as i10 from "../../utils/popover/popover-content";
25
26
  /**
26
27
  * Custom filter that can be added in any column to override the default object property string filter.
27
28
  * The reason this is not just an input on DatagridColumn is because we need the filter's template to be projected,
28
29
  * since it can be anything (not just a text input).
29
30
  */
30
31
  export class ClrDatagridFilter extends DatagridFilterRegistrar {
31
- constructor(_filters, commonStrings, smartToggleService, platformId, elementRef) {
32
+ constructor(_filters, commonStrings, smartToggleService, platformId, elementRef, keyNavigation) {
32
33
  super(_filters);
33
34
  this.commonStrings = commonStrings;
34
35
  this.smartToggleService = smartToggleService;
35
36
  this.platformId = platformId;
36
37
  this.elementRef = elementRef;
38
+ this.keyNavigation = keyNavigation;
37
39
  this.openChange = new EventEmitter(false);
38
40
  this.ariaExpanded = false;
39
41
  this.popoverId = uniqueIdFactory();
@@ -62,6 +64,9 @@ export class ClrDatagridFilter extends DatagridFilterRegistrar {
62
64
  if (!open && isPlatformBrowser(this.platformId)) {
63
65
  this.anchor.nativeElement.focus();
64
66
  }
67
+ if (this.keyNavigation) {
68
+ this.keyNavigation.skipItemFocus = open;
69
+ }
65
70
  // keep track of the state
66
71
  this._open = open;
67
72
  }
@@ -76,7 +81,9 @@ export class ClrDatagridFilter extends DatagridFilterRegistrar {
76
81
  return !!this.filter && this.filter.isActive();
77
82
  }
78
83
  ngOnChanges() {
79
- this.setToggleButtonAriaLabel();
84
+ setTimeout(() => {
85
+ this.setToggleButtonAriaLabel();
86
+ });
80
87
  }
81
88
  ngOnDestroy() {
82
89
  super.ngOnDestroy();
@@ -95,7 +102,7 @@ export class ClrDatagridFilter extends DatagridFilterRegistrar {
95
102
  });
96
103
  }
97
104
  }
98
- ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: i1.FiltersProvider }, { token: i2.ClrCommonStringsService }, { token: i3.ClrPopoverToggleService }, { token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
105
+ ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: i1.FiltersProvider }, { token: i2.ClrCommonStringsService }, { token: i3.ClrPopoverToggleService }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i4.KeyNavigationGridController, optional: true }], target: i0.ɵɵFactoryTarget.Component });
99
106
  ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
100
107
  <button
101
108
  class="datagrid-filter-toggle"
@@ -132,7 +139,7 @@ ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
132
139
 
133
140
  <ng-content></ng-content>
134
141
  </div>
135
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: i5.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i6.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i7.ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i8.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i9.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
142
+ `, isInline: true, dependencies: [{ kind: "directive", type: i5.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: i6.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i7.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i8.ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i9.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i10.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
136
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridFilter, decorators: [{
137
144
  type: Component,
138
145
  args: [{
@@ -180,7 +187,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
180
187
  }], ctorParameters: function () { return [{ type: i1.FiltersProvider }, { type: i2.ClrCommonStringsService }, { type: i3.ClrPopoverToggleService }, { type: undefined, decorators: [{
181
188
  type: Inject,
182
189
  args: [PLATFORM_ID]
183
- }] }, { type: i0.ElementRef }]; }, propDecorators: { openChange: [{
190
+ }] }, { type: i0.ElementRef }, { type: i4.KeyNavigationGridController, decorators: [{
191
+ type: Optional
192
+ }] }]; }, propDecorators: { openChange: [{
184
193
  type: Output,
185
194
  args: ['clrDgFilterOpenChange']
186
195
  }], anchor: [{
@@ -193,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
193
202
  type: Input,
194
203
  args: ['clrDgFilter']
195
204
  }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFJOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7OztBQUU1RTs7OztHQUlHO0FBMkNILE1BQU0sT0FBTyxpQkFDWCxTQUFRLHVCQUF5RDtJQXNCakUsWUFDRSxRQUE0QixFQUNyQixhQUFzQyxFQUNyQyxrQkFBMkMsRUFDdEIsVUFBZSxFQUNwQyxVQUFtQztRQUUzQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMVCxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBeEJaLGVBQVUsR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMs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VUFBVSx5RUF4RDdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ1Q7MkZBRVUsaUJBQWlCO2tCQTFDN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsb0ZBQW9GO29CQUNwRixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUN0RSxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DVDtpQkFDRjs7MEJBNEJJLE1BQU07MkJBQUMsV0FBVztxRUF2QlksVUFBVTtzQkFBMUMsTUFBTTt1QkFBQyx1QkFBdUI7Z0JBY1ksTUFBTTtzQkFBaEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQXNCckMsSUFBSTtzQkFEUCxLQUFLO3VCQUFDLGlCQUFpQjtnQkFrQnBCLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdW5pcXVlSWRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yL2lkLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFsaWdubWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvZW51bXMvYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgQ2xyQXhpcyB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvZW51bXMvYXhpcy5lbnVtJztcbmltcG9ydCB7IENsclNpZGUgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2VudW1zL3NpZGUuZW51bSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2ludGVyZmFjZXMvcG9wb3Zlci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvY3VzdG9tLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJzUHJvdmlkZXIsIFJlZ2lzdGVyZWRGaWx0ZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9maWx0ZXJzJztcbmltcG9ydCB7IERhdGFncmlkRmlsdGVyUmVnaXN0cmFyIH0gZnJvbSAnLi91dGlscy9kYXRhZ3JpZC1maWx0ZXItcmVnaXN0cmFyJztcblxuLyoqXG4gKiBDdXN0b20gZmlsdGVyIHRoYXQgY2FuIGJlIGFkZGVkIGluIGFueSBjb2x1bW4gdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb2JqZWN0IHByb3BlcnR5IHN0cmluZyBmaWx0ZXIuXG4gKiBUaGUgcmVhc29uIHRoaXMgaXMgbm90IGp1c3QgYW4gaW5wdXQgb24gRGF0YWdyaWRDb2x1bW4gaXMgYmVjYXVzZSB3ZSBuZWVkIHRoZSBmaWx0ZXIncyB0ZW1wbGF0ZSB0byBiZSBwcm9qZWN0ZWQsXG4gKiBzaW5jZSBpdCBjYW4gYmUgYW55dGhpbmcgKG5vdCBqdXN0IGEgdGV4dCBpbnB1dCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1maWx0ZXInLFxuICAvLyBXZSByZWdpc3RlciB0aGlzIGNvbXBvbmVudCBhcyBhIEN1c3RvbUZpbHRlciwgZm9yIHRoZSBwYXJlbnQgY29sdW1uIHRvIGRldGVjdCBpdC5cbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDdXN0b21GaWx0ZXIsIHVzZUV4aXN0aW5nOiBDbHJEYXRhZ3JpZEZpbHRlciB9XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImRhdGFncmlkLWZpbHRlci10b2dnbGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAjYW5jaG9yXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvZ2dsZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInBvcG92ZXJJZFwiXG4gICAgICBjbHJQb3BvdmVyQW5jaG9yXG4gICAgICBjbHJQb3BvdmVyT3BlbkNsb3NlQnV0dG9uXG4gICAgICBbY2xhc3MuZGF0YWdyaWQtZmlsdGVyLW9wZW5dPVwib3BlblwiXG4gICAgICBbY2xhc3MuZGF0YWdyaWQtZmlsdGVyZWRdPVwiYWN0aXZlXCJcbiAgICA+XG4gICAgICA8Y2RzLWljb25cbiAgICAgICAgW2F0dHIuc3RhdHVzXT1cImFjdGl2ZSA/ICdpbmZvJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5zaGFwZV09XCJhY3RpdmUgPyAnZmlsdGVyLWdyaWQtY2lyY2xlJyA6ICdmaWx0ZXItZ3JpZCdcIlxuICAgICAgICBzb2xpZFxuICAgICAgPjwvY2RzLWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRhdGFncmlkLWZpbHRlclwiXG4gICAgICBbaWRdPVwicG9wb3ZlcklkXCJcbiAgICAgIGNka1RyYXBGb2N1c1xuICAgICAgKmNsclBvcG92ZXJDb250ZW50PVwib3BlbjsgYXQ6IHNtYXJ0UG9zaXRpb247IG91dHNpZGVDbGlja1RvQ2xvc2U6IHRydWU7IHNjcm9sbFRvQ2xvc2U6IHRydWVcIlxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZ3Mua2V5cy5kYXRhZ3JpZEZpbHRlckRpYWxvZ0FyaWFMYWJlbFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFncmlkLWZpbHRlci1jbG9zZS13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiBjbHJQb3BvdmVyQ2xvc2VCdXR0b24+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwid2luZG93LWNsb3NlXCIgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZEZpbHRlcjxUID0gYW55PlxuICBleHRlbmRzIERhdGFncmlkRmlsdGVyUmVnaXN0cmFyPFQsIENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlPFQ+PlxuICBpbXBsZW1lbnRzIEN1c3RvbUZpbHRlciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQE91dHB1dCgnY2xyRGdGaWx0ZXJPcGVuQ2hhbmdlJykgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICBwb3BvdmVySWQgPSB1bmlxdWVJZEZhY3RvcnkoKTtcbiAgdG9nZ2xlQnV0dG9uQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLy8gU21hcnQgUG9wb3ZlclxuICBzbWFydFBvc2l0aW9uOiBDbHJQb3BvdmVyUG9zaXRpb24gPSB7XG4gICAgYXhpczogQ2xyQXhpcy5WRVJUSUNBTCxcbiAgICBzaWRlOiBDbHJTaWRlLkFGVEVSLFxuICAgIGFuY2hvcjogQ2xyQWxpZ25tZW50LkVORCxcbiAgICBjb250ZW50OiBDbHJBbGlnbm1lbnQuRU5ELFxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2FuY2hvcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBhbmNob3I6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2ZpbHRlcnM6IEZpbHRlcnNQcm92aWRlcjxUPixcbiAgICBwdWJsaWMgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbWFydFRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgc3VwZXIoX2ZpbHRlcnMpO1xuICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgc21hcnRUb2dnbGVTZXJ2aWNlLm9wZW5DaGFuZ2Uuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XG4gICAgICAgIHRoaXMub3BlbiA9IGNoYW5nZTtcbiAgICAgICAgdGhpcy5hcmlhRXhwYW5kZWQgPSBjaGFuZ2U7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoJ2NsckRnRmlsdGVyT3BlbicpXG4gIGdldCBvcGVuKCkge1xuICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICB9XG4gIHNldCBvcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICBvcGVuID0gISFvcGVuO1xuICAgIGlmICh0aGlzLm9wZW4gIT09IG9wZW4pIHtcbiAgICAgIHRoaXMuc21hcnRUb2dnbGVTZXJ2aWNlLm9wZW4gPSBvcGVuO1xuICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgICBpZiAoIW9wZW4gJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICB0aGlzLmFuY2hvci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZVxuICAgICAgdGhpcy5fb3BlbiA9IG9wZW47XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdjbHJEZ0ZpbHRlcicpXG4gIHNldCBjdXN0b21GaWx0ZXIoZmlsdGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiB8IFJlZ2lzdGVyZWRGaWx0ZXI8VCwgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4+KSB7XG4gICAgdGhpcy5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpbHRlciBpcyBjdXJyZW50bHkgYWN0aXZlXG4gICAqL1xuICBnZXQgYWN0aXZlKCkge1xuICAgIHJldHVybiAhIXRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyLmlzQWN0aXZlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNldFRvZ2dsZUJ1dHRvbkFyaWFMYWJlbCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgbm90IGluIGEgZ2V0dGVyIHRvIHByZXZlbnQgXCJleHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkXCIgZXJyb3JzLlxuICAgKiBBbmQgaXQncyBtb3JlIHBlcmZvcm1hbnQgdGhpcyB3YXkgc2luY2UgaXQgb25seSBydW5zIG9uIGNoYW5nZS5cbiAgICovXG4gIHByaXZhdGUgc2V0VG9nZ2xlQnV0dG9uQXJpYUxhYmVsKCkge1xuICAgIGNvbnN0IGNvbHVtbkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudD8uY2xvc2VzdCgnY2xyLWRnLWNvbHVtbicpO1xuICAgIGNvbnN0IGNvbHVtblRpdGxlRWxlbWVudCA9IGNvbHVtbkVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5kYXRhZ3JpZC1jb2x1bW4tdGl0bGUnKTtcblxuICAgIGNvbnN0IGNvbHVtblRpdGxlID0gY29sdW1uVGl0bGVFbGVtZW50Py50ZXh0Q29udGVudC50cmltKCkudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHRoaXMudG9nZ2xlQnV0dG9uQXJpYUxhYmVsID0gdGhpcy5jb21tb25TdHJpbmdzLnBhcnNlKHRoaXMuY29tbW9uU3RyaW5ncy5rZXlzLmRhdGFncmlkRmlsdGVyQXJpYUxhYmVsLCB7XG4gICAgICBDT0xVTU46IGNvbHVtblRpdGxlIHx8ICcnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRzVFOzs7O0dBSUc7QUEyQ0gsTUFBTSxPQUFPLGlCQUNYLFNBQVEsdUJBQXlEO0lBc0JqRSxZQUNFLFFBQTRCLEVBQ3JCLGFBQXNDLEVBQ3JDLGtCQUEyQyxFQUN0QixVQUFlLEVBQ3BDLFVBQW1DLEVBQ3ZCLGFBQTBDO1FBRTlELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU5ULGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUNyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDdkIsa0JBQWEsR0FBYixh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dUIsRUFBRTtZQUNyRyxNQUFNLEVBQUUsV0FBVyxJQUFJLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBaEdVLGlCQUFpQiwrSEEyQmxCLFdBQVc7a0dBM0JWLGlCQUFpQix3TEF2Q2pCLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLHVHQXlEekMsVUFBVSx5RUF4RDdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ1Q7MkZBRVUsaUJBQWlCO2tCQTFDN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsb0ZBQW9GO29CQUNwRixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUN0RSxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DVDtpQkFDRjs7MEJBNEJJLE1BQU07MkJBQUMsV0FBVzs7MEJBRWxCLFFBQVE7NENBekJzQixVQUFVO3NCQUExQyxNQUFNO3VCQUFDLHVCQUF1QjtnQkFjWSxNQUFNO3NCQUFoRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBdUJyQyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsaUJBQWlCO2dCQXFCcEIsWUFBWTtzQkFEZixLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdW5pcXVlSWRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yL2lkLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFsaWdubWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvZW51bXMvYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgQ2xyQXhpcyB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvZW51bXMvYXhpcy5lbnVtJztcbmltcG9ydCB7IENsclNpZGUgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2VudW1zL3NpZGUuZW51bSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL2ludGVyZmFjZXMvcG9wb3Zlci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvY3VzdG9tLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJzUHJvdmlkZXIsIFJlZ2lzdGVyZWRGaWx0ZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9maWx0ZXJzJztcbmltcG9ydCB7IERhdGFncmlkRmlsdGVyUmVnaXN0cmFyIH0gZnJvbSAnLi91dGlscy9kYXRhZ3JpZC1maWx0ZXItcmVnaXN0cmFyJztcbmltcG9ydCB7IEtleU5hdmlnYXRpb25HcmlkQ29udHJvbGxlciB9IGZyb20gJy4vdXRpbHMva2V5LW5hdmlnYXRpb24tZ3JpZC5jb250cm9sbGVyJztcblxuLyoqXG4gKiBDdXN0b20gZmlsdGVyIHRoYXQgY2FuIGJlIGFkZGVkIGluIGFueSBjb2x1bW4gdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb2JqZWN0IHByb3BlcnR5IHN0cmluZyBmaWx0ZXIuXG4gKiBUaGUgcmVhc29uIHRoaXMgaXMgbm90IGp1c3QgYW4gaW5wdXQgb24gRGF0YWdyaWRDb2x1bW4gaXMgYmVjYXVzZSB3ZSBuZWVkIHRoZSBmaWx0ZXIncyB0ZW1wbGF0ZSB0byBiZSBwcm9qZWN0ZWQsXG4gKiBzaW5jZSBpdCBjYW4gYmUgYW55dGhpbmcgKG5vdCBqdXN0IGEgdGV4dCBpbnB1dCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1maWx0ZXInLFxuICAvLyBXZSByZWdpc3RlciB0aGlzIGNvbXBvbmVudCBhcyBhIEN1c3RvbUZpbHRlciwgZm9yIHRoZSBwYXJlbnQgY29sdW1uIHRvIGRldGVjdCBpdC5cbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDdXN0b21GaWx0ZXIsIHVzZUV4aXN0aW5nOiBDbHJEYXRhZ3JpZEZpbHRlciB9XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImRhdGFncmlkLWZpbHRlci10b2dnbGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAjYW5jaG9yXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvZ2dsZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInBvcG92ZXJJZFwiXG4gICAgICBjbHJQb3BvdmVyQW5jaG9yXG4gICAgICBjbHJQb3BvdmVyT3BlbkNsb3NlQnV0dG9uXG4gICAgICBbY2xhc3MuZGF0YWdyaWQtZmlsdGVyLW9wZW5dPVwib3BlblwiXG4gICAgICBbY2xhc3MuZGF0YWdyaWQtZmlsdGVyZWRdPVwiYWN0aXZlXCJcbiAgICA+XG4gICAgICA8Y2RzLWljb25cbiAgICAgICAgW2F0dHIuc3RhdHVzXT1cImFjdGl2ZSA/ICdpbmZvJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5zaGFwZV09XCJhY3RpdmUgPyAnZmlsdGVyLWdyaWQtY2lyY2xlJyA6ICdmaWx0ZXItZ3JpZCdcIlxuICAgICAgICBzb2xpZFxuICAgICAgPjwvY2RzLWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRhdGFncmlkLWZpbHRlclwiXG4gICAgICBbaWRdPVwicG9wb3ZlcklkXCJcbiAgICAgIGNka1RyYXBGb2N1c1xuICAgICAgKmNsclBvcG92ZXJDb250ZW50PVwib3BlbjsgYXQ6IHNtYXJ0UG9zaXRpb247IG91dHNpZGVDbGlja1RvQ2xvc2U6IHRydWU7IHNjcm9sbFRvQ2xvc2U6IHRydWVcIlxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZ3Mua2V5cy5kYXRhZ3JpZEZpbHRlckRpYWxvZ0FyaWFMYWJlbFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFncmlkLWZpbHRlci1jbG9zZS13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiBjbHJQb3BvdmVyQ2xvc2VCdXR0b24+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwid2luZG93LWNsb3NlXCIgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZEZpbHRlcjxUID0gYW55PlxuICBleHRlbmRzIERhdGFncmlkRmlsdGVyUmVnaXN0cmFyPFQsIENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlPFQ+PlxuICBpbXBsZW1lbnRzIEN1c3RvbUZpbHRlciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQE91dHB1dCgnY2xyRGdGaWx0ZXJPcGVuQ2hhbmdlJykgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICBwb3BvdmVySWQgPSB1bmlxdWVJZEZhY3RvcnkoKTtcbiAgdG9nZ2xlQnV0dG9uQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLy8gU21hcnQgUG9wb3ZlclxuICBzbWFydFBvc2l0aW9uOiBDbHJQb3BvdmVyUG9zaXRpb24gPSB7XG4gICAgYXhpczogQ2xyQXhpcy5WRVJUSUNBTCxcbiAgICBzaWRlOiBDbHJTaWRlLkFGVEVSLFxuICAgIGFuY2hvcjogQ2xyQWxpZ25tZW50LkVORCxcbiAgICBjb250ZW50OiBDbHJBbGlnbm1lbnQuRU5ELFxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2FuY2hvcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBhbmNob3I6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9maWx0ZXJzOiBGaWx0ZXJzUHJvdmlkZXI8VD4sXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc21hcnRUb2dnbGVTZXJ2aWNlOiBDbHJQb3BvdmVyVG9nZ2xlU2VydmljZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUga2V5TmF2aWdhdGlvbjogS2V5TmF2aWdhdGlvbkdyaWRDb250cm9sbGVyXG4gICkge1xuICAgIHN1cGVyKF9maWx0ZXJzKTtcbiAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgIHNtYXJ0VG9nZ2xlU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgICB0aGlzLm9wZW4gPSBjaGFuZ2U7XG4gICAgICAgIHRoaXMuYXJpYUV4cGFuZGVkID0gY2hhbmdlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KCdjbHJEZ0ZpbHRlck9wZW4nKVxuICBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuICBzZXQgb3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgb3BlbiA9ICEhb3BlbjtcbiAgICBpZiAodGhpcy5vcGVuICE9PSBvcGVuKSB7XG4gICAgICB0aGlzLnNtYXJ0VG9nZ2xlU2VydmljZS5vcGVuID0gb3BlbjtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgICAgaWYgKCFvcGVuICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMua2V5TmF2aWdhdGlvbikge1xuICAgICAgICB0aGlzLmtleU5hdmlnYXRpb24uc2tpcEl0ZW1Gb2N1cyA9IG9wZW47XG4gICAgICB9XG4gICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZVxuICAgICAgdGhpcy5fb3BlbiA9IG9wZW47XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdjbHJEZ0ZpbHRlcicpXG4gIHNldCBjdXN0b21GaWx0ZXIoZmlsdGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiB8IFJlZ2lzdGVyZWRGaWx0ZXI8VCwgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4+KSB7XG4gICAgdGhpcy5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpbHRlciBpcyBjdXJyZW50bHkgYWN0aXZlXG4gICAqL1xuICBnZXQgYWN0aXZlKCkge1xuICAgIHJldHVybiAhIXRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyLmlzQWN0aXZlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0VG9nZ2xlQnV0dG9uQXJpYUxhYmVsKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyBub3QgaW4gYSBnZXR0ZXIgdG8gcHJldmVudCBcImV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWRcIiBlcnJvcnMuXG4gICAqIEFuZCBpdCdzIG1vcmUgcGVyZm9ybWFudCB0aGlzIHdheSBzaW5jZSBpdCBvbmx5IHJ1bnMgb24gY2hhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRUb2dnbGVCdXR0b25BcmlhTGFiZWwoKSB7XG4gICAgY29uc3QgY29sdW1uRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5jbG9zZXN0KCdjbHItZGctY29sdW1uJyk7XG4gICAgY29uc3QgY29sdW1uVGl0bGVFbGVtZW50ID0gY29sdW1uRWxlbWVudD8ucXVlcnlTZWxlY3RvcignLmRhdGFncmlkLWNvbHVtbi10aXRsZScpO1xuXG4gICAgY29uc3QgY29sdW1uVGl0bGUgPSBjb2x1bW5UaXRsZUVsZW1lbnQ/LnRleHRDb250ZW50LnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuXG4gICAgdGhpcy50b2dnbGVCdXR0b25BcmlhTGFiZWwgPSB0aGlzLmNvbW1vblN0cmluZ3MucGFyc2UodGhpcy5jb21tb25TdHJpbmdzLmtleXMuZGF0YWdyaWRGaWx0ZXJBcmlhTGFiZWwsIHtcbiAgICAgIENPTFVNTjogY29sdW1uVGl0bGUgfHwgJycsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -23,6 +23,9 @@ export class ClrIfDetail {
23
23
  }
24
24
  this.skip = false;
25
25
  }
26
+ get viewContext() {
27
+ return { $implicit: this.detailService.state };
28
+ }
26
29
  ngOnInit() {
27
30
  this.subscriptions.push(this.detailService.stateChange.subscribe(state => {
28
31
  if (state === true) {
@@ -39,12 +42,11 @@ export class ClrIfDetail {
39
42
  togglePanel(showPanel) {
40
43
  let stateChangeParams = null;
41
44
  if (showPanel === true) {
42
- const embeddedViewContext = { $implicit: this.detailService.state };
43
- if (this.embeddedViewRef) {
44
- this.embeddedViewRef.context = embeddedViewContext;
45
- }
46
- else {
47
- this.embeddedViewRef = this.viewContainer.createEmbeddedView(this.templateRef, embeddedViewContext);
45
+ if (!this.embeddedViewRef) {
46
+ // Create a context forward `Proxy` that will always bind to the user-specified context,
47
+ // without having to re-assign it whenever changes.
48
+ const viewContext = this._createContextForwardProxy();
49
+ this.embeddedViewRef = this.viewContainer.createEmbeddedView(this.templateRef, viewContext);
48
50
  }
49
51
  this.skip = true;
50
52
  stateChangeParams = this.detailService.state;
@@ -55,6 +57,27 @@ export class ClrIfDetail {
55
57
  }
56
58
  this.stateChange.emit(stateChangeParams);
57
59
  }
60
+ /**
61
+ * For a given outlet instance, we create a proxy object that delegates
62
+ * to the user-specified context. This allows changing, or swapping out
63
+ * the context object completely without having to destroy/re-create the view.
64
+ */
65
+ _createContextForwardProxy() {
66
+ return new Proxy({}, {
67
+ set: (_target, prop, newValue) => {
68
+ if (!this.viewContext) {
69
+ return false;
70
+ }
71
+ return Reflect.set(this.viewContext, prop, newValue);
72
+ },
73
+ get: (_target, prop, receiver) => {
74
+ if (!this.viewContext) {
75
+ return undefined;
76
+ }
77
+ return Reflect.get(this.viewContext, prop, receiver);
78
+ },
79
+ });
80
+ }
58
81
  }
59
82
  ClrIfDetail.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrIfDetail, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DetailService }], target: i0.ɵɵFactoryTarget.Directive });
60
83
  ClrIfDetail.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrIfDetail, selector: "[clrIfDetail]", inputs: { state: ["clrIfDetail", "state"] }, outputs: { stateChange: "clrIfDetailChange" }, ngImport: i0 });
@@ -70,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
70
93
  type: Input,
71
94
  args: ['clrIfDetail']
72
95
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtaWYtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1pZi1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkIsTUFBTSxPQUFPLFdBQVc7SUFPdEIsWUFDVSxXQUE2QixFQUM3QixhQUErQixFQUMvQixhQUE0QjtRQUY1QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBVFQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUUvRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQVExRixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFrQjtRQUNwQyxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXBFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsbUJBQW1CLENBQUM7YUFDcEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQzthQUNyRztZQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1NBQzlDO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt3R0EzRFUsV0FBVzs0RkFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzZKQUU4QixXQUFXO3NCQUF2QyxNQUFNO3VCQUFDLG1CQUFtQjtnQkFldkIsS0FBSztzQkFEUixLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RldGFpbC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NscklmRGV0YWlsXScsXG59KVxuZXhwb3J0IGNsYXNzIENscklmRGV0YWlsIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCdjbHJJZkRldGFpbENoYW5nZScpIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KG51bGwpO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBza2lwID0gZmFsc2U7IC8vIFRoaXMga2VlcHMgdXMgZnJvbSByZXNldHRpbmcgdGhlIGlucHV0IGFuZCBjYWxsaW5nIHRoZSB0b2dnbGUgdHdpY2VcbiAgcHJpdmF0ZSBlbWJlZGRlZFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgZGV0YWlsU2VydmljZTogRGV0YWlsU2VydmljZVxuICApIHtcbiAgICB0aGlzLmRldGFpbFNlcnZpY2UuZW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBASW5wdXQoJ2NscklmRGV0YWlsJylcbiAgc2V0IHN0YXRlKG1vZGVsOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuc2tpcCkge1xuICAgICAgdGhpcy5kZXRhaWxTZXJ2aWNlLnRvZ2dsZShtb2RlbCk7XG4gICAgfVxuICAgIHRoaXMuc2tpcCA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmRldGFpbFNlcnZpY2Uuc3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgICAgaWYgKHN0YXRlID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGVQYW5lbCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVBhbmVsKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlUGFuZWwoc2hvd1BhbmVsOiBib29sZWFuKSB7XG4gICAgbGV0IHN0YXRlQ2hhbmdlUGFyYW1zID0gbnVsbDtcblxuICAgIGlmIChzaG93UGFuZWwgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IGVtYmVkZGVkVmlld0NvbnRleHQgPSB7ICRpbXBsaWNpdDogdGhpcy5kZXRhaWxTZXJ2aWNlLnN0YXRlIH07XG5cbiAgICAgIGlmICh0aGlzLmVtYmVkZGVkVmlld1JlZikge1xuICAgICAgICB0aGlzLmVtYmVkZGVkVmlld1JlZi5jb250ZXh0ID0gZW1iZWRkZWRWaWV3Q29udGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCBlbWJlZGRlZFZpZXdDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5za2lwID0gdHJ1ZTtcbiAgICAgIHN0YXRlQ2hhbmdlUGFyYW1zID0gdGhpcy5kZXRhaWxTZXJ2aWNlLnN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoc3RhdGVDaGFuZ2VQYXJhbXMpO1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtaWYtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1pZi1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkIsTUFBTSxPQUFPLFdBQVc7SUFPdEIsWUFDVSxXQUE2QixFQUM3QixhQUErQixFQUMvQixhQUE0QjtRQUY1QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBVFQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUUvRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQVExRixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFNBQWtCO1FBQ3BDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLElBQUksU0FBUyxLQUFLLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDekIsd0ZBQXdGO2dCQUN4RixtREFBbUQ7Z0JBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUM3RjtZQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1NBQzlDO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLDBCQUEwQjtRQUNoQyxPQUFPLElBQUksS0FBSyxDQUNkLEVBQUUsRUFDRjtZQUNFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNyQixPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNyQixPQUFPLFNBQVMsQ0FBQztpQkFDbEI7Z0JBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDOzt3R0F2RlUsV0FBVzs0RkFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzZKQUU4QixXQUFXO3NCQUF2QyxNQUFNO3VCQUFDLG1CQUFtQjtnQkFldkIsS0FBSztzQkFEUixLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RldGFpbC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NscklmRGV0YWlsXScsXG59KVxuZXhwb3J0IGNsYXNzIENscklmRGV0YWlsIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCdjbHJJZkRldGFpbENoYW5nZScpIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KG51bGwpO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBza2lwID0gZmFsc2U7IC8vIFRoaXMga2VlcHMgdXMgZnJvbSByZXNldHRpbmcgdGhlIGlucHV0IGFuZCBjYWxsaW5nIHRoZSB0b2dnbGUgdHdpY2VcbiAgcHJpdmF0ZSBlbWJlZGRlZFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgZGV0YWlsU2VydmljZTogRGV0YWlsU2VydmljZVxuICApIHtcbiAgICB0aGlzLmRldGFpbFNlcnZpY2UuZW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBASW5wdXQoJ2NscklmRGV0YWlsJylcbiAgc2V0IHN0YXRlKG1vZGVsOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuc2tpcCkge1xuICAgICAgdGhpcy5kZXRhaWxTZXJ2aWNlLnRvZ2dsZShtb2RlbCk7XG4gICAgfVxuICAgIHRoaXMuc2tpcCA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHZpZXdDb250ZXh0KCkge1xuICAgIHJldHVybiB7ICRpbXBsaWNpdDogdGhpcy5kZXRhaWxTZXJ2aWNlLnN0YXRlIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZGV0YWlsU2VydmljZS5zdGF0ZUNoYW5nZS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICBpZiAoc3RhdGUgPT09IHRydWUpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVBhbmVsKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9nZ2xlUGFuZWwoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVQYW5lbChzaG93UGFuZWw6IGJvb2xlYW4pIHtcbiAgICBsZXQgc3RhdGVDaGFuZ2VQYXJhbXMgPSBudWxsO1xuXG4gICAgaWYgKHNob3dQYW5lbCA9PT0gdHJ1ZSkge1xuICAgICAgaWYgKCF0aGlzLmVtYmVkZGVkVmlld1JlZikge1xuICAgICAgICAvLyBDcmVhdGUgYSBjb250ZXh0IGZvcndhcmQgYFByb3h5YCB0aGF0IHdpbGwgYWx3YXlzIGJpbmQgdG8gdGhlIHVzZXItc3BlY2lmaWVkIGNvbnRleHQsXG4gICAgICAgIC8vIHdpdGhvdXQgaGF2aW5nIHRvIHJlLWFzc2lnbiBpdCB3aGVuZXZlciBjaGFuZ2VzLlxuICAgICAgICBjb25zdCB2aWV3Q29udGV4dCA9IHRoaXMuX2NyZWF0ZUNvbnRleHRGb3J3YXJkUHJveHkoKTtcbiAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHZpZXdDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5za2lwID0gdHJ1ZTtcbiAgICAgIHN0YXRlQ2hhbmdlUGFyYW1zID0gdGhpcy5kZXRhaWxTZXJ2aWNlLnN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoc3RhdGVDaGFuZ2VQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvciBhIGdpdmVuIG91dGxldCBpbnN0YW5jZSwgd2UgY3JlYXRlIGEgcHJveHkgb2JqZWN0IHRoYXQgZGVsZWdhdGVzXG4gICAqIHRvIHRoZSB1c2VyLXNwZWNpZmllZCBjb250ZXh0LiBUaGlzIGFsbG93cyBjaGFuZ2luZywgb3Igc3dhcHBpbmcgb3V0XG4gICAqIHRoZSBjb250ZXh0IG9iamVjdCBjb21wbGV0ZWx5IHdpdGhvdXQgaGF2aW5nIHRvIGRlc3Ryb3kvcmUtY3JlYXRlIHRoZSB2aWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlQ29udGV4dEZvcndhcmRQcm94eSgpIHtcbiAgICByZXR1cm4gbmV3IFByb3h5KFxuICAgICAge30sXG4gICAgICB7XG4gICAgICAgIHNldDogKF90YXJnZXQsIHByb3AsIG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZpZXdDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh0aGlzLnZpZXdDb250ZXh0LCBwcm9wLCBuZXdWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldDogKF90YXJnZXQsIHByb3AsIHJlY2VpdmVyKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZpZXdDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGhpcy52aWV3Q29udGV4dCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICB9LFxuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==