ngx-render-material-forms 2.5.18 → 2.5.20

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 (157) hide show
  1. package/esm2020/lib/FormioControl.mjs +36 -0
  2. package/esm2020/lib/components/Base.mjs +32 -0
  3. package/esm2020/lib/components/MaterialComponent.mjs +145 -0
  4. package/esm2020/lib/components/MaterialNestedComponent.mjs +38 -0
  5. package/esm2020/lib/components/Webform.mjs +18 -0
  6. package/esm2020/lib/components/add-on-products/add-on-products.component.mjs +842 -0
  7. package/esm2020/lib/components/button/button.component.mjs +102 -0
  8. package/esm2020/lib/components/calendar/calendar.component.mjs +129 -0
  9. package/esm2020/lib/components/checkbox/checkbox.component.mjs +54 -0
  10. package/esm2020/lib/components/columns/columns.component.mjs +69 -0
  11. package/esm2020/lib/components/common.service.mjs +256 -0
  12. package/esm2020/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +25 -0
  13. package/esm2020/lib/components/container/container.component.mjs +25 -0
  14. package/{esm2022 → esm2020}/lib/components/content/content.component.mjs +18 -18
  15. package/esm2020/lib/components/currency/currency.component.mjs +43 -0
  16. package/esm2020/lib/components/datagrid/datagrid.component.mjs +694 -0
  17. package/esm2020/lib/components/date/date.component.mjs +363 -0
  18. package/{esm2022 → esm2020}/lib/components/day/day.component.mjs +75 -75
  19. package/esm2020/lib/components/editgrid/editgrid.component.mjs +243 -0
  20. package/esm2020/lib/components/email/email.component.mjs +30 -0
  21. package/esm2020/lib/components/fieldset/fieldset.component.mjs +50 -0
  22. package/esm2020/lib/components/formio-form-field/formio-form-field.component.mjs +57 -0
  23. package/esm2020/lib/components/formio.wizard.mjs +88 -0
  24. package/{esm2022 → esm2020}/lib/components/hidden/hidden.component.mjs +20 -20
  25. package/esm2020/lib/components/html/html.component.mjs +29 -0
  26. package/esm2020/lib/components/index.mjs +125 -0
  27. package/{esm2022 → esm2020}/lib/components/label/label.component.mjs +17 -17
  28. package/esm2020/lib/components/number/number.component.mjs +67 -0
  29. package/esm2020/lib/components/panel/panel.component.mjs +57 -0
  30. package/esm2020/lib/components/password/password.component.mjs +30 -0
  31. package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +30 -0
  32. package/esm2020/lib/components/radio/radio.component.mjs +96 -0
  33. package/esm2020/lib/components/select/select.component.mjs +593 -0
  34. package/esm2020/lib/components/selectboxes/selectboxes.component.mjs +102 -0
  35. package/esm2020/lib/components/signature/signature.component.mjs +103 -0
  36. package/esm2020/lib/components/survey/survey.component.mjs +167 -0
  37. package/esm2020/lib/components/table/table.component.mjs +97 -0
  38. package/esm2020/lib/components/tabs/tabs.component.mjs +43 -0
  39. package/esm2020/lib/components/tags/tags.component.mjs +117 -0
  40. package/esm2020/lib/components/textarea/textarea.component.mjs +98 -0
  41. package/esm2020/lib/components/textfield/textfield.component.mjs +124 -0
  42. package/esm2020/lib/components/time/time.component.mjs +206 -0
  43. package/esm2020/lib/components/url/url.component.mjs +30 -0
  44. package/esm2020/lib/components/well/well.component.mjs +43 -0
  45. package/{esm2022 → esm2020}/lib/const/ButtonsThemes.mjs +16 -16
  46. package/{esm2022 → esm2020}/lib/const/LabelPositions.mjs +9 -9
  47. package/esm2020/lib/directives/mask.directive.mjs +65 -0
  48. package/esm2020/lib/formio.component.mjs +80 -0
  49. package/{esm2022 → esm2020}/lib/ngx-render-material-forms.component.mjs +15 -15
  50. package/esm2020/lib/ngx-render-material-forms.module.mjs +378 -0
  51. package/{esm2022 → esm2020}/lib/ngx-render-material-forms.service.mjs +14 -14
  52. package/{esm2022 → esm2020}/lib/renderer.mjs +12 -12
  53. package/{esm2022 → esm2020}/ngx-render-material-forms.js +4 -4
  54. package/{esm2022 → esm2020}/public-api.mjs +6 -6
  55. package/fesm2015/ngx-render-material-forms.js +5874 -0
  56. package/fesm2015/ngx-render-material-forms.mjs.map +1 -0
  57. package/{fesm2022 → fesm2020}/ngx-render-material-forms.js +4316 -4222
  58. package/fesm2020/ngx-render-material-forms.mjs.map +1 -0
  59. package/index.d.ts +5 -5
  60. package/lib/FormioControl.d.ts +7 -7
  61. package/lib/components/Base.d.ts +2 -2
  62. package/lib/components/MaterialComponent.d.ts +30 -30
  63. package/lib/components/MaterialNestedComponent.d.ts +13 -13
  64. package/lib/components/Webform.d.ts +1 -1
  65. package/lib/components/add-on-products/add-on-products.component.d.ts +142 -142
  66. package/lib/components/button/button.component.d.ts +30 -30
  67. package/lib/components/calendar/calendar.component.d.ts +34 -34
  68. package/lib/components/checkbox/checkbox.component.d.ts +9 -9
  69. package/lib/components/columns/columns.component.d.ts +12 -12
  70. package/lib/components/common.service.d.ts +86 -86
  71. package/lib/components/confirmation-dialog/confirmation-dialog.component.d.ts +11 -11
  72. package/lib/components/container/container.component.d.ts +8 -8
  73. package/lib/components/content/content.component.d.ts +8 -8
  74. package/lib/components/currency/currency.component.d.ts +10 -10
  75. package/lib/components/datagrid/datagrid.component.d.ts +81 -81
  76. package/lib/components/date/date.component.d.ts +45 -40
  77. package/lib/components/day/day.component.d.ts +16 -16
  78. package/lib/components/editgrid/editgrid.component.d.ts +50 -50
  79. package/lib/components/email/email.component.d.ts +9 -9
  80. package/lib/components/fieldset/fieldset.component.d.ts +8 -8
  81. package/lib/components/formio-form-field/formio-form-field.component.d.ts +18 -18
  82. package/lib/components/formio.wizard.d.ts +19 -19
  83. package/lib/components/hidden/hidden.component.d.ts +8 -8
  84. package/lib/components/html/html.component.d.ts +11 -11
  85. package/lib/components/index.d.ts +2 -2
  86. package/lib/components/label/label.component.d.ts +6 -6
  87. package/lib/components/number/number.component.d.ts +18 -18
  88. package/lib/components/panel/panel.component.d.ts +8 -8
  89. package/lib/components/password/password.component.d.ts +9 -9
  90. package/lib/components/phonenumber/phonenumber.component.d.ts +9 -9
  91. package/lib/components/radio/radio.component.d.ts +12 -12
  92. package/lib/components/select/select.component.d.ts +77 -77
  93. package/lib/components/selectboxes/selectboxes.component.d.ts +15 -15
  94. package/lib/components/signature/signature.component.d.ts +12 -12
  95. package/lib/components/survey/survey.component.d.ts +14 -14
  96. package/lib/components/table/table.component.d.ts +12 -12
  97. package/lib/components/tabs/tabs.component.d.ts +9 -9
  98. package/lib/components/tags/tags.component.d.ts +15 -15
  99. package/lib/components/textarea/textarea.component.d.ts +13 -13
  100. package/lib/components/textfield/textfield.component.d.ts +18 -18
  101. package/lib/components/time/time.component.d.ts +27 -27
  102. package/lib/components/url/url.component.d.ts +9 -9
  103. package/lib/components/well/well.component.d.ts +8 -8
  104. package/lib/const/ButtonsThemes.d.ts +14 -14
  105. package/lib/const/LabelPositions.d.ts +8 -8
  106. package/lib/directives/mask.directive.d.ts +17 -17
  107. package/lib/formio.component.d.ts +15 -15
  108. package/lib/ngx-render-material-forms.component.d.ts +8 -8
  109. package/lib/ngx-render-material-forms.module.d.ts +112 -110
  110. package/lib/ngx-render-material-forms.service.d.ts +6 -6
  111. package/lib/renderer.d.ts +8 -8
  112. package/package.json +11 -5
  113. package/public-api.d.ts +3 -3
  114. package/esm2022/lib/FormioControl.mjs +0 -36
  115. package/esm2022/lib/components/Base.mjs +0 -32
  116. package/esm2022/lib/components/MaterialComponent.mjs +0 -148
  117. package/esm2022/lib/components/MaterialNestedComponent.mjs +0 -38
  118. package/esm2022/lib/components/Webform.mjs +0 -18
  119. package/esm2022/lib/components/add-on-products/add-on-products.component.mjs +0 -841
  120. package/esm2022/lib/components/button/button.component.mjs +0 -101
  121. package/esm2022/lib/components/calendar/calendar.component.mjs +0 -127
  122. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -53
  123. package/esm2022/lib/components/columns/columns.component.mjs +0 -58
  124. package/esm2022/lib/components/common.service.mjs +0 -255
  125. package/esm2022/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +0 -24
  126. package/esm2022/lib/components/container/container.component.mjs +0 -24
  127. package/esm2022/lib/components/currency/currency.component.mjs +0 -41
  128. package/esm2022/lib/components/datagrid/datagrid.component.mjs +0 -693
  129. package/esm2022/lib/components/date/date.component.mjs +0 -336
  130. package/esm2022/lib/components/editgrid/editgrid.component.mjs +0 -243
  131. package/esm2022/lib/components/email/email.component.mjs +0 -28
  132. package/esm2022/lib/components/fieldset/fieldset.component.mjs +0 -49
  133. package/esm2022/lib/components/formio-form-field/formio-form-field.component.mjs +0 -56
  134. package/esm2022/lib/components/formio.wizard.mjs +0 -88
  135. package/esm2022/lib/components/html/html.component.mjs +0 -29
  136. package/esm2022/lib/components/index.mjs +0 -125
  137. package/esm2022/lib/components/number/number.component.mjs +0 -65
  138. package/esm2022/lib/components/panel/panel.component.mjs +0 -56
  139. package/esm2022/lib/components/password/password.component.mjs +0 -28
  140. package/esm2022/lib/components/phonenumber/phonenumber.component.mjs +0 -28
  141. package/esm2022/lib/components/radio/radio.component.mjs +0 -93
  142. package/esm2022/lib/components/select/select.component.mjs +0 -592
  143. package/esm2022/lib/components/selectboxes/selectboxes.component.mjs +0 -99
  144. package/esm2022/lib/components/signature/signature.component.mjs +0 -99
  145. package/esm2022/lib/components/survey/survey.component.mjs +0 -166
  146. package/esm2022/lib/components/table/table.component.mjs +0 -96
  147. package/esm2022/lib/components/tabs/tabs.component.mjs +0 -42
  148. package/esm2022/lib/components/tags/tags.component.mjs +0 -114
  149. package/esm2022/lib/components/textarea/textarea.component.mjs +0 -94
  150. package/esm2022/lib/components/textfield/textfield.component.mjs +0 -122
  151. package/esm2022/lib/components/time/time.component.mjs +0 -205
  152. package/esm2022/lib/components/url/url.component.mjs +0 -28
  153. package/esm2022/lib/components/well/well.component.mjs +0 -41
  154. package/esm2022/lib/directives/mask.directive.mjs +0 -65
  155. package/esm2022/lib/formio.component.mjs +0 -77
  156. package/esm2022/lib/ngx-render-material-forms.module.mjs +0 -332
  157. package/fesm2022/ngx-render-material-forms.mjs.map +0 -1
