@bravura/ui 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Change history
2
2
 
3
+ ## 3.1.0 (2023-02-17)
4
+
5
+ * feat(form-field): add convenient for global appearance config ([d0f8517](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/d0f8517))
6
+ * fix(clip-node): fix the button text alignment ([c61e6f1](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/c61e6f1))
7
+ * fix(form-field): fix incorrect label location with different fonts ([4b6f363](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/4b6f363))
8
+ * build: correct peer dependencies ([cca269e](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/cca269e))
9
+
3
10
  ## 3.0.0 (2023-01-18)
4
11
 
5
12
  * test(form-field): fix tests on CI builds for different chrome versions ([9a992c6](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/9a992c6))
@@ -139,7 +139,7 @@ export class ClipNoteComponent {
139
139
  }
140
140
  }
141
141
  ClipNoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", 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: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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] ", 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: [
142
+ ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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] ", 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
143
  trigger('buttonAnimation', [
144
144
  state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
145
145
  state('active', style({})),
@@ -200,7 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
200
200
  state('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),
201
201
  transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
202
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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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"] }]
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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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
204
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Directionality }, { type: i0.ElementRef, decorators: [{
205
205
  type: Host
206
206
  }] }]; }, propDecorators: { _viewDiv: [{
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
213
213
  type: ViewChild,
214
214
  args: ['fallbackTemplate', { static: true }]
215
215
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvY2xpcC1ub3RlL2NsaXAtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdHLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxFQUdKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBdUMxQyxNQUFNLE9BQU8saUJBQWlCO0lBOEM3QixZQUNTLEdBQXNCLEVBQ3RCLElBQW9CLEVBQ1osUUFBaUM7UUFGekMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQWhEbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQW1CaEIsZUFBVSxHQUF5QyxZQUFZLENBQUM7UUFFaEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsSUFB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QUNuRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwrQkFBK0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNsRyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO3lCQUN2RSxDQUFDO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtRDdDLElBQUk7NENBWEUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJaEQsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFJMUQsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1jbGlwLW5vdGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGhvc3Q6IHsgY2xhc3M6ICdidWktY2xpcC1ub3RlIGJ1aS1ob3N0JyB9LFxuXHRhbmltYXRpb25zOiBbXG5cdFx0dHJpZ2dlcignYnV0dG9uQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJyonLCBzdHlsZSh7IHdpZHRoOiAnMzZweCcsIG1pbldpZHRoOiAwLCBwYWRkaW5nOiAwIH0pKSxcblx0XHRcdHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7fSkpLFxuXHRcdFx0dHJhbnNpdGlvbignaW5hY3RpdmUgPD0+IGFjdGl2ZScsIFtcblx0XHRcdFx0Z3JvdXAoW2FuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNTYsLjE0LC4xOCwuOTEpJyksIHF1ZXJ5KCdAYnV0dG9uVGV4dEFuaW1hdGlvbicsIGFuaW1hdGVDaGlsZCgpKV0pLFxuXHRcdFx0XHRxdWVyeSgnQGJ1dHRvbkljb25BbmltYXRpb24nLCBhbmltYXRlQ2hpbGQoKSlcblx0XHRcdF0pXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uVGV4dEFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdpbmFjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMCwgd2lkdGg6IDAgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG5cdFx0XHR0cmFuc2l0aW9uKCdpbmFjdGl2ZSA9PiBhY3RpdmUnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjg4LC4xNSwuNjMsLjYxKScpKSxcblx0XHRcdHRyYW5zaXRpb24oJ2FjdGl2ZSA9PiBpbmFjdGl2ZScsIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguMDUsLjcyLC40NCwuOTIpJykpXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uSWNvbkFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdhY3RpdmUtbHRyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZS1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknIH0pKSxcblx0XHRcdHN0YXRlKCdvcGVuLWx0cicsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ29wZW4tcnRsJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMjcwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2luYWN0aXZlJywgc3R5bGUoe30pKSxcblx0XHRcdHRyYW5zaXRpb24oJ2luYWN0aXZlIDw9PiAqLCAqIDw9PiBvcGVuLWx0ciwgKiA8PT4gb3Blbi1ydGwnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpKVxuXHRcdF0pLFxuXHRcdHRyaWdnZXIoJ3BhbmVsQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJ29wZW4nLCBzdHlsZSh7fSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZC1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHRyYW5zbGF0ZSgtODAlLCAtNzAlKScsIHBhZGRpbmc6IDAsIG9wYWNpdHk6IDAgfSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZC1sdHInLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHRyYW5zbGF0ZSg4MCUsIC03MCUpJywgcGFkZGluZzogMCwgb3BhY2l0eTogMCB9KSksXG5cdFx0XHR0cmFuc2l0aW9uKCdvcGVuIDw9PiAqJywgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKC42OSwuMTIsLjYsLjYyKScpKVxuXHRcdF0pXG5cdF0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENsaXBOb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXHRidXR0b25UZXh0ID0gJyc7XG5cblx0Z2V0IGJ1dHRvblN0YXRlKCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMuX2hvdmVyaW5nIHx8IHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XG5cdFx0XHRyZXR1cm4gJ2FjdGl2ZSc7XG5cdFx0fVxuXHRcdHJldHVybiAnaW5hY3RpdmUnO1xuXHR9XG5cblx0Z2V0IGJ1dHRvbkljb25TdGF0ZSgpOiBzdHJpbmcge1xuXHRcdGlmICh0aGlzLnBhbmVsU3RhdGUgPT09ICdvcGVuJykge1xuXHRcdFx0cmV0dXJuIGBvcGVuLSR7dGhpcy5kaXJlY3Rpb259YDtcblx0XHR9XG5cdFx0aWYgKHRoaXMuYnV0dG9uU3RhdGUgPT09ICdhY3RpdmUnKSB7XG5cdFx0XHRyZXR1cm4gYGFjdGl2ZS0ke3RoaXMuZGlyZWN0aW9ufWA7XG5cdFx0fVxuXHRcdHJldHVybiAnaW5hY3RpdmUnO1xuXHR9XG5cblx0cGFuZWxTdGF0ZTogJ29wZW4nIHwgJ2Nsb3NlZC1sdHInIHwgJ2Nsb3NlZC1ydGwnID0gJ2Nsb3NlZC1sdHInO1xuXG5cdGRpcmVjdGlvbiA9ICdsdHInO1xuXHRfY29udGVudFZpZXc/OiBFbWJlZGRlZFZpZXdSZWY8YW55Pjtcblx0X2NvbnRlbnQ/OiBzdHJpbmc7XG5cdF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXHRfYnV0dG9uQW5pbWF0aW5nID0gZmFsc2U7XG5cdF9pY29uPzogc3RyaW5nO1xuXHRfaGFzQ29udGVudCA9IGZhbHNlO1xuXG5cdHJlYWRvbmx5IG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0cmVhZG9ubHkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHByaXZhdGUgX2hvdmVyaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgX2Rlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXHRwcml2YXRlIF90b2dnbGVRdWV1ZTogYm9vbGVhbltdID0gW107XG5cblx0QFZpZXdDaGlsZCgndmlld0RpdicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG5cdHByaXZhdGUgX3ZpZXdEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuXHRAVmlld0NoaWxkKCdub3RlVmlld1JlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG5cdHByaXZhdGUgX25vdGVWaWV3UmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuXHRAVmlld0NoaWxkKCdmYWxsYmFja1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfZmFsbGJhY2tUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuXHRcdHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXG5cdFx0QEhvc3QoKSBwcml2YXRlIF9lbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXHQpIHt9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0Y29uc3QgY2hhbmdlRGlyID0gKCkgPT4ge1xuXHRcdFx0dGhpcy5kaXJlY3Rpb24gPSB0aGlzLl9kaXIudmFsdWU7XG5cdFx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9O1xuXHRcdHRoaXMuX2Rpci5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpLnN1YnNjcmliZShjaGFuZ2VEaXIpO1xuXHRcdGNoYW5nZURpcigpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fZGVzdHJveWVkJC5uZXh0KCk7XG5cdFx0dGhpcy5fZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0X21vdXNlT3ZlckJ1dHRvbihob3ZlcmluZzogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLl9ob3ZlcmluZyAhPT0gaG92ZXJpbmcpIHtcblx0XHRcdHRoaXMuX2hvdmVyaW5nID0gaG92ZXJpbmc7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHR0b2dnbGUoKSB7XG5cdFx0dGhpcy5wYW5lbFN0YXRlID0gdGhpcy5wYW5lbFN0YXRlID09PSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCA/ICdvcGVuJyA6IChgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnkpO1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0X3NjaGVkdWxlVG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl9idXR0b25BbmltYXRpbmcpIHtcblx0XHRcdHRoaXMuX3RvZ2dsZVF1ZXVlLnB1c2godHJ1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudG9nZ2xlKCk7XG5cdFx0fVxuXHR9XG5cblx0X2NoZWNrVG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl90b2dnbGVRdWV1ZS5wb3AoKSkge1xuXHRcdFx0dGhpcy50b2dnbGUoKTtcblx0XHR9XG5cdH1cblxuXHRvcGVuKCkge1xuXHRcdHRoaXMucGFuZWxTdGF0ZSA9ICdvcGVuJztcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLl9lbWl0KCk7XG5cdH1cblxuXHRjbG9zZSgpIHtcblx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0dGhpcy5fZW1pdCgpO1xuXHR9XG5cblx0X2VtaXQoKSB7XG5cdFx0aWYgKHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XG5cdFx0XHR0aGlzLm9wZW5lZC5lbWl0KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2xvc2VkLmVtaXQoKTtcblx0XHR9XG5cdH1cblxuXHRfY29udGVudENoYW5nZWQoY29udGVudD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcblx0XHRsZXQgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0XHRpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG5cdFx0XHR0ZW1wbGF0ZSA9IGNvbnRlbnQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRlbXBsYXRlID0gdGhpcy5fZmFsbGJhY2tUZW1wbGF0ZTtcblx0XHRcdHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuXHRcdH1cblx0XHR0aGlzLl9ub3RlVmlld1JlZi5jbGVhcigpO1xuXHRcdGNvbnN0IGNvbnRleHQgPSB7fTtcblx0XHR0aGlzLl9jb250ZW50VmlldyA9IHRoaXMuX25vdGVWaWV3UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XG5cdFx0dGhpcy5fY2hlY2tDb250ZW50KHRydWUpO1xuXHR9XG5cblx0X2NoZWNrQ29udGVudChpbml0aWFsPzogYm9vbGVhbikge1xuXHRcdHRoaXMuX2NvbnRlbnRWaWV3Py5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0dGhpcy5faGFzQ29udGVudCA9ICEhdGhpcy5fdmlld0Rpdi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCk7XG5cdFx0Y29uc3QgY2xhc3NMaXN0ID0gdGhpcy5fZWxlbVJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblx0XHRjb25zdCBjbHMgPSAnYnVpLWNsaXAtbm90ZS1oaWRkZW4nO1xuXHRcdGNvbnN0IGNsczEgPSAnYnVpLWNsaXAtbm90ZS1yZXZlYWwnO1xuXHRcdGlmICh0aGlzLl9oYXNDb250ZW50KSB7XG5cdFx0XHRjbGFzc0xpc3QucmVtb3ZlKGNscyk7XG5cdFx0XHRpZiAoIWluaXRpYWwgJiYgdGhpcy5wYW5lbFN0YXRlICE9PSAnb3BlbicpIHtcblx0XHRcdFx0Y2xhc3NMaXN0LmFkZChjbHMxKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2VsZW1SZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2xhc3NMaXN0LmFkZChjbHMpO1xuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMxKTtcblx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHRfYXNzaWduQ29sb3IoY29sb3I6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gY29sb3I7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRfYXNzaWduQnV0dG9uVGV4dCh0ZXh0OiBzdHJpbmcpIHtcblx0XHR0aGlzLmJ1dHRvblRleHQgPSB0ZXh0O1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0X2Fzc2lnbkJ1dHRvbkljb24oaWNvbj86IHN0cmluZykge1xuXHRcdHRoaXMuX2ljb24gPSBpY29uO1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnVpLWNsaXAtbm90ZS13cmFwcGVyXCI+XG5cdDxkaXZcblx0XHRjbGFzcz1cImJ1aS1jbGlwLW5vdGUtY29udGVudCBidWktYm9yZGVyLXt7IF9jb2xvciB9fSBtYXQtZWxldmF0aW9uLXozXCJcblx0XHRbQHBhbmVsQW5pbWF0aW9uXT1cInBhbmVsU3RhdGVcIlxuXHRcdCN2aWV3RGl2XG5cdFx0KGNka09ic2VydmVDb250ZW50KT1cIl9jaGVja0NvbnRlbnQoKVwiXG5cdD5cblx0XHQ8bmctY29udGFpbmVyICNub3RlVmlld1JlZj48L25nLWNvbnRhaW5lcj5cblx0PC9kaXY+XG5cblx0PGJ1dHRvblxuXHRcdG1hdC1yYWlzZWQtYnV0dG9uXG5cdFx0Y2xhc3M9XCJidWktY2xpcC1ub3RlLXRyaWdnZXIgYnVpLWNsaXAtbm90ZS10cmlnZ2VyLXt7IGJ1dHRvbkljb25TdGF0ZSB9fVwiXG5cdFx0W2NvbG9yXT1cIl9jb2xvclwiXG5cdFx0W0BidXR0b25BbmltYXRpb25dPVwiYnV0dG9uU3RhdGVcIlxuXHRcdChtb3VzZWVudGVyKT1cIl9tb3VzZU92ZXJCdXR0b24odHJ1ZSlcIlxuXHRcdChtb3VzZWxlYXZlKT1cIl9tb3VzZU92ZXJCdXR0b24oZmFsc2UpXCJcblx0XHQoY2xpY2spPVwiX3NjaGVkdWxlVG9nZ2xlKClcIlxuXHQ+XG5cdFx0PG1hdC1pY29uXG5cdFx0XHRbQGJ1dHRvbkljb25BbmltYXRpb25dPVwiX2ljb24gPyAnZGlzYWJsZWQnIDogYnV0dG9uSWNvblN0YXRlXCJcblx0XHRcdChAYnV0dG9uSWNvbkFuaW1hdGlvbi5zdGFydCk9XCJfYnV0dG9uQW5pbWF0aW5nID0gdHJ1ZVwiXG5cdFx0XHQoQGJ1dHRvbkljb25BbmltYXRpb24uZG9uZSk9XCJfYnV0dG9uQW5pbWF0aW5nID0gZmFsc2U7IF9jaGVja1RvZ2dsZSgpXCJcblx0XHRcdFtidWlJY29uXT1cIl9pY29uIHx8IChkaXJlY3Rpb24gPT09ICdydGwnID8gJ2NoZXZyb25fcmlnaHQnIDogJ2NoZXZyb25fbGVmdCcpXCJcblx0XHRcdHN0eWxlPVwibWFyZ2luOiAwXCJcblx0XHQ+XG5cdFx0PC9tYXQtaWNvbj5cblx0XHQ8c3BhbiBbQGJ1dHRvblRleHRBbmltYXRpb25dPVwiYnV0dG9uU3RhdGVcIiBjbGFzcz1cImJ1aS1jbGlwLW5vdGUtYnV0dG9uLXRleHRcIj4mbmJzcDsge3sgYnV0dG9uVGV4dCB9fTwvc3Bhbj5cblx0PC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1RlbXBsYXRlPlxuXHQ8ZGl2IFtpbm5lckhUTUxdPVwiX2NvbnRlbnRcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcC1ub3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2NsaXAtbm90ZS9jbGlwLW5vdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvY2xpcC1ub3RlL2NsaXAtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdHLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxFQUdKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBdUMxQyxNQUFNLE9BQU8saUJBQWlCO0lBOEM3QixZQUNTLEdBQXNCLEVBQ3RCLElBQW9CLEVBQ1osUUFBaUM7UUFGekMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQWhEbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQW1CaEIsZUFBVSxHQUF5QyxZQUFZLENBQUM7UUFFaEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsSUFB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QUNuRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwrQkFBK0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNsRyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO3lCQUN2RSxDQUFDO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtRDdDLElBQUk7NENBWEUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJaEQsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFJMUQsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1jbGlwLW5vdGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vY2xpcC1ub3RlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGhvc3Q6IHsgY2xhc3M6ICdidWktY2xpcC1ub3RlIGJ1aS1ob3N0JyB9LFxuXHRhbmltYXRpb25zOiBbXG5cdFx0dHJpZ2dlcignYnV0dG9uQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJyonLCBzdHlsZSh7IHdpZHRoOiAnMzZweCcsIG1pbldpZHRoOiAwLCBwYWRkaW5nOiAwIH0pKSxcblx0XHRcdHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7fSkpLFxuXHRcdFx0dHJhbnNpdGlvbignaW5hY3RpdmUgPD0+IGFjdGl2ZScsIFtcblx0XHRcdFx0Z3JvdXAoW2FuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNTYsLjE0LC4xOCwuOTEpJyksIHF1ZXJ5KCdAYnV0dG9uVGV4dEFuaW1hdGlvbicsIGFuaW1hdGVDaGlsZCgpKV0pLFxuXHRcdFx0XHRxdWVyeSgnQGJ1dHRvbkljb25BbmltYXRpb24nLCBhbmltYXRlQ2hpbGQoKSlcblx0XHRcdF0pXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uVGV4dEFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdpbmFjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMCwgd2lkdGg6IDAgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG5cdFx0XHR0cmFuc2l0aW9uKCdpbmFjdGl2ZSA9PiBhY3RpdmUnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjg4LC4xNSwuNjMsLjYxKScpKSxcblx0XHRcdHRyYW5zaXRpb24oJ2FjdGl2ZSA9PiBpbmFjdGl2ZScsIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguMDUsLjcyLC40NCwuOTIpJykpXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYnV0dG9uSWNvbkFuaW1hdGlvbicsIFtcblx0XHRcdHN0YXRlKCdhY3RpdmUtbHRyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2FjdGl2ZS1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknIH0pKSxcblx0XHRcdHN0YXRlKCdvcGVuLWx0cicsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ29wZW4tcnRsJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMjcwZGVnKScgfSkpLFxuXHRcdFx0c3RhdGUoJ2luYWN0aXZlJywgc3R5bGUoe30pKSxcblx0XHRcdHRyYW5zaXRpb24oJ2luYWN0aXZlIDw9PiAqLCAqIDw9PiBvcGVuLWx0ciwgKiA8PT4gb3Blbi1ydGwnLCBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpKVxuXHRcdF0pLFxuXHRcdHRyaWdnZXIoJ3BhbmVsQW5pbWF0aW9uJywgW1xuXHRcdFx0c3RhdGUoJ29wZW4nLCBzdHlsZSh7fSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZC1ydGwnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHRyYW5zbGF0ZSgtODAlLCAtNzAlKScsIHBhZGRpbmc6IDAsIG9wYWNpdHk6IDAgfSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZC1sdHInLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHRyYW5zbGF0ZSg4MCUsIC03MCUpJywgcGFkZGluZzogMCwgb3BhY2l0eTogMCB9KSksXG5cdFx0XHR0cmFuc2l0aW9uKCdvcGVuIDw9PiAqJywgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKC42OSwuMTIsLjYsLjYyKScpKVxuXHRcdF0pXG5cdF0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENsaXBOb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXHRidXR0b25UZXh0ID0gJyc7XG5cblx0Z2V0IGJ1dHRvblN0YXRlKCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMuX2hvdmVyaW5nIHx8IHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XG5cdFx0XHRyZXR1cm4gJ2FjdGl2ZSc7XG5cdFx0fVxuXHRcdHJldHVybiAnaW5hY3RpdmUnO1xuXHR9XG5cblx0Z2V0IGJ1dHRvbkljb25TdGF0ZSgpOiBzdHJpbmcge1xuXHRcdGlmICh0aGlzLnBhbmVsU3RhdGUgPT09ICdvcGVuJykge1xuXHRcdFx0cmV0dXJuIGBvcGVuLSR7dGhpcy5kaXJlY3Rpb259YDtcblx0XHR9XG5cdFx0aWYgKHRoaXMuYnV0dG9uU3RhdGUgPT09ICdhY3RpdmUnKSB7XG5cdFx0XHRyZXR1cm4gYGFjdGl2ZS0ke3RoaXMuZGlyZWN0aW9ufWA7XG5cdFx0fVxuXHRcdHJldHVybiAnaW5hY3RpdmUnO1xuXHR9XG5cblx0cGFuZWxTdGF0ZTogJ29wZW4nIHwgJ2Nsb3NlZC1sdHInIHwgJ2Nsb3NlZC1ydGwnID0gJ2Nsb3NlZC1sdHInO1xuXG5cdGRpcmVjdGlvbiA9ICdsdHInO1xuXHRfY29udGVudFZpZXc/OiBFbWJlZGRlZFZpZXdSZWY8YW55Pjtcblx0X2NvbnRlbnQ/OiBzdHJpbmc7XG5cdF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXHRfYnV0dG9uQW5pbWF0aW5nID0gZmFsc2U7XG5cdF9pY29uPzogc3RyaW5nO1xuXHRfaGFzQ29udGVudCA9IGZhbHNlO1xuXG5cdHJlYWRvbmx5IG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0cmVhZG9ubHkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHByaXZhdGUgX2hvdmVyaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgX2Rlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXHRwcml2YXRlIF90b2dnbGVRdWV1ZTogYm9vbGVhbltdID0gW107XG5cblx0QFZpZXdDaGlsZCgndmlld0RpdicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG5cdHByaXZhdGUgX3ZpZXdEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuXHRAVmlld0NoaWxkKCdub3RlVmlld1JlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG5cdHByaXZhdGUgX25vdGVWaWV3UmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuXHRAVmlld0NoaWxkKCdmYWxsYmFja1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfZmFsbGJhY2tUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuXHRcdHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXG5cdFx0QEhvc3QoKSBwcml2YXRlIF9lbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXHQpIHt9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0Y29uc3QgY2hhbmdlRGlyID0gKCkgPT4ge1xuXHRcdFx0dGhpcy5kaXJlY3Rpb24gPSB0aGlzLl9kaXIudmFsdWU7XG5cdFx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9O1xuXHRcdHRoaXMuX2Rpci5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpLnN1YnNjcmliZShjaGFuZ2VEaXIpO1xuXHRcdGNoYW5nZURpcigpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fZGVzdHJveWVkJC5uZXh0KCk7XG5cdFx0dGhpcy5fZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0X21vdXNlT3ZlckJ1dHRvbihob3ZlcmluZzogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLl9ob3ZlcmluZyAhPT0gaG92ZXJpbmcpIHtcblx0XHRcdHRoaXMuX2hvdmVyaW5nID0gaG92ZXJpbmc7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHR0b2dnbGUoKSB7XG5cdFx0dGhpcy5wYW5lbFN0YXRlID0gdGhpcy5wYW5lbFN0YXRlID09PSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCA/ICdvcGVuJyA6IChgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnkpO1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0X3NjaGVkdWxlVG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl9idXR0b25BbmltYXRpbmcpIHtcblx0XHRcdHRoaXMuX3RvZ2dsZVF1ZXVlLnB1c2godHJ1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudG9nZ2xlKCk7XG5cdFx0fVxuXHR9XG5cblx0X2NoZWNrVG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl90b2dnbGVRdWV1ZS5wb3AoKSkge1xuXHRcdFx0dGhpcy50b2dnbGUoKTtcblx0XHR9XG5cdH1cblxuXHRvcGVuKCkge1xuXHRcdHRoaXMucGFuZWxTdGF0ZSA9ICdvcGVuJztcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLl9lbWl0KCk7XG5cdH1cblxuXHRjbG9zZSgpIHtcblx0XHR0aGlzLnBhbmVsU3RhdGUgPSBgY2xvc2VkLSR7dGhpcy5kaXJlY3Rpb259YCBhcyBhbnk7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0dGhpcy5fZW1pdCgpO1xuXHR9XG5cblx0X2VtaXQoKSB7XG5cdFx0aWYgKHRoaXMucGFuZWxTdGF0ZSA9PT0gJ29wZW4nKSB7XG5cdFx0XHR0aGlzLm9wZW5lZC5lbWl0KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2xvc2VkLmVtaXQoKTtcblx0XHR9XG5cdH1cblxuXHRfY29udGVudENoYW5nZWQoY29udGVudD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcblx0XHRsZXQgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0XHRpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG5cdFx0XHR0ZW1wbGF0ZSA9IGNvbnRlbnQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRlbXBsYXRlID0gdGhpcy5fZmFsbGJhY2tUZW1wbGF0ZTtcblx0XHRcdHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuXHRcdH1cblx0XHR0aGlzLl9ub3RlVmlld1JlZi5jbGVhcigpO1xuXHRcdGNvbnN0IGNvbnRleHQgPSB7fTtcblx0XHR0aGlzLl9jb250ZW50VmlldyA9IHRoaXMuX25vdGVWaWV3UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XG5cdFx0dGhpcy5fY2hlY2tDb250ZW50KHRydWUpO1xuXHR9XG5cblx0X2NoZWNrQ29udGVudChpbml0aWFsPzogYm9vbGVhbikge1xuXHRcdHRoaXMuX2NvbnRlbnRWaWV3Py5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0dGhpcy5faGFzQ29udGVudCA9ICEhdGhpcy5fdmlld0Rpdi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCk7XG5cdFx0Y29uc3QgY2xhc3NMaXN0ID0gdGhpcy5fZWxlbVJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblx0XHRjb25zdCBjbHMgPSAnYnVpLWNsaXAtbm90ZS1oaWRkZW4nO1xuXHRcdGNvbnN0IGNsczEgPSAnYnVpLWNsaXAtbm90ZS1yZXZlYWwnO1xuXHRcdGlmICh0aGlzLl9oYXNDb250ZW50KSB7XG5cdFx0XHRjbGFzc0xpc3QucmVtb3ZlKGNscyk7XG5cdFx0XHRpZiAoIWluaXRpYWwgJiYgdGhpcy5wYW5lbFN0YXRlICE9PSAnb3BlbicpIHtcblx0XHRcdFx0Y2xhc3NMaXN0LmFkZChjbHMxKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2VsZW1SZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2xhc3NMaXN0LmFkZChjbHMpO1xuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMxKTtcblx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHRfYXNzaWduQ29sb3IoY29sb3I6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gY29sb3I7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRfYXNzaWduQnV0dG9uVGV4dCh0ZXh0OiBzdHJpbmcpIHtcblx0XHR0aGlzLmJ1dHRvblRleHQgPSB0ZXh0O1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0X2Fzc2lnbkJ1dHRvbkljb24oaWNvbj86IHN0cmluZykge1xuXHRcdHRoaXMuX2ljb24gPSBpY29uO1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnVpLWNsaXAtbm90ZS13cmFwcGVyXCI+XG5cdDxkaXZcblx0XHRjbGFzcz1cImJ1aS1jbGlwLW5vdGUtY29udGVudCBidWktYm9yZGVyLXt7IF9jb2xvciB9fSBtYXQtZWxldmF0aW9uLXozXCJcblx0XHRbQHBhbmVsQW5pbWF0aW9uXT1cInBhbmVsU3RhdGVcIlxuXHRcdCN2aWV3RGl2XG5cdFx0KGNka09ic2VydmVDb250ZW50KT1cIl9jaGVja0NvbnRlbnQoKVwiXG5cdD5cblx0XHQ8bmctY29udGFpbmVyICNub3RlVmlld1JlZj48L25nLWNvbnRhaW5lcj5cblx0PC9kaXY+XG5cblx0PGJ1dHRvblxuXHRcdG1hdC1yYWlzZWQtYnV0dG9uXG5cdFx0Y2xhc3M9XCJidWktY2xpcC1ub3RlLXRyaWdnZXIgYnVpLWNsaXAtbm90ZS10cmlnZ2VyLXt7IGJ1dHRvbkljb25TdGF0ZSB9fVwiXG5cdFx0W2NvbG9yXT1cIl9jb2xvclwiXG5cdFx0W0BidXR0b25BbmltYXRpb25dPVwiYnV0dG9uU3RhdGVcIlxuXHRcdChtb3VzZWVudGVyKT1cIl9tb3VzZU92ZXJCdXR0b24odHJ1ZSlcIlxuXHRcdChtb3VzZWxlYXZlKT1cIl9tb3VzZU92ZXJCdXR0b24oZmFsc2UpXCJcblx0XHQoY2xpY2spPVwiX3NjaGVkdWxlVG9nZ2xlKClcIlxuXHQ+XG5cdFx0PG1hdC1pY29uXG5cdFx0XHRbQGJ1dHRvbkljb25BbmltYXRpb25dPVwiX2ljb24gPyAnZGlzYWJsZWQnIDogYnV0dG9uSWNvblN0YXRlXCJcblx0XHRcdChAYnV0dG9uSWNvbkFuaW1hdGlvbi5zdGFydCk9XCJfYnV0dG9uQW5pbWF0aW5nID0gdHJ1ZVwiXG5cdFx0XHQoQGJ1dHRvbkljb25BbmltYXRpb24uZG9uZSk9XCJfYnV0dG9uQW5pbWF0aW5nID0gZmFsc2U7IF9jaGVja1RvZ2dsZSgpXCJcblx0XHRcdFtidWlJY29uXT1cIl9pY29uIHx8IChkaXJlY3Rpb24gPT09ICdydGwnID8gJ2NoZXZyb25fcmlnaHQnIDogJ2NoZXZyb25fbGVmdCcpXCJcblx0XHRcdHN0eWxlPVwibWFyZ2luOiAwXCJcblx0XHQ+XG5cdFx0PC9tYXQtaWNvbj5cblx0XHQ8c3BhbiBbQGJ1dHRvblRleHRBbmltYXRpb25dPVwiYnV0dG9uU3RhdGVcIiBjbGFzcz1cImJ1aS1jbGlwLW5vdGUtYnV0dG9uLXRleHRcIj4mbmJzcDsge3sgYnV0dG9uVGV4dCB9fTwvc3Bhbj5cblx0PC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1RlbXBsYXRlPlxuXHQ8ZGl2IFtpbm5lckhUTUxdPVwiX2NvbnRlbnRcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,7 +1,11 @@
1
- import { ChangeDetectionStrategy, Component, Directive, Host, Input, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Directive, Host, Inject, InjectionToken, Input, ViewEncapsulation } from '@angular/core';
2
2
  import { MatFormField } from '@angular/material/form-field';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/form-field";
5
+ export const BUI_FORM_FIELD_CONFIG = new InjectionToken('@bravura/ui/buiFormFieldConfig', {
6
+ factory: () => ({ appearance: 'fill' }),
7
+ providedIn: 'root'
8
+ });
5
9
  /**
6
10
  * Container for form controls that applies Material Design styling and behavior.
7
11
  *
@@ -18,19 +22,20 @@ import * as i1 from "@angular/material/form-field";
18
22
  export class FormFieldComponent extends MatFormField {
19
23
  }
20
24
  FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, decorators: [{
23
27
  type: Component,
24
- args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
28
+ args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
25
29
  }] });
26
30
  /**
27
31
  * @ignore
28
32
  */
29
33
  export class FormFieldStyleDirective {
30
- constructor(matFormField, elemRef) {
34
+ constructor(matFormField, elemRef, config) {
31
35
  this.matFormField = matFormField;
32
36
  this.elemRef = elemRef;
33
37
  this._flowDetection = matFormField._shouldAlwaysFloat;
38
+ this.appearance = config.appearance;
34
39
  }
35
40
  /** The form field appearance style. */
36
41
  get appearance() {
@@ -50,7 +55,7 @@ export class FormFieldStyleDirective {
50
55
  }
51
56
  }
52
57
  }
53
- FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
58
+ FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }, { token: BUI_FORM_FIELD_CONFIG }], target: i0.ɵɵFactoryTarget.Directive });
54
59
  FormFieldStyleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldStyleDirective, selector: "bui-form-field, mat-form-field", inputs: { appearance: "appearance" }, host: { classAttribute: "bui-host" }, ngImport: i0 });
