@bravura/ui 5.2.3 → 6.0.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 (140) hide show
  1. package/CHANGELOG.md +630 -616
  2. package/README.md +56 -56
  3. package/_index.scss +5 -5
  4. package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -1
  5. package/fesm2022/bravura-ui-alert.mjs +13 -13
  6. package/fesm2022/bravura-ui-alert.mjs.map +1 -1
  7. package/fesm2022/bravura-ui-behavior.mjs +25 -21
  8. package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
  9. package/fesm2022/bravura-ui-clip-note.mjs +15 -14
  10. package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
  11. package/fesm2022/bravura-ui-common.mjs +5 -5
  12. package/fesm2022/bravura-ui-common.mjs.map +1 -1
  13. package/fesm2022/bravura-ui-currency-input.mjs +10 -9
  14. package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
  15. package/fesm2022/bravura-ui-decimal-input.mjs +10 -9
  16. package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
  17. package/fesm2022/bravura-ui-discrete-input.mjs +9 -9
  18. package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
  19. package/fesm2022/bravura-ui-file-upload.mjs +12 -12
  20. package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
  21. package/fesm2022/bravura-ui-form-field.mjs +14 -13
  22. package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
  23. package/fesm2022/bravura-ui-icon-font.mjs +10 -9
  24. package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
  25. package/fesm2022/bravura-ui-panel.mjs +18 -17
  26. package/fesm2022/bravura-ui-panel.mjs.map +1 -1
  27. package/fesm2022/bravura-ui-phone-number.mjs +20 -17
  28. package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
  29. package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -1
  30. package/fesm2022/bravura-ui-radio-panel.mjs +14 -14
  31. package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
  32. package/fesm2022/bravura-ui-selection-panel.mjs +14 -13
  33. package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
  34. package/fesm2022/bravura-ui-skeletons.mjs +18 -13
  35. package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
  36. package/fesm2022/bravura-ui-stepper.mjs +30 -28
  37. package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
  38. package/fesm2022/bravura-ui-tooltip.mjs +14 -13
  39. package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
  40. package/m3-theme.scss +155 -155
  41. package/package.json +12 -52
  42. package/radio-panel/_radio-panel-theme.scss +11 -11
  43. package/selection-panel/_selection-panel-theme.scss +33 -33
  44. package/stepper/_stepper-theme.scss +20 -20
  45. package/stepper/public-api.d.ts +1 -1
  46. package/stepper/{step-label-prefix.directive.d.ts → step-label-top.directive.d.ts} +5 -5
  47. package/stepper/stepper.module.d.ts +2 -2
  48. package/theme/_ui-theme-legacy.scss +112 -112
  49. package/theme/_ui-theme.scss +101 -101
  50. package/esm2022/alert/alert-container.component.mjs +0 -207
  51. package/esm2022/alert/alert-message.component.mjs +0 -101
  52. package/esm2022/alert/alert.module.mjs +0 -22
  53. package/esm2022/alert/bravura-ui-alert.mjs +0 -5
  54. package/esm2022/alert/public-api.mjs +0 -2
  55. package/esm2022/alert/testing/bravura-ui-alert-testing.mjs +0 -5
  56. package/esm2022/alert/testing/test-api.mjs +0 -44
  57. package/esm2022/behavior/await.directive.mjs +0 -133
  58. package/esm2022/behavior/behavior.module.mjs +0 -37
  59. package/esm2022/behavior/bravura-ui-behavior.mjs +0 -5
  60. package/esm2022/behavior/observe-content-class.directive.mjs +0 -63
  61. package/esm2022/behavior/public-api.mjs +0 -6
  62. package/esm2022/behavior/sizing-monitor.directive.mjs +0 -31
  63. package/esm2022/behavior/sizing.directive.mjs +0 -256
  64. package/esm2022/bravura-ui.mjs +0 -5
  65. package/esm2022/clip-note/bravura-ui-clip-note.mjs +0 -5
  66. package/esm2022/clip-note/clip-note.component.mjs +0 -216
  67. package/esm2022/clip-note/clip-note.directive.mjs +0 -141
  68. package/esm2022/clip-note/clip-note.module.mjs +0 -32
  69. package/esm2022/clip-note/public-api.mjs +0 -2
  70. package/esm2022/common/bravura-ui-common.mjs +0 -5
  71. package/esm2022/common/common-utils.mjs +0 -34
  72. package/esm2022/common/common.module.mjs +0 -53
  73. package/esm2022/common/public-api.mjs +0 -3
  74. package/esm2022/currency-input/bravura-ui-currency-input.mjs +0 -5
  75. package/esm2022/currency-input/currency-input.directive.mjs +0 -276
  76. package/esm2022/currency-input/currency-input.module.mjs +0 -19
  77. package/esm2022/currency-input/public-api.mjs +0 -2
  78. package/esm2022/decimal-input/bravura-ui-decimal-input.mjs +0 -5
  79. package/esm2022/decimal-input/decimal-input.directive.mjs +0 -122
  80. package/esm2022/decimal-input/decimal-input.module.mjs +0 -19
  81. package/esm2022/decimal-input/public-api.mjs +0 -2
  82. package/esm2022/discrete-input/bravura-ui-discrete-input.mjs +0 -5
  83. package/esm2022/discrete-input/discrete-input.component.mjs +0 -337
  84. package/esm2022/discrete-input/discrete-input.module.mjs +0 -21
  85. package/esm2022/discrete-input/public-api.mjs +0 -3
  86. package/esm2022/file-upload/bravura-ui-file-upload.mjs +0 -5
  87. package/esm2022/file-upload/file-upload.component.mjs +0 -400
  88. package/esm2022/file-upload/file-upload.module.mjs +0 -44
  89. package/esm2022/file-upload/file-upload.service.mjs +0 -29
  90. package/esm2022/file-upload/public-api.mjs +0 -7
  91. package/esm2022/form-field/bravura-ui-form-field.mjs +0 -5
  92. package/esm2022/form-field/form-field.component.mjs +0 -82
  93. package/esm2022/form-field/form-field.module.mjs +0 -33
  94. package/esm2022/form-field/public-api.mjs +0 -3
  95. package/esm2022/icon-font/bravura-ui-icon-font.mjs +0 -5
  96. package/esm2022/icon-font/icon-font.module.mjs +0 -22
  97. package/esm2022/icon-font/icon.directive.mjs +0 -102
  98. package/esm2022/icon-font/public-api.mjs +0 -4
  99. package/esm2022/icon-font/utilities.mjs +0 -51
  100. package/esm2022/panel/bravura-ui-panel.mjs +0 -5
  101. package/esm2022/panel/panel-section.component.mjs +0 -41
  102. package/esm2022/panel/panel.component.mjs +0 -87
  103. package/esm2022/panel/panel.module.mjs +0 -23
  104. package/esm2022/panel/public-api.mjs +0 -2
  105. package/esm2022/panel/tinted.directive.mjs +0 -60
  106. package/esm2022/phone-number/bravura-ui-phone-number.mjs +0 -5
  107. package/esm2022/phone-number/phone-number.directive.mjs +0 -188
  108. package/esm2022/phone-number/phone-number.module.mjs +0 -24
  109. package/esm2022/phone-number/phone-number.pipe.mjs +0 -47
  110. package/esm2022/phone-number/phone-number.validator.mjs +0 -64
  111. package/esm2022/phone-number/public-api.mjs +0 -2
  112. package/esm2022/public-api.mjs +0 -2
  113. package/esm2022/radio-panel/bravura-ui-radio-panel.mjs +0 -5
  114. package/esm2022/radio-panel/public-api.mjs +0 -4
  115. package/esm2022/radio-panel/radio-panel-item.component.mjs +0 -93
  116. package/esm2022/radio-panel/radio-panel.component.mjs +0 -81
  117. package/esm2022/radio-panel/radio-panel.module.mjs +0 -25
  118. package/esm2022/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -5
  119. package/esm2022/radio-panel/testing/test-api.mjs +0 -46
  120. package/esm2022/selection-panel/bravura-ui-selection-panel.mjs +0 -5
  121. package/esm2022/selection-panel/public-api.mjs +0 -4
  122. package/esm2022/selection-panel/selection-panel-item.component.mjs +0 -163
  123. package/esm2022/selection-panel/selection-panel.directive.mjs +0 -119
  124. package/esm2022/selection-panel/selection-panel.module.mjs +0 -23
  125. package/esm2022/skeletons/bravura-ui-skeletons.mjs +0 -5
  126. package/esm2022/skeletons/public-api.mjs +0 -4
  127. package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +0 -83
  128. package/esm2022/skeletons/skeleton-loader.component.mjs +0 -76
  129. package/esm2022/skeletons/skeletons.module.mjs +0 -35
  130. package/esm2022/stepper/bravura-ui-stepper.mjs +0 -5
  131. package/esm2022/stepper/public-api.mjs +0 -4
  132. package/esm2022/stepper/step-label-prefix.directive.mjs +0 -40
  133. package/esm2022/stepper/stepper-animation.mjs +0 -23
  134. package/esm2022/stepper/stepper.component.mjs +0 -178
  135. package/esm2022/stepper/stepper.module.mjs +0 -53
  136. package/esm2022/tooltip/bravura-ui-tooltip.mjs +0 -5
  137. package/esm2022/tooltip/public-api.mjs +0 -4
  138. package/esm2022/tooltip/tooltip.component.mjs +0 -63
  139. package/esm2022/tooltip/tooltip.directive.mjs +0 -150
  140. package/esm2022/tooltip/tooltip.module.mjs +0 -25
