@bravura/ui 5.2.4 → 6.0.1
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.
- package/CHANGELOG.md +14 -1
- package/README.md +1 -0
- package/_index.scss +5 -5
- package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -1
- package/fesm2022/bravura-ui-alert.mjs +13 -13
- package/fesm2022/bravura-ui-alert.mjs.map +1 -1
- package/fesm2022/bravura-ui-behavior.mjs +25 -21
- package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2022/bravura-ui-clip-note.mjs +15 -14
- package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
- package/fesm2022/bravura-ui-common.mjs +5 -5
- package/fesm2022/bravura-ui-common.mjs.map +1 -1
- package/fesm2022/bravura-ui-currency-input.mjs +10 -9
- package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-decimal-input.mjs +10 -9
- package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-discrete-input.mjs +9 -9
- package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-file-upload.mjs +12 -12
- package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
- package/fesm2022/bravura-ui-form-field.mjs +14 -13
- package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
- package/fesm2022/bravura-ui-icon-font.mjs +10 -9
- package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
- package/fesm2022/bravura-ui-panel.mjs +18 -17
- package/fesm2022/bravura-ui-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-phone-number.mjs +20 -17
- package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
- package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -1
- package/fesm2022/bravura-ui-radio-panel.mjs +14 -14
- package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-selection-panel.mjs +14 -13
- package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-skeletons.mjs +18 -13
- package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
- package/fesm2022/bravura-ui-stepper.mjs +22 -20
- package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
- package/fesm2022/bravura-ui-tooltip.mjs +14 -13
- package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
- package/m3-theme.scss +155 -155
- package/package.json +15 -55
- package/radio-panel/_radio-panel-theme.scss +11 -11
- package/selection-panel/_selection-panel-theme.scss +33 -33
- package/stepper/_stepper-theme.scss +20 -20
- package/theme/_ui-theme-legacy.scss +112 -112
- package/theme/_ui-theme.scss +101 -101
- package/esm2022/alert/alert-container.component.mjs +0 -207
- package/esm2022/alert/alert-message.component.mjs +0 -101
- package/esm2022/alert/alert.module.mjs +0 -22
- package/esm2022/alert/bravura-ui-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -2
- package/esm2022/alert/testing/bravura-ui-alert-testing.mjs +0 -5
- package/esm2022/alert/testing/test-api.mjs +0 -44
- package/esm2022/behavior/await.directive.mjs +0 -133
- package/esm2022/behavior/behavior.module.mjs +0 -37
- package/esm2022/behavior/bravura-ui-behavior.mjs +0 -5
- package/esm2022/behavior/observe-content-class.directive.mjs +0 -63
- package/esm2022/behavior/public-api.mjs +0 -6
- package/esm2022/behavior/sizing-monitor.directive.mjs +0 -31
- package/esm2022/behavior/sizing.directive.mjs +0 -256
- package/esm2022/bravura-ui.mjs +0 -5
- package/esm2022/clip-note/bravura-ui-clip-note.mjs +0 -5
- package/esm2022/clip-note/clip-note.component.mjs +0 -216
- package/esm2022/clip-note/clip-note.directive.mjs +0 -141
- package/esm2022/clip-note/clip-note.module.mjs +0 -32
- package/esm2022/clip-note/public-api.mjs +0 -2
- package/esm2022/common/bravura-ui-common.mjs +0 -5
- package/esm2022/common/common-utils.mjs +0 -34
- package/esm2022/common/common.module.mjs +0 -53
- package/esm2022/common/public-api.mjs +0 -3
- package/esm2022/currency-input/bravura-ui-currency-input.mjs +0 -5
- package/esm2022/currency-input/currency-input.directive.mjs +0 -276
- package/esm2022/currency-input/currency-input.module.mjs +0 -19
- package/esm2022/currency-input/public-api.mjs +0 -2
- package/esm2022/decimal-input/bravura-ui-decimal-input.mjs +0 -5
- package/esm2022/decimal-input/decimal-input.directive.mjs +0 -122
- package/esm2022/decimal-input/decimal-input.module.mjs +0 -19
- package/esm2022/decimal-input/public-api.mjs +0 -2
- package/esm2022/discrete-input/bravura-ui-discrete-input.mjs +0 -5
- package/esm2022/discrete-input/discrete-input.component.mjs +0 -337
- package/esm2022/discrete-input/discrete-input.module.mjs +0 -21
- package/esm2022/discrete-input/public-api.mjs +0 -3
- package/esm2022/file-upload/bravura-ui-file-upload.mjs +0 -5
- package/esm2022/file-upload/file-upload.component.mjs +0 -400
- package/esm2022/file-upload/file-upload.module.mjs +0 -44
- package/esm2022/file-upload/file-upload.service.mjs +0 -29
- package/esm2022/file-upload/public-api.mjs +0 -7
- package/esm2022/form-field/bravura-ui-form-field.mjs +0 -5
- package/esm2022/form-field/form-field.component.mjs +0 -82
- package/esm2022/form-field/form-field.module.mjs +0 -33
- package/esm2022/form-field/public-api.mjs +0 -3
- package/esm2022/icon-font/bravura-ui-icon-font.mjs +0 -5
- package/esm2022/icon-font/icon-font.module.mjs +0 -22
- package/esm2022/icon-font/icon.directive.mjs +0 -102
- package/esm2022/icon-font/public-api.mjs +0 -4
- package/esm2022/icon-font/utilities.mjs +0 -51
- package/esm2022/panel/bravura-ui-panel.mjs +0 -5
- package/esm2022/panel/panel-section.component.mjs +0 -41
- package/esm2022/panel/panel.component.mjs +0 -87
- package/esm2022/panel/panel.module.mjs +0 -23
- package/esm2022/panel/public-api.mjs +0 -2
- package/esm2022/panel/tinted.directive.mjs +0 -60
- package/esm2022/phone-number/bravura-ui-phone-number.mjs +0 -5
- package/esm2022/phone-number/phone-number.directive.mjs +0 -188
- package/esm2022/phone-number/phone-number.module.mjs +0 -24
- package/esm2022/phone-number/phone-number.pipe.mjs +0 -47
- package/esm2022/phone-number/phone-number.validator.mjs +0 -64
- package/esm2022/phone-number/public-api.mjs +0 -2
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio-panel/bravura-ui-radio-panel.mjs +0 -5
- package/esm2022/radio-panel/public-api.mjs +0 -4
- package/esm2022/radio-panel/radio-panel-item.component.mjs +0 -93
- package/esm2022/radio-panel/radio-panel.component.mjs +0 -81
- package/esm2022/radio-panel/radio-panel.module.mjs +0 -25
- package/esm2022/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -5
- package/esm2022/radio-panel/testing/test-api.mjs +0 -46
- package/esm2022/selection-panel/bravura-ui-selection-panel.mjs +0 -5
- package/esm2022/selection-panel/public-api.mjs +0 -4
- package/esm2022/selection-panel/selection-panel-item.component.mjs +0 -163
- package/esm2022/selection-panel/selection-panel.directive.mjs +0 -119
- package/esm2022/selection-panel/selection-panel.module.mjs +0 -23
- package/esm2022/skeletons/bravura-ui-skeletons.mjs +0 -5
- package/esm2022/skeletons/public-api.mjs +0 -4
- package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +0 -83
- package/esm2022/skeletons/skeleton-loader.component.mjs +0 -76
- package/esm2022/skeletons/skeletons.module.mjs +0 -35
- package/esm2022/stepper/bravura-ui-stepper.mjs +0 -5
- package/esm2022/stepper/public-api.mjs +0 -4
- package/esm2022/stepper/step-label-top.directive.mjs +0 -40
- package/esm2022/stepper/stepper-animation.mjs +0 -23
- package/esm2022/stepper/stepper.component.mjs +0 -178
- package/esm2022/stepper/stepper.module.mjs +0 -53
- package/esm2022/tooltip/bravura-ui-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -4
- package/esm2022/tooltip/tooltip.component.mjs +0 -63
- package/esm2022/tooltip/tooltip.directive.mjs +0 -150
- package/esm2022/tooltip/tooltip.module.mjs +0 -25
|
@@ -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=
|
package/esm2022/bravura-ui.mjs
DELETED
|
@@ -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==
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Host, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
3
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/cdk/bidi";
|
|
6
|
-
import * as i2 from "@angular/material/button";
|
|
7
|
-
import * as i3 from "@angular/material/icon";
|
|
8
|
-
import * as i4 from "@angular/cdk/observers";
|
|
9
|
-
import * as i5 from "@bravura/ui/icon-font";
|
|
10
|
-
export class ClipNoteComponent {
|
|
11
|
-
get buttonState() {
|
|
12
|
-
if (this._hovering || this.panelState === 'open') {
|
|
13
|
-
return 'active';
|
|
14
|
-
}
|
|
15
|
-
return 'inactive';
|
|
16
|
-
}
|
|
17
|
-
get buttonIconState() {
|
|
18
|
-
if (this.panelState === 'open') {
|
|
19
|
-
return `open-${this.direction}`;
|
|
20
|
-
}
|
|
21
|
-
if (this.buttonState === 'active') {
|
|
22
|
-
return `active-${this.direction}`;
|
|
23
|
-
}
|
|
24
|
-
return 'inactive';
|
|
25
|
-
}
|
|
26
|
-
constructor(_cd, _dir, _elemRef) {
|
|
27
|
-
this._cd = _cd;
|
|
28
|
-
this._dir = _dir;
|
|
29
|
-
this._elemRef = _elemRef;
|
|
30
|
-
this.buttonText = '';
|
|
31
|
-
this.panelState = 'closed-ltr';
|
|
32
|
-
this.direction = 'ltr';
|
|
33
|
-
this._buttonAnimating = false;
|
|
34
|
-
this._hasContent = false;
|
|
35
|
-
this.opened = new EventEmitter();
|
|
36
|
-
this.closed = new EventEmitter();
|
|
37
|
-
this._hovering = false;
|
|
38
|
-
this._destroyed$ = new Subject();
|
|
39
|
-
this._toggleQueue = [];
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
const changeDir = () => {
|
|
43
|
-
this.direction = this._dir.value;
|
|
44
|
-
this.panelState = `closed-${this.direction}`;
|
|
45
|
-
this._cd.markForCheck();
|
|
46
|
-
};
|
|
47
|
-
this._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);
|
|
48
|
-
changeDir();
|
|
49
|
-
}
|
|
50
|
-
ngOnDestroy() {
|
|
51
|
-
this._destroyed$.next();
|
|
52
|
-
this._destroyed$.complete();
|
|
53
|
-
}
|
|
54
|
-
_mouseOverButton(hovering) {
|
|
55
|
-
if (this._hovering !== hovering) {
|
|
56
|
-
this._hovering = hovering;
|
|
57
|
-
this._cd.markForCheck();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
toggle() {
|
|
61
|
-
this.panelState = this.panelState === `closed-${this.direction}` ? 'open' : `closed-${this.direction}`;
|
|
62
|
-
this._cd.markForCheck();
|
|
63
|
-
}
|
|
64
|
-
_scheduleToggle() {
|
|
65
|
-
if (this._buttonAnimating) {
|
|
66
|
-
this._toggleQueue.push(true);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.toggle();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
_checkToggle() {
|
|
73
|
-
if (this._toggleQueue.pop()) {
|
|
74
|
-
this.toggle();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
open() {
|
|
78
|
-
this.panelState = 'open';
|
|
79
|
-
this._cd.markForCheck();
|
|
80
|
-
this._emit();
|
|
81
|
-
}
|
|
82
|
-
close() {
|
|
83
|
-
this.panelState = `closed-${this.direction}`;
|
|
84
|
-
this._cd.markForCheck();
|
|
85
|
-
this._emit();
|
|
86
|
-
}
|
|
87
|
-
_emit() {
|
|
88
|
-
if (this.panelState === 'open') {
|
|
89
|
-
this.opened.emit();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.closed.emit();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
_contentChanged(content) {
|
|
96
|
-
let template;
|
|
97
|
-
if (content instanceof TemplateRef) {
|
|
98
|
-
template = content;
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
template = this._fallbackTemplate;
|
|
102
|
-
this._content = content;
|
|
103
|
-
}
|
|
104
|
-
this._noteViewRef.clear();
|
|
105
|
-
const context = {};
|
|
106
|
-
this._contentView = this._noteViewRef.createEmbeddedView(template, context);
|
|
107
|
-
this._checkContent(true);
|
|
108
|
-
}
|
|
109
|
-
_checkContent(initial) {
|
|
110
|
-
this._contentView?.detectChanges();
|
|
111
|
-
this._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();
|
|
112
|
-
const classList = this._elemRef.nativeElement.classList;
|
|
113
|
-
const cls = 'bui-clip-note-hidden';
|
|
114
|
-
const cls1 = 'bui-clip-note-reveal';
|
|
115
|
-
if (this._hasContent) {
|
|
116
|
-
classList.remove(cls);
|
|
117
|
-
if (!initial && this.panelState !== 'open') {
|
|
118
|
-
classList.add(cls1);
|
|
119
|
-
}
|
|
120
|
-
this._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
classList.add(cls);
|
|
124
|
-
classList.remove(cls1);
|
|
125
|
-
this.close();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
_assignColor(color) {
|
|
129
|
-
this._color = color;
|
|
130
|
-
this._cd.markForCheck();
|
|
131
|
-
}
|
|
132
|
-
_assignButtonText(text) {
|
|
133
|
-
this.buttonText = text;
|
|
134
|
-
this._cd.markForCheck();
|
|
135
|
-
}
|
|
136
|
-
_assignButtonIcon(icon) {
|
|
137
|
-
this._icon = icon;
|
|
138
|
-
this._cd.markForCheck();
|
|
139
|
-
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ClipNoteComponent, selector: "bui-clip-note", host: { classAttribute: "bui-clip-note bui-host" }, viewQueries: [{ propertyName: "_viewDiv", first: true, predicate: ["viewDiv"], descendants: true, read: ElementRef, static: true }, { propertyName: "_noteViewRef", first: true, predicate: ["noteViewRef"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_fallbackTemplate", first: true, predicate: ["fallbackTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\"> {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n", styles: [":host{position:absolute;top:2rem;box-sizing:border-box;z-index:var(--bui-clip-note-z-index, 100)}:host(.bui-clip-note-hidden){display:none}:host-context(:not([dir=rtl])){right:0}:host-context(:not([dir=rtl])) .bui-clip-note-trigger{right:-18px}:host-context([dir=rtl]){left:0;right:unset}:host-context([dir=rtl]) .bui-clip-note-trigger{left:-18px;right:unset}.bui-clip-note-trigger{border-radius:18px;overflow:hidden;position:absolute;top:-1rem}.bui-clip-note-button-text{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle}.bui-clip-note-wrapper{position:relative}.bui-clip-note-content{max-width:320px;min-width:150px;background-color:var(--bui-bg-body);border-radius:6px;border-width:1px;border-style:solid;padding:1rem;overflow-y:hidden}@keyframes rubber-band{0%{transform:scaleZ(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleZ(1)}}:host(.bui-clip-note-reveal) .bui-clip-note-trigger{animation:rubber-band .8s ease}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: i5.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }], animations: [
|
|
142
|
-
trigger('buttonAnimation', [
|
|
143
|
-
state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
|
|
144
|
-
state('active', style({})),
|
|
145
|
-
transition('inactive <=> active', [
|
|
146
|
-
group([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),
|
|
147
|
-
query('@buttonIconAnimation', animateChild())
|
|
148
|
-
])
|
|
149
|
-
]),
|
|
150
|
-
trigger('buttonTextAnimation', [
|
|
151
|
-
state('inactive', style({ opacity: 0, width: 0 })),
|
|
152
|
-
state('active', style({ opacity: 1 })),
|
|
153
|
-
transition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),
|
|
154
|
-
transition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))
|
|
155
|
-
]),
|
|
156
|
-
trigger('buttonIconAnimation', [
|
|
157
|
-
state('active-ltr', style({ transform: 'rotate(-90deg)' })),
|
|
158
|
-
state('active-rtl', style({ transform: 'rotate(90deg)' })),
|
|
159
|
-
state('open-ltr', style({ transform: 'rotate(90deg)' })),
|
|
160
|
-
state('open-rtl', style({ transform: 'rotate(270deg)' })),
|
|
161
|
-
state('inactive', style({})),
|
|
162
|
-
transition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))
|
|
163
|
-
]),
|
|
164
|
-
trigger('panelAnimation', [
|
|
165
|
-
state('open', style({})),
|
|
166
|
-
state('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),
|
|
167
|
-
state('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),
|
|
168
|
-
transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
|
|
169
|
-
])
|
|
170
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
171
|
-
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ClipNoteComponent, decorators: [{
|
|
173
|
-
type: Component,
|
|
174
|
-
args: [{ selector: 'bui-clip-note', host: { class: 'bui-clip-note bui-host' }, animations: [
|
|
175
|
-
trigger('buttonAnimation', [
|
|
176
|
-
state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
|
|
177
|
-
state('active', style({})),
|
|
178
|
-
transition('inactive <=> active', [
|
|
179
|
-
group([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),
|
|
180
|
-
query('@buttonIconAnimation', animateChild())
|
|
181
|
-
])
|
|
182
|
-
]),
|
|
183
|
-
trigger('buttonTextAnimation', [
|
|
184
|
-
state('inactive', style({ opacity: 0, width: 0 })),
|
|
185
|
-
state('active', style({ opacity: 1 })),
|
|
186
|
-
transition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),
|
|
187
|
-
transition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))
|
|
188
|
-
]),
|
|
189
|
-
trigger('buttonIconAnimation', [
|
|
190
|
-
state('active-ltr', style({ transform: 'rotate(-90deg)' })),
|
|
191
|
-
state('active-rtl', style({ transform: 'rotate(90deg)' })),
|
|
192
|
-
state('open-ltr', style({ transform: 'rotate(90deg)' })),
|
|
193
|
-
state('open-rtl', style({ transform: 'rotate(270deg)' })),
|
|
194
|
-
state('inactive', style({})),
|
|
195
|
-
transition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))
|
|
196
|
-
]),
|
|
197
|
-
trigger('panelAnimation', [
|
|
198
|
-
state('open', style({})),
|
|
199
|
-
state('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),
|
|
200
|
-
state('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),
|
|
201
|
-
transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
|
|
202
|
-
])
|
|
203
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\"> {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n", styles: [":host{position:absolute;top:2rem;box-sizing:border-box;z-index:var(--bui-clip-note-z-index, 100)}:host(.bui-clip-note-hidden){display:none}:host-context(:not([dir=rtl])){right:0}:host-context(:not([dir=rtl])) .bui-clip-note-trigger{right:-18px}:host-context([dir=rtl]){left:0;right:unset}:host-context([dir=rtl]) .bui-clip-note-trigger{left:-18px;right:unset}.bui-clip-note-trigger{border-radius:18px;overflow:hidden;position:absolute;top:-1rem}.bui-clip-note-button-text{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle}.bui-clip-note-wrapper{position:relative}.bui-clip-note-content{max-width:320px;min-width:150px;background-color:var(--bui-bg-body);border-radius:6px;border-width:1px;border-style:solid;padding:1rem;overflow-y:hidden}@keyframes rubber-band{0%{transform:scaleZ(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleZ(1)}}:host(.bui-clip-note-reveal) .bui-clip-note-trigger{animation:rubber-band .8s ease}\n"] }]
|
|
204
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.Directionality }, { type: i0.ElementRef, decorators: [{
|
|
205
|
-
type: Host
|
|
206
|
-
}] }], propDecorators: { _viewDiv: [{
|
|
207
|
-
type: ViewChild,
|
|
208
|
-
args: ['viewDiv', { static: true, read: ElementRef }]
|
|
209
|
-
}], _noteViewRef: [{
|
|
210
|
-
type: ViewChild,
|
|
211
|
-
args: ['noteViewRef', { static: true, read: ViewContainerRef }]
|
|
212
|
-
}], _fallbackTemplate: [{
|
|
213
|
-
type: ViewChild,
|
|
214
|
-
args: ['fallbackTemplate', { static: true }]
|
|
215
|
-
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvY2xpcC1ub3RlL2NsaXAtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdHLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxFQUdKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBdUMxQyxNQUFNLE9BQU8saUJBQWlCO0lBRzdCLElBQUksV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTyxVQUFVLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7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Q0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUN4QixLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNuRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwrQkFBK0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNsRyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO3lCQUN2RSxDQUFDO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtRDdDLElBQUk7eUNBWEUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJaEQsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFJMUQsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdEVsZW1lbnRSZWYsXHJcblx0RW1iZWRkZWRWaWV3UmVmLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRIb3N0LFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0NoaWxkLFxyXG5cdFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdidWktY2xpcC1ub3RlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jbGlwLW5vdGUuY29tcG9uZW50LnNjc3MnXSxcclxuXHRob3N0OiB7IGNsYXNzOiAnYnVpLWNsaXAtbm90ZSBidWktaG9zdCcgfSxcclxuXHRhbmltYXRpb25zOiBbXHJcblx0XHR0cmlnZ2VyKCdidXR0b25BbmltYXRpb24nLCBbXHJcblx0XHRcdHN0YXRlKCcqJywgc3R5bGUoeyB3aWR0aDogJzM2cHgnLCBtaW5XaWR0aDogMCwgcGFkZGluZzogMCB9KSksXHJcblx0XHRcdHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7fSkpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCdpbmFjdGl2ZSA8PT4gYWN0aXZlJywgW1xyXG5cdFx0XHRcdGdyb3VwKFthbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjU2LC4xNCwuMTgsLjkxKScpLCBxdWVyeSgnQGJ1dHRvblRleHRBbmltYXRpb24nLCBhbmltYXRlQ2hpbGQoKSldKSxcclxuXHRcdFx0XHRxdWVyeSgnQGJ1dHRvbkljb25BbmltYXRpb24nLCBhbmltYXRlQ2hpbGQoKSlcclxuXHRcdFx0XSlcclxuXHRcdF0pLFxyXG5cdFx0dHJpZ2dlcignYnV0dG9uVGV4dEFuaW1hdGlvbicsIFtcclxuXHRcdFx0c3RhdGUoJ2luYWN0aXZlJywgc3R5bGUoeyBvcGFjaXR5OiAwLCB3aWR0aDogMCB9KSksXHJcblx0XHRcdHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCdpbmFjdGl2ZSA9PiBhY3RpdmUnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjg4LC4xNSwuNjMsLjYxKScpKSxcclxuXHRcdFx0dHJhbnNpdGlvbignYWN0aXZlID0+IGluYWN0aXZlJywgYW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKC4wNSwuNzIsLjQ0LC45MiknKSlcclxuXHRcdF0pLFxyXG5cdFx0dHJpZ2dlcignYnV0dG9uSWNvbkFuaW1hdGlvbicsIFtcclxuXHRcdFx0c3RhdGUoJ2FjdGl2ZS1sdHInLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgtOTBkZWcpJyB9KSksXHJcblx0XHRcdHN0YXRlKCdhY3RpdmUtcnRsJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJyB9KSksXHJcblx0XHRcdHN0YXRlKCdvcGVuLWx0cicsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScgfSkpLFxyXG5cdFx0XHRzdGF0ZSgnb3Blbi1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgyNzBkZWcpJyB9KSksXHJcblx0XHRcdHN0YXRlKCdpbmFjdGl2ZScsIHN0eWxlKHt9KSksXHJcblx0XHRcdHRyYW5zaXRpb24oJ2luYWN0aXZlIDw9PiAqLCAqIDw9PiBvcGVuLWx0ciwgKiA8PT4gb3Blbi1ydGwnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpKVxyXG5cdFx0XSksXHJcblx0XHR0cmlnZ2VyKCdwYW5lbEFuaW1hdGlvbicsIFtcclxuXHRcdFx0c3RhdGUoJ29wZW4nLCBzdHlsZSh7fSkpLFxyXG5cdFx0XHRzdGF0ZSgnY2xvc2VkLXJ0bCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMCkgdHJhbnNsYXRlKC04MCUsIC03MCUpJywgcGFkZGluZzogMCwgb3BhY2l0eTogMCB9KSksXHJcblx0XHRcdHN0YXRlKCdjbG9zZWQtbHRyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwKSB0cmFuc2xhdGUoODAlLCAtNzAlKScsIHBhZGRpbmc6IDAsIG9wYWNpdHk6IDAgfSkpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCdvcGVuIDw9PiAqJywgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKC42OSwuMTIsLjYsLjYyKScpKVxyXG5cdFx0XSlcclxuXHRdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwTm90ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRidXR0b25UZXh0ID0gJyc7XHJcblxyXG5cdGdldCBidXR0b25TdGF0ZSgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMuX2hvdmVyaW5nIHx8IHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XHJcblx0XHRcdHJldHVybiAnYWN0aXZlJztcclxuXHRcdH1cclxuXHRcdHJldHVybiAnaW5hY3RpdmUnO1xyXG5cdH1cclxuXHJcblx0Z2V0IGJ1dHRvbkljb25TdGF0ZSgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XHJcblx0XHRcdHJldHVybiBgb3Blbi0ke3RoaXMuZGlyZWN0aW9ufWA7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5idXR0b25TdGF0ZSA9PT0gJ2FjdGl2ZScpIHtcclxuXHRcdFx0cmV0dXJuIGBhY3RpdmUtJHt0aGlzLmRpcmVjdGlvbn1gO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICdpbmFjdGl2ZSc7XHJcblx0fVxyXG5cclxuXHRwYW5lbFN0YXRlOiAnb3BlbicgfCAnY2xvc2VkLWx0cicgfCAnY2xvc2VkLXJ0bCcgPSAnY2xvc2VkLWx0cic7XHJcblxyXG5cdGRpcmVjdGlvbiA9ICdsdHInO1xyXG5cdF9jb250ZW50Vmlldz86IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cdF9jb250ZW50Pzogc3RyaW5nO1xyXG5cdF9jb2xvcjogVGhlbWVQYWxldHRlO1xyXG5cdF9idXR0b25BbmltYXRpbmcgPSBmYWxzZTtcclxuXHRfaWNvbj86IHN0cmluZztcclxuXHRfaGFzQ29udGVudCA9IGZhbHNlO1xyXG5cclxuXHRyZWFkb25seSBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0cmVhZG9ubHkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHRwcml2YXRlIF9ob3ZlcmluZyA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2Rlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cdHByaXZhdGUgX3RvZ2dsZVF1ZXVlOiBib29sZWFuW10gPSBbXTtcclxuXHJcblx0QFZpZXdDaGlsZCgndmlld0RpdicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXHJcblx0cHJpdmF0ZSBfdmlld0RpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuXHRAVmlld0NoaWxkKCdub3RlVmlld1JlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcblx0cHJpdmF0ZSBfbm90ZVZpZXdSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuXHRAVmlld0NoaWxkKCdmYWxsYmFja1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwcml2YXRlIF9mYWxsYmFja1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG5cdFx0QEhvc3QoKSBwcml2YXRlIF9lbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjaGFuZ2VEaXIgPSAoKSA9PiB7XHJcblx0XHRcdHRoaXMuZGlyZWN0aW9uID0gdGhpcy5fZGlyLnZhbHVlO1xyXG5cdFx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XHJcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0fTtcclxuXHRcdHRoaXMuX2Rpci5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpLnN1YnNjcmliZShjaGFuZ2VEaXIpO1xyXG5cdFx0Y2hhbmdlRGlyKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2Rlc3Ryb3llZCQubmV4dCgpO1xyXG5cdFx0dGhpcy5fZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xyXG5cdH1cclxuXHJcblx0X21vdXNlT3ZlckJ1dHRvbihob3ZlcmluZzogYm9vbGVhbikge1xyXG5cdFx0aWYgKHRoaXMuX2hvdmVyaW5nICE9PSBob3ZlcmluZykge1xyXG5cdFx0XHR0aGlzLl9ob3ZlcmluZyA9IGhvdmVyaW5nO1xyXG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRvZ2dsZSgpIHtcclxuXHRcdHRoaXMucGFuZWxTdGF0ZSA9IHRoaXMucGFuZWxTdGF0ZSA9PT0gYGNsb3NlZC0ke3RoaXMuZGlyZWN0aW9ufWAgPyAnb3BlbicgOiAoYGNsb3NlZC0ke3RoaXMuZGlyZWN0aW9ufWAgYXMgYW55KTtcclxuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0X3NjaGVkdWxlVG9nZ2xlKCkge1xyXG5cdFx0aWYgKHRoaXMuX2J1dHRvbkFuaW1hdGluZykge1xyXG5cdFx0XHR0aGlzLl90b2dnbGVRdWV1ZS5wdXNoKHRydWUpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy50b2dnbGUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdF9jaGVja1RvZ2dsZSgpIHtcclxuXHRcdGlmICh0aGlzLl90b2dnbGVRdWV1ZS5wb3AoKSkge1xyXG5cdFx0XHR0aGlzLnRvZ2dsZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b3BlbigpIHtcclxuXHRcdHRoaXMucGFuZWxTdGF0ZSA9ICdvcGVuJztcclxuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0dGhpcy5fZW1pdCgpO1xyXG5cdH1cclxuXHJcblx0Y2xvc2UoKSB7XHJcblx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XHJcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHRcdHRoaXMuX2VtaXQoKTtcclxuXHR9XHJcblxyXG5cdF9lbWl0KCkge1xyXG5cdFx0aWYgKHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XHJcblx0XHRcdHRoaXMub3BlbmVkLmVtaXQoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2xvc2VkLmVtaXQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdF9jb250ZW50Q2hhbmdlZChjb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pikge1xyXG5cdFx0bGV0IHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHRcdGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuXHRcdFx0dGVtcGxhdGUgPSBjb250ZW50O1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGVtcGxhdGUgPSB0aGlzLl9mYWxsYmFja1RlbXBsYXRlO1xyXG5cdFx0XHR0aGlzLl9jb250ZW50ID0gY29udGVudDtcclxuXHRcdH1cclxuXHRcdHRoaXMuX25vdGVWaWV3UmVmLmNsZWFyKCk7XHJcblx0XHRjb25zdCBjb250ZXh0ID0ge307XHJcblx0XHR0aGlzLl9jb250ZW50VmlldyA9IHRoaXMuX25vdGVWaWV3UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XHJcblx0XHR0aGlzLl9jaGVja0NvbnRlbnQodHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRfY2hlY2tDb250ZW50KGluaXRpYWw/OiBib29sZWFuKSB7XHJcblx0XHR0aGlzLl9jb250ZW50Vmlldz8uZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0dGhpcy5faGFzQ29udGVudCA9ICEhdGhpcy5fdmlld0Rpdi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCk7XHJcblx0XHRjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9lbGVtUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xyXG5cdFx0Y29uc3QgY2xzID0gJ2J1aS1jbGlwLW5vdGUtaGlkZGVuJztcclxuXHRcdGNvbnN0IGNsczEgPSAnYnVpLWNsaXAtbm90ZS1yZXZlYWwnO1xyXG5cdFx0aWYgKHRoaXMuX2hhc0NvbnRlbnQpIHtcclxuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMpO1xyXG5cdFx0XHRpZiAoIWluaXRpYWwgJiYgdGhpcy5wYW5lbFN0YXRlICE9PSAnb3BlbicpIHtcclxuXHRcdFx0XHRjbGFzc0xpc3QuYWRkKGNsczEpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuX2VsZW1SZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNsYXNzTGlzdC5hZGQoY2xzKTtcclxuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMxKTtcclxuXHRcdFx0dGhpcy5jbG9zZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0X2Fzc2lnbkNvbG9yKGNvbG9yOiBUaGVtZVBhbGV0dGUpIHtcclxuXHRcdHRoaXMuX2NvbG9yID0gY29sb3I7XHJcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHR9XHJcblxyXG5cdF9hc3NpZ25CdXR0b25UZXh0KHRleHQ6IHN0cmluZykge1xyXG5cdFx0dGhpcy5idXR0b25UZXh0ID0gdGV4dDtcclxuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0X2Fzc2lnbkJ1dHRvbkljb24oaWNvbj86IHN0cmluZykge1xyXG5cdFx0dGhpcy5faWNvbiA9IGljb247XHJcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJ1aS1jbGlwLW5vdGUtd3JhcHBlclwiPlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwiYnVpLWNsaXAtbm90ZS1jb250ZW50IGJ1aS1ib3JkZXIte3sgX2NvbG9yIH19IG1hdC1lbGV2YXRpb24tejNcIlxyXG5cdFx0W0BwYW5lbEFuaW1hdGlvbl09XCJwYW5lbFN0YXRlXCJcclxuXHRcdCN2aWV3RGl2XHJcblx0XHQoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwiX2NoZWNrQ29udGVudCgpXCJcclxuXHQ+XHJcblx0XHQ8bmctY29udGFpbmVyICNub3RlVmlld1JlZj48L25nLWNvbnRhaW5lcj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGJ1dHRvblxyXG5cdFx0bWF0LXJhaXNlZC1idXR0b25cclxuXHRcdGNsYXNzPVwiYnVpLWNsaXAtbm90ZS10cmlnZ2VyIGJ1aS1jbGlwLW5vdGUtdHJpZ2dlci17eyBidXR0b25JY29uU3RhdGUgfX1cIlxyXG5cdFx0W2NvbG9yXT1cIl9jb2xvclwiXHJcblx0XHRbQGJ1dHRvbkFuaW1hdGlvbl09XCJidXR0b25TdGF0ZVwiXHJcblx0XHQobW91c2VlbnRlcik9XCJfbW91c2VPdmVyQnV0dG9uKHRydWUpXCJcclxuXHRcdChtb3VzZWxlYXZlKT1cIl9tb3VzZU92ZXJCdXR0b24oZmFsc2UpXCJcclxuXHRcdChjbGljayk9XCJfc2NoZWR1bGVUb2dnbGUoKVwiXHJcblx0PlxyXG5cdFx0PG1hdC1pY29uXHJcblx0XHRcdFtAYnV0dG9uSWNvbkFuaW1hdGlvbl09XCJfaWNvbiA/ICdkaXNhYmxlZCcgOiBidXR0b25JY29uU3RhdGVcIlxyXG5cdFx0XHQoQGJ1dHRvbkljb25BbmltYXRpb24uc3RhcnQpPVwiX2J1dHRvbkFuaW1hdGluZyA9IHRydWVcIlxyXG5cdFx0XHQoQGJ1dHRvbkljb25BbmltYXRpb24uZG9uZSk9XCJfYnV0dG9uQW5pbWF0aW5nID0gZmFsc2U7IF9jaGVja1RvZ2dsZSgpXCJcclxuXHRcdFx0W2J1aUljb25dPVwiX2ljb24gfHwgKGRpcmVjdGlvbiA9PT0gJ3J0bCcgPyAnY2hldnJvbl9yaWdodCcgOiAnY2hldnJvbl9sZWZ0JylcIlxyXG5cdFx0XHRzdHlsZT1cIm1hcmdpbjogMFwiXHJcblx0XHQ+XHJcblx0XHQ8L21hdC1pY29uPlxyXG5cdFx0PHNwYW4gW0BidXR0b25UZXh0QW5pbWF0aW9uXT1cImJ1dHRvblN0YXRlXCIgY2xhc3M9XCJidWktY2xpcC1ub3RlLWJ1dHRvbi10ZXh0XCI+Jm5ic3A7IHt7IGJ1dHRvblRleHQgfX08L3NwYW4+XHJcblx0PC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1RlbXBsYXRlPlxyXG5cdDxkaXYgW2lubmVySFRNTF09XCJfY29udGVudFwiPjwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|