55
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, decorators: [{
56
61
  type: Directive,
@@ -62,7 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
62
67
  }]
63
68
  }], ctorParameters: function () { return [{ type: i1.MatFormField, decorators: [{
64
69
  type: Host
65
- }] }, { type: i0.ElementRef }]; }, propDecorators: { appearance: [{
70
+ }] }, { type: i0.ElementRef }, { type: undefined, decorators: [{
71
+ type: Inject,
72
+ args: [BUI_FORM_FIELD_CONFIG]
73
+ }] }]; }, propDecorators: { appearance: [{
66
74
  type: Input
67
75
  }] } });
68
76
  const matFormFieldRef = MatFormField.ɵcmp;
@@ -71,4 +79,4 @@ matFormFieldRef.styles.push(...formFieldRef.styles);
71
79
  matFormFieldRef.selectors.push(['bui-form-field']);
72
80
  delete matFormFieldRef.inputs.appearance;
73
81
  delete matFormFieldRef.declaredInputs.appearance;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFFVCxJQUFJLEVBQ0osS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUE4QixNQUFNLDhCQUE4QixDQUFDOzs7QUFheEY7Ozs7Ozs7Ozs7OztHQVlHO0FBUUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7OytHQUF2QyxrQkFBa0I7bUdBQWxCLGtCQUFrQixrRkFMcEIsRUFBRTsyRkFLQSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0MscUJBQXFCLFlBQ3JCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7QUFJaEQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBc0JuQyxZQUE0QixZQUEwQixFQUFVLE9BQWdDO1FBQXBFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDL0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUM7SUFDdkQsQ0FBQztJQXBCRCx1Q0FBdUM7SUFDdkMsSUFDSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDbEQ7YUFBTTtZQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDM0Q7SUFDRixDQUFDOztvSEFwQlcsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLFVBQVU7cUJBQ2pCO2lCQUNEOzswQkF1QmEsSUFBSTtxRUFoQmIsVUFBVTtzQkFEYixLQUFLOztBQXNCUCxNQUFNLGVBQWUsR0FBUSxZQUFZLENBQUMsSUFBSSxDQUFDO0FBQy9DLE1BQU0sWUFBWSxHQUFRLGtCQUFrQixDQUFDLElBQUksQ0FBQztBQUVsRCxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwRCxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztBQUNuRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0FBQ3pDLE9BQU8sZUFBZSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3QsXG5cdElucHV0LFxuXHRWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBmb3JtIGZpZWxkIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWRcbiAqIHVzaW5nIHRoZSBgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TYCBpbmplY3Rpb24gdG9rZW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpRm9ybUZpZWxkRGVmYXVsdE9wdGlvbnMgZXh0ZW5kcyBNYXRGb3JtRmllbGREZWZhdWx0T3B0aW9ucyB7XG5cdC8qKlxuXHQgKiBSZW5kZXIgbGFiZWxzIGluYiBib2xkIGZvbnRzXG5cdCAqIEBkZWZhdWx0IGZhbHNlXG5cdCAqL1xuXHRib2xkTGFiZWw/OiBib29sZWFuO1xufVxuLyoqXG4gKiBDb250YWluZXIgZm9yIGZvcm0gY29udHJvbHMgdGhhdCBhcHBsaWVzIE1hdGVyaWFsIERlc2lnbiBzdHlsaW5nIGFuZCBiZWhhdmlvci5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBleHRlbmRzIEFuZ3VsYXIgTWF0ZXJpYWwncyBbbWF0LWZvcm0tZmllbGRdKGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL2Zvcm0tZmllbGQpIGFuZCBwcm92aWRlcyB0d28gYWRkaXRpb25hbCBhcHBlYXJhbmNlc1xuICogYGJvdW5kYCBhbmQgYGRldGFjaGAuIGBib3VuZGAgcmVuZGVycyB0aGUgbGFiZWwgb3V0c2lkZSB0aGUgb3V0bGluZWQgYXJlYSBvZiB0aGUgZmllbGQsIHdoaWxlIGBkZXRhY2hgIHJlbW92ZSB0aGUgYm9yZGVycyBhbGwgdG9nZXRoZXIuIGBkZXRhY2hgXG4gKiBpcyBnZW5lcmFsbHkgdXNlZCB3aXRoIGZvcm0gY29udHJvbHMgdGhhdCByZW5kZXIgdGhlaXIgb3duIGJvcmRlcnMuXG4gKlxuICogKiogSU1QT1JUQU5UIE5PVElDRSAqKlxuICpcbiAqIEZyb20gdmVyc2lvbiAzLjAgb253YXJkLCB0aGUgc2VsZWN0b3IgYGJ1aS1mb3JtLWZpZWxkYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gbGF0ZXIgcmVsZWFzZXMuIFlvdSBubyBsb25nZXIgbmVlZCB0byB1c2UgdGhpcyB0YWcgbmFtZVxuICogZm9yIHRoZSBuZXcgYXBwZWFyYW5jZXMuIEFzIGxvbmcgYXMgeW91IGltcG9ydCB0aGUgYE5nTW9kdWxlYCBmcm9tIHRoaXMgcGFja2FnZSwgdGhlIG5ldyBhcHBlYXJhbmNlcyB3aWxsIGJlIHN1cHBvcnRlZCBieSBNYXRlcmlhbCdzIGBtYXQtZm9ybS1maWVsZGBcbiAqIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLWR1bW15LWNvbXBvbmVudCcsXG5cdHRlbXBsYXRlOiBgYCxcblx0c3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgZXh0ZW5kcyBNYXRGb3JtRmllbGQge31cblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1aS1mb3JtLWZpZWxkLCBtYXQtZm9ybS1maWVsZCcsXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1ob3N0J1xuXHR9XG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZFN0eWxlRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSBfYXBwZWFyYW5jZTogYW55O1xuXHRwcml2YXRlIF9mbG93RGV0ZWN0aW9uOiBhbnk7XG5cblx0LyoqIFRoZSBmb3JtIGZpZWxkIGFwcGVhcmFuY2Ugc3R5bGUuICovXG5cdEBJbnB1dCgpXG5cdGdldCBhcHBlYXJhbmNlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX2FwcGVhcmFuY2U7XG5cdH1cblx0c2V0IGFwcGVhcmFuY2UodmFsdWU6IGFueSkge1xuXHRcdHRoaXMuX2FwcGVhcmFuY2UgPSB2YWx1ZTtcblx0XHR0aGlzLmVsZW1SZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdidWktZm9ybS1maWVsZC1ib3VuZCcsICdidWktZm9ybS1maWVsZC1kZXRhY2gnKTtcblx0XHRpZiAoWydib3VuZCcsICdkZXRhY2gnXS5pbmNsdWRlcyh0aGlzLl9hcHBlYXJhbmNlKSkge1xuXHRcdFx0dGhpcy5tYXRGb3JtRmllbGQuYXBwZWFyYW5jZSA9ICdvdXRsaW5lJztcblx0XHRcdHRoaXMuZWxlbVJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGJ1aS1mb3JtLWZpZWxkLSR7dmFsdWV9YCk7XG5cdFx0XHR0aGlzLm1hdEZvcm1GaWVsZC5fc2hvdWxkQWx3YXlzRmxvYXQgPSAoKSA9PiB0cnVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1hdEZvcm1GaWVsZC5hcHBlYXJhbmNlID0gWydvdXRsaW5lJywgJ2ZpbGwnXS5pbmNsdWRlcyh0aGlzLl9hcHBlYXJhbmNlKSA/IHRoaXMuX2FwcGVhcmFuY2UgOiB1bmRlZmluZWQ7XG5cdFx0XHR0aGlzLm1hdEZvcm1GaWVsZC5fc2hvdWxkQWx3YXlzRmxvYXQgPSB0aGlzLl9mbG93RGV0ZWN0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBtYXRGb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCwgcHJpdmF0ZSBlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuXHRcdHRoaXMuX2Zsb3dEZXRlY3Rpb24gPSBtYXRGb3JtRmllbGQuX3Nob3VsZEFsd2F5c0Zsb2F0O1xuXHR9XG59XG5cbmNvbnN0IG1hdEZvcm1GaWVsZFJlZjogYW55ID0gTWF0Rm9ybUZpZWxkLsm1Y21wO1xuY29uc3QgZm9ybUZpZWxkUmVmOiBhbnkgPSBGb3JtRmllbGRDb21wb25lbnQuybVjbXA7XG5cbm1hdEZvcm1GaWVsZFJlZi5zdHlsZXMucHVzaCguLi5mb3JtRmllbGRSZWYuc3R5bGVzKTtcbm1hdEZvcm1GaWVsZFJlZi5zZWxlY3RvcnMucHVzaChbJ2J1aS1mb3JtLWZpZWxkJ10pO1xuZGVsZXRlIG1hdEZvcm1GaWVsZFJlZi5pbnB1dHMuYXBwZWFyYW5jZTtcbmRlbGV0ZSBtYXRGb3JtRmllbGRSZWYuZGVjbGFyZWRJbnB1dHMuYXBwZWFyYW5jZTtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFFVCxJQUFJLEVBQ0osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBTTVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFxQixnQ0FBZ0MsRUFBRTtJQUM3RyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN2QyxVQUFVLEVBQUUsTUFBTTtDQUNsQixDQUFDLENBQUM7QUFDSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFRSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTs7K0dBQXZDLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtGQUxwQixFQUFFOzJGQUtBLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDQyxxQkFBcUIsWUFDckIsRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOztBQUloRDs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUFzQm5DLFlBQ2lCLFlBQTBCLEVBQ2xDLE9BQWdDLEVBQ1QsTUFBMEI7UUFGekMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFHeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUF6QkQsdUNBQXVDO0lBQ3ZDLElBQ0ksVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ2xEO2FBQU07WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0csSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzNEO0lBQ0YsQ0FBQzs7b0hBcEJXLHVCQUF1QixvRkF5QjFCLHFCQUFxQjt3R0F6QmxCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQU5uQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsVUFBVTtxQkFDakI7aUJBQ0Q7OzBCQXdCRSxJQUFJOzswQkFFSixNQUFNOzJCQUFDLHFCQUFxQjs0Q0FuQjFCLFVBQVU7c0JBRGIsS0FBSzs7QUEyQlAsTUFBTSxlQUFlLEdBQVEsWUFBWSxDQUFDLElBQUksQ0FBQztBQUMvQyxNQUFNLFlBQVksR0FBUSxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7QUFFbEQsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7QUFDbkQsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUN6QyxPQUFPLGVBQWUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0Vmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWlGb3JtRmllbGRDb25maWcge1xuXHRhcHBlYXJhbmNlPzogJ2ZpbGwnIHwgJ291dGxpbmUnIHwgJ2JvdW5kJztcbn1cblxuZXhwb3J0IGNvbnN0IEJVSV9GT1JNX0ZJRUxEX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCdWlGb3JtRmllbGRDb25maWc+KCdAYnJhdnVyYS91aS9idWlGb3JtRmllbGRDb25maWcnLCB7XG5cdGZhY3Rvcnk6ICgpID0+ICh7IGFwcGVhcmFuY2U6ICdmaWxsJyB9KSxcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KTtcbi8qKlxuICogQ29udGFpbmVyIGZvciBmb3JtIGNvbnRyb2xzIHRoYXQgYXBwbGllcyBNYXRlcmlhbCBEZXNpZ24gc3R5bGluZyBhbmQgYmVoYXZpb3IuXG4gKlxuICogVGhpcyBjb21wb25lbnQgZXh0ZW5kcyBBbmd1bGFyIE1hdGVyaWFsJ3MgW21hdC1mb3JtLWZpZWxkXShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9mb3JtLWZpZWxkKSBhbmQgcHJvdmlkZXMgdHdvIGFkZGl0aW9uYWwgYXBwZWFyYW5jZXNcbiAqIGBib3VuZGAgYW5kIGBkZXRhY2hgLiBgYm91bmRgIHJlbmRlcnMgdGhlIGxhYmVsIG91dHNpZGUgdGhlIG91dGxpbmVkIGFyZWEgb2YgdGhlIGZpZWxkLCB3aGlsZSBgZGV0YWNoYCByZW1vdmUgdGhlIGJvcmRlcnMgYWxsIHRvZ2V0aGVyLiBgZGV0YWNoYFxuICogaXMgZ2VuZXJhbGx5IHVzZWQgd2l0aCBmb3JtIGNvbnRyb2xzIHRoYXQgcmVuZGVyIHRoZWlyIG93biBib3JkZXJzLlxuICpcbiAqICoqIElNUE9SVEFOVCBOT1RJQ0UgKipcbiAqXG4gKiBGcm9tIHZlcnNpb24gMy4wIG9ud2FyZCwgdGhlIHNlbGVjdG9yIGBidWktZm9ybS1maWVsZGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGxhdGVyIHJlbGVhc2VzLiBZb3Ugbm8gbG9uZ2VyIG5lZWQgdG8gdXNlIHRoaXMgdGFnIG5hbWVcbiAqIGZvciB0aGUgbmV3IGFwcGVhcmFuY2VzLiBBcyBsb25nIGFzIHlvdSBpbXBvcnQgdGhlIGBOZ01vZHVsZWAgZnJvbSB0aGlzIHBhY2thZ2UsIHRoZSBuZXcgYXBwZWFyYW5jZXMgd2lsbCBiZSBzdXBwb3J0ZWQgYnkgTWF0ZXJpYWwncyBgbWF0LWZvcm0tZmllbGRgXG4gKiBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1kdW1teS1jb21wb25lbnQnLFxuXHR0ZW1wbGF0ZTogYGAsXG5cdHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgTWF0Rm9ybUZpZWxkIHt9XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdidWktZm9ybS1maWVsZCwgbWF0LWZvcm0tZmllbGQnLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdidWktaG9zdCdcblx0fVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRTdHlsZURpcmVjdGl2ZSB7XG5cdHByaXZhdGUgX2FwcGVhcmFuY2U6IGFueTtcblx0cHJpdmF0ZSBfZmxvd0RldGVjdGlvbjogYW55O1xuXG5cdC8qKiBUaGUgZm9ybSBmaWVsZCBhcHBlYXJhbmNlIHN0eWxlLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYXBwZWFyYW5jZSgpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLl9hcHBlYXJhbmNlO1xuXHR9XG5cdHNldCBhcHBlYXJhbmNlKHZhbHVlOiBhbnkpIHtcblx0XHR0aGlzLl9hcHBlYXJhbmNlID0gdmFsdWU7XG5cdFx0dGhpcy5lbGVtUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYnVpLWZvcm0tZmllbGQtYm91bmQnLCAnYnVpLWZvcm0tZmllbGQtZGV0YWNoJyk7XG5cdFx0aWYgKFsnYm91bmQnLCAnZGV0YWNoJ10uaW5jbHVkZXModGhpcy5fYXBwZWFyYW5jZSkpIHtcblx0XHRcdHRoaXMubWF0Rm9ybUZpZWxkLmFwcGVhcmFuY2UgPSAnb3V0bGluZSc7XG5cdFx0XHR0aGlzLmVsZW1SZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBidWktZm9ybS1maWVsZC0ke3ZhbHVlfWApO1xuXHRcdFx0dGhpcy5tYXRGb3JtRmllbGQuX3Nob3VsZEFsd2F5c0Zsb2F0ID0gKCkgPT4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXRGb3JtRmllbGQuYXBwZWFyYW5jZSA9IFsnb3V0bGluZScsICdmaWxsJ10uaW5jbHVkZXModGhpcy5fYXBwZWFyYW5jZSkgPyB0aGlzLl9hcHBlYXJhbmNlIDogdW5kZWZpbmVkO1xuXHRcdFx0dGhpcy5tYXRGb3JtRmllbGQuX3Nob3VsZEFsd2F5c0Zsb2F0ID0gdGhpcy5fZmxvd0RldGVjdGlvbjtcblx0XHR9XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASG9zdCgpIHByaXZhdGUgbWF0Rm9ybUZpZWxkOiBNYXRGb3JtRmllbGQsXG5cdFx0cHJpdmF0ZSBlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRASW5qZWN0KEJVSV9GT1JNX0ZJRUxEX0NPTkZJRykgY29uZmlnOiBCdWlGb3JtRmllbGRDb25maWdcblx0KSB7XG5cdFx0dGhpcy5fZmxvd0RldGVjdGlvbiA9IG1hdEZvcm1GaWVsZC5fc2hvdWxkQWx3YXlzRmxvYXQ7XG5cdFx0dGhpcy5hcHBlYXJhbmNlID0gY29uZmlnLmFwcGVhcmFuY2U7XG5cdH1cbn1cblxuY29uc3QgbWF0Rm9ybUZpZWxkUmVmOiBhbnkgPSBNYXRGb3JtRmllbGQuybVjbXA7XG5jb25zdCBmb3JtRmllbGRSZWY6IGFueSA9IEZvcm1GaWVsZENvbXBvbmVudC7JtWNtcDtcblxubWF0Rm9ybUZpZWxkUmVmLnN0eWxlcy5wdXNoKC4uLmZvcm1GaWVsZFJlZi5zdHlsZXMpO1xubWF0Rm9ybUZpZWxkUmVmLnNlbGVjdG9ycy5wdXNoKFsnYnVpLWZvcm0tZmllbGQnXSk7XG5kZWxldGUgbWF0Rm9ybUZpZWxkUmVmLmlucHV0cy5hcHBlYXJhbmNlO1xuZGVsZXRlIG1hdEZvcm1GaWVsZFJlZi5kZWNsYXJlZElucHV0cy5hcHBlYXJhbmNlO1xuIl19
