ngx-render-material-forms 2.5.11 → 2.5.13

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 (156) hide show
  1. package/esm2022/lib/FormioControl.mjs +36 -0
  2. package/esm2022/lib/components/Base.mjs +32 -0
  3. package/esm2022/lib/components/MaterialComponent.mjs +148 -0
  4. package/esm2022/lib/components/MaterialNestedComponent.mjs +38 -0
  5. package/esm2022/lib/components/Webform.mjs +18 -0
  6. package/{esm2020 → esm2022}/lib/components/add-on-products/add-on-products.component.mjs +841 -842
  7. package/esm2022/lib/components/button/button.component.mjs +101 -0
  8. package/esm2022/lib/components/calendar/calendar.component.mjs +127 -0
  9. package/esm2022/lib/components/checkbox/checkbox.component.mjs +53 -0
  10. package/esm2022/lib/components/columns/columns.component.mjs +58 -0
  11. package/esm2022/lib/components/common.service.mjs +255 -0
  12. package/esm2022/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +24 -0
  13. package/esm2022/lib/components/container/container.component.mjs +24 -0
  14. package/{esm2020 → esm2022}/lib/components/content/content.component.mjs +18 -18
  15. package/esm2022/lib/components/currency/currency.component.mjs +41 -0
  16. package/esm2022/lib/components/datagrid/datagrid.component.mjs +693 -0
  17. package/esm2022/lib/components/date/date.component.mjs +336 -0
  18. package/{esm2020 → esm2022}/lib/components/day/day.component.mjs +75 -75
  19. package/esm2022/lib/components/editgrid/editgrid.component.mjs +243 -0
  20. package/esm2022/lib/components/email/email.component.mjs +28 -0
  21. package/esm2022/lib/components/fieldset/fieldset.component.mjs +49 -0
  22. package/esm2022/lib/components/formio-form-field/formio-form-field.component.mjs +56 -0
  23. package/esm2022/lib/components/formio.wizard.mjs +88 -0
  24. package/{esm2020 → esm2022}/lib/components/hidden/hidden.component.mjs +20 -20
  25. package/esm2022/lib/components/html/html.component.mjs +29 -0
  26. package/esm2022/lib/components/index.mjs +125 -0
  27. package/{esm2020 → esm2022}/lib/components/label/label.component.mjs +17 -17
  28. package/esm2022/lib/components/number/number.component.mjs +65 -0
  29. package/esm2022/lib/components/panel/panel.component.mjs +56 -0
  30. package/esm2022/lib/components/password/password.component.mjs +28 -0
  31. package/esm2022/lib/components/phonenumber/phonenumber.component.mjs +28 -0
  32. package/esm2022/lib/components/radio/radio.component.mjs +93 -0
  33. package/esm2022/lib/components/select/select.component.mjs +592 -0
  34. package/esm2022/lib/components/selectboxes/selectboxes.component.mjs +99 -0
  35. package/esm2022/lib/components/signature/signature.component.mjs +99 -0
  36. package/esm2022/lib/components/survey/survey.component.mjs +166 -0
  37. package/esm2022/lib/components/table/table.component.mjs +96 -0
  38. package/esm2022/lib/components/tabs/tabs.component.mjs +42 -0
  39. package/esm2022/lib/components/tags/tags.component.mjs +114 -0
  40. package/esm2022/lib/components/textarea/textarea.component.mjs +94 -0
  41. package/esm2022/lib/components/textfield/textfield.component.mjs +122 -0
  42. package/esm2022/lib/components/time/time.component.mjs +205 -0
  43. package/esm2022/lib/components/url/url.component.mjs +28 -0
  44. package/esm2022/lib/components/well/well.component.mjs +41 -0
  45. package/{esm2020 → esm2022}/lib/const/ButtonsThemes.mjs +16 -16
  46. package/{esm2020 → esm2022}/lib/const/LabelPositions.mjs +9 -9
  47. package/esm2022/lib/directives/mask.directive.mjs +65 -0
  48. package/esm2022/lib/formio.component.mjs +77 -0
  49. package/{esm2020 → esm2022}/lib/ngx-render-material-forms.component.mjs +15 -15
  50. package/esm2022/lib/ngx-render-material-forms.module.mjs +324 -0
  51. package/{esm2020 → esm2022}/lib/ngx-render-material-forms.service.mjs +14 -14
  52. package/{esm2020 → esm2022}/lib/renderer.mjs +12 -12
  53. package/{esm2020 → esm2022}/ngx-render-material-forms.js +4 -4
  54. package/{esm2020 → esm2022}/public-api.mjs +6 -6
  55. package/{fesm2020 → fesm2022}/ngx-render-material-forms.js +4195 -4272
  56. package/fesm2022/ngx-render-material-forms.mjs.map +1 -0
  57. package/index.d.ts +5 -5
  58. package/lib/FormioControl.d.ts +7 -7
  59. package/lib/components/Base.d.ts +2 -2
  60. package/lib/components/MaterialComponent.d.ts +30 -30
  61. package/lib/components/MaterialNestedComponent.d.ts +13 -13
  62. package/lib/components/Webform.d.ts +1 -1
  63. package/lib/components/add-on-products/add-on-products.component.d.ts +142 -142
  64. package/lib/components/button/button.component.d.ts +30 -30
  65. package/lib/components/calendar/calendar.component.d.ts +34 -34
  66. package/lib/components/checkbox/checkbox.component.d.ts +9 -9
  67. package/lib/components/columns/columns.component.d.ts +12 -12
  68. package/lib/components/common.service.d.ts +86 -86
  69. package/lib/components/confirmation-dialog/confirmation-dialog.component.d.ts +11 -11
  70. package/lib/components/container/container.component.d.ts +8 -8
  71. package/lib/components/content/content.component.d.ts +8 -8
  72. package/lib/components/currency/currency.component.d.ts +10 -10
  73. package/lib/components/datagrid/datagrid.component.d.ts +81 -81
  74. package/lib/components/date/date.component.d.ts +40 -40
  75. package/lib/components/day/day.component.d.ts +16 -16
  76. package/lib/components/editgrid/editgrid.component.d.ts +50 -50
  77. package/lib/components/email/email.component.d.ts +9 -9
  78. package/lib/components/fieldset/fieldset.component.d.ts +8 -8
  79. package/lib/components/formio-form-field/formio-form-field.component.d.ts +18 -18
  80. package/lib/components/formio.wizard.d.ts +19 -19
  81. package/lib/components/hidden/hidden.component.d.ts +8 -8
  82. package/lib/components/html/html.component.d.ts +11 -11
  83. package/lib/components/index.d.ts +2 -2
  84. package/lib/components/label/label.component.d.ts +6 -6
  85. package/lib/components/number/number.component.d.ts +18 -18
  86. package/lib/components/panel/panel.component.d.ts +8 -8
  87. package/lib/components/password/password.component.d.ts +9 -9
  88. package/lib/components/phonenumber/phonenumber.component.d.ts +9 -9
  89. package/lib/components/radio/radio.component.d.ts +12 -12
  90. package/lib/components/select/select.component.d.ts +77 -77
  91. package/lib/components/selectboxes/selectboxes.component.d.ts +15 -15
  92. package/lib/components/signature/signature.component.d.ts +12 -12
  93. package/lib/components/survey/survey.component.d.ts +14 -14
  94. package/lib/components/table/table.component.d.ts +12 -12
  95. package/lib/components/tabs/tabs.component.d.ts +9 -9
  96. package/lib/components/tags/tags.component.d.ts +15 -15
  97. package/lib/components/textarea/textarea.component.d.ts +13 -13
  98. package/lib/components/textfield/textfield.component.d.ts +18 -18
  99. package/lib/components/time/time.component.d.ts +27 -27
  100. package/lib/components/url/url.component.d.ts +9 -9
  101. package/lib/components/well/well.component.d.ts +8 -8
  102. package/lib/const/ButtonsThemes.d.ts +14 -14
  103. package/lib/const/LabelPositions.d.ts +8 -8
  104. package/lib/directives/mask.directive.d.ts +17 -17
  105. package/lib/formio.component.d.ts +15 -15
  106. package/lib/ngx-render-material-forms.component.d.ts +8 -8
  107. package/lib/ngx-render-material-forms.module.d.ts +110 -112
  108. package/lib/ngx-render-material-forms.service.d.ts +6 -6
  109. package/lib/renderer.d.ts +8 -8
  110. package/package.json +5 -11
  111. package/public-api.d.ts +3 -3
  112. package/esm2020/lib/FormioControl.mjs +0 -36
  113. package/esm2020/lib/components/Base.mjs +0 -32
  114. package/esm2020/lib/components/MaterialComponent.mjs +0 -148
  115. package/esm2020/lib/components/MaterialNestedComponent.mjs +0 -38
  116. package/esm2020/lib/components/Webform.mjs +0 -18
  117. package/esm2020/lib/components/button/button.component.mjs +0 -102
  118. package/esm2020/lib/components/calendar/calendar.component.mjs +0 -129
  119. package/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -54
  120. package/esm2020/lib/components/columns/columns.component.mjs +0 -69
  121. package/esm2020/lib/components/common.service.mjs +0 -256
  122. package/esm2020/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +0 -25
  123. package/esm2020/lib/components/container/container.component.mjs +0 -25
  124. package/esm2020/lib/components/currency/currency.component.mjs +0 -43
  125. package/esm2020/lib/components/datagrid/datagrid.component.mjs +0 -694
  126. package/esm2020/lib/components/date/date.component.mjs +0 -337
  127. package/esm2020/lib/components/editgrid/editgrid.component.mjs +0 -243
  128. package/esm2020/lib/components/email/email.component.mjs +0 -30
  129. package/esm2020/lib/components/fieldset/fieldset.component.mjs +0 -50
  130. package/esm2020/lib/components/formio-form-field/formio-form-field.component.mjs +0 -57
  131. package/esm2020/lib/components/formio.wizard.mjs +0 -88
  132. package/esm2020/lib/components/html/html.component.mjs +0 -29
  133. package/esm2020/lib/components/index.mjs +0 -125
  134. package/esm2020/lib/components/number/number.component.mjs +0 -67
  135. package/esm2020/lib/components/panel/panel.component.mjs +0 -57
  136. package/esm2020/lib/components/password/password.component.mjs +0 -30
  137. package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +0 -30
  138. package/esm2020/lib/components/radio/radio.component.mjs +0 -96
  139. package/esm2020/lib/components/select/select.component.mjs +0 -593
  140. package/esm2020/lib/components/selectboxes/selectboxes.component.mjs +0 -102
  141. package/esm2020/lib/components/signature/signature.component.mjs +0 -103
  142. package/esm2020/lib/components/survey/survey.component.mjs +0 -167
  143. package/esm2020/lib/components/table/table.component.mjs +0 -97
  144. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -43
  145. package/esm2020/lib/components/tags/tags.component.mjs +0 -115
  146. package/esm2020/lib/components/textarea/textarea.component.mjs +0 -98
  147. package/esm2020/lib/components/textfield/textfield.component.mjs +0 -124
  148. package/esm2020/lib/components/time/time.component.mjs +0 -206
  149. package/esm2020/lib/components/url/url.component.mjs +0 -30
  150. package/esm2020/lib/components/well/well.component.mjs +0 -43
  151. package/esm2020/lib/directives/mask.directive.mjs +0 -65
  152. package/esm2020/lib/formio.component.mjs +0 -80
  153. package/esm2020/lib/ngx-render-material-forms.module.mjs +0 -378
  154. package/fesm2015/ngx-render-material-forms.js +0 -5850
  155. package/fesm2015/ngx-render-material-forms.mjs.map +0 -1
  156. package/fesm2020/ngx-render-material-forms.mjs.map +0 -1
