@rlucan/ui 14.2.4 → 14.2.6

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 (107) hide show
  1. package/esm2022/lib/action-button/action-button.component.mjs +99 -0
  2. package/esm2022/lib/action-icon/action-icon.component.mjs +37 -0
  3. package/esm2022/lib/autocomplete/autocomplete.component.mjs +391 -0
  4. package/esm2022/lib/avatar/avatar.component.mjs +34 -0
  5. package/esm2022/lib/button/button.component.mjs +57 -0
  6. package/esm2022/lib/checkbox/checkbox.component.mjs +39 -0
  7. package/{esm2020 → esm2022}/lib/checkbox-group/checkbox-group.component.mjs +91 -91
  8. package/esm2022/lib/currency/currency.component.mjs +151 -0
  9. package/esm2022/lib/date/date.component.mjs +68 -0
  10. package/{esm2020 → esm2022}/lib/dialog/dialog.component.mjs +37 -37
  11. package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -0
  12. package/esm2022/lib/editor/editor.component.mjs +119 -0
  13. package/{esm2020 → esm2022}/lib/elements/burger/burger.component.mjs +21 -21
  14. package/{esm2020 → esm2022}/lib/elements/expander/expander.component.mjs +28 -28
  15. package/{esm2020 → esm2022}/lib/elements/validation-message/validation-message.component.mjs +47 -47
  16. package/esm2022/lib/file/file.component.mjs +145 -0
  17. package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +405 -0
  18. package/esm2022/lib/input/input.component.mjs +265 -0
  19. package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +277 -0
  20. package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +22 -0
  21. package/esm2022/lib/layouts/base/ui-base.component.mjs +74 -0
  22. package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +18 -0
  23. package/esm2022/lib/layouts/simple/ui-simple.component.mjs +166 -0
  24. package/{esm2020 → esm2022}/lib/radio/radio.component.mjs +21 -21
  25. package/esm2022/lib/radio-group/radio-group.component.mjs +53 -0
  26. package/esm2022/lib/select/select.component.mjs +115 -0
  27. package/esm2022/lib/services/message-box.service.mjs +149 -0
  28. package/{esm2020 → esm2022}/lib/services/toast.service.mjs +23 -23
  29. package/{esm2020 → esm2022}/lib/services/ui-file.service.mjs +71 -71
  30. package/{esm2020 → esm2022}/lib/services/ui-translate.service.mjs +32 -32
  31. package/{esm2020 → esm2022}/lib/submit-button/submit-button.component.mjs +72 -72
  32. package/esm2022/lib/table/table.component.mjs +97 -0
  33. package/esm2022/lib/text-area/text-area.component.mjs +46 -0
  34. package/{esm2020 → esm2022}/lib/ui.model.mjs +1 -1
  35. package/esm2022/lib/ui.module.mjs +269 -0
  36. package/esm2022/public-api.mjs +35 -0
  37. package/{esm2020 → esm2022}/rlucan-ui.mjs +4 -4
  38. package/fesm2022/rlucan-ui.mjs +3442 -0
  39. package/fesm2022/rlucan-ui.mjs.map +1 -0
  40. package/index.d.ts +5 -5
  41. package/lib/action-button/action-button.component.d.ts +32 -33
  42. package/lib/action-icon/action-icon.component.d.ts +15 -15
  43. package/lib/autocomplete/autocomplete.component.d.ts +57 -57
  44. package/lib/avatar/avatar.component.d.ts +14 -14
  45. package/lib/button/button.component.d.ts +18 -18
  46. package/lib/checkbox/checkbox.component.d.ts +15 -15
  47. package/lib/checkbox-group/checkbox-group.component.d.ts +18 -18
  48. package/lib/currency/currency.component.d.ts +31 -30
  49. package/lib/date/date.component.d.ts +24 -23
  50. package/lib/dialog/dialog.component.d.ts +13 -13
  51. package/lib/directives/force-visibility/force-visibility.directive.d.ts +22 -20
  52. package/lib/editor/editor.component.d.ts +24 -0
  53. package/lib/elements/burger/burger.component.d.ts +9 -9
  54. package/lib/elements/expander/expander.component.d.ts +10 -10
  55. package/lib/elements/validation-message/validation-message.component.d.ts +12 -12
  56. package/lib/file/file.component.d.ts +35 -29
  57. package/lib/file-uploader/ui-file-uploader.component.d.ts +102 -102
  58. package/lib/input/input.component.d.ts +42 -29
  59. package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -0
  60. package/lib/{base → layouts/base}/ui-base-layout.component.d.ts +8 -8
  61. package/lib/{base → layouts/base}/ui-base.component.d.ts +23 -23
  62. package/lib/{simple → layouts/simple}/ui-simple-layout.component.d.ts +8 -7
  63. package/lib/{simple → layouts/simple}/ui-simple.component.d.ts +40 -39
  64. package/lib/radio/radio.component.d.ts +8 -8
  65. package/lib/radio-group/radio-group.component.d.ts +18 -18
  66. package/lib/select/select.component.d.ts +35 -33
  67. package/lib/services/message-box.service.d.ts +58 -42
  68. package/lib/services/toast.service.d.ts +13 -13
  69. package/lib/services/ui-file.service.d.ts +33 -33
  70. package/lib/services/ui-translate.service.d.ts +11 -11
  71. package/lib/submit-button/submit-button.component.d.ts +21 -21
  72. package/lib/table/table.component.d.ts +36 -36
  73. package/lib/text-area/text-area.component.d.ts +18 -18
  74. package/lib/ui.model.d.ts +2 -2
  75. package/lib/ui.module.d.ts +59 -56
  76. package/package.json +22 -24
  77. package/public-api.d.ts +29 -27
  78. package/scss/ui-defaults.scss +19 -4
  79. package/src/js/editorjs.mjs +9634 -0
  80. package/ui.scss +70 -20
  81. package/esm2020/lib/action-button/action-button.component.mjs +0 -96
  82. package/esm2020/lib/action-icon/action-icon.component.mjs +0 -37
  83. package/esm2020/lib/autocomplete/autocomplete.component.mjs +0 -391
  84. package/esm2020/lib/avatar/avatar.component.mjs +0 -34
  85. package/esm2020/lib/base/ui-base-layout.component.mjs +0 -22
  86. package/esm2020/lib/base/ui-base.component.mjs +0 -74
  87. package/esm2020/lib/button/button.component.mjs +0 -57
  88. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -39
  89. package/esm2020/lib/currency/currency.component.mjs +0 -148
  90. package/esm2020/lib/date/date.component.mjs +0 -64
  91. package/esm2020/lib/directives/force-visibility/force-visibility.directive.mjs +0 -96
  92. package/esm2020/lib/file/file.component.mjs +0 -88
  93. package/esm2020/lib/file-uploader/ui-file-uploader.component.mjs +0 -394
  94. package/esm2020/lib/input/input.component.mjs +0 -258
  95. package/esm2020/lib/radio-group/radio-group.component.mjs +0 -53
  96. package/esm2020/lib/select/select.component.mjs +0 -91
  97. package/esm2020/lib/services/message-box.service.mjs +0 -113
  98. package/esm2020/lib/simple/ui-simple-layout.component.mjs +0 -15
  99. package/esm2020/lib/simple/ui-simple.component.mjs +0 -154
  100. package/esm2020/lib/table/table.component.mjs +0 -97
  101. package/esm2020/lib/text-area/text-area.component.mjs +0 -46
  102. package/esm2020/lib/ui.module.mjs +0 -255
  103. package/esm2020/public-api.mjs +0 -33
  104. package/fesm2015/rlucan-ui.mjs +0 -2918
  105. package/fesm2015/rlucan-ui.mjs.map +0 -1
  106. package/fesm2020/rlucan-ui.mjs +0 -2886
  107. package/fesm2020/rlucan-ui.mjs.map +0 -1
