@alauda/ui 7.3.3-beta.32 → 7.3.3-beta.33

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.
@@ -1,6 +1,6 @@
1
1
  import { Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
2
2
  import { fromEvent, map, merge, switchMap, take, takeUntil, } from 'rxjs';
3
- import { buildBem } from '../utils';
3
+ import { buildBem, getCompatibleStylesRenderer } from '../utils';
4
4
  import { TableColumnDefDirective } from './table-column-def.directive';
5
5
  import { tableBem, TableComponent } from './table.component';
6
6
  import * as i0 from "@angular/core";
@@ -15,19 +15,20 @@ export class TableColumnResizableDirective {
15
15
  tableComponent = inject(TableComponent);
16
16
  columnElement = inject(ElementRef).nativeElement;
17
17
  containerElement = this.tableComponent.elementRef.nativeElement;
18
- styleElement;
19
- hostAttr;
18
+ hostAttr = `table-column-resizable-${tableColumnResizableID++}`;
19
+ stylesRenderer = getCompatibleStylesRenderer();
20
20
  resizeSubscription;
21
+ ngOnInit() {
22
+ this.containerElement.setAttribute(this.hostAttr, '');
23
+ }
21
24
  ngAfterViewInit() {
22
25
  const resizeHandle = this.createResizeHandle();
23
26
  this.bindResizable(resizeHandle);
24
27
  }
25
28
  ngOnDestroy() {
26
29
  this.resizeSubscription?.unsubscribe();
27
- this.styleElement?.remove();
28
- if (this.hostAttr) {
29
- this.containerElement.removeAttribute(this.hostAttr);
30
- }
30
+ this.containerElement.removeAttribute(this.hostAttr);
31
+ this.stylesRenderer.cleanup();
31
32
  }
32
33
  bindResizable(resizeHandle) {
33
34
  this.resizeSubscription = fromEvent(resizeHandle, 'mousedown')
@@ -122,26 +123,13 @@ export class TableColumnResizableDirective {
122
123
  }
123
124
  renderWidthStyles(width) {
124
125
  const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
125
- if (!this.hostAttr) {
126
- this.hostAttr = `table-resizable-${tableColumnResizableID++}`;
127
- this.containerElement.setAttribute(this.hostAttr, '');
128
- }
129
- const styleString = `
130
- [${this.hostAttr}] .${className} {
126
+ const styleString = `[${this.hostAttr}] .${className} {
131
127
  flex: none !important;
132
128
  width: ${width}px !important;
133
129
  min-width: ${width}px !important;
134
130
  max-width: ${width}px !important;
135
- }
136
- `;
137
- if (this.styleElement) {
138
- this.styleElement.innerHTML = styleString;
139
- }
140
- else {
141
- this.styleElement = this.renderer2.createElement('style');
142
- this.styleElement.innerHTML = styleString;
143
- this.renderer2.appendChild(document.querySelector('head'), this.styleElement);
144
- }
131
+ }`;
132
+ this.stylesRenderer.render(styleString);
145
133
  this.tableComponent.updateStickyColumnStyles();
146
134
  }
147
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -158,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
158
146
  }], maxWidth: [{
159
147
  type: Input
160
148
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUVMLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUU3RCxJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUUvQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFNeEIsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBR2xCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFQSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEMsYUFBYSxHQUM1QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRWxCLGdCQUFnQixHQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7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USxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsTUFBTSxXQUFXLEdBQUc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsTUFBTSxTQUFTOztlQUVyQixLQUFLO21CQUNELEtBQUs7bUJBQ0wsS0FBSzs7S0FFbkIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7U0FDM0M7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUN4QixRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUM5QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDakQsQ0FBQzt1R0FyTlUsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IHRhYmxlQmVtLCBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxubGV0IHRhYmxlQ29sdW1uUmVzaXphYmxlSUQgPSAwO1xuXG5jb25zdCByZXNpemFibGVCZW0gPSBidWlsZEJlbSgnYXVpLXRhYmxlLWNvbHVtbi1yZXNpemFibGUnKTtcbmNvbnN0IG1hcmtMaW5lV2lkdGggPSAxO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVDb2x1bW5SZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5SZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgbWluV2lkdGggPSAnNDBweCc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGggPSAnODAlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlID0gaW5qZWN0KFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbXBvbmVudCA9IGluamVjdChUYWJsZUNvbXBvbmVudCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2x1bW5FbGVtZW50OiBIVE1MRWxlbWVudCA9XG4gICAgaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9XG4gICAgdGhpcy50YWJsZUNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcbiAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcbiAgICBpZiAodGhpcy5ob3N0QXR0cikge1xuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG1vdXNlRG93bkV2ZW50ID0+IHtcbiAgICAgICAgICBtb3VzZURvd25FdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIG1vdXNlRG93bkV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgICBjb25zdCByZXNpemVSYW5nZSA9IHRoaXMuZ2V0UmVzaXplUmFuZ2UoKTtcbiAgICAgICAgICBjb25zdCBpbml0aWFsTW91c2VYID0gbW91c2VEb3duRXZlbnQuY2xpZW50WDtcbiAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IHRoaXMuZ2V0Q29sdW1uV2lkdGgoKTtcbiAgICAgICAgICBjb25zdCBjb2x1bW5PZmZzZXQgPSB0aGlzLmdldENvbHVtbk9mZnNldCgpO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU1hcmtMaW5lID0gdGhpcy5jcmVhdGVSZXNpemVNYXJrTGluZShcbiAgICAgICAgICAgIGNvbHVtbk9mZnNldCArIGNvbHVtbldpZHRoLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgcmVzaXplT3ZlcmxheSA9IHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuXG4gICAgICAgICAgY29uc3QgbW91c2VVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZXVwJykucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZVVwJCksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIG1vdXNlTW92ZSQucGlwZShcbiAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIG1vdXNlTW92ZUV2ZW50ID0+ICgpID0+XG4gICAgICAgICAgICAgICAgICByZXNpemVNYXJrTGluZS51cGRhdGVPZmZzZXQoXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbk9mZnNldCArXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRXaWR0aEluUmFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNpemVSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoICsgbW91c2VNb3ZlRXZlbnQuY2xpZW50WCAtIGluaXRpYWxNb3VzZVgsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2VVcCQucGlwZShcbiAgICAgICAgICAgICAgbWFwKG1vdXNlVXBFdmVudCA9PiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlU3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScpO1xuICAgICAgICAgICAgICAgIHJlc2l6ZU1hcmtMaW5lLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICByZXNpemVPdmVybGF5LmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyV2lkdGhTdHlsZXMoXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldFdpZHRoSW5SYW5nZShcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoICsgbW91c2VVcEV2ZW50LmNsaWVudFggLSBpbml0aWFsTW91c2VYLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV4ZWMgPT4ge1xuICAgICAgICBleGVjKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZTogSFRNTERpdkVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhyZXNpemVIYW5kbGUsIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdoYW5kbGUnKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb2x1bW5FbGVtZW50LCByZXNpemVIYW5kbGUpO1xuXG4gICAgcmV0dXJuIHJlc2l6ZUhhbmRsZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplTWFya0xpbmUoaW5pdGlhbE9mZnNldDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWFya0xpbmU6IEhUTUxFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MobWFya0xpbmUsIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdtYXJrLWxpbmUnKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICBtYXJrTGluZSxcbiAgICAgICdsZWZ0JyxcbiAgICAgIGluaXRpYWxPZmZzZXQgLSBtYXJrTGluZVdpZHRoICsgJ3B4JyxcbiAgICApO1xuICAgIGlmICh0aGlzLmlzU3RpY2t5TGVmdEJvcmRlckNvbHVtbigpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhtYXJrTGluZSwgJ2luU3RpY2t5Qm9yZGVyRWxlbUxlZnQnKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCBtYXJrTGluZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnQ6IG1hcmtMaW5lLFxuICAgICAgdXBkYXRlT2Zmc2V0OiAob2Zmc2V0OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgICAgbWFya0xpbmUsXG4gICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgIG9mZnNldCAtIG1hcmtMaW5lV2lkdGggKyAncHgnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCBtYXJrTGluZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU92ZXJsYXkoKSB7XG4gICAgY29uc3QgcmVzaXplT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHJlc2l6ZU92ZXJsYXksIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdvdmVybGF5JykpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgcmVzaXplT3ZlcmxheSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnQ6IHJlc2l6ZU92ZXJsYXksXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgcmVzaXplT3ZlcmxheSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbldpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbk9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb2x1bW5FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWR0aEluUmFuZ2UoXG4gICAgW21pbldpZHRoLCBtYXhXaWR0aF06IFtudW1iZXIsIG51bWJlcl0sXG4gICAgd2lkdGg6IG51bWJlcixcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgod2lkdGgsIG1pbldpZHRoKSwgbWF4V2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXNpemVSYW5nZSgpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuZ2V0QWN0dWFsV2lkdGgodGhpcy5taW5XaWR0aCk7XG4gICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLmdldEFjdHVhbFdpZHRoKHRoaXMubWF4V2lkdGgpO1xuICAgIHJldHVybiBbbWluV2lkdGgsIG1heFdpZHRoXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0dWFsV2lkdGgod2lkdGg6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCclJykpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGggKiBwYXJzZUludCh3aWR0aC5zbGljZSgwLCAtMSkpKSAvIDEwMFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCdweCcpKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQod2lkdGguc2xpY2UoMCwgLTIpKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlSW50KHdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdGlja3lMZWZ0Qm9yZGVyQ29sdW1uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgJ2F1aS10YWJsZS1zdGlja3ktYm9yZGVyLWVsZW0tbGVmdCcsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyV2lkdGhTdHlsZXMod2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICk7XG4gICAgaWYgKCF0aGlzLmhvc3RBdHRyKSB7XG4gICAgICB0aGlzLmhvc3RBdHRyID0gYHRhYmxlLXJlc2l6YWJsZS0ke3RhYmxlQ29sdW1uUmVzaXphYmxlSUQrK31gO1xuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyLCAnJyk7XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlU3RyaW5nID0gYFxuICAgICBbJHt0aGlzLmhvc3RBdHRyfV0gLiR7Y2xhc3NOYW1lfSB7XG4gICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgICAgbWluLXdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgYDtcbiAgICBpZiAodGhpcy5zdHlsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc3R5bGVFbGVtZW50LmlubmVySFRNTCA9IHN0eWxlU3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0eWxlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICB0aGlzLnN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBzdHlsZVN0cmluZztcbiAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKFxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJyksXG4gICAgICAgIHRoaXMuc3R5bGVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICB9XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUVMLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUU3RCxJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUUvQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFNeEIsTUFBTSxPQUFPLDZCQUE2QjtJQUl4QyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBR2xCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFQSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEMsYUFBYSxHQUM1QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRWxCLGdCQUFnQixHQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FB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QUksQ0FBQyxRQUFRLE1BQU0sU0FBUzs7ZUFFekMsS0FBSzttQkFDRCxLQUFLO21CQUNMLEtBQUs7TUFDbEIsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO3VHQTNNVSw2QkFBNkI7MkZBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBS0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSwgZ2V0Q29tcGF0aWJsZVN0eWxlc1JlbmRlcmVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY29sdW1uLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFibGVCZW0sIFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG5sZXQgdGFibGVDb2x1bW5SZXNpemFibGVJRCA9IDA7XG5cbmNvbnN0IHJlc2l6YWJsZUJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUtY29sdW1uLXJlc2l6YWJsZScpO1xuY29uc3QgbWFya0xpbmVXaWR0aCA9IDE7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZUNvbHVtblJlc2l6YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblJlc2l6YWJsZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoID0gJzQwcHgnO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoID0gJzgwJSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb21wb25lbnQgPSBpbmplY3QoVGFibGVDb21wb25lbnQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29sdW1uRWxlbWVudDogSFRNTEVsZW1lbnQgPVxuICAgIGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQgPVxuICAgIHRoaXMudGFibGVDb21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdEF0dHIgPSBgdGFibGUtY29sdW1uLXJlc2l6YWJsZS0ke3RhYmxlQ29sdW1uUmVzaXphYmxlSUQrK31gO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlc1JlbmRlcmVyID0gZ2V0Q29tcGF0aWJsZVN0eWxlc1JlbmRlcmVyKCk7XG4gIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyLCAnJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGhpcy5ob3N0QXR0cik7XG4gICAgdGhpcy5zdHlsZXNSZW5kZXJlci5jbGVhbnVwKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG1vdXNlRG93bkV2ZW50ID0+IHtcbiAgICAgICAgICBtb3VzZURvd25FdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIG1vdXNlRG93bkV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgICBjb25zdCByZXNpemVSYW5nZSA9IHRoaXMuZ2V0UmVzaXplUmFuZ2UoKTtcbiAgICAgICAgICBjb25zdCBpbml0aWFsTW91c2VYID0gbW91c2VEb3duRXZlbnQuY2xpZW50WDtcbiAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IHRoaXMuZ2V0Q29sdW1uV2lkdGgoKTtcbiAgICAgICAgICBjb25zdCBjb2x1bW5PZmZzZXQgPSB0aGlzLmdldENvbHVtbk9mZnNldCgpO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU1hcmtMaW5lID0gdGhpcy5jcmVhdGVSZXNpemVNYXJrTGluZShcbiAgICAgICAgICAgIGNvbHVtbk9mZnNldCArIGNvbHVtbldpZHRoLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgcmVzaXplT3ZlcmxheSA9IHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuXG4gICAgICAgICAgY29uc3QgbW91c2VVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZXVwJykucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZVVwJCksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIG1vdXNlTW92ZSQucGlwZShcbiAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIG1vdXNlTW92ZUV2ZW50ID0+ICgpID0+XG4gICAgICAgICAgICAgICAgICByZXNpemVNYXJrTGluZS51cGRhdGVPZmZzZXQoXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbk9mZnNldCArXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRXaWR0aEluUmFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNpemVSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoICsgbW91c2VNb3ZlRXZlbnQuY2xpZW50WCAtIGluaXRpYWxNb3VzZVgsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2VVcCQucGlwZShcbiAgICAgICAgICAgICAgbWFwKG1vdXNlVXBFdmVudCA9PiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlU3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScpO1xuICAgICAgICAgICAgICAgIHJlc2l6ZU1hcmtMaW5lLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICByZXNpemVPdmVybGF5LmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyV2lkdGhTdHlsZXMoXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldFdpZHRoSW5SYW5nZShcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoICsgbW91c2VVcEV2ZW50LmNsaWVudFggLSBpbml0aWFsTW91c2VYLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV4ZWMgPT4ge1xuICAgICAgICBleGVjKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZTogSFRNTERpdkVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhyZXNpemVIYW5kbGUsIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdoYW5kbGUnKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb2x1bW5FbGVtZW50LCByZXNpemVIYW5kbGUpO1xuXG4gICAgcmV0dXJuIHJlc2l6ZUhhbmRsZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplTWFya0xpbmUoaW5pdGlhbE9mZnNldDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWFya0xpbmU6IEhUTUxFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MobWFya0xpbmUsIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdtYXJrLWxpbmUnKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICBtYXJrTGluZSxcbiAgICAgICdsZWZ0JyxcbiAgICAgIGluaXRpYWxPZmZzZXQgLSBtYXJrTGluZVdpZHRoICsgJ3B4JyxcbiAgICApO1xuICAgIGlmICh0aGlzLmlzU3RpY2t5TGVmdEJvcmRlckNvbHVtbigpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhtYXJrTGluZSwgJ2luU3RpY2t5Qm9yZGVyRWxlbUxlZnQnKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCBtYXJrTGluZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnQ6IG1hcmtMaW5lLFxuICAgICAgdXBkYXRlT2Zmc2V0OiAob2Zmc2V0OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgICAgbWFya0xpbmUsXG4gICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgIG9mZnNldCAtIG1hcmtMaW5lV2lkdGggKyAncHgnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCBtYXJrTGluZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU92ZXJsYXkoKSB7XG4gICAgY29uc3QgcmVzaXplT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHJlc2l6ZU92ZXJsYXksIHJlc2l6YWJsZUJlbS5lbGVtZW50KCdvdmVybGF5JykpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgcmVzaXplT3ZlcmxheSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnQ6IHJlc2l6ZU92ZXJsYXksXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgcmVzaXplT3ZlcmxheSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbldpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbk9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb2x1bW5FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWR0aEluUmFuZ2UoXG4gICAgW21pbldpZHRoLCBtYXhXaWR0aF06IFtudW1iZXIsIG51bWJlcl0sXG4gICAgd2lkdGg6IG51bWJlcixcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgod2lkdGgsIG1pbldpZHRoKSwgbWF4V2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXNpemVSYW5nZSgpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuZ2V0QWN0dWFsV2lkdGgodGhpcy5taW5XaWR0aCk7XG4gICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLmdldEFjdHVhbFdpZHRoKHRoaXMubWF4V2lkdGgpO1xuICAgIHJldHVybiBbbWluV2lkdGgsIG1heFdpZHRoXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0dWFsV2lkdGgod2lkdGg6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCclJykpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGggKiBwYXJzZUludCh3aWR0aC5zbGljZSgwLCAtMSkpKSAvIDEwMFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCdweCcpKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQod2lkdGguc2xpY2UoMCwgLTIpKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlSW50KHdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdGlja3lMZWZ0Qm9yZGVyQ29sdW1uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgJ2F1aS10YWJsZS1zdGlja3ktYm9yZGVyLWVsZW0tbGVmdCcsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyV2lkdGhTdHlsZXMod2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICk7XG5cbiAgICBjb25zdCBzdHlsZVN0cmluZyA9IGBbJHt0aGlzLmhvc3RBdHRyfV0gLiR7Y2xhc3NOYW1lfSB7XG4gICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgICAgbWluLXdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICB9YDtcblxuICAgIHRoaXMuc3R5bGVzUmVuZGVyZXIucmVuZGVyKHN0eWxlU3RyaW5nKTtcbiAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICB9XG59XG4iXX0=
@@ -5,5 +5,6 @@ export * from './fn';
5
5
  export * from './observe-dom';
6
6
  export * from './operators';
7
7
  export * from './scroll-into-view';
8
+ export * from './styles-render';
8
9
  export * from './watch-content-exist';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL2JlbSc7XG5leHBvcnQgKiBmcm9tICcuL2NvZXJjaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZm4nO1xuZXhwb3J0ICogZnJvbSAnLi9vYnNlcnZlLWRvbSc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbC1pbnRvLXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi93YXRjaC1jb250ZW50LWV4aXN0JztcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jJztcbmV4cG9ydCAqIGZyb20gJy4vYmVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29lcmNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9mbic7XG5leHBvcnQgKiBmcm9tICcuL29ic2VydmUtZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLWludG8tdmlldyc7XG5leHBvcnQgKiBmcm9tICcuL3N0eWxlcy1yZW5kZXInO1xuZXhwb3J0ICogZnJvbSAnLi93YXRjaC1jb250ZW50LWV4aXN0JztcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ export function getCompatibleStylesRenderer() {
2
+ if ('CSSStyleSheet' in self && 'adoptedStyleSheets' in document) {
3
+ return new CSSStyleSheetRenderer();
4
+ }
5
+ return new StylesRenderer();
6
+ }
7
+ export class StylesRenderer {
8
+ styleElement;
9
+ render(styles) {
10
+ if (!this.styleElement) {
11
+ this.styleElement = document.createElement('style');
12
+ document.head.append(this.styleElement);
13
+ }
14
+ this.styleElement.innerHTML = styles;
15
+ }
16
+ cleanup() {
17
+ if (this.styleElement) {
18
+ this.styleElement.remove();
19
+ }
20
+ }
21
+ }
22
+ export class CSSStyleSheetRenderer {
23
+ options;
24
+ styleSheet;
25
+ constructor(options) {
26
+ this.options = options;
27
+ }
28
+ render(styles) {
29
+ if (!this.styleSheet) {
30
+ this.styleSheet = new CSSStyleSheet(this.options);
31
+ document.adoptedStyleSheets = [
32
+ ...document.adoptedStyleSheets,
33
+ this.styleSheet,
34
+ ];
35
+ }
36
+ this.styleSheet.replaceSync(styles);
37
+ }
38
+ cleanup() {
39
+ if (this.styleSheet) {
40
+ const i = document.adoptedStyleSheets.indexOf(this.styleSheet);
41
+ document.adoptedStyleSheets.splice(i, 1);
42
+ }
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLXJlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zdHlsZXMtcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsSUFBSSxlQUFlLElBQUksSUFBSSxJQUFJLG9CQUFvQixJQUFJLFFBQVEsRUFBRTtRQUMvRCxPQUFPLElBQUkscUJBQXFCLEVBQUUsQ0FBQztLQUNwQztJQUNELE9BQU8sSUFBSSxjQUFjLEVBQUUsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFDakIsWUFBWSxDQUFtQjtJQUV2QyxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBR0g7SUFGckIsVUFBVSxDQUFnQjtJQUVsQyxZQUE2QixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUFHLENBQUM7SUFFNUQsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsUUFBUSxDQUFDLGtCQUFrQixHQUFHO2dCQUM1QixHQUFHLFFBQVEsQ0FBQyxrQkFBa0I7Z0JBQzlCLElBQUksQ0FBQyxVQUFVO2FBQ2hCLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBhdGlibGVTdHlsZXNSZW5kZXJlcigpIHtcbiAgaWYgKCdDU1NTdHlsZVNoZWV0JyBpbiBzZWxmICYmICdhZG9wdGVkU3R5bGVTaGVldHMnIGluIGRvY3VtZW50KSB7XG4gICAgcmV0dXJuIG5ldyBDU1NTdHlsZVNoZWV0UmVuZGVyZXIoKTtcbiAgfVxuICByZXR1cm4gbmV3IFN0eWxlc1JlbmRlcmVyKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdHlsZXNSZW5kZXJlciBpbXBsZW1lbnRzIFJlbmRlcmVyIHtcbiAgcHJpdmF0ZSBzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQ7XG5cbiAgcmVuZGVyKHN0eWxlczogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBzdHlsZXM7XG4gIH1cblxuICBjbGVhbnVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5zdHlsZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDU1NTdHlsZVNoZWV0UmVuZGVyZXIgaW1wbGVtZW50cyBSZW5kZXJlciB7XG4gIHByaXZhdGUgc3R5bGVTaGVldDogQ1NTU3R5bGVTaGVldDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM/OiBDU1NTdHlsZVNoZWV0SW5pdCkge31cblxuICByZW5kZXIoc3R5bGVzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3R5bGVTaGVldCkge1xuICAgICAgdGhpcy5zdHlsZVNoZWV0ID0gbmV3IENTU1N0eWxlU2hlZXQodGhpcy5vcHRpb25zKTtcbiAgICAgIGRvY3VtZW50LmFkb3B0ZWRTdHlsZVNoZWV0cyA9IFtcbiAgICAgICAgLi4uZG9jdW1lbnQuYWRvcHRlZFN0eWxlU2hlZXRzLFxuICAgICAgICB0aGlzLnN0eWxlU2hlZXQsXG4gICAgICBdO1xuICAgIH1cbiAgICB0aGlzLnN0eWxlU2hlZXQucmVwbGFjZVN5bmMoc3R5bGVzKTtcbiAgfVxuXG4gIGNsZWFudXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3R5bGVTaGVldCkge1xuICAgICAgY29uc3QgaSA9IGRvY3VtZW50LmFkb3B0ZWRTdHlsZVNoZWV0cy5pbmRleE9mKHRoaXMuc3R5bGVTaGVldCk7XG4gICAgICBkb2N1bWVudC5hZG9wdGVkU3R5bGVTaGVldHMuc3BsaWNlKGksIDEpO1xuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgUmVuZGVyZXIge1xuICByZW5kZXIoc3R5bGVzOiBzdHJpbmcpOiB2b2lkO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG4iXX0=
@@ -316,6 +316,51 @@ function scrollIntoView(container, selected) {
316
316
  }
317
317
  }
318
318
 
319
+ function getCompatibleStylesRenderer() {
320
+ if ('CSSStyleSheet' in self && 'adoptedStyleSheets' in document) {
321
+ return new CSSStyleSheetRenderer();
322
+ }
323
+ return new StylesRenderer();
324
+ }
325
+ class StylesRenderer {
326
+ styleElement;
327
+ render(styles) {
328
+ if (!this.styleElement) {
329
+ this.styleElement = document.createElement('style');
330
+ document.head.append(this.styleElement);
331
+ }
332
+ this.styleElement.innerHTML = styles;
333
+ }
334
+ cleanup() {
335
+ if (this.styleElement) {
336
+ this.styleElement.remove();
337
+ }
338
+ }
339
+ }
340
+ class CSSStyleSheetRenderer {
341
+ options;
342
+ styleSheet;
343
+ constructor(options) {
344
+ this.options = options;
345
+ }
346
+ render(styles) {
347
+ if (!this.styleSheet) {
348
+ this.styleSheet = new CSSStyleSheet(this.options);
349
+ document.adoptedStyleSheets = [
350
+ ...document.adoptedStyleSheets,
351
+ this.styleSheet,
352
+ ];
353
+ }
354
+ this.styleSheet.replaceSync(styles);
355
+ }
356
+ cleanup() {
357
+ if (this.styleSheet) {
358
+ const i = document.adoptedStyleSheets.indexOf(this.styleSheet);
359
+ document.adoptedStyleSheets.splice(i, 1);
360
+ }
361
+ }
362
+ }
363
+
319
364
  function watchContentExist(queryList) {
320
365
  return queryList.changes.pipe(startWith(queryList), map((list) => !!list.length), publishRef());
321
366
  }
@@ -10248,19 +10293,20 @@ class TableColumnResizableDirective {
10248
10293
  tableComponent = inject(TableComponent);
10249
10294
  columnElement = inject(ElementRef).nativeElement;
10250
10295
  containerElement = this.tableComponent.elementRef.nativeElement;
10251
- styleElement;
10252
- hostAttr;
10296
+ hostAttr = `table-column-resizable-${tableColumnResizableID++}`;
10297
+ stylesRenderer = getCompatibleStylesRenderer();
10253
10298
  resizeSubscription;
10299
+ ngOnInit() {
10300
+ this.containerElement.setAttribute(this.hostAttr, '');
10301
+ }
10254
10302
  ngAfterViewInit() {
10255
10303
  const resizeHandle = this.createResizeHandle();
10256
10304
  this.bindResizable(resizeHandle);
10257
10305
  }
10258
10306
  ngOnDestroy() {
10259
10307
  this.resizeSubscription?.unsubscribe();
10260
- this.styleElement?.remove();
10261
- if (this.hostAttr) {
10262
- this.containerElement.removeAttribute(this.hostAttr);
10263
- }
10308
+ this.containerElement.removeAttribute(this.hostAttr);
10309
+ this.stylesRenderer.cleanup();
10264
10310
  }
10265
10311
  bindResizable(resizeHandle) {
10266
10312
  this.resizeSubscription = fromEvent(resizeHandle, 'mousedown')
@@ -10355,26 +10401,13 @@ class TableColumnResizableDirective {
10355
10401
  }
10356
10402
  renderWidthStyles(width) {
10357
10403
  const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
10358
- if (!this.hostAttr) {
10359
- this.hostAttr = `table-resizable-${tableColumnResizableID++}`;
10360
- this.containerElement.setAttribute(this.hostAttr, '');
10361
- }
10362
- const styleString = `
10363
- [${this.hostAttr}] .${className} {
10404
+ const styleString = `[${this.hostAttr}] .${className} {
10364
10405
  flex: none !important;
10365
10406
  width: ${width}px !important;
10366
10407
  min-width: ${width}px !important;
10367
10408
  max-width: ${width}px !important;
10368
- }
10369
- `;
10370
- if (this.styleElement) {
10371
- this.styleElement.innerHTML = styleString;
10372
- }
10373
- else {
10374
- this.styleElement = this.renderer2.createElement('style');
10375
- this.styleElement.innerHTML = styleString;
10376
- this.renderer2.appendChild(document.querySelector('head'), this.styleElement);
10377
- }
10409
+ }`;
10410
+ this.stylesRenderer.render(styleString);
10378
10411
  this.tableComponent.updateStickyColumnStyles();
10379
10412
  }
10380
10413
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -12624,5 +12657,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
12624
12657
  }]
12625
12658
  }] });
