@bravura/ui 2.4.0 → 2.5.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 +15 -0
- package/alert/alert-container.component.d.ts +3 -1
- package/clip-note/clip-note.component.d.ts +45 -0
- package/clip-note/clip-note.directive.d.ts +69 -0
- package/clip-note/clip-note.module.d.ts +19 -0
- package/clip-note/index.d.ts +5 -0
- package/clip-note/public-api.d.ts +1 -0
- package/discrete-input/discrete-input.component.d.ts +4 -2
- package/esm2020/alert/alert-container.component.mjs +14 -8
- package/esm2020/alert/alert-message.component.mjs +4 -4
- package/esm2020/alert/alert.module.mjs +4 -4
- package/esm2020/behavior/await.directive.mjs +4 -4
- package/esm2020/behavior/behavior.module.mjs +4 -4
- package/esm2020/behavior/sizing-monitor.directive.mjs +3 -3
- package/esm2020/behavior/sizing.directive.mjs +4 -4
- package/esm2020/clip-note/bravura-ui-clip-note.mjs +5 -0
- package/esm2020/clip-note/clip-note.component.mjs +216 -0
- package/esm2020/clip-note/clip-note.directive.mjs +141 -0
- package/esm2020/clip-note/clip-note.module.mjs +32 -0
- package/esm2020/clip-note/public-api.mjs +2 -0
- package/esm2020/common/common.module.mjs +5 -5
- package/esm2020/currency-input/currency-input.directive.mjs +3 -3
- package/esm2020/currency-input/currency-input.module.mjs +4 -4
- package/esm2020/decimal-input/decimal-input.directive.mjs +3 -3
- package/esm2020/decimal-input/decimal-input.module.mjs +4 -4
- package/esm2020/discrete-input/discrete-input.component.mjs +26 -15
- package/esm2020/discrete-input/discrete-input.module.mjs +4 -4
- package/esm2020/file-upload/file-upload.component.mjs +3 -3
- package/esm2020/file-upload/file-upload.module.mjs +4 -4
- package/esm2020/file-upload/file-upload.service.mjs +3 -3
- package/esm2020/form-field/form-field.component.mjs +6 -6
- package/esm2020/form-field/form-field.module.mjs +4 -4
- package/esm2020/icon-font/icon-font.module.mjs +4 -4
- package/esm2020/icon-font/icon.directive.mjs +3 -3
- package/esm2020/panel/panel-section.component.mjs +3 -3
- package/esm2020/panel/panel.component.mjs +4 -4
- package/esm2020/panel/panel.module.mjs +4 -4
- package/esm2020/phone-number/phone-number.directive.mjs +3 -3
- package/esm2020/phone-number/phone-number.module.mjs +4 -4
- package/esm2020/phone-number/phone-number.pipe.mjs +3 -3
- package/esm2020/phone-number/phone-number.validator.mjs +3 -3
- package/esm2020/radio-panel/radio-panel-item.component.mjs +5 -5
- package/esm2020/radio-panel/radio-panel.component.mjs +3 -3
- package/esm2020/radio-panel/radio-panel.module.mjs +4 -4
- package/esm2020/selection-panel/selection-panel-item.component.mjs +4 -4
- package/esm2020/selection-panel/selection-panel.directive.mjs +3 -3
- package/esm2020/selection-panel/selection-panel.module.mjs +4 -4
- package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +3 -3
- package/esm2020/skeletons/skeleton-loader.component.mjs +3 -3
- package/esm2020/skeletons/skeletons.module.mjs +4 -4
- package/esm2020/stepper/stepper.component.mjs +3 -3
- package/esm2020/stepper/stepper.module.mjs +4 -4
- package/esm2020/tooltip/tooltip.component.mjs +3 -3
- package/esm2020/tooltip/tooltip.directive.mjs +3 -3
- package/esm2020/tooltip/tooltip.module.mjs +4 -4
- package/fesm2015/bravura-ui-alert.mjs +20 -14
- package/fesm2015/bravura-ui-alert.mjs.map +1 -1
- package/fesm2015/bravura-ui-behavior.mjs +13 -13
- package/fesm2015/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2015/bravura-ui-clip-note.mjs +393 -0
- package/fesm2015/bravura-ui-clip-note.mjs.map +1 -0
- package/fesm2015/bravura-ui-common.mjs +4 -4
- package/fesm2015/bravura-ui-common.mjs.map +1 -1
- package/fesm2015/bravura-ui-currency-input.mjs +7 -7
- package/fesm2015/bravura-ui-decimal-input.mjs +7 -7
- package/fesm2015/bravura-ui-discrete-input.mjs +29 -18
- package/fesm2015/bravura-ui-discrete-input.mjs.map +1 -1
- package/fesm2015/bravura-ui-file-upload.mjs +10 -10
- package/fesm2015/bravura-ui-form-field.mjs +9 -9
- package/fesm2015/bravura-ui-form-field.mjs.map +1 -1
- package/fesm2015/bravura-ui-icon-font.mjs +7 -7
- package/fesm2015/bravura-ui-panel.mjs +11 -11
- package/fesm2015/bravura-ui-panel.mjs.map +1 -1
- package/fesm2015/bravura-ui-phone-number.mjs +13 -13
- package/fesm2015/bravura-ui-radio-panel.mjs +11 -11
- package/fesm2015/bravura-ui-radio-panel.mjs.map +1 -1
- package/fesm2015/bravura-ui-selection-panel.mjs +11 -11
- package/fesm2015/bravura-ui-selection-panel.mjs.map +1 -1
- package/fesm2015/bravura-ui-skeletons.mjs +10 -10
- package/fesm2015/bravura-ui-stepper.mjs +7 -7
- package/fesm2015/bravura-ui-tooltip.mjs +10 -10
- package/fesm2020/bravura-ui-alert.mjs +20 -14
- package/fesm2020/bravura-ui-alert.mjs.map +1 -1
- package/fesm2020/bravura-ui-behavior.mjs +13 -13
- package/fesm2020/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2020/bravura-ui-clip-note.mjs +388 -0
- package/fesm2020/bravura-ui-clip-note.mjs.map +1 -0
- package/fesm2020/bravura-ui-common.mjs +4 -4
- package/fesm2020/bravura-ui-common.mjs.map +1 -1
- package/fesm2020/bravura-ui-currency-input.mjs +7 -7
- package/fesm2020/bravura-ui-decimal-input.mjs +7 -7
- package/fesm2020/bravura-ui-discrete-input.mjs +29 -18
- package/fesm2020/bravura-ui-discrete-input.mjs.map +1 -1
- package/fesm2020/bravura-ui-file-upload.mjs +10 -10
- package/fesm2020/bravura-ui-form-field.mjs +9 -9
- package/fesm2020/bravura-ui-form-field.mjs.map +1 -1
- package/fesm2020/bravura-ui-icon-font.mjs +7 -7
- package/fesm2020/bravura-ui-panel.mjs +11 -11
- package/fesm2020/bravura-ui-panel.mjs.map +1 -1
- package/fesm2020/bravura-ui-phone-number.mjs +13 -13
- package/fesm2020/bravura-ui-radio-panel.mjs +11 -11
- package/fesm2020/bravura-ui-radio-panel.mjs.map +1 -1
- package/fesm2020/bravura-ui-selection-panel.mjs +11 -11
- package/fesm2020/bravura-ui-selection-panel.mjs.map +1 -1
- package/fesm2020/bravura-ui-skeletons.mjs +10 -10
- package/fesm2020/bravura-ui-stepper.mjs +7 -7
- package/fesm2020/bravura-ui-tooltip.mjs +10 -10
- package/package.json +9 -1
|
@@ -221,9 +221,9 @@ export class SizingDirective {
|
|
|
221
221
|
* @ignore
|
|
222
222
|
*/
|
|
223
223
|
SizingDirective.defaultSizingBreakpoints = ['400', '800', '~'];
|
|
224
|
-
SizingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
225
|
-
SizingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
224
|
+
SizingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SizingDirective, deps: [{ token: DOCUMENT }, { token: i1.SizingMonitorDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
225
|
+
SizingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: { buiSizing: "buiSizing", sizingBy: "sizingBy", buiSizingBy: "buiSizingBy", buiFixedHeight: "buiFixedHeight" }, outputs: { buiResized: "buiResized" }, usesOnChanges: true, ngImport: i0 });
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SizingDirective, decorators: [{
|
|
227
227
|
type: Directive,
|
|
228
228
|
args: [{
|
|
229
229
|
selector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'
|
|
@@ -244,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
244
244
|
}], buiFixedHeight: [{
|
|
245
245
|
type: Input
|
|
246
246
|
}] } });
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3NpemluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFrRTNCLFlBQzJCLElBQWMsRUFDcEIsY0FBc0MsRUFDMUQsT0FBZ0MsRUFDeEIsS0FBYTtRQUhLLFNBQUksR0FBSixJQUFJLENBQVU7UUFDcEIsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBRWxELFVBQUssR0FBTCxLQUFLLENBQVE7UUFoRXRCOzs7Ozs7OztXQVFHO1FBRUgsY0FBUyxHQUF1RCxFQUFFLENBQUM7UUFFbkU7Ozs7O1dBS0c7UUFFSCxhQUFRLEdBQW9DLE1BQU0sQ0FBQztRQW1CbkQ7Ozs7V0FJRztRQUVILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUVuRTs7V0FFRztRQUVILG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSWYsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBUzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN0QyxJQUFJ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SSxDQUFDLFFBQVEsQ0FBQztJQUN4RCxDQUFDOztBQWxPRDs7R0FFRztBQUNJLHdDQUF3QixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQzs0R0FKMUMsZUFBZSxrQkFtRWxCLFFBQVE7Z0dBbkVMLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUseURBQXlEO2lCQUNuRTswREFvRWlDLFFBQVE7MEJBQXZDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsUUFBUTswRkFwRFYsU0FBUztzQkFEUixLQUFLO2dCQVVOLFFBQVE7c0JBRFAsS0FBSztnQkFhRixXQUFXO3NCQURkLEtBQUs7Z0JBY04sVUFBVTtzQkFEVCxNQUFNO2dCQU9QLGNBQWM7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0LFxuXHRJbnB1dCxcblx0Tmdab25lLFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0T3B0aW9uYWwsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNpemluZ01vbml0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgbW9uaXRvcnMgdGhlIGNoYW5nZXMgaW4gdGhlIHdpZHRoIG9mIHRoZSBgc2l6aW5nQnlgIHRhcmdldCwgYW5kIGFwcGx5IHNwZWNpZmllZCBzdHlsZVxuICogIGNsYXNzZXMgYW5kL29yIGlubGluZSBzdHlsZXMgdG8gdGhlIGN1cnJlbnQgZWxlbWVudCBkeW5hbWljYWxseS5cbiAqXG4gKiBJbiBvcmRlciBmb3IgdGhlIGxheW91dCBlbmdpbmUgdG8gZWZmaWNpZW50bHkgY2FsY3VsYXRlIGFuZCBzdGFiaWxpemUgdGhlIGRpbWVuc2lvbnMsIHRoZSBlZmZlY3RpdmUgc3R5bGUgcHJvcGVydHlcbiAqIGBib3gtc2l6aW5nYCBvZiB0aGUgYHNpemluZ0J5YCB0YXJnZXQgZWxlbWVudCBtdXN0IGJlIHNldCB0byBgYm9yZGVyLWJveGAuXG4gKlxuICogVGhlIGRpcmVjdGl2ZSB1c2VzIFtSZXNpemVPYnNlcnZlciBBUEldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNpemVfT2JzZXJ2ZXJfQVBJKVxuICogdG8gY2FwdHVyZSB0aGUgZXZlbnRzIG9mIGVsZW1lbnQgcmVzaXppbmcuIFBsZWFzZSB1c2UgYSBwb2x5ZmlsbCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IG9sZGVyIGJyb3dzZXJzXG4gKiB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgUmVzaXplT2JzZXJ2ZXIgQVBJLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgI3BhcmVudEVsZW1lbnQ+XG4gKiAgIDxkaXYgW2J1aVNpemluZ109XCJ7JzQwMCc6ICdzbWFsbCcsICc4MDAnOiAnbWVkaXVtJywgJ34nOiAnbGFyZ2UnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XG4gKiAgIDxkaXYgW2J1aVNpemluZ109XCJbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXCIgW2J1aVNpemluZ0J5XT1cIidyb290J1wiPjwvZGl2PlxuICogICA8ZGl2IFtidWlTaXppbmddPVwieyc2NTAnOiAnYm9yZGVyLWNvbG9yOiAjMjg1NjknLCAnfic6ICdiZy1tdXRlZDsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpU2l6aW5nXSxbYnVpUmVzaXplZF0sW2J1aVNpemluZ0J5XSxbYnVpRml4ZWRIZWlnaHRdJ1xufSlcbmV4cG9ydCBjbGFzcyBTaXppbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cdC8qKlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRzdGF0aWMgZGVmYXVsdFNpemluZ0JyZWFrcG9pbnRzID0gWyc0MDAnLCAnODAwJywgJ34nXTtcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBicmVha3BvaW50IHdpZHRocyBhbmQgdGhlIHN0eWxlIGNsYXNzZXMuXG5cdCAqXG5cdCAqIFRoZSBzaXppbmcgc3BlYyBge1wiNDAwXCI6IFwic21hbGxcIiwgXCI4MDBcIjogXCJtZWRpdW1cIiwgXCJ+XCI6IFwibGFyZ2VcIn1gIHRlbGxzIHRoZSBkaXJlY3RpdmUgdG8gYXBwbHlcblx0ICogYSBzdHlsZSBjbGFzcyBgc21hbGxgIHdoZW4gdGhlIHdpZHRoIG9mIHRoZSBtb25pdG9yZWQgdGFyZ2V0IGlzIHNtYWxsZXIgdGhhbiA0MDAgcGl4ZWxzLFxuXHQgKiBgbWVkaXVtYCB3aGVuIHRoZSB3aWR0aCBpcyBiZXR3ZWVuIDQwMCBhbmQgODAwIHBpeGVscywgYW5kIGBsYXJnZWAgd2hlbiBhYm92ZS5cblx0ICpcblx0ICogQGV4YW1wbGUgeyc0MDAnOiAnc21hbGwnLCAnODAwJzogJ21lZGl1bScsICd+JzogJ2xhcmdlJ31cblx0ICovXG5cdEBJbnB1dCgpXG5cdGJ1aVNpemluZzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuXHQvKipcblx0ICogVGhlIGFsaWFzIG9mIGBidWlTaXppbmdCeWAuXG5cdCAqIEBkZWZhdWx0ICdyb290J1xuXHQgKiBAZGVwcmVjYXRlZFxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzaXppbmdCeTogJ3Jvb3QnIHwgJ3BhcmVudCcgfCBIVE1MRWxlbWVudCA9ICdyb290JztcblxuXHQvKipcblx0ICogRGVzaWduYXRlIGFuIGVsZW1lbnQgdG8gYmUgbW9uaXRvcmVkIGZvciByZWNhbGN1bGF0aW5nIHRoZSBzdHlsZSBjbGFzc2VzIG9mIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqXG5cdCAqIC0gYHJvb3RgIHNwZWNpZmllcyB0aGUgZG9jdW1lbnQgcm9vdCBvciB0aGUgZW5jbG9zaW5nIHNoYWRvdyBob3N0LiBUaGlzIGlzIHRoZSBkZWZhdWx0IHZhbHVlLlxuXHQgKiAtIGBwYXJlbnRgIHNwZWNpZmllcyB0aGUgcGFyZW50IGVsZW1lbnQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0ICdyb290J1xuXHQgKiBAYWxpYXMgc2l6aW5nQnlcblx0ICovXG5cdEBJbnB1dCgpXG5cdGdldCBidWlTaXppbmdCeSgpOiAncm9vdCcgfCAncGFyZW50JyB8IEhUTUxFbGVtZW50IHtcblx0XHRyZXR1cm4gdGhpcy5zaXppbmdCeTtcblx0fVxuXHRzZXQgYnVpU2l6aW5nQnkodGFyZ2V0OiAncm9vdCcgfCAncGFyZW50JyB8IEhUTUxFbGVtZW50KSB7XG5cdFx0dGhpcy5zaXppbmdCeSA9IHRhcmdldDtcblx0fVxuXG5cdC8qKlxuXHQgKiBFbWl0cyBge3dpZHRoLCBoZWlnaHR9YCB3aGVuIHRoZSBtb25pdG9yIHRhcmdldCBlbGVtZW50IHJlc2l6ZXMuXG5cdCAqXG5cdCAqIE5vdGUgdGhhdCB0aGUgZGltZW5zaW9ucyBlbWl0dGVkIGFyZSBvZiB0aGUgW3NpemluZ0J5XSB0YXJnZXQsIGJ1dCBub3QgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICovXG5cdEBPdXRwdXQoKVxuXHRidWlSZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0+KCk7XG5cblx0LyoqXG5cdCAqIFJlY2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgdGhpcyBlbGVtZW50IGFjY29yZGluZyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBtb25pdG9yZWQgdGFyZ2V0LlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpRml4ZWRIZWlnaHQgPSBmYWxzZTtcblxuXHRwcml2YXRlIF9tb25pdG9yVGFyZ2V0OiBIVE1MRWxlbWVudDtcblx0cHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIF9zaXppbmdTcGVjOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cdHByaXZhdGUgX3dpZHRoID0gMDtcblx0cHJpdmF0ZSBfaGVpZ2h0ID0gMDtcblx0cHJpdmF0ZSBfcmVmbG93RnJhbWVDb3VudCA9IDA7XG5cdHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvYzogRG9jdW1lbnQsXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGVmYXVsdFRhcmdldDogU2l6aW5nTW9uaXRvckRpcmVjdGl2ZSxcblx0XHRlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRwcml2YXRlIF96b25lOiBOZ1pvbmVcblx0KSB7XG5cdFx0dGhpcy5fZWxlbWVudCA9IGVsZW1SZWYubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZWxlbWVudDtcblx0fVxuXG5cdG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRjb25zdCBkaXNjb25uZWN0ZWQgPSB0aGlzLl9lbGVtZW50LmdldFJvb3ROb2RlKCkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcblx0XHRpZiAoZGlzY29ubmVjdGVkKSB7XG5cdFx0XHQvLyBkZWZlciBzaGFkb3cgZGV0ZWN0aW9uIHRpbGwgZG9tIGNvbm5lY3Rpb24gZXZlbnRcblx0XHRcdHRoaXMuX3pvbmUub25TdGFibGUucGlwZShkZWJvdW5jZVRpbWUoMTApLCB0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faW5pdE9yUmVzZXQoKSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2luaXRPclJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fdGVhckRvd25Ob2RlTW9uaXRvcigpO1xuXHR9XG5cblx0cHJpdmF0ZSBfaW5pdE9yUmVzZXQoKSB7XG5cdFx0Y29uc3Qgb3JpZ2luYWxUYXJnZXQgPSB0aGlzLl9tb25pdG9yVGFyZ2V0O1xuXHRcdGlmICh0aGlzLmJ1aVNpemluZ0J5IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcblx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLmJ1aVNpemluZ0J5O1xuXHRcdH0gZWxzZSBpZiAodGhpcy5fZGVmYXVsdFRhcmdldCkge1xuXHRcdFx0dGhpcy5fbW9uaXRvclRhcmdldCA9IHRoaXMuX2RlZmF1bHRUYXJnZXQuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXHRcdH0gZWxzZSBpZiAodGhpcy5idWlTaXppbmdCeSA9PT0gJ3Jvb3QnKSB7XG5cdFx0XHRjb25zdCByb290ID0gdGhpcy5fZWxlbWVudC5nZXRSb290Tm9kZSgpO1xuXHRcdFx0aWYgKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG5cdFx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSByb290Lmhvc3QgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZG9jLmRvY3VtZW50RWxlbWVudDtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fbW9uaXRvclRhcmdldCA9IHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCBhcyBhbnk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX21vbml0b3JUYXJnZXQgIT0gb3JpZ2luYWxUYXJnZXQpIHtcblx0XHRcdHRoaXMuX3NldFVwTm9kZU1vbml0b3IoKTtcblx0XHR9XG5cblx0XHR0aGlzLl9zaXppbmdTcGVjID0ge307XG5cdFx0bGV0IHNwZWMgPSB0aGlzLmJ1aVNpemluZztcblx0XHRpZiAodHlwZW9mIHNwZWMgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRzcGVjID0gc3BlYy5zcGxpdCgnLCcpLm1hcChrID0+IGsudHJpbSgpKTtcblx0XHR9XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheShzcGVjKSkge1xuXHRcdFx0c3BlYy5mb3JFYWNoKChjLCBpKSA9PiB7XG5cdFx0XHRcdHRoaXMuX3NpemluZ1NwZWNbU2l6aW5nRGlyZWN0aXZlLmRlZmF1bHRTaXppbmdCcmVha3BvaW50c1tpXSB8fCAnfiddID0gYztcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSBpZiAoc3BlYykge1xuXHRcdFx0dGhpcy5fc2l6aW5nU3BlYyA9IHNwZWM7XG5cdFx0fVxuXG5cdFx0dGhpcy5idWlGaXhlZEhlaWdodCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmJ1aUZpeGVkSGVpZ2h0KTtcblxuXHRcdHRoaXMuX2NhbGN1bGF0ZVNpemUoKTtcblx0fVxuXG5cdHByaXZhdGUgX3NldFVwTm9kZU1vbml0b3IoKSB7XG5cdFx0dGhpcy5fdGVhckRvd25Ob2RlTW9uaXRvcigpO1xuXHRcdGlmICh0aGlzLl9tb25pdG9yVGFyZ2V0KSB7XG5cdFx0XHR0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLl9jYWxjdWxhdGVTaXplKCkpO1xuXG5cdFx0XHR0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX21vbml0b3JUYXJnZXQsIHsgYm94OiAnYm9yZGVyLWJveCcgfSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfdGVhckRvd25Ob2RlTW9uaXRvcigpIHtcblx0XHRpZiAodGhpcy5fb2JzZXJ2ZXIpIHtcblx0XHRcdHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHRcdHRoaXMuX29ic2VydmVyID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2NhbGN1bGF0ZVNpemUoKSB7XG5cdFx0Y29uc3Qgd2lkdGhDaGFuZ2VkID0gdGhpcy5fd2lkdGggIT09IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50V2lkdGg7XG5cdFx0Y29uc3QgaGVpZ2h0Q2hhbmdlZCA9IHRoaXMuX2hlaWdodCAhPT0gdGhpcy5fbW9uaXRvclRhcmdldC5jbGllbnRIZWlnaHQ7XG5cdFx0aWYgKHdpZHRoQ2hhbmdlZCkge1xuXHRcdFx0dGhpcy5fd2lkdGggPSB0aGlzLl9tb25pdG9yVGFyZ2V0LmNsaWVudFdpZHRoO1xuXG5cdFx0XHRjb25zdCBia3MgPSBPYmplY3Qua2V5cyh0aGlzLl9zaXppbmdTcGVjKS5zb3J0KChhLCBiKSA9PiB0aGlzLl90b051bWJlcihhKSAtIHRoaXMuX3RvTnVtYmVyKGIpKTtcblx0XHRcdGxldCBmb3VuZCA9IGZhbHNlO1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2YgYmtzKSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXNPclN0eWxlcyA9IHRoaXMuX3NpemluZ1NwZWNba2V5XS5zcGxpdCgvOysvKS5maWx0ZXIoYyA9PiBjKTtcblx0XHRcdFx0dGhpcy5fcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsYXNzZXNPclN0eWxlcyk7XG5cdFx0XHRcdGNvbnN0IGV4cGVjdGVkV2lkdGggPSB0aGlzLl90b051bWJlcihrZXkpO1xuXHRcdFx0XHRpZiAodGhpcy5fd2lkdGggPD0gZXhwZWN0ZWRXaWR0aCAmJiAhZm91bmQpIHtcblx0XHRcdFx0XHR0aGlzLl9hcHBseUNsYXNzZXNPclN0eWxlcyhjbGFzc2VzT3JTdHlsZXMpO1xuXHRcdFx0XHRcdGZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh3aWR0aENoYW5nZWQgfHwgaGVpZ2h0Q2hhbmdlZCkge1xuXHRcdFx0dGhpcy5faGVpZ2h0ID0gdGhpcy5fbW9uaXRvclRhcmdldC5jbGllbnRIZWlnaHQ7XG5cdFx0XHRpZiAodGhpcy5idWlGaXhlZEhlaWdodCkge1xuXHRcdFx0XHR0aGlzLl9yZWZsb3dGcmFtZUNvdW50ID0gMDtcblx0XHRcdFx0dGhpcy5fcmVmbG93SGVpZ2h0KCk7XG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuYnVpUmVzaXplZC5lbWl0KHsgd2lkdGg6IHRoaXMuX3dpZHRoLCBoZWlnaHQ6IHRoaXMuX2hlaWdodCB9KSkpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2FwcGx5Q2xhc3Nlc09yU3R5bGVzKGNsc09yU3R5bGVzOiBzdHJpbmdbXSkge1xuXHRcdGNsc09yU3R5bGVzLmZvckVhY2gocyA9PiB7XG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XG5cdFx0XHRcdGNvbnN0IFtwcm9wLCB2YWxdID0gcy5zcGxpdCgnOicpO1xuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3AudHJpbSgpLCB2YWwudHJpbSgpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXMgPSBzLnNwbGl0KC9cXHMrLykuZmlsdGVyKGMgPT4gYyk7XG5cdFx0XHRcdGlmIChjbGFzc2VzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsc09yU3R5bGVzOiBzdHJpbmdbXSkge1xuXHRcdGNsc09yU3R5bGVzLmZvckVhY2gocyA9PiB7XG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XG5cdFx0XHRcdGNvbnN0IFtwcm9wXSA9IHMuc3BsaXQoJzonKTtcblx0XHRcdFx0dGhpcy5fZWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShwcm9wKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXMgPSBzLnNwbGl0KC9cXHMrLykuZmlsdGVyKGMgPT4gYyk7XG5cdFx0XHRcdGlmIChjbGFzc2VzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBfcmVmbG93SGVpZ2h0KCkge1xuXHRcdGNvbnN0IGNudCA9IHRoaXMuX3JlZmxvd0ZyYW1lQ291bnQ7XG5cdFx0aWYgKGNudCA8IDE1KSB7XG5cdFx0XHRyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fcmVmbG93SGVpZ2h0LmJpbmQodGhpcykpO1xuXG5cdFx0XHRpZiAoY250ID09PSAwKSB7XG5cdFx0XHRcdHRoaXMuX2VsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuXHRcdFx0fSBlbHNlIGlmIChjbnQgPT09IDE0KSB7XG5cdFx0XHRcdGNvbnN0IGd0ID0gcGFyc2VJbnQoXG5cdFx0XHRcdFx0Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9tb25pdG9yVGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpLnJlcGxhY2UoL3B4JC8sICcnKSB8fCAnMCcsXG5cdFx0XHRcdFx0MTBcblx0XHRcdFx0KTtcblx0XHRcdFx0Y29uc3QgZ2IgPSBwYXJzZUludChcblx0XHRcdFx0XHRnZXRDb21wdXRlZFN0eWxlKHRoaXMuX21vbml0b3JUYXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJykucmVwbGFjZSgvcHgkLywgJycpIHx8ICcwJyxcblx0XHRcdFx0XHQxMFxuXHRcdFx0XHQpO1xuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuX2hlaWdodCAtIGd0IC0gZ2IgLSA1fXB4YDtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5fcmVmbG93RnJhbWVDb3VudCsrO1xuXHR9XG5cblx0cHJpdmF0ZSBfdG9OdW1iZXIoczogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIChzID09PSAnficgPyBJbmZpbml0eSA6IE51bWJlcihzKSkgfHwgLUluZmluaXR5O1xuXHR9XG59XG4iXX0=
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3NpemluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFrRTNCLFlBQzJCLElBQWMsRUFDcEIsY0FBc0MsRUFDMUQsT0FBZ0MsRUFDeEIsS0FBYTtRQUhLLFNBQUksR0FBSixJQUFJLENBQVU7UUFDcEIsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBRWxELFVBQUssR0FBTCxLQUFLLENBQVE7UUFoRXRCOzs7Ozs7OztXQVFHO1FBRUgsY0FBUyxHQUF1RCxFQUFFLENBQUM7UUFFbkU7Ozs7O1dBS0c7UUFFSCxhQUFRLEdBQW9DLE1BQU0sQ0FBQztRQW1CbkQ7Ozs7V0FJRztRQUVILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUVuRTs7V0FFRztRQUVILG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSWYsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBUzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN0QyxJQUFJ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SSxDQUFDLFFBQVEsQ0FBQztJQUN4RCxDQUFDOztBQWxPRDs7R0FFRztBQUNJLHdDQUF3QixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQzs0R0FKMUMsZUFBZSxrQkFtRWxCLFFBQVE7Z0dBbkVMLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUseURBQXlEO2lCQUNuRTs7MEJBb0VFLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsUUFBUTswRkFwRFYsU0FBUztzQkFEUixLQUFLO2dCQVVOLFFBQVE7c0JBRFAsS0FBSztnQkFhRixXQUFXO3NCQURkLEtBQUs7Z0JBY04sVUFBVTtzQkFEVCxNQUFNO2dCQU9QLGNBQWM7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0LFxuXHRJbnB1dCxcblx0Tmdab25lLFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0T3B0aW9uYWwsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNpemluZ01vbml0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgbW9uaXRvcnMgdGhlIGNoYW5nZXMgaW4gdGhlIHdpZHRoIG9mIHRoZSBgc2l6aW5nQnlgIHRhcmdldCwgYW5kIGFwcGx5IHNwZWNpZmllZCBzdHlsZVxuICogIGNsYXNzZXMgYW5kL29yIGlubGluZSBzdHlsZXMgdG8gdGhlIGN1cnJlbnQgZWxlbWVudCBkeW5hbWljYWxseS5cbiAqXG4gKiBJbiBvcmRlciBmb3IgdGhlIGxheW91dCBlbmdpbmUgdG8gZWZmaWNpZW50bHkgY2FsY3VsYXRlIGFuZCBzdGFiaWxpemUgdGhlIGRpbWVuc2lvbnMsIHRoZSBlZmZlY3RpdmUgc3R5bGUgcHJvcGVydHlcbiAqIGBib3gtc2l6aW5nYCBvZiB0aGUgYHNpemluZ0J5YCB0YXJnZXQgZWxlbWVudCBtdXN0IGJlIHNldCB0byBgYm9yZGVyLWJveGAuXG4gKlxuICogVGhlIGRpcmVjdGl2ZSB1c2VzIFtSZXNpemVPYnNlcnZlciBBUEldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNpemVfT2JzZXJ2ZXJfQVBJKVxuICogdG8gY2FwdHVyZSB0aGUgZXZlbnRzIG9mIGVsZW1lbnQgcmVzaXppbmcuIFBsZWFzZSB1c2UgYSBwb2x5ZmlsbCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IG9sZGVyIGJyb3dzZXJzXG4gKiB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgUmVzaXplT2JzZXJ2ZXIgQVBJLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgI3BhcmVudEVsZW1lbnQ+XG4gKiAgIDxkaXYgW2J1aVNpemluZ109XCJ7JzQwMCc6ICdzbWFsbCcsICc4MDAnOiAnbWVkaXVtJywgJ34nOiAnbGFyZ2UnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XG4gKiAgIDxkaXYgW2J1aVNpemluZ109XCJbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXCIgW2J1aVNpemluZ0J5XT1cIidyb290J1wiPjwvZGl2PlxuICogICA8ZGl2IFtidWlTaXppbmddPVwieyc2NTAnOiAnYm9yZGVyLWNvbG9yOiAjMjg1NjknLCAnfic6ICdiZy1tdXRlZDsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpU2l6aW5nXSxbYnVpUmVzaXplZF0sW2J1aVNpemluZ0J5XSxbYnVpRml4ZWRIZWlnaHRdJ1xufSlcbmV4cG9ydCBjbGFzcyBTaXppbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cdC8qKlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRzdGF0aWMgZGVmYXVsdFNpemluZ0JyZWFrcG9pbnRzID0gWyc0MDAnLCAnODAwJywgJ34nXTtcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBicmVha3BvaW50IHdpZHRocyBhbmQgdGhlIHN0eWxlIGNsYXNzZXMuXG5cdCAqXG5cdCAqIFRoZSBzaXppbmcgc3BlYyBge1wiNDAwXCI6IFwic21hbGxcIiwgXCI4MDBcIjogXCJtZWRpdW1cIiwgXCJ+XCI6IFwibGFyZ2VcIn1gIHRlbGxzIHRoZSBkaXJlY3RpdmUgdG8gYXBwbHlcblx0ICogYSBzdHlsZSBjbGFzcyBgc21hbGxgIHdoZW4gdGhlIHdpZHRoIG9mIHRoZSBtb25pdG9yZWQgdGFyZ2V0IGlzIHNtYWxsZXIgdGhhbiA0MDAgcGl4ZWxzLFxuXHQgKiBgbWVkaXVtYCB3aGVuIHRoZSB3aWR0aCBpcyBiZXR3ZWVuIDQwMCBhbmQgODAwIHBpeGVscywgYW5kIGBsYXJnZWAgd2hlbiBhYm92ZS5cblx0ICpcblx0ICogQGV4YW1wbGUgeyc0MDAnOiAnc21hbGwnLCAnODAwJzogJ21lZGl1bScsICd+JzogJ2xhcmdlJ31cblx0ICovXG5cdEBJbnB1dCgpXG5cdGJ1aVNpemluZzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuXHQvKipcblx0ICogVGhlIGFsaWFzIG9mIGBidWlTaXppbmdCeWAuXG5cdCAqIEBkZWZhdWx0ICdyb290J1xuXHQgKiBAZGVwcmVjYXRlZFxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzaXppbmdCeTogJ3Jvb3QnIHwgJ3BhcmVudCcgfCBIVE1MRWxlbWVudCA9ICdyb290JztcblxuXHQvKipcblx0ICogRGVzaWduYXRlIGFuIGVsZW1lbnQgdG8gYmUgbW9uaXRvcmVkIGZvciByZWNhbGN1bGF0aW5nIHRoZSBzdHlsZSBjbGFzc2VzIG9mIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqXG5cdCAqIC0gYHJvb3RgIHNwZWNpZmllcyB0aGUgZG9jdW1lbnQgcm9vdCBvciB0aGUgZW5jbG9zaW5nIHNoYWRvdyBob3N0LiBUaGlzIGlzIHRoZSBkZWZhdWx0IHZhbHVlLlxuXHQgKiAtIGBwYXJlbnRgIHNwZWNpZmllcyB0aGUgcGFyZW50IGVsZW1lbnQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0ICdyb290J1xuXHQgKiBAYWxpYXMgc2l6aW5nQnlcblx0ICovXG5cdEBJbnB1dCgpXG5cdGdldCBidWlTaXppbmdCeSgpOiAncm9vdCcgfCAncGFyZW50JyB8IEhUTUxFbGVtZW50IHtcblx0XHRyZXR1cm4gdGhpcy5zaXppbmdCeTtcblx0fVxuXHRzZXQgYnVpU2l6aW5nQnkodGFyZ2V0OiAncm9vdCcgfCAncGFyZW50JyB8IEhUTUxFbGVtZW50KSB7XG5cdFx0dGhpcy5zaXppbmdCeSA9IHRhcmdldDtcblx0fVxuXG5cdC8qKlxuXHQgKiBFbWl0cyBge3dpZHRoLCBoZWlnaHR9YCB3aGVuIHRoZSBtb25pdG9yIHRhcmdldCBlbGVtZW50IHJlc2l6ZXMuXG5cdCAqXG5cdCAqIE5vdGUgdGhhdCB0aGUgZGltZW5zaW9ucyBlbWl0dGVkIGFyZSBvZiB0aGUgW3NpemluZ0J5XSB0YXJnZXQsIGJ1dCBub3QgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICovXG5cdEBPdXRwdXQoKVxuXHRidWlSZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0+KCk7XG5cblx0LyoqXG5cdCAqIFJlY2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgdGhpcyBlbGVtZW50IGFjY29yZGluZyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBtb25pdG9yZWQgdGFyZ2V0LlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpRml4ZWRIZWlnaHQgPSBmYWxzZTtcblxuXHRwcml2YXRlIF9tb25pdG9yVGFyZ2V0OiBIVE1MRWxlbWVudDtcblx0cHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIF9zaXppbmdTcGVjOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cdHByaXZhdGUgX3dpZHRoID0gMDtcblx0cHJpdmF0ZSBfaGVpZ2h0ID0gMDtcblx0cHJpdmF0ZSBfcmVmbG93RnJhbWVDb3VudCA9IDA7XG5cdHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvYzogRG9jdW1lbnQsXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGVmYXVsdFRhcmdldDogU2l6aW5nTW9uaXRvckRpcmVjdGl2ZSxcblx0XHRlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRwcml2YXRlIF96b25lOiBOZ1pvbmVcblx0KSB7XG5cdFx0dGhpcy5fZWxlbWVudCA9IGVsZW1SZWYubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZWxlbWVudDtcblx0fVxuXG5cdG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRjb25zdCBkaXNjb25uZWN0ZWQgPSB0aGlzLl9lbGVtZW50LmdldFJvb3ROb2RlKCkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcblx0XHRpZiAoZGlzY29ubmVjdGVkKSB7XG5cdFx0XHQvLyBkZWZlciBzaGFkb3cgZGV0ZWN0aW9uIHRpbGwgZG9tIGNvbm5lY3Rpb24gZXZlbnRcblx0XHRcdHRoaXMuX3pvbmUub25TdGFibGUucGlwZShkZWJvdW5jZVRpbWUoMTApLCB0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faW5pdE9yUmVzZXQoKSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2luaXRPclJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fdGVhckRvd25Ob2RlTW9uaXRvcigpO1xuXHR9XG5cblx0cHJpdmF0ZSBfaW5pdE9yUmVzZXQoKSB7XG5cdFx0Y29uc3Qgb3JpZ2luYWxUYXJnZXQgPSB0aGlzLl9tb25pdG9yVGFyZ2V0O1xuXHRcdGlmICh0aGlzLmJ1aVNpemluZ0J5IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcblx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLmJ1aVNpemluZ0J5O1xuXHRcdH0gZWxzZSBpZiAodGhpcy5fZGVmYXVsdFRhcmdldCkge1xuXHRcdFx0dGhpcy5fbW9uaXRvclRhcmdldCA9IHRoaXMuX2RlZmF1bHRUYXJnZXQuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXHRcdH0gZWxzZSBpZiAodGhpcy5idWlTaXppbmdCeSA9PT0gJ3Jvb3QnKSB7XG5cdFx0XHRjb25zdCByb290ID0gdGhpcy5fZWxlbWVudC5nZXRSb290Tm9kZSgpO1xuXHRcdFx0aWYgKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG5cdFx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSByb290Lmhvc3QgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9tb25pdG9yVGFyZ2V0ID0gdGhpcy5fZG9jLmRvY3VtZW50RWxlbWVudDtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fbW9uaXRvclRhcmdldCA9IHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCBhcyBhbnk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX21vbml0b3JUYXJnZXQgIT0gb3JpZ2luYWxUYXJnZXQpIHtcblx0XHRcdHRoaXMuX3NldFVwTm9kZU1vbml0b3IoKTtcblx0XHR9XG5cblx0XHR0aGlzLl9zaXppbmdTcGVjID0ge307XG5cdFx0bGV0IHNwZWMgPSB0aGlzLmJ1aVNpemluZztcblx0XHRpZiAodHlwZW9mIHNwZWMgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRzcGVjID0gc3BlYy5zcGxpdCgnLCcpLm1hcChrID0+IGsudHJpbSgpKTtcblx0XHR9XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheShzcGVjKSkge1xuXHRcdFx0c3BlYy5mb3JFYWNoKChjLCBpKSA9PiB7XG5cdFx0XHRcdHRoaXMuX3NpemluZ1NwZWNbU2l6aW5nRGlyZWN0aXZlLmRlZmF1bHRTaXppbmdCcmVha3BvaW50c1tpXSB8fCAnfiddID0gYztcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSBpZiAoc3BlYykge1xuXHRcdFx0dGhpcy5fc2l6aW5nU3BlYyA9IHNwZWM7XG5cdFx0fVxuXG5cdFx0dGhpcy5idWlGaXhlZEhlaWdodCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmJ1aUZpeGVkSGVpZ2h0KTtcblxuXHRcdHRoaXMuX2NhbGN1bGF0ZVNpemUoKTtcblx0fVxuXG5cdHByaXZhdGUgX3NldFVwTm9kZU1vbml0b3IoKSB7XG5cdFx0dGhpcy5fdGVhckRvd25Ob2RlTW9uaXRvcigpO1xuXHRcdGlmICh0aGlzLl9tb25pdG9yVGFyZ2V0KSB7XG5cdFx0XHR0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLl9jYWxjdWxhdGVTaXplKCkpO1xuXG5cdFx0XHR0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX21vbml0b3JUYXJnZXQsIHsgYm94OiAnYm9yZGVyLWJveCcgfSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfdGVhckRvd25Ob2RlTW9uaXRvcigpIHtcblx0XHRpZiAodGhpcy5fb2JzZXJ2ZXIpIHtcblx0XHRcdHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHRcdHRoaXMuX29ic2VydmVyID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2NhbGN1bGF0ZVNpemUoKSB7XG5cdFx0Y29uc3Qgd2lkdGhDaGFuZ2VkID0gdGhpcy5fd2lkdGggIT09IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50V2lkdGg7XG5cdFx0Y29uc3QgaGVpZ2h0Q2hhbmdlZCA9IHRoaXMuX2hlaWdodCAhPT0gdGhpcy5fbW9uaXRvclRhcmdldC5jbGllbnRIZWlnaHQ7XG5cdFx0aWYgKHdpZHRoQ2hhbmdlZCkge1xuXHRcdFx0dGhpcy5fd2lkdGggPSB0aGlzLl9tb25pdG9yVGFyZ2V0LmNsaWVudFdpZHRoO1xuXG5cdFx0XHRjb25zdCBia3MgPSBPYmplY3Qua2V5cyh0aGlzLl9zaXppbmdTcGVjKS5zb3J0KChhLCBiKSA9PiB0aGlzLl90b051bWJlcihhKSAtIHRoaXMuX3RvTnVtYmVyKGIpKTtcblx0XHRcdGxldCBmb3VuZCA9IGZhbHNlO1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2YgYmtzKSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXNPclN0eWxlcyA9IHRoaXMuX3NpemluZ1NwZWNba2V5XS5zcGxpdCgvOysvKS5maWx0ZXIoYyA9PiBjKTtcblx0XHRcdFx0dGhpcy5fcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsYXNzZXNPclN0eWxlcyk7XG5cdFx0XHRcdGNvbnN0IGV4cGVjdGVkV2lkdGggPSB0aGlzLl90b051bWJlcihrZXkpO1xuXHRcdFx0XHRpZiAodGhpcy5fd2lkdGggPD0gZXhwZWN0ZWRXaWR0aCAmJiAhZm91bmQpIHtcblx0XHRcdFx0XHR0aGlzLl9hcHBseUNsYXNzZXNPclN0eWxlcyhjbGFzc2VzT3JTdHlsZXMpO1xuXHRcdFx0XHRcdGZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh3aWR0aENoYW5nZWQgfHwgaGVpZ2h0Q2hhbmdlZCkge1xuXHRcdFx0dGhpcy5faGVpZ2h0ID0gdGhpcy5fbW9uaXRvclRhcmdldC5jbGllbnRIZWlnaHQ7XG5cdFx0XHRpZiAodGhpcy5idWlGaXhlZEhlaWdodCkge1xuXHRcdFx0XHR0aGlzLl9yZWZsb3dGcmFtZUNvdW50ID0gMDtcblx0XHRcdFx0dGhpcy5fcmVmbG93SGVpZ2h0KCk7XG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuYnVpUmVzaXplZC5lbWl0KHsgd2lkdGg6IHRoaXMuX3dpZHRoLCBoZWlnaHQ6IHRoaXMuX2hlaWdodCB9KSkpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2FwcGx5Q2xhc3Nlc09yU3R5bGVzKGNsc09yU3R5bGVzOiBzdHJpbmdbXSkge1xuXHRcdGNsc09yU3R5bGVzLmZvckVhY2gocyA9PiB7XG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XG5cdFx0XHRcdGNvbnN0IFtwcm9wLCB2YWxdID0gcy5zcGxpdCgnOicpO1xuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3AudHJpbSgpLCB2YWwudHJpbSgpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXMgPSBzLnNwbGl0KC9cXHMrLykuZmlsdGVyKGMgPT4gYyk7XG5cdFx0XHRcdGlmIChjbGFzc2VzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc09yU3R5bGVzKGNsc09yU3R5bGVzOiBzdHJpbmdbXSkge1xuXHRcdGNsc09yU3R5bGVzLmZvckVhY2gocyA9PiB7XG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XG5cdFx0XHRcdGNvbnN0IFtwcm9wXSA9IHMuc3BsaXQoJzonKTtcblx0XHRcdFx0dGhpcy5fZWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShwcm9wKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzZXMgPSBzLnNwbGl0KC9cXHMrLykuZmlsdGVyKGMgPT4gYyk7XG5cdFx0XHRcdGlmIChjbGFzc2VzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBfcmVmbG93SGVpZ2h0KCkge1xuXHRcdGNvbnN0IGNudCA9IHRoaXMuX3JlZmxvd0ZyYW1lQ291bnQ7XG5cdFx0aWYgKGNudCA8IDE1KSB7XG5cdFx0XHRyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fcmVmbG93SGVpZ2h0LmJpbmQodGhpcykpO1xuXG5cdFx0XHRpZiAoY250ID09PSAwKSB7XG5cdFx0XHRcdHRoaXMuX2VsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuXHRcdFx0fSBlbHNlIGlmIChjbnQgPT09IDE0KSB7XG5cdFx0XHRcdGNvbnN0IGd0ID0gcGFyc2VJbnQoXG5cdFx0XHRcdFx0Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9tb25pdG9yVGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpLnJlcGxhY2UoL3B4JC8sICcnKSB8fCAnMCcsXG5cdFx0XHRcdFx0MTBcblx0XHRcdFx0KTtcblx0XHRcdFx0Y29uc3QgZ2IgPSBwYXJzZUludChcblx0XHRcdFx0XHRnZXRDb21wdXRlZFN0eWxlKHRoaXMuX21vbml0b3JUYXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJykucmVwbGFjZSgvcHgkLywgJycpIHx8ICcwJyxcblx0XHRcdFx0XHQxMFxuXHRcdFx0XHQpO1xuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuX2hlaWdodCAtIGd0IC0gZ2IgLSA1fXB4YDtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5fcmVmbG93RnJhbWVDb3VudCsrO1xuXHR9XG5cblx0cHJpdmF0ZSBfdG9OdW1iZXIoczogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIChzID09PSAnficgPyBJbmZpbml0eSA6IE51bWJlcihzKSkgfHwgLUluZmluaXR5O1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1jbGlwLW5vdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9jbGlwLW5vdGUvYnJhdnVyYS11aS1jbGlwLW5vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,216 @@
|
|
|
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
|
+
constructor(_cd, _dir, _elemRef) {
|
|
12
|
+
this._cd = _cd;
|
|
13
|
+
this._dir = _dir;
|
|
14
|
+
this._elemRef = _elemRef;
|
|
15
|
+
this.buttonText = '';
|
|
16
|
+
this.panelState = 'closed-ltr';
|
|
17
|
+
this.direction = 'ltr';
|
|
18
|
+
this._buttonAnimating = false;
|
|
19
|
+
this._hasContent = false;
|
|
20
|
+
this.opened = new EventEmitter();
|
|
21
|
+
this.closed = new EventEmitter();
|
|
22
|
+
this._hovering = false;
|
|
23
|
+
this._destroyed$ = new Subject();
|
|
24
|
+
this._toggleQueue = [];
|
|
25
|
+
}
|
|
26
|
+
get buttonState() {
|
|
27
|
+
if (this._hovering || this.panelState === 'open') {
|
|
28
|
+
return 'active';
|
|
29
|
+
}
|
|
30
|
+
return 'inactive';
|
|
31
|
+
}
|
|
32
|
+
get buttonIconState() {
|
|
33
|
+
if (this.panelState === 'open') {
|
|
34
|
+
return `open-${this.direction}`;
|
|
35
|
+
}
|
|
36
|
+
if (this.buttonState === 'active') {
|
|
37
|
+
return `active-${this.direction}`;
|
|
38
|
+
}
|
|
39
|
+
return 'inactive';
|
|
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
|
+
}
|
|
141
|
+
ClipNoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", 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\">\n\t<div\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\n\t\t[@panelAnimation]=\"panelState\"\n\t\t#viewDiv\n\t\t(cdkObserveContent)=\"_checkContent()\"\n\t>\n\t\t<ng-container #noteViewRef></ng-container>\n\t</div>\n\n\t<button\n\t\tmat-raised-button\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\n\t\t[color]=\"_color\"\n\t\t[@buttonAnimation]=\"buttonState\"\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\n\t\t(click)=\"_scheduleToggle()\"\n\t>\n\t\t<mat-icon\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\"> {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\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-x:hidden}.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-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], 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: [
|
|
143
|
+
trigger('buttonAnimation', [
|
|
144
|
+
state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
|
|
145
|
+
state('active', style({})),
|
|
146
|
+
transition('inactive <=> active', [
|
|
147
|
+
group([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),
|
|
148
|
+
query('@buttonIconAnimation', animateChild())
|
|
149
|
+
])
|
|
150
|
+
]),
|
|
151
|
+
trigger('buttonTextAnimation', [
|
|
152
|
+
state('inactive', style({ opacity: 0, width: 0 })),
|
|
153
|
+
state('active', style({ opacity: 1 })),
|
|
154
|
+
transition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),
|
|
155
|
+
transition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))
|
|
156
|
+
]),
|
|
157
|
+
trigger('buttonIconAnimation', [
|
|
158
|
+
state('active-ltr', style({ transform: 'rotate(-90deg)' })),
|
|
159
|
+
state('active-rtl', style({ transform: 'rotate(90deg)' })),
|
|
160
|
+
state('open-ltr', style({ transform: 'rotate(90deg)' })),
|
|
161
|
+
state('open-rtl', style({ transform: 'rotate(270deg)' })),
|
|
162
|
+
state('inactive', style({})),
|
|
163
|
+
transition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))
|
|
164
|
+
]),
|
|
165
|
+
trigger('panelAnimation', [
|
|
166
|
+
state('open', style({})),
|
|
167
|
+
state('closed-rtl', style({ transform: 'scale(0) translate(-80%, -100%)', padding: 0, opacity: 0 })),
|
|
168
|
+
state('closed-ltr', style({ transform: 'scale(0) translate(80%, -100%)', padding: 0, opacity: 0 })),
|
|
169
|
+
transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
|
|
170
|
+
])
|
|
171
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", 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%, -100%)', padding: 0, opacity: 0 })),
|
|
200
|
+
state('closed-ltr', style({ transform: 'scale(0) translate(80%, -100%)', 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\">\n\t<div\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\n\t\t[@panelAnimation]=\"panelState\"\n\t\t#viewDiv\n\t\t(cdkObserveContent)=\"_checkContent()\"\n\t>\n\t\t<ng-container #noteViewRef></ng-container>\n\t</div>\n\n\t<button\n\t\tmat-raised-button\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\n\t\t[color]=\"_color\"\n\t\t[@buttonAnimation]=\"buttonState\"\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\n\t\t(click)=\"_scheduleToggle()\"\n\t>\n\t\t<mat-icon\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\"> {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\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-x:hidden}.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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvY2xpcC1ub3RlL2NsaXAtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdHLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxFQUdKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBdUMxQyxNQUFNLE9BQU8saUJBQWlCO0lBOEM3QixZQUNTLEdBQXNCLEVBQ3RCLElBQW9CLEVBQ1osUUFBaUM7UUFGekMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQWhEbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQW1CaEIsZUFBVSxHQUF5QyxZQUFZLENBQUM7UUFFaEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsSUFB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QUNwRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNuRyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO3lCQUN2RSxDQUFDO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtRDdDLElBQUk7NENBWEUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJaEQsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFJMUQsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1jbGlwLW5vdGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGhvc3Q6IHsgY2xhc3M6ICdidWktY2xpcC1ub3RlIGJ1aS1ob3N0JyB9LFxuXHRhbmltYXRpb25zOiBbXG5cdFx0dHJpZ2dlcignYnV0dG9uQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJyonLCBzdHlsZSh7IHdpZHRoOiAnMzZweCcsIG1pbldpZHRoOiAwLCBwYWRkaW5nOiAwIH0pKSxcblx0XHRcdHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7fSkpLFxuXHRcdFx0dHJhbnNpdGlvbignaW5hY3RpdmUgPD0+IGFjdGl2ZScsIFtcblx0XHRcdFx0Z3JvdXAoW2FuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNTYsLjE0LC4xOCwuOTEpJyksIHF1ZXJ5KCdAYnV0dG9uVGV4dEFuaW1hdGlvbicsIGFuaW1hdGVDaGlsZCgpKV0pLFxuXHRcdFx0XHRxdWVyeSgnQGJ1dHRvbkljb25BbmltYXRpb24nLCBhbmltYXRlQ2hpbGQoKSlcblx0XHRcdF0pXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uVGV4dEFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdpbmFjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMCwgd2lkdGg6IDAgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG5cdFx0XHR0cmFuc2l0aW9uKCdpbmFjdGl2ZSA9PiBhY3RpdmUnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjg4LC4xNSwuNjMsLjYxKScpKSxcblx0XHRcdHRyYW5zaXRpb24oJ2FjdGl2ZSA9PiBpbmFjdGl2ZScsIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguMDUsLjcyLC40NCwuOTIpJykpXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uSWNvbkFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdhY3RpdmUtbHRyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZS1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknIH0pKSxcblx0XHRcdHN0YXRlKCdvcGVuLWx0cicsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ29wZW4tcnRsJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMjcwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2luYWN0aXZlJywgc3R5bGUoe30pKSxcblx0XHRcdHRyYW5zaXRpb24oJ2luYWN0aXZlIDw9PiAqLCAqIDw9PiBvcGVuLWx0ciwgKiA8PT4gb3Blbi1ydGwnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpKVxuXHRcdF0pLFxuXHRcdHRyaWdnZXIoJ3BhbmVsQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJ29wZW4nLCBzdHlsZSh7fSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZC1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHRyYW5zbGF0ZSgtODAlLCAtMTAwJSknLCBwYWRkaW5nOiAwLCBvcGFjaXR5OiAwIH0pKSxcblx0XHRcdHN0YXRlKCdjbG9zZWQtbHRyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwKSB0cmFuc2xhdGUoODAlLCAtMTAwJSknLCBwYWRkaW5nOiAwLCBvcGFjaXR5OiAwIH0pKSxcblx0XHRcdHRyYW5zaXRpb24oJ29wZW4gPD0+IConLCBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoLjY5LC4xMiwuNiwuNjIpJykpXG5cdFx0XSlcblx0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ2xpcE5vdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cdGJ1dHRvblRleHQgPSAnJztcblxuXHRnZXQgYnV0dG9uU3RhdGUoKTogc3RyaW5nIHtcblx0XHRpZiAodGhpcy5faG92ZXJpbmcgfHwgdGhpcy5wYW5lbFN0YXRlID09PSAnb3BlbicpIHtcblx0XHRcdHJldHVybiAnYWN0aXZlJztcblx0XHR9XG5cdFx0cmV0dXJuICdpbmFjdGl2ZSc7XG5cdH1cblxuXHRnZXQgYnV0dG9uSWNvblN0YXRlKCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XG5cdFx0XHRyZXR1cm4gYG9wZW4tJHt0aGlzLmRpcmVjdGlvbn1gO1xuXHRcdH1cblx0XHRpZiAodGhpcy5idXR0b25TdGF0ZSA9PT0gJ2FjdGl2ZScpIHtcblx0XHRcdHJldHVybiBgYWN0aXZlLSR7dGhpcy5kaXJlY3Rpb259YDtcblx0XHR9XG5cdFx0cmV0dXJuICdpbmFjdGl2ZSc7XG5cdH1cblxuXHRwYW5lbFN0YXRlOiAnb3BlbicgfCAnY2xvc2VkLWx0cicgfCAnY2xvc2VkLXJ0bCcgPSAnY2xvc2VkLWx0cic7XG5cblx0ZGlyZWN0aW9uID0gJ2x0cic7XG5cdF9jb250ZW50Vmlldz86IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXHRfY29udGVudD86IHN0cmluZztcblx0X2NvbG9yOiBUaGVtZVBhbGV0dGU7XG5cdF9idXR0b25BbmltYXRpbmcgPSBmYWxzZTtcblx0X2ljb24/OiBzdHJpbmc7XG5cdF9oYXNDb250ZW50ID0gZmFsc2U7XG5cblx0cmVhZG9ubHkgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRyZWFkb25seSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0cHJpdmF0ZSBfaG92ZXJpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cdHByaXZhdGUgX3RvZ2dsZVF1ZXVlOiBib29sZWFuW10gPSBbXTtcblxuXHRAVmlld0NoaWxkKCd2aWV3RGl2JywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcblx0cHJpdmF0ZSBfdmlld0RpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdEBWaWV3Q2hpbGQoJ25vdGVWaWV3UmVmJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcblx0cHJpdmF0ZSBfbm90ZVZpZXdSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdEBWaWV3Q2hpbGQoJ2ZhbGxiYWNrVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuXHRwcml2YXRlIF9mYWxsYmFja1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcblx0XHRASG9zdCgpIHByaXZhdGUgX2VsZW1SZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG5cdCkge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBjaGFuZ2VEaXIgPSAoKSA9PiB7XG5cdFx0XHR0aGlzLmRpcmVjdGlvbiA9IHRoaXMuX2Rpci52YWx1ZTtcblx0XHRcdHRoaXMucGFuZWxTdGF0ZSA9IGBjbG9zZWQtJHt0aGlzLmRpcmVjdGlvbn1gIGFzIGFueTtcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH07XG5cdFx0dGhpcy5fZGlyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKGNoYW5nZURpcik7XG5cdFx0Y2hhbmdlRGlyKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9kZXN0cm95ZWQkLm5leHQoKTtcblx0XHR0aGlzLl9kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRfbW91c2VPdmVyQnV0dG9uKGhvdmVyaW5nOiBib29sZWFuKSB7XG5cdFx0aWYgKHRoaXMuX2hvdmVyaW5nICE9PSBob3ZlcmluZykge1xuXHRcdFx0dGhpcy5faG92ZXJpbmcgPSBob3ZlcmluZztcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdHRvZ2dsZSgpIHtcblx0XHR0aGlzLnBhbmVsU3RhdGUgPSB0aGlzLnBhbmVsU3RhdGUgPT09IGBjbG9zZWQtJHt0aGlzLmRpcmVjdGlvbn1gID8gJ29wZW4nIDogKGBjbG9zZWQtJHt0aGlzLmRpcmVjdGlvbn1gIGFzIGFueSk7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRfc2NoZWR1bGVUb2dnbGUoKSB7XG5cdFx0aWYgKHRoaXMuX2J1dHRvbkFuaW1hdGluZykge1xuXHRcdFx0dGhpcy5fdG9nZ2xlUXVldWUucHVzaCh0cnVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy50b2dnbGUoKTtcblx0XHR9XG5cdH1cblxuXHRfY2hlY2tUb2dnbGUoKSB7XG5cdFx0aWYgKHRoaXMuX3RvZ2dsZVF1ZXVlLnBvcCgpKSB7XG5cdFx0XHR0aGlzLnRvZ2dsZSgpO1xuXHRcdH1cblx0fVxuXG5cdG9wZW4oKSB7XG5cdFx0dGhpcy5wYW5lbFN0YXRlID0gJ29wZW4nO1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMuX2VtaXQoKTtcblx0fVxuXG5cdGNsb3NlKCkge1xuXHRcdHRoaXMucGFuZWxTdGF0ZSA9IGBjbG9zZWQtJHt0aGlzLmRpcmVjdGlvbn1gIGFzIGFueTtcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLl9lbWl0KCk7XG5cdH1cblxuXHRfZW1pdCgpIHtcblx0XHRpZiAodGhpcy5wYW5lbFN0YXRlID09PSAnb3BlbicpIHtcblx0XHRcdHRoaXMub3BlbmVkLmVtaXQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbG9zZWQuZW1pdCgpO1xuXHRcdH1cblx0fVxuXG5cdF9jb250ZW50Q2hhbmdlZChjb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pikge1xuXHRcdGxldCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuXHRcdGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcblx0XHRcdHRlbXBsYXRlID0gY29udGVudDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGVtcGxhdGUgPSB0aGlzLl9mYWxsYmFja1RlbXBsYXRlO1xuXHRcdFx0dGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG5cdFx0fVxuXHRcdHRoaXMuX25vdGVWaWV3UmVmLmNsZWFyKCk7XG5cdFx0Y29uc3QgY29udGV4dCA9IHt9O1xuXHRcdHRoaXMuX2NvbnRlbnRWaWV3ID0gdGhpcy5fbm90ZVZpZXdSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlLCBjb250ZXh0KTtcblx0XHR0aGlzLl9jaGVja0NvbnRlbnQodHJ1ZSk7XG5cdH1cblxuXHRfY2hlY2tDb250ZW50KGluaXRpYWw/OiBib29sZWFuKSB7XG5cdFx0dGhpcy5fY29udGVudFZpZXc/LmRldGVjdENoYW5nZXMoKTtcblx0XHR0aGlzLl9oYXNDb250ZW50ID0gISF0aGlzLl92aWV3RGl2Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKTtcblx0XHRjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9lbGVtUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXHRcdGNvbnN0IGNscyA9ICdidWktY2xpcC1ub3RlLWhpZGRlbic7XG5cdFx0Y29uc3QgY2xzMSA9ICdidWktY2xpcC1ub3RlLXJldmVhbCc7XG5cdFx0aWYgKHRoaXMuX2hhc0NvbnRlbnQpIHtcblx0XHRcdGNsYXNzTGlzdC5yZW1vdmUoY2xzKTtcblx0XHRcdGlmICghaW5pdGlhbCAmJiB0aGlzLnBhbmVsU3RhdGUgIT09ICdvcGVuJykge1xuXHRcdFx0XHRjbGFzc0xpc3QuYWRkKGNsczEpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fZWxlbVJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGFzc0xpc3QuYWRkKGNscyk7XG5cdFx0XHRjbGFzc0xpc3QucmVtb3ZlKGNsczEpO1xuXHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdH1cblx0fVxuXG5cdF9hc3NpZ25Db2xvcihjb2xvcjogVGhlbWVQYWxldHRlKSB7XG5cdFx0dGhpcy5fY29sb3IgPSBjb2xvcjtcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdF9hc3NpZ25CdXR0b25UZXh0KHRleHQ6IHN0cmluZykge1xuXHRcdHRoaXMuYnV0dG9uVGV4dCA9IHRleHQ7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRfYXNzaWduQnV0dG9uSWNvbihpY29uPzogc3RyaW5nKSB7XG5cdFx0dGhpcy5faWNvbiA9IGljb247XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJidWktY2xpcC1ub3RlLXdyYXBwZXJcIj5cblx0PGRpdlxuXHRcdGNsYXNzPVwiYnVpLWNsaXAtbm90ZS1jb250ZW50IGJ1aS1ib3JkZXIte3sgX2NvbG9yIH19IG1hdC1lbGV2YXRpb24tejNcIlxuXHRcdFtAcGFuZWxBbmltYXRpb25dPVwicGFuZWxTdGF0ZVwiXG5cdFx0I3ZpZXdEaXZcblx0XHQoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwiX2NoZWNrQ29udGVudCgpXCJcblx0PlxuXHRcdDxuZy1jb250YWluZXIgI25vdGVWaWV3UmVmPjwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cblxuXHQ8YnV0dG9uXG5cdFx0bWF0LXJhaXNlZC1idXR0b25cblx0XHRjbGFzcz1cImJ1aS1jbGlwLW5vdGUtdHJpZ2dlciBidWktY2xpcC1ub3RlLXRyaWdnZXIte3sgYnV0dG9uSWNvblN0YXRlIH19XCJcblx0XHRbY29sb3JdPVwiX2NvbG9yXCJcblx0XHRbQGJ1dHRvbkFuaW1hdGlvbl09XCJidXR0b25TdGF0ZVwiXG5cdFx0KG1vdXNlZW50ZXIpPVwiX21vdXNlT3ZlckJ1dHRvbih0cnVlKVwiXG5cdFx0KG1vdXNlbGVhdmUpPVwiX21vdXNlT3ZlckJ1dHRvbihmYWxzZSlcIlxuXHRcdChjbGljayk9XCJfc2NoZWR1bGVUb2dnbGUoKVwiXG5cdD5cblx0XHQ8bWF0LWljb25cblx0XHRcdFtAYnV0dG9uSWNvbkFuaW1hdGlvbl09XCJfaWNvbiA/ICdkaXNhYmxlZCcgOiBidXR0b25JY29uU3RhdGVcIlxuXHRcdFx0KEBidXR0b25JY29uQW5pbWF0aW9uLnN0YXJ0KT1cIl9idXR0b25BbmltYXRpbmcgPSB0cnVlXCJcblx0XHRcdChAYnV0dG9uSWNvbkFuaW1hdGlvbi5kb25lKT1cIl9idXR0b25BbmltYXRpbmcgPSBmYWxzZTsgX2NoZWNrVG9nZ2xlKClcIlxuXHRcdFx0W2J1aUljb25dPVwiX2ljb24gfHwgKGRpcmVjdGlvbiA9PT0gJ3J0bCcgPyAnY2hldnJvbl9yaWdodCcgOiAnY2hldnJvbl9sZWZ0JylcIlxuXHRcdD5cblx0XHQ8L21hdC1pY29uPlxuXHRcdDxzcGFuIFtAYnV0dG9uVGV4dEFuaW1hdGlvbl09XCJidXR0b25TdGF0ZVwiIGNsYXNzPVwiYnVpLWNsaXAtbm90ZS1idXR0b24tdGV4dFwiPiZuYnNwOyB7eyBidXR0b25UZXh0IH19PC9zcGFuPlxuXHQ8L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2ZhbGxiYWNrVGVtcGxhdGU+XG5cdDxkaXYgW2lubmVySFRNTF09XCJfY29udGVudFwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Host, Inject, InjectionToken, Input, Output } from '@angular/core';
|
|
2
|
+
import { ClipNoteComponent } from './clip-note.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/** Used to provide default config for clip notes. */
|
|
5
|
+
export const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken('bui-clip-note.default-config', {
|
|
6
|
+
factory: () => ({ color: 'primary', caption: 'More info' })
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's
|
|
10
|
+
* viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.
|
|
11
|
+
*
|
|
12
|
+
* The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself
|
|
13
|
+
* automatically when there is no content provided via the `buiClipNote` property of the directive.
|
|
14
|
+
*
|
|
15
|
+
* The clip note component is suitable for large page container elements with visible boundaries. It can present contextual
|
|
16
|
+
* information regarding and in addition to the content displayed in the main view area.
|
|
17
|
+
*
|
|
18
|
+
* The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which
|
|
19
|
+
* can optionally be provided by the `ClipNoteModule.forConfig()` method.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export class ClipNoteDirective {
|
|
23
|
+
constructor(_elementRef, _vc, _config) {
|
|
24
|
+
this._elementRef = _elementRef;
|
|
25
|
+
this._vc = _vc;
|
|
26
|
+
/** Emits when the panel opens */
|
|
27
|
+
this.buiClipNoteOpened = new EventEmitter();
|
|
28
|
+
/** Emits when the panel closes */
|
|
29
|
+
this.buiClipNoteClosed = new EventEmitter();
|
|
30
|
+
this._color = 'primary';
|
|
31
|
+
this._caption = _config.caption;
|
|
32
|
+
this._color = _config.color;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Provide content to the clip note's floating notepad element.
|
|
36
|
+
* It accepts a `string` of HTML content or a `TemplateRef` object.
|
|
37
|
+
*/
|
|
38
|
+
get buiClipNote() {
|
|
39
|
+
return this._content;
|
|
40
|
+
}
|
|
41
|
+
set buiClipNote(note) {
|
|
42
|
+
this._content = note;
|
|
43
|
+
if (this._compRef) {
|
|
44
|
+
this._processContent();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Customise the theme color alias.
|
|
49
|
+
* @default 'primary'
|
|
50
|
+
*/
|
|
51
|
+
get buiClipNoteColor() {
|
|
52
|
+
return this._color;
|
|
53
|
+
}
|
|
54
|
+
set buiClipNoteColor(color) {
|
|
55
|
+
this._color = color;
|
|
56
|
+
if (this._compRef) {
|
|
57
|
+
this._compRef.instance._assignColor(this._color);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Customise the icon on the toggle button. With this property specified, the animation on the icon
|
|
62
|
+
* will not be active.
|
|
63
|
+
*/
|
|
64
|
+
get buiClipNoteIcon() {
|
|
65
|
+
return this._icon;
|
|
66
|
+
}
|
|
67
|
+
set buiClipNoteIcon(icon) {
|
|
68
|
+
this._icon = icon;
|
|
69
|
+
if (this._compRef) {
|
|
70
|
+
this._compRef.instance._assignButtonIcon(this._icon);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The caption of the toggle button when expanded.
|
|
75
|
+
*/
|
|
76
|
+
get buiClipNoteCaption() {
|
|
77
|
+
return this._caption;
|
|
78
|
+
}
|
|
79
|
+
set buiClipNoteCaption(text) {
|
|
80
|
+
this._caption = text;
|
|
81
|
+
if (this._compRef) {
|
|
82
|
+
this._compRef.instance._assignButtonText(this._caption);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
ngAfterViewInit() {
|
|
86
|
+
setTimeout(() => {
|
|
87
|
+
this._compRef = this._vc.createComponent(ClipNoteComponent);
|
|
88
|
+
const childElement = this._compRef.location.nativeElement;
|
|
89
|
+
const element = this._elementRef.nativeElement;
|
|
90
|
+
element.style.position = 'relative';
|
|
91
|
+
element.appendChild(childElement);
|
|
92
|
+
this._compRef.instance._assignColor(this._color);
|
|
93
|
+
this._compRef.instance._assignButtonText(this._caption);
|
|
94
|
+
this._compRef.instance._assignButtonIcon(this._icon);
|
|
95
|
+
this._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));
|
|
96
|
+
this._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));
|
|
97
|
+
this._processContent();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
ngOnDestroy() {
|
|
101
|
+
this._compRef.destroy();
|
|
102
|
+
}
|
|
103
|
+
/** Open the note panel */
|
|
104
|
+
open() {
|
|
105
|
+
this._compRef.instance.open();
|
|
106
|
+
}
|
|
107
|
+
/** Close the note panel */
|
|
108
|
+
close() {
|
|
109
|
+
this._compRef.instance.close();
|
|
110
|
+
}
|
|
111
|
+
_processContent() {
|
|
112
|
+
this._compRef.instance._contentChanged(this._content);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
ClipNoteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteDirective, deps: [{ token: i0.ElementRef, host: true }, { token: i0.ViewContainerRef }, { token: CLIP_NOTE_DEFAULT_CONFIG }], target: i0.ɵɵFactoryTarget.Directive });
|
|
116
|
+
ClipNoteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: ClipNoteDirective, selector: "[buiClipNote]", inputs: { buiClipNote: "buiClipNote", buiClipNoteColor: "buiClipNoteColor", buiClipNoteIcon: "buiClipNoteIcon", buiClipNoteCaption: "buiClipNoteCaption" }, outputs: { buiClipNoteOpened: "buiClipNoteOpened", buiClipNoteClosed: "buiClipNoteClosed" }, exportAs: ["buiClipNote"], ngImport: i0 });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteDirective, decorators: [{
|
|
118
|
+
type: Directive,
|
|
119
|
+
args: [{
|
|
120
|
+
selector: '[buiClipNote]',
|
|
121
|
+
exportAs: 'buiClipNote'
|
|
122
|
+
}]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
124
|
+
type: Host
|
|
125
|
+
}] }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
|
126
|
+
type: Inject,
|
|
127
|
+
args: [CLIP_NOTE_DEFAULT_CONFIG]
|
|
128
|
+
}] }]; }, propDecorators: { buiClipNote: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], buiClipNoteColor: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], buiClipNoteIcon: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], buiClipNoteCaption: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], buiClipNoteOpened: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}], buiClipNoteClosed: [{
|
|
139
|
+
type: Output
|
|
140
|
+
}] } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTixTQUFTLEVBRVQsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzFELHFEQUFxRDtBQUNyRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsOEJBQThCLEVBQUU7SUFDakgsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztDQUMzRCxDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7OztHQWFHO0FBS0gsTUFBTSxPQUFPLGlCQUFpQjtJQTBFN0IsWUFDaUIsV0FBb0MsRUFDNUMsR0FBcUIsRUFDSyxPQUE4QjtRQUZoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDNUMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFoQjlCLGlDQUFpQztRQUV4QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRELGtDQUFrQztRQUV6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzlDLFdBQU0sR0FBaUIsU0FBUyxDQUFDO1FBVXhDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQWhGRDs7O09BR0c7SUFDSCxJQUNJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxR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QUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLElBQUk7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLEtBQUs7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzhHQW5IVyxpQkFBaUIsd0ZBNkVwQix3QkFBd0I7a0dBN0VyQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7aUJBQ3ZCOzswQkE0RUUsSUFBSTs7MEJBRUosTUFBTTsyQkFBQyx3QkFBd0I7NENBdkU3QixXQUFXO3NCQURkLEtBQUs7Z0JBZ0JGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFnQkYsZUFBZTtzQkFEbEIsS0FBSztnQkFlRixrQkFBa0I7c0JBRHJCLEtBQUs7Z0JBYUcsaUJBQWlCO3NCQUR6QixNQUFNO2dCQUtFLGlCQUFpQjtzQkFEekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENvbXBvbmVudFJlZixcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdEhvc3QsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDbGlwTm90ZUNvbXBvbmVudCB9IGZyb20gJy4vY2xpcC1ub3RlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcE5vdGVEZWZhdWx0Q29uZmlnIHtcblx0Y29sb3I6IFRoZW1lUGFsZXR0ZTtcblx0Y2FwdGlvbjogc3RyaW5nO1xufVxuXG4vKiogVXNlZCB0byBwcm92aWRlIGRlZmF1bHQgY29uZmlnIGZvciBjbGlwIG5vdGVzLiAqL1xuZXhwb3J0IGNvbnN0IENMSVBfTk9URV9ERUZBVUxUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDbGlwTm90ZURlZmF1bHRDb25maWc+KCdidWktY2xpcC1ub3RlLmRlZmF1bHQtY29uZmlnJywge1xuXHRmYWN0b3J5OiAoKSA9PiAoeyBjb2xvcjogJ3ByaW1hcnknLCBjYXB0aW9uOiAnTW9yZSBpbmZvJyB9KVxufSk7XG5cbi8qKlxuICogQSBjbGlwIG5vdGUgY29uc2lzdHMgb2YgYSB0b2dnbGUgYnV0dG9uIGFuZCBhIGZsb2F0aW5nICdub3RlcGFkJyBlbGVtZW50LCBhdHRhY2hlZCB0byB0aGUgdG9wIGVuZCBvZiB0aGUgaG9zdCBlbGVtZW50J3NcbiAqIHZpZXdhYmxlIGFyZWEuIFRoZSAnbm90ZXBhZCcgbm9ybWFsbHkgY29sbGFwc2VzIGF3YXkgYW5kIG9ubHkgcmV2ZWFscyBpdHNlbGYgd2hlbiB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBhY3RpdmUuXG4gKlxuICogVGhlIHRvZ2dsZSBidXR0b24gY2xpcHMgb24gdGhlIGVkZ2Ugb2YgdGhlIGhvc3QgZWxlbWVudCBhbmQgZXhwYW5kcyB0byBkaXNwbGF5IHRoZSBmdWxsIGNhcHRpb24gd2hlbiBob3ZlcmVkLiBJdCBoaWRlcyBpdHNlbGZcbiAqIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGVyZSBpcyBubyBjb250ZW50IHByb3ZpZGVkIHZpYSB0aGUgYGJ1aUNsaXBOb3RlYCBwcm9wZXJ0eSBvZiB0aGUgZGlyZWN0aXZlLlxuICpcbiAqIFRoZSBjbGlwIG5vdGUgY29tcG9uZW50IGlzIHN1aXRhYmxlIGZvciBsYXJnZSBwYWdlIGNvbnRhaW5lciBlbGVtZW50cyB3aXRoIHZpc2libGUgYm91bmRhcmllcy4gSXQgY2FuIHByZXNlbnQgY29udGV4dHVhbFxuICogaW5mb3JtYXRpb24gcmVnYXJkaW5nIGFuZCBpbiBhZGRpdGlvbiB0byB0aGUgY29udGVudCBkaXNwbGF5ZWQgaW4gdGhlIG1haW4gdmlldyBhcmVhLlxuICpcbiAqIFRoZSBwcm9wZXJ0aWVzIGBidWlDbGlwTm90ZUNvbG9yYCBhbmQgYGJ1aUNsaXBOb3RlQ2FwdGlvbmAgY3VzdG9taXNlIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjbGlwIG5vdGUsIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB3aGljaFxuICogY2FuIG9wdGlvbmFsbHkgYmUgcHJvdmlkZWQgYnkgdGhlIGBDbGlwTm90ZU1vZHVsZS5mb3JDb25maWcoKWAgbWV0aG9kLlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2J1aUNsaXBOb3RlXScsXG5cdGV4cG9ydEFzOiAnYnVpQ2xpcE5vdGUnXG59KVxuZXhwb3J0IGNsYXNzIENsaXBOb3RlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdC8qKlxuXHQgKiBQcm92aWRlIGNvbnRlbnQgdG8gdGhlIGNsaXAgbm90ZSdzIGZsb2F0aW5nIG5vdGVwYWQgZWxlbWVudC5cblx0ICogSXQgYWNjZXB0cyBhIGBzdHJpbmdgIG9mIEhUTUwgY29udGVudCBvciBhIGBUZW1wbGF0ZVJlZmAgb2JqZWN0LlxuXHQgKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aUNsaXBOb3RlKCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLl9jb250ZW50O1xuXHR9XG5cdHNldCBidWlDbGlwTm90ZShub3RlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKSB7XG5cdFx0dGhpcy5fY29udGVudCA9IG5vdGU7XG5cdFx0aWYgKHRoaXMuX2NvbXBSZWYpIHtcblx0XHRcdHRoaXMuX3Byb2Nlc3NDb250ZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEN1c3RvbWlzZSB0aGUgdGhlbWUgY29sb3IgYWxpYXMuXG5cdCAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuXHQgKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aUNsaXBOb3RlQ29sb3IoKTogVGhlbWVQYWxldHRlIHtcblx0XHRyZXR1cm4gdGhpcy5fY29sb3I7XG5cdH1cblx0c2V0IGJ1aUNsaXBOb3RlQ29sb3IoY29sb3I6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gY29sb3I7XG5cdFx0aWYgKHRoaXMuX2NvbXBSZWYpIHtcblx0XHRcdHRoaXMuX2NvbXBSZWYuaW5zdGFuY2UuX2Fzc2lnbkNvbG9yKHRoaXMuX2NvbG9yKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3VzdG9taXNlIHRoZSBpY29uIG9uIHRoZSB0b2dnbGUgYnV0dG9uLiBXaXRoIHRoaXMgcHJvcGVydHkgc3BlY2lmaWVkLCB0aGUgYW5pbWF0aW9uIG9uIHRoZSBpY29uXG5cdCAqIHdpbGwgbm90IGJlIGFjdGl2ZS5cblx0ICovXG5cdEBJbnB1dCgpXG5cdGdldCBidWlDbGlwTm90ZUljb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5faWNvbjtcblx0fVxuXHRzZXQgYnVpQ2xpcE5vdGVJY29uKGljb246IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuXHRcdHRoaXMuX2ljb24gPSBpY29uO1xuXHRcdGlmICh0aGlzLl9jb21wUmVmKSB7XG5cdFx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLl9hc3NpZ25CdXR0b25JY29uKHRoaXMuX2ljb24pO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgY2FwdGlvbiBvZiB0aGUgdG9nZ2xlIGJ1dHRvbiB3aGVuIGV4cGFuZGVkLlxuXHQgKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aUNsaXBOb3RlQ2FwdGlvbigpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLl9jYXB0aW9uO1xuXHR9XG5cdHNldCBidWlDbGlwTm90ZUNhcHRpb24odGV4dDogc3RyaW5nKSB7XG5cdFx0dGhpcy5fY2FwdGlvbiA9IHRleHQ7XG5cdFx0aWYgKHRoaXMuX2NvbXBSZWYpIHtcblx0XHRcdHRoaXMuX2NvbXBSZWYuaW5zdGFuY2UuX2Fzc2lnbkJ1dHRvblRleHQodGhpcy5fY2FwdGlvbik7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEVtaXRzIHdoZW4gdGhlIHBhbmVsIG9wZW5zICovXG5cdEBPdXRwdXQoKVxuXHRyZWFkb25seSBidWlDbGlwTm90ZU9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHQvKiogRW1pdHMgd2hlbiB0aGUgcGFuZWwgY2xvc2VzICovXG5cdEBPdXRwdXQoKVxuXHRyZWFkb25seSBidWlDbGlwTm90ZUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRwcml2YXRlIF9jb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0cHJpdmF0ZSBfY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5Jztcblx0cHJpdmF0ZSBfY29tcFJlZiE6IENvbXBvbmVudFJlZjxDbGlwTm90ZUNvbXBvbmVudD47XG5cdHByaXZhdGUgX2NhcHRpb246IHN0cmluZztcblx0cHJpdmF0ZSBfaWNvbj86IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASG9zdCgpIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxuXHRcdEBJbmplY3QoQ0xJUF9OT1RFX0RFRkFVTFRfQ09ORklHKSBfY29uZmlnOiBDbGlwTm90ZURlZmF1bHRDb25maWdcblx0KSB7XG5cdFx0dGhpcy5fY2FwdGlvbiA9IF9jb25maWcuY2FwdGlvbjtcblx0XHR0aGlzLl9jb2xvciA9IF9jb25maWcuY29sb3I7XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHR0aGlzLl9jb21wUmVmID0gdGhpcy5fdmMuY3JlYXRlQ29tcG9uZW50KENsaXBOb3RlQ29tcG9uZW50KTtcblx0XHRcdGNvbnN0IGNoaWxkRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9jb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0ZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG5cdFx0XHRlbGVtZW50LmFwcGVuZENoaWxkKGNoaWxkRWxlbWVudCk7XG5cdFx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLl9hc3NpZ25Db2xvcih0aGlzLl9jb2xvcik7XG5cdFx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLl9hc3NpZ25CdXR0b25UZXh0KHRoaXMuX2NhcHRpb24pO1xuXHRcdFx0dGhpcy5fY29tcFJlZi5pbnN0YW5jZS5fYXNzaWduQnV0dG9uSWNvbih0aGlzLl9pY29uKTtcblx0XHRcdHRoaXMuX2NvbXBSZWYuaW5zdGFuY2Uub3BlbmVkLnN1YnNjcmliZSh0aGlzLmJ1aUNsaXBOb3RlT3BlbmVkLm5leHQuYmluZCh0aGlzLmJ1aUNsaXBOb3RlT3BlbmVkKSk7XG5cdFx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUodGhpcy5idWlDbGlwTm90ZUNsb3NlZC5uZXh0LmJpbmQodGhpcy5idWlDbGlwTm90ZUNsb3NlZCkpO1xuXHRcdFx0dGhpcy5fcHJvY2Vzc0NvbnRlbnQoKTtcblx0XHR9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2NvbXBSZWYuZGVzdHJveSgpO1xuXHR9XG5cblx0LyoqIE9wZW4gdGhlIG5vdGUgcGFuZWwgKi9cblx0b3BlbigpIHtcblx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLm9wZW4oKTtcblx0fVxuXG5cdC8qKiBDbG9zZSB0aGUgbm90ZSBwYW5lbCAqL1xuXHRjbG9zZSgpIHtcblx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLmNsb3NlKCk7XG5cdH1cblxuXHRwcml2YXRlIF9wcm9jZXNzQ29udGVudCgpIHtcblx0XHR0aGlzLl9jb21wUmVmLmluc3RhbmNlLl9jb250ZW50Q2hhbmdlZCh0aGlzLl9jb250ZW50KTtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BidiModule } from '@angular/cdk/bidi';
|
|
2
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { BuiCommonModule } from '@bravura/ui/common';
|
|
8
|
+
import { IconFontModule } from '@bravura/ui/icon-font';
|
|
9
|
+
import { ClipNoteComponent } from './clip-note.component';
|
|
10
|
+
import { ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class ClipNoteModule {
|
|
13
|
+
static forConfig(config) {
|
|
14
|
+
return {
|
|
15
|
+
ngModule: ClipNoteModule,
|
|
16
|
+
providers: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ClipNoteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
+
ClipNoteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteModule, declarations: [ClipNoteComponent, ClipNoteDirective], imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule], exports: [ClipNoteDirective] });
|
|
22
|
+
ClipNoteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteModule, imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ClipNoteModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
declarations: [ClipNoteComponent, ClipNoteDirective],
|
|
27
|
+
imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],
|
|
28
|
+
exports: [ClipNoteDirective]
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
export { ClipNoteDirective };
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzNHLE1BQU0sT0FBTyxjQUFjO0lBQzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBNkI7UUFDN0MsT0FBTztZQUNOLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNwRSxDQUFDO0lBQ0gsQ0FBQzs7MkdBTlcsY0FBYzs0R0FBZCxjQUFjLGlCQUpYLGlCQUFpQixFQUFFLGlCQUFpQixhQUN6QyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLGFBQzFHLGlCQUFpQjs0R0FFZixjQUFjLFlBSGhCLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGNBQWM7MkZBR3hHLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQztvQkFDckgsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzVCOztBQVVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmlkaU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQnVpQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGJyYXZ1cmEvdWkvY29tbW9uJztcbmltcG9ydCB7IEljb25Gb250TW9kdWxlIH0gZnJvbSAnQGJyYXZ1cmEvdWkvaWNvbi1mb250JztcbmltcG9ydCB7IENsaXBOb3RlQ29tcG9uZW50IH0gZnJvbSAnLi9jbGlwLW5vdGUuY29tcG9uZW50JztcbmltcG9ydCB7IENsaXBOb3RlRGVmYXVsdENvbmZpZywgQ2xpcE5vdGVEaXJlY3RpdmUsIENMSVBfTk9URV9ERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4vY2xpcC1ub3RlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG5cdGRlY2xhcmF0aW9uczogW0NsaXBOb3RlQ29tcG9uZW50LCBDbGlwTm90ZURpcmVjdGl2ZV0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQmlkaU1vZHVsZSwgQnVpQ29tbW9uTW9kdWxlLCBPYnNlcnZlcnNNb2R1bGUsIEljb25Gb250TW9kdWxlXSxcblx0ZXhwb3J0czogW0NsaXBOb3RlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBDbGlwTm90ZU1vZHVsZSB7XG5cdHN0YXRpYyBmb3JDb25maWcoY29uZmlnOiBDbGlwTm90ZURlZmF1bHRDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENsaXBOb3RlTW9kdWxlPiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5nTW9kdWxlOiBDbGlwTm90ZU1vZHVsZSxcblx0XHRcdHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ0xJUF9OT1RFX0RFRkFVTFRfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1dXG5cdFx0fTtcblx0fVxufVxuXG5leHBvcnQgeyBDbGlwTm90ZURpcmVjdGl2ZSB9O1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './clip-note.module';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaXAtbm90ZS5tb2R1bGUnO1xuIl19
|