@@ -1,74 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class UiBaseComponent {
4
- // get control() {
5
- // return this.controlFormGroup.get('text');
6
- // }
7
- constructor() {
8
- this.placeholder = '';
9
- this.useInputMessages = 'always';
10
- this.inputMessagesPosition = 'relative';
11
- this.size = 'normal';
12
- // control = new FormControl();
13
- // controlFormGroup;
14
- this.required = false;
15
- // this.ngControl.valueAccessor = this;
16
- }
17
- ngOnInit() {
18
- // console.log(this.controlContainer);
19
- // this.controlFormGroup.valueChanges.subscribe(v => {
20
- // this.onChange(v);
21
- // });
22
- // this.ngControl.control.statusChanges.subscribe(v => console.log(v));
23
- //
24
- // this.ngControl.control.markAsTouched = (opts?: {
25
- // onlySelf?: boolean;
26
- // }) => {
27
- // if (!this.control.touched) {
28
- // console.log('marking as touched');
29
- // this.control.markAsTouched(opts);
30
- // }
31
- // this.control.updateValueAndValidity({onlySelf: opts?.onlySelf, emitEvent: false});
32
- // }
33
- // setTimeout(() => {
34
- // this.applyValidators(this.validators);
35
- // });
36
- }
37
- // bindValidators(validators: ValidatorFn[]): void {
38
- // this.control.setValidators(validators);
39
- // }
40
- get validationErrors() {
41
- return null;
42
- }
43
- get validationMessage() {
44
- return 'obsolete...';
45
- }
46
- get isInvalid() {
47
- return false;
48
- }
49
- }
50
- UiBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- UiBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UiBaseComponent, selector: "ui-abstract-base-component", inputs: { placeholder: "placeholder", label: "label", useInputMessages: "useInputMessages", inputMessagesPosition: "inputMessagesPosition", hint: "hint", size: "size" }, host: { properties: { "class": "this.size" } }, ngImport: i0, template: '** abstract **', isInline: true });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiBaseComponent, decorators: [{
53
- type: Component,
54
- args: [{
55
- selector: 'ui-abstract-base-component',
56
- template: '** abstract **'
57
- }]
58
- }], ctorParameters: function () { return []; }, propDecorators: { placeholder: [{
59
- type: Input
60
- }], label: [{
61
- type: Input
62
- }], useInputMessages: [{
63
- type: Input
64
- }], inputMessagesPosition: [{
65
- type: Input
66
- }], hint: [{
67
- type: Input
68
- }], size: [{
69
- type: HostBinding,
70
- args: ['class']
71
- }, {
72
- type: Input
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Jhc2UvdWktYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQVl0RSxNQUFNLE9BQWdCLGVBQWU7SUFpQm5DLGtCQUFrQjtJQUNsQiw4Q0FBOEM7SUFDOUMsSUFBSTtJQUVKO1FBbkJTLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLHFCQUFnQixHQUFvQyxRQUFRLENBQUM7UUFDN0QsMEJBQXFCLEdBQTRCLFVBQVUsQ0FBQztRQUk1RCxTQUFJLEdBQXdELFFBQVEsQ0FBQztRQUU5RSwrQkFBK0I7UUFFL0Isb0JBQW9CO1FBRXBCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPZix1Q0FBdUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixzQ0FBc0M7UUFFdEMsc0RBQXNEO1FBQ3RELHNCQUFzQjtRQUN0QixNQUFNO1FBRU4sdUVBQXVFO1FBQ3ZFLEVBQUU7UUFDRixtREFBbUQ7UUFDbkQsd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixpQ0FBaUM7UUFDakMseUNBQXlDO1FBQ3pDLHdDQUF3QztRQUN4QyxNQUFNO1FBQ04sdUZBQXVGO1FBQ3ZGLElBQUk7UUFFSixxQkFBcUI7UUFDckIsMkNBQTJDO1FBQzNDLE1BQU07SUFDUixDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELDRDQUE0QztJQUM1QyxJQUFJO0lBSUosSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEdBakVtQixlQUFlO2dHQUFmLGVBQWUsNFJBRnpCLGdCQUFnQjsyRkFFTixlQUFlO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzBFQUdVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLElBQUk7c0JBRFosV0FBVzt1QkFBQyxPQUFPOztzQkFDbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlWYWxpZGF0b3JzIHtcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWJzdHJhY3QtYmFzZS1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiAnKiogYWJzdHJhY3QgKionXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVaUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgdXNlSW5wdXRNZXNzYWdlczogJ25ldmVyJyB8ICdhbHdheXMnIHwgJ29uZGVtYW5kJyA9ICdhbHdheXMnO1xyXG4gIEBJbnB1dCgpIGlucHV0TWVzc2FnZXNQb3NpdGlvbjogJ2Fic29sdXRlJyB8ICdyZWxhdGl2ZScgPSAncmVsYXRpdmUnO1xyXG4gIEBJbnB1dCgpIGhpbnQ/OiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnc21hbGxlcicgfCAnbm9ybWFsJyB8ICdsYXJnZXInIHwgJ2xhcmdlJyA9ICdub3JtYWwnO1xyXG5cclxuICAvLyBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIC8vIGNvbnRyb2xGb3JtR3JvdXA7XHJcblxyXG4gIHJlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gIC8vIGdldCBjb250cm9sKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuY29udHJvbEZvcm1Hcm91cC5nZXQoJ3RleHQnKTtcclxuICAvLyB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuY29udHJvbENvbnRhaW5lcik7XHJcblxyXG4gICAgLy8gdGhpcy5jb250cm9sRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAvLyAgIHRoaXMub25DaGFuZ2Uodik7XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICAvLyB0aGlzLm5nQ29udHJvbC5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHYgPT4gY29uc29sZS5sb2codikpO1xyXG4gICAgLy9cclxuICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wubWFya0FzVG91Y2hlZCA9IChvcHRzPzoge1xyXG4gICAgLy8gICBvbmx5U2VsZj86IGJvb2xlYW47XHJcbiAgICAvLyB9KSA9PiB7XHJcbiAgICAvLyAgIGlmICghdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZygnbWFya2luZyBhcyB0b3VjaGVkJyk7XHJcbiAgICAvLyAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQob3B0cyk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiBvcHRzPy5vbmx5U2VsZiwgZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLmFwcGx5VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnMpO1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICAvLyBiaW5kVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAvLyB9XHJcblxyXG5cclxuXHJcbiAgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdvYnNvbGV0ZS4uLic7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgLy8gZ2V0IGNsYXNzKCk6IHN0cmluZyB7XHJcbiAgLy8gICByZXR1cm4gKHRoaXMuaXNJbnZhbGlkID8gJ2ludmFsaWQgJyA6ICcnKSArIHRoaXMuc2l6ZTtcclxuICAvLyB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/progress-bar";
6
- import * as i4 from "@angular/material/core";
7
- export class ButtonComponent {
8
- constructor() {
9
- this.type = 'button';
10
- this.disabled = false;
11
- this.busy = false;
12
- this.kind = 'flat';
13
- this.color = 'primary';
14
- this.size = 'normal';
15
- this.formInvalid = false;
16
- }
17
- get class() {
18
- return this.kind +
19
- (this.color ? ' ' + this.color : '') +
20
- (this.size ? ' ' + this.size : '') +
21
- ((this.disabled || this.busy) ? ' disabled' : '');
22
- }
23
- get isDisabled() {
24
- return this.disabled || this.busy;
25
- }
26
- }
27
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ButtonComponent, selector: "ui-button", inputs: { type: "type", matIconPrefix: "matIconPrefix", label: "label", disabled: "disabled", busy: "busy", kind: "kind", color: "color", size: "size", formInvalid: "formInvalid" }, host: { properties: { "class": "this.class", "class.formInvalid": "this.formInvalid" } }, ngImport: i0, template: "<button matRipple [type]=\"type\" [disabled]=\"isDisabled || busy\" [ngClass]=\"{busy: busy}\" [class]=\"class\">\r\n <mat-icon *ngIf=\"matIconPrefix\">{{matIconPrefix}}</mat-icon>\r\n {{label}}\r\n <mat-progress-bar *ngIf=\"busy\" mode=\"indeterminate\" [color]=\"color\"></mat-progress-bar>\r\n</button>\r\n", styles: [":host{display:flex;align-items:center}:host button{font-size:1em;width:100%;cursor:pointer;outline:none;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid transparent;transition:all .15s ease-in-out}:host button mat-progress-bar{position:absolute;bottom:1px;height:2px;border-bottom-left-radius:10px;border-bottom-right-radius:10px}:host button mat-icon{margin-right:4px;height:16px;width:16px;font-size:16px}:host.small button mat-icon{width:14px;height:14px;font-size:14px;margin-right:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'ui-button', template: "<button matRipple [type]=\"type\" [disabled]=\"isDisabled || busy\" [ngClass]=\"{busy: busy}\" [class]=\"class\">\r\n <mat-icon *ngIf=\"matIconPrefix\">{{matIconPrefix}}</mat-icon>\r\n {{label}}\r\n <mat-progress-bar *ngIf=\"busy\" mode=\"indeterminate\" [color]=\"color\"></mat-progress-bar>\r\n</button>\r\n", styles: [":host{display:flex;align-items:center}:host button{font-size:1em;width:100%;cursor:pointer;outline:none;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid transparent;transition:all .15s ease-in-out}:host button mat-progress-bar{position:absolute;bottom:1px;height:2px;border-bottom-left-radius:10px;border-bottom-right-radius:10px}:host button mat-icon{margin-right:4px;height:16px;width:16px;font-size:16px}:host.small button mat-icon{width:14px;height:14px;font-size:14px;margin-right:2px}\n"] }]
32
- }], ctorParameters: function () { return []; }, propDecorators: { type: [{
33
- type: Input
34
- }], matIconPrefix: [{
35
- type: Input
36
- }], label: [{
37
- type: Input
38
- }], disabled: [{
39
- type: Input
40
- }], busy: [{
41
- type: Input
42
- }], kind: [{
43
- type: Input
44
- }], color: [{
45
- type: Input
46
- }], size: [{
47
- type: Input
48
- }], class: [{
49
- type: HostBinding,
50
- args: ['class']
51
- }], formInvalid: [{
52
- type: HostBinding,
53
- args: ['class.formInvalid']
54
- }, {
55
- type: Input
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFROUQsTUFBTSxPQUFPLGVBQWU7SUFzQjFCO1FBcEJTLFNBQUksR0FBd0IsUUFBUSxDQUFDO1FBR3JDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFNBQUksR0FBaUMsTUFBTSxDQUFDO1FBQzVDLFVBQUssR0FBaUIsU0FBUyxDQUFDO1FBQ2hDLFNBQUksR0FBZ0IsUUFBUSxDQUFDO1FBVzdCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBRWIsQ0FBQztJQVhqQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJO1lBQ2QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQU9ELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OzRHQTFCVSxlQUFlO2dHQUFmLGVBQWUsaVVDUjVCLDBUQUtBOzJGREdhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsV0FBVzswRUFNWixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixXQUFXO3VCQUFDLE9BQU87Z0JBU1gsV0FBVztzQkFEbkIsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbG9yLCBDb250cm9sU2l6ZSB9IGZyb20gJy4uL3VpLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgdHlwZTogJ3N1Ym1pdCcgfCAnYnV0dG9uJyA9ICdidXR0b24nO1xyXG4gIEBJbnB1dCgpIG1hdEljb25QcmVmaXg6IGFueTtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGtpbmQ6ICdiYXNpYycgfCAnZmxhdCcgfCAnc3Ryb2tlZCcgPSAnZmxhdCc7XHJcbiAgQElucHV0KCkgY29sb3I6IENvbnRyb2xDb2xvciA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSBzaXplOiBDb250cm9sU2l6ZSA9ICdub3JtYWwnO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgY2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgK1xyXG4gICAgICAodGhpcy5jb2xvciA/ICcgJyArIHRoaXMuY29sb3IgOiAnJykgK1xyXG4gICAgICAodGhpcy5zaXplID8gJyAnICsgdGhpcy5zaXplIDogJycpICtcclxuICAgICAgKCh0aGlzLmRpc2FibGVkIHx8IHRoaXMuYnVzeSkgPyAnIGRpc2FibGVkJyA6ICcnKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybUludmFsaWQnKVxyXG4gIEBJbnB1dCgpIGZvcm1JbnZhbGlkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5idXN5O1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJ1dHRvbiBtYXRSaXBwbGUgW3R5cGVdPVwidHlwZVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkIHx8IGJ1c3lcIiBbbmdDbGFzc109XCJ7YnVzeTogYnVzeX1cIiBbY2xhc3NdPVwiY2xhc3NcIj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJtYXRJY29uUHJlZml4XCI+e3ttYXRJY29uUHJlZml4fX08L21hdC1pY29uPlxyXG4gIHt7bGFiZWx9fVxyXG4gIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwiYnVzeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2NvbG9yXT1cImNvbG9yXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48L2J1dHRvbj5cclxuIl19
@@ -1,39 +0,0 @@
1
- import { Component, Input, Optional, Self } from '@angular/core';
2
- import { UiSimpleComponent } from '../simple/ui-simple.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/checkbox";
7
- import * as i4 from "../simple/ui-simple-layout.component";
8
- export class CheckboxComponent extends UiSimpleComponent {
9
- constructor(ngControl) {
10
- super(ngControl);
11
- this.ngControl = ngControl;
12
- this.color = 'primary';
13
- this.useInputMessages = 'never';
14
- }
15
- ngOnInit() {
16
- super.ngOnInit();
17
- if (this.label) {
18
- this.text = this.label;
19
- this.label = undefined;
20
- }
21
- }
22
- setDisabledState(isDisabled) {
23
- }
24
- }
25
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
26
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CheckboxComponent, selector: "ui-checkbox", inputs: { color: "color", useInputMessages: "useInputMessages" }, usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </mat-checkbox>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .mat-checkbox-inner-container{width:1em;height:1em;margin-right:.3em;margin-left:.2em}:host ::ng-deep .mat-checkbox-layout .mat-checkbox-label{line-height:1.1em;white-space:break-spaces}:host ::ng-deep .mat-checkbox-layout .mat-checkbox-label .hint{font-size:.8em;padding-top:.1em;padding-left:.2em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CheckboxComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'ui-checkbox', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </mat-checkbox>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .mat-checkbox-inner-container{width:1em;height:1em;margin-right:.3em;margin-left:.2em}:host ::ng-deep .mat-checkbox-layout .mat-checkbox-label{line-height:1.1em;white-space:break-spaces}:host ::ng-deep .mat-checkbox-layout .mat-checkbox-label .hint{font-size:.8em;padding-top:.1em;padding-left:.2em}\n"] }]
30
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
31
- type: Optional
32
- }, {
33
- type: Self
34
- }] }]; }, propDecorators: { color: [{
35
- type: Input
36
- }], useInputMessages: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFZbEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQU90RCxZQUF1QyxTQUFvQjtRQUN6RCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFEb0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUxsRCxVQUFLLEdBQWtDLFNBQVMsQ0FBQztRQUNqRCxxQkFBZ0IsR0FBb0MsT0FBTyxDQUFDO0lBTXJFLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtJQUNwQyxDQUFDOzs4R0FwQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNElDZDlCLDJhQVVBOzJGRElhLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDRSxhQUFhOzswQkFnQlYsUUFBUTs7MEJBQUksSUFBSTs0Q0FMcEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVWlTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gcHJvdmlkZXJzOiBbe1xyXG4gIC8vICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICBtdWx0aTogdHJ1ZSxcclxuICAvLyAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcclxuICAvLyB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSB1c2VJbnB1dE1lc3NhZ2VzOiAnbmV2ZXInIHwgJ2Fsd2F5cycgfCAnb25kZW1hbmQnID0gJ25ldmVyJztcclxuXHJcbiAgdGV4dDtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuICAgIHN1cGVyKG5nQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICBpZiAodGhpcy5sYWJlbCkge1xyXG4gICAgICB0aGlzLnRleHQgPSB0aGlzLmxhYmVsO1xyXG4gICAgICB0aGlzLmxhYmVsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29udHJvbC1jb250YWluZXJcIj5cclxuICAgIDxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgW2NvbG9yXT1cImNvbG9yXCIgW2NsYXNzXT1cInNpemVcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF0ZXh0XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidGV4dFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaGludFwiIGNsYXNzPVwiaGludFwiIFtpbm5lckhUTUxdPVwiaGludFwiPjwvZGl2PlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgPC9kaXY+XHJcbjwvdWktc2ltcGxlLWxheW91dD5cclxuIl19
@@ -1,148 +0,0 @@
1
- import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
2
- import { UiBaseComponent } from '../base/ui-base.component';
3
- import { UntypedFormControl, UntypedFormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../input/input.component";
8
- import * as i4 from "../select/select.component";
9
- import * as i5 from "../base/ui-base-layout.component";
10
- export class CurrencyComponent extends UiBaseComponent {
11
- // @HostBinding('class')
12
- // get sizeClass(): string {
13
- // return this.size;
14
- // }
15
- constructor(controlContainer) {
16
- super();
17
- this.controlContainer = controlContainer;
18
- this.currencies = [];
19
- this.currencyDisabled = false;
20
- this.amountHidden = false;
21
- this.formGroup = new UntypedFormGroup({
22
- amount: new UntypedFormControl(),
23
- currency: new UntypedFormControl()
24
- });
25
- this.hasFocus = false;
26
- this.onChange = (value) => { };
27
- }
28
- ngOnInit() {
29
- super.ngOnInit();
30
- this.formGroup.valueChanges.subscribe(v => this.onChange(v));
31
- // this.formGroup = new FormGroup({
32
- // amount: new FormControl(this.control?.value.amount),
33
- // currency: new FormControl(this.currencies.find(c => c.code === this.control?.value.currency.code))
34
- // });
35
- // this.formGroup.valueChanges.subscribe(v => {
36
- // this.onChange(this.formGroup?.getRawValue());
37
- // });
38
- if (this.currencyDisabled) {
39
- this.formGroup.get('currency')?.disable();
40
- }
41
- // this.ngControl.control.statusChanges.subscribe(s => {
42
- // if (s === 'INVALID') {
43
- // // this.formGroup?.get('amount')?.setErrors(this.control?.errors || null);
44
- // this.formGroup?.get('currency')?.markAsTouched();
45
- // // this.formGroup?.get('currency')?.setErrors(this.control?.errors || null);
46
- // }
47
- // if (s === 'DISABLED') {
48
- // this.formGroup?.disable({emitEvent: false});
49
- // }
50
- // if (s === 'VALID') {
51
- // this.formGroup?.enable({emitEvent: false});
52
- // if (this.currencyDisabled) {
53
- // this.formGroup?.get('currency')?.disable({emitEvent: false});
54
- // }
55
- // }
56
- // });
57
- this.parentFormControl = this.controlContainer.control.get(this.formControlName);
58
- }
59
- // bindValidators(validators) {
60
- // console.log('binding validators', validators);
61
- // if (this.formGroup) {
62
- // this.formGroup.get('amount').setValidators(validators);
63
- // this.formGroup.get('currency').markAsTouched();
64
- // this.formGroup.get('currency').setErrors(validators);
65
- // }
66
- // }
67
- get isInvalid() {
68
- return this.parentFormControl.invalid;
69
- }
70
- get validationErrors() {
71
- return this.parentFormControl.errors;
72
- }
73
- focusChanged(hasFocus) {
74
- this.hasFocus = hasFocus;
75
- }
76
- registerOnChange(fn) {
77
- this.onChange = fn;
78
- }
79
- registerOnTouched(fn) {
80
- }
81
- registerOnValidatorChange(fn) {
82
- }
83
- setDisabledState(isDisabled) {
84
- if (isDisabled) {
85
- this.formGroup.get('amount').disable();
86
- if (!this.currencyDisabled) {
87
- this.formGroup.get('currency').disable();
88
- }
89
- }
90
- else {
91
- this.formGroup.get('amount').enable();
92
- if (!this.currencyDisabled) {
93
- this.formGroup.get('currency').enable();
94
- }
95
- }
96
- }
97
- validate(control) {
98
- return undefined;
99
- }
100
- writeValue(obj) {
101
- this.formGroup.setValue(obj);
102
- }
103
- }
104
- CurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
105
- CurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CurrencyComponent, selector: "ui-currency", inputs: { currencies: "currencies", currencyDisabled: "currencyDisabled", formControlName: "formControlName", amountHidden: "amountHidden" }, host: { properties: { "class.amount-hidden": "this.amountHidden", "class.focus": "this.hasFocus" } }, providers: [{
106
- provide: NG_VALUE_ACCESSOR,
107
- multi: true,
108
- useExisting: CurrencyComponent
109
- }, {
110
- provide: NG_VALIDATORS,
111
- multi: true,
112
- useExisting: CurrencyComponent
113
- }
114
- ], usesInheritance: true, ngImport: i0, template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.InputComponent, selector: "ui-input", inputs: ["prefix", "suffix", "type", "clearButton", "disableUserInput", "centered"], outputs: ["focusChanged", "keyPressed"] }, { kind: "component", type: i4.SelectComponent, selector: "ui-select", inputs: ["multiple", "triggerFormatter", "valueAttribute", "resetText", "displayAttribute", "options", "optionFormatter", "optionTemplateRef", "triggerTemplateRef", "panelClass", "allowEmptySelection"] }, { kind: "component", type: i5.UiBaseLayoutComponent, selector: "ui-base-layout", inputs: ["ctx"] }] });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyComponent, decorators: [{
116
- type: Component,
117
- args: [{ selector: 'ui-currency', providers: [{
118
- provide: NG_VALUE_ACCESSOR,
119
- multi: true,
120
- useExisting: CurrencyComponent
121
- }, {
122
- provide: NG_VALIDATORS,
123
- multi: true,
124
- useExisting: CurrencyComponent
125
- }
126
- ], template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"] }]
127
- }], ctorParameters: function () { return [{ type: i1.ControlContainer, decorators: [{
128
- type: Optional
129
- }, {
130
- type: Host
131
- }, {
132
- type: SkipSelf
133
- }] }]; }, propDecorators: { currencies: [{
134
- type: Input
135
- }], currencyDisabled: [{
136
- type: Input
137
- }], formControlName: [{
138
- type: Input
139
- }], amountHidden: [{
140
- type: HostBinding,
141
- args: ['class.amount-hidden']
142
- }, {
143
- type: Input
144
- }], hasFocus: [{
145
- type: HostBinding,
146
- args: ['class.focus']
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jdXJyZW5jeS9jdXJyZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2N1cnJlbmN5L2N1cnJlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUdMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBaUJ4QixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQW1CcEQsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLFlBQXNELGdCQUFrQztRQUN0RixLQUFLLEVBQUUsQ0FBQztRQUQ0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdEIvRSxlQUFVLEdBQWlDLEVBQUUsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFJekIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFOUIsY0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDL0IsTUFBTSxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFDaEMsUUFBUSxFQUFFLElBQUksa0JBQWtCLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBS0gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdqQixhQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUZ6QixDQUFDO0lBSUQs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QUFpQjtTQUMvQjtLQUNBLGlEQzFCSCxtZUFTQTsyRkRtQmEsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLGFBQWEsYUFHWixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsbUJBQW1CO3lCQUMvQixFQUFFOzRCQUNELE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLG1CQUFtQjt5QkFDL0I7cUJBQ0E7OzBCQTBCWSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFROzRDQXRCaEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxZQUFZO3NCQURwQixXQUFXO3VCQUFDLHFCQUFxQjs7c0JBQ2pDLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS91aS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvclxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktY3VycmVuY3knLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2N1cnJlbmN5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH0sIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIFVpQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XHJcblxyXG4gIEBJbnB1dCgpIGN1cnJlbmNpZXM6IFBhcnRpYWw8eyBjb2RlOiBzdHJpbmc7IH0+W10gPSBbXTtcclxuICBASW5wdXQoKSBjdXJyZW5jeURpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW1vdW50LWhpZGRlbicpXHJcbiAgQElucHV0KCkgYW1vdW50SGlkZGVuID0gZmFsc2U7XHJcblxyXG4gIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcclxuICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxyXG4gICAgY3VycmVuY3k6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxyXG4gIH0pO1xyXG5cclxuICBwYXJlbnRGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzJylcclxuICBoYXNGb2N1cyA9IGZhbHNlO1xyXG5cclxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAvLyBnZXQgc2l6ZUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5zaXplO1xyXG4gIC8vIH1cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7fTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHRoaXMub25DaGFuZ2UodikpO1xyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIC8vICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5jb250cm9sPy52YWx1ZS5hbW91bnQpLFxyXG4gICAgLy8gICBjdXJyZW5jeTogbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVuY2llcy5maW5kKGMgPT4gYy5jb2RlID09PSB0aGlzLmNvbnRyb2w/LnZhbHVlLmN1cnJlbmN5LmNvZGUpKVxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICB0aGlzLm9uQ2hhbmdlKHRoaXMuZm9ybUdyb3VwPy5nZXRSYXdWYWx1ZSgpKTtcclxuICAgIC8vIH0pO1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUocyA9PiB7XHJcbiAgICAvLyAgIGlmIChzID09PSAnSU5WQUxJRCcpIHtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdhbW91bnQnKT8uc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IG51bGwpO1xyXG4gICAgLy8gICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdjdXJyZW5jeScpPy5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMgfHwgbnVsbCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgaWYgKHMgPT09ICdESVNBQkxFRCcpIHtcclxuICAgIC8vICAgICB0aGlzLmZvcm1Hcm91cD8uZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGlmIChzID09PSAnVkFMSUQnKSB7XHJcbiAgICAvLyAgICAgdGhpcy5mb3JtR3JvdXA/LmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICAgIGlmICh0aGlzLmN1cnJlbmN5RGlzYWJsZWQpIHtcclxuICAgIC8vICAgICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoe2VtaXRFdmVudDogZmFsc2V9KTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbCA9ICh0aGlzLmNvbnRyb2xDb250YWluZXIgYXMgRm9ybUdyb3VwRGlyZWN0aXZlKS5jb250cm9sLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvLyBiaW5kVmFsaWRhdG9ycyh2YWxpZGF0b3JzKSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygnYmluZGluZyB2YWxpZGF0b3JzJywgdmFsaWRhdG9ycyk7XHJcbiAgLy8gICBpZiAodGhpcy5mb3JtR3JvdXApIHtcclxuICAvLyAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhbW91bnQnKS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5JykubWFya0FzVG91Y2hlZCgpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jykuc2V0RXJyb3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbkVycm9ycygpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmVycm9ycztcclxuICB9XHJcblxyXG4gIGZvY3VzQ2hhbmdlZChoYXNGb2N1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5oYXNGb2N1cyA9IGhhc0ZvY3VzO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY3VycmVuY3knKS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZW5hYmxlKCk7XHJcbiAgICAgIGlmICghdGhpcy5jdXJyZW5jeURpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXJyZW5jeScpLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0VmFsdWUob2JqKTtcclxuICB9XHJcbn1cclxuIiwiPHVpLWJhc2UtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRyb2wtY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cclxuICA8dWktaW5wdXQgKm5nSWY9XCIhYW1vdW50SGlkZGVuXCIgW2Zvcm1Db250cm9sTmFtZV09XCInYW1vdW50J1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNpbnB1dCBbdXNlSW5wdXRNZXNzYWdlc109XCInbmV2ZXInXCIgKGZvY3VzQ2hhbmdlZCk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiPjwvdWktaW5wdXQ+XHJcbiAgPHVpLXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIidjdXJyZW5jeSdcIiBbZGlzcGxheUF0dHJpYnV0ZV09XCInc3ltYm9sJ1wiIFtvcHRpb25zXT1cImN1cnJlbmNpZXNcIiBbdXNlSW5wdXRNZXNzYWdlc109XCInbmV2ZXInXCI+PC91aS1zZWxlY3Q+XHJcbjwvZGl2PlxyXG5cclxuPC91aS1iYXNlLWxheW91dD5cclxuXHJcbiJdfQ==
@@ -1,64 +0,0 @@
1
- import { Component, EventEmitter, Optional, Output, Self, ViewChild } from '@angular/core';
2
- import { UiSimpleComponent } from '../simple/ui-simple.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/material/icon";
6
- import * as i3 from "@angular/material/datepicker";
7
- import * as i4 from "../simple/ui-simple-layout.component";
8
- export class DateComponent extends UiSimpleComponent {
9
- constructor(ngControl) {
10
- super(ngControl);
11
- this.ngControl = ngControl;
12
- // @Input() placeholder: string | undefined;
13
- // @Input() control;
14
- // // @Input() controlName;
15
- // @Input() label;
16
- // @Input() type;
17
- // @Input() floatLabel;
18
- this.doKeyup = new EventEmitter();
19
- this.controlTypeName = 'date';
20
- this.opening = false;
21
- }
22
- open() {
23
- // this.opening = true;
24
- // this.picker.open();
25
- // setTimeout(() => {
26
- // this.input.nativeElement.focus();
27
- // this.opening = false;
28
- // }); // , 150);
29
- }
30
- close() {
31
- // if (!this.opening) {
32
- // this.picker.close();h
33
- // }
34
- }
35
- keyup() {
36
- this.doKeyup.emit();
37
- // this.onChange(this.control.value);
38
- }
39
- writeValue(obj) { }
40
- registerOnChange(fn) {
41
- this.onChange = fn;
42
- }
43
- registerOnTouched(fn) { }
44
- setDisabledState(isDisabled) { }
45
- }
46
- DateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DateComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
47
- DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DateComponent, selector: "ui-date", outputs: { doKeyup: "doKeyup" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\">\r\n <input #input class=\"has-suffix\" (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{width:100%}:host .control-container{width:100%;position:relative}:host ::ng-deep [slot=suffix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep input.has-suffix,:host ::ng-deep textarea.has-suffix,:host ::ng-deep ::ng-deep .mat-select-trigger.has-suffix,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.has-suffix{padding-right:1.8em}:host ::ng-deep input.centered,:host ::ng-deep textarea.centered,:host ::ng-deep ::ng-deep .mat-select-trigger.centered,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.centered{text-align:center}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DateComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'ui-date', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\">\r\n <input #input class=\"has-suffix\" (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{width:100%}:host .control-container{width:100%;position:relative}:host ::ng-deep [slot=suffix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep input.has-suffix,:host ::ng-deep textarea.has-suffix,:host ::ng-deep ::ng-deep .mat-select-trigger.has-suffix,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.has-suffix{padding-right:1.8em}:host ::ng-deep input.centered,:host ::ng-deep textarea.centered,:host ::ng-deep ::ng-deep .mat-select-trigger.centered,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.centered{text-align:center}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"] }]
51
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
52
- type: Optional
53
- }, {
54
- type: Self
55
- }] }]; }, propDecorators: { doKeyup: [{
56
- type: Output
57
- }], picker: [{
58
- type: ViewChild,
59
- args: ['picker']
60
- }], input: [{
61
- type: ViewChild,
62
- args: ['input']
63
- }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQWVsRSxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjtJQW1CbEQsWUFBdUMsU0FBb0I7UUFDekQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRG9CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsQjNELDRDQUE0QztRQUM1QyxvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBRWIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFPdkMsb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFFekIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUloQixDQUFDO0lBRUQsSUFBSTtRQUNGLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHNDQUFzQztRQUN0QywwQkFBMEI7UUFDMUIsaUJBQWlCO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQixJQUFJO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLHFDQUFxQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVEsSUFBVSxDQUFDO0lBRTlCLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxDQUFDO0lBRXBDLGdCQUFnQixDQUFDLFVBQW1CLElBQVUsQ0FBQzs7MEdBbkRwQyxhQUFhOzhGQUFiLGFBQWEsMFJDbEIxQixpYkFTQTsyRkRTYSxhQUFhO2tCQWJ6QixTQUFTOytCQUNFLFNBQVM7OzBCQStCTixRQUFROzswQkFBSSxJQUFJOzRDQVhuQixPQUFPO3NCQUFoQixNQUFNO2dCQUVjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSVVpVHJhbnNsYXRlU2VydmljZSwgVUlfVFJBTlNMQVRFU0VSVklDRSB9IGZyb20gJy4uL3NlcnZpY2VzL3VpLXRyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWRhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4uL3NpbXBsZS91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ11cclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHtcclxuICAvLyAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlQ29tcG9uZW50KSxcclxuICAvLyAgIH1cclxuICAvLyBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IHsgLy8gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgLy8gQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAvLyBASW5wdXQoKSBjb250cm9sO1xyXG4gIC8vIC8vIEBJbnB1dCgpIGNvbnRyb2xOYW1lO1xyXG4gIC8vIEBJbnB1dCgpIGxhYmVsO1xyXG4gIC8vIEBJbnB1dCgpIHR5cGU7XHJcbiAgLy8gQElucHV0KCkgZmxvYXRMYWJlbDtcclxuXHJcbiAgQE91dHB1dCgpIGRvS2V5dXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicpIHBpY2tlcj86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnk7XHJcblxyXG4gIGNvbnRyb2xUeXBlTmFtZSA9ICdkYXRlJztcclxuXHJcbiAgb3BlbmluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xyXG4gICAgc3VwZXIobmdDb250cm9sKTtcclxuICB9XHJcblxyXG4gIG9wZW4oKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLm9wZW5pbmcgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5waWNrZXIub3BlbigpO1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgLy8gICB0aGlzLm9wZW5pbmcgPSBmYWxzZTtcclxuICAgIC8vIH0pOyAvLyAsIDE1MCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIC8vIGlmICghdGhpcy5vcGVuaW5nKSB7XHJcbiAgICAvLyAgIHRoaXMucGlja2VyLmNsb3NlKCk7aFxyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAga2V5dXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvS2V5dXAuZW1pdCgpO1xyXG4gICAgLy8gdGhpcy5vbkNoYW5nZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQgeyB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQgeyB9XHJcbn1cclxuIiwiPHVpLXNpbXBsZS1sYXlvdXQgW2N0eF09XCJ0aGlzXCI+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udHJvbC1jb250YWluZXJcIj5cclxuICA8aW5wdXQgI2lucHV0IGNsYXNzPVwiaGFzLXN1ZmZpeFwiIChibHVyKT1cImNsb3NlKClcIiAoZm9jdXMpPVwib3BlbigpXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgKGtleXVwKT1cImtleXVwKClcIj5cclxuICA8bWF0LWljb24gc2xvdD1cInN1ZmZpeFwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCI+dG9kYXk8L21hdC1pY29uPlxyXG4gIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XHJcbjwvZGl2PlxyXG5cclxuPC91aS1zaW1wbGUtbGF5b3V0PlxyXG4iXX0=
@@ -1,96 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ForceVisibilityDirective {
4
- constructor(el) {
5
- this.el = el;
6
- this.visibilityPadding = 15;
7
- this.visibilityOnRequestOnly = false;
8
- this.visibilityEmitChange = false;
9
- this.visibilityFromTop = 0;
10
- this.visibilityChanged = new EventEmitter();
11
- }
12
- static disableFor(timeoutMs) {
13
- this.disabled = true;
14
- setTimeout(() => this.disabled = false, timeoutMs);
15
- }
16
- ngOnInit() {
17
- if (!this.visibilityOnRequestOnly && !this.visibilityEmitChange) {
18
- setTimeout(() => {
19
- this.forceVisibility();
20
- }, 125);
21
- }
22
- if (this.visibilityEmitChange) {
23
- if (!this.visibilityWithin) {
24
- throw Error('traceVisibilityChanged requires visibilityWithin');
25
- }
26
- else {
27
- this.visible = this.isVisible();
28
- this.visibilityWithin.onscroll = () => {
29
- const v = this.isVisible();
30
- if (v !== this.visible) {
31
- this.visible = v;
32
- this.visibilityChanged.emit(v);
33
- }
34
- };
35
- }
36
- }
37
- }
38
- isVisible() {
39
- const rect = this.el.nativeElement.getBoundingClientRect();
40
- const rectIn = this.visibilityWithin.getBoundingClientRect();
41
- return rect.top + +this.visibilityPadding - rectIn.bottom < 0;
42
- }
43
- forceVisibility() {
44
- if (ForceVisibilityDirective.disabled) {
45
- return;
46
- }
47
- const rect = this.el.nativeElement.getBoundingClientRect();
48
- const padding = +this.visibilityPadding;
49
- if (this.visibilityWithin) {
50
- const rectIn = this.visibilityWithin.getBoundingClientRect();
51
- let diff = rect.top + rect.height + padding - rectIn.bottom;
52
- if (diff > 0) {
53
- this.visibilityWithin.scrollBy(0, diff);
54
- }
55
- else {
56
- diff = rect.top - rectIn.top - padding;
57
- if (diff < 0) {
58
- this.visibilityWithin.scrollBy(0, diff);
59
- }
60
- }
61
- }
62
- else {
63
- if (this.visibilityFromTop !== 0) {
64
- document.getElementsByTagName('app-root')[0].scrollTo(0, rect.top - +this.visibilityFromTop);
65
- }
66
- else {
67
- if (rect.bottom > window.innerHeight) {
68
- document.getElementsByTagName('app-root')[0].scrollBy(0, rect.bottom - window.innerHeight + 15);
69
- }
70
- }
71
- }
72
- }
73
- }
74
- ForceVisibilityDirective.disabled = false;
75
- ForceVisibilityDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ForceVisibilityDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
76
- ForceVisibilityDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: ForceVisibilityDirective, selector: "[uiForceVisibility]", inputs: { visibilityWithin: "visibilityWithin", visibilityPadding: "visibilityPadding", visibilityOnRequestOnly: "visibilityOnRequestOnly", visibilityEmitChange: "visibilityEmitChange", visibilityFromTop: "visibilityFromTop" }, outputs: { visibilityChanged: "visibilityChanged" }, exportAs: ["ForceVisibilityDirective"], ngImport: i0 });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ForceVisibilityDirective, decorators: [{
78
- type: Directive,
79
- args: [{
80
- selector: '[uiForceVisibility]',
81
- exportAs: 'ForceVisibilityDirective'
82
- }]
83
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { visibilityWithin: [{
84
- type: Input
85
- }], visibilityPadding: [{
86
- type: Input
87
- }], visibilityOnRequestOnly: [{
88
- type: Input
89
- }], visibilityEmitChange: [{
90
- type: Input
91
- }], visibilityFromTop: [{
92
- type: Input
93
- }], visibilityChanged: [{
94
- type: Output
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtdmlzaWJpbGl0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RpcmVjdGl2ZXMvZm9yY2UtdmlzaWJpbGl0eS9mb3JjZS12aXNpYmlsaXR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zRixNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBVHpCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUVyQixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBSzFELENBQUM7SUFHTSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQWlCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDL0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUMxQixNQUFN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c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3VpRm9yY2VWaXNpYmlsaXR5XScsXHJcbiAgZXhwb3J0QXM6ICdGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSB2aXNpYmlsaXR5V2l0aGluOiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5UGFkZGluZyA9IDE1O1xyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlPblJlcXVlc3RPbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmlzaWJpbGl0eUVtaXRDaGFuZ2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5RnJvbVRvcCA9IDA7XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmlsaXR5Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSB2aXNpYmxlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlRm9yKHRpbWVvdXRNczogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kaXNhYmxlZCA9IGZhbHNlLCB0aW1lb3V0TXMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudmlzaWJpbGl0eU9uUmVxdWVzdE9ubHkgJiYgIXRoaXMudmlzaWJpbGl0eUVtaXRDaGFuZ2UpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JjZVZpc2liaWxpdHkoKTtcclxuICAgICAgfSwgMTI1KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZpc2liaWxpdHlFbWl0Q2hhbmdlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aXNpYmlsaXR5V2l0aGluKSB7XHJcbiAgICAgICAgdGhyb3cgRXJyb3IoJ3RyYWNlVmlzaWJpbGl0eUNoYW5nZWQgcmVxdWlyZXMgdmlzaWJpbGl0eVdpdGhpbicpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdGhpcy5pc1Zpc2libGUoKTtcclxuICAgICAgICB0aGlzLnZpc2liaWxpdHlXaXRoaW4ub25zY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB2ID0gdGhpcy5pc1Zpc2libGUoKTtcclxuICAgICAgICAgIGlmICh2ICE9PSB0aGlzLnZpc2libGUpIHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdjtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q2hhbmdlZC5lbWl0KHYpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1Zpc2libGUoKSB7XHJcbiAgICBjb25zdCByZWN0ID0gKHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCByZWN0SW4gPSB0aGlzLnZpc2liaWxpdHlXaXRoaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICByZXR1cm4gcmVjdC50b3AgKyArdGhpcy52aXNpYmlsaXR5UGFkZGluZyAtIHJlY3RJbi5ib3R0b20gPCAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcmNlVmlzaWJpbGl0eSgpOiB2b2lkIHtcclxuICAgIGlmIChGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVjdCA9ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgcGFkZGluZyA9ICt0aGlzLnZpc2liaWxpdHlQYWRkaW5nO1xyXG4gICAgaWYgKHRoaXMudmlzaWJpbGl0eVdpdGhpbikge1xyXG4gICAgICBjb25zdCByZWN0SW4gPSB0aGlzLnZpc2liaWxpdHlXaXRoaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGxldCBkaWZmID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCArIHBhZGRpbmcgLSByZWN0SW4uYm90dG9tO1xyXG4gICAgICBpZiAoZGlmZiA+IDApIHtcclxuICAgICAgICB0aGlzLnZpc2liaWxpdHlXaXRoaW4uc2Nyb2xsQnkoMCwgZGlmZik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGlmZiA9IHJlY3QudG9wIC0gcmVjdEluLnRvcCAtIHBhZGRpbmc7XHJcbiAgICAgICAgaWYgKGRpZmYgPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLnZpc2liaWxpdHlXaXRoaW4uc2Nyb2xsQnkoMCwgZGlmZik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy52aXNpYmlsaXR5RnJvbVRvcCAhPT0gMCkge1xyXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhcHAtcm9vdCcpWzBdLnNjcm9sbFRvKDAsIHJlY3QudG9wIC0gK3RoaXMudmlzaWJpbGl0eUZyb21Ub3ApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChyZWN0LmJvdHRvbSA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2FwcC1yb290JylbMF0uc2Nyb2xsQnkoMCwgcmVjdC5ib3R0b20gLSB3aW5kb3cuaW5uZXJIZWlnaHQgKyAxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=