12626
12659
 
12627
- export { ACCORDION_MODULE, ANCHOR_MODULE, AUTOCOMPLETE_MODULE, AccordionComponent, AccordionItemComponent, AccordionItemContentDirective, AccordionItemHeaderDirective, AccordionModule, AnchorComponent, AnchorDirective, AnchorDirectiveChild, AnchorLabelDirective, AnchorModule, AnchorTreeComponent, AuiSelectValidators, AutoCompleteDirective, AutocompleteComponent, AutocompleteModule, AutocompletePlaceholderComponent, AutosizeDirective, BREADCRUMB_MODULE, BackTopComponent, BackTopModule, BaseDialogConfig, BaseTooltip, Bem, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonModule, ButtonType, CARD_MODULE, CHECKBOX_MODULE, CONTROL_ITEM_HEIGHT, CalendarFooterComponent, CalendarHeaderComponent, CardComponent, CardFooterDirective, CardHeaderDirective, CardModule, CheckTagComponent, CheckboxComponent, CheckboxGroupComponent, CheckboxModule, ColorPickerComponent, ColorPickerModule, CommonFormControl, ComponentSize, ConfirmDialogConfig, ConfirmType, CssVarPipe, CustomAutoCompleteDirective, DATE, DATE_NAV_RANGES, DATE_TYPES, DAY, DAY_PANEL_COLUMN_COUNT, DAY_PANEL_ROW_COUNT, DIALOG_DATA, DISPLAY_DELAY, DateNavRange, DatePickerComponent, DatePickerModule, DatePickerPanelComponent, DatePickerTriggerComponent, DatePickerType, DateRangePickerPanelComponent, DialogCloseDirective, DialogComponent, DialogConfig, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, DialogModule, DialogRef, DialogService, DialogSize, DrawerComponent, DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, DrawerModule, DrawerRef, DrawerService, DrawerSize, DropdownActiveDirective, DropdownButtonComponent, DropdownDirective, DropdownModule, FORM_MODULE, FixedSizeTableVirtualScrollDirective, FixedSizeTableVirtualScrollStrategy, FixedSizeVirtualScrollDirective, FormDirective, FormItemAddonDirective, FormItemComponent, FormItemControlDirective, FormItemErrorDirective, FormItemHintDirective, FormItemLabelDirective, FormItemWidth, FormModule, HIDDEN_DELAY, HOUR, HOUR_ITEMS, I18NInterfaceToken, I18nModule, I18nPipe, I18nService, INLINE_ALERT_MODULE, INPUT_ERROR_KEY, INPUT_GROUP_MODULE, IconComponent, IconModule, IconRegisterService, IncludesDirective, InlineAlertComponent, InlineAlertModule, InlineAlertTitleDirective, InlineAlertType, InputAddonAfterDirective, InputAddonBeforeDirective, InputComponent, InputGroupComponent, InputModule, InputPrefixDirective, InputSuffixDirective, LabelPosition, MESSAGE_CONFIG, MESSAGE_DEFAULT_CONFIG, MINUTE, MINUTE_ITEMS, MONTH, MONTH_PANEL_COLUMN_COUNT, MONTH_PANEL_ROW_COUNT, MenuComponent, MenuGroupComponent, MenuGroupTitleDirective, MenuItemComponent, MenuItemType, MessageConfig, MessageModule, MessageService, MessageType, MultiSelectComponent, NOTIFICATION_CONFIG, NOTIFICATION_DEFAULT_CONFIG, NUMBER_INPUT_MODULE, NotificationComponent, NotificationModule, NotificationService, NumberInputComponent, OptionComponent, OptionContentDirective, OptionGroupComponent, OptionGroupTitleDirective, OptionPlaceholderComponent, PaginatorComponent, PaginatorIntl, PaginatorModule, PickerPanelComponent, RadioButtonComponent, RadioComponent, RadioGroupComponent, RadioModule, RadioSize, RangePickerComponent, RgbColorPipe, RgbaColorPipe, SECOND, SECOND_ITEMS, SELECT_MODULE, SORT_MODULE, ScrollingModule, SearchComponent, SectionComponent, SectionTitleDirective, SelectAllStatus, SelectComponent, SelectModule, Side, SortDirective, SortHeaderComponent, SortModule, StatusBarComponent, StatusBarModule, StatusBarSize, StatusType, StepState, StepsComponent, StepsModule, SubmenuComponent, SuggestionComponent, SuggestionGroupComponent, SuggestionGroupTitleDirective, SwitchComponent, SwitchModule, TABLE_MODULE, TABLE_OF_CONTENTS_MODULE, TABS_MODULE, TabBodyComponent, TabBodyPortalDirective, TabChangeEvent, TabComponent, TabContentDirective, TabContextService, TabGroupComponent, TabHeaderActiveIndicatorComponent, TabHeaderAddonDirective, TabHeaderComponent, TabLabelDirective, TabLabelWrapperDirective, TabSize, TabTitleDirective, TabType, TableCellDefDirective, TableCellDirective, TableColumnDefDirective, TableColumnResizableDirective, TableComponent, TableExpandButtonCellComponent, TableExpandPanelCellComponent, TableHeaderCellDefDirective, TableHeaderCellDirective, TableHeaderRowComponent, TableHeaderRowDefDirective, TableModule, TableOfContentsModule, TablePlaceholderDefDirective, TablePlaceholderOutletDirective, TableRowComponent, TableRowDefDirective, TableScrollWrapperDirective, TableScrollableDirective, TabsModule, TagComponent, TagModule, TagType, TagsInputComponent, ThemeModule, ThemePickerPipe, ThemeService, TimePickerComponent, TimePickerControlType, TimePickerModule, TimePickerPanelComponent, TocContainerDirective, TocContentDirective, TocLinkDirective, TooltipActiveDirective, TooltipComponent, TooltipCopyDirective, TooltipCopyIntl, TooltipDirective, TooltipModule, TooltipTrigger, TooltipType, TreeNodeComponent, TreeNodePlaceholderComponent, TreeSelectComponent, TreeSelectModule, VirtualForOfDirective, VirtualScrollViewportComponent, YEAR, YEAR_PANEL_COLUMN_COUNT, YEAR_PANEL_ROW_COUNT, _tableVirtualScrollDirectiveStrategyFactory, buildBem, coerceAttrBoolean, coerceString, cssVar, en, getAnchorTreeItems, getElementOffset, getSortDuplicateSortableIdError, getSortHeaderMissingIdError, getSortHeaderNotContainedWithinSortError, getSortInvalidDirectionError, handlePixel, isNumberValue, isString, isTemplateRef, isTimePickerModel, last, observeMutationOn, observeResizeOn, publishRef, rgbColor, rgbaColor, scrollIntoView, sleep, watchContentExist, zh };
12660
+ export { ACCORDION_MODULE, ANCHOR_MODULE, AUTOCOMPLETE_MODULE, AccordionComponent, AccordionItemComponent, AccordionItemContentDirective, AccordionItemHeaderDirective, AccordionModule, AnchorComponent, AnchorDirective, AnchorDirectiveChild, AnchorLabelDirective, AnchorModule, AnchorTreeComponent, AuiSelectValidators, AutoCompleteDirective, AutocompleteComponent, AutocompleteModule, AutocompletePlaceholderComponent, AutosizeDirective, BREADCRUMB_MODULE, BackTopComponent, BackTopModule, BaseDialogConfig, BaseTooltip, Bem, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonModule, ButtonType, CARD_MODULE, CHECKBOX_MODULE, CONTROL_ITEM_HEIGHT, CSSStyleSheetRenderer, CalendarFooterComponent, CalendarHeaderComponent, CardComponent, CardFooterDirective, CardHeaderDirective, CardModule, CheckTagComponent, CheckboxComponent, CheckboxGroupComponent, CheckboxModule, ColorPickerComponent, ColorPickerModule, CommonFormControl, ComponentSize, ConfirmDialogConfig, ConfirmType, CssVarPipe, CustomAutoCompleteDirective, DATE, DATE_NAV_RANGES, DATE_TYPES, DAY, DAY_PANEL_COLUMN_COUNT, DAY_PANEL_ROW_COUNT, DIALOG_DATA, DISPLAY_DELAY, DateNavRange, DatePickerComponent, DatePickerModule, DatePickerPanelComponent, DatePickerTriggerComponent, DatePickerType, DateRangePickerPanelComponent, DialogCloseDirective, DialogComponent, DialogConfig, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, DialogModule, DialogRef, DialogService, DialogSize, DrawerComponent, DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, DrawerModule, DrawerRef, DrawerService, DrawerSize, DropdownActiveDirective, DropdownButtonComponent, DropdownDirective, DropdownModule, FORM_MODULE, FixedSizeTableVirtualScrollDirective, FixedSizeTableVirtualScrollStrategy, FixedSizeVirtualScrollDirective, FormDirective, FormItemAddonDirective, FormItemComponent, FormItemControlDirective, FormItemErrorDirective, FormItemHintDirective, FormItemLabelDirective, FormItemWidth, FormModule, HIDDEN_DELAY, HOUR, HOUR_ITEMS, I18NInterfaceToken, I18nModule, I18nPipe, I18nService, INLINE_ALERT_MODULE, INPUT_ERROR_KEY, INPUT_GROUP_MODULE, IconComponent, IconModule, IconRegisterService, IncludesDirective, InlineAlertComponent, InlineAlertModule, InlineAlertTitleDirective, InlineAlertType, InputAddonAfterDirective, InputAddonBeforeDirective, InputComponent, InputGroupComponent, InputModule, InputPrefixDirective, InputSuffixDirective, LabelPosition, MESSAGE_CONFIG, MESSAGE_DEFAULT_CONFIG, MINUTE, MINUTE_ITEMS, MONTH, MONTH_PANEL_COLUMN_COUNT, MONTH_PANEL_ROW_COUNT, MenuComponent, MenuGroupComponent, MenuGroupTitleDirective, MenuItemComponent, MenuItemType, MessageConfig, MessageModule, MessageService, MessageType, MultiSelectComponent, NOTIFICATION_CONFIG, NOTIFICATION_DEFAULT_CONFIG, NUMBER_INPUT_MODULE, NotificationComponent, NotificationModule, NotificationService, NumberInputComponent, OptionComponent, OptionContentDirective, OptionGroupComponent, OptionGroupTitleDirective, OptionPlaceholderComponent, PaginatorComponent, PaginatorIntl, PaginatorModule, PickerPanelComponent, RadioButtonComponent, RadioComponent, RadioGroupComponent, RadioModule, RadioSize, RangePickerComponent, RgbColorPipe, RgbaColorPipe, SECOND, SECOND_ITEMS, SELECT_MODULE, SORT_MODULE, ScrollingModule, SearchComponent, SectionComponent, SectionTitleDirective, SelectAllStatus, SelectComponent, SelectModule, Side, SortDirective, SortHeaderComponent, SortModule, StatusBarComponent, StatusBarModule, StatusBarSize, StatusType, StepState, StepsComponent, StepsModule, StylesRenderer, SubmenuComponent, SuggestionComponent, SuggestionGroupComponent, SuggestionGroupTitleDirective, SwitchComponent, SwitchModule, TABLE_MODULE, TABLE_OF_CONTENTS_MODULE, TABS_MODULE, TabBodyComponent, TabBodyPortalDirective, TabChangeEvent, TabComponent, TabContentDirective, TabContextService, TabGroupComponent, TabHeaderActiveIndicatorComponent, TabHeaderAddonDirective, TabHeaderComponent, TabLabelDirective, TabLabelWrapperDirective, TabSize, TabTitleDirective, TabType, TableCellDefDirective, TableCellDirective, TableColumnDefDirective, TableColumnResizableDirective, TableComponent, TableExpandButtonCellComponent, TableExpandPanelCellComponent, TableHeaderCellDefDirective, TableHeaderCellDirective, TableHeaderRowComponent, TableHeaderRowDefDirective, TableModule, TableOfContentsModule, TablePlaceholderDefDirective, TablePlaceholderOutletDirective, TableRowComponent, TableRowDefDirective, TableScrollWrapperDirective, TableScrollableDirective, TabsModule, TagComponent, TagModule, TagType, TagsInputComponent, ThemeModule, ThemePickerPipe, ThemeService, TimePickerComponent, TimePickerControlType, TimePickerModule, TimePickerPanelComponent, TocContainerDirective, TocContentDirective, TocLinkDirective, TooltipActiveDirective, TooltipComponent, TooltipCopyDirective, TooltipCopyIntl, TooltipDirective, TooltipModule, TooltipTrigger, TooltipType, TreeNodeComponent, TreeNodePlaceholderComponent, TreeSelectComponent, TreeSelectModule, VirtualForOfDirective, VirtualScrollViewportComponent, YEAR, YEAR_PANEL_COLUMN_COUNT, YEAR_PANEL_ROW_COUNT, _tableVirtualScrollDirectiveStrategyFactory, buildBem, coerceAttrBoolean, coerceString, cssVar, en, getAnchorTreeItems, getCompatibleStylesRenderer, getElementOffset, getSortDuplicateSortableIdError, getSortHeaderMissingIdError, getSortHeaderNotContainedWithinSortError, getSortInvalidDirectionError, handlePixel, isNumberValue, isString, isTemplateRef, isTimePickerModel, last, observeMutationOn, observeResizeOn, publishRef, rgbColor, rgbaColor, scrollIntoView, sleep, watchContentExist, zh };
12628
12661
  //# sourceMappingURL=alauda-ui.mjs.map