@metadev/lux 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/fesm2022/metadev-lux.mjs +106 -101
  2. package/fesm2022/metadev-lux.mjs.map +1 -1
  3. package/lib/geolocation/geolocation.component.d.ts +1 -1
  4. package/lib/window/window.service.d.ts +3 -3
  5. package/package.json +3 -5
  6. package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -488
  7. package/esm2022/lib/autocomplete-list/autocomplete-list.component.mjs +0 -259
  8. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -78
  9. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -156
  10. package/esm2022/lib/datasource.mjs +0 -2
  11. package/esm2022/lib/datetime/datetime.component.mjs +0 -312
  12. package/esm2022/lib/filter/filter.component.mjs +0 -158
  13. package/esm2022/lib/geolocation/geolocation.component.mjs +0 -423
  14. package/esm2022/lib/geolocation/geolocation.service.mjs +0 -123
  15. package/esm2022/lib/geolocation/openlayer-loader.service.mjs +0 -62
  16. package/esm2022/lib/helperFns.mjs +0 -118
  17. package/esm2022/lib/input/input.component.mjs +0 -469
  18. package/esm2022/lib/input/regexp.service.mjs +0 -195
  19. package/esm2022/lib/lang.mjs +0 -9
  20. package/esm2022/lib/lux.module.mjs +0 -119
  21. package/esm2022/lib/map/geopoint.mjs +0 -2
  22. package/esm2022/lib/map/map.component.mjs +0 -275
  23. package/esm2022/lib/modal/modal-backdrop.mjs +0 -25
  24. package/esm2022/lib/modal/modal-config.mjs +0 -12
  25. package/esm2022/lib/modal/modal-dismiss-reasons.mjs +0 -6
  26. package/esm2022/lib/modal/modal-ref.mjs +0 -101
  27. package/esm2022/lib/modal/modal-stack.mjs +0 -182
  28. package/esm2022/lib/modal/modal-window.mjs +0 -125
  29. package/esm2022/lib/modal/modal.service.mjs +0 -28
  30. package/esm2022/lib/modal/util.mjs +0 -82
  31. package/esm2022/lib/pagination/pagination.component.mjs +0 -144
  32. package/esm2022/lib/pagination/pagination.mjs +0 -2
  33. package/esm2022/lib/radiogroup/radiogroup.component.mjs +0 -129
  34. package/esm2022/lib/select/select.component.mjs +0 -148
  35. package/esm2022/lib/tooltip/placement.mjs +0 -8
  36. package/esm2022/lib/tooltip/tooltip-context.mjs +0 -2
  37. package/esm2022/lib/tooltip/tooltip.component.mjs +0 -24
  38. package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -69
  39. package/esm2022/lib/tooltip/tooltip.service.mjs +0 -137
  40. package/esm2022/lib/tooltip/tooltop-content.mjs +0 -9
  41. package/esm2022/lib/voice-recognition/voice-recognition.directive.mjs +0 -79
  42. package/esm2022/lib/window/window.service.mjs +0 -46
  43. package/esm2022/metadev-lux.mjs +0 -5
  44. package/esm2022/public-api.mjs +0 -21