@@ -1,133 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, Inject, Input, Optional } from '@angular/core';
3
- import { MatProgressSpinner } from '@angular/material/progress-spinner';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/button";
6
- /**
7
- * Use this directive on a `MatButton` element to provide an alternative view when an async operation is in progress.
8
- *
9
- * For example:
10
- *
11
- * ```
12
- * <button (click)="submit();" [buiAwait]="submitSubscription" buiAwaitAriaLabel="submitting">Submit</button>
13
- * ```
14
- *
15
- * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)
16
- * for more details of integrating circular spinner component with action buttons.
17
- *
18
- * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to
19
- *
20
- * - `true`; or
21
- * - a `number` within 0 - 100; or
22
- * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy
23
- *
24
- * When in progress
25
- *
26
- * - the button's caption will be hidden;
27
- * - a `<mat-progress-spinner>` will be displayed in place of the caption;
28
- * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
29
- */
30
- export class AwaitDirective {
31
- constructor(_eRef, _button, _iconButton, _iconAnchor, _fab, _fabAnchor, _miniFab, _miniFabAnchor, doc, _viewCont) {
32
- this._eRef = _eRef;
33
- this._button = _button;
34
- this._iconButton = _iconButton;
35
- this._iconAnchor = _iconAnchor;
36
- this._fab = _fab;
37
- this._fabAnchor = _fabAnchor;
38
- this._miniFab = _miniFab;
39
- this._miniFabAnchor = _miniFabAnchor;
40
- this.doc = doc;
41
- this._viewCont = _viewCont;
42
- /** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
43
- this.buiAwaitAriaLabel = 'In progress';
44
- /** The diameter of the in-progress spinner. The default value is `20`. */
45
- this.buiAwaitDiameter = 20;
46
- this._processing = false;
47
- this.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;
48
- if (!this.button) {
49
- console.error('[buiAwait] can only be used on a Material button.');
50
- return;
51
- }
52
- }
53
- /** @ignore */
54
- ngAfterViewInit() {
55
- if (this.button) {
56
- this._overlayEl = this.doc.createElement('div');
57
- this._eRef.nativeElement.appendChild(this._overlayEl);
58
- this._overlayEl.classList.add('bui-await-overlay');
59
- this._overlayEl.style.cssText =
60
- 'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
61
- this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon');
62
- }
63
- }
64
- /** @ignore */
65
- ngDoCheck() {
66
- const inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait.closed) || this._isDeterminate;
67
- if (inProgress !== this._processing) {
68
- this._processing = inProgress;
69
- this._statusChanged(this._isDeterminate ? 'determinate' : 'indeterminate');
70
- }
71
- if (this._isDeterminate && this._spinnerRef) {
72
- this._spinnerRef.setInput('value', this.buiAwait);
73
- }
74
- }
75
- /** @ignore */
76
- get _isDeterminate() {
77
- return typeof this.buiAwait === 'number' && this.buiAwait >= 0 && this.buiAwait < 100;
78
- }
79
- _statusChanged(mode) {
80
- if (this.button) {
81
- this.button.disabled = this._processing;
82
- if (this._processing) {
83
- this._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);
84
- const c = this._spinnerRef.instance;
85
- c.diameter = this.buiAwaitDiameter;
86
- c.mode = mode;
87
- c.color = this.button.color;
88
- const e = this._spinnerRef.location.nativeElement;
89
- e.setAttribute('aria-label', this.buiAwaitAriaLabel);
90
- this._overlayEl.appendChild(e);
91
- this._captionWrapper.style.visibility = 'hidden';
92
- }
93
- else {
94
- this._captionWrapper.style.visibility = '';
95
- this._spinnerRef.destroy();
96
- this._spinnerRef = undefined;
97
- this._overlayEl.innerHTML = '';
98
- }
99
- }
100
- }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 }); }
103
- }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AwaitDirective, decorators: [{
105
- type: Directive,
106
- args: [{
107
- selector: '[buiAwait]'
108
- }]
109
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
110
- type: Optional
111
- }] }, { type: i1.MatIconButton, decorators: [{
112
- type: Optional
113
- }] }, { type: i1.MatIconAnchor, decorators: [{
114
- type: Optional
115
- }] }, { type: i1.MatFabButton, decorators: [{
116
- type: Optional
117
- }] }, { type: i1.MatFabAnchor, decorators: [{
118
- type: Optional
119
- }] }, { type: i1.MatMiniFabButton, decorators: [{
120
- type: Optional
121
- }] }, { type: i1.MatMiniFabAnchor, decorators: [{
122
- type: Optional
123
- }] }, { type: Document, decorators: [{
124
- type: Inject,
125
- args: [DOCUMENT]
126
- }] }, { type: i0.ViewContainerRef }], propDecorators: { buiAwait: [{
127
- type: Input
128
- }], buiAwaitAriaLabel: [{
129
- type: Input
130
- }], buiAwaitDiameter: [{
131
- type: Input
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBdUIsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBcUMxQixZQUNrQixLQUE4QixFQUMxQixPQUFrQixFQUNsQixXQUEwQixFQUMxQixXQUEwQixFQUMxQixJQUFrQixFQUNsQixVQUF3QixFQUN4QixRQUEwQixFQUMxQixjQUFnQyxFQUNsQixHQUFhLEVBQ3hDLFNBQTJCO1FBVGxCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBaENwQyxxRkFBcUY7UUFFckYsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLDBFQUEwRTtRQUUxRSxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFHZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXlCM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLElBQUks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QUFDLFVBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxlQUFnQixDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQ25ELENBQUM7aUJBQU0sQ0FBQztnQkFDUCxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7OEdBM0dXLGNBQWMsdVdBOENqQixRQUFRO2tHQTlDTCxjQUFjOzsyRkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxZQUFZO2lCQUN0Qjs7MEJBd0NFLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTt3RUFqQ2pCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHRDb21wb25lbnRSZWYsXHJcblx0RGlyZWN0aXZlLFxyXG5cdERvQ2hlY2ssXHJcblx0RWxlbWVudFJlZixcclxuXHRJbmplY3QsXHJcblx0SW5wdXQsXHJcblx0T3B0aW9uYWwsXHJcblx0Vmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdE1hdEJ1dHRvbixcclxuXHRNYXRGYWJBbmNob3IsXHJcblx0TWF0RmFiQnV0dG9uLFxyXG5cdE1hdEljb25BbmNob3IsXHJcblx0TWF0SWNvbkJ1dHRvbixcclxuXHRNYXRNaW5pRmFiQW5jaG9yLFxyXG5cdE1hdE1pbmlGYWJCdXR0b25cclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIsIFByb2dyZXNzU3Bpbm5lck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogVXNlIHRoaXMgZGlyZWN0aXZlIG9uIGEgYE1hdEJ1dHRvbmAgZWxlbWVudCB0byBwcm92aWRlIGFuIGFsdGVybmF0aXZlIHZpZXcgd2hlbiBhbiBhc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXHJcbiAqXHJcbiAqIEZvciBleGFtcGxlOlxyXG4gKlxyXG4gKiBgYGBcclxuICogPGJ1dHRvbiAoY2xpY2spPVwic3VibWl0KCk7XCIgW2J1aUF3YWl0XT1cInN1Ym1pdFN1YnNjcmlwdGlvblwiIGJ1aUF3YWl0QXJpYUxhYmVsPVwic3VibWl0dGluZ1wiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gKiBgYGBcclxuICpcclxuICogUGxlYXNlIHJlZmVyIHRvIFtNYXRlcmlhbCBEZXNpZ25dKGh0dHBzOi8vbWF0ZXJpYWwuaW8vY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3JzI2NpcmN1bGFyLXByb2dyZXNzLWluZGljYXRvcnMpXHJcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cclxuICpcclxuICogVGhlIG9wZXJhdGlvbiBpcyBjb25zaWRlcmVkICdpbiBwcm9ncmVzcycgd2hlbiB0aGUgYm91bmQgcHJvcGVydHkgYGJ1aUF3YWl0YCBldmFsdWF0ZXMgdG9cclxuICpcclxuICogLSBgdHJ1ZWA7IG9yXHJcbiAqIC0gYSBgbnVtYmVyYCB3aXRoaW4gMCAtIDEwMDsgb3JcclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxyXG4gKlxyXG4gKiBXaGVuIGluIHByb2dyZXNzXHJcbiAqXHJcbiAqIC0gdGhlIGJ1dHRvbidzIGNhcHRpb24gd2lsbCBiZSBoaWRkZW47XHJcbiAqIC0gYSBgPG1hdC1wcm9ncmVzcy1zcGlubmVyPmAgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gcGxhY2Ugb2YgdGhlIGNhcHRpb247XHJcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXdhaXREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrIHtcclxuXHQvKipcclxuXHQgKiBJbmRpY2F0ZXMgdGhlIGBpbiBwcm9ncmVzc2Agc3RhdHVzIG9mIGFuIGFzeW5jIG9wZXJhdGlvbi5cclxuXHQgKlxyXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xyXG5cdCAqXHJcblx0ICogLSBgdHJ1ZWA7IG9yXHJcblx0ICogLSBhIGBudW1iZXJgIHdpdGhpbiAwIC0gMTAwOyBvclxyXG5cdCAqIC0gYW4gaW5zdGFuY2Ugb2YgYHJ4anMvU3Vic2NyaXB0aW9uYCBhbmQgYGJ1aUF3YWl0LmNsb3NlZGAgaXMgZmFsc3lcclxuXHQgKlxyXG5cdCAqIFdoZW4gaXQgaXMgYSBudW1iZXIsIGl0IHJlcHJlc2V0cyB0aGUgcHJvZ3Jlc3MgaW4gcGVyY2VudGFnZSB0ZXJtLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uIHwgbnVtYmVyO1xyXG5cclxuXHQvKiogVGhlIEFSSUEgbGFiZWwgdG8gYmUgcHV0IG9uIHRoZSBzcGlubmVyLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgXCJJbiBwcm9ncmVzc1wiYC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGJ1aUF3YWl0QXJpYUxhYmVsID0gJ0luIHByb2dyZXNzJztcclxuXHJcblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGJ1aUF3YWl0RGlhbWV0ZXIgPSAyMDtcclxuXHJcblx0cHJpdmF0ZSBfb3ZlcmxheUVsOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcclxuXHRwcml2YXRlIF9wcm9jZXNzaW5nID0gZmFsc2U7XHJcblx0cHJpdmF0ZSBfc3Bpbm5lclJlZjogQ29tcG9uZW50UmVmPE1hdFByb2dyZXNzU3Bpbm5lcj4gfCB1bmRlZmluZWQ7XHJcblx0cHJpdmF0ZSBfY2FwdGlvbldyYXBwZXI6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdHByaXZhdGUgYnV0dG9uOlxyXG5cdFx0fCBNYXRCdXR0b25cclxuXHRcdHwgTWF0SWNvbkJ1dHRvblxyXG5cdFx0fCBNYXRJY29uQW5jaG9yXHJcblx0XHR8IE1hdEZhYkJ1dHRvblxyXG5cdFx0fCBNYXRGYWJBbmNob3JcclxuXHRcdHwgTWF0TWluaUZhYkJ1dHRvblxyXG5cdFx0fCBNYXRNaW5pRmFiQW5jaG9yXHJcblx0XHR8IHVuZGVmaW5lZDtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IF9lUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9idXR0b246IE1hdEJ1dHRvbixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9pY29uQnV0dG9uOiBNYXRJY29uQnV0dG9uLFxyXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX2ljb25BbmNob3I6IE1hdEljb25BbmNob3IsXHJcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfZmFiOiBNYXRGYWJCdXR0b24sXHJcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfZmFiQW5jaG9yOiBNYXRGYWJBbmNob3IsXHJcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfbWluaUZhYjogTWF0TWluaUZhYkJ1dHRvbixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9taW5pRmFiQW5jaG9yOiBNYXRNaW5pRmFiQW5jaG9yLFxyXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxyXG5cdFx0cHJpdmF0ZSBfdmlld0NvbnQ6IFZpZXdDb250YWluZXJSZWZcclxuXHQpIHtcclxuXHRcdHRoaXMuYnV0dG9uID0gX2J1dHRvbiB8fCBfaWNvbkJ1dHRvbiB8fCBfaWNvbkFuY2hvciB8fCBfZmFiIHx8IF9mYWJBbmNob3IgfHwgX21pbmlGYWIgfHwgX21pbmlGYWJBbmNob3I7XHJcblx0XHRpZiAoIXRoaXMuYnV0dG9uKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ1tidWlBd2FpdF0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIE1hdGVyaWFsIGJ1dHRvbi4nKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEBpZ25vcmUgKi9cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5idXR0b24pIHtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheUVsID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblx0XHRcdHRoaXMuX2VSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9vdmVybGF5RWwpO1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5RWwuY2xhc3NMaXN0LmFkZCgnYnVpLWF3YWl0LW92ZXJsYXknKTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheUVsLnN0eWxlLmNzc1RleHQgPVxyXG5cdFx0XHRcdCdkaXNwbGF5OmZsZXg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgcmlnaHQ6MDsgYm90dG9tOjA7IGxlZnQ6MDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXInO1xyXG5cdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciA9IHRoaXMuX2VSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWRjLWJ1dHRvbl9fbGFiZWwsLm1hdC1pY29uJykgYXMgSFRNTEVsZW1lbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdG5nRG9DaGVjaygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGluUHJvZ3Jlc3MgPVxyXG5cdFx0XHR0aGlzLmJ1aUF3YWl0ID09PSB0cnVlIHx8ICh0eXBlb2YgdGhpcy5idWlBd2FpdCA9PT0gJ29iamVjdCcgJiYgIXRoaXMuYnVpQXdhaXQhLmNsb3NlZCkgfHwgdGhpcy5faXNEZXRlcm1pbmF0ZTtcclxuXHRcdGlmIChpblByb2dyZXNzICE9PSB0aGlzLl9wcm9jZXNzaW5nKSB7XHJcblx0XHRcdHRoaXMuX3Byb2Nlc3NpbmcgPSBpblByb2dyZXNzO1xyXG5cdFx0XHR0aGlzLl9zdGF0dXNDaGFuZ2VkKHRoaXMuX2lzRGV0ZXJtaW5hdGUgPyAnZGV0ZXJtaW5hdGUnIDogJ2luZGV0ZXJtaW5hdGUnKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9pc0RldGVybWluYXRlICYmIHRoaXMuX3NwaW5uZXJSZWYpIHtcclxuXHRcdFx0dGhpcy5fc3Bpbm5lclJlZi5zZXRJbnB1dCgndmFsdWUnLCB0aGlzLmJ1aUF3YWl0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0cHJpdmF0ZSBnZXQgX2lzRGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdHlwZW9mIHRoaXMuYnVpQXdhaXQgPT09ICdudW1iZXInICYmIHRoaXMuYnVpQXdhaXQgPj0gMCAmJiB0aGlzLmJ1aUF3YWl0IDwgMTAwO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc3RhdHVzQ2hhbmdlZChtb2RlOiBQcm9ncmVzc1NwaW5uZXJNb2RlKSB7XHJcblx0XHRpZiAodGhpcy5idXR0b24pIHtcclxuXHRcdFx0dGhpcy5idXR0b24uZGlzYWJsZWQgPSB0aGlzLl9wcm9jZXNzaW5nO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMuX3Byb2Nlc3NpbmcpIHtcclxuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdGhpcy5fdmlld0NvbnQuY3JlYXRlQ29tcG9uZW50KE1hdFByb2dyZXNzU3Bpbm5lcik7XHJcblx0XHRcdFx0Y29uc3QgYyA9IHRoaXMuX3NwaW5uZXJSZWYuaW5zdGFuY2U7XHJcblx0XHRcdFx0Yy5kaWFtZXRlciA9IHRoaXMuYnVpQXdhaXREaWFtZXRlcjtcclxuXHRcdFx0XHRjLm1vZGUgPSBtb2RlO1xyXG5cdFx0XHRcdGMuY29sb3IgPSB0aGlzLmJ1dHRvbi5jb2xvcjtcclxuXHRcdFx0XHRjb25zdCBlOiBIVE1MRWxlbWVudCA9IHRoaXMuX3NwaW5uZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuXHRcdFx0XHRlLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuYnVpQXdhaXRBcmlhTGFiZWwpO1xyXG5cdFx0XHRcdHRoaXMuX292ZXJsYXlFbCEuYXBwZW5kQ2hpbGQoZSk7XHJcblx0XHRcdFx0dGhpcy5fY2FwdGlvbldyYXBwZXIhLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciEuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xyXG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYhLmRlc3Ryb3koKTtcclxuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdW5kZWZpbmVkO1xyXG5cdFx0XHRcdHRoaXMuX292ZXJsYXlFbCEuaW5uZXJIVE1MID0gJyc7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
@@ -1,37 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SizingDirective } from './sizing.directive';
4
- import { SizingMonitorDirective } from './sizing-monitor.directive';
5
- import { AwaitDirective } from './await.directive';
6
- import { MatButtonModule } from '@angular/material/button';
7
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
8
- import { ObserveContentClassDirective } from './observe-content-class.directive';
9
- import { ObserversModule } from '@angular/cdk/observers';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * For functionality that cannot be easily achieved via CSS.
13
- */
14
- export class BehaviorModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule], exports: [SizingDirective,
17
- SizingMonitorDirective,
18
- AwaitDirective,
19
- MatProgressSpinnerModule,
20
- ObserveContentClassDirective] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule, MatProgressSpinnerModule] }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BehaviorModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],
27
- imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule],
28
- exports: [
29
- SizingDirective,
30
- SizingMonitorDirective,
31
- AwaitDirective,
32
- MatProgressSpinnerModule,
33
- ObserveContentClassDirective
34
- ]
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYmVoYXZpb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFekQ7O0dBRUc7QUFZSCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBVlgsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSw0QkFBNEIsYUFDMUYsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLGFBRWpGLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsY0FBYztZQUNkLHdCQUF3QjtZQUN4Qiw0QkFBNEI7K0dBR2pCLGNBQWMsWUFUaEIsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBS2pGLHdCQUF3Qjs7MkZBSWIsY0FBYztrQkFYMUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixDQUFDO29CQUNyRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsQ0FBQztvQkFDbkYsT0FBTyxFQUFFO3dCQUNSLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpemluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vc2l6aW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpemluZ01vbml0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF3YWl0RGlyZWN0aXZlIH0gZnJvbSAnLi9hd2FpdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJy4vb2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xyXG5cclxuLyoqXHJcbiAqICBGb3IgZnVuY3Rpb25hbGl0eSB0aGF0IGNhbm5vdCBiZSBlYXNpbHkgYWNoaWV2ZWQgdmlhIENTUy5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbU2l6aW5nRGlyZWN0aXZlLCBTaXppbmdNb25pdG9yRGlyZWN0aXZlLCBBd2FpdERpcmVjdGl2ZSwgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZV0sXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXHJcblx0ZXhwb3J0czogW1xyXG5cdFx0U2l6aW5nRGlyZWN0aXZlLFxyXG5cdFx0U2l6aW5nTW9uaXRvckRpcmVjdGl2ZSxcclxuXHRcdEF3YWl0RGlyZWN0aXZlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG5cdFx0T2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGF2aW9yTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1iZWhhdmlvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL2JyYXZ1cmEtdWktYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/cdk/observers";
4
- /**
5
- * Use `[bui-class.not-empty]` to specify a style class activated only when the host element has DOM children;
6
- *
7
- * use `[bui-class.empty]` for a style class activated when it has no DOM children.
8
- *
9
- * Use `[bui-class.no-text]` to specify a style class activated only when the host element has text content;
10
- *
11
- * use `[bui-class.has-text]` for a style class activated when it has no text content.
12
- */
13
- export class ObserveContentClassDirective {
14
- constructor(observer, elementRef) {
15
- this.classToRemove = [];
16
- this.element = elementRef.nativeElement;
17
- this.subscription = observer.observe(elementRef).subscribe(() => this.checkClass());
18
- }
19
- ngOnInit() {
20
- this.checkClass.bind(this);
21
- }
22
- ngOnDestroy() {
23
- this.subscription.unsubscribe();
24
- }
25
- checkClass() {
26
- this.element.classList.remove(...this.classToRemove);
27
- this.classToRemove = [];
28
- this.checkClassWith(this.classEmpty, this.classNotEmpty, () => this.element.childElementCount === 0 && !this.element.textContent?.trim());
29
- this.checkClassWith(this.classNoText, this.classHasText, () => !this.element.textContent?.trim());
30
- }
31
- checkClassWith(withoutClass, withClass, isWithout) {
32
- const without = isWithout();
33
- this.addClass(without ? withoutClass : withClass);
34
- }
35
- addClass(cls) {
36
- if (cls?.trim()) {
37
- const classes = cls.trim().split(/\s+/);
38
- this.element.classList.add(...classes);
39
- this.classToRemove.push(...classes);
40
- }
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ObserveContentClassDirective, deps: [{ token: i1.ContentObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: ObserveContentClassDirective, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
46
- type: Directive,
47
- args: [{
48
- selector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]'
49
- }]
50
- }], ctorParameters: () => [{ type: i1.ContentObserver }, { type: i0.ElementRef }], propDecorators: { classEmpty: [{
51
- type: Input,
52
- args: ['bui-class.empty']
53
- }], classNotEmpty: [{
54
- type: Input,
55
- args: ['bui-class.not-empty']
56
- }], classNoText: [{
57
- type: Input,
58
- args: ['bui-class.no-text']
59
- }], classHasText: [{
60
- type: Input,
61
- args: ['bui-class.has-text']
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL29ic2VydmUtY29udGVudC1jbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBaUJ4QyxZQUFZLFFBQXlCLEVBQUUsVUFBbUM7UUFkbEUsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFlcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLFVBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDL0UsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU8sY0FBYyxDQUNyQixZQUF1QyxFQUN2QyxTQUFvQyxFQUNwQyxTQUF3QjtRQUV4QixNQUFNLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxTQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFrQjtRQUNsQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0YsQ0FBQzs4R0F4RFcsNEJBQTRCO2tHQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGtGQUFrRjtpQkFDNUY7NkdBT1EsVUFBVTtzQkFEakIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSWhCLGFBQWE7c0JBRHBCLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlwQixXQUFXO3NCQURsQixLQUFLO3VCQUFDLG1CQUFtQjtnQkFJbEIsWUFBWTtzQkFEbkIsS0FBSzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogVXNlIGBbYnVpLWNsYXNzLm5vdC1lbXB0eV1gIHRvIHNwZWNpZnkgYSBzdHlsZSBjbGFzcyBhY3RpdmF0ZWQgb25seSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaGFzIERPTSBjaGlsZHJlbjtcclxuICpcclxuICogdXNlIGBbYnVpLWNsYXNzLmVtcHR5XWAgZm9yIGEgc3R5bGUgY2xhc3MgYWN0aXZhdGVkIHdoZW4gaXQgaGFzIG5vIERPTSBjaGlsZHJlbi5cclxuICpcclxuICogVXNlIGBbYnVpLWNsYXNzLm5vLXRleHRdYCB0byBzcGVjaWZ5IGEgc3R5bGUgY2xhc3MgYWN0aXZhdGVkIG9ubHkgd2hlbiB0aGUgaG9zdCBlbGVtZW50IGhhcyB0ZXh0IGNvbnRlbnQ7XHJcbiAqXHJcbiAqIHVzZSBgW2J1aS1jbGFzcy5oYXMtdGV4dF1gIGZvciBhIHN0eWxlIGNsYXNzIGFjdGl2YXRlZCB3aGVuIGl0IGhhcyBubyB0ZXh0IGNvbnRlbnQuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tidWktY2xhc3MuZW1wdHldLFtidWktY2xhc3Mubm90LWVtcHR5XSxbYnVpLWNsYXNzLm5vLXRleHRdLFtidWktY2xhc3MuaGFzLXRleHRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcblx0cHJpdmF0ZSBjbGFzc1RvUmVtb3ZlOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHRASW5wdXQoJ2J1aS1jbGFzcy5lbXB0eScpXHJcblx0cHJpdmF0ZSBjbGFzc0VtcHR5Pzogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoJ2J1aS1jbGFzcy5ub3QtZW1wdHknKVxyXG5cdHByaXZhdGUgY2xhc3NOb3RFbXB0eT86IHN0cmluZztcclxuXHJcblx0QElucHV0KCdidWktY2xhc3Mubm8tdGV4dCcpXHJcblx0cHJpdmF0ZSBjbGFzc05vVGV4dD86IHN0cmluZztcclxuXHJcblx0QElucHV0KCdidWktY2xhc3MuaGFzLXRleHQnKVxyXG5cdHByaXZhdGUgY2xhc3NIYXNUZXh0Pzogc3RyaW5nO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihvYnNlcnZlcjogQ29udGVudE9ic2VydmVyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG5cdFx0dGhpcy5lbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24gPSBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnRSZWYpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoZWNrQ2xhc3MoKSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuY2hlY2tDbGFzcy5iaW5kKHRoaXMpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjaGVja0NsYXNzKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5jbGFzc1RvUmVtb3ZlKTtcclxuXHRcdHRoaXMuY2xhc3NUb1JlbW92ZSA9IFtdO1xyXG5cdFx0dGhpcy5jaGVja0NsYXNzV2l0aChcclxuXHRcdFx0dGhpcy5jbGFzc0VtcHR5LFxyXG5cdFx0XHR0aGlzLmNsYXNzTm90RW1wdHksXHJcblx0XHRcdCgpID0+IHRoaXMuZWxlbWVudC5jaGlsZEVsZW1lbnRDb3VudCA9PT0gMCAmJiAhdGhpcy5lbGVtZW50LnRleHRDb250ZW50Py50cmltKClcclxuXHRcdCk7XHJcblx0XHR0aGlzLmNoZWNrQ2xhc3NXaXRoKHRoaXMuY2xhc3NOb1RleHQsIHRoaXMuY2xhc3NIYXNUZXh0LCAoKSA9PiAhdGhpcy5lbGVtZW50LnRleHRDb250ZW50Py50cmltKCkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjaGVja0NsYXNzV2l0aChcclxuXHRcdHdpdGhvdXRDbGFzczogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuXHRcdHdpdGhDbGFzczogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuXHRcdGlzV2l0aG91dDogKCkgPT4gYm9vbGVhblxyXG5cdCk6IHZvaWQge1xyXG5cdFx0Y29uc3Qgd2l0aG91dCA9IGlzV2l0aG91dCgpO1xyXG5cdFx0dGhpcy5hZGRDbGFzcyh3aXRob3V0ID8gd2l0aG91dENsYXNzIDogKHdpdGhDbGFzcyBhcyBhbnkpKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgYWRkQ2xhc3MoY2xzOiBzdHJpbmcgfCBudWxsKSB7XHJcblx0XHRpZiAoY2xzPy50cmltKCkpIHtcclxuXHRcdFx0Y29uc3QgY2xhc3NlcyA9IGNscy50cmltKCkuc3BsaXQoL1xccysvKTtcclxuXHRcdFx0dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlcyk7XHJcblx0XHRcdHRoaXMuY2xhc3NUb1JlbW92ZS5wdXNoKC4uLmNsYXNzZXMpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './sizing.directive';
2
- export * from './sizing-monitor.directive';
3
- export * from './behavior.module';
4
- export * from './await.directive';
5
- export * from './observe-content-class.directive';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaXppbmcuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaXppbmctbW9uaXRvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JlaGF2aW9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXdhaXQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYnNlcnZlLWNvbnRlbnQtY2xhc3MuZGlyZWN0aXZlJztcclxuIl19
@@ -1,31 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Use this directive to designate a target HTML element, based on which the child elements'
5
- * `[buiSizing]` directives will calculate the sizes.
6
- *
7
- * ```html
8
- * <div [buiSizingMonitor]>
9
- * <div [buiSizing]="...">
10
- * </div>
11
- * <div>
12
- * <div [buiSizing]="...">
13
- * </div>
14
- * </div>
15
- * <div>
16
- * ```
17
- */
18
- export class SizingMonitorDirective {
19
- constructor(element) {
20
- this.element = element;
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SizingMonitorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: SizingMonitorDirective, selector: "[buiSizingMonitor]", ngImport: i0 }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SizingMonitorDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: '[buiSizingMonitor]'
29
- }]
30
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3Ivc2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXREOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUNsQyxZQUE0QixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtJQUFHLENBQUM7OEdBRHBELHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVXNlIHRoaXMgZGlyZWN0aXZlIHRvIGRlc2lnbmF0ZSBhIHRhcmdldCBIVE1MIGVsZW1lbnQsIGJhc2VkIG9uIHdoaWNoIHRoZSBjaGlsZCBlbGVtZW50cydcclxuICogYFtidWlTaXppbmddYCBkaXJlY3RpdmVzIHdpbGwgY2FsY3VsYXRlIHRoZSBzaXplcy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8ZGl2IFtidWlTaXppbmdNb25pdG9yXT5cclxuICogICAgPGRpdiBbYnVpU2l6aW5nXT1cIi4uLlwiPlxyXG4gKiAgICA8L2Rpdj5cclxuICogICAgPGRpdj5cclxuICogICAgICAgPGRpdiBbYnVpU2l6aW5nXT1cIi4uLlwiPlxyXG4gKiAgICAgICA8L2Rpdj5cclxuICogICAgPC9kaXY+XHJcbiAqIDxkaXY+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6ICdbYnVpU2l6aW5nTW9uaXRvcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXppbmdNb25pdG9yRGlyZWN0aXZlIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XHJcbn1cclxuIl19
@@ -1,256 +0,0 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { DOCUMENT } from '@angular/common';
3
- import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
4
- import { debounceTime, take } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./sizing-monitor.directive";
7
- /**
8
- * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style
9
- * classes and/or inline styles to the current element dynamically.
10
- *
11
- * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property
12
- * `box-sizing` of the `sizingBy` target element must be set to `border-box`.
13
- *
14
- * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)
15
- * to capture the events of element resizing. Please use a polyfill if you want to support older browsers
16
- * that do not implement ResizeObserver API.
17
- *
18
- * Examples:
19
- *
20
- * ```html
21
- * <div #parentElement>
22
- * <div [buiSizing]="{'400': 'small', '800': 'medium', '~': 'large'}" [buiSizingBy]="parentElement"></div>
23
- * <div [buiSizing]="['small', 'medium', 'large']" [buiSizingBy]="'root'"></div>
24
- * <div [buiSizing]="{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}" [buiSizingBy]="parentElement"></div>
25
- * </div>
26
- * ```
27
- */
28
- export class SizingDirective {
29
- /**
30
- * @ignore
31
- */
32
- static { this.defaultSizingBreakpoints = ['400', '800', '~']; }
33
- /**
34
- * Designate an element to be monitored for recalculating the style classes of the current element.
35
- *
36
- * - `root` specifies the document root or the enclosing shadow host. This is the default value.
37
- * - `parent` specifies the parent element.
38
- *
39
- * @default 'root'
40
- * @alias sizingBy
41
- */
42
- get buiSizingBy() {
43
- return this.sizingBy;
44
- }
45
- set buiSizingBy(target) {
46
- this.sizingBy = target;
47
- }
48
- constructor(_doc, _defaultTarget, elemRef, _zone) {
49
- this._doc = _doc;
50
- this._defaultTarget = _defaultTarget;
51
- this._zone = _zone;
52
- /**
53
- * Specifies the breakpoint widths and the style classes.
54
- *
55
- * The sizing spec `{"400": "small", "800": "medium", "~": "large"}` tells the directive to apply
56
- * a style class `small` when the width of the monitored target is smaller than 400 pixels,
57
- * `medium` when the width is between 400 and 800 pixels, and `large` when above.
58
- *
59
- * @example {'400': 'small', '800': 'medium', '~': 'large'}
60
- */
61
- this.buiSizing = {};
62
- /**
63
- * The alias of `buiSizingBy`.
64
- * @default 'root'
65
- * @deprecated
66
- * @ignore
67
- */
68
- this.sizingBy = 'root';
69
- /**
70
- * Emits `{width, height}` when the monitor target element resizes.
71
- *
72
- * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.
73
- */
74
- this.buiResized = new EventEmitter();
75
- /**
76
- * Recalculate the height of this element according to the height of the monitored target.
77
- */
78
- this.buiFixedHeight = false;
79
- this._sizingSpec = {};
80
- this._width = 0;
81
- this._height = 0;
82
- this._reflowFrameCount = 0;
83
- this._frameHandlerId = 0;
84
- this._element = elemRef.nativeElement;
85
- this._monitorTarget = this._element;
86
- }
87
- ngOnChanges(_) {
88
- const disconnected = this._element.getRootNode() instanceof HTMLElement;
89
- if (disconnected) {
90
- // defer shadow detection till dom connection event
91
- this._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());
92
- }
93
- else {
94
- this._initOrReset();
95
- }
96
- }
97
- ngOnDestroy() {
98
- this._tearDownNodeMonitor();
99
- }
100
- _initOrReset() {
101
- const originalTarget = this._monitorTarget;
102
- if (this.buiSizingBy instanceof HTMLElement) {
103
- this._monitorTarget = this.buiSizingBy;
104
- }
105
- else if (this._defaultTarget) {
106
- this._monitorTarget = this._defaultTarget.element.nativeElement;
107
- }
108
- else if (this.buiSizingBy === 'root') {
109
- const root = this._element.getRootNode();
110
- if (root instanceof ShadowRoot) {
111
- this._monitorTarget = root.host;
112
- }
113
- else {
114
- this._monitorTarget = this._doc.documentElement;
115
- }
116
- }
117
- else {
118
- this._monitorTarget = this._element.parentElement;
119
- }
120
- if (this._monitorTarget != originalTarget) {
121
- this._setUpNodeMonitor();
122
- }
123
- this._sizingSpec = {};
124
- let spec = this.buiSizing;
125
- if (typeof spec === 'string') {
126
- spec = spec.split(',').map(k => k.trim());
127
- }
128
- if (Array.isArray(spec)) {
129
- spec.forEach((c, i) => {
130
- this._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;
131
- });
132
- }
133
- else if (spec) {
134
- this._sizingSpec = spec;
135
- }
136
- this.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);
137
- this._calculateSize();
138
- }
139
- _setUpNodeMonitor() {
140
- this._tearDownNodeMonitor();
141
- if (this._monitorTarget) {
142
- this._observer = new ResizeObserver(() => this._runWithObserver(this._calculateSize.bind(this)));
143
- this._observer.observe(this._monitorTarget, { box: 'border-box' });
144
- }
145
- }
146
- _tearDownNodeMonitor() {
147
- cancelAnimationFrame(this._frameHandlerId);
148
- this._runWithObserver(() => {
149
- this._observer.disconnect();
150
- this._observer = undefined;
151
- });
152
- }
153
- _runWithObserver(func) {
154
- if (this._observer) {
155
- return func();
156
- }
157
- return undefined;
158
- }
159
- _calculateSize() {
160
- const widthChanged = this._width !== this._monitorTarget.clientWidth;
161
- const heightChanged = this._height !== this._monitorTarget.clientHeight;
162
- if (widthChanged) {
163
- this._width = this._monitorTarget.clientWidth;
164
- const bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));
165
- let found = false;
166
- for (const key of bks) {
167
- const classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);
168
- this._removeClassesOrStyles(classesOrStyles);
169
- const expectedWidth = this._toNumber(key);
170
- if (this._width <= expectedWidth && !found) {
171
- this._applyClassesOrStyles(classesOrStyles);
172
- found = true;
173
- }
174
- }
175
- }
176
- if (widthChanged || heightChanged) {
177
- this._height = this._monitorTarget.clientHeight;
178
- if (this.buiFixedHeight) {
179
- this._reflowFrameCount = 0;
180
- this._reflowHeight();
181
- }
182
- setTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));
183
- }
184
- }
185
- _applyClassesOrStyles(clsOrStyles) {
186
- clsOrStyles.forEach(s => {
187
- if (s.includes(':')) {
188
- const [prop, val] = s.split(':');
189
- this._element.style.setProperty(prop.trim(), val.trim());
190
- }
191
- else {
192
- const classes = s.split(/\s+/).filter(c => c);
193
- if (classes.length) {
194
- this._element.classList.add(...classes);
195
- }
196
- }
197
- });
198
- }
199
- _removeClassesOrStyles(clsOrStyles) {
200
- clsOrStyles.forEach(s => {
201
- if (s.includes(':')) {
202
- const [prop] = s.split(':');
203
- this._element.style.removeProperty(prop);
204
- }
205
- else {
206
- const classes = s.split(/\s+/).filter(c => c);
207
- if (classes.length) {
208
- this._element.classList.remove(...classes);
209
- }
210
- }
211
- });
212
- }
213
- _reflowHeight() {
214
- const cnt = this._reflowFrameCount;
215
- if (cnt < 15) {
216
- cancelAnimationFrame(this._frameHandlerId);
217
- this._frameHandlerId = requestAnimationFrame(this._reflowHeight.bind(this));
218
- if (cnt === 0) {
219
- this._element.style.height = '0';
220
- }
221
- else if (cnt === 14) {
222
- const gt = parseInt(getComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0', 10);
223
- const gb = parseInt(getComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0', 10);
224
- this._element.style.height = `${this._height - gt - gb - 5}px`;
225
- }
226
- }
227
- this._reflowFrameCount++;
228
- }
229
- _toNumber(s) {
230
- return (s === '~' ? Infinity : Number(s)) || -Infinity;
231
- }
232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SizingDirective, deps: [{ token: DOCUMENT }, { token: i1.SizingMonitorDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
233
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: { buiSizing: "buiSizing", sizingBy: "sizingBy", buiSizingBy: "buiSizingBy", buiFixedHeight: "buiFixedHeight" }, outputs: { buiResized: "buiResized" }, usesOnChanges: true, ngImport: i0 }); }
234
- }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SizingDirective, decorators: [{
236
- type: Directive,
237
- args: [{
238
- selector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'
239
- }]
240
- }], ctorParameters: () => [{ type: Document, decorators: [{
241
- type: Inject,
242
- args: [DOCUMENT]
243
- }] }, { type: i1.SizingMonitorDirective, decorators: [{
244
- type: Optional
245
- }] }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { buiSizing: [{
246
- type: Input
247
- }], sizingBy: [{
248
- type: Input
249
- }], buiSizingBy: [{
250
- type: Input
251
- }], buiResized: [{
252
- type: Output
253
- }], buiFixedHeight: [{
254
- type: Input
255
- }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3NpemluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFDM0I7O09BRUc7YUFDSSw2QkFBd0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEFBQXRCLENBQXVCO0lBdUJ0RDs7Ozs7Ozs7T0FRRztJQUNILElBQ0ksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsTUFBdUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQXlCRCxZQUMyQixJQUFjLEVBQ3BCLGNBQXNDLEVBQzFELE9BQWdDLEVBQ3hCLEtBQWE7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUVsRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBakV0Qjs7Ozs7Ozs7V0FRRztRQUVILGNBQVMsR0FBdUQsRUFBRSxDQUFDO1FBRW5FOzs7OztXQUtHO1FBRUgsYUFBUSxHQUFvQyxNQUFNLENBQUM7UUFtQm5EOzs7O1dBSUc7UUFFSCxlQUFVLEdB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Z0JBY04sVUFBVTtzQkFEVCxNQUFNO2dCQU9QLGNBQWM7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuXHREaXJlY3RpdmUsXHJcblx0RWxlbWVudFJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5qZWN0LFxyXG5cdElucHV0LFxyXG5cdE5nWm9uZSxcclxuXHRPbkNoYW5nZXMsXHJcblx0T25EZXN0cm95LFxyXG5cdE9wdGlvbmFsLFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2l6aW5nTW9uaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vc2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGRpcmVjdGl2ZSBtb25pdG9ycyB0aGUgY2hhbmdlcyBpbiB0aGUgd2lkdGggb2YgdGhlIGBzaXppbmdCeWAgdGFyZ2V0LCBhbmQgYXBwbHkgc3BlY2lmaWVkIHN0eWxlXHJcbiAqICBjbGFzc2VzIGFuZC9vciBpbmxpbmUgc3R5bGVzIHRvIHRoZSBjdXJyZW50IGVsZW1lbnQgZHluYW1pY2FsbHkuXHJcbiAqXHJcbiAqIEluIG9yZGVyIGZvciB0aGUgbGF5b3V0IGVuZ2luZSB0byBlZmZpY2llbnRseSBjYWxjdWxhdGUgYW5kIHN0YWJpbGl6ZSB0aGUgZGltZW5zaW9ucywgdGhlIGVmZmVjdGl2ZSBzdHlsZSBwcm9wZXJ0eVxyXG4gKiBgYm94LXNpemluZ2Agb2YgdGhlIGBzaXppbmdCeWAgdGFyZ2V0IGVsZW1lbnQgbXVzdCBiZSBzZXQgdG8gYGJvcmRlci1ib3hgLlxyXG4gKlxyXG4gKiBUaGUgZGlyZWN0aXZlIHVzZXMgW1Jlc2l6ZU9ic2VydmVyIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Jlc2l6ZV9PYnNlcnZlcl9BUEkpXHJcbiAqIHRvIGNhcHR1cmUgdGhlIGV2ZW50cyBvZiBlbGVtZW50IHJlc2l6aW5nLiBQbGVhc2UgdXNlIGEgcG9seWZpbGwgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCBvbGRlciBicm93c2Vyc1xyXG4gKiB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgUmVzaXplT2JzZXJ2ZXIgQVBJLlxyXG4gKlxyXG4gKiBFeGFtcGxlczpcclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8ZGl2ICNwYXJlbnRFbGVtZW50PlxyXG4gKiAgIDxkaXYgW2J1aVNpemluZ109XCJ7JzQwMCc6ICdzbWFsbCcsICc4MDAnOiAnbWVkaXVtJywgJ34nOiAnbGFyZ2UnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XHJcbiAqICAgPGRpdiBbYnVpU2l6aW5nXT1cIlsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ11cIiBbYnVpU2l6aW5nQnldPVwiJ3Jvb3QnXCI+PC9kaXY+XHJcbiAqICAgPGRpdiBbYnVpU2l6aW5nXT1cInsnNjUwJzogJ2JvcmRlci1jb2xvcjogIzI4NTY5JywgJ34nOiAnYmctbXV0ZWQ7IGJvcmRlci1zdHlsZTogZG90dGVkJ31cIiBbYnVpU2l6aW5nQnldPVwicGFyZW50RWxlbWVudFwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICogYGBgXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tidWlTaXppbmddLFtidWlSZXNpemVkXSxbYnVpU2l6aW5nQnldLFtidWlGaXhlZEhlaWdodF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXppbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblx0LyoqXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdHN0YXRpYyBkZWZhdWx0U2l6aW5nQnJlYWtwb2ludHMgPSBbJzQwMCcsICc4MDAnLCAnfiddO1xyXG5cclxuXHQvKipcclxuXHQgKiBTcGVjaWZpZXMgdGhlIGJyZWFrcG9pbnQgd2lkdGhzIGFuZCB0aGUgc3R5bGUgY2xhc3Nlcy5cclxuXHQgKlxyXG5cdCAqIFRoZSBzaXppbmcgc3BlYyBge1wiNDAwXCI6IFwic21hbGxcIiwgXCI4MDBcIjogXCJtZWRpdW1cIiwgXCJ+XCI6IFwibGFyZ2VcIn1gIHRlbGxzIHRoZSBkaXJlY3RpdmUgdG8gYXBwbHlcclxuXHQgKiBhIHN0eWxlIGNsYXNzIGBzbWFsbGAgd2hlbiB0aGUgd2lkdGggb2YgdGhlIG1vbml0b3JlZCB0YXJnZXQgaXMgc21hbGxlciB0aGFuIDQwMCBwaXhlbHMsXHJcblx0ICogYG1lZGl1bWAgd2hlbiB0aGUgd2lkdGggaXMgYmV0d2VlbiA0MDAgYW5kIDgwMCBwaXhlbHMsIGFuZCBgbGFyZ2VgIHdoZW4gYWJvdmUuXHJcblx0ICpcclxuXHQgKiBAZXhhbXBsZSB7JzQwMCc6ICdzbWFsbCcsICc4MDAnOiAnbWVkaXVtJywgJ34nOiAnbGFyZ2UnfVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0YnVpU2l6aW5nOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgYWxpYXMgb2YgYGJ1aVNpemluZ0J5YC5cclxuXHQgKiBAZGVmYXVsdCAncm9vdCdcclxuXHQgKiBAZGVwcmVjYXRlZFxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHNpemluZ0J5OiAncm9vdCcgfCAncGFyZW50JyB8IEhUTUxFbGVtZW50ID0gJ3Jvb3QnO1xyXG5cclxuXHQvKipcclxuXHQgKiBEZXNpZ25hdGUgYW4gZWxlbWVudCB0byBiZSBtb25pdG9yZWQgZm9yIHJlY2FsY3VsYXRpbmcgdGhlIHN0eWxlIGNsYXNzZXMgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cclxuXHQgKlxyXG5cdCAqIC0gYHJvb3RgIHNwZWNpZmllcyB0aGUgZG9jdW1lbnQgcm9vdCBvciB0aGUgZW5jbG9zaW5nIHNoYWRvdyBob3N0LiBUaGlzIGlzIHRoZSBkZWZhdWx0IHZhbHVlLlxyXG5cdCAqIC0gYHBhcmVudGAgc3BlY2lmaWVzIHRoZSBwYXJlbnQgZWxlbWVudC5cclxuXHQgKlxyXG5cdCAqIEBkZWZhdWx0ICdyb290J1xyXG5cdCAqIEBhbGlhcyBzaXppbmdCeVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGJ1aVNpemluZ0J5KCk6ICdyb290JyB8ICdwYXJlbnQnIHwgSFRNTEVsZW1lbnQge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2l6aW5nQnk7XHJcblx0fVxyXG5cdHNldCBidWlTaXppbmdCeSh0YXJnZXQ6ICdyb290JyB8ICdwYXJlbnQnIHwgSFRNTEVsZW1lbnQpIHtcclxuXHRcdHRoaXMuc2l6aW5nQnkgPSB0YXJnZXQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBFbWl0cyBge3dpZHRoLCBoZWlnaHR9YCB3aGVuIHRoZSBtb25pdG9yIHRhcmdldCBlbGVtZW50IHJlc2l6ZXMuXHJcblx0ICpcclxuXHQgKiBOb3RlIHRoYXQgdGhlIGRpbWVuc2lvbnMgZW1pdHRlZCBhcmUgb2YgdGhlIFtzaXppbmdCeV0gdGFyZ2V0LCBidXQgbm90IHRoZSBjdXJyZW50IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QE91dHB1dCgpXHJcblx0YnVpUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PigpO1xyXG5cclxuXHQvKipcclxuXHQgKiBSZWNhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIHRoaXMgZWxlbWVudCBhY2NvcmRpbmcgdG8gdGhlIGhlaWdodCBvZiB0aGUgbW9uaXRvcmVkIHRhcmdldC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGJ1aUZpeGVkSGVpZ2h0ID0gZmFsc2U7XHJcblxyXG5cdHByaXZhdGUgX21vbml0b3JUYXJnZXQ6IEhUTUxFbGVtZW50O1xyXG5cdHByaXZhdGUgX29ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IHVuZGVmaW5lZDtcclxuXHRwcml2YXRlIF9zaXppbmdTcGVjOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblx0cHJpdmF0ZSBfd2lkdGggPSAwO1xyXG5cdHByaXZhdGUgX2hlaWdodCA9IDA7XHJcblx0cHJpdmF0ZSBfcmVmbG93RnJhbWVDb3VudCA9IDA7XHJcblx0cHJpdmF0ZSBfZWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcblx0cHJpdmF0ZSBfZnJhbWVIYW5kbGVySWQgPSAwO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvYzogRG9jdW1lbnQsXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9kZWZhdWx0VGFyZ2V0OiBTaXppbmdNb25pdG9yRGlyZWN0aXZlLFxyXG5cdFx0ZWxlbVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcblx0XHRwcml2YXRlIF96b25lOiBOZ1pvbmVcclxuXHQpIHtcclxuXHRcdHRoaXMuX2VsZW1lbnQgPSBlbGVtUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZWxlbWVudDtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGRpc2Nvbm5lY3RlZCA9IHRoaXMuX2VsZW1lbnQuZ2V0Um9vdE5vZGUoKSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50O1xyXG5cdFx0aWYgKGRpc2Nvbm5lY3RlZCkge1xyXG5cdFx0XHQvLyBkZWZlciBzaGFkb3cgZGV0ZWN0aW9uIHRpbGwgZG9tIGNvbm5lY3Rpb24gZXZlbnRcclxuXHRcdFx0dGhpcy5fem9uZS5vblN0YWJsZS5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9pbml0T3JSZXNldCgpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuX2luaXRPclJlc2V0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3RlYXJEb3duTm9kZU1vbml0b3IoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2luaXRPclJlc2V0KCkge1xyXG5cdFx0Y29uc3Qgb3JpZ2luYWxUYXJnZXQgPSB0aGlzLl9tb25pdG9yVGFyZ2V0O1xyXG5cdFx0aWYgKHRoaXMuYnVpU2l6aW5nQnkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xyXG5cdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5idWlTaXppbmdCeTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5fZGVmYXVsdFRhcmdldCkge1xyXG5cdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZGVmYXVsdFRhcmdldC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuYnVpU2l6aW5nQnkgPT09ICdyb290Jykge1xyXG5cdFx0XHRjb25zdCByb290ID0gdGhpcy5fZWxlbWVudC5nZXRSb290Tm9kZSgpO1xyXG5cdFx0XHRpZiAocm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcclxuXHRcdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gcm9vdC5ob3N0IGFzIEhUTUxFbGVtZW50O1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLl9kb2MuZG9jdW1lbnRFbGVtZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZWxlbWVudC5wYXJlbnRFbGVtZW50IGFzIGFueTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5fbW9uaXRvclRhcmdldCAhPSBvcmlnaW5hbFRhcmdldCkge1xyXG5cdFx0XHR0aGlzLl9zZXRVcE5vZGVNb25pdG9yKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5fc2l6aW5nU3BlYyA9IHt9O1xyXG5cdFx0bGV0IHNwZWMgPSB0aGlzLmJ1aVNpemluZztcclxuXHRcdGlmICh0eXBlb2Ygc3BlYyA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0c3BlYyA9IHNwZWMuc3BsaXQoJywnKS5tYXAoayA9PiBrLnRyaW0oKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoc3BlYykpIHtcclxuXHRcdFx0c3BlYy5mb3JFYWNoKChjLCBpKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fc2l6aW5nU3BlY1tTaXppbmdEaXJlY3RpdmUuZGVmYXVsdFNpemluZ0JyZWFrcG9pbnRzW2ldIHx8ICd+J10gPSBjO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSBpZiAoc3BlYykge1xyXG5cdFx0XHR0aGlzLl9zaXppbmdTcGVjID0gc3BlYztcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmJ1aUZpeGVkSGVpZ2h0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuYnVpRml4ZWRIZWlnaHQpO1xyXG5cclxuXHRcdHRoaXMuX2NhbGN1bGF0ZVNpemUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3NldFVwTm9kZU1vbml0b3IoKSB7XHJcblx0XHR0aGlzLl90ZWFyRG93bk5vZGVNb25pdG9yKCk7XHJcblx0XHRpZiAodGhpcy5fbW9uaXRvclRhcmdldCkge1xyXG5cdFx0XHR0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLl9ydW5XaXRoT2JzZXJ2ZXIodGhpcy5fY2FsY3VsYXRlU2l6ZS5iaW5kKHRoaXMpKSk7XHJcblxyXG5cdFx0XHR0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX21vbml0b3JUYXJnZXQsIHsgYm94OiAnYm9yZGVyLWJveCcgfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF90ZWFyRG93bk5vZGVNb25pdG9yKCkge1xyXG5cdFx0Y2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWVIYW5kbGVySWQpO1xyXG5cdFx0dGhpcy5fcnVuV2l0aE9ic2VydmVyKCgpID0+IHtcclxuXHRcdFx0dGhpcy5fb2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcclxuXHRcdFx0dGhpcy5fb2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3J1bldpdGhPYnNlcnZlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5fb2JzZXJ2ZXIpIHtcclxuXHRcdFx0cmV0dXJuIGZ1bmMoKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jYWxjdWxhdGVTaXplKCkge1xyXG5cdFx0Y29uc3Qgd2lkdGhDaGFuZ2VkID0gdGhpcy5fd2lkdGggIT09IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50V2lkdGg7XHJcblx0XHRjb25zdCBoZWlnaHRDaGFuZ2VkID0gdGhpcy5faGVpZ2h0ICE9PSB0aGlzLl9tb25pdG9yVGFyZ2V0LmNsaWVudEhlaWdodDtcclxuXHRcdGlmICh3aWR0aENoYW5nZWQpIHtcclxuXHRcdFx0dGhpcy5fd2lkdGggPSB0aGlzLl9tb25pdG9yVGFyZ2V0LmNsaWVudFdpZHRoO1xyXG5cclxuXHRcdFx0Y29uc3QgYmtzID0gT2JqZWN0LmtleXModGhpcy5fc2l6aW5nU3BlYykuc29ydCgoYSwgYikgPT4gdGhpcy5fdG9OdW1iZXIoYSkgLSB0aGlzLl90b051bWJlcihiKSk7XHJcblx0XHRcdGxldCBmb3VuZCA9IGZhbHNlO1xyXG5cdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBia3MpIHtcclxuXHRcdFx0XHRjb25zdCBjbGFzc2VzT3JTdHlsZXMgPSB0aGlzLl9zaXppbmdTcGVjW2tleV0uc3BsaXQoLzsrLykuZmlsdGVyKGMgPT4gYyk7XHJcblx0XHRcdFx0dGhpcy5fcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsYXNzZXNPclN0eWxlcyk7XHJcblx0XHRcdFx0Y29uc3QgZXhwZWN0ZWRXaWR0aCA9IHRoaXMuX3RvTnVtYmVyKGtleSk7XHJcblx0XHRcdFx0aWYgKHRoaXMuX3dpZHRoIDw9IGV4cGVjdGVkV2lkdGggJiYgIWZvdW5kKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9hcHBseUNsYXNzZXNPclN0eWxlcyhjbGFzc2VzT3JTdHlsZXMpO1xyXG5cdFx0XHRcdFx0Zm91bmQgPSB0cnVlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh3aWR0aENoYW5nZWQgfHwgaGVpZ2h0Q2hhbmdlZCkge1xyXG5cdFx0XHR0aGlzLl9oZWlnaHQgPSB0aGlzLl9tb25pdG9yVGFyZ2V0LmNsaWVudEhlaWdodDtcclxuXHRcdFx0aWYgKHRoaXMuYnVpRml4ZWRIZWlnaHQpIHtcclxuXHRcdFx0XHR0aGlzLl9yZWZsb3dGcmFtZUNvdW50ID0gMDtcclxuXHRcdFx0XHR0aGlzLl9yZWZsb3dIZWlnaHQoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuYnVpUmVzaXplZC5lbWl0KHsgd2lkdGg6IHRoaXMuX3dpZHRoLCBoZWlnaHQ6IHRoaXMuX2hlaWdodCB9KSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfYXBwbHlDbGFzc2VzT3JTdHlsZXMoY2xzT3JTdHlsZXM6IHN0cmluZ1tdKSB7XHJcblx0XHRjbHNPclN0eWxlcy5mb3JFYWNoKHMgPT4ge1xyXG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XHJcblx0XHRcdFx0Y29uc3QgW3Byb3AsIHZhbF0gPSBzLnNwbGl0KCc6Jyk7XHJcblx0XHRcdFx0dGhpcy5fZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShwcm9wLnRyaW0oKSwgdmFsLnRyaW0oKSk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29uc3QgY2xhc3NlcyA9IHMuc3BsaXQoL1xccysvKS5maWx0ZXIoYyA9PiBjKTtcclxuXHRcdFx0XHRpZiAoY2xhc3Nlcy5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsc09yU3R5bGVzOiBzdHJpbmdbXSkge1xyXG5cdFx0Y2xzT3JTdHlsZXMuZm9yRWFjaChzID0+IHtcclxuXHRcdFx0aWYgKHMuaW5jbHVkZXMoJzonKSkge1xyXG5cdFx0XHRcdGNvbnN0IFtwcm9wXSA9IHMuc3BsaXQoJzonKTtcclxuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KHByb3ApO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbnN0IGNsYXNzZXMgPSBzLnNwbGl0KC9cXHMrLykuZmlsdGVyKGMgPT4gYyk7XHJcblx0XHRcdFx0aWYgKGNsYXNzZXMubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uY2xhc3Nlcyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3JlZmxvd0hlaWdodCgpIHtcclxuXHRcdGNvbnN0IGNudCA9IHRoaXMuX3JlZmxvd0ZyYW1lQ291bnQ7XHJcblx0XHRpZiAoY250IDwgMTUpIHtcclxuXHRcdFx0Y2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWVIYW5kbGVySWQpO1xyXG5cdFx0XHR0aGlzLl9mcmFtZUhhbmRsZXJJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9yZWZsb3dIZWlnaHQuYmluZCh0aGlzKSk7XHJcblxyXG5cdFx0XHRpZiAoY250ID09PSAwKSB7XHJcblx0XHRcdFx0dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMCc7XHJcblx0XHRcdH0gZWxzZSBpZiAoY250ID09PSAxNCkge1xyXG5cdFx0XHRcdGNvbnN0IGd0ID0gcGFyc2VJbnQoXHJcblx0XHRcdFx0XHRnZXRDb21wdXRlZFN0eWxlKHRoaXMuX21vbml0b3JUYXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctdG9wJykucmVwbGFjZSgvcHgkLywgJycpIHx8ICcwJyxcclxuXHRcdFx0XHRcdDEwXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHRjb25zdCBnYiA9IHBhcnNlSW50KFxyXG5cdFx0XHRcdFx0Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9tb25pdG9yVGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWJvdHRvbScpLnJlcGxhY2UoL3B4JC8sICcnKSB8fCAnMCcsXHJcblx0XHRcdFx0XHQxMFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLl9oZWlnaHQgLSBndCAtIGdiIC0gNX1weGA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHRoaXMuX3JlZmxvd0ZyYW1lQ291bnQrKztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3RvTnVtYmVyKHM6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIChzID09PSAnficgPyBJbmZpbml0eSA6IE51bWJlcihzKSkgfHwgLUluZmluaXR5O1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL2JyYXZ1cmEtdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1jbGlwLW5vdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9jbGlwLW5vdGUvYnJhdnVyYS11aS1jbGlwLW5vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==