ngwr 0.6.0 → 1.0.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 (192) hide show
  1. package/button/button.d.ts +1 -1
  2. package/checkbox/checkbox.d.ts +1 -1
  3. package/core/color/color.d.ts +1 -1
  4. package/core/overlay/connected-overlay-directive.d.ts +1 -1
  5. package/core/overlay/position-type.d.ts +1 -1
  6. package/core/types/on-change-type.d.ts +1 -1
  7. package/core/types/on-touched-type.d.ts +1 -1
  8. package/core/types/safe-any.d.ts +1 -1
  9. package/dialog/dialog-content-directives.d.ts +1 -1
  10. package/divider/divider.d.ts +1 -1
  11. package/{esm2020 → esm2022}/button/button-module.mjs +5 -5
  12. package/esm2022/button/button.mjs +187 -0
  13. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  14. package/esm2022/checkbox/checkbox.mjs +154 -0
  15. package/{esm2020 → esm2022}/core/abstract/base.mjs +4 -4
  16. package/esm2022/core/overlay/connected-overlay-directive.mjs +98 -0
  17. package/{esm2020 → esm2022}/core/overlay/overlay-module.mjs +5 -5
  18. package/{esm2020 → esm2022}/dialog/dialog-base.mjs +4 -4
  19. package/esm2022/dialog/dialog-container.mjs +58 -0
  20. package/esm2022/dialog/dialog-content-directives.mjs +98 -0
  21. package/{esm2020 → esm2022}/dialog/dialog-module.mjs +5 -5
  22. package/{esm2020 → esm2022}/dialog/dialog-service.mjs +11 -11
  23. package/{esm2020 → esm2022}/divider/divider-module.mjs +5 -5
  24. package/esm2022/divider/divider.mjs +100 -0
  25. package/{esm2020 → esm2022}/form/form-error.mjs +4 -4
  26. package/esm2022/form/form-item.mjs +46 -0
  27. package/{esm2020 → esm2022}/form/form-module.mjs +5 -5
  28. package/{esm2020 → esm2022}/icon/icon-module.mjs +5 -5
  29. package/esm2022/icon/icon-service.mjs +21 -0
  30. package/esm2022/icon/icon.mjs +60 -0
  31. package/{esm2020 → esm2022}/input/input-module.mjs +5 -5
  32. package/esm2022/input/input.mjs +240 -0
  33. package/{esm2020 → esm2022}/skeleton/skeleton-module.mjs +5 -5
  34. package/{esm2020 → esm2022}/skeleton/skeleton.mjs +4 -4
  35. package/{esm2020 → esm2022}/spinner/spinner-module.mjs +5 -5
  36. package/{esm2020 → esm2022}/spinner/spinner.mjs +4 -4
  37. package/{esm2020 → esm2022}/tag/tag-module.mjs +5 -5
  38. package/{esm2020 → esm2022}/tag/tag.mjs +4 -4
  39. package/esm2022/tooltip/tooltip-component.mjs +93 -0
  40. package/esm2022/tooltip/tooltip-directive.mjs +85 -0
  41. package/{esm2020 → esm2022}/tooltip/tooltip-module.mjs +5 -5
  42. package/{fesm2015 → fesm2022}/ngwr-button.mjs +29 -30
  43. package/{fesm2020 → fesm2022}/ngwr-button.mjs.map +1 -1
  44. package/{fesm2015 → fesm2022}/ngwr-checkbox.mjs +39 -40
  45. package/fesm2022/ngwr-checkbox.mjs.map +1 -0
  46. package/{fesm2015 → fesm2022}/ngwr-core-abstract.mjs +3 -4
  47. package/{fesm2020 → fesm2022}/ngwr-core-abstract.mjs.map +1 -1
  48. package/{fesm2020 → fesm2022}/ngwr-core-color.mjs +0 -1
  49. package/{fesm2020 → fesm2022}/ngwr-core-decorators.mjs +0 -1
  50. package/{fesm2015 → fesm2022}/ngwr-core-overlay.mjs +13 -14
  51. package/{fesm2015 → fesm2022}/ngwr-core-overlay.mjs.map +1 -1
  52. package/{fesm2015 → fesm2022}/ngwr-core-types.mjs +0 -1
  53. package/{fesm2020 → fesm2022}/ngwr-dialog.mjs +44 -45
  54. package/{fesm2020 → fesm2022}/ngwr-dialog.mjs.map +1 -1
  55. package/{fesm2015 → fesm2022}/ngwr-divider.mjs +15 -16
  56. package/{fesm2015 → fesm2022}/ngwr-divider.mjs.map +1 -1
  57. package/{fesm2020 → fesm2022}/ngwr-form.mjs +14 -15
  58. package/fesm2022/ngwr-form.mjs.map +1 -0
  59. package/{fesm2020 → fesm2022}/ngwr-icon.mjs +16 -16
  60. package/{fesm2015 → fesm2022}/ngwr-icon.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/ngwr-input.mjs +41 -42
  62. package/fesm2022/ngwr-input.mjs.map +1 -0
  63. package/{fesm2015 → fesm2022}/ngwr-skeleton.mjs +7 -8
  64. package/{fesm2020 → fesm2022}/ngwr-skeleton.mjs.map +1 -1
  65. package/fesm2022/ngwr-spinner.mjs +43 -0
  66. package/fesm2022/ngwr-spinner.mjs.map +1 -0
  67. package/{fesm2015 → fesm2022}/ngwr-tag.mjs +7 -8
  68. package/{fesm2020 → fesm2022}/ngwr-tag.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/ngwr-tooltip.mjs +26 -27
  70. package/{fesm2015 → fesm2022}/ngwr-tooltip.mjs.map +1 -1
  71. package/{fesm2020 → fesm2022}/ngwr.mjs +0 -1
  72. package/form/form-item.d.ts +1 -1
  73. package/icon/icon.d.ts +1 -1
  74. package/icon/icons.d.ts +2 -2
  75. package/input/input-types.d.ts +3 -3
  76. package/input/input.d.ts +1 -1
  77. package/package.json +76 -114
  78. package/skeleton/skeleton.d.ts +1 -1
  79. package/styles/grid.scss +97 -34
  80. package/styles/root.scss +3 -3
  81. package/tag/tag.d.ts +1 -1
  82. package/tooltip/tooltip-component.d.ts +1 -1
  83. package/tooltip/tooltip-directive.d.ts +1 -1
  84. package/tooltip/tooltip-trigger.d.ts +1 -1
  85. package/esm2020/button/button.mjs +0 -187
  86. package/esm2020/checkbox/checkbox.mjs +0 -154
  87. package/esm2020/core/overlay/connected-overlay-directive.mjs +0 -98
  88. package/esm2020/dialog/dialog-container.mjs +0 -58
  89. package/esm2020/dialog/dialog-content-directives.mjs +0 -98
  90. package/esm2020/divider/divider.mjs +0 -100
  91. package/esm2020/form/form-item.mjs +0 -46
  92. package/esm2020/icon/icon-service.mjs +0 -21
  93. package/esm2020/icon/icon.mjs +0 -60
  94. package/esm2020/input/input.mjs +0 -240
  95. package/esm2020/tooltip/tooltip-component.mjs +0 -93
  96. package/esm2020/tooltip/tooltip-directive.mjs +0 -85
  97. package/fesm2015/ngwr-button.mjs.map +0 -1
  98. package/fesm2015/ngwr-checkbox.mjs.map +0 -1
  99. package/fesm2015/ngwr-core-abstract.mjs.map +0 -1
  100. package/fesm2015/ngwr-core-color.mjs +0 -26
  101. package/fesm2015/ngwr-core-decorators.mjs +0 -23
  102. package/fesm2015/ngwr-dialog.mjs +0 -454
  103. package/fesm2015/ngwr-dialog.mjs.map +0 -1
  104. package/fesm2015/ngwr-form.mjs +0 -90
  105. package/fesm2015/ngwr-form.mjs.map +0 -1
  106. package/fesm2015/ngwr-icon.mjs +0 -567
  107. package/fesm2015/ngwr-input.mjs +0 -263
  108. package/fesm2015/ngwr-input.mjs.map +0 -1
  109. package/fesm2015/ngwr-skeleton.mjs.map +0 -1
  110. package/fesm2015/ngwr-spinner.mjs +0 -44
  111. package/fesm2015/ngwr-spinner.mjs.map +0 -1
  112. package/fesm2015/ngwr-tag.mjs.map +0 -1
  113. package/fesm2015/ngwr-tooltip.mjs +0 -208
  114. package/fesm2015/ngwr.mjs +0 -8
  115. package/fesm2020/ngwr-button.mjs +0 -212
  116. package/fesm2020/ngwr-checkbox.mjs +0 -178
  117. package/fesm2020/ngwr-checkbox.mjs.map +0 -1
  118. package/fesm2020/ngwr-core-abstract.mjs +0 -26
  119. package/fesm2020/ngwr-core-color.mjs.map +0 -1
  120. package/fesm2020/ngwr-core-decorators.mjs.map +0 -1
  121. package/fesm2020/ngwr-core-overlay.mjs +0 -147
  122. package/fesm2020/ngwr-core-overlay.mjs.map +0 -1
  123. package/fesm2020/ngwr-core-types.mjs +0 -5
  124. package/fesm2020/ngwr-core-types.mjs.map +0 -1
  125. package/fesm2020/ngwr-divider.mjs +0 -121
  126. package/fesm2020/ngwr-divider.mjs.map +0 -1
  127. package/fesm2020/ngwr-form.mjs.map +0 -1
  128. package/fesm2020/ngwr-icon.mjs.map +0 -1
  129. package/fesm2020/ngwr-input.mjs.map +0 -1
  130. package/fesm2020/ngwr-skeleton.mjs +0 -67
  131. package/fesm2020/ngwr-spinner.mjs +0 -44
  132. package/fesm2020/ngwr-spinner.mjs.map +0 -1
  133. package/fesm2020/ngwr-tag.mjs +0 -105
  134. package/fesm2020/ngwr-tooltip.mjs.map +0 -1
  135. package/fesm2020/ngwr.mjs.map +0 -1
  136. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  137. /package/{esm2020 → esm2022}/button/ngwr-button.mjs +0 -0
  138. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  139. /package/{esm2020 → esm2022}/checkbox/ngwr-checkbox.mjs +0 -0
  140. /package/{esm2020 → esm2022}/core/abstract/index.mjs +0 -0
  141. /package/{esm2020 → esm2022}/core/abstract/ngwr-core-abstract.mjs +0 -0
  142. /package/{esm2020 → esm2022}/core/color/color.mjs +0 -0
  143. /package/{esm2020 → esm2022}/core/color/index.mjs +0 -0
  144. /package/{esm2020 → esm2022}/core/color/is-theme-color.mjs +0 -0
  145. /package/{esm2020 → esm2022}/core/color/ngwr-core-color.mjs +0 -0
  146. /package/{esm2020 → esm2022}/core/decorators/index.mjs +0 -0
  147. /package/{esm2020 → esm2022}/core/decorators/input-boolean.mjs +0 -0
  148. /package/{esm2020 → esm2022}/core/decorators/ngwr-core-decorators.mjs +0 -0
  149. /package/{esm2020 → esm2022}/core/overlay/get-placement-name.mjs +0 -0
  150. /package/{esm2020 → esm2022}/core/overlay/index.mjs +0 -0
  151. /package/{esm2020 → esm2022}/core/overlay/ngwr-core-overlay.mjs +0 -0
  152. /package/{esm2020 → esm2022}/core/overlay/position-map.mjs +0 -0
  153. /package/{esm2020 → esm2022}/core/overlay/position-type.mjs +0 -0
  154. /package/{esm2020 → esm2022}/core/types/index.mjs +0 -0
  155. /package/{esm2020 → esm2022}/core/types/ng-style-interface.mjs +0 -0
  156. /package/{esm2020 → esm2022}/core/types/ngwr-core-types.mjs +0 -0
  157. /package/{esm2020 → esm2022}/core/types/on-change-type.mjs +0 -0
  158. /package/{esm2020 → esm2022}/core/types/on-touched-type.mjs +0 -0
  159. /package/{esm2020 → esm2022}/core/types/property-mapping.mjs +0 -0
  160. /package/{esm2020 → esm2022}/core/types/safe-any.mjs +0 -0
  161. /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
  162. /package/{esm2020 → esm2022}/dialog/dialog-config.mjs +0 -0
  163. /package/{esm2020 → esm2022}/dialog/dialog-ref.mjs +0 -0
  164. /package/{esm2020 → esm2022}/dialog/dialog-tokens.mjs +0 -0
  165. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  166. /package/{esm2020 → esm2022}/dialog/ngwr-dialog.mjs +0 -0
  167. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  168. /package/{esm2020 → esm2022}/divider/ngwr-divider.mjs +0 -0
  169. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  170. /package/{esm2020 → esm2022}/form/ngwr-form.mjs +0 -0
  171. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  172. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  173. /package/{esm2020 → esm2022}/icon/ngwr-icon.mjs +0 -0
  174. /package/{esm2020 → esm2022}/index.mjs +0 -0
  175. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  176. /package/{esm2020 → esm2022}/input/input-types.mjs +0 -0
  177. /package/{esm2020 → esm2022}/input/ngwr-input.mjs +0 -0
  178. /package/{esm2020 → esm2022}/ngwr.mjs +0 -0
  179. /package/{esm2020 → esm2022}/skeleton/index.mjs +0 -0
  180. /package/{esm2020 → esm2022}/skeleton/ngwr-skeleton.mjs +0 -0
  181. /package/{esm2020 → esm2022}/spinner/index.mjs +0 -0
  182. /package/{esm2020 → esm2022}/spinner/ngwr-spinner.mjs +0 -0
  183. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  184. /package/{esm2020 → esm2022}/tag/ngwr-tag.mjs +0 -0
  185. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/tooltip/ngwr-tooltip.mjs +0 -0
  187. /package/{esm2020 → esm2022}/tooltip/tooltip-default-positions.mjs +0 -0
  188. /package/{esm2020 → esm2022}/tooltip/tooltip-trigger.mjs +0 -0
  189. /package/{fesm2015 → fesm2022}/ngwr-core-color.mjs.map +0 -0
  190. /package/{fesm2015 → fesm2022}/ngwr-core-decorators.mjs.map +0 -0
  191. /package/{fesm2015 → fesm2022}/ngwr-core-types.mjs.map +0 -0
  192. /package/{fesm2015 → fesm2022}/ngwr.mjs.map +0 -0