@@ -2,9 +2,22 @@ import { ObserversModule } from '@angular/cdk/observers';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { FormFieldComponent, FormFieldStyleDirective } from './form-field.component';
5
+ import { BUI_FORM_FIELD_CONFIG, FormFieldComponent, FormFieldStyleDirective } from './form-field.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FormFieldModule {
8
+ static forConfig(config) {
9
+ const cfg = { ...config };
10
+ cfg.appearance = cfg.appearance || 'fill';
11
+ return {
12
+ ngModule: FormFieldModule,
13
+ providers: [
14
+ {
15
+ provide: BUI_FORM_FIELD_CONFIG,
16
+ useValue: cfg
17
+ }
18
+ ]
19
+ };
20
+ }
8
21
  }
9
22
  FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
23
  FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent, FormFieldStyleDirective], imports: [CommonModule, MatFormFieldModule, ObserversModule], exports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule] });
@@ -17,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
17
30
  exports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]
18
31
  }]
19
32
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFKWixrQkFBa0IsRUFBRSx1QkFBdUIsYUFDaEQsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsYUFDakQsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCOzZHQUU3RCxlQUFlLFlBSGpCLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQ0osa0JBQWtCOzJGQUU3RCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQztpQkFDMUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZlcnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQsIEZvcm1GaWVsZFN0eWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG5cdGRlY2xhcmF0aW9uczogW0Zvcm1GaWVsZENvbXBvbmVudCwgRm9ybUZpZWxkU3R5bGVEaXJlY3RpdmVdLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXG5cdGV4cG9ydHM6IFtGb3JtRmllbGRDb21wb25lbnQsIEZvcm1GaWVsZFN0eWxlRGlyZWN0aXZlLCBNYXRGb3JtRmllbGRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZE1vZHVsZSB7fVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUVOLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7O0FBT2hDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBMEI7UUFDMUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7UUFDMUMsT0FBTztZQUNOLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVjtvQkFDQyxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUUsR0FBRztpQkFDYjthQUNEO1NBQ0QsQ0FBQztJQUNILENBQUM7OzRHQWJXLGVBQWU7NkdBQWYsZUFBZSxpQkFKWixrQkFBa0IsRUFBRSx1QkFBdUIsYUFDaEQsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsYUFDakQsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCOzZHQUU3RCxlQUFlLFlBSGpCLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQ0osa0JBQWtCOzJGQUU3RCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQztpQkFDMUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZlcnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1xuXHRCdWlGb3JtRmllbGRDb25maWcsXG5cdEJVSV9GT1JNX0ZJRUxEX0NPTkZJRyxcblx0Rm9ybUZpZWxkQ29tcG9uZW50LFxuXHRGb3JtRmllbGRTdHlsZURpcmVjdGl2ZVxufSBmcm9tICcuL2Zvcm0tZmllbGQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbRm9ybUZpZWxkQ29tcG9uZW50LCBGb3JtRmllbGRTdHlsZURpcmVjdGl2ZV0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgT2JzZXJ2ZXJzTW9kdWxlXSxcblx0ZXhwb3J0czogW0Zvcm1GaWVsZENvbXBvbmVudCwgRm9ybUZpZWxkU3R5bGVEaXJlY3RpdmUsIE1hdEZvcm1GaWVsZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTW9kdWxlIHtcblx0c3RhdGljIGZvckNvbmZpZyhjb25maWc6IEJ1aUZvcm1GaWVsZENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Rm9ybUZpZWxkTW9kdWxlPiB7XG5cdFx0Y29uc3QgY2ZnID0geyAuLi5jb25maWcgfTtcblx0XHRjZmcuYXBwZWFyYW5jZSA9IGNmZy5hcHBlYXJhbmNlIHx8ICdmaWxsJztcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmdNb2R1bGU6IEZvcm1GaWVsZE1vZHVsZSxcblx0XHRcdHByb3ZpZGVyczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0cHJvdmlkZTogQlVJX0ZPUk1fRklFTERfQ09ORklHLFxuXHRcdFx0XHRcdHVzZVZhbHVlOiBjZmdcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
@@ -148,7 +148,7 @@ class ClipNoteComponent {
148
148
  }
