@metadev/lux 0.18.0 → 0.19.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 (100) hide show
  1. package/esm2020/lib/autocomplete/autocomplete.component.mjs +479 -0
  2. package/esm2020/lib/autocomplete-list/autocomplete-list.component.mjs +254 -0
  3. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +75 -0
  4. package/esm2020/lib/checkbox/checkbox.component.mjs +154 -0
  5. package/{esm2015/lib/datasource.js → esm2020/lib/datasource.mjs} +0 -0
  6. package/esm2020/lib/datetime/datetime.component.mjs +306 -0
  7. package/esm2020/lib/filter/filter.component.mjs +152 -0
  8. package/esm2020/lib/geolocation/geolocation.component.mjs +407 -0
  9. package/{esm2015/lib/geolocation/geolocation.service.js → esm2020/lib/geolocation/geolocation.service.mjs} +7 -11
  10. package/esm2020/lib/geolocation/openlayer-loader.service.mjs +62 -0
  11. package/{esm2015/lib/helperFns.js → esm2020/lib/helperFns.mjs} +0 -0
  12. package/esm2020/lib/input/input.component.mjs +452 -0
  13. package/{esm2015/lib/input/regexp.service.js → esm2020/lib/input/regexp.service.mjs} +7 -6
  14. package/{esm2015/lib/lang.js → esm2020/lib/lang.mjs} +0 -0
  15. package/esm2020/lib/lux.module.mjs +130 -0
  16. package/{esm2015/lib/map/geopoint.js → esm2020/lib/map/geopoint.mjs} +0 -0
  17. package/esm2020/lib/map/map.component.mjs +265 -0
  18. package/esm2020/lib/modal/modal-backdrop.mjs +26 -0
  19. package/esm2020/lib/modal/modal-config.mjs +14 -0
  20. package/{esm2015/lib/modal/modal-dismiss-reasons.js → esm2020/lib/modal/modal-dismiss-reasons.mjs} +0 -0
  21. package/{esm2015/lib/modal/modal-ref.js → esm2020/lib/modal/modal-ref.mjs} +0 -0
  22. package/esm2020/lib/modal/modal-stack.mjs +179 -0
  23. package/esm2020/lib/modal/modal-window.mjs +119 -0
  24. package/esm2020/lib/modal/modal.service.mjs +26 -0
  25. package/{esm2015/lib/modal/util.js → esm2020/lib/modal/util.mjs} +0 -0
  26. package/esm2020/lib/pagination/pagination.component.mjs +137 -0
  27. package/{esm2015/lib/pagination/pagination.js → esm2020/lib/pagination/pagination.mjs} +0 -0
  28. package/esm2020/lib/radiogroup/radiogroup.component.mjs +130 -0
  29. package/esm2020/lib/select/select.component.mjs +149 -0
  30. package/{esm2015/lib/tooltip/placement.js → esm2020/lib/tooltip/placement.mjs} +0 -0
  31. package/{esm2015/lib/tooltip/tooltip-context.js → esm2020/lib/tooltip/tooltip-context.mjs} +0 -0
  32. package/esm2020/lib/tooltip/tooltip.component.mjs +23 -0
  33. package/esm2020/lib/tooltip/tooltip.directive.mjs +60 -0
  34. package/{esm2015/lib/tooltip/tooltip.service.js → esm2020/lib/tooltip/tooltip.service.mjs} +7 -9
  35. package/{esm2015/lib/tooltip/tooltop-content.js → esm2020/lib/tooltip/tooltop-content.mjs} +0 -0
  36. package/esm2020/lib/voice-recognition/voice-recognition.directive.mjs +73 -0
  37. package/{esm2015/lib/window/window.service.js → esm2020/lib/window/window.service.mjs} +0 -0
  38. package/esm2020/metadev-lux.mjs +5 -0
  39. package/esm2020/public-api.mjs +21 -0
  40. package/fesm2015/metadev-lux.mjs +4345 -0
  41. package/fesm2015/metadev-lux.mjs.map +1 -0
  42. package/fesm2020/metadev-lux.mjs +4343 -0
  43. package/fesm2020/metadev-lux.mjs.map +1 -0
  44. package/lib/autocomplete/autocomplete.component.d.ts +3 -0
  45. package/lib/autocomplete-list/autocomplete-list.component.d.ts +3 -0
  46. package/lib/breadcrumb/breadcrumb.component.d.ts +3 -0
  47. package/lib/checkbox/checkbox.component.d.ts +3 -0
  48. package/lib/datetime/datetime.component.d.ts +4 -0
  49. package/lib/filter/filter.component.d.ts +3 -0
  50. package/lib/geolocation/geolocation.component.d.ts +4 -0
  51. package/lib/geolocation/geolocation.service.d.ts +3 -0
  52. package/lib/geolocation/openlayer-loader.service.d.ts +3 -0
  53. package/lib/input/input.component.d.ts +3 -0
  54. package/lib/input/regexp.service.d.ts +3 -0
  55. package/lib/lux.module.d.ts +26 -0
  56. package/lib/map/map.component.d.ts +3 -0
  57. package/lib/modal/modal-backdrop.d.ts +3 -0
  58. package/lib/modal/modal-config.d.ts +3 -0
  59. package/lib/modal/modal-stack.d.ts +3 -0
  60. package/lib/modal/modal-window.d.ts +3 -0
  61. package/lib/modal/modal.service.d.ts +3 -0
  62. package/lib/pagination/pagination.component.d.ts +3 -0
  63. package/lib/radiogroup/radiogroup.component.d.ts +3 -0
  64. package/lib/select/select.component.d.ts +3 -0
  65. package/lib/tooltip/tooltip.component.d.ts +3 -0
  66. package/lib/tooltip/tooltip.directive.d.ts +3 -0
  67. package/lib/tooltip/tooltip.service.d.ts +3 -0
  68. package/lib/voice-recognition/voice-recognition.directive.d.ts +3 -0
  69. package/metadev-lux.d.ts +1 -16
  70. package/package.json +20 -8
  71. package/public-api.d.ts +12 -7
  72. package/bundles/metadev-lux.umd.js +0 -4715
  73. package/bundles/metadev-lux.umd.js.map +0 -1
  74. package/esm2015/lib/autocomplete/autocomplete.component.js +0 -455
  75. package/esm2015/lib/autocomplete-list/autocomplete-list.component.js +0 -230
  76. package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -77
  77. package/esm2015/lib/checkbox/checkbox.component.js +0 -142
  78. package/esm2015/lib/datetime/datetime.component.js +0 -275
  79. package/esm2015/lib/filter/filter.component.js +0 -140
  80. package/esm2015/lib/geolocation/geolocation.component.js +0 -371
  81. package/esm2015/lib/geolocation/openlayer-loader.service.js +0 -63
  82. package/esm2015/lib/input/input.component.js +0 -419
  83. package/esm2015/lib/lux.module.js +0 -83
  84. package/esm2015/lib/map/map.component.js +0 -261
  85. package/esm2015/lib/modal/modal-backdrop.js +0 -19
  86. package/esm2015/lib/modal/modal-config.js +0 -12
  87. package/esm2015/lib/modal/modal-stack.js +0 -182
  88. package/esm2015/lib/modal/modal-window.js +0 -92
  89. package/esm2015/lib/modal/modal.service.js +0 -28
  90. package/esm2015/lib/pagination/pagination.component.js +0 -134
  91. package/esm2015/lib/radiogroup/radiogroup.component.js +0 -114
  92. package/esm2015/lib/select/select.component.js +0 -131
  93. package/esm2015/lib/tooltip/tooltip.component.js +0 -19
  94. package/esm2015/lib/tooltip/tooltip.directive.js +0 -52
  95. package/esm2015/lib/voice-recognition/voice-recognition.directive.js +0 -76
  96. package/esm2015/metadev-lux.js +0 -21
  97. package/esm2015/public-api.js +0 -16
  98. package/fesm2015/metadev-lux.js +0 -4089
  99. package/fesm2015/metadev-lux.js.map +0 -1
  100. package/metadev-lux.metadata.json +0 -1