@@ -1,98 +0,0 @@
1
- import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./dialog-ref";
4
- export class WrDialogClose {
5
- constructor(dialogRef) {
6
- this.dialogRef = dialogRef;
7
- }
8
- _onButtonClick(event) {
9
- event.preventDefault();
10
- this.dialogRef.close(undefined);
11
- }
12
- }
13
- WrDialogClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogClose, deps: [{ token: i1.WrDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
14
- WrDialogClose.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrDialogClose, selector: "[wr-dialog-close], [wrDialogClose]", host: { listeners: { "click": "_onButtonClick($event)" } }, exportAs: ["wrDialogClose"], ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogClose, decorators: [{
16
- type: Directive,
17
- args: [{
18
- selector: '[wr-dialog-close], [wrDialogClose]',
19
- exportAs: 'wrDialogClose',
20
- }]
21
- }], ctorParameters: function () { return [{ type: i1.WrDialogRef, decorators: [{
22
- type: Optional
23
- }] }]; }, propDecorators: { _onButtonClick: [{
24
- type: HostListener,
25
- args: ['click', ['$event']]
26
- }] } });
27
- export class WrDialogTitle {
28
- get elClasses() {
29
- return {
30
- 'wr-dialog__title': true,
31
- };
32
- }
33
- }
34
- WrDialogTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
- WrDialogTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrDialogTitle, selector: "[wr-dialog-title], [wrDialogTitle]", host: { properties: { "class": "this.elClasses" } }, exportAs: ["wrtDialogTitle"], ngImport: i0 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogTitle, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: '[wr-dialog-title], [wrDialogTitle]',
40
- exportAs: 'wrtDialogTitle',
41
- }]
42
- }], propDecorators: { elClasses: [{
43
- type: HostBinding,
44
- args: ['class']
45
- }] } });
46
- export class WrDialogContent {
47
- get elClasses() {
48
- return {
49
- 'wr-dialog__content': true,
50
- };
51
- }
52
- }
53
- WrDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
54
- WrDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrDialogContent, selector: "[wr-dialog-content], wr-dialog-content, [wrDialogContent]", host: { properties: { "class": "this.elClasses" } }, ngImport: i0 });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogContent, decorators: [{
56
- type: Directive,
57
- args: [{
58
- selector: `[wr-dialog-content], wr-dialog-content, [wrDialogContent]`,
59
- }]
60
- }], propDecorators: { elClasses: [{
61
- type: HostBinding,
62
- args: ['class']
63
- }] } });
64
- export class WrDialogFooter {
65
- constructor(cdr) {
66
- this.cdr = cdr;
67
- this._position = 'end';
68
- }
69
- get position() {
70
- return this._position;
71
- }
72
- set position(value) {
73
- this._position = value;
74
- this.cdr.markForCheck();
75
- }
76
- get elClasses() {
77
- return {
78
- 'wr-dialog__footer': true,
79
- 'wr-dialog__footer--start': this.position === 'start',
80
- 'wr-dialog__footer--center': this.position === 'center',
81
- 'wr-dialog__footer--end': this.position === 'end',
82
- };
83
- }
84
- }
85
- WrDialogFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogFooter, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
86
- WrDialogFooter.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrDialogFooter, selector: "[wr-dialog-footer], wr-dialog-footer, [wrDialogFooter]", inputs: { position: "position" }, host: { properties: { "class": "this.elClasses" } }, ngImport: i0 });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDialogFooter, decorators: [{
88
- type: Directive,
89
- args: [{
90
- selector: `[wr-dialog-footer], wr-dialog-footer, [wrDialogFooter]`,
91
- }]
92
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { position: [{
93
- type: Input
94
- }], elClasses: [{
95
- type: HostBinding,
96
- args: ['class']
97
- }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9kaWFsb2cvZGlhbG9nLWNvbnRlbnQtZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVN6RyxNQUFNLE9BQU8sYUFBYTtJQU94QixZQUErQixTQUFzQjtRQUF0QixjQUFTLEdBQVQsU0FBUyxDQUFhO0lBQUcsQ0FBQztJQUx6RCxjQUFjLENBQUMsS0FBaUI7UUFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzBHQUxVLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBUWMsUUFBUTs0Q0FMckIsY0FBYztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFhbkMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsSUFDSSxTQUFTO1FBQ1gsT0FBTztZQUNMLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQztJQUNKLENBQUM7OzBHQU5VLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzhCQUdLLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxPQUFPOztBQVd0QixNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUNJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO0lBQ0osQ0FBQzs7NEdBTlUsZUFBZTtnR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBSDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJEQUEyRDtpQkFDdEU7OEJBR0ssU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU87O0FBV3RCLE1BQU0sT0FBTyxjQUFjO0lBcUJ6QixZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVozQyxjQUFTLEdBQStCLEtBQUssQ0FBQztJQVlBLENBQUM7SUFwQnZELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBaUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsSUFDSSxTQUFTO1FBQ1gsT0FBTztZQUNMLG1CQUFtQixFQUFFLElBQUk7WUFDekIsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO1lBQ3JELDJCQUEyQixFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUN2RCx3QkFBd0IsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7U0FDbEQsQ0FBQztJQUNKLENBQUM7OzJHQW5CVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0RBQXdEO2lCQUNuRTt3R0FHSyxRQUFRO3NCQURYLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25nd3IvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBXckRpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3ci1kaWFsb2ctY2xvc2VdLCBbd3JEaWFsb2dDbG9zZV0nLFxuICBleHBvcnRBczogJ3dyRGlhbG9nQ2xvc2UnLFxufSlcbmV4cG9ydCBjbGFzcyBXckRpYWxvZ0Nsb3NlIHtcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBfb25CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodW5kZWZpbmVkKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IFdyRGlhbG9nUmVmKSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd3ItZGlhbG9nLXRpdGxlXSwgW3dyRGlhbG9nVGl0bGVdJyxcbiAgZXhwb3J0QXM6ICd3cnREaWFsb2dUaXRsZScsXG59KVxuZXhwb3J0IGNsYXNzIFdyRGlhbG9nVGl0bGUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGVsQ2xhc3NlcygpOiBTYWZlQW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3dyLWRpYWxvZ19fdGl0bGUnOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3dyLWRpYWxvZy1jb250ZW50XSwgd3ItZGlhbG9nLWNvbnRlbnQsIFt3ckRpYWxvZ0NvbnRlbnRdYCxcbn0pXG5leHBvcnQgY2xhc3MgV3JEaWFsb2dDb250ZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBlbENsYXNzZXMoKTogU2FmZUFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICd3ci1kaWFsb2dfX2NvbnRlbnQnOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3dyLWRpYWxvZy1mb290ZXJdLCB3ci1kaWFsb2ctZm9vdGVyLCBbd3JEaWFsb2dGb290ZXJdYCxcbn0pXG5leHBvcnQgY2xhc3MgV3JEaWFsb2dGb290ZXIge1xuICBASW5wdXQoKVxuICBnZXQgcG9zaXRpb24oKTogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCcge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBzZXQgcG9zaXRpb24odmFsdWU6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBwcml2YXRlIF9wb3NpdGlvbjogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCcgPSAnZW5kJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGVsQ2xhc3NlcygpOiBTYWZlQW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3dyLWRpYWxvZ19fZm9vdGVyJzogdHJ1ZSxcbiAgICAgICd3ci1kaWFsb2dfX2Zvb3Rlci0tc3RhcnQnOiB0aGlzLnBvc2l0aW9uID09PSAnc3RhcnQnLFxuICAgICAgJ3dyLWRpYWxvZ19fZm9vdGVyLS1jZW50ZXInOiB0aGlzLnBvc2l0aW9uID09PSAnY2VudGVyJyxcbiAgICAgICd3ci1kaWFsb2dfX2Zvb3Rlci0tZW5kJzogdGhpcy5wb3NpdGlvbiA9PT0gJ2VuZCcsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
@@ -1,100 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
2
- import { isThemeColor } from 'ngwr/core/color';
3
- import * as i0 from "@angular/core";
4
- export class WrDivider {
5
- constructor(cdr) {
6
- this.cdr = cdr;
7
- this._color = 'light';
8
- this._type = 'solid';
9
- this._width = '1px';
10
- /** Set element role **/
11
- this.role = 'separator';
12
- }
13
- /**
14
- * Set color of `wr-divider`
15
- *
16
- * @default 'light';
17
- */
18
- get color() {
19
- return this._color;
20
- }
21
- set color(value) {
22
- this._color = isThemeColor(value) ? value : 'primary';
23
- this.cdr.markForCheck();
24
- }
25
- /**
26
- * Set style of `wr-divider`
27
- *
28
- * @default `solid`;
29
- */
30
- get type() {
31
- return this._type;
32
- }
33
- set type(value) {
34
- this._type = value;
35
- this.cdr.markForCheck();
36
- }
37
- /**
38
- * Set width of `wr-divider`
39
- *
40
- * @default 1px;
41
- */
42
- get width() {
43
- return this._width;
44
- }
45
- set width(value) {
46
- this._width = value;
47
- this.cdr.markForCheck();
48
- }
49
- /** Set element classes */
50
- get elClasses() {
51
- return {
52
- 'wr-divider': true,
53
- 'wr-divider--primary': this.color === 'primary',
54
- 'wr-divider--secondary': this.color === 'secondary',
55
- 'wr-divider--success': this.color === 'success',
56
- 'wr-divider--warning': this.color === 'warning',
57
- 'wr-divider--danger': this.color === 'danger',
58
- 'wr-divider--light': this.color === 'light',
59
- 'wr-divider--medium': this.color === 'medium',
60
- 'wr-divider--dark': this.color === 'dark',
61
- 'wr-divider--solid': this.type === 'solid',
62
- 'wr-divider--dashed': this.type === 'dashed',
63
- 'wr-divider--dotted': this.type === 'dotted',
64
- };
65
- }
66
- /** Set element style **/
67
- get elStyles() {
68
- return {
69
- '--wr-divider-width': this.width,
70
- };
71
- }
72
- }
73
- WrDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDivider, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
74
- WrDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: WrDivider, selector: "wr-divider", inputs: { color: "color", type: "type", width: "width" }, host: { properties: { "class": "this.elClasses", "style": "this.elStyles", "role": "this.role" } }, exportAs: ["wrDivider"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrDivider, decorators: [{
76
- type: Component,
77
- args: [{
78
- selector: 'wr-divider',
79
- exportAs: 'wrDivider',
80
- template: '',
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- encapsulation: ViewEncapsulation.None,
83
- }]
84
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { color: [{
85
- type: Input
86
- }], type: [{
87
- type: Input
88
- }], width: [{
89
- type: Input
90
- }], elClasses: [{
91
- type: HostBinding,
92
- args: ['class']
93
- }], elStyles: [{
94
- type: HostBinding,
95
- args: ['style']
96
- }], role: [{
97
- type: HostBinding,
98
- args: ['role']
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9kaXZpZGVyL2RpdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVN0QsTUFBTSxPQUFPLFNBQVM7SUEwRXBCLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBNUQzQyxXQUFNLEdBQWlCLE9BQU8sQ0FBQztRQWMvQixVQUFLLEdBQWtDLE9BQU8sQ0FBQztRQWMvQyxXQUFNLEdBQVcsS0FBSyxDQUFDO1FBNkIvQix3QkFBd0I7UUFDSCxTQUFJLEdBQUcsV0FBVyxDQUFDO0lBRWMsQ0FBQztJQXpFdkQ7Ozs7T0FJRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQW9DO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsMEJBQTBCO0lBQzFCLElBQ0ksU0FBUztRQUNYLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixxQkFBcUIsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDL0MsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXO1lBQ25ELHFCQUFxQixFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUztZQUMvQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDL0Msb0JBQW9CLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRO1lBQzdDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTztZQUMzQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFDN0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNO1lBQ3pDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUMxQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDNUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQ0ksUUFBUTtRQUNWLE9BQU87WUFDTCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsS0FBSztTQUNqQyxDQUFDO0lBQ0osQ0FBQzs7c0dBckVVLFNBQVM7MEZBQVQsU0FBUyx5T0FKVixFQUFFOzJGQUlELFNBQVM7a0JBUHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3dHQVFLLEtBQUs7c0JBRFIsS0FBSztnQkFlRixJQUFJO3NCQURQLEtBQUs7Z0JBZUYsS0FBSztzQkFEUixLQUFLO2dCQVlGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxPQUFPO2dCQW9CaEIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLE9BQU87Z0JBUUMsSUFBSTtzQkFBeEIsV0FBVzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1RoZW1lQ29sb3IsIFdyVGhlbWVDb2xvciB9IGZyb20gJ25nd3IvY29yZS9jb2xvcic7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd3ci9jb3JlL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3ItZGl2aWRlcicsXG4gIGV4cG9ydEFzOiAnd3JEaXZpZGVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgV3JEaXZpZGVyIHtcbiAgLyoqXG4gICAqIFNldCBjb2xvciBvZiBgd3ItZGl2aWRlcmBcbiAgICpcbiAgICogQGRlZmF1bHQgJ2xpZ2h0JztcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpOiBXclRoZW1lQ29sb3Ige1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IodmFsdWU6IFdyVGhlbWVDb2xvcikge1xuICAgIHRoaXMuX2NvbG9yID0gaXNUaGVtZUNvbG9yKHZhbHVlKSA/IHZhbHVlIDogJ3ByaW1hcnknO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIHByaXZhdGUgX2NvbG9yOiBXclRoZW1lQ29sb3IgPSAnbGlnaHQnO1xuICAvKipcbiAgICogU2V0IHN0eWxlIG9mIGB3ci1kaXZpZGVyYFxuICAgKlxuICAgKiBAZGVmYXVsdCBgc29saWRgO1xuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKTogJ3NvbGlkJyB8ICdkYXNoZWQnIHwgJ2RvdHRlZCcge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG4gIHNldCB0eXBlKHZhbHVlOiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBwcml2YXRlIF90eXBlOiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJyA9ICdzb2xpZCc7XG4gIC8qKlxuICAgKiBTZXQgd2lkdGggb2YgYHdyLWRpdmlkZXJgXG4gICAqXG4gICAqIEBkZWZhdWx0IDFweDtcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB3aWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgfVxuICBzZXQgd2lkdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgcHJpdmF0ZSBfd2lkdGg6IHN0cmluZyA9ICcxcHgnO1xuXG4gIC8qKiBTZXQgZWxlbWVudCBjbGFzc2VzICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZWxDbGFzc2VzKCk6IFNhZmVBbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnd3ItZGl2aWRlcic6IHRydWUsXG4gICAgICAnd3ItZGl2aWRlci0tcHJpbWFyeSc6IHRoaXMuY29sb3IgPT09ICdwcmltYXJ5JyxcbiAgICAgICd3ci1kaXZpZGVyLS1zZWNvbmRhcnknOiB0aGlzLmNvbG9yID09PSAnc2Vjb25kYXJ5JyxcbiAgICAgICd3ci1kaXZpZGVyLS1zdWNjZXNzJzogdGhpcy5jb2xvciA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgJ3dyLWRpdmlkZXItLXdhcm5pbmcnOiB0aGlzLmNvbG9yID09PSAnd2FybmluZycsXG4gICAgICAnd3ItZGl2aWRlci0tZGFuZ2VyJzogdGhpcy5jb2xvciA9PT0gJ2RhbmdlcicsXG4gICAgICAnd3ItZGl2aWRlci0tbGlnaHQnOiB0aGlzLmNvbG9yID09PSAnbGlnaHQnLFxuICAgICAgJ3dyLWRpdmlkZXItLW1lZGl1bSc6IHRoaXMuY29sb3IgPT09ICdtZWRpdW0nLFxuICAgICAgJ3dyLWRpdmlkZXItLWRhcmsnOiB0aGlzLmNvbG9yID09PSAnZGFyaycsXG4gICAgICAnd3ItZGl2aWRlci0tc29saWQnOiB0aGlzLnR5cGUgPT09ICdzb2xpZCcsXG4gICAgICAnd3ItZGl2aWRlci0tZGFzaGVkJzogdGhpcy50eXBlID09PSAnZGFzaGVkJyxcbiAgICAgICd3ci1kaXZpZGVyLS1kb3R0ZWQnOiB0aGlzLnR5cGUgPT09ICdkb3R0ZWQnLFxuICAgIH07XG4gIH1cblxuICAvKiogU2V0IGVsZW1lbnQgc3R5bGUgKiovXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKVxuICBnZXQgZWxTdHlsZXMoKTogU2FmZUFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICctLXdyLWRpdmlkZXItd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgIH07XG4gIH1cblxuICAvKiogU2V0IGVsZW1lbnQgcm9sZSAqKi9cbiAgQEhvc3RCaW5kaW5nKCdyb2xlJykgcm9sZSA9ICdzZXBhcmF0b3InO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
4
- import { InputBoolean } from 'ngwr/core/decorators';
5
- import * as i0 from "@angular/core";
6
- export class WrFormItem {
7
- constructor(cdr) {
8
- this.cdr = cdr;
9
- this._hasError = false;
10
- }
11
- get hasError() {
12
- return this._hasError;
13
- }
14
- set hasError(value) {
15
- this._hasError = coerceBooleanProperty(value);
16
- this.cdr.markForCheck();
17
- }
18
- /** Set element classes */
19
- get elClasses() {
20
- return {
21
- 'wr-form-item': true,
22
- 'wr-form-item--has-error': this.hasError,
23
- };
24
- }
25
- }
26
- WrFormItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrFormItem, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
27
- WrFormItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: WrFormItem, selector: "wr-form-item", inputs: { hasError: "hasError" }, host: { properties: { "class": "this.elClasses" } }, exportAs: ["wrFormItem"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
28
- __decorate([
29
- InputBoolean()
30
- ], WrFormItem.prototype, "hasError", null);
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrFormItem, decorators: [{
32
- type: Component,
33
- args: [{
34
- selector: 'wr-form-item',
35
- exportAs: 'wrFormItem',
36
- template: `<ng-content></ng-content>`,
37
- changeDetection: ChangeDetectionStrategy.OnPush,
38
- encapsulation: ViewEncapsulation.None,
39
- }]
40
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hasError: [{
41
- type: Input
42
- }], elClasses: [{
43
- type: HostBinding,
44
- args: ['class']
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliL2Zvcm0vZm9ybS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVVwRCxNQUFNLE9BQU8sVUFBVTtJQXFCckIsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFYM0MsY0FBUyxHQUFZLEtBQUssQ0FBQztJQVdtQixDQUFDO0lBbEJ2RCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsMEJBQTBCO0lBQzFCLElBQ0ksU0FBUztRQUNYLE9BQU87WUFDTCxjQUFjLEVBQUUsSUFBSTtZQUNwQix5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN6QyxDQUFDO0lBQ0osQ0FBQzs7dUdBbkJVLFVBQVU7MkZBQVYsVUFBVSxxS0FKWCwyQkFBMkI7QUFPckM7SUFEQyxZQUFZLEVBQUU7MENBR2Q7MkZBTFUsVUFBVTtrQkFQdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7d0dBSUssUUFBUTtzQkFGWCxLQUFLO2dCQWFGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZ3dyL2NvcmUvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd3ci9jb3JlL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3ItZm9ybS1pdGVtJyxcbiAgZXhwb3J0QXM6ICd3ckZvcm1JdGVtJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFdyRm9ybUl0ZW0ge1xuICBASW5wdXQoKVxuICBASW5wdXRCb29sZWFuKClcbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNFcnJvcjtcbiAgfVxuICBzZXQgaGFzRXJyb3IodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2hhc0Vycm9yID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBwcml2YXRlIF9oYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgZWxlbWVudCBjbGFzc2VzICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZWxDbGFzc2VzKCk6IFNhZmVBbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnd3ItZm9ybS1pdGVtJzogdHJ1ZSxcbiAgICAgICd3ci1mb3JtLWl0ZW0tLWhhcy1lcnJvcic6IHRoaXMuaGFzRXJyb3IsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { wrIconSet } from './icons';
3
- import * as i0 from "@angular/core";
4
- export class WrIconService {
5
- get registry() {
6
- return WrIconService.registry;
7
- }
8
- static registerIcons() {
9
- wrIconSet.forEach((icon) => WrIconService.registry.set(icon.name, icon.data));
10
- }
11
- }
12
- WrIconService.registry = new Map();
13
- WrIconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- WrIconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, providedIn: 'root' });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root',
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliL2ljb24vaWNvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFXLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFHeEIsSUFBSSxRQUFRO1FBQ1YsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYTtRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O0FBUmEsc0JBQVEsR0FBa0MsSUFBSSxHQUFHLEVBQWtCLENBQUM7MEdBRHZFLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElXckljb24sIHdySWNvblNldCB9IGZyb20gJy4vaWNvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV3JJY29uU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0cnk6IFJlYWRvbmx5PE1hcDxzdHJpbmcsIHN0cmluZz4+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBnZXQgcmVnaXN0cnkoKTogUmVhZG9ubHk8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIHJldHVybiBXckljb25TZXJ2aWNlLnJlZ2lzdHJ5O1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVySWNvbnMoKTogdm9pZCB7XG4gICAgd3JJY29uU2V0LmZvckVhY2goKGljb246IElXckljb24pID0+IFdySWNvblNlcnZpY2UucmVnaXN0cnkuc2V0KGljb24ubmFtZSwgaWNvbi5kYXRhKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, HostBinding, Inject, Input, Optional } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./icon-service";
5
- export class WrIcon {
6
- constructor(elRef, iconService, doc) {
7
- this.elRef = elRef;
8
- this.iconService = iconService;
9
- this.doc = doc;
10
- }
11
- set name(value) {
12
- if (!this.iconService.registry.has(value)) {
13
- console.warn(`Icon ${value} was not found in NGWR icons`);
14
- return;
15
- }
16
- if (this.svg) {
17
- this.elRef.nativeElement.removeChild(this.svg);
18
- }
19
- const svgData = this.iconService.registry.get(value) || '';
20
- this.svg = this.svgElementFromString(svgData);
21
- this.elRef.nativeElement.appendChild(this.svg);
22
- }
23
- get svg() {
24
- return this._svg;
25
- }
26
- set svg(value) {
27
- this._svg = value;
28
- }
29
- /** Set element classes */
30
- get elClasses() {
31
- return {
32
- 'wr-icon': true,
33
- };
34
- }
35
- svgElementFromString(svgContent) {
36
- const div = this.doc.createElement('div');
37
- div.innerHTML = svgContent;
38
- return div.querySelector('svg') || this.doc.createElementNS('http://www.w3.org/2000/svg', 'path');
39
- }
40
- }
41
- WrIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIcon, deps: [{ token: i0.ElementRef }, { token: i1.WrIconService }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
42
- WrIcon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrIcon, selector: "wr-icon[name]", inputs: { name: "name" }, host: { properties: { "class": "this.elClasses" } }, exportAs: ["wrIcon"], ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIcon, decorators: [{
44
- type: Directive,
45
- args: [{
46
- selector: 'wr-icon[name]',
47
- exportAs: 'wrIcon',
48
- }]
49
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.WrIconService }, { type: Document, decorators: [{
50
- type: Optional
51
- }, {
52
- type: Inject,
53
- args: [DOCUMENT]
54
- }] }]; }, propDecorators: { name: [{
55
- type: Input
56
- }], elClasses: [{
57
- type: HostBinding,
58
- args: ['class']
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9pY29uL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXNUYsTUFBTSxPQUFPLE1BQU07SUFpQ2pCLFlBQ21CLEtBQThCLEVBQzlCLFdBQTBCLEVBQ0ksR0FBYTtRQUYzQyxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUNJLFFBQUcsR0FBSCxHQUFHLENBQVU7SUFDM0QsQ0FBQztJQXBDSixJQUNJLElBQUksQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLDhCQUE4QixDQUFDLENBQUM7WUFDMUQsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoRDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUE2QjtRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR0QsMEJBQTBCO0lBQzFCLElBQ0ksU0FBUztRQUNYLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQVFPLG9CQUFvQixDQUFDLFVBQWtCO1FBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRyxDQUFDOzttR0EzQ1UsTUFBTSx5RUFvQ0ssUUFBUTt1RkFwQ25CLE1BQU07MkZBQU4sTUFBTTtrQkFKbEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLFFBQVE7aUJBQ25COzswQkFxQ0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzRDQWxDMUIsSUFBSTtzQkFEUCxLQUFLO2dCQTBCRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3dyL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBXckljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXNlcnZpY2UnO1xuaW1wb3J0IHsgd3JJY29uTmFtZSB9IGZyb20gJy4vaWNvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd3ci1pY29uW25hbWVdJyxcbiAgZXhwb3J0QXM6ICd3ckljb24nLFxufSlcbmV4cG9ydCBjbGFzcyBXckljb24ge1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogd3JJY29uTmFtZSB8IHN0cmluZykge1xuICAgIGlmICghdGhpcy5pY29uU2VydmljZS5yZWdpc3RyeS5oYXModmFsdWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEljb24gJHt2YWx1ZX0gd2FzIG5vdCBmb3VuZCBpbiBOR1dSIGljb25zYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3ZnKSB7XG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5zdmcpO1xuICAgIH1cblxuICAgIGNvbnN0IHN2Z0RhdGEgPSB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdHJ5LmdldCh2YWx1ZSkgfHwgJyc7XG4gICAgdGhpcy5zdmcgPSB0aGlzLnN2Z0VsZW1lbnRGcm9tU3RyaW5nKHN2Z0RhdGEpO1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnN2Zyk7XG4gIH1cblxuICBnZXQgc3ZnKCk6IFNWR0VsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdmc7XG4gIH1cbiAgc2V0IHN2Zyh2YWx1ZTogU1ZHRWxlbWVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3N2ZyA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3N2ZzogU1ZHRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKiogU2V0IGVsZW1lbnQgY2xhc3NlcyAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGVsQ2xhc3NlcygpOiBTYWZlQW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3dyLWljb24nOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBXckljb25TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudFxuICApIHt9XG5cbiAgcHJpdmF0ZSBzdmdFbGVtZW50RnJvbVN0cmluZyhzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudDtcbiAgICByZXR1cm4gZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncGF0aCcpO1xuICB9XG59XG4iXX0=
@@ -1,240 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
- import { ChangeDetectionStrategy, Component, forwardRef, HostBinding, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
4
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
5
- import { fromEvent } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { WrAbstractBase } from 'ngwr/core/abstract';
8
- import { InputBoolean } from 'ngwr/core/decorators';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/cdk/a11y";
11
- import * as i2 from "@angular/common";
12
- import * as i3 from "@angular/forms";
13
- import * as i4 from "ngwr/icon";
14
- export class WrInput extends WrAbstractBase {
15
- constructor(cdr, elRef, focusMonitor, ngZone) {
16
- super();
17
- this.cdr = cdr;
18
- this.elRef = elRef;
19
- this.focusMonitor = focusMonitor;
20
- this.ngZone = ngZone;
21
- this.placeholder = '';
22
- this.prefix = null;
23
- this.suffix = null;
24
- this.passwordIcons = false;
25
- this.eyeOn = true;
26
- this._value = '';
27
- this._disabled = false;
28
- this._readonly = false;
29
- this._required = false;
30
- this._autofocus = false;
31
- this._focused = false;
32
- this._autocomplete = 'off';
33
- this._type = 'text';
34
- this._mode = 'text';
35
- this.onChangeCallback = () => { };
36
- this.onTouchedCallback = () => { };
37
- }
38
- get type() {
39
- return this._type;
40
- }
41
- set type(type) {
42
- this._type = type;
43
- }
44
- get inputmode() {
45
- return this._mode;
46
- }
47
- set inputmode(mode) {
48
- this._mode = mode;
49
- }
50
- get disabled() {
51
- return this._disabled;
52
- }
53
- set disabled(disabled) {
54
- this._disabled = coerceBooleanProperty(disabled);
55
- this.cdr.markForCheck();
56
- }
57
- get readonly() {
58
- return this._readonly;
59
- }
60
- set readonly(readonly) {
61
- this._readonly = coerceBooleanProperty(readonly);
62
- }
63
- get required() {
64
- return this._required;
65
- }
66
- set required(required) {
67
- this._required = coerceBooleanProperty(required);
68
- }
69
- get autofocus() {
70
- return this._autofocus;
71
- }
72
- set autofocus(autofocus) {
73
- this._autofocus = coerceBooleanProperty(autofocus);
74
- }
75
- get autocomplete() {
76
- return this._autocomplete;
77
- }
78
- set autocomplete(autofocus) {
79
- this._autocomplete = autofocus;
80
- }
81
- get value() {
82
- return this.type === 'number' ? this.valueAsNumber : this._value;
83
- }
84
- set value(val) {
85
- if (val !== this._value) {
86
- this._value = val;
87
- this.onChangeCallback(this.value);
88
- }
89
- }
90
- get valueAsString() {
91
- if (this._value == null || typeof this._value === 'undefined')
92
- return '';
93
- return String(this._value);
94
- }
95
- get valueAsNumber() {
96
- return coerceNumberProperty(this._value);
97
- }
98
- get isBadInput() {
99
- const validity = this.inputElement?.nativeElement?.validity;
100
- return validity && validity.badInput;
101
- }
102
- get elClasses() {
103
- return {
104
- 'wr-input': true,
105
- 'wr-input--has-prefix': this.prefix,
106
- 'wr-input--has-suffix': this.suffix,
107
- 'wr-input--password': this.passwordIcons,
108
- 'wr-input--disabled': this.disabled,
109
- };
110
- }
111
- ngOnInit() {
112
- this.ngZone.runOutsideAngular(() => {
113
- fromEvent(this.elRef.nativeElement, 'click')
114
- .pipe(takeUntil(this.destroyed$))
115
- .subscribe(event => {
116
- event.preventDefault();
117
- this.onFocus();
118
- if (this.disabled) {
119
- event.stopImmediatePropagation();
120
- return;
121
- }
122
- });
123
- fromEvent(this.inputElement.nativeElement, 'click')
124
- .pipe(takeUntil(this.destroyed$))
125
- .subscribe(event => event.stopPropagation());
126
- });
127
- }
128
- ngAfterViewInit() {
129
- if (this.autofocus) {
130
- this.onFocus();
131
- this.cdr.markForCheck();
132
- }
133
- }
134
- ngOnDestroy() {
135
- super.ngOnDestroy();
136
- this.focusMonitor.stopMonitoring(this.elRef);
137
- }
138
- onFocus(event) {
139
- if (event) {
140
- event.stopPropagation();
141
- }
142
- this._focused = true;
143
- this.focusMonitor.focusVia(this.inputElement, 'keyboard');
144
- }
145
- onBlur(event) {
146
- if (event) {
147
- event.stopPropagation();
148
- }
149
- this._focused = false;
150
- // this.inputElement.nativeElement.blur();
151
- this.onTouchedCallback();
152
- }
153
- validate(control) {
154
- return {
155
- ...(this.isBadInput ? { badInput: true } : null),
156
- };
157
- }
158
- writeValue(value) {
159
- if (value !== this._value) {
160
- this._value = value;
161
- }
162
- this.cdr.markForCheck();
163
- }
164
- registerOnChange(fn) {
165
- this.onChangeCallback = fn;
166
- }
167
- registerOnTouched(fn) {
168
- this.onTouchedCallback = fn;
169
- }
170
- onPasswordVisibilityChange() {
171
- this.type === 'password' ? (this.type = 'text') : (this.type = 'password');
172
- this.eyeOn = !this.eyeOn;
173
- this.onFocus();
174
- }
175
- setDisabledState(isDisabled) {
176
- this.disabled = coerceBooleanProperty(isDisabled);
177
- }
178
- }
179
- WrInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
180
- WrInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: WrInput, selector: "wr-input", inputs: { placeholder: "placeholder", prefix: "prefix", suffix: "suffix", passwordIcons: "passwordIcons", type: "type", inputmode: "inputmode", disabled: "disabled", readonly: "readonly", required: "required", autofocus: "autofocus", autocomplete: "autocomplete", value: "value" }, host: { properties: { "class": "this.elClasses" } }, providers: [
181
- {
182
- provide: NG_VALUE_ACCESSOR,
183
- useExisting: forwardRef(() => WrInput),
184
- multi: true,
185
- },
186
- {
187
- provide: NG_VALIDATORS,
188
- useExisting: forwardRef(() => WrInput),
189
- multi: true,
190
- },
191
- ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }], exportAs: ["wrInput"], usesInheritance: true, ngImport: i0, template: "<div class=\"wr-input-prefix\" *ngIf=\"prefix\">\n <span class=\"wr-input-prefix__text\">{{ prefix }}</span>\n</div>\n<div class=\"wr-input-el\">\n <div *ngIf=\"passwordIcons\" class=\"wr-input-el-icon\" (click)=\"onPasswordVisibilityChange()\">\n <wr-icon class=\"wr-input-el-icon__icon\" [name]=\"eyeOn ? 'eye' : 'eye-off'\"></wr-icon>\n </div>\n <input\n #inputElement\n class=\"wr-input-el__native\"\n [ngModel]=\"valueAsString\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [type]=\"type\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.inputmode]=\"inputmode\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (ngModelChange)=\"value = $event\"\n />\n</div>\n<div class=\"wr-input-suffix\" *ngIf=\"suffix\">\n <span class=\"wr-input-suffix__text\">{{ suffix }}</span>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.WrIcon, selector: "wr-icon[name]", inputs: ["name"], exportAs: ["wrIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
192
- __decorate([
193
- InputBoolean()
194
- ], WrInput.prototype, "passwordIcons", void 0);
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrInput, decorators: [{
196
- type: Component,
197
- args: [{ selector: 'wr-input', exportAs: 'wrInput', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
198
- {
199
- provide: NG_VALUE_ACCESSOR,
200
- useExisting: forwardRef(() => WrInput),
201
- multi: true,
202
- },
203
- {
204
- provide: NG_VALIDATORS,
205
- useExisting: forwardRef(() => WrInput),
206
- multi: true,
207
- },
208
- ], template: "<div class=\"wr-input-prefix\" *ngIf=\"prefix\">\n <span class=\"wr-input-prefix__text\">{{ prefix }}</span>\n</div>\n<div class=\"wr-input-el\">\n <div *ngIf=\"passwordIcons\" class=\"wr-input-el-icon\" (click)=\"onPasswordVisibilityChange()\">\n <wr-icon class=\"wr-input-el-icon__icon\" [name]=\"eyeOn ? 'eye' : 'eye-off'\"></wr-icon>\n </div>\n <input\n #inputElement\n class=\"wr-input-el__native\"\n [ngModel]=\"valueAsString\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [type]=\"type\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.inputmode]=\"inputmode\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (ngModelChange)=\"value = $event\"\n />\n</div>\n<div class=\"wr-input-suffix\" *ngIf=\"suffix\">\n <span class=\"wr-input-suffix__text\">{{ suffix }}</span>\n</div>\n" }]
209
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.NgZone }]; }, propDecorators: { placeholder: [{
210
- type: Input
211
- }], prefix: [{
212
- type: Input
213
- }], suffix: [{
214
- type: Input
215
- }], passwordIcons: [{
216
- type: Input
217
- }], type: [{
218
- type: Input
219
- }], inputmode: [{
220
- type: Input
221
- }], disabled: [{
222
- type: Input
223
- }], readonly: [{
224
- type: Input
225
- }], required: [{
226
- type: Input
227
- }], autofocus: [{
228
- type: Input
229
- }], autocomplete: [{
230
- type: Input
231
- }], value: [{
232
- type: Input
233
- }], inputElement: [{
234
- type: ViewChild,
235
- args: ['inputElement', { static: true }]
236
- }], elClasses: [{
237
- type: HostBinding,
238
- args: ['class']
239
- }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saWIvaW5wdXQvaW5wdXQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saWIvaW5wdXQvaW5wdXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xHLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUF3QnBELE1BQU0sT0FBTyxPQUNYLFNBQVEsY0FBYztJQTBHdEIsWUFDbUIsR0FBc0IsRUFDdEIsS0FBbUMsRUFDbkMsWUFBMEIsRUFDMUIsTUFBYztRQUUvQixLQUFLLEVBQUUsQ0FBQztRQUxTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQThCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzR3hCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQ2Isa0JBQWEsR0FBaUIsS0FBSyxDQUFDO1FBdUY3RCxVQUFLLEdB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bUJBRUYsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lMQU1RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDbUIsYUFBYTtzQkFBckMsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBUUYsU0FBUztzQkFEWixLQUFLO2dCQVFGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBUUYsUUFBUTtzQkFEWCxLQUFLO2dCQVFGLFNBQVM7c0JBRFosS0FBSztnQkFRRixZQUFZO3NCQURmLEtBQUs7Z0JBUUYsS0FBSztzQkFEUixLQUFLO2dCQXVCdUMsWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUV2QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBXckFic3RyYWN0QmFzZSB9IGZyb20gJ25nd3IvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZ3dyL2NvcmUvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBPbkNoYW5nZVR5cGUsIE9uVG91Y2hlZFR5cGUsIFNhZmVBbnkgfSBmcm9tICduZ3dyL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBXcklucHV0QXV0b2NvbXBsZXRlLCBXcklucHV0TW9kZVR5cGUsIFdySW5wdXRUeXBlIH0gZnJvbSAnLi9pbnB1dC10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dyLWlucHV0JyxcbiAgZXhwb3J0QXM6ICd3cklucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXcklucHV0KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdySW5wdXQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV3JJbnB1dFxuICBleHRlbmRzIFdyQWJzdHJhY3RCYXNlXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95LCBWYWxpZGF0b3JcbntcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcmVmaXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBzdWZmaXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcGFzc3dvcmRJY29uczogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKTogV3JJbnB1dFR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG4gIHNldCB0eXBlKHR5cGU6IFdySW5wdXRUeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGlucHV0bW9kZSgpOiBXcklucHV0TW9kZVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlO1xuICB9XG4gIHNldCBpbnB1dG1vZGUobW9kZTogV3JJbnB1dE1vZGVUeXBlKSB7XG4gICAgdGhpcy5fbW9kZSA9IG1vZGU7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGRpc2FibGVkKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBASW5wdXQoKVxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG4gIHNldCByZWFkb25seShyZWFkb25seTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVhZG9ubHkpO1xuICB9XG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHJlcXVpcmVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZXF1aXJlZCk7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGF1dG9mb2N1cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b2ZvY3VzO1xuICB9XG4gIHNldCBhdXRvZm9jdXMoYXV0b2ZvY3VzOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hdXRvZm9jdXMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoYXV0b2ZvY3VzKTtcbiAgfVxuICBASW5wdXQoKVxuICBnZXQgYXV0b2NvbXBsZXRlKCk6IFdySW5wdXRBdXRvY29tcGxldGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGU7XG4gIH1cbiAgc2V0IGF1dG9jb21wbGV0ZShhdXRvZm9jdXM6IFdySW5wdXRBdXRvY29tcGxldGUpIHtcbiAgICB0aGlzLl9hdXRvY29tcGxldGUgPSBhdXRvZm9jdXM7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ251bWJlcicgPyB0aGlzLnZhbHVlQXNOdW1iZXIgOiB0aGlzLl92YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWw7XG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG4gIGdldCB2YWx1ZUFzU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlID09IG51bGwgfHwgdHlwZW9mIHRoaXMuX3ZhbHVlID09PSAndW5kZWZpbmVkJykgcmV0dXJuICcnO1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5fdmFsdWUpO1xuICB9XG4gIGdldCB2YWx1ZUFzTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvZXJjZU51bWJlclByb3BlcnR5KHRoaXMuX3ZhbHVlKTtcbiAgfVxuXG4gIGdldCBpc0JhZElucHV0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbGlkaXR5ID0gdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/LnZhbGlkaXR5O1xuICAgIHJldHVybiB2YWxpZGl0eSAmJiB2YWxpZGl0eS5iYWRJbnB1dDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZWxDbGFzc2VzKCk6IFNhZmVBbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnd3ItaW5wdXQnOiB0cnVlLFxuICAgICAgJ3dyLWlucHV0LS1oYXMtcHJlZml4JzogdGhpcy5wcmVmaXgsXG4gICAgICAnd3ItaW5wdXQtLWhhcy1zdWZmaXgnOiB0aGlzLnN1ZmZpeCxcbiAgICAgICd3ci1pbnB1dC0tcGFzc3dvcmQnOiB0aGlzLnBhc3N3b3JkSWNvbnMsXG4gICAgICAnd3ItaW5wdXQtLWRpc2FibGVkJzogdGhpcy5kaXNhYmxlZCxcbiAgICB9O1xuICB9XG5cbiAgZXllT24gPSB0cnVlO1xuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2F1dG9mb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9mb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2F1dG9jb21wbGV0ZTogV3JJbnB1dEF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuICBwcml2YXRlIF90eXBlOiBXcklucHV0VHlwZSA9ICd0ZXh0JztcbiAgcHJpdmF0ZSBfbW9kZTogV3JJbnB1dE1vZGVUeXBlID0gJ3RleHQnO1xuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IE9uQ2hhbmdlVHlwZSA9ICgpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiBPblRvdWNoZWRUeXBlID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLm9uRm9jdXMoKTtcbiAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGZyb21FdmVudCh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICB0aGlzLm9uRm9jdXMoKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbFJlZik7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50PzogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuX2ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuaW5wdXRFbGVtZW50LCAna2V5Ym9hcmQnKTtcbiAgfVxuXG4gIG9uQmx1cihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuICAgIC8vIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uKHRoaXMuaXNCYWRJbnB1dCA/IHsgYmFkSW5wdXQ6IHRydWUgfSA6IG51bGwpLFxuICAgIH07XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IE9uQ2hhbmdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IE9uVG91Y2hlZFR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBvblBhc3N3b3JkVmlzaWJpbGl0eUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnR5cGUgPT09ICdwYXNzd29yZCcgPyAodGhpcy50eXBlID0gJ3RleHQnKSA6ICh0aGlzLnR5cGUgPSAncGFzc3dvcmQnKTtcbiAgICB0aGlzLmV5ZU9uID0gIXRoaXMuZXllT247XG4gICAgdGhpcy5vbkZvY3VzKCk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGlzRGlzYWJsZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid3ItaW5wdXQtcHJlZml4XCIgKm5nSWY9XCJwcmVmaXhcIj5cbiAgPHNwYW4gY2xhc3M9XCJ3ci1pbnB1dC1wcmVmaXhfX3RleHRcIj57eyBwcmVmaXggfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3ci1pbnB1dC1lbFwiPlxuICA8ZGl2ICpuZ0lmPVwicGFzc3dvcmRJY29uc1wiIGNsYXNzPVwid3ItaW5wdXQtZWwtaWNvblwiIChjbGljayk9XCJvblBhc3N3b3JkVmlzaWJpbGl0eUNoYW5nZSgpXCI+XG4gICAgPHdyLWljb24gY2xhc3M9XCJ3ci1pbnB1dC1lbC1pY29uX19pY29uXCIgW25hbWVdPVwiZXllT24gPyAnZXllJyA6ICdleWUtb2ZmJ1wiPjwvd3ItaWNvbj5cbiAgPC9kaXY+XG4gIDxpbnB1dFxuICAgICNpbnB1dEVsZW1lbnRcbiAgICBjbGFzcz1cIndyLWlucHV0LWVsX19uYXRpdmVcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlQXNTdHJpbmdcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgIFthdHRyLmlucHV0bW9kZV09XCJpbnB1dG1vZGVcIlxuICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZSA9ICRldmVudFwiXG4gIC8+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3ci1pbnB1dC1zdWZmaXhcIiAqbmdJZj1cInN1ZmZpeFwiPlxuICA8c3BhbiBjbGFzcz1cIndyLWlucHV0LXN1ZmZpeF9fdGV4dFwiPnt7IHN1ZmZpeCB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19