149
149
  }
150
150
  ClipNoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component });
151
- ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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] ", 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: [
151
+ ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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] ", 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: [
152
152
  trigger('buttonAnimation', [
153
153
  state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
154
154
  state('active', style({})),
@@ -209,7 +209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
209
209
  state('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),
210
210
  transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
211
211
  ])
212
- ], 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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"] }]
212
+ ], 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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"] }]
213
213
  }], ctorParameters: function () {
214
214
  return [{ type: i0.ChangeDetectorRef }, { type: i1.Directionality }, { type: i0.ElementRef, decorators: [{
215
215
  type: Host
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEmbeddedViewRef,\n\tEventEmitter,\n\tHost,\n\tOnDestroy,\n\tOnInit,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n\tselector: 'bui-clip-note',\n\ttemplateUrl: './clip-note.component.html',\n\tstyleUrls: ['./clip-note.component.scss'],\n\thost: { class: 'bui-clip-note bui-host' },\n\tanimations: [\n\t\ttrigger('buttonAnimation', [\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\n\t\t\tstate('active', style({})),\n\t\t\ttransition('inactive <=> active', [\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\n\t\t\t])\n\t\t]),\n\t\ttrigger('buttonTextAnimation', [\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\n\t\t\tstate('active', style({ opacity: 1 })),\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\n\t\t]),\n\t\ttrigger('buttonIconAnimation', [\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\n\t\t\tstate('inactive', style({})),\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t\t]),\n\t\ttrigger('panelAnimation', [\n\t\t\tstate('open', style({})),\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\n\t\t])\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ClipNoteComponent implements OnInit, OnDestroy {\n\tbuttonText = '';\n\n\tget buttonState(): string {\n\t\tif (this._hovering || this.panelState === 'open') {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tget buttonIconState(): string {\n\t\tif (this.panelState === 'open') {\n\t\t\treturn `open-${this.direction}`;\n\t\t}\n\t\tif (this.buttonState === 'active') {\n\t\t\treturn `active-${this.direction}`;\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\n\n\tdirection = 'ltr';\n\t_contentView?: EmbeddedViewRef<any>;\n\t_content?: string;\n\t_color: ThemePalette;\n\t_buttonAnimating = false;\n\t_icon?: string;\n\t_hasContent = false;\n\n\treadonly opened = new EventEmitter<void>();\n\treadonly closed = new EventEmitter<void>();\n\n\tprivate _hovering = false;\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _toggleQueue: boolean[] = [];\n\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\n\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\n\tprivate _noteViewRef!: ViewContainerRef;\n\n\t@ViewChild('fallbackTemplate', { static: true })\n\tprivate _fallbackTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\tprivate _cd: ChangeDetectorRef,\n\t\tprivate _dir: Directionality,\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst changeDir = () => {\n\t\t\tthis.direction = this._dir.value;\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\t\tthis._cd.markForCheck();\n\t\t};\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\n\t\tchangeDir();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t}\n\n\t_mouseOverButton(hovering: boolean) {\n\t\tif (this._hovering !== hovering) {\n\t\t\tthis._hovering = hovering;\n\t\t\tthis._cd.markForCheck();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_scheduleToggle() {\n\t\tif (this._buttonAnimating) {\n\t\t\tthis._toggleQueue.push(true);\n\t\t} else {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\t_checkToggle() {\n\t\tif (this._toggleQueue.pop()) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\topen() {\n\t\tthis.panelState = 'open';\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\tclose() {\n\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\t_emit() {\n\t\tif (this.panelState === 'open') {\n\t\t\tthis.opened.emit();\n\t\t} else {\n\t\t\tthis.closed.emit();\n\t\t}\n\t}\n\n\t_contentChanged(content?: string | TemplateRef<any>) {\n\t\tlet template: TemplateRef<any>;\n\n\t\tif (content instanceof TemplateRef) {\n\t\t\ttemplate = content;\n\t\t} else {\n\t\t\ttemplate = this._fallbackTemplate;\n\t\t\tthis._content = content;\n\t\t}\n\t\tthis._noteViewRef.clear();\n\t\tconst context = {};\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\n\t\tthis._checkContent(true);\n\t}\n\n\t_checkContent(initial?: boolean) {\n\t\tthis._contentView?.detectChanges();\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\n\t\tconst classList = this._elemRef.nativeElement.classList;\n\t\tconst cls = 'bui-clip-note-hidden';\n\t\tconst cls1 = 'bui-clip-note-reveal';\n\t\tif (this._hasContent) {\n\t\t\tclassList.remove(cls);\n\t\t\tif (!initial && this.panelState !== 'open') {\n\t\t\t\tclassList.add(cls1);\n\t\t\t}\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n\t\t} else {\n\t\t\tclassList.add(cls);\n\t\t\tclassList.remove(cls1);\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t_assignColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonText(text: string) {\n\t\tthis.buttonText = text;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonIcon(icon?: string) {\n\t\tthis._icon = icon;\n\t\tthis._cd.markForCheck();\n\t}\n}\n","<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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\n","import {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ClipNoteComponent } from './clip-note.component';\n\nexport interface ClipNoteDefaultConfig {\n\tcolor: ThemePalette;\n\tcaption: string;\n}\n\n/** Used to provide default config for clip notes. */\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\n});\n\n/**\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\n *\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\n *\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\n * information regarding and in addition to the content displayed in the main view area.\n *\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\n *\n */\n@Directive({\n\tselector: '[buiClipNote]',\n\texportAs: 'buiClipNote'\n})\nexport class ClipNoteDirective implements AfterViewInit {\n\t/**\n\t * Provide content to the clip note's floating notepad element.\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\n\t */\n\t@Input()\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\n\t\treturn this._content;\n\t}\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\n\t\tthis._content = note;\n\t\tif (this._compRef) {\n\t\t\tthis._processContent();\n\t\t}\n\t}\n\n\t/**\n\t * Customise the theme color alias.\n\t * @default 'primary'\n\t */\n\t@Input()\n\tget buiClipNoteColor(): ThemePalette {\n\t\treturn this._color;\n\t}\n\tset buiClipNoteColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t}\n\t}\n\n\t/**\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\n\t * will not be active.\n\t */\n\t@Input()\n\tget buiClipNoteIcon(): string | undefined {\n\t\treturn this._icon;\n\t}\n\tset buiClipNoteIcon(icon: string | undefined) {\n\t\tthis._icon = icon;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t}\n\t}\n\n\t/**\n\t * The caption of the toggle button when expanded.\n\t */\n\t@Input()\n\tget buiClipNoteCaption(): string {\n\t\treturn this._caption;\n\t}\n\tset buiClipNoteCaption(text: string) {\n\t\tthis._caption = text;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t}\n\t}\n\n\t/** Emits when the panel opens */\n\t@Output()\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\n\n\t/** Emits when the panel closes */\n\t@Output()\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\n\n\tprivate _content?: string | TemplateRef<any>;\n\tprivate _color: ThemePalette = 'primary';\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\n\tprivate _caption: string;\n\tprivate _icon?: string;\n\n\tconstructor(\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\n\t\tprivate _vc: ViewContainerRef,\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\n\t) {\n\t\tthis._caption = _config.caption;\n\t\tthis._color = _config.color;\n\t}\n\n\tngAfterViewInit(): void {\n\t\tsetTimeout(() => {\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\n\t\t\tconst element = this._elementRef.nativeElement;\n\t\t\telement.style.position = 'relative';\n\t\t\telement.appendChild(childElement);\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\n\t\t\tthis._processContent();\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._compRef.destroy();\n\t}\n\n\t/** Open the note panel */\n\topen() {\n\t\tthis._compRef.instance.open();\n\t}\n\n\t/** Close the note panel */\n\tclose() {\n\t\tthis._compRef.instance.close();\n\t}\n\n\tprivate _processContent() {\n\t\tthis._compRef.instance._contentChanged(this._content);\n\t}\n}\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BuiCommonModule } from '@bravura/ui/common';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { ClipNoteComponent } from './clip-note.component';\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\n\n@NgModule({\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\n\texports: [ClipNoteDirective]\n})\nexport class ClipNoteModule {\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\n\t\treturn {\n\t\t\tngModule: ClipNoteModule,\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\n\t\t};\n\t}\n}\n\nexport { ClipNoteDirective };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEmbeddedViewRef,\n\tEventEmitter,\n\tHost,\n\tOnDestroy,\n\tOnInit,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n\tselector: 'bui-clip-note',\n\ttemplateUrl: './clip-note.component.html',\n\tstyleUrls: ['./clip-note.component.scss'],\n\thost: { class: 'bui-clip-note bui-host' },\n\tanimations: [\n\t\ttrigger('buttonAnimation', [\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\n\t\t\tstate('active', style({})),\n\t\t\ttransition('inactive <=> active', [\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\n\t\t\t])\n\t\t]),\n\t\ttrigger('buttonTextAnimation', [\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\n\t\t\tstate('active', style({ opacity: 1 })),\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\n\t\t]),\n\t\ttrigger('buttonIconAnimation', [\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\n\t\t\tstate('inactive', style({})),\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t\t]),\n\t\ttrigger('panelAnimation', [\n\t\t\tstate('open', style({})),\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\n\t\t])\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ClipNoteComponent implements OnInit, OnDestroy {\n\tbuttonText = '';\n\n\tget buttonState(): string {\n\t\tif (this._hovering || this.panelState === 'open') {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tget buttonIconState(): string {\n\t\tif (this.panelState === 'open') {\n\t\t\treturn `open-${this.direction}`;\n\t\t}\n\t\tif (this.buttonState === 'active') {\n\t\t\treturn `active-${this.direction}`;\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\n\n\tdirection = 'ltr';\n\t_contentView?: EmbeddedViewRef<any>;\n\t_content?: string;\n\t_color: ThemePalette;\n\t_buttonAnimating = false;\n\t_icon?: string;\n\t_hasContent = false;\n\n\treadonly opened = new EventEmitter<void>();\n\treadonly closed = new EventEmitter<void>();\n\n\tprivate _hovering = false;\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _toggleQueue: boolean[] = [];\n\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\n\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\n\tprivate _noteViewRef!: ViewContainerRef;\n\n\t@ViewChild('fallbackTemplate', { static: true })\n\tprivate _fallbackTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\tprivate _cd: ChangeDetectorRef,\n\t\tprivate _dir: Directionality,\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst changeDir = () => {\n\t\t\tthis.direction = this._dir.value;\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\t\tthis._cd.markForCheck();\n\t\t};\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\n\t\tchangeDir();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t}\n\n\t_mouseOverButton(hovering: boolean) {\n\t\tif (this._hovering !== hovering) {\n\t\t\tthis._hovering = hovering;\n\t\t\tthis._cd.markForCheck();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_scheduleToggle() {\n\t\tif (this._buttonAnimating) {\n\t\t\tthis._toggleQueue.push(true);\n\t\t} else {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\t_checkToggle() {\n\t\tif (this._toggleQueue.pop()) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\topen() {\n\t\tthis.panelState = 'open';\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\tclose() {\n\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\t_emit() {\n\t\tif (this.panelState === 'open') {\n\t\t\tthis.opened.emit();\n\t\t} else {\n\t\t\tthis.closed.emit();\n\t\t}\n\t}\n\n\t_contentChanged(content?: string | TemplateRef<any>) {\n\t\tlet template: TemplateRef<any>;\n\n\t\tif (content instanceof TemplateRef) {\n\t\t\ttemplate = content;\n\t\t} else {\n\t\t\ttemplate = this._fallbackTemplate;\n\t\t\tthis._content = content;\n\t\t}\n\t\tthis._noteViewRef.clear();\n\t\tconst context = {};\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\n\t\tthis._checkContent(true);\n\t}\n\n\t_checkContent(initial?: boolean) {\n\t\tthis._contentView?.detectChanges();\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\n\t\tconst classList = this._elemRef.nativeElement.classList;\n\t\tconst cls = 'bui-clip-note-hidden';\n\t\tconst cls1 = 'bui-clip-note-reveal';\n\t\tif (this._hasContent) {\n\t\t\tclassList.remove(cls);\n\t\t\tif (!initial && this.panelState !== 'open') {\n\t\t\t\tclassList.add(cls1);\n\t\t\t}\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n\t\t} else {\n\t\t\tclassList.add(cls);\n\t\t\tclassList.remove(cls1);\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t_assignColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonText(text: string) {\n\t\tthis.buttonText = text;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonIcon(icon?: string) {\n\t\tthis._icon = icon;\n\t\tthis._cd.markForCheck();\n\t}\n}\n","<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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\n","import {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ClipNoteComponent } from './clip-note.component';\n\nexport interface ClipNoteDefaultConfig {\n\tcolor: ThemePalette;\n\tcaption: string;\n}\n\n/** Used to provide default config for clip notes. */\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\n});\n\n/**\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\n *\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\n *\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\n * information regarding and in addition to the content displayed in the main view area.\n *\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\n *\n */\n@Directive({\n\tselector: '[buiClipNote]',\n\texportAs: 'buiClipNote'\n})\nexport class ClipNoteDirective implements AfterViewInit {\n\t/**\n\t * Provide content to the clip note's floating notepad element.\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\n\t */\n\t@Input()\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\n\t\treturn this._content;\n\t}\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\n\t\tthis._content = note;\n\t\tif (this._compRef) {\n\t\t\tthis._processContent();\n\t\t}\n\t}\n\n\t/**\n\t * Customise the theme color alias.\n\t * @default 'primary'\n\t */\n\t@Input()\n\tget buiClipNoteColor(): ThemePalette {\n\t\treturn this._color;\n\t}\n\tset buiClipNoteColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t}\n\t}\n\n\t/**\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\n\t * will not be active.\n\t */\n\t@Input()\n\tget buiClipNoteIcon(): string | undefined {\n\t\treturn this._icon;\n\t}\n\tset buiClipNoteIcon(icon: string | undefined) {\n\t\tthis._icon = icon;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t}\n\t}\n\n\t/**\n\t * The caption of the toggle button when expanded.\n\t */\n\t@Input()\n\tget buiClipNoteCaption(): string {\n\t\treturn this._caption;\n\t}\n\tset buiClipNoteCaption(text: string) {\n\t\tthis._caption = text;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t}\n\t}\n\n\t/** Emits when the panel opens */\n\t@Output()\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\n\n\t/** Emits when the panel closes */\n\t@Output()\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\n\n\tprivate _content?: string | TemplateRef<any>;\n\tprivate _color: ThemePalette = 'primary';\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\n\tprivate _caption: string;\n\tprivate _icon?: string;\n\n\tconstructor(\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\n\t\tprivate _vc: ViewContainerRef,\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\n\t) {\n\t\tthis._caption = _config.caption;\n\t\tthis._color = _config.color;\n\t}\n\n\tngAfterViewInit(): void {\n\t\tsetTimeout(() => {\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\n\t\t\tconst element = this._elementRef.nativeElement;\n\t\t\telement.style.position = 'relative';\n\t\t\telement.appendChild(childElement);\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\n\t\t\tthis._processContent();\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._compRef.destroy();\n\t}\n\n\t/** Open the note panel */\n\topen() {\n\t\tthis._compRef.instance.open();\n\t}\n\n\t/** Close the note panel */\n\tclose() {\n\t\tthis._compRef.instance.close();\n\t}\n\n\tprivate _processContent() {\n\t\tthis._compRef.instance._contentChanged(this._content);\n\t}\n}\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BuiCommonModule } from '@bravura/ui/common';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { ClipNoteComponent } from './clip-note.component';\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\n\n@NgModule({\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\n\texports: [ClipNoteDirective]\n})\nexport class ClipNoteModule {\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\n\t\treturn {\n\t\t\tngModule: ClipNoteModule,\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\n\t\t};\n\t}\n}\n\nexport { ClipNoteDirective };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { ObserversModule } from '@angular/cdk/observers';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, Host, Input, NgModule } from '@angular/core';
4
+ import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, Host, Inject, Input, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/material/form-field';
6
6
  import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
7
7
 
8
+ const BUI_FORM_FIELD_CONFIG = new InjectionToken('@bravura/ui/buiFormFieldConfig', {
9
+ factory: () => ({ appearance: 'fill' }),
10
+ providedIn: 'root'
11
+ });
8
12
  /**
9
13
  * Container for form controls that applies Material Design styling and behavior.
10
14
  *
@@ -21,19 +25,20 @@ import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
21
25
  class FormFieldComponent extends MatFormField {
22
26
  }
23
27
  FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
28
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, decorators: [{
26
30
  type: Component,
27
- args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
31
+ args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
28
32
  }] });
29
33
  /**
30
34
  * @ignore
31
35
  */
32
36
  class FormFieldStyleDirective {
33
- constructor(matFormField, elemRef) {
37
+ constructor(matFormField, elemRef, config) {
34
38
  this.matFormField = matFormField;
35
39
  this.elemRef = elemRef;
36
40
  this._flowDetection = matFormField._shouldAlwaysFloat;
41
+ this.appearance = config.appearance;
37
42
  }
38
43
  /** The form field appearance style. */
39
44
  get appearance() {
@@ -53,7 +58,7 @@ class FormFieldStyleDirective {
53
58
  }
54
59
  }
55
60
  }
56
- FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
61
+ FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }, { token: BUI_FORM_FIELD_CONFIG }], target: i0.ɵɵFactoryTarget.Directive });
57
62
  FormFieldStyleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldStyleDirective, selector: "bui-form-field, mat-form-field", inputs: { appearance: "appearance" }, host: { classAttribute: "bui-host" }, ngImport: i0 });
58
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, decorators: [{
59
64
  type: Directive,
@@ -66,7 +71,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
66
71
  }], ctorParameters: function () {
67
72
  return [{ type: i1.MatFormField, decorators: [{
68
73
  type: Host
69
- }] }, { type: i0.ElementRef }];
74
+ }] }, { type: i0.ElementRef }, { type: undefined, decorators: [{
75
+ type: Inject,
76
+ args: [BUI_FORM_FIELD_CONFIG]
77
+ }] }];
70
78
  }, propDecorators: { appearance: [{
71
79
  type: Input
72
80
  }] } });
@@ -78,6 +86,19 @@ delete matFormFieldRef.inputs.appearance;
78
86
  delete matFormFieldRef.declaredInputs.appearance;
79
87
 
80
88
  class FormFieldModule {
89
+ static forConfig(config) {
90
+ const cfg = Object.assign({}, config);
91
+ cfg.appearance = cfg.appearance || 'fill';
92
+ return {
93
+ ngModule: FormFieldModule,
94
+ providers: [
95
+ {
96
+ provide: BUI_FORM_FIELD_CONFIG,
97
+ useValue: cfg
98
+ }
99
+ ]
100
+ };
101
+ }
81
102
  }
82
103
  FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
104
  FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent, FormFieldStyleDirective], imports: [CommonModule, MatFormFieldModule, ObserversModule], exports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule] });
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\tElementRef,\n\tHost,\n\tInput,\n\tViewEncapsulation\n} from '@angular/core';\nimport { MatFormField, MatFormFieldDefaultOptions } from '@angular/material/form-field';\n\n/**\n * Represents the default options for the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface BuiFormFieldDefaultOptions extends MatFormFieldDefaultOptions {\n\t/**\n\t * Render labels inb bold fonts\n\t * @default false\n\t */\n\tboldLabel?: boolean;\n}\n/**\n * Container for form controls that applies Material Design styling and behavior.\n *\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\n * is generally used with form controls that render their own borders.\n *\n * ** IMPORTANT NOTICE **\n *\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\n * component.\n */\n@Component({\n\tselector: 'bui-dummy-component',\n\ttemplate: ``,\n\tstyleUrls: ['./form-field.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent extends MatFormField {}\n\n/**\n * @ignore\n */\n@Directive({\n\tselector: 'bui-form-field, mat-form-field',\n\thost: {\n\t\tclass: 'bui-host'\n\t}\n})\nexport class FormFieldStyleDirective {\n\tprivate _appearance: any;\n\tprivate _flowDetection: any;\n\n\t/** The form field appearance style. */\n\t@Input()\n\tget appearance(): any {\n\t\treturn this._appearance;\n\t}\n\tset appearance(value: any) {\n\t\tthis._appearance = value;\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\n\t\t\tthis.matFormField.appearance = 'outline';\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\n\t\t} else {\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\n\t\t}\n\t}\n\n\tconstructor(@Host() private matFormField: MatFormField, private elemRef: ElementRef<HTMLElement>) {\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\n\t}\n}\n\nconst matFormFieldRef: any = MatFormField.ɵcmp;\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\n\nmatFormFieldRef.styles.push(...formFieldRef.styles);\nmatFormFieldRef.selectors.push(['bui-form-field']);\ndelete matFormFieldRef.inputs.appearance;\ndelete matFormFieldRef.declaredInputs.appearance;\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormFieldComponent, FormFieldStyleDirective } from './form-field.component';\n\n@NgModule({\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\n})\nexport class FormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAsBA;;;;;;;;;;;;AAYG;AAQG,MAAO,kBAAmB,SAAQ,YAAY,CAAA;;+GAAvC,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,kFALpB,CAAA,CAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,47FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAKA,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACC,qBAAqB,EAAA,QAAA,EACrB,CAAA,CAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,47FAAA,CAAA,EAAA,CAAA;;AAIhD;;AAEG;MAOU,uBAAuB,CAAA;IAsBnC,WAA4B,CAAA,YAA0B,EAAU,OAAgC,EAAA;AAApE,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAAU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyB;AAC/F,QAAA,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,kBAAkB,CAAC;KACtD;;AAnBD,IAAA,IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;KACxB;IACD,IAAI,UAAU,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACnD,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;AACzC,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAE,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAClD,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7G,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3D,SAAA;KACD;;oHApBW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,UAAU;AACjB,qBAAA;iBACD,CAAA;;;8BAuBa,IAAI;;yBAhBb,UAAU,EAAA,CAAA;sBADb,KAAK;;AAsBP,MAAM,eAAe,GAAQ,YAAY,CAAC,IAAI,CAAC;AAC/C,MAAM,YAAY,GAAQ,kBAAkB,CAAC,IAAI,CAAC;AAElD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AACpD,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,OAAO,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;AACzC,OAAO,eAAe,CAAC,cAAc,CAAC,UAAU;;MC3EnC,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJZ,YAAA,EAAA,CAAA,kBAAkB,EAAE,uBAAuB,aAChD,YAAY,EAAE,kBAAkB,EAAE,eAAe,CACjD,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAE7D,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHjB,YAAY,EAAE,kBAAkB,EAAE,eAAe,EACJ,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAE7D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;AAC3D,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,eAAe,CAAC;AAC5D,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;iBAC1E,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\tElementRef,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tViewEncapsulation\n} from '@angular/core';\nimport { MatFormField } from '@angular/material/form-field';\n\nexport interface BuiFormFieldConfig {\n\tappearance?: 'fill' | 'outline' | 'bound';\n}\n\nexport const BUI_FORM_FIELD_CONFIG = new InjectionToken<BuiFormFieldConfig>('@bravura/ui/buiFormFieldConfig', {\n\tfactory: () => ({ appearance: 'fill' }),\n\tprovidedIn: 'root'\n});\n/**\n * Container for form controls that applies Material Design styling and behavior.\n *\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\n * is generally used with form controls that render their own borders.\n *\n * ** IMPORTANT NOTICE **\n *\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\n * component.\n */\n@Component({\n\tselector: 'bui-dummy-component',\n\ttemplate: ``,\n\tstyleUrls: ['./form-field.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent extends MatFormField {}\n\n/**\n * @ignore\n */\n@Directive({\n\tselector: 'bui-form-field, mat-form-field',\n\thost: {\n\t\tclass: 'bui-host'\n\t}\n})\nexport class FormFieldStyleDirective {\n\tprivate _appearance: any;\n\tprivate _flowDetection: any;\n\n\t/** The form field appearance style. */\n\t@Input()\n\tget appearance(): any {\n\t\treturn this._appearance;\n\t}\n\tset appearance(value: any) {\n\t\tthis._appearance = value;\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\n\t\t\tthis.matFormField.appearance = 'outline';\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\n\t\t} else {\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\n\t\t}\n\t}\n\n\tconstructor(\n\t\t@Host() private matFormField: MatFormField,\n\t\tprivate elemRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_FORM_FIELD_CONFIG) config: BuiFormFieldConfig\n\t) {\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\n\t\tthis.appearance = config.appearance;\n\t}\n}\n\nconst matFormFieldRef: any = MatFormField.ɵcmp;\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\n\nmatFormFieldRef.styles.push(...formFieldRef.styles);\nmatFormFieldRef.selectors.push(['bui-form-field']);\ndelete matFormFieldRef.inputs.appearance;\ndelete matFormFieldRef.declaredInputs.appearance;\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport {\n\tBuiFormFieldConfig,\n\tBUI_FORM_FIELD_CONFIG,\n\tFormFieldComponent,\n\tFormFieldStyleDirective\n} from './form-field.component';\n\n@NgModule({\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\n})\nexport class FormFieldModule {\n\tstatic forConfig(config: BuiFormFieldConfig): ModuleWithProviders<FormFieldModule> {\n\t\tconst cfg = { ...config };\n\t\tcfg.appearance = cfg.appearance || 'fill';\n\t\treturn {\n\t\t\tngModule: FormFieldModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: BUI_FORM_FIELD_CONFIG,\n\t\t\t\t\tuseValue: cfg\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -147,7 +147,7 @@ class ClipNoteComponent {
147
147
  }
148
148
  }
149
149
  ClipNoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component });
150
- ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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] ", 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: [
150
+ ClipNoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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] ", 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: [
151
151
  trigger('buttonAnimation', [
152
152
  state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
153
153
  state('active', style({})),
@@ -208,7 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
208
208
  state('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),
209
209
  transition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))
210
210
  ])