@@ -1,92 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Component, ElementRef, EventEmitter, Inject, Input, Output, HostBinding, HostListener } from '@angular/core';
3
- import { getFocusableBoundaryElements, FOCUS } from './util';
4
- import { ModalDismissReasons } from './modal-dismiss-reasons';
5
- export class LuxModalWindowComponent {
6
- constructor(_document, _elRef) {
7
- this._document = _document;
8
- this._elRef = _elRef;
9
- this.backdrop = false;
10
- this.keyboard = true;
11
- this.dismissEvent = new EventEmitter();
12
- this.role = 'dialog';
13
- this.tabindex = '-1';
14
- this.ariamodal = true;
15
- }
16
- get class() {
17
- return `modal ${this.windowClass || ''}`;
18
- }
19
- get hostAriaLabelledBy() {
20
- return this.ariaLabelledBy;
21
- }
22
- get hostAriaDescribedBy() {
23
- return this.ariaDescribedBy;
24
- }
25
- backdropClick(btn) {
26
- if (this.backdrop === true && this._elRef.nativeElement === btn) {
27
- this.dismiss(ModalDismissReasons.BackdropClick);
28
- }
29
- }
30
- escKey(event) {
31
- if (this.keyboard && !event.defaultPrevented) {
32
- this.dismiss(ModalDismissReasons.Esc);
33
- }
34
- }
35
- dismiss(reason) {
36
- this.dismissEvent.emit(reason);
37
- }
38
- ngOnInit() {
39
- this._elWithFocus = this._document.activeElement;
40
- }
41
- ngAfterViewInit() {
42
- if (!this._elRef.nativeElement.contains(document.activeElement)) {
43
- const firstFocusable = getFocusableBoundaryElements(this._elRef.nativeElement)[0];
44
- const elementToFocus = firstFocusable || this._elRef.nativeElement;
45
- elementToFocus.focus();
46
- }
47
- }
48
- ngOnDestroy() {
49
- const body = this._document.body;
50
- const elWithFocus = this._elWithFocus;
51
- let elementToFocus;
52
- if (elWithFocus && elWithFocus[FOCUS] && body.contains(elWithFocus)) {
53
- elementToFocus = elWithFocus;
54
- }
55
- else {
56
- elementToFocus = body;
57
- }
58
- elementToFocus.focus();
59
- this._elWithFocus = null;
60
- }
61
- }
62
- LuxModalWindowComponent.decorators = [
63
- { type: Component, args: [{
64
- selector: 'lux-modal-window',
65
- template: `
66
- <div class="modal-dialog" role="document">
67
- <div class="modal-content"><ng-content></ng-content></div>
68
- </div>
69
- `
70
- },] }
71
- ];
72
- LuxModalWindowComponent.ctorParameters = () => [
73
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
74
- { type: ElementRef }
75
- ];
76
- LuxModalWindowComponent.propDecorators = {
77
- ariaDescribedBy: [{ type: Input }],
78
- ariaLabelledBy: [{ type: Input }],
79
- backdrop: [{ type: Input }],
80
- keyboard: [{ type: Input }],
81
- windowClass: [{ type: Input }],
82
- dismissEvent: [{ type: Output }],
83
- class: [{ type: HostBinding, args: ['class',] }],
84
- role: [{ type: HostBinding, args: ['attr.role',] }],
85
- tabindex: [{ type: HostBinding, args: ['tabindex',] }],
86
- ariamodal: [{ type: HostBinding, args: ['attr.aria-modal',] }],
87
- hostAriaLabelledBy: [{ type: HostBinding, args: ['attr.aria-labelledby',] }],
88
- hostAriaDescribedBy: [{ type: HostBinding, args: ['attr.aria-describedby',] }],
89
- backdropClick: [{ type: HostListener, args: ['click', ['$event.target'],] }],
90
- escKey: [{ type: HostListener, args: ['keyup.esc', ['$event'],] }]
91
- };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtd2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvbW9kYWwvbW9kYWwtd2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBVTlELE1BQU0sT0FBTyx1QkFBdUI7SUFzQ2xDLFlBQzRCLFNBQWMsRUFDaEMsTUFBK0I7UUFEYixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBakNoQyxhQUFRLEdBQXFCLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS2xCLFNBQUksR0FBRyxRQUFRLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNULGNBQVMsR0FBRyxJQUFJLENBQUM7SUF1QjlDLENBQUM7SUE1QkosSUFBMEIsS0FBSztRQUM3QixPQUFPLFNBQVMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBSUQsSUFBeUMsa0JBQWtCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBMEMsbUJBQW1CO1FBQzNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ3lDLGFBQWEsQ0FDckQsR0FBZ0I7UUFFaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsS0FBSyxHQUFHLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFDc0MsTUFBTSxDQUFDLEtBQUs7UUFDakQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBT0QsT0FBTyxDQUFDLE1BQU07UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDbkQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMvRCxNQUFNLGNBQWMsR0FBRyw0QkFBNEIsQ0FDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFTCxNQUFNLGNBQWMsR0FBRyxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDbkUsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXRDLElBQUksY0FBYyxDQUFDO1FBQ25CLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ25FLGNBQWMsR0FBRyxXQUFXLENBQUM7U0FDOUI7YUFBTTtZQUNMLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDdkI7UUFDRCxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7O1lBbEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7R0FJVDthQUNGOzs7NENBd0NJLE1BQU0sU0FBQyxRQUFRO1lBN0RsQixVQUFVOzs7OEJBMkJULEtBQUs7NkJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFFTCxNQUFNO29CQUVOLFdBQVcsU0FBQyxPQUFPO21CQUduQixXQUFXLFNBQUMsV0FBVzt1QkFDdkIsV0FBVyxTQUFDLFVBQVU7d0JBQ3RCLFdBQVcsU0FBQyxpQkFBaUI7aUNBQzdCLFdBQVcsU0FBQyxzQkFBc0I7a0NBR2xDLFdBQVcsU0FBQyx1QkFBdUI7NEJBR25DLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7cUJBT3ZDLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlQm91bmRhcnlFbGVtZW50cywgRk9DVVMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgTW9kYWxEaXNtaXNzUmVhc29ucyB9IGZyb20gJy4vbW9kYWwtZGlzbWlzcy1yZWFzb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHV4LW1vZGFsLXdpbmRvdycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiIHJvbGU9XCJkb2N1bWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTHV4TW9kYWxXaW5kb3dDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9lbFdpdGhGb2N1czogRWxlbWVudDsgLy8gZWxlbWVudCB0aGF0IGlzIGZvY3VzZWQgcHJpb3IgdG8gbW9kYWwgb3BlbmluZ1xuXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRCeTogc3RyaW5nO1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBrZXlib2FyZCA9IHRydWU7XG4gIEBJbnB1dCgpIHdpbmRvd0NsYXNzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGRpc21pc3NFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBtb2RhbCAke3RoaXMud2luZG93Q2xhc3MgfHwgJyd9YDtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnZGlhbG9nJztcbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHRhYmluZGV4ID0gJy0xJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhbW9kYWwgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbGxlZGJ5JykgZ2V0IGhvc3RBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbGxlZEJ5O1xuICB9XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZ2V0IGhvc3RBcmlhRGVzY3JpYmVkQnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcmlhRGVzY3JpYmVkQnk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSkgYmFja2Ryb3BDbGljayhcbiAgICBidG46IEhUTUxFbGVtZW50XG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wID09PSB0cnVlICYmIHRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQgPT09IGJ0bikge1xuICAgICAgdGhpcy5kaXNtaXNzKE1vZGFsRGlzbWlzc1JlYXNvbnMuQmFja2Ryb3BDbGljayk7XG4gICAgfVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwLmVzYycsIFsnJGV2ZW50J10pIGVzY0tleShldmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmtleWJvYXJkICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICB0aGlzLmRpc21pc3MoTW9kYWxEaXNtaXNzUmVhc29ucy5Fc2MpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfZWxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBkaXNtaXNzKHJlYXNvbik6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzc0V2ZW50LmVtaXQocmVhc29uKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2VsV2l0aEZvY3VzID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2VsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZ2V0Rm9jdXNhYmxlQm91bmRhcnlFbGVtZW50cyhcbiAgICAgICAgdGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudFxuICAgICAgKVswXTtcblxuICAgICAgY29uc3QgZWxlbWVudFRvRm9jdXMgPSBmaXJzdEZvY3VzYWJsZSB8fCB0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgZWxlbWVudFRvRm9jdXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBjb25zdCBib2R5ID0gdGhpcy5fZG9jdW1lbnQuYm9keTtcbiAgICBjb25zdCBlbFdpdGhGb2N1cyA9IHRoaXMuX2VsV2l0aEZvY3VzO1xuXG4gICAgbGV0IGVsZW1lbnRUb0ZvY3VzO1xuICAgIGlmIChlbFdpdGhGb2N1cyAmJiBlbFdpdGhGb2N1c1tGT0NVU10gJiYgYm9keS5jb250YWlucyhlbFdpdGhGb2N1cykpIHtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzID0gZWxXaXRoRm9jdXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzID0gYm9keTtcbiAgICB9XG4gICAgZWxlbWVudFRvRm9jdXMuZm9jdXMoKTtcbiAgICB0aGlzLl9lbFdpdGhGb2N1cyA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { Injectable, ComponentFactoryResolver, } from '@angular/core';
2
- import { ModalStack } from './modal-stack';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./modal-stack";
5
- /**
6
- * A service that it allow open an close modal components
7
- */
8
- export class ModalService {
9
- constructor(modalStack, moduleCFR) {
10
- this.modalStack = modalStack;
11
- this.moduleCFR = moduleCFR;
12
- }
13
- /**Open a modal component
14
- * @param content TemplateRef
15
- */
16
- open(content, options = {}) {
17
- return this.modalStack.open(this.moduleCFR, content, options);
18
- }
19
- }
20
- ModalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalService_Factory() { return new ModalService(i0.ɵɵinject(i1.ModalStack), i0.ɵɵinject(i0.ComponentFactoryResolver)); }, token: ModalService, providedIn: "root" });
21
- ModalService.decorators = [
22
- { type: Injectable, args: [{ providedIn: 'root' },] }
23
- ];
24
- ModalService.ctorParameters = () => [
25
- { type: ModalStack },
26
- { type: ComponentFactoryResolver }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxVQUFzQixFQUN0QixTQUFtQztRQURuQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQTBCO0lBQzFDLENBQUM7SUFFSjs7T0FFRztJQUNILElBQUksQ0FBQyxPQUF5QixFQUFFLFVBQTJCLEVBQUU7UUFDM0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs7O1lBWkYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7O1lBUHpCLFVBQVU7WUFIakIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbFN0YWNrIH0gZnJvbSAnLi9tb2RhbC1zdGFjayc7XG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4vbW9kYWwtcmVmJztcbmltcG9ydCB7IEx1eE1vZGFsT3B0aW9ucyB9IGZyb20gJy4vbW9kYWwtY29uZmlnJztcblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBpdCBhbGxvdyBvcGVuIGFuIGNsb3NlIG1vZGFsIGNvbXBvbmVudHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsU3RhY2s6IE1vZGFsU3RhY2ssXG4gICAgcHJpdmF0ZSBtb2R1bGVDRlI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHt9XG5cbiAgLyoqT3BlbiBhIG1vZGFsIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gY29udGVudCBUZW1wbGF0ZVJlZlxuICAgKi9cbiAgb3Blbihjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBvcHRpb25zOiBMdXhNb2RhbE9wdGlvbnMgPSB7fSk6IE1vZGFsUmVmIHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbFN0YWNrLm9wZW4odGhpcy5tb2R1bGVDRlIsIGNvbnRlbnQsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -1,134 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { languageDetector } from '../lang';
3
- export class PaginationComponent {
4
- constructor() {
5
- this.literals = {
6
- en: {
7
- first: 'First',
8
- previous: 'Previous',
9
- next: 'Next',
10
- last: 'Last'
11
- },
12
- es: {
13
- first: 'Primero',
14
- previous: 'Anterior',
15
- next: 'Siguiente',
16
- last: 'Último'
17
- }
18
- };
19
- this.showPagination = false;
20
- this.hidePrevious = false;
21
- this.lastPage = false;
22
- this.totalPages = 0;
23
- this.displayNextEllipsis = false;
24
- this.displayPreviousEllipsis = false;
25
- this.pages = [];
26
- this.goToPage = new EventEmitter();
27
- this.pageSizeChange = new EventEmitter();
28
- this.lang = languageDetector();
29
- }
30
- set lang(l) {
31
- if (l === this._lang) {
32
- return;
33
- }
34
- if (Object.keys(this.literals).includes(l)) {
35
- this._lang = l;
36
- }
37
- else {
38
- this._lang = 'en';
39
- }
40
- this.loadLanguage();
41
- }
42
- get lang() {
43
- return this._lang;
44
- }
45
- set paginationInfo(value) {
46
- this.paginationInfoValue = value;
47
- this.syncState();
48
- }
49
- get paginationInfo() {
50
- return this.paginationInfoValue;
51
- }
52
- ngOnInit() {
53
- this.calculatePages();
54
- }
55
- pageSizeChanged(pageSize) {
56
- this.paginationInfo.pageSize = pageSize;
57
- this.syncState();
58
- this.pageSizeChange.emit(pageSize);
59
- }
60
- onPage(n) {
61
- this.goToPage.emit(n);
62
- }
63
- onFirst() {
64
- this.goToPage.emit(0);
65
- }
66
- onLast() {
67
- this.goToPage.emit(this.totalPages - 1);
68
- }
69
- onNext() {
70
- const page = (this.paginationInfo.page || 0) + 1;
71
- this.goToPage.emit(page);
72
- }
73
- onPrevious() {
74
- const page = (this.paginationInfo.page || 0) - 1;
75
- this.goToPage.emit(page);
76
- }
77
- syncState() {
78
- this.pages = this.calculatePages();
79
- this.showPagination =
80
- this.paginationInfo.total > this.paginationInfo.pageSize;
81
- this.hidePrevious = this.paginationInfo.page === 0;
82
- this.lastPage =
83
- this.paginationInfo.pageSize * (this.paginationInfo.page + 1) >=
84
- this.paginationInfo.total;
85
- this.totalPages =
86
- Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) || 0;
87
- this.displayNextEllipsis = !this.pages.includes(this.totalPages - 1);
88
- this.displayPreviousEllipsis = !this.pages.includes(0);
89
- }
90
- calculatePages() {
91
- const totalPages = Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) - 1; // 0-index
92
- const p = this.paginationInfo.page || 0;
93
- const pagesToShow = this.paginationInfo.pagesToShow;
94
- const pages = [];
95
- pages.push(p);
96
- const times = pagesToShow - 1;
97
- for (let i = 0; i < times; i++) {
98
- if (pages.length < pagesToShow) {
99
- if (Math.min(...pages) > 0) {
100
- pages.unshift(Math.min(...pages) - 1);
101
- }
102
- }
103
- if (pages.length < pagesToShow) {
104
- if (Math.max(...pages) < totalPages) {
105
- pages.push(Math.max(...pages) + 1);
106
- }
107
- }
108
- }
109
- pages.sort((a, b) => a - b);
110
- return pages;
111
- }
112
- loadLanguage() {
113
- const l = this.literals[this.lang];
114
- this.first = l.first;
115
- this.previous = l.previous;
116
- this.next = l.next;
117
- this.last = l.last;
118
- }
119
- }
120
- PaginationComponent.decorators = [
121
- { type: Component, args: [{
122
- selector: 'lux-pagination',
123
- template: "<div class=\"lux-pagination\" *ngIf=\"showPagination\">\n <ng-container *ngIf=\"!hidePrevious\">\n <a\n luxTooltip\n [content]=\"first\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onFirst()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left-end\"\n ></a>\n <a\n luxTooltip\n [content]=\"previous\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onPrevious()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left\"\n ></a>\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayPreviousEllipsis\">...</span>\n\n <ng-container *ngFor=\"let pageNum of pages\">\n <a\n placement=\"top\"\n delay=\"500\"\n [ngClass]=\"{\n disabled: pageNum === paginationInfo.page,\n enabled: pageNum !== paginationInfo.page\n }\"\n class=\"button-pagination\"\n (click)=\"onPage(pageNum)\"\n >{{ pageNum + 1 }}</a\n >\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayNextEllipsis\">...</span>\n\n <ng-container *ngIf=\"!lastPage\">\n <a\n luxTooltip\n [content]=\"next\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onNext()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right\"\n ></a>\n <a\n luxTooltip\n [content]=\"last\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onLast()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right-end\"\n ></a>\n </ng-container>\n</div>\n",
124
- styles: [":focus{z-index:1}input,select,textarea{border:1px solid #495057;border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:0;margin:var(--lux-input-margin, 0rem);padding:0 .5rem;padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:#fe2e2e;background:var(--lux-alert-background, #fe2e2e);color:#fff;color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0 .5rem;margin-bottom:0;font-weight:400;color:default;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:default;background:var(--lux-symbol-background, default);font-size:1rem;font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:1px solid #495057;border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:.25rem;border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.lux-pagination{display:flex;flex-direction:row;margin:2% 0;width:100%;background:white;align-items:center}.disabled{cursor:not-allowed;border:1px solid #325c81;border:var(--lux-pagination-disabled-border, 1px solid #325c81);border-radius:10%;border-radius:var(--lux-pagination-disabled-border-radius, 10%);padding:1%;margin:0 .7%;color:#fff;color:var(--lux-pagination-disabled-color, white);background-color:#325c81;background-color:var(--lux-pagination-disabled-background-color, #325c81);text-decoration:none;pointer-events:none}.enabled{border:1px solid #cfcfcf;border:var(--lux-pagination-enabled-border, 1px solid #cfcfcf);border-radius:10%;border-radius:var(--lux-pagination-enabled-border-radius, 10%);padding:1%;margin:0 .7%;color:#325c81;color:var(--lux-pagination-enabled-color, #325c81);width:-webkit-min-content;width:-moz-min-content;width:min-content;cursor:pointer}.enabledFirstLast{border:1px solid #cfcfcf;border-radius:10%;padding:1%;color:#325c81;margin:0 .7%;width:-webkit-min-content;width:-moz-min-content;width:min-content;cursor:pointer}.ellipsis{margin:0 .5rem;padding:0;color:#325c81;width:-webkit-min-content;width:-moz-min-content;width:min-content}.button-pagination{width:1em;width:var(--lux-pagination-button-width, 1em);height:1.2em;height:var(--lux-pagination-button-height, 1.2em);font-size:80%;font-size:var(--lux-pagination-font-size, 80%);text-align:center}.icon{background-size:1.3em 1.4em;background-position:center;background-repeat:no-repeat}.arrow-right{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2268%22 height%3D%2248%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cg%3E %3Ctitle%3Ebackground%3C%2Ftitle%3E %3Crect fill%3D%22none%22 id%3D%22canvas_background%22 height%3D%22402%22 width%3D%221082%22 y%3D%22-1%22 x%3D%22-1%22%2F%3E %3C%2Fg%3E %3Cg%3E %3Ctitle%3ELayer 1%3C%2Ftitle%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_2%22 points%3D%2221.8%2C45.7 10.4%2C44.3 30.8%2C24 10.4%2C3.7 21.8%2C2.3 43.5%2C24 %22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position:.4em}.arrow-left{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2268%22 height%3D%2248%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cg%3E %3Ctitle%3Ebackground%3C%2Ftitle%3E %3Crect fill%3D%22none%22 id%3D%22canvas_background%22 height%3D%22402%22 width%3D%221082%22 y%3D%22-1%22 x%3D%22-1%22%2F%3E %3C%2Fg%3E %3Cg%3E %3Ctitle%3ELayer 1%3C%2Ftitle%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_2%22 points%3D%2221.8%2C45.7 10.4%2C44.3 30.8%2C24 10.4%2C3.7 21.8%2C2.3 43.5%2C24 %22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");transform:rotate(180deg);background-position:.4em}.arrow-right-end{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2268%22 height%3D%2248%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cg%3E %3Ctitle%3Ebackground%3C%2Ftitle%3E %3Crect fill%3D%22none%22 id%3D%22canvas_background%22 height%3D%22402%22 width%3D%221082%22 y%3D%22-1%22 x%3D%22-1%22%2F%3E %3C%2Fg%3E %3Cg%3E %3Ctitle%3ELayer 1%3C%2Ftitle%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_2%22 points%3D%2221.8%2C45.7 10.4%2C44.3 30.8%2C24 10.4%2C3.7 21.8%2C2.3 43.5%2C24 %22%2F%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_3%22 points%3D%2241.8%2C45.7 30.4%2C44.3 50.8%2C24 30.4%2C3.7 41.8%2C2.3 63.5%2C24 %22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position:.1em}.arrow-left-end{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2268%22 height%3D%2248%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cg%3E %3Ctitle%3Ebackground%3C%2Ftitle%3E %3Crect fill%3D%22none%22 id%3D%22canvas_background%22 height%3D%22402%22 width%3D%221082%22 y%3D%22-1%22 x%3D%22-1%22%2F%3E %3C%2Fg%3E %3Cg%3E %3Ctitle%3ELayer 1%3C%2Ftitle%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_2%22 points%3D%2221.8%2C45.7 10.4%2C44.3 30.8%2C24 10.4%2C3.7 21.8%2C2.3 43.5%2C24 %22%2F%3E %3Cpolygon fill%3D%22%23325C81%22 id%3D%22svg_3%22 points%3D%2241.8%2C45.7 30.4%2C44.3 50.8%2C24 30.4%2C3.7 41.8%2C2.3 63.5%2C24 %22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position:.1em;transform:rotate(180deg)}@media only screen and (min-width: 300px) and (max-width: 500px){.arrow-right{background-position:.2em}.arrow-left{background-position:.2em}.arrow-right-end{background-position:0em}.arrow-left-end{background-position:0em}}@media only screen and (min-width: 500px) and (max-width: 850px){.arrow-right{background-position:.3em}.arrow-left{background-position:.3em}.arrow-right-end{background-position:0em}.arrow-left-end{background-position:0em}}@media only screen and (min-width: 900px){.arrow-right{background-position:.2em}.arrow-left{background-position:.2em}.arrow-right-end{background-position:0em}.arrow-left-end{background-position:0em}}\n"]
125
- },] }
126
- ];
127
- PaginationComponent.ctorParameters = () => [];
128
- PaginationComponent.propDecorators = {
129
- goToPage: [{ type: Output }],
130
- pageSizeChange: [{ type: Output }],
131
- lang: [{ type: Input }],
132
- paginationInfo: [{ type: Input }]
133
- };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBUTNDLE1BQU0sT0FBTyxtQkFBbUI7SUE4RDlCO1FBN0RBLGFBQVEsR0FBRztZQUNULEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsT0FBTztnQkFDZCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsU0FBUztnQkFDaEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0YsQ0FBQztRQU9LLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFFaEMsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUVsQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFnQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBM0JELElBQ0ksSUFBSSxDQUFDLENBQVM7UUFDaEIsSUFB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QyxDQUFDO2lCQUNwQzthQUNGO1NBQ0Y7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7OztZQWxKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsb3VEQUEwQzs7YUFFM0M7Ozs7dUJBK0JFLE1BQU07NkJBQ04sTUFBTTttQkFNTixLQUFLOzZCQWdCTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsYW5ndWFnZURldGVjdG9yIH0gZnJvbSAnLi4vbGFuZyc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25JbmZvIH0gZnJvbSAnLi9wYWdpbmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHV4LXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxpdGVyYWxzID0ge1xyXG4gICAgZW46IHtcclxuICAgICAgZmlyc3Q6ICdGaXJzdCcsXHJcbiAgICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxyXG4gICAgICBuZXh0OiAnTmV4dCcsXHJcbiAgICAgIGxhc3Q6ICdMYXN0J1xyXG4gICAgfSxcclxuICAgIGVzOiB7XHJcbiAgICAgIGZpcnN0OiAnUHJpbWVybycsXHJcbiAgICAgIHByZXZpb3VzOiAnQW50ZXJpb3InLFxyXG4gICAgICBuZXh0OiAnU2lndWllbnRlJyxcclxuICAgICAgbGFzdDogJ8OabHRpbW8nXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGZpcnN0OiBzdHJpbmc7XHJcbiAgcHVibGljIHByZXZpb3VzOiBzdHJpbmc7XHJcbiAgcHVibGljIG5leHQ6IHN0cmluZztcclxuICBwdWJsaWMgbGFzdDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc2hvd1BhZ2luYXRpb24gPSBmYWxzZTtcclxuICBwdWJsaWMgaGlkZVByZXZpb3VzID0gZmFsc2U7XHJcbiAgcHVibGljIGxhc3RQYWdlID0gZmFsc2U7XHJcbiAgcHVibGljIHRvdGFsUGFnZXMgPSAwO1xyXG4gIHB1YmxpYyBkaXNwbGF5TmV4dEVsbGlwc2lzID0gZmFsc2U7XHJcbiAgcHVibGljIGRpc3BsYXlQcmV2aW91c0VsbGlwc2lzID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBwYWdlczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGdvVG9QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIC8qKiBDdXJyZW50IHBhZ2UsIHRvdGFsIGl0ZW1zIGFuZCBpdGVtcyB0byBzaG93IHBlciBwYWdlICovXHJcbiAgcHJpdmF0ZSBwYWdpbmF0aW9uSW5mb1ZhbHVlOiBQYWdpbmF0aW9uSW5mbztcclxuXHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxhbmcobDogc3RyaW5nKSB7XHJcbiAgICBpZiAobCA9PT0gdGhpcy5fbGFuZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5saXRlcmFscykuaW5jbHVkZXMobCkpIHtcclxuICAgICAgdGhpcy5fbGFuZyA9IGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9sYW5nID0gJ2VuJztcclxuICAgIH1cclxuICAgIHRoaXMubG9hZExhbmd1YWdlKCk7XHJcbiAgfVxyXG4gIGdldCBsYW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHBhZ2luYXRpb25JbmZvKHZhbHVlOiBQYWdpbmF0aW9uSW5mbykge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uSW5mb1ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnN5bmNTdGF0ZSgpO1xyXG4gIH1cclxuICBnZXQgcGFnaW5hdGlvbkluZm8oKTogUGFnaW5hdGlvbkluZm8ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbkluZm9WYWx1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5sYW5nID0gbGFuZ3VhZ2VEZXRlY3RvcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwYWdlU2l6ZUNoYW5nZWQocGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5zeW5jU3RhdGUoKTtcclxuICAgIHRoaXMucGFnZVNpemVDaGFuZ2UuZW1pdChwYWdlU2l6ZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2UobjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQobik7XHJcbiAgfVxyXG5cclxuICBvbkZpcnN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KDApO1xyXG4gIH1cclxuXHJcbiAgb25MYXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KHRoaXMudG90YWxQYWdlcyAtIDEpO1xyXG4gIH1cclxuICBvbk5leHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYWdlID0gKHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwKSArIDE7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG4gIG9uUHJldmlvdXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYWdlID0gKHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwKSAtIDE7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN5bmNTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZXMgPSB0aGlzLmNhbGN1bGF0ZVBhZ2VzKCk7XHJcblxyXG4gICAgdGhpcy5zaG93UGFnaW5hdGlvbiA9XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvbkluZm8udG90YWwgPiB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplO1xyXG4gICAgdGhpcy5oaWRlUHJldmlvdXMgPSB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2UgPT09IDA7XHJcbiAgICB0aGlzLmxhc3RQYWdlID1cclxuICAgICAgdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlU2l6ZSAqICh0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2UgKyAxKSA+PVxyXG4gICAgICB0aGlzLnBhZ2luYXRpb25JbmZvLnRvdGFsO1xyXG4gICAgdGhpcy50b3RhbFBhZ2VzID1cclxuICAgICAgTWF0aC5jZWlsKHRoaXMucGFnaW5hdGlvbkluZm8udG90YWwgLyB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplKSB8fCAwO1xyXG4gICAgdGhpcy5kaXNwbGF5TmV4dEVsbGlwc2lzID0gIXRoaXMucGFnZXMuaW5jbHVkZXModGhpcy50b3RhbFBhZ2VzIC0gMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlQcmV2aW91c0VsbGlwc2lzID0gIXRoaXMucGFnZXMuaW5jbHVkZXMoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VzKCk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IHRvdGFsUGFnZXMgPVxyXG4gICAgICBNYXRoLmNlaWwodGhpcy5wYWdpbmF0aW9uSW5mby50b3RhbCAvIHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZVNpemUpIC0gMTsgLy8gMC1pbmRleFxyXG4gICAgY29uc3QgcCA9IHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwO1xyXG4gICAgY29uc3QgcGFnZXNUb1Nob3cgPSB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VzVG9TaG93O1xyXG4gICAgY29uc3QgcGFnZXM6IG51bWJlcltdID0gW107XHJcbiAgICBwYWdlcy5wdXNoKHApO1xyXG4gICAgY29uc3QgdGltZXMgPSBwYWdlc1RvU2hvdyAtIDE7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVzOyBpKyspIHtcclxuICAgICAgaWYgKHBhZ2VzLmxlbmd0aCA8IHBhZ2VzVG9TaG93KSB7XHJcbiAgICAgICAgaWYgKE1hdGgubWluKC4uLnBhZ2VzKSA+IDApIHtcclxuICAgICAgICAgIHBhZ2VzLnVuc2hpZnQoTWF0aC5taW4oLi4ucGFnZXMpIC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwYWdlcy5sZW5ndGggPCBwYWdlc1RvU2hvdykge1xyXG4gICAgICAgIGlmIChNYXRoLm1heCguLi5wYWdlcykgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgICAgICBwYWdlcy5wdXNoKE1hdGgubWF4KC4uLnBhZ2VzKSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcGFnZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xyXG4gICAgcmV0dXJuIHBhZ2VzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTGFuZ3VhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsID0gdGhpcy5saXRlcmFsc1t0aGlzLmxhbmddO1xyXG4gICAgdGhpcy5maXJzdCA9IGwuZmlyc3Q7XHJcbiAgICB0aGlzLnByZXZpb3VzID0gbC5wcmV2aW91cztcclxuICAgIHRoaXMubmV4dCA9IGwubmV4dDtcclxuICAgIHRoaXMubGFzdCA9IGwubGFzdDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,114 +0,0 @@
1
- import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { isInitialAndEmpty } from '../helperFns';
4
- export class RadiogroupComponent {
5
- constructor() {
6
- this.touched = false;
7
- this.name = 'radiogroup1';
8
- this.disabled = false;
9
- this.readonly = false;
10
- this.required = false;
11
- this.itemsChange = new EventEmitter();
12
- this.valueChange = new EventEmitter();
13
- this._value = undefined;
14
- this._items = [];
15
- // ControlValueAccessor Interface
16
- this.onChange = (value) => { };
17
- this.onTouched = () => { };
18
- }
19
- set items(col) {
20
- this._items = (col || []).map((it, index) => this.ensureHasUniqueName(it, index));
21
- this.itemsChange.emit(col);
22
- }
23
- get items() {
24
- return this._items;
25
- }
26
- set value(v) {
27
- if (v === this._value) {
28
- return;
29
- }
30
- const initialAndEmpty = isInitialAndEmpty(this._value, v);
31
- this._value = v;
32
- this.onChange(v);
33
- if (!initialAndEmpty) {
34
- this.valueChange.emit(v);
35
- }
36
- }
37
- get value() {
38
- return this._value;
39
- }
40
- writeValue(value) {
41
- this.value = value;
42
- }
43
- registerOnChange(onChange) {
44
- this.onChange = onChange;
45
- }
46
- registerOnTouched(onTouched) {
47
- this.onTouched = onTouched;
48
- }
49
- markAsTouched() {
50
- if (!this.touched) {
51
- this.onTouched();
52
- this.touched = true;
53
- }
54
- }
55
- setDisabledState(disabled) {
56
- this.disabled = disabled;
57
- }
58
- // End ControlValueAccessor Interface
59
- // Validator interface
60
- registerOnValidatorChange() { }
61
- validate(control) {
62
- const value = control.value;
63
- if (this.required &&
64
- (value === '' || value === null || value === undefined)) {
65
- return { required: { value, reason: 'Required field.' } };
66
- }
67
- return null;
68
- }
69
- // End of Validator interface
70
- setValue(event, item) {
71
- if (!this.disabled && !this.readonly) {
72
- this.value = item.value;
73
- this.markAsTouched();
74
- }
75
- event.preventDefault();
76
- }
77
- ensureHasUniqueName(item, index) {
78
- if (!item.name) {
79
- item.name = `${this.name}_${index}`;
80
- }
81
- return item;
82
- }
83
- }
84
- RadiogroupComponent.decorators = [
85
- { type: Component, args: [{
86
- selector: 'lux-radiogroup',
87
- template: "<div class=\"radiogroup\"\n [class.disabled]=\"disabled || readonly\"\n >\n <ng-container *ngFor=\"let item of items; let first=first; let last=last\">\n <div [class.radio-start]=\"first\"\n [class.radio-end]=\"last\"\n class=\"radio-item\"\n [class.selected]=\"item.value === value\"\n (click)=\"setValue($event, item)\"\n >\n <input [id]=\"item.name\"\n type=\"radio\"\n [name]=\"name\"\n [attr.disabled]=\"disabled || null\"\n [attr.readonly]=\"readonly || null\"\n [value]=\"item.value\">\n <label [for]=\"item.name\"\n class=\"unselectable\"\n >{{ item.label }}</label>\n </div>\n</ng-container>\n</div>\n",
88
- providers: [
89
- {
90
- provide: NG_VALUE_ACCESSOR,
91
- multi: true,
92
- useExisting: forwardRef(() => RadiogroupComponent)
93
- },
94
- {
95
- provide: NG_VALIDATORS,
96
- multi: true,
97
- useExisting: forwardRef(() => RadiogroupComponent)
98
- }
99
- ],
100
- styles: [":focus{z-index:1}input,select,textarea{border:1px solid #495057;border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:0;margin:var(--lux-input-margin, 0rem);padding:0 .5rem;padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:#fe2e2e;background:var(--lux-alert-background, #fe2e2e);color:#fff;color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0 .5rem;margin-bottom:0;font-weight:400;color:default;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:default;background:var(--lux-symbol-background, default);font-size:1rem;font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:1px solid #495057;border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:.25rem;border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.radiogroup{display:flex}.radio-item{border-radius:0;border:1px solid #ccc;padding:0 .5rem;padding:var(--lux-radiogroup-padding, 0rem .5rem)}.radio-item input{display:none}.radio-item label{color:initial;color:var(--lux-radiogroup-color, initial);font-size:initial;font-size:var(--lux-radiogroup-font-size, initial);margin-top:.3rem;margin-bottom:.3rem}.radio-item.selected{background-color:#2e2eac;background-color:var(--lux-radiogroup-selected-background-color, #2e2eac)}.radio-item.selected label{font-size:initial;font-size:var(--lux-radiogroup-font-size, initial);color:#fff;color:var(--lux-radiogroup-selected-color, white)}.radio-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.radio-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.disabled .radio-item{background-color:#f0f0f0;color:#444}.disabled .selected{font-size:initial;font-size:var(--lux-radiogroup-selected-disabled-font-size, initial);color:#fff;color:var(--lux-radiogroup-selected-disabled-color, white);background-color:#9898ec;background-color:var(--lux-radiogroup-selected-disabled-background-color, #9898ec)}.unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}\n"]
101
- },] }
102
- ];
103
- RadiogroupComponent.ctorParameters = () => [];
104
- RadiogroupComponent.propDecorators = {
105
- name: [{ type: Input }],
106
- disabled: [{ type: Input }],
107
- readonly: [{ type: Input }],
108
- required: [{ type: Input }],
109
- items: [{ type: Input }],
110
- itemsChange: [{ type: Output }],
111
- value: [{ type: Input }],
112
- valueChange: [{ type: Output }]
113
- };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9yYWRpb2dyb3VwL3JhZGlvZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBeUJqRCxNQUFNLE9BQU8sbUJBQW1CO0lBd0M5QjtRQXZDUSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWYsU0FBSSxHQUFHLGFBQWEsQ0FBQztRQUNkLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBWXZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQWlCOUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLFdBQU0sR0FBUSxTQUFTLENBQUM7UUFDeEIsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFJakMsaUNBQWlDO1FBQ2pDLGFBQVEsR0FBRyxDQUFDLEtBQUssRUFBUSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFKWixDQUFDO0lBaENoQixJQUNJLEtBQUssQ0FBQyxHQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUMxQyxJQUFJLENBQUMsbUJBQW1C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R0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7cUJBQ25EO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3FCQUNuRDtpQkFDRjs7YUFDRjs7OzttQkFJRSxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO29CQUVMLEtBQUs7MEJBVUwsTUFBTTtvQkFFTixLQUFLOzBCQWVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNJbml0aWFsQW5kRW1wdHkgfSBmcm9tICcuLi9oZWxwZXJGbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvSXRlbSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x1eC1yYWRpb2dyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpb2dyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb2dyb3VwQ29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9ncm91cENvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9ncm91cENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBwcml2YXRlIHRvdWNoZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBuYW1lID0gJ3JhZGlvZ3JvdXAxJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXMoY29sOiBSYWRpb0l0ZW1bXSkge1xuICAgIHRoaXMuX2l0ZW1zID0gKGNvbCB8fCBbXSkubWFwKChpdCwgaW5kZXgpID0+XG4gICAgICB0aGlzLmVuc3VyZUhhc1VuaXF1ZU5hbWUoaXQsIGluZGV4KVxuICAgICk7XG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KGNvbCk7XG4gIH1cbiAgZ2V0IGl0ZW1zKCk6IFJhZGlvSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0l0ZW1bXT4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluaXRpYWxBbmRFbXB0eSA9IGlzSW5pdGlhbEFuZEVtcHR5KHRoaXMuX3ZhbHVlLCB2KTtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICBpZiAoIWluaXRpYWxBbmRFbXB0eSkge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfaXRlbXM6IFJhZGlvSXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZVxuICBvbkNoYW5nZSA9ICh2YWx1ZSk6IHZvaWQgPT4ge307XG4gIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbiAgLy8gRW5kIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZVxuXG4gIC8vIFZhbGlkYXRvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSgpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVkICYmXG4gICAgICAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgKSB7XG4gICAgICByZXR1cm4geyByZXF1aXJlZDogeyB2YWx1ZSwgcmVhc29uOiAnUmVxdWlyZWQgZmllbGQuJyB9IH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8vIEVuZCBvZiBWYWxpZGF0b3IgaW50ZXJmYWNlXG5cbiAgc2V0VmFsdWUoZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IFJhZGlvSXRlbSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGl0ZW0udmFsdWU7XG4gICAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuICBlbnN1cmVIYXNVbmlxdWVOYW1lKGl0ZW06IFJhZGlvSXRlbSwgaW5kZXg6IG51bWJlcik6IFJhZGlvSXRlbSB7XG4gICAgaWYgKCFpdGVtLm5hbWUpIHtcbiAgICAgIGl0ZW0ubmFtZSA9IGAke3RoaXMubmFtZX1fJHtpbmRleH1gO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbTtcbiAgfVxufVxuIl19
@@ -1,131 +0,0 @@
1
- import { Component, Input, EventEmitter, Output, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- let sequencer = 0;
4
- export class SelectComponent {
5
- constructor() {
6
- this.id = 'stringList' + sequencer++;
7
- this.disabled = false;
8
- this.required = false;
9
- /** Allow multiple elements */
10
- this.multiple = true;
11
- this.value = [];
12
- this.valueChange = new EventEmitter();
13
- this.placeholder = 'Add new';
14
- /** If set, check there is no duplicates in the data. */
15
- this.unique = true;
16
- /** Validation function for new items. Returns error or null if valid */
17
- this.validateItem = (_) => null;
18
- this.newEntry = '';
19
- this.error = null;
20
- this.isValidNewEntry = false;
21
- this.touched = false;
22
- // ControlValueAccessor Interface
23
- this.onChange = (value) => { };
24
- this.onTouched = () => { };
25
- }
26
- writeValue(value) {
27
- this.value = value;
28
- }
29
- registerOnChange(onChange) {
30
- this.onChange = onChange;
31
- }
32
- registerOnTouched(onTouched) {
33
- this.onTouched = onTouched;
34
- }
35
- markAsTouched() {
36
- if (!this.touched) {
37
- this.onTouched();
38
- this.touched = true;
39
- }
40
- }
41
- setDisabledState(disabled) {
42
- this.disabled = disabled;
43
- }
44
- // End ControlValueAccessor Interface
45
- // Validator interface
46
- registerOnValidatorChange() { }
47
- validate(control) {
48
- const value = control.value;
49
- if (this.required &&
50
- (value === '' || value === null || value === undefined)) {
51
- return { required: { value, reason: 'Required field.' } };
52
- }
53
- return null;
54
- }
55
- // End of Validator interface
56
- get canAdd() {
57
- return this.multiple || this.value.length === 0;
58
- }
59
- add(val) {
60
- this.value.push(val);
61
- this.newEntry = '';
62
- this.markAsTouched();
63
- this.valueChange.emit(this.value);
64
- }
65
- remove(index) {
66
- if (this.value.length > index) {
67
- this.value.splice(index, 1);
68
- this.markAsTouched();
69
- this.valueChange.emit(this.value);
70
- }
71
- }
72
- onKeyPress(event) {
73
- if (event.key === 'Enter' && !this.error && this.newEntry !== '') {
74
- // Add on pressing Enter/Return
75
- this.markAsTouched();
76
- this.add(this.newEntry);
77
- }
78
- }
79
- onChangeNewEntry(newValue) {
80
- this.markAsTouched();
81
- if (!newValue) {
82
- this.isValidNewEntry = false;
83
- this.error = null;
84
- return;
85
- }
86
- if (this.unique) {
87
- const found = (this.value || []).find((it) => it === newValue);
88
- this.isValidNewEntry = !found;
89
- this.error = found
90
- ? `Value '${newValue}' is already in. Cannot add duplicates.`
91
- : null;
92
- if (!this.isValidNewEntry) {
93
- return;
94
- }
95
- }
96
- this.error = this.validateItem(newValue);
97
- this.isValidNewEntry = !this.error;
98
- }
99
- }
100
- SelectComponent.decorators = [
101
- { type: Component, args: [{
102
- selector: 'lux-select',
103
- template: "<div class=\"lux-select\">\n <ul class=\"list\">\n <li *ngFor=\"let item of value; let i = index\">\n <span>{{ item }}</span>\n <button *ngIf=\"!disabled\"\n class=\"remove\"\n type=\"button\"\n (click)=\"remove(i)\"\n [attr.aria-label]=\"'Remove ' + item\"\n >Remove</button>\n </li>\n </ul>\n <div class=\"add-new-item\" *ngIf=\"!disabled\">\n <lux-input\n id=\"{{ id + 'addNew' }}\"\n type=\"string\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n [(value)]=\"newEntry\"\n (keyPress)=\"onKeyPress($event)\"\n (valueChange)=\"onChangeNewEntry($event)\"\n >\n </lux-input>\n <div *ngIf=\"canAdd\">\n <button *ngIf=\"isValidNewEntry\" type=\"button\" (click)=\"add(newEntry)\">Add</button>\n </div>\n <div class=\"error\">\n {{ error }}\n </div>\n </div>\n</div>\n",
104
- providers: [
105
- {
106
- provide: NG_VALUE_ACCESSOR,
107
- multi: true,
108
- useExisting: forwardRef(() => SelectComponent)
109
- },
110
- {
111
- provide: NG_VALIDATORS,
112
- multi: true,
113
- useExisting: forwardRef(() => SelectComponent)
114
- }
115
- ],
116
- styles: [".lux-select{margin-bottom:.5em}.lux-select .list{margin:1em;padding-bottom:.2em;list-style-type:square}.lux-select .list span{margin-bottom:.3em}.remove{margin-left:2em;font-size:.65em;color:#b22222;background:transparent;border:2px solid #BBB}.add-new-item{display:inline-flex;margin-left:2.2em;height:1.6em}.error{margin:.5em 0;color:#b22222}\n"]
117
- },] }
118
- ];
119
- SelectComponent.ctorParameters = () => [];
120
- SelectComponent.propDecorators = {
121
- id: [{ type: Input }],
122
- disabled: [{ type: Input }],
123
- required: [{ type: Input }],
124
- multiple: [{ type: Input }],
125
- value: [{ type: Input }],
126
- valueChange: [{ type: Output }],
127
- placeholder: [{ type: Input }],
128
- unique: [{ type: Input }],
129
- validateItem: [{ type: Input }]
130
- };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0FBbUJsQixNQUFNLE9BQU8sZUFBZTtJQW9CMUI7UUFuQlMsT0FBRSxHQUFHLFlBQVksR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsOEJBQThCO1FBQ3JCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDakMsd0RBQXdEO1FBQy9DLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDdkIsd0VBQXdFO1FBQy9ELGlCQUFZLEdBQTZCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFOUQsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSXhCLGlDQUFpQztRQUNqQyxhQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQVEsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMvQixjQUFTLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBSlosQ0FBQztJ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QyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUs7Z0JBQ2hCLENBQUMsQ0FBQyxVQUFVLFFBQVEseUNBQXlDO2dCQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3pCLE9BQU87YUFDUjtTQUNGO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7OztZQXZIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLDI4QkFBc0M7Z0JBRXRDLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztxQkFDL0M7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO3FCQUMvQztpQkFDRjs7YUFDRjs7OztpQkFFRSxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFFTCxLQUFLO29CQUNMLEtBQUs7MEJBQ0wsTUFBTTswQkFDTixLQUFLO3FCQUVMLEtBQUs7MkJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBzZXF1ZW5jZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQElucHV0KCkgaWQgPSAnc3RyaW5nTGlzdCcgKyBzZXF1ZW5jZXIrKztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgLyoqIEFsbG93IG11bHRpcGxlIGVsZW1lbnRzICovXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gdHJ1ZTtcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZ1tdID0gW107XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0FkZCBuZXcnO1xuICAvKiogSWYgc2V0LCBjaGVjayB0aGVyZSBpcyBubyBkdXBsaWNhdGVzIGluIHRoZSBkYXRhLiAqL1xuICBASW5wdXQoKSB1bmlxdWUgPSB0cnVlO1xuICAvKiogVmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgbmV3IGl0ZW1zLiBSZXR1cm5zIGVycm9yIG9yIG51bGwgaWYgdmFsaWQgKi9cbiAgQElucHV0KCkgdmFsaWRhdGVJdGVtOiAoaXRlbTogc3RyaW5nKSA9PiBzdHJpbmcgPSAoXykgPT4gbnVsbDtcblxuICBuZXdFbnRyeSA9ICcnO1xuICBlcnJvciA9IG51bGw7XG4gIGlzVmFsaWROZXdFbnRyeSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgdG91Y2hlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBJbnRlcmZhY2VcbiAgb25DaGFuZ2UgPSAodmFsdWUpOiB2b2lkID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG4gIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG4gIC8vIEVuZCBDb250cm9sVmFsdWVBY2Nlc3NvciBJbnRlcmZhY2VcblxuICAvLyBWYWxpZGF0b3IgaW50ZXJmYWNlXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoKTogdm9pZCB7fVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKFxuICAgICAgdGhpcy5yZXF1aXJlZCAmJlxuICAgICAgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHsgdmFsdWUsIHJlYXNvbjogJ1JlcXVpcmVkIGZpZWxkLicgfSB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBFbmQgb2YgVmFsaWRhdG9yIGludGVyZmFjZVxuXG4gIGdldCBjYW5BZGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDA7XG4gIH1cbiAgYWRkKHZhbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5wdXNoKHZhbCk7XG4gICAgdGhpcy5uZXdFbnRyeSA9ICcnO1xuICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuICByZW1vdmUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IGluZGV4KSB7XG4gICAgICB0aGlzLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgJiYgIXRoaXMuZXJyb3IgJiYgdGhpcy5uZXdFbnRyeSAhPT0gJycpIHtcbiAgICAgIC8vIEFkZCBvbiBwcmVzc2luZyBFbnRlci9SZXR1cm5cbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5hZGQodGhpcy5uZXdFbnRyeSk7XG4gICAgfVxuICB9XG4gIG9uQ2hhbmdlTmV3RW50cnkobmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgIGlmICghbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuaXNWYWxpZE5ld0VudHJ5ID0gZmFsc2U7XG4gICAgICB0aGlzLmVycm9yID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudW5pcXVlKSB7XG4gICAgICBjb25zdCBmb3VuZCA9ICh0aGlzLnZhbHVlIHx8IFtdKS5maW5kKChpdCkgPT4gaXQgPT09IG5ld1ZhbHVlKTtcbiAgICAgIHRoaXMuaXNWYWxpZE5ld0VudHJ5ID0gIWZvdW5kO1xuICAgICAgdGhpcy5lcnJvciA9IGZvdW5kXG4gICAgICAgID8gYFZhbHVlICcke25ld1ZhbHVlfScgaXMgYWxyZWFkeSBpbi4gQ2Fubm90IGFkZCBkdXBsaWNhdGVzLmBcbiAgICAgICAgOiBudWxsO1xuICAgICAgaWYgKCF0aGlzLmlzVmFsaWROZXdFbnRyeSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZXJyb3IgPSB0aGlzLnZhbGlkYXRlSXRlbShuZXdWYWx1ZSk7XG4gICAgdGhpcy5pc1ZhbGlkTmV3RW50cnkgPSAhdGhpcy5lcnJvcjtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- /**
3
- * Default Tooltip Component
4
- */
5
- export class TooltipComponent {
6
- constructor() { }
7
- }
8
- TooltipComponent.decorators = [
9
- { type: Component, args: [{
10
- template: `
11
- <span class="lux-tooltip" style="transition: opacity 200ms">{{context.message}}</span>
12
- `
13
- },] }
14
- ];
15
- TooltipComponent.ctorParameters = () => [];
16
- TooltipComponent.propDecorators = {
17
- context: [{ type: Input }]
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pEOztHQUVHO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQUl6QixnQkFBaUIsQ0FBQzs7O1lBVHJCLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUU7O0tBRVQ7YUFDSjs7OztzQkFHSSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHV4VG9vbHRpcENvbnRleHQgfSBmcm9tICcuL3Rvb2x0aXAtY29udGV4dCc7XG5cbi8qKlxuICogRGVmYXVsdCBUb29sdGlwIENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBjbGFzcz1cImx1eC10b29sdGlwXCIgc3R5bGU9XCJ0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zXCI+e3tjb250ZXh0Lm1lc3NhZ2V9fTwvc3Bhbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgY29udGV4dDogTHV4VG9vbHRpcENvbnRleHQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpICB7IH1cblxufVxuIl19