@@ -1,29 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { MaterialComponent } from '../MaterialComponent';
3
- import HtmlComponent from 'formiojs/components/html/HTML.js';
4
- import * as i0 from "@angular/core";
5
- export class MaterialHtmlComponent extends MaterialComponent {
6
- ngAfterViewInit() {
7
- super.ngAfterViewInit();
8
- if (this.instance.component.refreshOnChange) {
9
- this.instance.checkRefreshOn = () => {
10
- this.htmlBody.nativeElement.innerHTML = this.instance.renderContent();
11
- };
12
- }
13
- }
14
- }
15
- MaterialHtmlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialHtmlComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- MaterialHtmlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialHtmlComponent, selector: "mat-formio-html", viewQueries: [{ propertyName: "htmlBody", first: true, predicate: ["htmlBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<div #htmlBody></div>`, isInline: true });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialHtmlComponent, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'mat-formio-html',
21
- template: `<div #htmlBody></div>`
22
- }]
23
- }], propDecorators: { htmlBody: [{
24
- type: ViewChild,
25
- args: ['htmlBody']
26
- }] } });
27
- HtmlComponent.MaterialComponent = MaterialHtmlComponent;
28
- export { HtmlComponent };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9odG1sL2h0bWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLGFBQWEsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUcxRCxlQUFlO1FBQ2IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEUsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDOzttSEFWVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixvTEFGdEIsdUJBQXVCOzRGQUV0QixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OEJBRXdCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTs7QUFXdkIsYUFBYSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgSHRtbENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL2h0bWwvSFRNTC5qcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8taHRtbCcsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2ICNodG1sQm9keT48L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbEh0bWxDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2h0bWxCb2R5JykgaHRtbEJvZHk6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnJlZnJlc2hPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLmluc3RhbmNlLmNoZWNrUmVmcmVzaE9uID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaHRtbEJvZHkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmluc3RhbmNlLnJlbmRlckNvbnRlbnQoKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuSHRtbENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsSHRtbENvbXBvbmVudDtcclxuZXhwb3J0IHsgSHRtbENvbXBvbmVudCB9O1xyXG4iXX0=
@@ -1,125 +0,0 @@
1
- const Components = require('formiojs/components/Components').default;
2
- import Component from 'formiojs/components/_classes/component/Component.js';
3
- import { TextFieldComponent } from './textfield/textfield.component';
4
- import { PasswordComponent } from './password/password.component';
5
- import { EmailComponent } from './email/email.component';
6
- import { UrlComponent } from './url/url.component';
7
- import { PhoneNumberComponent } from './phonenumber/phonenumber.component';
8
- import { NumberComponent } from './number/number.component';
9
- import { CurrencyComponent } from './currency/currency.component';
10
- import { DayComponent } from './day/day.component';
11
- import { HiddenComponent } from './hidden/hidden.component';
12
- import { HtmlComponent } from './html/html.component';
13
- import { TagsComponent } from './tags/tags.component';
14
- import { ButtonComponent } from './button/button.component';
15
- import { TextAreaComponent } from './textarea/textarea.component';
16
- import { PanelComponent } from './panel/panel.component';
17
- import { ColumnsComponent } from './columns/columns.component';
18
- import { ContainerComponent } from './container/container.component';
19
- import { TabsComponent } from './tabs/tabs.component';
20
- import { DateTimeComponent } from './date/date.component';
21
- import { CheckboxComponent } from './checkbox/checkbox.component';
22
- import { FieldsetComponent } from './fieldset/fieldset.component';
23
- import { ContentComponent } from './content/content.component';
24
- import { SignatureComponent } from './signature/signature.component';
25
- import { SurveyComponent } from './survey/survey.component';
26
- import { SelectBoxesComponent } from './selectboxes/selectboxes.component';
27
- import { RadioComponent } from './radio/radio.component';
28
- import { SelectComponent } from './select/select.component';
29
- import { WellComponent } from './well/well.component';
30
- import { DataGridComponent } from './datagrid/datagrid.component';
31
- import { EditGridComponent } from './editgrid/editgrid.component';
32
- import { TableComponent } from './table/table.component';
33
- import { FormioComponent } from './MaterialComponent';
34
- import { Wizard } from './formio.wizard';
35
- import { TimeComponent } from './time/time.component';
36
- // Set the components.
37
- const components = {
38
- textfield: TextFieldComponent,
39
- password: PasswordComponent,
40
- url: UrlComponent,
41
- checkbox: CheckboxComponent,
42
- email: EmailComponent,
43
- phoneNumber: PhoneNumberComponent,
44
- number: NumberComponent,
45
- currency: CurrencyComponent,
46
- day: DayComponent,
47
- hidden: HiddenComponent,
48
- htmlelement: HtmlComponent,
49
- tags: TagsComponent,
50
- textarea: TextAreaComponent,
51
- button: ButtonComponent,
52
- datetime: DateTimeComponent,
53
- panel: PanelComponent,
54
- columns: ColumnsComponent,
55
- tabs: TabsComponent,
56
- table: TableComponent,
57
- well: WellComponent,
58
- fieldset: FieldsetComponent,
59
- content: ContentComponent,
60
- signature: SignatureComponent,
61
- survey: SurveyComponent,
62
- selectboxes: SelectBoxesComponent,
63
- radio: RadioComponent,
64
- select: SelectComponent,
65
- container: ContainerComponent,
66
- datagrid: DataGridComponent,
67
- editgrid: EditGridComponent,
68
- unknown: FormioComponent,
69
- time: TimeComponent,
70
- wizard: Wizard
71
- };
72
- export function getComponents() {
73
- for (const type of Object.keys(components)) {
74
- const CompClass = components[type];
75
- CompClass.prototype.render = (function () {
76
- if (this.materialComponent) {
77
- return this.materialComponent.renderComponents();
78
- }
79
- const viewContainer = this.parent ? this.parent.viewContainer(this) : this.viewContainer(this);
80
- if (!viewContainer) {
81
- return;
82
- }
83
- const factory = this.options.viewResolver.resolveComponentFactory(CompClass.MaterialComponent);
84
- const componentRef = viewContainer.createComponent(factory);
85
- componentRef.instance.setInstance(this);
86
- });
87
- const setValue = CompClass.prototype.setValue;
88
- CompClass.prototype.setValue = (function (...args) {
89
- if (this.materialComponent) {
90
- this.materialComponent.setValue(args[0]);
91
- }
92
- return setValue.call(this, ...args);
93
- });
94
- components[type] = CompClass;
95
- }
96
- return components;
97
- }
98
- export function registerComponent(name, CompClass) {
99
- class DummyComponent extends Component {
100
- }
101
- ;
102
- const formIOComp = DummyComponent;
103
- formIOComp.MaterialComponent = CompClass;
104
- formIOComp.prototype.render = (function () {
105
- if (this.materialComponent) {
106
- return this.materialComponent;
107
- }
108
- const viewContainer = this.parent ? this.parent.viewContainer(this) : this.viewContainer(this);
109
- if (!viewContainer) {
110
- return;
111
- }
112
- const factory = this.options.viewResolver.resolveComponentFactory(formIOComp.MaterialComponent);
113
- const componentRef = viewContainer.createComponent(factory);
114
- componentRef.instance.setInstance(this);
115
- });
116
- const setValue = formIOComp.prototype.setValue;
117
- formIOComp.prototype.setValue = (function (...args) {
118
- if (this.materialComponent) {
119
- this.materialComponent.setValue(args[0]);
120
- }
121
- return setValue.call(this, ...args);
122
- });
123
- Components.addComponent(name, formIOComp);
124
- }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDckUsT0FBTyxTQUFTLE1BQU0scURBQXFELENBQUM7QUFFNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJB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QUFDLENBQUM7QUFFNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgdmFyIHJlcXVpcmU6IGFueVxyXG5jb25zdCBDb21wb25lbnRzID0gcmVxdWlyZSgnZm9ybWlvanMvY29tcG9uZW50cy9Db21wb25lbnRzJykuZGVmYXVsdDtcclxuaW1wb3J0IENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL19jbGFzc2VzL2NvbXBvbmVudC9Db21wb25lbnQuanMnO1xyXG5cclxuaW1wb3J0IHsgVGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vZW1haWwvZW1haWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi91cmwvdXJsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZW51bWJlci9waG9uZW51bWJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL251bWJlci9udW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb21wb25lbnQgfSBmcm9tICcuL2N1cnJlbmN5L2N1cnJlbmN5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERheUNvbXBvbmVudCB9IGZyb20gJy4vZGF5L2RheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIaWRkZW5Db21wb25lbnQgfSBmcm9tICcuL2hpZGRlbi9oaWRkZW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHRtbENvbXBvbmVudCB9IGZyb20gJy4vaHRtbC9odG1sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ3NDb21wb25lbnQgfSBmcm9tICcuL3RhZ3MvdGFncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9wYW5lbC9wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW5zL2NvbHVtbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMvdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWVsZHNldENvbXBvbmVudCB9IGZyb20gJy4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZ25hdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0Qm94ZXNDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGJveGVzL3NlbGVjdGJveGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2VsbENvbXBvbmVudCB9IGZyb20gJy4vd2VsbC93ZWxsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhZ3JpZC9kYXRhZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFZGl0R3JpZENvbXBvbmVudCB9IGZyb20gJy4vZWRpdGdyaWQvZWRpdGdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1pb0NvbXBvbmVudCB9IGZyb20gJy4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaXphcmQgfSBmcm9tICcuL2Zvcm1pby53aXphcmQnO1xyXG5pbXBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lL3RpbWUuY29tcG9uZW50J1xyXG5cclxuLy8gU2V0IHRoZSBjb21wb25lbnRzLlxyXG5jb25zdCBjb21wb25lbnRzOiBhbnkgPSB7XHJcbiAgdGV4dGZpZWxkOiBUZXh0RmllbGRDb21wb25lbnQsXHJcbiAgcGFzc3dvcmQ6IFBhc3N3b3JkQ29tcG9uZW50LFxyXG4gIHVybDogVXJsQ29tcG9uZW50LFxyXG4gIGNoZWNrYm94OiBDaGVja2JveENvbXBvbmVudCxcclxuICBlbWFpbDogRW1haWxDb21wb25lbnQsXHJcbiAgcGhvbmVOdW1iZXI6IFBob25lTnVtYmVyQ29tcG9uZW50LFxyXG4gIG51bWJlcjogTnVtYmVyQ29tcG9uZW50LFxyXG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvbXBvbmVudCxcclxuICBkYXk6IERheUNvbXBvbmVudCxcclxuICBoaWRkZW46IEhpZGRlbkNvbXBvbmVudCxcclxuICBodG1sZWxlbWVudDogSHRtbENvbXBvbmVudCxcclxuICB0YWdzOiBUYWdzQ29tcG9uZW50LFxyXG4gIHRleHRhcmVhOiBUZXh0QXJlYUNvbXBvbmVudCxcclxuICBidXR0b246IEJ1dHRvbkNvbXBvbmVudCxcclxuICBkYXRldGltZTogRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgcGFuZWw6IFBhbmVsQ29tcG9uZW50LFxyXG4gIGNvbHVtbnM6IENvbHVtbnNDb21wb25lbnQsXHJcbiAgdGFiczogVGFic0NvbXBvbmVudCxcclxuICB0YWJsZTogVGFibGVDb21wb25lbnQsXHJcbiAgd2VsbDogV2VsbENvbXBvbmVudCxcclxuICBmaWVsZHNldDogRmllbGRzZXRDb21wb25lbnQsXHJcbiAgY29udGVudDogQ29udGVudENvbXBvbmVudCxcclxuICBzaWduYXR1cmU6IFNpZ25hdHVyZUNvbXBvbmVudCxcclxuICBzdXJ2ZXk6IFN1cnZleUNvbXBvbmVudCxcclxuICBzZWxlY3Rib3hlczogU2VsZWN0Qm94ZXNDb21wb25lbnQsXHJcbiAgcmFkaW86IFJhZGlvQ29tcG9uZW50LFxyXG4gIHNlbGVjdDogU2VsZWN0Q29tcG9uZW50LFxyXG4gIGNvbnRhaW5lcjogQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIGRhdGFncmlkOiBEYXRhR3JpZENvbXBvbmVudCxcclxuICBlZGl0Z3JpZDogRWRpdEdyaWRDb21wb25lbnQsXHJcbiAgdW5rbm93bjogRm9ybWlvQ29tcG9uZW50LFxyXG4gIHRpbWU6IFRpbWVDb21wb25lbnQsXHJcbiAgd2l6YXJkOiBXaXphcmRcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnRzKCkge1xyXG4gIGZvciAoY29uc3QgdHlwZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzKSkge1xyXG4gICAgY29uc3QgQ29tcENsYXNzID0gY29tcG9uZW50c1t0eXBlXTtcclxuICAgIENvbXBDbGFzcy5wcm90b3R5cGUucmVuZGVyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgICAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXRlcmlhbENvbXBvbmVudC5yZW5kZXJDb21wb25lbnRzKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXIgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LnZpZXdDb250YWluZXIodGhpcykgOiB0aGlzLnZpZXdDb250YWluZXIodGhpcyk7XHJcbiAgICAgIGlmICghdmlld0NvbnRhaW5lcikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5vcHRpb25zLnZpZXdSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb21wQ2xhc3MuTWF0ZXJpYWxDb21wb25lbnQpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpLnNldEluc3RhbmNlKHRoaXMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2V0VmFsdWUgPSBDb21wQ2xhc3MucHJvdG90eXBlLnNldFZhbHVlO1xyXG4gICAgQ29tcENsYXNzLnByb3RvdHlwZS5zZXRWYWx1ZSA9IChmdW5jdGlvbiAoLi4uYXJncykge1xyXG4gICAgICBpZiAodGhpcy5tYXRlcmlhbENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2V0VmFsdWUoYXJnc1swXSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHNldFZhbHVlLmNhbGwodGhpcywgLi4uYXJncyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb21wb25lbnRzW3R5cGVdID0gQ29tcENsYXNzO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbXBvbmVudHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbXBvbmVudChuYW1lOiBzdHJpbmcsIENvbXBDbGFzczogYW55KSB7XHJcblxyXG4gIGNsYXNzIER1bW15Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHt9O1xyXG4gIGNvbnN0IGZvcm1JT0NvbXAgPSAoRHVtbXlDb21wb25lbnQgYXMgYW55KTtcclxuXHJcbiAgZm9ybUlPQ29tcC5NYXRlcmlhbENvbXBvbmVudCA9IENvbXBDbGFzcztcclxuICBmb3JtSU9Db21wLnByb3RvdHlwZS5yZW5kZXIgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWF0ZXJpYWxDb21wb25lbnQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyID0gdGhpcy5wYXJlbnQgPyB0aGlzLnBhcmVudC52aWV3Q29udGFpbmVyKHRoaXMpIDogdGhpcy52aWV3Q29udGFpbmVyKHRoaXMpO1xyXG4gICAgaWYgKCF2aWV3Q29udGFpbmVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLm9wdGlvbnMudmlld1Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGZvcm1JT0NvbXAuTWF0ZXJpYWxDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIGFueSkuc2V0SW5zdGFuY2UodGhpcyk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHNldFZhbHVlID0gZm9ybUlPQ29tcC5wcm90b3R5cGUuc2V0VmFsdWU7XHJcbiAgZm9ybUlPQ29tcC5wcm90b3R5cGUuc2V0VmFsdWUgPSAoZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgIGlmICh0aGlzLm1hdGVyaWFsQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2V0VmFsdWUoYXJnc1swXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc2V0VmFsdWUuY2FsbCh0aGlzLCAuLi5hcmdzKTtcclxuICB9KTtcclxuXHJcbiAgQ29tcG9uZW50cy5hZGRDb21wb25lbnQobmFtZSwgZm9ybUlPQ29tcCk7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,67 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { MaterialTextfieldComponent, TEXTFIELD_TEMPLATE } from '../textfield/textfield.component';
3
- import NumberComponent from 'formiojs/components/number/Number.js';
4
- import _ from 'lodash';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/input";
9
- import * as i4 from "@angular/material/form-field";
10
- import * as i5 from "@angular/flex-layout/flex";
11
- import * as i6 from "@angular/flex-layout/extended";
12
- import * as i7 from "../formio-form-field/formio-form-field.component";
13
- import * as i8 from "../label/label.component";
14
- export class MaterialNumberComponent extends MaterialTextfieldComponent {
15
- constructor(element, ref, renderer) {
16
- super(element, ref);
17
- this.element = element;
18
- this.ref = ref;
19
- this.renderer = renderer;
20
- this.inputType = 'text';
21
- }
22
- ngAfterViewInit() {
23
- super.ngAfterViewInit();
24
- if (this.instance) {
25
- const { instance } = this;
26
- this.renderer.listen(this.input.nativeElement, 'blur', () => {
27
- let value = instance.parseValue(this.control.value);
28
- value = instance.formatValue(value);
29
- value = instance.getValueAsString(value);
30
- this.control.setValue(value);
31
- });
32
- }
33
- }
34
- getValue() {
35
- let value = this.control.value;
36
- if (value && this.instance) {
37
- value = value.replace(this.instance.prefix, '');
38
- return !_.isNil(value) && value !== '' ? this.instance.parseNumber(value) : value;
39
- }
40
- return value;
41
- }
42
- setValue(value) {
43
- if (this.instance) {
44
- const { instance } = this;
45
- value = instance.formatValue(instance.parseValue(value));
46
- }
47
- else {
48
- value = value.toString();
49
- }
50
- return super.setValue(value);
51
- }
52
- onChange() {
53
- super.onChange(true);
54
- }
55
- }
56
- MaterialNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
57
- MaterialNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialNumberComponent, selector: "mat-formio-number", usesInheritance: true, ngImport: i0, template: "\n <mat-formio-form-field [instance]=\"instance\" [componentTemplate]=\"componentTemplate\"></mat-formio-form-field>\n <ng-template #componentTemplate let-hasLabel>\n <mat-form-field [appearance]=\"getFormFieldAppearance()\" fxFill>\n\n <mat-label *ngIf=\"hasLabel\">\n <span [instance]=\"instance\" matFormioLabel></span>\n </mat-label>\n\n <span *ngIf=\"instance.component.prefix && instance.type !== 'currency'\"\n matPrefix\n >\n {{ instance.component.prefix }}&nbsp;\n </span>\n <input matInput\n type=\"{{ inputType }}\"\n [formControl]=\"control\"\n [placeholder]=\"instance.component.placeholder\"\n (input)=\"onChange()\" #input\n [ngClass]=\"{ 'show-invalid': inputType=='email' }\"\n >\n <span *ngIf=\"instance.component.suffix\" matSuffix>{{ instance.component.suffix }}</span>\n\n <mat-hint *ngIf=\"instance.component.showWordCount || instance.component.showCharCount\">\n {{ getHint() }}\n </mat-hint>\n\n <br/>\n <mat-error *ngIf=\"isError()\" >{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </ng-template>\n", isInline: true, 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.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: 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.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.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: i7.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialNumberComponent, decorators: [{
59
- type: Component,
60
- args: [{
61
- selector: 'mat-formio-number',
62
- template: TEXTFIELD_TEMPLATE
63
- }]
64
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; } });
65
- NumberComponent.MaterialComponent = MaterialNumberComponent;
66
- export { NumberComponent };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7QUFNdkIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDBCQUEwQjtJQUdyRSxZQUFtQixPQUFtQixFQUFTLEdBQXNCLEVBQVUsUUFBbUI7UUFDaEcsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQURILFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGM0YsY0FBUyxHQUFHLE1BQU0sQ0FBQztJQUkxQixDQUFDO0lBRUQsZUFBZTtRQUNiLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUMxRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxLQUFLLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztTQUVOO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzFCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDbkY7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUNJO1lBQ0gsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxQjtRQUVELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7cUhBN0NVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7O0FBZ0RELGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IE51bWJlckNvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL251bWJlci9OdW1iZXIuanMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLW51bWJlcicsXHJcbiAgdGVtcGxhdGU6IFRFWFRGSUVMRF9URU1QTEFURVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbFRleHRmaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyBpbnB1dFR5cGUgPSAndGV4dCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmLCBwdWJsaWMgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICBzdXBlcihlbGVtZW50LCByZWYpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xyXG4gICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSB0aGlzO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICdibHVyJywgKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gaW5zdGFuY2UucGFyc2VWYWx1ZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAgICAgdmFsdWUgPSBpbnN0YW5jZS5mb3JtYXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluc3RhbmNlLmdldFZhbHVlQXNTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSAmJiB0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSh0aGlzLmluc3RhbmNlLnByZWZpeCwgJycpO1xyXG4gICAgICByZXR1cm4gIV8uaXNOaWwodmFsdWUpICYmIHZhbHVlICE9PSAnJyA/IHRoaXMuaW5zdGFuY2UucGFyc2VOdW1iZXIodmFsdWUpIDogdmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcclxuICAgICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gdGhpcztcclxuICAgICAgdmFsdWUgPSBpbnN0YW5jZS5mb3JtYXRWYWx1ZShpbnN0YW5jZS5wYXJzZVZhbHVlKHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSgpIHtcclxuICAgIHN1cGVyLm9uQ2hhbmdlKHRydWUpO1xyXG4gIH1cclxufVxyXG5OdW1iZXJDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbE51bWJlckNvbXBvbmVudDtcclxuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH07XHJcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { MaterialNestedComponent } from '../MaterialNestedComponent';
3
- import PanelComponent from 'formiojs/components/panel/Panel.js';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/expansion";
7
- import * as i3 from "@angular/flex-layout/flex";
8
- import * as i4 from "@angular/material/card";
9
- export class MaterialPanelComponent extends MaterialNestedComponent {
10
- }
11
- MaterialPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- MaterialPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialPanelComponent, selector: "mat-formio-panel", usesInheritance: true, ngImport: i0, template: `
13
- <mat-card appearance="outlined" *ngIf="!instance.component.collapsible">
14
- <mat-card-title *ngIf="instance?.component?.title">
15
- {{ instance.component.title }}
16
- </mat-card-title>
17
- <mat-card-content fxLayout="column" fxLayoutGap="1em">
18
- <ng-template #components></ng-template>
19
- </mat-card-content>
20
- </mat-card>
21
- <mat-expansion-panel *ngIf="instance.component.collapsible"
22
- [expanded]="!instance.component.collapsed"
23
- >
24
- <mat-expansion-panel-header *ngIf="instance?.component?.title">
25
- <mat-panel-title>
26
- {{ instance.component.title }}
27
- </mat-panel-title>
28
- </mat-expansion-panel-header>
29
- <ng-template #components></ng-template>
30
- </mat-expansion-panel>
31
- `, isInline: true, styles: [":host{margin-bottom:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { 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: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPanelComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'mat-formio-panel', template: `
35
- <mat-card appearance="outlined" *ngIf="!instance.component.collapsible">
36
- <mat-card-title *ngIf="instance?.component?.title">
37
- {{ instance.component.title }}
38
- </mat-card-title>
39
- <mat-card-content fxLayout="column" fxLayoutGap="1em">
40
- <ng-template #components></ng-template>
41
- </mat-card-content>
42
- </mat-card>
43
- <mat-expansion-panel *ngIf="instance.component.collapsible"
44
- [expanded]="!instance.component.collapsed"
45
- >
46
- <mat-expansion-panel-header *ngIf="instance?.component?.title">
47
- <mat-panel-title>
48
- {{ instance.component.title }}
49
- </mat-panel-title>
50
- </mat-expansion-panel-header>
51
- <ng-template #components></ng-template>
52
- </mat-expansion-panel>
53
- `, styles: [":host{margin-bottom:1em}\n"] }]
54
- }] });
55
- PanelComponent.MaterialComponent = MaterialPanelComponent;
56
- export { PanelComponent };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGFuZWwvcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxjQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQTJCaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHVCQUF1Qjs7b0hBQXRELHNCQUFzQjt3R0FBdEIsc0JBQXNCLCtFQXhCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7NEZBS1Usc0JBQXNCO2tCQTFCbEMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7O0FBTUgsY0FBYyxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsTmVzdGVkQ29tcG9uZW50JztcclxuaW1wb3J0IFBhbmVsQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvcGFuZWwvUGFuZWwuanMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcGFuZWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgKm5nSWY9XCIhaW5zdGFuY2UuY29tcG9uZW50LmNvbGxhcHNpYmxlXCI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZSAqbmdJZj1cImluc3RhbmNlPy5jb21wb25lbnQ/LnRpdGxlXCI+XHJcbiAgICAgICAge3sgaW5zdGFuY2UuY29tcG9uZW50LnRpdGxlIH19XHJcbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxZW1cIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudHM+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LmNvbGxhcHNpYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCIhaW5zdGFuY2UuY29tcG9uZW50LmNvbGxhcHNlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAqbmdJZj1cImluc3RhbmNlPy5jb21wb25lbnQ/LnRpdGxlXCI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgIHt7IGluc3RhbmNlLmNvbXBvbmVudC50aXRsZSB9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudHM+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgJzpob3N0IHsgbWFyZ2luLWJvdHRvbTogMWVtOyB9J1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB7fVxyXG5QYW5lbENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUGFuZWxDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFBhbmVsQ29tcG9uZW50IH07XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { MaterialTextfieldComponent, TEXTFIELD_TEMPLATE } from '../textfield/textfield.component';
3
- import PasswordComponent from 'formiojs/components/password/Password.js';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/material/input";
8
- import * as i4 from "@angular/material/form-field";
9
- import * as i5 from "@angular/flex-layout/flex";
10
- import * as i6 from "@angular/flex-layout/extended";
11
- import * as i7 from "../formio-form-field/formio-form-field.component";
12
- import * as i8 from "../label/label.component";
13
- export class MaterialPasswordComponent extends MaterialTextfieldComponent {
14
- constructor() {
15
- super(...arguments);
16
- this.inputType = 'password';
17
- }
18
- }
19
- MaterialPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- MaterialPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialPasswordComponent, selector: "mat-formio-password", usesInheritance: true, ngImport: i0, template: "\n <mat-formio-form-field [instance]=\"instance\" [componentTemplate]=\"componentTemplate\"></mat-formio-form-field>\n <ng-template #componentTemplate let-hasLabel>\n <mat-form-field [appearance]=\"getFormFieldAppearance()\" fxFill>\n\n <mat-label *ngIf=\"hasLabel\">\n <span [instance]=\"instance\" matFormioLabel></span>\n </mat-label>\n\n <span *ngIf=\"instance.component.prefix && instance.type !== 'currency'\"\n matPrefix\n >\n {{ instance.component.prefix }}&nbsp;\n </span>\n <input matInput\n type=\"{{ inputType }}\"\n [formControl]=\"control\"\n [placeholder]=\"instance.component.placeholder\"\n (input)=\"onChange()\" #input\n [ngClass]=\"{ 'show-invalid': inputType=='email' }\"\n >\n <span *ngIf=\"instance.component.suffix\" matSuffix>{{ instance.component.suffix }}</span>\n\n <mat-hint *ngIf=\"instance.component.showWordCount || instance.component.showCharCount\">\n {{ getHint() }}\n </mat-hint>\n\n <br/>\n <mat-error *ngIf=\"isError()\" >{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </ng-template>\n", isInline: true, 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.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: 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.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.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: i7.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPasswordComponent, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'mat-formio-password',
25
- template: TEXTFIELD_TEMPLATE
26
- }]
27
- }] });
28
- PasswordComponent.MaterialComponent = MaterialPasswordComponent;
29
- export { PasswordComponent };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQvcGFzc3dvcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxpQkFBaUIsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7OztBQUt6RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsMEJBQTBCO0lBSnpFOztRQUtTLGNBQVMsR0FBRyxVQUFVLENBQUM7S0FDL0I7O3VIQUZZLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7O0FBSUQsaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IFBhc3N3b3JkQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvcGFzc3dvcmQvUGFzc3dvcmQuanMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlOiBURVhURklFTERfVEVNUExBVEVcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbFRleHRmaWVsZENvbXBvbmVudCB7XHJcbiAgcHVibGljIGlucHV0VHlwZSA9ICdwYXNzd29yZCc7XHJcbn1cclxuUGFzc3dvcmRDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbFBhc3N3b3JkQ29tcG9uZW50O1xyXG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9O1xyXG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { MaterialTextfieldComponent, TEXTFIELD_TEMPLATE } from '../textfield/textfield.component';
3
- import PhoneNumberComponent from 'formiojs/components/phonenumber/PhoneNumber.js';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/material/input";
8
- import * as i4 from "@angular/material/form-field";
9
- import * as i5 from "@angular/flex-layout/flex";
10
- import * as i6 from "@angular/flex-layout/extended";
11
- import * as i7 from "../formio-form-field/formio-form-field.component";
12
- import * as i8 from "../label/label.component";
13
- export class MaterialPhoneNumberComponent extends MaterialTextfieldComponent {
14
- constructor() {
15
- super(...arguments);
16
- this.inputType = 'text';
17
- }
18
- }
19
- MaterialPhoneNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPhoneNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- MaterialPhoneNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialPhoneNumberComponent, selector: "mat-formio-phonenumber", usesInheritance: true, ngImport: i0, template: "\n <mat-formio-form-field [instance]=\"instance\" [componentTemplate]=\"componentTemplate\"></mat-formio-form-field>\n <ng-template #componentTemplate let-hasLabel>\n <mat-form-field [appearance]=\"getFormFieldAppearance()\" fxFill>\n\n <mat-label *ngIf=\"hasLabel\">\n <span [instance]=\"instance\" matFormioLabel></span>\n </mat-label>\n\n <span *ngIf=\"instance.component.prefix && instance.type !== 'currency'\"\n matPrefix\n >\n {{ instance.component.prefix }}&nbsp;\n </span>\n <input matInput\n type=\"{{ inputType }}\"\n [formControl]=\"control\"\n [placeholder]=\"instance.component.placeholder\"\n (input)=\"onChange()\" #input\n [ngClass]=\"{ 'show-invalid': inputType=='email' }\"\n >\n <span *ngIf=\"instance.component.suffix\" matSuffix>{{ instance.component.suffix }}</span>\n\n <mat-hint *ngIf=\"instance.component.showWordCount || instance.component.showCharCount\">\n {{ getHint() }}\n </mat-hint>\n\n <br/>\n <mat-error *ngIf=\"isError()\" >{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </ng-template>\n", isInline: true, 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.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: 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.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.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: i7.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialPhoneNumberComponent, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'mat-formio-phonenumber',
25
- template: TEXTFIELD_TEMPLATE
26
- }]
27
- }] });
28
- PhoneNumberComponent.MaterialComponent = MaterialPhoneNumberComponent;
29
- export { PhoneNumberComponent };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVudW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGhvbmVudW1iZXIvcGhvbmVudW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxvQkFBb0IsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7OztBQUtsRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsMEJBQTBCO0lBSjVFOztRQUtTLGNBQVMsR0FBRyxNQUFNLENBQUM7S0FDM0I7OzBIQUZZLDRCQUE0Qjs4R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7O0FBSUQsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IFBob25lTnVtYmVyQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvcGhvbmVudW1iZXIvUGhvbmVOdW1iZXIuanMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcGhvbmVudW1iZXInLFxyXG4gIHRlbXBsYXRlOiBURVhURklFTERfVEVNUExBVEVcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUGhvbmVOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbFRleHRmaWVsZENvbXBvbmVudCB7XHJcbiAgcHVibGljIGlucHV0VHlwZSA9ICd0ZXh0JztcclxufVxyXG5QaG9uZU51bWJlckNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUGhvbmVOdW1iZXJDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH07XHJcbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { MaterialComponent } from '../MaterialComponent';
3
- import RadioComponent from 'formiojs/components/radio/Radio.js';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/material/form-field";
8
- import * as i4 from "@angular/material/radio";
9
- import * as i5 from "@angular/flex-layout/flex";
10
- import * as i6 from "../formio-form-field/formio-form-field.component";
11
- import * as i7 from "../label/label.component";
12
- export class MaterialRadioComponent extends MaterialComponent {
13
- getLayout() {
14
- return this.instance.component.inline ? 'row' : 'column';
15
- }
16
- isRadioChecked(option) {
17
- return option.value === this.instance.dataValue;
18
- }
19
- clearValue(event, option) {
20
- if (this.isRadioChecked(option)) {
21
- event.preventDefault();
22
- this.deselectValue();
23
- }
24
- }
25
- deselectValue() {
26
- this.instance.updateValue(null, {
27
- modified: true,
28
- });
29
- }
30
- }
31
- MaterialRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
32
- MaterialRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialRadioComponent, selector: "mat-formio-radio", usesInheritance: true, ngImport: i0, template: `
33
- <mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
34
- <ng-template #componentTemplate let-hasLabel>
35
- <div fxLayout="column">
36
- <mat-label *ngIf="hasLabel">
37
- <span [instance]="instance" matFormioLabel></span>
38
- </mat-label>
39
-
40
- <mat-radio-group
41
- (change)="onChange()"
42
- [formControl]="control"
43
- fxFlexOffset="10px"
44
- fxLayout="{{ getLayout() }}"
45
- fxLayoutGap="10px"
46
- >
47
- <mat-radio-button *ngFor="let option of instance.component.values"
48
- value="{{ option.value }}"
49
- [checked]="isRadioChecked(option)"
50
- (keyup.space)="clearValue($event, option)"
51
- (click)="clearValue($event, option)"
52
- >
53
- {{ option.label }}
54
- </mat-radio-button>
55
- <mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
56
- </mat-radio-group>
57
- </div>
58
- </ng-template>
59
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i5.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: i5.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: i5.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }, { kind: "component", type: i6.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i7.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialRadioComponent, decorators: [{
61
- type: Component,
62
- args: [{
63
- selector: 'mat-formio-radio',
64
- template: `
65
- <mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
66
- <ng-template #componentTemplate let-hasLabel>
67
- <div fxLayout="column">
68
- <mat-label *ngIf="hasLabel">
69
- <span [instance]="instance" matFormioLabel></span>
70
- </mat-label>
71
-
72
- <mat-radio-group
73
- (change)="onChange()"
74
- [formControl]="control"
75
- fxFlexOffset="10px"
76
- fxLayout="{{ getLayout() }}"
77
- fxLayoutGap="10px"
78
- >
79
- <mat-radio-button *ngFor="let option of instance.component.values"
80
- value="{{ option.value }}"
81
- [checked]="isRadioChecked(option)"
82
- (keyup.space)="clearValue($event, option)"
83
- (click)="clearValue($event, option)"
84
- >
85
- {{ option.label }}
86
- </mat-radio-button>
87
- <mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
88
- </mat-radio-group>
89
- </div>
90
- </ng-template>
91
- `
92
- }]
93
- }] });
94
- RadioComponent.MaterialComponent = MaterialRadioComponent;
95
- export { RadioComponent };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxjQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7OztBQWlDaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUMzRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsTUFBTTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQzlCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBcEJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLCtFQTdCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDs0RkFFVSxzQkFBc0I7a0JBL0JsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO2lCQUNGOztBQXVCRCxjQUFjLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgUmFkaW9Db21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9yYWRpby9SYWRpby5qcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcmFkaW8nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIFtjb21wb25lbnRUZW1wbGF0ZV09XCJjb21wb25lbnRUZW1wbGF0ZVwiPjwvbWF0LWZvcm1pby1mb3JtLWZpZWxkPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRUZW1wbGF0ZSBsZXQtaGFzTGFiZWw+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiaGFzTGFiZWxcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIG1hdEZvcm1pb0xhYmVsPjwvc3Bhbj5cclxuICAgICAgICA8L21hdC1sYWJlbD5cclxuXHJcbiAgICAgICAgPG1hdC1yYWRpby1ncm91cFxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICAgICAgICAgIGZ4RmxleE9mZnNldD1cIjEwcHhcIlxyXG4gICAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJ7eyBnZXRMYXlvdXQoKSB9fVwiXHJcbiAgICAgICAgICAgICAgICBmeExheW91dEdhcD1cIjEwcHhcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5zdGFuY2UuY29tcG9uZW50LnZhbHVlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7IG9wdGlvbi52YWx1ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1JhZGlvQ2hlY2tlZChvcHRpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJjbGVhclZhbHVlKCRldmVudCwgb3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQsIG9wdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cclxuICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpbnN0YW5jZS5lcnJvclwiPnt7IGluc3RhbmNlLmVycm9yLm1lc3NhZ2UgfX08L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7XHJcbiAgZ2V0TGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmlubGluZSA/ICdyb3cnIDogJ2NvbHVtbic7XHJcbiAgfVxyXG5cclxuICBpc1JhZGlvQ2hlY2tlZChvcHRpb24pIHtcclxuICAgIHJldHVybiBvcHRpb24udmFsdWUgPT09IHRoaXMuaW5zdGFuY2UuZGF0YVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJWYWx1ZShldmVudCwgb3B0aW9uKSB7XHJcbiAgICBpZiAodGhpcy5pc1JhZGlvQ2hlY2tlZChvcHRpb24pKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuZGVzZWxlY3RWYWx1ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVzZWxlY3RWYWx1ZSgpIHtcclxuICAgIHRoaXMuaW5zdGFuY2UudXBkYXRlVmFsdWUobnVsbCwge1xyXG4gICAgICBtb2RpZmllZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5SYWRpb0NvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUmFkaW9Db21wb25lbnQ7XHJcbmV4cG9ydCB7IFJhZGlvQ29tcG9uZW50IH07XHJcbiJdfQ==