211
- ], 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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:hidden;white-space:nowrap}.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"] }]
211
+ ], 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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ 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: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"] }]
212
212
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Directionality }, { type: i0.ElementRef, decorators: [{
213
213
  type: Host
214
214
  }] }]; }, propDecorators: { _viewDiv: [{
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEmbeddedViewRef,\n\tEventEmitter,\n\tHost,\n\tOnDestroy,\n\tOnInit,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n\tselector: 'bui-clip-note',\n\ttemplateUrl: './clip-note.component.html',\n\tstyleUrls: ['./clip-note.component.scss'],\n\thost: { class: 'bui-clip-note bui-host' },\n\tanimations: [\n\t\ttrigger('buttonAnimation', [\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\n\t\t\tstate('active', style({})),\n\t\t\ttransition('inactive <=> active', [\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\n\t\t\t])\n\t\t]),\n\t\ttrigger('buttonTextAnimation', [\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\n\t\t\tstate('active', style({ opacity: 1 })),\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\n\t\t]),\n\t\ttrigger('buttonIconAnimation', [\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\n\t\t\tstate('inactive', style({})),\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t\t]),\n\t\ttrigger('panelAnimation', [\n\t\t\tstate('open', style({})),\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\n\t\t])\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ClipNoteComponent implements OnInit, OnDestroy {\n\tbuttonText = '';\n\n\tget buttonState(): string {\n\t\tif (this._hovering || this.panelState === 'open') {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tget buttonIconState(): string {\n\t\tif (this.panelState === 'open') {\n\t\t\treturn `open-${this.direction}`;\n\t\t}\n\t\tif (this.buttonState === 'active') {\n\t\t\treturn `active-${this.direction}`;\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\n\n\tdirection = 'ltr';\n\t_contentView?: EmbeddedViewRef<any>;\n\t_content?: string;\n\t_color: ThemePalette;\n\t_buttonAnimating = false;\n\t_icon?: string;\n\t_hasContent = false;\n\n\treadonly opened = new EventEmitter<void>();\n\treadonly closed = new EventEmitter<void>();\n\n\tprivate _hovering = false;\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _toggleQueue: boolean[] = [];\n\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\n\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\n\tprivate _noteViewRef!: ViewContainerRef;\n\n\t@ViewChild('fallbackTemplate', { static: true })\n\tprivate _fallbackTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\tprivate _cd: ChangeDetectorRef,\n\t\tprivate _dir: Directionality,\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst changeDir = () => {\n\t\t\tthis.direction = this._dir.value;\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\t\tthis._cd.markForCheck();\n\t\t};\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\n\t\tchangeDir();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t}\n\n\t_mouseOverButton(hovering: boolean) {\n\t\tif (this._hovering !== hovering) {\n\t\t\tthis._hovering = hovering;\n\t\t\tthis._cd.markForCheck();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_scheduleToggle() {\n\t\tif (this._buttonAnimating) {\n\t\t\tthis._toggleQueue.push(true);\n\t\t} else {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\t_checkToggle() {\n\t\tif (this._toggleQueue.pop()) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\topen() {\n\t\tthis.panelState = 'open';\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\tclose() {\n\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\t_emit() {\n\t\tif (this.panelState === 'open') {\n\t\t\tthis.opened.emit();\n\t\t} else {\n\t\t\tthis.closed.emit();\n\t\t}\n\t}\n\n\t_contentChanged(content?: string | TemplateRef<any>) {\n\t\tlet template: TemplateRef<any>;\n\n\t\tif (content instanceof TemplateRef) {\n\t\t\ttemplate = content;\n\t\t} else {\n\t\t\ttemplate = this._fallbackTemplate;\n\t\t\tthis._content = content;\n\t\t}\n\t\tthis._noteViewRef.clear();\n\t\tconst context = {};\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\n\t\tthis._checkContent(true);\n\t}\n\n\t_checkContent(initial?: boolean) {\n\t\tthis._contentView?.detectChanges();\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\n\t\tconst classList = this._elemRef.nativeElement.classList;\n\t\tconst cls = 'bui-clip-note-hidden';\n\t\tconst cls1 = 'bui-clip-note-reveal';\n\t\tif (this._hasContent) {\n\t\t\tclassList.remove(cls);\n\t\t\tif (!initial && this.panelState !== 'open') {\n\t\t\t\tclassList.add(cls1);\n\t\t\t}\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n\t\t} else {\n\t\t\tclassList.add(cls);\n\t\t\tclassList.remove(cls1);\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t_assignColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonText(text: string) {\n\t\tthis.buttonText = text;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonIcon(icon?: string) {\n\t\tthis._icon = icon;\n\t\tthis._cd.markForCheck();\n\t}\n}\n","<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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\n","import {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ClipNoteComponent } from './clip-note.component';\n\nexport interface ClipNoteDefaultConfig {\n\tcolor: ThemePalette;\n\tcaption: string;\n}\n\n/** Used to provide default config for clip notes. */\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\n});\n\n/**\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\n *\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\n *\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\n * information regarding and in addition to the content displayed in the main view area.\n *\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\n *\n */\n@Directive({\n\tselector: '[buiClipNote]',\n\texportAs: 'buiClipNote'\n})\nexport class ClipNoteDirective implements AfterViewInit {\n\t/**\n\t * Provide content to the clip note's floating notepad element.\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\n\t */\n\t@Input()\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\n\t\treturn this._content;\n\t}\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\n\t\tthis._content = note;\n\t\tif (this._compRef) {\n\t\t\tthis._processContent();\n\t\t}\n\t}\n\n\t/**\n\t * Customise the theme color alias.\n\t * @default 'primary'\n\t */\n\t@Input()\n\tget buiClipNoteColor(): ThemePalette {\n\t\treturn this._color;\n\t}\n\tset buiClipNoteColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t}\n\t}\n\n\t/**\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\n\t * will not be active.\n\t */\n\t@Input()\n\tget buiClipNoteIcon(): string | undefined {\n\t\treturn this._icon;\n\t}\n\tset buiClipNoteIcon(icon: string | undefined) {\n\t\tthis._icon = icon;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t}\n\t}\n\n\t/**\n\t * The caption of the toggle button when expanded.\n\t */\n\t@Input()\n\tget buiClipNoteCaption(): string {\n\t\treturn this._caption;\n\t}\n\tset buiClipNoteCaption(text: string) {\n\t\tthis._caption = text;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t}\n\t}\n\n\t/** Emits when the panel opens */\n\t@Output()\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\n\n\t/** Emits when the panel closes */\n\t@Output()\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\n\n\tprivate _content?: string | TemplateRef<any>;\n\tprivate _color: ThemePalette = 'primary';\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\n\tprivate _caption: string;\n\tprivate _icon?: string;\n\n\tconstructor(\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\n\t\tprivate _vc: ViewContainerRef,\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\n\t) {\n\t\tthis._caption = _config.caption;\n\t\tthis._color = _config.color;\n\t}\n\n\tngAfterViewInit(): void {\n\t\tsetTimeout(() => {\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\n\t\t\tconst element = this._elementRef.nativeElement;\n\t\t\telement.style.position = 'relative';\n\t\t\telement.appendChild(childElement);\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\n\t\t\tthis._processContent();\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._compRef.destroy();\n\t}\n\n\t/** Open the note panel */\n\topen() {\n\t\tthis._compRef.instance.open();\n\t}\n\n\t/** Close the note panel */\n\tclose() {\n\t\tthis._compRef.instance.close();\n\t}\n\n\tprivate _processContent() {\n\t\tthis._compRef.instance._contentChanged(this._content);\n\t}\n}\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BuiCommonModule } from '@bravura/ui/common';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { ClipNoteComponent } from './clip-note.component';\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\n\n@NgModule({\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\n\texports: [ClipNoteDirective]\n})\nexport class ClipNoteModule {\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\n\t\treturn {\n\t\t\tngModule: ClipNoteModule,\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\n\t\t};\n\t}\n}\n\nexport { ClipNoteDirective };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEmbeddedViewRef,\n\tEventEmitter,\n\tHost,\n\tOnDestroy,\n\tOnInit,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n\tselector: 'bui-clip-note',\n\ttemplateUrl: './clip-note.component.html',\n\tstyleUrls: ['./clip-note.component.scss'],\n\thost: { class: 'bui-clip-note bui-host' },\n\tanimations: [\n\t\ttrigger('buttonAnimation', [\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\n\t\t\tstate('active', style({})),\n\t\t\ttransition('inactive <=> active', [\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\n\t\t\t])\n\t\t]),\n\t\ttrigger('buttonTextAnimation', [\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\n\t\t\tstate('active', style({ opacity: 1 })),\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\n\t\t]),\n\t\ttrigger('buttonIconAnimation', [\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\n\t\t\tstate('inactive', style({})),\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t\t]),\n\t\ttrigger('panelAnimation', [\n\t\t\tstate('open', style({})),\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\n\t\t])\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ClipNoteComponent implements OnInit, OnDestroy {\n\tbuttonText = '';\n\n\tget buttonState(): string {\n\t\tif (this._hovering || this.panelState === 'open') {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tget buttonIconState(): string {\n\t\tif (this.panelState === 'open') {\n\t\t\treturn `open-${this.direction}`;\n\t\t}\n\t\tif (this.buttonState === 'active') {\n\t\t\treturn `active-${this.direction}`;\n\t\t}\n\t\treturn 'inactive';\n\t}\n\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\n\n\tdirection = 'ltr';\n\t_contentView?: EmbeddedViewRef<any>;\n\t_content?: string;\n\t_color: ThemePalette;\n\t_buttonAnimating = false;\n\t_icon?: string;\n\t_hasContent = false;\n\n\treadonly opened = new EventEmitter<void>();\n\treadonly closed = new EventEmitter<void>();\n\n\tprivate _hovering = false;\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _toggleQueue: boolean[] = [];\n\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\n\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\n\tprivate _noteViewRef!: ViewContainerRef;\n\n\t@ViewChild('fallbackTemplate', { static: true })\n\tprivate _fallbackTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\tprivate _cd: ChangeDetectorRef,\n\t\tprivate _dir: Directionality,\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst changeDir = () => {\n\t\t\tthis.direction = this._dir.value;\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\t\tthis._cd.markForCheck();\n\t\t};\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\n\t\tchangeDir();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t}\n\n\t_mouseOverButton(hovering: boolean) {\n\t\tif (this._hovering !== hovering) {\n\t\t\tthis._hovering = hovering;\n\t\t\tthis._cd.markForCheck();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_scheduleToggle() {\n\t\tif (this._buttonAnimating) {\n\t\t\tthis._toggleQueue.push(true);\n\t\t} else {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\t_checkToggle() {\n\t\tif (this._toggleQueue.pop()) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\topen() {\n\t\tthis.panelState = 'open';\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\tclose() {\n\t\tthis.panelState = `closed-${this.direction}` as any;\n\t\tthis._cd.markForCheck();\n\t\tthis._emit();\n\t}\n\n\t_emit() {\n\t\tif (this.panelState === 'open') {\n\t\t\tthis.opened.emit();\n\t\t} else {\n\t\t\tthis.closed.emit();\n\t\t}\n\t}\n\n\t_contentChanged(content?: string | TemplateRef<any>) {\n\t\tlet template: TemplateRef<any>;\n\n\t\tif (content instanceof TemplateRef) {\n\t\t\ttemplate = content;\n\t\t} else {\n\t\t\ttemplate = this._fallbackTemplate;\n\t\t\tthis._content = content;\n\t\t}\n\t\tthis._noteViewRef.clear();\n\t\tconst context = {};\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\n\t\tthis._checkContent(true);\n\t}\n\n\t_checkContent(initial?: boolean) {\n\t\tthis._contentView?.detectChanges();\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\n\t\tconst classList = this._elemRef.nativeElement.classList;\n\t\tconst cls = 'bui-clip-note-hidden';\n\t\tconst cls1 = 'bui-clip-note-reveal';\n\t\tif (this._hasContent) {\n\t\t\tclassList.remove(cls);\n\t\t\tif (!initial && this.panelState !== 'open') {\n\t\t\t\tclassList.add(cls1);\n\t\t\t}\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n\t\t} else {\n\t\t\tclassList.add(cls);\n\t\t\tclassList.remove(cls1);\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t_assignColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonText(text: string) {\n\t\tthis.buttonText = text;\n\t\tthis._cd.markForCheck();\n\t}\n\n\t_assignButtonIcon(icon?: string) {\n\t\tthis._icon = icon;\n\t\tthis._cd.markForCheck();\n\t}\n}\n","<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\tstyle=\"margin: 0\"\n\t\t>\n\t\t</mat-icon>\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\n\t</button>\n</div>\n\n<ng-template #fallbackTemplate>\n\t<div [innerHTML]=\"_content\"></div>\n</ng-template>\n","import {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ClipNoteComponent } from './clip-note.component';\n\nexport interface ClipNoteDefaultConfig {\n\tcolor: ThemePalette;\n\tcaption: string;\n}\n\n/** Used to provide default config for clip notes. */\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\n});\n\n/**\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\n *\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\n *\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\n * information regarding and in addition to the content displayed in the main view area.\n *\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\n *\n */\n@Directive({\n\tselector: '[buiClipNote]',\n\texportAs: 'buiClipNote'\n})\nexport class ClipNoteDirective implements AfterViewInit {\n\t/**\n\t * Provide content to the clip note's floating notepad element.\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\n\t */\n\t@Input()\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\n\t\treturn this._content;\n\t}\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\n\t\tthis._content = note;\n\t\tif (this._compRef) {\n\t\t\tthis._processContent();\n\t\t}\n\t}\n\n\t/**\n\t * Customise the theme color alias.\n\t * @default 'primary'\n\t */\n\t@Input()\n\tget buiClipNoteColor(): ThemePalette {\n\t\treturn this._color;\n\t}\n\tset buiClipNoteColor(color: ThemePalette) {\n\t\tthis._color = color;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t}\n\t}\n\n\t/**\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\n\t * will not be active.\n\t */\n\t@Input()\n\tget buiClipNoteIcon(): string | undefined {\n\t\treturn this._icon;\n\t}\n\tset buiClipNoteIcon(icon: string | undefined) {\n\t\tthis._icon = icon;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t}\n\t}\n\n\t/**\n\t * The caption of the toggle button when expanded.\n\t */\n\t@Input()\n\tget buiClipNoteCaption(): string {\n\t\treturn this._caption;\n\t}\n\tset buiClipNoteCaption(text: string) {\n\t\tthis._caption = text;\n\t\tif (this._compRef) {\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t}\n\t}\n\n\t/** Emits when the panel opens */\n\t@Output()\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\n\n\t/** Emits when the panel closes */\n\t@Output()\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\n\n\tprivate _content?: string | TemplateRef<any>;\n\tprivate _color: ThemePalette = 'primary';\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\n\tprivate _caption: string;\n\tprivate _icon?: string;\n\n\tconstructor(\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\n\t\tprivate _vc: ViewContainerRef,\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\n\t) {\n\t\tthis._caption = _config.caption;\n\t\tthis._color = _config.color;\n\t}\n\n\tngAfterViewInit(): void {\n\t\tsetTimeout(() => {\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\n\t\t\tconst element = this._elementRef.nativeElement;\n\t\t\telement.style.position = 'relative';\n\t\t\telement.appendChild(childElement);\n\t\t\tthis._compRef.instance._assignColor(this._color);\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\n\t\t\tthis._processContent();\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._compRef.destroy();\n\t}\n\n\t/** Open the note panel */\n\topen() {\n\t\tthis._compRef.instance.open();\n\t}\n\n\t/** Close the note panel */\n\tclose() {\n\t\tthis._compRef.instance.close();\n\t}\n\n\tprivate _processContent() {\n\t\tthis._compRef.instance._contentChanged(this._content);\n\t}\n}\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BuiCommonModule } from '@bravura/ui/common';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { ClipNoteComponent } from './clip-note.component';\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\n\n@NgModule({\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\n\texports: [ClipNoteDirective]\n})\nexport class ClipNoteModule {\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\n\t\treturn {\n\t\t\tngModule: ClipNoteModule,\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\n\t\t};\n\t}\n}\n\nexport { ClipNoteDirective };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { ObserversModule } from '@angular/cdk/observers';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, Host, Input, NgModule } from '@angular/core';
4
+ import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, Host, Inject, Input, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/material/form-field';
6
6
  import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
7
7
 
8
+ const BUI_FORM_FIELD_CONFIG = new InjectionToken('@bravura/ui/buiFormFieldConfig', {
9
+ factory: () => ({ appearance: 'fill' }),
10
+ providedIn: 'root'
11
+ });
8
12
  /**
9
13
  * Container for form controls that applies Material Design styling and behavior.
10
14
  *
@@ -21,19 +25,20 @@ import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
21
25
  class FormFieldComponent extends MatFormField {
22
26
  }
23
27
  FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
28
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldComponent, selector: "bui-dummy-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldComponent, decorators: [{
26
30
  type: Component,
27
- args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -52px}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y: -53px}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
31
+ args: [{ selector: 'bui-dummy-component', template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".bui-form-field-bound,.bui-form-field-detach{padding-top:24px;--mat-mdc-form-field-floating-label-scale: 1 !important;--mat-mdc-form-field-floating-label-translate-y: -3.3rem}.bui-form-field-bound .mdc-floating-label,.bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(-4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important;transition:none!important}[dir=rtl] .bui-form-field-bound .mdc-floating-label,[dir=rtl] .bui-form-field-detach .mdc-floating-label{--mat-mdc-form-field-label-transform: translateY(var(--mat-mdc-form-field-floating-label-translate-y)) translateX(4px) scale(var(--mat-mdc-form-field-floating-label-scale, .75)) !important}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix,.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.bui-form-field-bound.mat-focused{--mat-mdc-form-field-floating-label-translate-y:calc(-3.3rem - 1px)}.bui-form-field-bound .mat-mdc-form-field-hint-wrapper,.bui-form-field-bound .mat-mdc-form-field-error-wrapper{padding-left:initial;padding-inline-start:4px}.bui-form-field-bound .mat-mdc-form-field-infix{min-height:48px}.bui-form-field-bound .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.bui-form-field-bound .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:4px}.bui-form-field-bound .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:1px;border-top-style:solid}.bui-form-field-bound .mdc-text-field--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{border-top-width:2px}.bui-form-field-bound .mdc-text-field--disabled .mdc-notched-outline__notch{border-color:var(--bui-color-inactive)}.bui-form-field-bound .mat-mdc-form-field-icon-prefix>.mat-icon{padding:0 6px 0 12px}.bui-form-field-bound .mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px 0 6px}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.bui-form-field-detach .mat-mdc-form-field-hint-wrapper,.bui-form-field-detach .mat-mdc-form-field-error-wrapper{padding-inline-start:0}.bui-form-field-detach .mat-mdc-form-field-infix{min-height:40px}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{border:none!important}.bui-form-field-detach .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:0}.bui-form-field-detach .mat-mdc-text-field-wrapper.mdc-text-field--outlined{padding-inline-start:0}\n"] }]
28
32
  }] });
29
33
  /**
30
34
  * @ignore
31
35
  */
32
36
  class FormFieldStyleDirective {
33
- constructor(matFormField, elemRef) {
37
+ constructor(matFormField, elemRef, config) {
34
38
  this.matFormField = matFormField;
35
39
  this.elemRef = elemRef;
36
40
  this._flowDetection = matFormField._shouldAlwaysFloat;
41
+ this.appearance = config.appearance;
37
42
  }
38
43
  /** The form field appearance style. */
39
44
  get appearance() {
@@ -53,7 +58,7 @@ class FormFieldStyleDirective {
53
58
  }
54
59
  }
55
60
  }
56
- FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
61
+ FormFieldStyleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, deps: [{ token: i1.MatFormField, host: true }, { token: i0.ElementRef }, { token: BUI_FORM_FIELD_CONFIG }], target: i0.ɵɵFactoryTarget.Directive });
57
62
  FormFieldStyleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: FormFieldStyleDirective, selector: "bui-form-field, mat-form-field", inputs: { appearance: "appearance" }, host: { classAttribute: "bui-host" }, ngImport: i0 });
58
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldStyleDirective, decorators: [{
59
64
  type: Directive,
@@ -65,7 +70,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
65
70
  }]
66
71
  }], ctorParameters: function () { return [{ type: i1.MatFormField, decorators: [{
67
72
  type: Host
68
- }] }, { type: i0.ElementRef }]; }, propDecorators: { appearance: [{
73
+ }] }, { type: i0.ElementRef }, { type: undefined, decorators: [{
74
+ type: Inject,
75
+ args: [BUI_FORM_FIELD_CONFIG]
76
+ }] }]; }, propDecorators: { appearance: [{
69
77
  type: Input
70
78
  }] } });
71
79
  const matFormFieldRef = MatFormField.ɵcmp;
@@ -76,6 +84,19 @@ delete matFormFieldRef.inputs.appearance;
76
84
  delete matFormFieldRef.declaredInputs.appearance;
77
85
 
78
86
  class FormFieldModule {
87
+ static forConfig(config) {
88
+ const cfg = { ...config };
89
+ cfg.appearance = cfg.appearance || 'fill';
90
+ return {
91
+ ngModule: FormFieldModule,
92
+ providers: [
93
+ {
94
+ provide: BUI_FORM_FIELD_CONFIG,
95
+ useValue: cfg
96
+ }
97
+ ]
98
+ };
99
+ }
79
100
  }
80
101
  FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
81
102
  FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent, FormFieldStyleDirective], imports: [CommonModule, MatFormFieldModule, ObserversModule], exports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule] });
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\tElementRef,\n\tHost,\n\tInput,\n\tViewEncapsulation\n} from '@angular/core';\nimport { MatFormField, MatFormFieldDefaultOptions } from '@angular/material/form-field';\n\n/**\n * Represents the default options for the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface BuiFormFieldDefaultOptions extends MatFormFieldDefaultOptions {\n\t/**\n\t * Render labels inb bold fonts\n\t * @default false\n\t */\n\tboldLabel?: boolean;\n}\n/**\n * Container for form controls that applies Material Design styling and behavior.\n *\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\n * is generally used with form controls that render their own borders.\n *\n * ** IMPORTANT NOTICE **\n *\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\n * component.\n */\n@Component({\n\tselector: 'bui-dummy-component',\n\ttemplate: ``,\n\tstyleUrls: ['./form-field.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent extends MatFormField {}\n\n/**\n * @ignore\n */\n@Directive({\n\tselector: 'bui-form-field, mat-form-field',\n\thost: {\n\t\tclass: 'bui-host'\n\t}\n})\nexport class FormFieldStyleDirective {\n\tprivate _appearance: any;\n\tprivate _flowDetection: any;\n\n\t/** The form field appearance style. */\n\t@Input()\n\tget appearance(): any {\n\t\treturn this._appearance;\n\t}\n\tset appearance(value: any) {\n\t\tthis._appearance = value;\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\n\t\t\tthis.matFormField.appearance = 'outline';\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\n\t\t} else {\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\n\t\t}\n\t}\n\n\tconstructor(@Host() private matFormField: MatFormField, private elemRef: ElementRef<HTMLElement>) {\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\n\t}\n}\n\nconst matFormFieldRef: any = MatFormField.ɵcmp;\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\n\nmatFormFieldRef.styles.push(...formFieldRef.styles);\nmatFormFieldRef.selectors.push(['bui-form-field']);\ndelete matFormFieldRef.inputs.appearance;\ndelete matFormFieldRef.declaredInputs.appearance;\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormFieldComponent, FormFieldStyleDirective } from './form-field.component';\n\n@NgModule({\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\n})\nexport class FormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\tElementRef,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tViewEncapsulation\n} from '@angular/core';\nimport { MatFormField } from '@angular/material/form-field';\n\nexport interface BuiFormFieldConfig {\n\tappearance?: 'fill' | 'outline' | 'bound';\n}\n\nexport const BUI_FORM_FIELD_CONFIG = new InjectionToken<BuiFormFieldConfig>('@bravura/ui/buiFormFieldConfig', {\n\tfactory: () => ({ appearance: 'fill' }),\n\tprovidedIn: 'root'\n});\n/**\n * Container for form controls that applies Material Design styling and behavior.\n *\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\n * is generally used with form controls that render their own borders.\n *\n * ** IMPORTANT NOTICE **\n *\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\n * component.\n */\n@Component({\n\tselector: 'bui-dummy-component',\n\ttemplate: ``,\n\tstyleUrls: ['./form-field.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent extends MatFormField {}\n\n/**\n * @ignore\n */\n@Directive({\n\tselector: 'bui-form-field, mat-form-field',\n\thost: {\n\t\tclass: 'bui-host'\n\t}\n})\nexport class FormFieldStyleDirective {\n\tprivate _appearance: any;\n\tprivate _flowDetection: any;\n\n\t/** The form field appearance style. */\n\t@Input()\n\tget appearance(): any {\n\t\treturn this._appearance;\n\t}\n\tset appearance(value: any) {\n\t\tthis._appearance = value;\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\n\t\t\tthis.matFormField.appearance = 'outline';\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\n\t\t} else {\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\n\t\t}\n\t}\n\n\tconstructor(\n\t\t@Host() private matFormField: MatFormField,\n\t\tprivate elemRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_FORM_FIELD_CONFIG) config: BuiFormFieldConfig\n\t) {\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\n\t\tthis.appearance = config.appearance;\n\t}\n}\n\nconst matFormFieldRef: any = MatFormField.ɵcmp;\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\n\nmatFormFieldRef.styles.push(...formFieldRef.styles);\nmatFormFieldRef.selectors.push(['bui-form-field']);\ndelete matFormFieldRef.inputs.appearance;\ndelete matFormFieldRef.declaredInputs.appearance;\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport {\n\tBuiFormFieldConfig,\n\tBUI_FORM_FIELD_CONFIG,\n\tFormFieldComponent,\n\tFormFieldStyleDirective\n} from './form-field.component';\n\n@NgModule({\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\n})\nexport class FormFieldModule {\n\tstatic forConfig(config: BuiFormFieldConfig): ModuleWithProviders<FormFieldModule> {\n\t\tconst cfg = { ...config };\n\t\tcfg.appearance = cfg.appearance || 'fill';\n\t\treturn {\n\t\t\tngModule: FormFieldModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: BUI_FORM_FIELD_CONFIG,\n\t\t\t\t\tuseValue: cfg\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,17 +1,10 @@
1
- import { ElementRef } from '@angular/core';
2
- import { MatFormField, MatFormFieldDefaultOptions } from '@angular/material/form-field';
1
+ import { ElementRef, InjectionToken } from '@angular/core';
2
+ import { MatFormField } from '@angular/material/form-field';
3
3
  import * as i0 from "@angular/core";
4
- /**
5
- * Represents the default options for the form field that can be configured
6
- * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.
7
- */
8
- export interface BuiFormFieldDefaultOptions extends MatFormFieldDefaultOptions {
9
- /**
10
- * Render labels inb bold fonts
11
- * @default false
12
- */
13
- boldLabel?: boolean;
4
+ export interface BuiFormFieldConfig {
5
+ appearance?: 'fill' | 'outline' | 'bound';
14
6
  }
7
+ export declare const BUI_FORM_FIELD_CONFIG: InjectionToken<BuiFormFieldConfig>;
15
8
  /**
16
9
  * Container for form controls that applies Material Design styling and behavior.
17
10
  *
@@ -40,7 +33,7 @@ export declare class FormFieldStyleDirective {
40
33
  /** The form field appearance style. */
41
34
  get appearance(): any;
42
35
  set appearance(value: any);
43
- constructor(matFormField: MatFormField, elemRef: ElementRef<HTMLElement>);
44
- static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldStyleDirective, [{ host: true; }, null]>;
36
+ constructor(matFormField: MatFormField, elemRef: ElementRef<HTMLElement>, config: BuiFormFieldConfig);
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldStyleDirective, [{ host: true; }, null, null]>;
45
38
  static ɵdir: i0.ɵɵDirectiveDeclaration<FormFieldStyleDirective, "bui-form-field, mat-form-field", never, { "appearance": "appearance"; }, {}, never, never, false, never>;
46
39
  }
@@ -1,9 +1,12 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { BuiFormFieldConfig } from './form-field.component';
1
3
  import * as i0 from "@angular/core";
2
4
  import * as i1 from "./form-field.component";
3
5
  import * as i2 from "@angular/common";
4
6
  import * as i3 from "@angular/material/form-field";
5
7
  import * as i4 from "@angular/cdk/observers";
6
8
  export declare class FormFieldModule {
9
+ static forConfig(config: BuiFormFieldConfig): ModuleWithProviders<FormFieldModule>;
7
10
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldModule, never>;
8
11
  static ɵmod: i0.ɵɵNgModuleDeclaration<FormFieldModule, [typeof i1.FormFieldComponent, typeof i1.FormFieldStyleDirective], [typeof i2.CommonModule, typeof i3.MatFormFieldModule, typeof i4.ObserversModule], [typeof i1.FormFieldComponent, typeof i1.FormFieldStyleDirective, typeof i3.MatFormFieldModule]>;
9
12
  static ɵinj: i0.ɵɵInjectorDeclaration<FormFieldModule>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bravura/ui",
3
3
  "description": "Bravura UI Components for Angular applications",
4
- "version": "3.0.0",
4
+ "version": "3.1.0",
5
5
  "keywords": [
6
6
  "Angular",
7
7
  "Angular Material",
@@ -9,18 +9,18 @@
9
9
  ],
10
10
  "author": "Bravura Solutions",
11
11
  "peerDependencies": {
12
- "@angular/common": "^14.1.0",
13
- "@angular/core": "^14.1.0",
14
- "@angular/compiler": "^14.1.0",
15
- "@angular/forms": "^14.1.0",
16
- "@angular/material": "^14.1.0",
17
- "@angular/cdk": "^14.1.0",
12
+ "@angular/cdk": "^15.0.4",
13
+ "@angular/common": "^15.1.0",
14
+ "@angular/compiler": "^15.1.0",
15
+ "@angular/core": "^15.1.0",
16
+ "@angular/forms": "^15.1.0",
17
+ "@angular/material": "^15.0.4",
18
18
  "@ngneat/content-loader": "^7.0.0",
19
19
  "intl-tel-input": "^17.0.16",
20
20
  "rxjs": "~7.5.0"
21
21
  },
22
22
  "dependencies": {
23
- "tslib": "^2.3.0"
23
+ "tslib": "^2.4.0"
24
24
  },
25
25
  "license": "ISC",
26
26
  "module": "fesm2015/bravura-ui.mjs",