@@ -1,69 +0,0 @@
1
- import { HostListener, Input, Directive, ElementRef } from '@angular/core';
2
- import { TooltipService } from './tooltip.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./tooltip.service";
5
- /**
6
- * Tooltip directive
7
- */
8
- export class LuxTooltipDirective {
9
- elHost;
10
- tooltipService;
11
- /** Tooltip title */
12
- luxTooltip;
13
- /** Component, TemplateRef or String */
14
- content;
15
- /** Placement */
16
- placement;
17
- tooltipRef;
18
- constructor(elHost, tooltipService) {
19
- this.elHost = elHost;
20
- this.tooltipService = tooltipService;
21
- }
22
- onMouseEnter() {
23
- if (!this.tooltipRef) {
24
- this.tooltipRef = this.show(this.content, this.elHost, this.placement);
25
- }
26
- }
27
- onMouseLeave() {
28
- if (this.tooltipRef) {
29
- this.remove(this.tooltipRef);
30
- this.tooltipRef = null;
31
- }
32
- }
33
- onClick() {
34
- if (this.tooltipRef) {
35
- this.remove(this.tooltipRef);
36
- this.tooltipRef = null;
37
- }
38
- }
39
- show(component, elHost, placement) {
40
- return this.tooltipService.appendComponentToBody(component, elHost, placement);
41
- }
42
- remove(tooltipRef) {
43
- this.tooltipService.removeComponentFromBody(tooltipRef);
44
- }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LuxTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.TooltipService }], target: i0.ɵɵFactoryTarget.Directive });
46
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: LuxTooltipDirective, selector: "[luxTooltip]", inputs: { luxTooltip: "luxTooltip", content: "content", placement: "placement" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, ngImport: i0 });
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LuxTooltipDirective, decorators: [{
49
- type: Directive,
50
- args: [{
51
- selector: '[luxTooltip]'
52
- }]
53
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.TooltipService }], propDecorators: { luxTooltip: [{
54
- type: Input
55
- }], content: [{
56
- type: Input
57
- }], placement: [{
58
- type: Input
59
- }], onMouseEnter: [{
60
- type: HostListener,
61
- args: ['mouseenter']
62
- }], onMouseLeave: [{
63
- type: HostListener,
64
- args: ['mouseleave']
65
- }], onClick: [{
66
- type: HostListener,
67
- args: ['click']
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFJbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBYXBCO0lBQ0E7SUFiVixvQkFBb0I7SUFDWCxVQUFVLENBQU07SUFFekIsdUNBQXVDO0lBQzlCLE9BQU8sQ0FBTTtJQUV0QixnQkFBZ0I7SUFDUCxTQUFTLENBQWlCO0lBRW5DLFVBQVUsQ0FBb0I7SUFFOUIsWUFDVSxNQUFrQixFQUNsQixjQUE4QjtRQUQ5QixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRXdCLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUUyQixZQUFZO1FBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRXNCLE9BQU87UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQ0YsU0FBYyxFQUNkLE1BQWtCLEVBQ2xCLFNBQXlCO1FBRXpCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FDOUMsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBNkI7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO3VHQW5EVSxtQkFBbUI7MkZBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7NEdBR1UsVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFTc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQU1FLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFPSCxPQUFPO3NCQUE3QixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIb3N0TGlzdGVuZXIsIElucHV0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAuc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZW1lbnRWYWx1ZSB9IGZyb20gJy4vcGxhY2VtZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb250ZW50UmVmIH0gZnJvbSAnLi90b29sdG9wLWNvbnRlbnQnO1xuXG4vKipcbiAqIFRvb2x0aXAgZGlyZWN0aXZlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsdXhUb29sdGlwXSdcbn0pXG5leHBvcnQgY2xhc3MgTHV4VG9vbHRpcERpcmVjdGl2ZSB7XG4gIC8qKiBUb29sdGlwIHRpdGxlICovXG4gIEBJbnB1dCgpIGx1eFRvb2x0aXA6IGFueTtcblxuICAvKiogQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiBvciBTdHJpbmcgKi9cbiAgQElucHV0KCkgY29udGVudDogYW55O1xuXG4gIC8qKiBQbGFjZW1lbnQgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBQbGFjZW1lbnRWYWx1ZTtcblxuICB0b29sdGlwUmVmOiBUb29sdGlwQ29udGVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsSG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZVxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xuICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy5zaG93KHRoaXMuY29udGVudCwgdGhpcy5lbEhvc3QsIHRoaXMucGxhY2VtZW50KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIHRoaXMucmVtb3ZlKHRoaXMudG9vbHRpcFJlZik7XG4gICAgICB0aGlzLnRvb2x0aXBSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICB0aGlzLnJlbW92ZSh0aGlzLnRvb2x0aXBSZWYpO1xuICAgICAgdGhpcy50b29sdGlwUmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBzaG93KFxuICAgIGNvbXBvbmVudDogYW55LFxuICAgIGVsSG9zdDogRWxlbWVudFJlZixcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudFZhbHVlXG4gICk6IFRvb2x0aXBDb250ZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwU2VydmljZS5hcHBlbmRDb21wb25lbnRUb0JvZHkoXG4gICAgICBjb21wb25lbnQsXG4gICAgICBlbEhvc3QsXG4gICAgICBwbGFjZW1lbnRcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlKHRvb2x0aXBSZWY6IFRvb2x0aXBDb250ZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwU2VydmljZS5yZW1vdmVDb21wb25lbnRGcm9tQm9keSh0b29sdGlwUmVmKTtcbiAgfVxufVxuIl19
@@ -1,137 +0,0 @@
1
- import { Injectable, Injector, ComponentFactoryResolver, ApplicationRef, TemplateRef } from '@angular/core';
2
- import { Placement } from './placement';
3
- import { TooltipComponent } from './tooltip.component';
4
- import { TooltipContentRef } from './tooltop-content';
5
- import * as i0 from "@angular/core";
6
- export class TooltipService {
7
- _injector;
8
- _crf;
9
- _applicationRef;
10
- constructor(_injector, _crf, _applicationRef) {
11
- this._injector = _injector;
12
- this._crf = _crf;
13
- this._applicationRef = _applicationRef;
14
- }
15
- appendComponentToBody(content, elHost, placement) {
16
- const tooltipContentRef = this.getTooltipContentRef(content);
17
- if (tooltipContentRef) {
18
- let domElem = tooltipContentRef.viewRef
19
- .rootNodes[0];
20
- document.body.appendChild(domElem);
21
- if (tooltipContentRef.componentRef) {
22
- tooltipContentRef.componentRef.changeDetectorRef.detectChanges();
23
- }
24
- domElem = this.setStyle(domElem, placement);
25
- domElem = this.setPosition(domElem, elHost, placement);
26
- return tooltipContentRef;
27
- }
28
- return null;
29
- }
30
- removeComponentFromBody(tooltipContentRef) {
31
- this._applicationRef.detachView(tooltipContentRef.viewRef);
32
- if (tooltipContentRef.componentRef) {
33
- tooltipContentRef.componentRef.destroy();
34
- }
35
- }
36
- getTooltipContentRef(content) {
37
- if (!content) {
38
- // nothing to show
39
- }
40
- else if (content instanceof TemplateRef) {
41
- return this.createFromTemplateRef(content);
42
- }
43
- else if (typeof content === 'string') {
44
- return this.createFromComponent(TooltipComponent, { message: content });
45
- }
46
- else {
47
- return this.createFromComponent(content);
48
- }
49
- }
50
- createFromTemplateRef(content) {
51
- const viewRef = content.createEmbeddedView({});
52
- this._applicationRef.attachView(viewRef);
53
- return new TooltipContentRef(viewRef);
54
- }
55
- createFromComponent(component, context) {
56
- const componentRef = this._crf
57
- .resolveComponentFactory(component)
58
- .create(this._injector);
59
- if (context) {
60
- componentRef.instance.context = context;
61
- }
62
- this._applicationRef.attachView(componentRef.hostView);
63
- return new TooltipContentRef(componentRef.hostView, componentRef);
64
- }
65
- setStyle(domElem, placement) {
66
- domElem.style.position = 'absolute';
67
- domElem.style.minWidth = 'min-content';
68
- domElem.style.minHeight = 'min-content';
69
- const tooltipElement = this.getTooltipElementFromHTMLElemnt(domElem);
70
- placement =
71
- placement !== undefined
72
- ? placement.toLocaleLowerCase()
73
- : 'top'; // 'Top' is the default value of placement
74
- tooltipElement.classList.add(`lux-tooltip-${placement}`);
75
- tooltipElement.classList.add('lux-tooltip-show');
76
- return domElem;
77
- }
78
- getTooltipElementFromHTMLElemnt(domElem) {
79
- const elementsArray = Array.from(domElem.classList).filter((className) => className === 'lux-tooltip');
80
- if (elementsArray.length !== 0) {
81
- return domElem;
82
- }
83
- else if (domElem.hasChildNodes()) {
84
- const childrenArray = Array.from(domElem.children).filter((child) => this.getTooltipElementFromHTMLElemnt(child) !== null);
85
- if (childrenArray.length !== 0) {
86
- return this.getTooltipElementFromHTMLElemnt(childrenArray[0]);
87
- }
88
- else {
89
- return null;
90
- }
91
- }
92
- else {
93
- return null;
94
- }
95
- }
96
- setPosition(domElem, elHost, placement) {
97
- const hostPos = elHost.nativeElement.getBoundingClientRect();
98
- const tooltipPos = domElem.getBoundingClientRect();
99
- const scrollPos = window.pageYOffset ||
100
- document.documentElement.scrollTop ||
101
- document.body.scrollTop ||
102
- 0;
103
- let top = 0;
104
- let left = 0;
105
- const offset = 10;
106
- switch (placement) {
107
- case Placement.Bottom:
108
- top = hostPos.bottom + offset;
109
- left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
110
- break;
111
- case Placement.Left:
112
- top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
113
- left = hostPos.left - tooltipPos.width - offset;
114
- break;
115
- case Placement.Right:
116
- top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
117
- left = hostPos.right + offset;
118
- break;
119
- case Placement.Top:
120
- default:
121
- top = hostPos.top - tooltipPos.height - offset;
122
- left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
123
- break;
124
- }
125
- top = Math.max(0, top);
126
- left = Math.max(0, left);
127
- domElem.style.top = `${top + scrollPos}px`;
128
- domElem.style.left = `${left}px`;
129
- return domElem;
130
- }
131
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TooltipService, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
132
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TooltipService });
133
- }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TooltipService, decorators: [{
135
- type: Injectable
136
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBRVIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFHZCxXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR3RELE1BQU0sT0FBTyxjQUFjO0lBRWY7SUFDQTtJQUNBO0lBSFYsWUFDVSxTQUFtQixFQUNuQixJQUE4QixFQUM5QixlQUErQjtRQUYvQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQTBCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtJQUN0QyxDQUFDO0lBRUoscUJBQXFCLENBQ25CLE9BQVksRUFDWixNQUFrQixFQUNsQixTQUF5QjtRQUV6QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsSUFBSSxPQUFPLEdBQUksaUJBQWlCLENBQUMsT0FBZ0M7aUJBQzlELFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxJQUFJLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkUsQ0FB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VixDQUFDO1FBQ0QsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxTQUFTLElBQUksQ0FBQztRQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBQ2pDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7dUdBbEpVLGNBQWM7MkdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBDb21wb25lbnRSZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQXBwbGljYXRpb25SZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRWxlbWVudFJlZixcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBsYWNlbWVudFZhbHVlLCBQbGFjZW1lbnQgfSBmcm9tICcuL3BsYWNlbWVudCc7XG5pbXBvcnQgeyBMdXhUb29sdGlwQ29udGV4dCB9IGZyb20gJy4vdG9vbHRpcC1jb250ZXh0JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb250ZW50UmVmIH0gZnJvbSAnLi90b29sdG9wLWNvbnRlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfY3JmOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBfYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmXG4gICkge31cblxuICBhcHBlbmRDb21wb25lbnRUb0JvZHkoXG4gICAgY29udGVudDogYW55LFxuICAgIGVsSG9zdDogRWxlbWVudFJlZixcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudFZhbHVlXG4gICk6IFRvb2x0aXBDb250ZW50UmVmIHtcbiAgICBjb25zdCB0b29sdGlwQ29udGVudFJlZiA9IHRoaXMuZ2V0VG9vbHRpcENvbnRlbnRSZWYoY29udGVudCk7XG4gICAgaWYgKHRvb2x0aXBDb250ZW50UmVmKSB7XG4gICAgICBsZXQgZG9tRWxlbSA9ICh0b29sdGlwQ29udGVudFJlZi52aWV3UmVmIGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KVxuICAgICAgICAucm9vdE5vZGVzWzBdO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgIGlmICh0b29sdGlwQ29udGVudFJlZi5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgdG9vbHRpcENvbnRlbnRSZWYuY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIGRvbUVsZW0gPSB0aGlzLnNldFN0eWxlKGRvbUVsZW0sIHBsYWNlbWVudCk7XG4gICAgICBkb21FbGVtID0gdGhpcy5zZXRQb3NpdGlvbihkb21FbGVtLCBlbEhvc3QsIHBsYWNlbWVudCk7XG4gICAgICByZXR1cm4gdG9vbHRpcENvbnRlbnRSZWY7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVtb3ZlQ29tcG9uZW50RnJvbUJvZHkodG9vbHRpcENvbnRlbnRSZWY6IFRvb2x0aXBDb250ZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwbGljYXRpb25SZWYuZGV0YWNoVmlldyh0b29sdGlwQ29udGVudFJlZi52aWV3UmVmKTtcbiAgICBpZiAodG9vbHRpcENvbnRlbnRSZWYuY29tcG9uZW50UmVmKSB7XG4gICAgICB0b29sdGlwQ29udGVudFJlZi5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9vbHRpcENvbnRlbnRSZWYoY29udGVudDogYW55KTogVG9vbHRpcENvbnRlbnRSZWYge1xuICAgIGlmICghY29udGVudCkge1xuICAgICAgLy8gbm90aGluZyB0byBzaG93XG4gICAgfSBlbHNlIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZyb21UZW1wbGF0ZVJlZihjb250ZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbUNvbXBvbmVudChUb29sdGlwQ29tcG9uZW50LCB7IG1lc3NhZ2U6IGNvbnRlbnQgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZyb21Db21wb25lbnQoY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGcm9tVGVtcGxhdGVSZWYoY29udGVudDogVGVtcGxhdGVSZWY8YW55Pik6IFRvb2x0aXBDb250ZW50UmVmIHtcbiAgICBjb25zdCB2aWV3UmVmID0gY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcoe30pO1xuICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcodmlld1JlZik7XG4gICAgcmV0dXJuIG5ldyBUb29sdGlwQ29udGVudFJlZih2aWV3UmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnJvbUNvbXBvbmVudChcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb250ZXh0PzogTHV4VG9vbHRpcENvbnRleHRcbiAgKTogVG9vbHRpcENvbnRlbnRSZWYge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSB0aGlzLl9jcmZcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpXG4gICAgICAuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIH1cbiAgICB0aGlzLl9hcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgcmV0dXJuIG5ldyBUb29sdGlwQ29udGVudFJlZihjb21wb25lbnRSZWYuaG9zdFZpZXcsIGNvbXBvbmVudFJlZik7XG4gIH1cblxuICBwcml2YXRlIHNldFN0eWxlKFxuICAgIGRvbUVsZW06IEhUTUxFbGVtZW50LFxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50VmFsdWVcbiAgKTogSFRNTEVsZW1lbnQge1xuICAgIGRvbUVsZW0uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGRvbUVsZW0uc3R5bGUubWluV2lkdGggPSAnbWluLWNvbnRlbnQnO1xuICAgIGRvbUVsZW0uc3R5bGUubWluSGVpZ2h0ID0gJ21pbi1jb250ZW50JztcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMuZ2V0VG9vbHRpcEVsZW1lbnRGcm9tSFRNTEVsZW1udChkb21FbGVtKTtcbiAgICBwbGFjZW1lbnQgPVxuICAgICAgcGxhY2VtZW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyAocGxhY2VtZW50LnRvTG9jYWxlTG93ZXJDYXNlKCkgYXMgUGxhY2VtZW50VmFsdWUpXG4gICAgICAgIDogJ3RvcCc7IC8vICdUb3AnIGlzIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHBsYWNlbWVudFxuICAgIHRvb2x0aXBFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGx1eC10b29sdGlwLSR7cGxhY2VtZW50fWApO1xuICAgIHRvb2x0aXBFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2x1eC10b29sdGlwLXNob3cnKTtcbiAgICByZXR1cm4gZG9tRWxlbTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9vbHRpcEVsZW1lbnRGcm9tSFRNTEVsZW1udChkb21FbGVtOiBIVE1MRWxlbWVudCk6IGFueSB7XG4gICAgY29uc3QgZWxlbWVudHNBcnJheSA9IEFycmF5LmZyb20oZG9tRWxlbS5jbGFzc0xpc3QpLmZpbHRlcihcbiAgICAgIChjbGFzc05hbWUpID0+IGNsYXNzTmFtZSA9PT0gJ2x1eC10b29sdGlwJ1xuICAgICk7XG4gICAgaWYgKGVsZW1lbnRzQXJyYXkubGVuZ3RoICE9PSAwKSB7XG4gICAgICByZXR1cm4gZG9tRWxlbTtcbiAgICB9IGVsc2UgaWYgKGRvbUVsZW0uaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbkFycmF5ID0gQXJyYXkuZnJvbShkb21FbGVtLmNoaWxkcmVuKS5maWx0ZXIoXG4gICAgICAgIChjaGlsZCkgPT5cbiAgICAgICAgICB0aGlzLmdldFRvb2x0aXBFbGVtZW50RnJvbUhUTUxFbGVtbnQoY2hpbGQgYXMgSFRNTEVsZW1lbnQpICE9PSBudWxsXG4gICAgICApO1xuICAgICAgaWYgKGNoaWxkcmVuQXJyYXkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRvb2x0aXBFbGVtZW50RnJvbUhUTUxFbGVtbnQoXG4gICAgICAgICAgY2hpbGRyZW5BcnJheVswXSBhcyBIVE1MRWxlbWVudFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oXG4gICAgZG9tRWxlbTogSFRNTEVsZW1lbnQsXG4gICAgZWxIb3N0OiBFbGVtZW50UmVmLFxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50VmFsdWVcbiAgKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGhvc3RQb3MgPSBlbEhvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0b29sdGlwUG9zID0gZG9tRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzY3JvbGxQb3MgPVxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fFxuICAgICAgMDtcbiAgICBsZXQgdG9wID0gMDtcbiAgICBsZXQgbGVmdCA9IDA7XG4gICAgY29uc3Qgb2Zmc2V0ID0gMTA7XG5cbiAgICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgICAgY2FzZSBQbGFjZW1lbnQuQm90dG9tOlxuICAgICAgICB0b3AgPSBob3N0UG9zLmJvdHRvbSArIG9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGxhY2VtZW50LkxlZnQ6XG4gICAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtIHRvb2x0aXBQb3Mud2lkdGggLSBvZmZzZXQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQbGFjZW1lbnQuUmlnaHQ6XG4gICAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MucmlnaHQgKyBvZmZzZXQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQbGFjZW1lbnQuVG9wOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodCAtIG9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdG9wID0gTWF0aC5tYXgoMCwgdG9wKTtcbiAgICBsZWZ0ID0gTWF0aC5tYXgoMCwgbGVmdCk7XG4gICAgZG9tRWxlbS5zdHlsZS50b3AgPSBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgO1xuICAgIGRvbUVsZW0uc3R5bGUubGVmdCA9IGAke2xlZnR9cHhgO1xuICAgIHJldHVybiBkb21FbGVtO1xuICB9XG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- export class TooltipContentRef {
2
- viewRef;
3
- componentRef;
4
- constructor(viewRef, componentRef) {
5
- this.viewRef = viewRef;
6
- this.componentRef = componentRef;
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRvcC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvdG9vbHRpcC90b29sdG9wLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUNQO0lBQTBCO0lBQTdDLFlBQW1CLE9BQWlCLEVBQVMsWUFBZ0M7UUFBMUQsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFTLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUFHLENBQUM7Q0FDcEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3UmVmLCBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb250ZW50UmVmIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld1JlZj86IFZpZXdSZWYsIHB1YmxpYyBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8YW55Pikge31cbn1cbiJdfQ==
@@ -1,79 +0,0 @@
1
- import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class VoiceRecognitionDirective {
4
- el;
5
- renderer;
6
- language;
7
- // See API at: https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition
8
- recognition;
9
- isRecognizing = false;
10
- mic;
11
- constructor(el, renderer) {
12
- this.el = el;
13
- this.renderer = renderer;
14
- const speechRecognition = window.webkitSpeechRecognition;
15
- if (speechRecognition) {
16
- this.recognition = new speechRecognition();
17
- }
18
- }
19
- ngOnInit() {
20
- if (this.recognition) {
21
- // API is available
22
- this.recognition.lang = this.language || window.navigator.language;
23
- this.recognition.interimResults = false;
24
- this.recognition.maxAlternatives = 1;
25
- // Add mic icon
26
- this.mic = document.createElement('div');
27
- this.mic.setAttribute('class', 'lux-microphone');
28
- const parent = this.el.nativeElement.parentElement;
29
- parent.appendChild(this.mic);
30
- // Add event handlers
31
- this.mic.onclick = () => this.microphoneClick();
32
- this.recognition.onresult = (event) => this.onRecognized(event);
33
- }
34
- }
35
- microphoneClick() {
36
- if (this.isRecognizing) {
37
- // stop
38
- this.isRecognizing = false;
39
- this.renderer.removeClass(this.mic, 'lux-recording');
40
- this.recognition.abort();
41
- }
42
- else {
43
- // start
44
- this.el.nativeElement.value = getRecordingMessage(this.language);
45
- this.isRecognizing = true;
46
- this.renderer.addClass(this.mic, 'lux-recording');
47
- this.recognition.start();
48
- }
49
- }
50
- onRecognized(event) {
51
- const recognizedText = event.results[0][0].transcript;
52
- this.isRecognizing = false;
53
- this.el.nativeElement.value = recognizedText;
54
- this.renderer.removeClass(this.mic, 'lux-recording');
55
- }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: VoiceRecognitionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
57
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: VoiceRecognitionDirective, selector: "[luxVoiceRecognition]", inputs: { language: "language" }, ngImport: i0 });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: VoiceRecognitionDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- selector: '[luxVoiceRecognition]'
63
- }]
64
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { language: [{
65
- type: Input
66
- }] } });
67
- const getRecordingMessage = (lang) => {
68
- switch (lang.toLowerCase()) {
69
- case 'es':
70
- case 'es-es':
71
- return 'Grabando...';
72
- case 'en':
73
- case 'en-uk':
74
- case 'en-us':
75
- default:
76
- return 'Recording...';
77
- }
78
- };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9pY2UtcmVjb2duaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvdm9pY2UtcmVjb2duaXRpb24vdm9pY2UtcmVjb2duaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2hGLE1BQU0sT0FBTyx5QkFBeUI7SUFPaEI7SUFBd0I7SUFObkMsUUFBUSxDQUFTO0lBQzFCLGlGQUFpRjtJQUN6RSxXQUFXLENBQU07SUFDakIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixHQUFHLENBQU07SUFFakIsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQzdELE1BQU0saUJBQWlCLEdBQUksTUFBYyxDQUFDLHVCQUF1QixDQUFDO1FBQ2xFLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixtQkFBbUI7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLGVBQWU7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFFakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdCLHFCQUFxQjtZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsT0FBTztZQUNQLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVE7WUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDO3VHQXJEVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzt1R0FFVSxRQUFRO3NCQUFoQixLQUFLOztBQXVEUixNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBWSxFQUFVLEVBQUU7SUFDbkQsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssT0FBTztZQUNWLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLE9BQU8sQ0FBQztRQUNiO1lBQ0UsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsdXhWb2ljZVJlY29nbml0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgVm9pY2VSZWNvZ25pdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxhbmd1YWdlOiBzdHJpbmc7XG4gIC8vIFNlZSBBUEkgYXQ6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TcGVlY2hSZWNvZ25pdGlvblxuICBwcml2YXRlIHJlY29nbml0aW9uOiBhbnk7XG4gIHByaXZhdGUgaXNSZWNvZ25pemluZyA9IGZhbHNlO1xuICBwcml2YXRlIG1pYzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIGNvbnN0IHNwZWVjaFJlY29nbml0aW9uID0gKHdpbmRvdyBhcyBhbnkpLndlYmtpdFNwZWVjaFJlY29nbml0aW9uO1xuICAgIGlmIChzcGVlY2hSZWNvZ25pdGlvbikge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbiA9IG5ldyBzcGVlY2hSZWNvZ25pdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlY29nbml0aW9uKSB7XG4gICAgICAvLyBBUEkgaXMgYXZhaWxhYmxlXG4gICAgICB0aGlzLnJlY29nbml0aW9uLmxhbmcgPSB0aGlzLmxhbmd1YWdlIHx8IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2U7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gZmFsc2U7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm1heEFsdGVybmF0aXZlcyA9IDE7XG5cbiAgICAgIC8vIEFkZCBtaWMgaWNvblxuICAgICAgdGhpcy5taWMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMubWljLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnbHV4LW1pY3JvcGhvbmUnKTtcblxuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5taWMpO1xuXG4gICAgICAvLyBBZGQgZXZlbnQgaGFuZGxlcnNcbiAgICAgIHRoaXMubWljLm9uY2xpY2sgPSAoKTogdm9pZCA9PiB0aGlzLm1pY3JvcGhvbmVDbGljaygpO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbnJlc3VsdCA9IChldmVudCk6IHZvaWQgPT4gdGhpcy5vblJlY29nbml6ZWQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG1pY3JvcGhvbmVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1JlY29nbml6aW5nKSB7XG4gICAgICAvLyBzdG9wXG4gICAgICB0aGlzLmlzUmVjb2duaXppbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5taWMsICdsdXgtcmVjb3JkaW5nJyk7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLmFib3J0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHN0YXJ0XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBnZXRSZWNvcmRpbmdNZXNzYWdlKHRoaXMubGFuZ3VhZ2UpO1xuICAgICAgdGhpcy5pc1JlY29nbml6aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5taWMsICdsdXgtcmVjb3JkaW5nJyk7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLnN0YXJ0KCk7XG4gICAgfVxuICB9XG4gIG9uUmVjb2duaXplZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgcmVjb2duaXplZFRleHQgPSBldmVudC5yZXN1bHRzWzBdWzBdLnRyYW5zY3JpcHQ7XG4gICAgdGhpcy5pc1JlY29nbml6aW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gcmVjb2duaXplZFRleHQ7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm1pYywgJ2x1eC1yZWNvcmRpbmcnKTtcbiAgfVxufVxuXG5jb25zdCBnZXRSZWNvcmRpbmdNZXNzYWdlID0gKGxhbmc6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHN3aXRjaCAobGFuZy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAnZXMnOlxuICAgIGNhc2UgJ2VzLWVzJzpcbiAgICAgIHJldHVybiAnR3JhYmFuZG8uLi4nO1xuICAgIGNhc2UgJ2VuJzpcbiAgICBjYXNlICdlbi11ayc6XG4gICAgY2FzZSAnZW4tdXMnOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ1JlY29yZGluZy4uLic7XG4gIH1cbn07XG4iXX0=
@@ -1,46 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { InjectionToken, PLATFORM_ID } from '@angular/core';
3
- /* Create a new injection token for injecting the window into a component. */
4
- export const WINDOW = new InjectionToken('WindowToken');
5
- /* Define abstract class for obtaining reference to the global window object. */
6
- export class WindowRef {
7
- // eslint-disable-next-line @typescript-eslint/ban-types
8
- get nativeWindow() {
9
- throw new Error('Not implemented.');
10
- }
11
- }
12
- /* Define class that implements the abstract class and returns the native window object. */
13
- export class BrowserWindowRef extends WindowRef {
14
- constructor() {
15
- super();
16
- }
17
- // eslint-disable-next-line @typescript-eslint/ban-types
18
- get nativeWindow() {
19
- return window;
20
- }
21
- }
22
- /* Create an factory function that returns the native window object. */
23
- // eslint-disable-next-line @typescript-eslint/ban-types
24
- export const windowFactory = (browserWindowRef, platformId) => {
25
- if (isPlatformBrowser(platformId)) {
26
- return browserWindowRef.nativeWindow;
27
- }
28
- return new Object();
29
- };
30
- /* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */
31
- const browserWindowProvider = {
32
- provide: WindowRef,
33
- useClass: BrowserWindowRef
34
- };
35
- /* Create an injectable provider that uses the windowFactory function for returning the native window object. */
36
- const windowProvider = {
37
- provide: WINDOW,
38
- useFactory: windowFactory,
39
- deps: [WindowRef, PLATFORM_ID]
40
- };
41
- /* Create an array of providers. */
42
- export const WINDOW_PROVIDERS = [
43
- browserWindowProvider,
44
- windowProvider
45
- ];
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi93aW5kb3cvd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFrQyxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFeEQsZ0ZBQWdGO0FBQ2hGLE1BQU0sT0FBZ0IsU0FBUztJQUU3Qix3REFBd0Q7SUFDeEQsSUFBSSxZQUFZO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FFRjtBQUVELDJGQUEyRjtBQUMzRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQUU3QztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxJQUFJLFlBQVk7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBRUY7QUFFRCx1RUFBdUU7QUFDdkUsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLGdCQUFrQyxFQUFFLFVBQWtCLEVBQW1CLEVBQUU7SUFDdkcsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksTUFBTSxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsZ0dBQWdHO0FBQ2hHLE1BQU0scUJBQXFCLEdBQWtCO0lBQzNDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDM0IsQ0FBQztBQUVGLGdIQUFnSDtBQUNoSCxNQUFNLGNBQWMsR0FBb0I7SUFDdEMsT0FBTyxFQUFFLE1BQU07SUFDZixVQUFVLEVBQUUsYUFBYTtJQUN6QixJQUFJLEVBQUUsQ0FBRSxTQUFTLEVBQUUsV0FBVyxDQUFFO0NBQ2pDLENBQUM7QUFFRixtQ0FBbUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIscUJBQXFCO0lBQ3JCLGNBQWM7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzUHJvdmlkZXIsIEZhY3RvcnlQcm92aWRlciwgSW5qZWN0aW9uVG9rZW4sIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qIENyZWF0ZSBhIG5ldyBpbmplY3Rpb24gdG9rZW4gZm9yIGluamVjdGluZyB0aGUgd2luZG93IGludG8gYSBjb21wb25lbnQuICovXG5leHBvcnQgY29uc3QgV0lORE9XID0gbmV3IEluamVjdGlvblRva2VuKCdXaW5kb3dUb2tlbicpO1xuXG4vKiBEZWZpbmUgYWJzdHJhY3QgY2xhc3MgZm9yIG9idGFpbmluZyByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCB3aW5kb3cgb2JqZWN0LiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdpbmRvd1JlZiB7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgZ2V0IG5hdGl2ZVdpbmRvdygpOiBXaW5kb3cgfCBPYmplY3Qge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbn1cblxuLyogRGVmaW5lIGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGUgYWJzdHJhY3QgY2xhc3MgYW5kIHJldHVybnMgdGhlIG5hdGl2ZSB3aW5kb3cgb2JqZWN0LiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJXaW5kb3dSZWYgZXh0ZW5kcyBXaW5kb3dSZWYge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBnZXQgbmF0aXZlV2luZG93KCk6IFdpbmRvdyB8IE9iamVjdCB7XG4gICAgcmV0dXJuIHdpbmRvdztcbiAgfVxuXG59XG5cbi8qIENyZWF0ZSBhbiBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmF0aXZlIHdpbmRvdyBvYmplY3QuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuZXhwb3J0IGNvbnN0IHdpbmRvd0ZhY3RvcnkgPSAoYnJvd3NlcldpbmRvd1JlZjogQnJvd3NlcldpbmRvd1JlZiwgcGxhdGZvcm1JZDogT2JqZWN0KTogV2luZG93IHwgT2JqZWN0ID0+IHtcbiAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSB7XG4gICAgcmV0dXJuIGJyb3dzZXJXaW5kb3dSZWYubmF0aXZlV2luZG93O1xuICB9XG4gIHJldHVybiBuZXcgT2JqZWN0KCk7XG59O1xuXG4vKiBDcmVhdGUgYSBpbmplY3RhYmxlIHByb3ZpZGVyIGZvciB0aGUgV2luZG93UmVmIHRva2VuIHRoYXQgdXNlcyB0aGUgQnJvd3NlcldpbmRvd1JlZiBjbGFzcy4gKi9cbmNvbnN0IGJyb3dzZXJXaW5kb3dQcm92aWRlcjogQ2xhc3NQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogV2luZG93UmVmLFxuICB1c2VDbGFzczogQnJvd3NlcldpbmRvd1JlZlxufTtcblxuLyogQ3JlYXRlIGFuIGluamVjdGFibGUgcHJvdmlkZXIgdGhhdCB1c2VzIHRoZSB3aW5kb3dGYWN0b3J5IGZ1bmN0aW9uIGZvciByZXR1cm5pbmcgdGhlIG5hdGl2ZSB3aW5kb3cgb2JqZWN0LiAqL1xuY29uc3Qgd2luZG93UHJvdmlkZXI6IEZhY3RvcnlQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogV0lORE9XLFxuICB1c2VGYWN0b3J5OiB3aW5kb3dGYWN0b3J5LFxuICBkZXBzOiBbIFdpbmRvd1JlZiwgUExBVEZPUk1fSUQgXVxufTtcblxuLyogQ3JlYXRlIGFuIGFycmF5IG9mIHByb3ZpZGVycy4gKi9cbmV4cG9ydCBjb25zdCBXSU5ET1dfUFJPVklERVJTID0gW1xuICBicm93c2VyV2luZG93UHJvdmlkZXIsXG4gIHdpbmRvd1Byb3ZpZGVyXG5dO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRldi1sdXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL21ldGFkZXYtbHV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,21 +0,0 @@
1
- /*
2
- * Public API Surface of lux
3
- */
4
- export { AutocompleteListComponent } from './lib/autocomplete-list/autocomplete-list.component';
5
- export { AutocompleteComponent } from './lib/autocomplete/autocomplete.component';
6
- export { LuxBreadcrumbComponent } from './lib/breadcrumb/breadcrumb.component';
7
- export { CheckboxComponent } from './lib/checkbox/checkbox.component';
8
- export { DatetimeComponent } from './lib/datetime/datetime.component';
9
- export { FilterComponent } from './lib/filter/filter.component';
10
- export { GeolocationComponent } from './lib/geolocation/geolocation.component';
11
- export { InputComponent } from './lib/input/input.component';
12
- export { LuxModule } from './lib/lux.module';
13
- export { MapComponent } from './lib/map/map.component';
14
- export { ModalRef } from './lib/modal/modal-ref';
15
- export { ModalService } from './lib/modal/modal.service';
16
- export { PaginationComponent } from './lib/pagination/pagination.component';
17
- export { RadiogroupComponent } from './lib/radiogroup/radiogroup.component';
18
- export { SelectComponent } from './lib/select/select.component';
19
- export { LuxTooltipDirective } from './lib/tooltip/tooltip.directive';
20
- export { VoiceRecognitionDirective } from './lib/voice-recognition/voice-recognition.directive';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFFTCxzQkFBc0IsRUFDdkIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU90RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsbUJBQW1CLEVBRXBCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBsdXhcbiAqL1xuXG5leHBvcnQgeyBBdXRvY29tcGxldGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLWxpc3QvYXV0b2NvbXBsZXRlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7XG4gIEJyZWFkY3J1bWJJdGVtLFxuICBMdXhCcmVhZGNydW1iQ29tcG9uZW50XG59IGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgRGF0YVNvdXJjZSxcbiAgRGF0YVNvdXJjZUl0ZW0sXG4gIERlY29yYXRlZERhdGFTb3VyY2UsXG4gIERlY29yYXRlZERhdGFTb3VyY2VJdGVtXG59IGZyb20gJy4vbGliL2RhdGFzb3VyY2UnO1xuZXhwb3J0IHsgRGF0ZXRpbWVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kYXRldGltZS9kYXRldGltZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgR2VvbG9jYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9nZW9sb2NhdGlvbi9nZW9sb2NhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0IHsgTHV4TW9kdWxlIH0gZnJvbSAnLi9saWIvbHV4Lm1vZHVsZSc7XG5leHBvcnQgeyBNYXBDb21wb25lbnQgfSBmcm9tICcuL2xpYi9tYXAvbWFwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4vbGliL21vZGFsL21vZGFsLXJlZic7XG5leHBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcbmV4cG9ydCB7IFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7XG4gIFJhZGlvZ3JvdXBDb21wb25lbnQsXG4gIFJhZGlvSXRlbVxufSBmcm9tICcuL2xpYi9yYWRpb2dyb3VwL3JhZGlvZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7IEx1eFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFZvaWNlUmVjb2duaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2xpYi92b2ljZS1yZWNvZ25pdGlvbi92b2ljZS1yZWNvZ25pdGlvbi5kaXJlY3RpdmUnO1xuIl19