@@ -0,0 +1,102 @@
1
+ import { Component } from '@angular/core';
2
+ import ButtonComponent from 'formiojs/components/button/Button.js';
3
+ import { MaterialComponent } from '../MaterialComponent';
4
+ import { AngularButtonsThemes, ButtonsThemes } from '../../const/ButtonsThemes';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/button";
9
+ import * as i4 from "@angular/material/icon";
10
+ import * as i5 from "@angular/flex-layout/extended";
11
+ export class MaterialButtonComponent extends MaterialComponent {
12
+ constructor(element, ref, dialog) {
13
+ super(element, ref);
14
+ this.element = element;
15
+ this.ref = ref;
16
+ this.dialog = dialog;
17
+ this.loading = false;
18
+ this.done = false;
19
+ this.error = false;
20
+ this.disabled = false;
21
+ this.clicked = false;
22
+ this.walkmeClass = '';
23
+ }
24
+ get color() {
25
+ if (this.error) {
26
+ return AngularButtonsThemes.WARN;
27
+ }
28
+ const theme = this.angularButtonTheme;
29
+ return theme || AngularButtonsThemes.PRIMARY;
30
+ }
31
+ get angularButtonTheme() {
32
+ switch (this.instance.component.theme) {
33
+ case ButtonsThemes.PRIMARY:
34
+ return AngularButtonsThemes.PRIMARY;
35
+ case ButtonsThemes.WARNING:
36
+ return AngularButtonsThemes.ACCENT;
37
+ case ButtonsThemes.DANGER:
38
+ return AngularButtonsThemes.WARN;
39
+ case ButtonsThemes.SECONDARY:
40
+ return AngularButtonsThemes.BASIC;
41
+ default:
42
+ return '';
43
+ }
44
+ }
45
+ get buttonClass() {
46
+ let className = this.instance.component.block ? 'mat-formio-button-block' : '';
47
+ className += this.instance.component.size ? ` mat-formio-button-${this.instance.component.size}` : '';
48
+ className += !this.angularButtonTheme ? ` mat-formio-theme-${this.instance.component.theme}` : '';
49
+ const attributes = this.instance?.component?.attributes;
50
+ if (attributes) {
51
+ const buttonType = attributes.buttonType || '';
52
+ const programName = attributes.programName || '';
53
+ this.walkmeClass = `walkme-${buttonType}-${programName}`.toLowerCase();
54
+ }
55
+ return className;
56
+ }
57
+ onClick(event) {
58
+ this.clicked = true;
59
+ this.instance.onClick(event);
60
+ }
61
+ getValue() {
62
+ return this.clicked;
63
+ }
64
+ setState(loading, error, done) {
65
+ this.loading = loading;
66
+ this.done = done;
67
+ this.error = error;
68
+ }
69
+ getIconFontSet(icon) {
70
+ const fontSet = icon.split(' ')[0];
71
+ return fontSet;
72
+ }
73
+ getIconName(icon) {
74
+ return icon.replace(this.getIconFontSet(icon), '');
75
+ }
76
+ setInstance(instance) {
77
+ const retVal = super.setInstance(instance);
78
+ this.disabled = instance.shouldDisabled;
79
+ instance.on('submitButton', () => this.setState(true, false, false));
80
+ instance.on('submitDone', () => this.setState(false, false, true));
81
+ instance.on('submitError', () => this.setState(false, true, false));
82
+ instance.on('requestButton', () => this.setState(true, false, false));
83
+ instance.on('requestDone', () => this.setState(false, false, true));
84
+ instance.on('change', (event) => {
85
+ this.disabled = this.instance.shouldDisabled || (this.instance.component.disableOnInvalid && !event.isValid);
86
+ if (event.isValid) {
87
+ this.loading = false;
88
+ this.error = false;
89
+ }
90
+ });
91
+ return retVal;
92
+ }
93
+ }
94
+ MaterialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
95
+ MaterialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialButtonComponent, selector: "mat-formio-button", usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"instance && instance.component.label != 'Click to add Products'\"\r\n [ngClass]=\"[buttonClass, walkmeClass]\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n\r\n\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialButtonComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'mat-formio-button', template: "<button *ngIf=\"instance && instance.component.label != 'Click to add Products'\"\r\n [ngClass]=\"[buttonClass, walkmeClass]\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n\r\n\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"] }]
99
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.MatDialog }]; } });
100
+ ButtonComponent.MaterialComponent = MaterialButtonComponent;
101
+ export { ButtonComponent };
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFRaEYsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGlCQUFpQjtJQU81RCxZQUFtQixPQUFtQixFQUFTLEdBQXNCLEVBQVUsTUFBaUI7UUFDOUYsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQURILFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFOekYsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQUd6QixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxvQkFBb0IsQ0FB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QUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztvSEExRlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsZ0ZDWHBDLDZ1QkFnQkE7MkZETGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG1CQUFtQjs7QUFnRy9CLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCdXR0b25Db21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9idXR0b24vQnV0dG9uLmpzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFuZ3VsYXJCdXR0b25zVGhlbWVzLCBCdXR0b25zVGhlbWVzIH0gZnJvbSAnLi4vLi4vY29uc3QvQnV0dG9uc1RoZW1lcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IHtcclxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb25lID0gZmFsc2U7XHJcbiAgcHVibGljIGVycm9yID0gZmFsc2U7XHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGNsaWNrZWQgPSBmYWxzZTtcclxuICB3YWxrbWVDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICBzdXBlcihlbGVtZW50LCByZWYpO1xyXG4gIH1cclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICBpZiAodGhpcy5lcnJvcikge1xyXG4gICAgICByZXR1cm4gQW5ndWxhckJ1dHRvbnNUaGVtZXMuV0FSTjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRoZW1lID0gdGhpcy5hbmd1bGFyQnV0dG9uVGhlbWU7XHJcbiAgICByZXR1cm4gdGhlbWUgfHwgQW5ndWxhckJ1dHRvbnNUaGVtZXMuUFJJTUFSWTtcclxuICB9XHJcblxyXG4gIGdldCBhbmd1bGFyQnV0dG9uVGhlbWUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnRoZW1lKSB7XHJcbiAgICAgIGNhc2UgQnV0dG9uc1RoZW1lcy5QUklNQVJZOlxyXG4gICAgICAgIHJldHVybiBBbmd1bGFyQnV0dG9uc1RoZW1lcy5QUklNQVJZO1xyXG5cclxuICAgICAgY2FzZSBCdXR0b25zVGhlbWVzLldBUk5JTkc6XHJcbiAgICAgICAgcmV0dXJuIEFuZ3VsYXJCdXR0b25zVGhlbWVzLkFDQ0VOVDtcclxuXHJcbiAgICAgIGNhc2UgQnV0dG9uc1RoZW1lcy5EQU5HRVI6XHJcbiAgICAgICAgcmV0dXJuIEFuZ3VsYXJCdXR0b25zVGhlbWVzLldBUk47XHJcblxyXG4gICAgICBjYXNlIEJ1dHRvbnNUaGVtZXMuU0VDT05EQVJZOlxyXG4gICAgICAgIHJldHVybiBBbmd1bGFyQnV0dG9uc1RoZW1lcy5CQVNJQztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGJ1dHRvbkNsYXNzKCkge1xyXG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmJsb2NrID8gJ21hdC1mb3JtaW8tYnV0dG9uLWJsb2NrJyA6ICcnO1xyXG4gICAgY2xhc3NOYW1lICs9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnNpemUgPyBgIG1hdC1mb3JtaW8tYnV0dG9uLSR7dGhpcy5pbnN0YW5jZS5jb21wb25lbnQuc2l6ZX1gIDogJyc7XHJcbiAgICBjbGFzc05hbWUgKz0gIXRoaXMuYW5ndWxhckJ1dHRvblRoZW1lID8gYCBtYXQtZm9ybWlvLXRoZW1lLSR7dGhpcy5pbnN0YW5jZS5jb21wb25lbnQudGhlbWV9YCA6ICcnO1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuaW5zdGFuY2U/LmNvbXBvbmVudD8uYXR0cmlidXRlcztcclxuICAgIGlmIChhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGNvbnN0IGJ1dHRvblR5cGUgPSBhdHRyaWJ1dGVzLmJ1dHRvblR5cGUgfHwgJyc7XHJcbiAgICAgIGNvbnN0IHByb2dyYW1OYW1lID0gYXR0cmlidXRlcy5wcm9ncmFtTmFtZSB8fCAnJztcclxuICAgICAgdGhpcy53YWxrbWVDbGFzcyA9IGB3YWxrbWUtJHtidXR0b25UeXBlfS0ke3Byb2dyYW1OYW1lfWAudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjbGFzc05hbWU7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGV2ZW50KSB7XHJcbiAgICB0aGlzLmNsaWNrZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbnN0YW5jZS5vbkNsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xpY2tlZDtcclxuICB9XHJcblxyXG4gIHNldFN0YXRlKGxvYWRpbmcsIGVycm9yLCBkb25lKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xyXG4gICAgdGhpcy5kb25lID0gZG9uZTtcclxuICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcclxuICB9XHJcblxyXG4gIGdldEljb25Gb250U2V0KGljb246IHN0cmluZykge1xyXG4gICAgY29uc3QgZm9udFNldCA9IGljb24uc3BsaXQoJyAnKVswXTtcclxuICAgIHJldHVybiBmb250U2V0O1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbk5hbWUoaWNvbjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gaWNvbi5yZXBsYWNlKHRoaXMuZ2V0SWNvbkZvbnRTZXQoaWNvbiksICcnKTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlKSB7XHJcbiAgICBjb25zdCByZXRWYWwgPSBzdXBlci5zZXRJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaW5zdGFuY2Uuc2hvdWxkRGlzYWJsZWQ7XHJcbiAgICBpbnN0YW5jZS5vbignc3VibWl0QnV0dG9uJywgKCkgPT4gdGhpcy5zZXRTdGF0ZSh0cnVlLCBmYWxzZSwgZmFsc2UpKTtcclxuICAgIGluc3RhbmNlLm9uKCdzdWJtaXREb25lJywgKCkgPT4gdGhpcy5zZXRTdGF0ZShmYWxzZSwgZmFsc2UsIHRydWUpKTtcclxuICAgIGluc3RhbmNlLm9uKCdzdWJtaXRFcnJvcicsICgpID0+IHRoaXMuc2V0U3RhdGUoZmFsc2UsIHRydWUsIGZhbHNlKSk7XHJcbiAgICBpbnN0YW5jZS5vbigncmVxdWVzdEJ1dHRvbicsICgpID0+IHRoaXMuc2V0U3RhdGUodHJ1ZSwgZmFsc2UsIGZhbHNlKSk7XHJcbiAgICBpbnN0YW5jZS5vbigncmVxdWVzdERvbmUnLCAoKSA9PiB0aGlzLnNldFN0YXRlKGZhbHNlLCBmYWxzZSwgdHJ1ZSkpO1xyXG4gICAgaW5zdGFuY2Uub24oJ2NoYW5nZScsIChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5pbnN0YW5jZS5zaG91bGREaXNhYmxlZCB8fCAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuZGlzYWJsZU9uSW52YWxpZCAmJiAhZXZlbnQuaXNWYWxpZCk7XHJcbiAgICAgIGlmIChldmVudC5pc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXRWYWw7XHJcbiAgfVxyXG59XHJcbkJ1dHRvbkNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsQnV0dG9uQ29tcG9uZW50O1xyXG5leHBvcnQgeyBCdXR0b25Db21wb25lbnQgfTtcclxuIiwiPGJ1dHRvbiAqbmdJZj1cImluc3RhbmNlICYmIGluc3RhbmNlLmNvbXBvbmVudC5sYWJlbCAhPSAnQ2xpY2sgdG8gYWRkIFByb2R1Y3RzJ1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2J1dHRvbkNsYXNzLCB3YWxrbWVDbGFzc11cIlxyXG4gICAgICAgIHR5cGU9XCJ7eyBpbnN0YW5jZS5jb21wb25lbnQuYWN0aW9uIH19XCJcclxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBbY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImluc3RhbmNlLm9uQ2xpY2soJGV2ZW50KVwiXHJcbj5cclxuXHJcblxyXG4gIDxtYXQtaWNvbiAqbmdJZj1cImluc3RhbmNlLmNvbXBvbmVudC5sZWZ0SWNvblwiPnt7aW5zdGFuY2UuY29tcG9uZW50LmxlZnRJY29ufX08L21hdC1pY29uPlxyXG4gIDxtYXQtaWNvbiAqbmdJZj1cImRvbmVcIj5kb25lPC9tYXQtaWNvbj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJlcnJvclwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zcGluXCIgKm5nSWY9XCJsb2FkaW5nXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj5cclxuICB7eyBpbnN0YW5jZS5jb21wb25lbnQubGFiZWwgfX1cclxuICA8bWF0LWljb24gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQucmlnaHRJY29uXCI+e3tpbnN0YW5jZS5jb21wb25lbnQucmlnaHRJY29ufX08L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19
@@ -0,0 +1,129 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { MaterialComponent } from '../MaterialComponent';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/datepicker";
6
+ import * as i3 from "@angular/flex-layout/flex";
7
+ import * as i4 from "@angular/flex-layout/extended";
8
+ import * as i5 from "@angular/material/card";
9
+ import * as i6 from "../time/time.component";
10
+ export class MaterialCalendarComponent extends MaterialComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.timeSelectEvent = new EventEmitter();
14
+ this.dateSelectEvent = new EventEmitter();
15
+ }
16
+ setInstance(instance) {
17
+ super.setInstance(instance);
18
+ }
19
+ setExistedDate(value) {
20
+ this.selectedDate = value;
21
+ }
22
+ setExistedTime(value, forTime) {
23
+ this.selectedTime = value;
24
+ this.time.setValue(forTime);
25
+ }
26
+ onDate(event) {
27
+ this.selectedDate = event;
28
+ this.dateSelectEvent.emit(this.selectedDate);
29
+ }
30
+ onTime(event) {
31
+ this.selectedTime = event.value;
32
+ this.timeSelectEvent.emit(this.selectedTime);
33
+ }
34
+ getPopupStyles() {
35
+ return {
36
+ position: 'absolute',
37
+ zIndex: '1000',
38
+ display: 'flex',
39
+ maxWidth: '100%',
40
+ maxHeight: '100%',
41
+ top: '90px',
42
+ left: '30px'
43
+ };
44
+ }
45
+ }
46
+ MaterialCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialCalendarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
47
+ MaterialCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialCalendarComponent, selector: "mat-formio-calendar", inputs: { enableDate: "enableDate", enableTime: "enableTime", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", hourStep: "hourStep", minuteStep: "minuteStep" }, outputs: { timeSelectEvent: "timeSelectEvent", dateSelectEvent: "dateSelectEvent" }, viewQueries: [{ propertyName: "time", first: true, predicate: ["time"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
48
+ <div class="container" fxLayout="row" fxLayout.xs="column" fxLayoutGap="0.5%">
49
+ <div [ngStyle]="getPopupStyles()">
50
+ <mat-card style="padding: 0;">
51
+ <mat-calendar
52
+ [dateFilter]="dateFilter"
53
+ [maxDate]="maxDate"
54
+ [minDate]="minDate"
55
+ [selected]="selectedDate"
56
+ (selectedChange)="onDate($event)"
57
+ class="calendar"
58
+ *ngIf="enableDate !== false"
59
+ >
60
+ </mat-calendar>
61
+ <mat-formio-time
62
+ #time
63
+ [hourStep]="hourStep"
64
+ [instance]="instance"
65
+ [renderElementOnly]="true"
66
+ [minuteStep]="minuteStep"
67
+ (selectedEvent)="onTime($event)"
68
+ class="ml-3 formio-time"
69
+ *ngIf="enableTime"
70
+ >
71
+ </mat-formio-time>
72
+ </mat-card>
73
+ </div>
74
+ </div>
75
+ `, isInline: true, styles: [".calendar,.formio-time{padding:16px;background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.formio-time{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection"], exportAs: ["matCalendar"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i6.MaterialTimeComponent, selector: "mat-formio-time", inputs: ["hourStep", "minuteStep", "secondStep", "renderElementOnly"], outputs: ["selectedEvent"] }] });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialCalendarComponent, decorators: [{
77
+ type: Component,
78
+ args: [{ selector: 'mat-formio-calendar', template: `
79
+ <div class="container" fxLayout="row" fxLayout.xs="column" fxLayoutGap="0.5%">
80
+ <div [ngStyle]="getPopupStyles()">
81
+ <mat-card style="padding: 0;">
82
+ <mat-calendar
83
+ [dateFilter]="dateFilter"
84
+ [maxDate]="maxDate"
85
+ [minDate]="minDate"
86
+ [selected]="selectedDate"
87
+ (selectedChange)="onDate($event)"
88
+ class="calendar"
89
+ *ngIf="enableDate !== false"
90
+ >
91
+ </mat-calendar>
92
+ <mat-formio-time
93
+ #time
94
+ [hourStep]="hourStep"
95
+ [instance]="instance"
96
+ [renderElementOnly]="true"
97
+ [minuteStep]="minuteStep"
98
+ (selectedEvent)="onTime($event)"
99
+ class="ml-3 formio-time"
100
+ *ngIf="enableTime"
101
+ >
102
+ </mat-formio-time>
103
+ </mat-card>
104
+ </div>
105
+ </div>
106
+ `, styles: [".calendar,.formio-time{padding:16px;background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.formio-time{display:flex}\n"] }]
107
+ }], propDecorators: { time: [{
108
+ type: ViewChild,
109
+ args: ['time']
110
+ }], enableDate: [{
111
+ type: Input
112
+ }], enableTime: [{
113
+ type: Input
114
+ }], minDate: [{
115
+ type: Input
116
+ }], maxDate: [{
117
+ type: Input
118
+ }], dateFilter: [{
119
+ type: Input
120
+ }], hourStep: [{
121
+ type: Input
122
+ }], minuteStep: [{
123
+ type: Input
124
+ }], timeSelectEvent: [{
125
+ type: Output
126
+ }], dateSelectEvent: [{
127
+ type: Output
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBWSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQTZDekQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGlCQUFpQjtJQTVDaEU7O1FBMERZLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FvQ3JEO0lBbENDLFdBQVcsQ0FBQyxRQUFhO1FBQ3ZCLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFVBQVU7WUFDcEIsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsTUFBTTtZQUNmLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFBO0lBQ0gsQ0FBQzs7c0hBbERVLHlCQUF5QjswR0FBekIseUJBQXlCLHViQS9CMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7MkZBR1UseUJBQXlCO2tCQTVDckMsU0FBUzsrQkFDRSxxQkFBcUIsWUFZckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7OEJBUWtCLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFFUixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdNb2R1bGUsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jYWxlbmRhcicsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgLmNhbGVuZGFyLCAuZm9ybWlvLXRpbWUge1xyXG4gICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgYm94LXNoYWRvdzogMCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMiksIDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsLjE0KSwgMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG4gICAgfVxyXG4gICAgLmZvcm1pby10aW1lIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIGBcclxuICBdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dC54cz1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMC41JVwiPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cImdldFBvcHVwU3R5bGVzKClcIj5cclxuICAgICAgICA8bWF0LWNhcmQgc3R5bGU9XCJwYWRkaW5nOiAwO1wiPlxyXG4gICAgICAgICAgPG1hdC1jYWxlbmRhclxyXG4gICAgICAgICAgICAgICAgICBbZGF0ZUZpbHRlcl09XCJkYXRlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYWxlbmRhclwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZW5hYmxlRGF0ZSAhPT0gZmFsc2VcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9tYXQtY2FsZW5kYXI+XHJcbiAgICAgICAgICA8bWF0LWZvcm1pby10aW1lXHJcbiAgICAgICAgICAgICAgICAgICN0aW1lXHJcbiAgICAgICAgICAgICAgICAgIFtob3VyU3RlcF09XCJob3VyU3RlcFwiXHJcbiAgICAgICAgICAgICAgICAgIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZW5kZXJFbGVtZW50T25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21pbnV0ZVN0ZXBdPVwibWludXRlU3RlcFwiXHJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEV2ZW50KT1cIm9uVGltZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zIGZvcm1pby10aW1lXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlbmFibGVUaW1lXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbWF0LWZvcm1pby10aW1lPlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7XHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIHB1YmxpYyBzZWxlY3RlZFRpbWU6IGFueTtcclxuICBwdWJsaWMgc2VsZWN0ZWRUaW1lQ29tcG9uZW50OiBhbnk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RpbWUnKSB0aW1lO1xyXG5cclxuICBASW5wdXQoKSBlbmFibGVEYXRlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVRpbWU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbWluRGF0ZTogYW55O1xyXG4gIEBJbnB1dCgpIG1heERhdGU6IGFueTtcclxuICBASW5wdXQoKSBkYXRlRmlsdGVyOiBhbnk7XHJcbiAgQElucHV0KCkgaG91clN0ZXA6IGFueTtcclxuICBASW5wdXQoKSBtaW51dGVTdGVwOiBhbnk7XHJcbiAgQE91dHB1dCgpIHRpbWVTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xyXG4gICAgc3VwZXIuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gIH1cclxuXHJcbiAgc2V0RXhpc3RlZERhdGUodmFsdWUpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRFeGlzdGVkVGltZSh2YWx1ZSwgZm9yVGltZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMudGltZS5zZXRWYWx1ZShmb3JUaW1lKTtcclxuICB9XHJcblxyXG4gIG9uRGF0ZShldmVudCl7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5kYXRlU2VsZWN0RXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvblRpbWUoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLnRpbWVTZWxlY3RFdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRUaW1lKTtcclxuICB9XHJcblxyXG4gIGdldFBvcHVwU3R5bGVzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICAgIHpJbmRleDogJzEwMDAnLFxyXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXHJcbiAgICAgIG1heEhlaWdodDogJzEwMCUnLFxyXG4gICAgICB0b3A6ICc5MHB4JyxcclxuICAgICAgbGVmdDogJzMwcHgnXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { Component } from '@angular/core';
2
+ import { MaterialComponent } from '../MaterialComponent';
3
+ // import CheckboxComponent from 'formiojs/components/checkbox/Checkbox.js';
4
+ import CheckboxComponent from 'formiojs/components/checkbox/Checkbox.js';
5
+ import _ from 'lodash';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@angular/material/form-field";
10
+ import * as i4 from "@angular/material/checkbox";
11
+ import * as i5 from "@angular/material/tooltip";
12
+ import * as i6 from "@angular/material/icon";
13
+ import * as i7 from "@angular/flex-layout/extended";
14
+ import * as i8 from "../label/label.component";
15
+ export class MaterialCheckboxComponent extends MaterialComponent {
16
+ getValue() {
17
+ return _.isNil(this.control.value) ? '' : this.control.value;
18
+ }
19
+ }
20
+ MaterialCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
+ MaterialCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialCheckboxComponent, selector: "mat-formio-checkbox", usesInheritance: true, ngImport: i0, template: `
22
+ <mat-checkbox (change)="onChange()" [ngClass]="{'validation-error' : !!instance.error}"
23
+ [formControl]="control"
24
+ >
25
+ <span matFormioLabel [instance]="instance"></span>
26
+ <mat-icon *ngIf="instance.component.tooltip" matSuffix
27
+ matTooltip="{{ instance.component.tooltip }}" style="font-size: 1rem;">info
28
+ </mat-icon>
29
+ </mat-checkbox>
30
+ <mat-hint>
31
+ {{ instance.component.description }}
32
+ </mat-hint>
33
+ <mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
34
+ `, isInline: true, styles: ["::ng-deep .mat-checkbox.validation-error .mat-checkbox-frame{border-color:red}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialCheckboxComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'mat-formio-checkbox', template: `
38
+ <mat-checkbox (change)="onChange()" [ngClass]="{'validation-error' : !!instance.error}"
39
+ [formControl]="control"
40
+ >
41
+ <span matFormioLabel [instance]="instance"></span>
42
+ <mat-icon *ngIf="instance.component.tooltip" matSuffix
43
+ matTooltip="{{ instance.component.tooltip }}" style="font-size: 1rem;">info
44
+ </mat-icon>
45
+ </mat-checkbox>
46
+ <mat-hint>
47
+ {{ instance.component.description }}
48
+ </mat-hint>
49
+ <mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
50
+ `, styles: ["::ng-deep .mat-checkbox.validation-error .mat-checkbox-frame{border-color:red}\n"] }]
51
+ }] });
52
+ CheckboxComponent.MaterialComponent = MaterialCheckboxComponent;
53
+ export { CheckboxComponent };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsNEVBQTRFO0FBQzVFLE9BQU8saUJBQWlCLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7O0FBb0J2QixNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzlELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMvRCxDQUFDOztzSEFIVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixrRkFoQjFCOzs7Ozs7Ozs7Ozs7O0dBYVQ7MkZBR1UseUJBQXlCO2tCQWxCckMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7Ozs7Ozs7R0FhVDs7QUFRSCxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcclxuLy8gaW1wb3J0IENoZWNrYm94Q29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvY2hlY2tib3gvQ2hlY2tib3guanMnO1xyXG5pbXBvcnQgQ2hlY2tib3hDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9jaGVja2JveC9DaGVja2JveC5qcyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tY2hlY2tib3gnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwib25DaGFuZ2UoKVwiIFtuZ0NsYXNzXT1cInsndmFsaWRhdGlvbi1lcnJvcicgOiAhIWluc3RhbmNlLmVycm9yfVwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gbWF0Rm9ybWlvTGFiZWwgW2luc3RhbmNlXT1cImluc3RhbmNlXCI+PC9zcGFuPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQudG9vbHRpcFwiIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7IGluc3RhbmNlLmNvbXBvbmVudC50b29sdGlwIH19XCIgc3R5bGU9XCJmb250LXNpemU6IDFyZW07XCI+aW5mb1xyXG4gICAgICA8L21hdC1pY29uPlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8bWF0LWhpbnQ+XHJcbiAgICAgIHt7IGluc3RhbmNlLmNvbXBvbmVudC5kZXNjcmlwdGlvbiAgfX1cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaW5zdGFuY2UuZXJyb3JcIj57eyBpbnN0YW5jZS5lcnJvci5tZXNzYWdlIH19PC9tYXQtZXJyb3I+XHJcbiAgYCxcclxuICBzdHlsZXM6Wyc6Om5nLWRlZXAgLm1hdC1jaGVja2JveC52YWxpZGF0aW9uLWVycm9yIC5tYXQtY2hlY2tib3gtZnJhbWUge2JvcmRlci1jb2xvcjogcmVkOyB9J11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gXy5pc05pbCh0aGlzLmNvbnRyb2wudmFsdWUpID8gJycgOiB0aGlzLmNvbnRyb2wudmFsdWU7XHJcbiAgfVxyXG59XHJcbkNoZWNrYm94Q29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxDaGVja2JveENvbXBvbmVudDtcclxuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfTtcclxuIl19
@@ -0,0 +1,69 @@
1
+ import { Component } from '@angular/core';
2
+ import { MaterialNestedComponent } from '../MaterialNestedComponent';
3
+ import ColumnsComponent from 'formiojs/components/columns/Columns.js';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/flex-layout/flex";
7
+ export class MaterialColumnsComponent extends MaterialNestedComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.flexGap = 0.5;
11
+ this.totalSpace = 0;
12
+ }
13
+ setInstance(instance) {
14
+ this.totalSpace = 100 - ((instance.component.columns.length - 1) * this.flexGap);
15
+ super.setInstance(instance);
16
+ instance.viewContainer = (component) => {
17
+ return this.viewContainers ? this.viewContainers[component.column] : null;
18
+ };
19
+ }
20
+ flexWidth(column, index) {
21
+ if (index >= (this.instance.component.columns.length - 1)) {
22
+ return Math.ceil(((parseFloat(column.width) / 12) * this.totalSpace)) + '%';
23
+ }
24
+ else {
25
+ return Math.floor(((parseFloat(column.width) / 12) * this.totalSpace)) + '%';
26
+ }
27
+ }
28
+ }
29
+ MaterialColumnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialColumnsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
+ MaterialColumnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialColumnsComponent, selector: "mat-formio-columns", usesInheritance: true, ngImport: i0, template: `
31
+ <div class="container"
32
+ fxLayout="row"
33
+ fxLayout.xs="column"
34
+ fxLayoutWrap
35
+ fxLayoutGap="{{ flexGap }}%"
36
+ fxLayoutAlign="center"
37
+ >
38
+ <div
39
+ *ngFor="let column of instance.component.columns; let i = index"
40
+ [fxFlex]="flexWidth(column, i)"
41
+ fxLayout="column"
42
+ fxLayoutGap="1em">
43
+ <ng-template #components></ng-template>
44
+ </div>
45
+ </div>
46
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialColumnsComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'mat-formio-columns', template: `
50
+ <div class="container"
51
+ fxLayout="row"
52
+ fxLayout.xs="column"
53
+ fxLayoutWrap
54
+ fxLayoutGap="{{ flexGap }}%"
55
+ fxLayoutAlign="center"
56
+ >
57
+ <div
58
+ *ngFor="let column of instance.component.columns; let i = index"
59
+ [fxFlex]="flexWidth(column, i)"
60
+ fxLayout="column"
61
+ fxLayoutGap="1em">
62
+ <ng-template #components></ng-template>
63
+ </div>
64
+ </div>
65
+ ` }]
66
+ }] });
67
+ ColumnsComponent.MaterialComponent = MaterialColumnsComponent;
68
+ export { ColumnsComponent };
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW5zL2NvbHVtbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxnQkFBZ0IsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQXVCdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQXJCckU7O1FBc0JTLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFDZCxlQUFVLEdBQUcsQ0FBQyxDQUFDO0tBZ0J2QjtJQWZDLFdBQVcsQ0FBQyxRQUFhO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsUUFBUSxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLO1FBQ3JCLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzdFO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs7cUhBakJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlGQW5CekI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7MkZBR1Usd0JBQXdCO2tCQXJCcEMsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7O0FBc0JILGdCQUFnQixDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQnO1xyXG5pbXBvcnQgQ29sdW1uc0NvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL2NvbHVtbnMvQ29sdW1ucy5qcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tY29sdW1ucycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIlxyXG4gICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgIGZ4TGF5b3V0LnhzPVwiY29sdW1uXCJcclxuICAgICAgICAgZnhMYXlvdXRXcmFwXHJcbiAgICAgICAgIGZ4TGF5b3V0R2FwPVwie3sgZmxleEdhcCB9fSVcIlxyXG4gICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyXCJcclxuICAgID5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgaW5zdGFuY2UuY29tcG9uZW50LmNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtmeEZsZXhdPVwiZmxleFdpZHRoKGNvbHVtbiwgaSlcIlxyXG4gICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICBmeExheW91dEdhcD1cIjFlbVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50cz48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxDb2x1bW5zQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQge1xyXG4gIHB1YmxpYyBmbGV4R2FwID0gMC41O1xyXG4gIHB1YmxpYyB0b3RhbFNwYWNlID0gMDtcclxuICBzZXRJbnN0YW5jZShpbnN0YW5jZTogYW55KSB7XHJcbiAgICB0aGlzLnRvdGFsU3BhY2UgPSAxMDAgLSAoKGluc3RhbmNlLmNvbXBvbmVudC5jb2x1bW5zLmxlbmd0aCAtIDEpICogdGhpcy5mbGV4R2FwKTtcclxuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcclxuICAgIGluc3RhbmNlLnZpZXdDb250YWluZXIgPSAoY29tcG9uZW50KSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnZpZXdDb250YWluZXJzID8gdGhpcy52aWV3Q29udGFpbmVyc1tjb21wb25lbnQuY29sdW1uXSA6IG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZmxleFdpZHRoKGNvbHVtbiwgaW5kZXgpIHtcclxuICAgIGlmIChpbmRleCA+PSAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuY29sdW1ucy5sZW5ndGggLSAxKSkge1xyXG4gICAgICByZXR1cm4gTWF0aC5jZWlsKCgocGFyc2VGbG9hdChjb2x1bW4ud2lkdGgpIC8gMTIpICogdGhpcy50b3RhbFNwYWNlKSkgKyAnJSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gTWF0aC5mbG9vcigoKHBhcnNlRmxvYXQoY29sdW1uLndpZHRoKSAvIDEyKSAqIHRoaXMudG90YWxTcGFjZSkpICsgJyUnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5Db2x1bW5zQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxDb2x1bW5zQ29tcG9uZW50O1xyXG5leHBvcnQgeyBDb2x1bW5zQ29tcG9uZW50IH07XHJcbiJdfQ==