ngx-render-material-forms 0.0.1

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 (109) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/FormioControl.mjs +36 -0
  3. package/esm2020/lib/components/Base.mjs +32 -0
  4. package/esm2020/lib/components/MaterialComponent.mjs +145 -0
  5. package/esm2020/lib/components/MaterialNestedComponent.mjs +38 -0
  6. package/esm2020/lib/components/Webform.mjs +19 -0
  7. package/esm2020/lib/components/button/button.component.mjs +91 -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/container/container.component.mjs +25 -0
  12. package/esm2020/lib/components/content/content.component.mjs +18 -0
  13. package/esm2020/lib/components/currency/currency.component.mjs +35 -0
  14. package/esm2020/lib/components/datagrid/datagrid.component.mjs +244 -0
  15. package/esm2020/lib/components/date/date.component.mjs +325 -0
  16. package/esm2020/lib/components/day/day.component.mjs +154 -0
  17. package/esm2020/lib/components/editgrid/editgrid.component.mjs +243 -0
  18. package/esm2020/lib/components/email/email.component.mjs +29 -0
  19. package/esm2020/lib/components/fieldset/fieldset.component.mjs +50 -0
  20. package/esm2020/lib/components/formio-form-field/formio-form-field.component.mjs +57 -0
  21. package/esm2020/lib/components/formio.wizard.mjs +88 -0
  22. package/esm2020/lib/components/hidden/hidden.component.mjs +20 -0
  23. package/esm2020/lib/components/html/html.component.mjs +29 -0
  24. package/esm2020/lib/components/index.mjs +125 -0
  25. package/esm2020/lib/components/label/label.component.mjs +17 -0
  26. package/esm2020/lib/components/number/number.component.mjs +66 -0
  27. package/esm2020/lib/components/panel/panel.component.mjs +57 -0
  28. package/esm2020/lib/components/password/password.component.mjs +29 -0
  29. package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +29 -0
  30. package/esm2020/lib/components/radio/radio.component.mjs +96 -0
  31. package/esm2020/lib/components/select/select.component.mjs +186 -0
  32. package/esm2020/lib/components/selectboxes/selectboxes.component.mjs +102 -0
  33. package/esm2020/lib/components/signature/signature.component.mjs +103 -0
  34. package/esm2020/lib/components/survey/survey.component.mjs +167 -0
  35. package/esm2020/lib/components/table/table.component.mjs +97 -0
  36. package/esm2020/lib/components/tabs/tabs.component.mjs +43 -0
  37. package/esm2020/lib/components/tags/tags.component.mjs +117 -0
  38. package/esm2020/lib/components/textarea/textarea.component.mjs +82 -0
  39. package/esm2020/lib/components/textfield/textfield.component.mjs +108 -0
  40. package/esm2020/lib/components/time/time.component.mjs +206 -0
  41. package/esm2020/lib/components/url/url.component.mjs +29 -0
  42. package/esm2020/lib/components/well/well.component.mjs +43 -0
  43. package/esm2020/lib/const/ButtonsThemes.mjs +17 -0
  44. package/esm2020/lib/const/LabelPositions.mjs +10 -0
  45. package/esm2020/lib/directives/mask.directive.mjs +65 -0
  46. package/esm2020/lib/formio.component.mjs +80 -0
  47. package/esm2020/lib/ngx-render-material-forms.component.mjs +22 -0
  48. package/esm2020/lib/ngx-render-material-forms.module.mjs +344 -0
  49. package/esm2020/lib/ngx-render-material-forms.service.mjs +14 -0
  50. package/esm2020/lib/renderer.mjs +13 -0
  51. package/esm2020/ngx-render-material-forms.mjs +5 -0
  52. package/esm2020/public-api.mjs +7 -0
  53. package/fesm2015/ngx-render-material-forms - Copy.mjs +3787 -0
  54. package/fesm2015/ngx-render-material-forms.js +3787 -0
  55. package/fesm2015/ngx-render-material-forms.mjs.map +1 -0
  56. package/fesm2020/ngx-render-material-forms.mjs +3788 -0
  57. package/fesm2020/ngx-render-material-forms.mjs.map +1 -0
  58. package/index.d.ts +5 -0
  59. package/lib/FormioControl.d.ts +7 -0
  60. package/lib/components/Base.d.ts +2 -0
  61. package/lib/components/MaterialComponent.d.ts +30 -0
  62. package/lib/components/MaterialNestedComponent.d.ts +13 -0
  63. package/lib/components/Webform.d.ts +1 -0
  64. package/lib/components/button/button.component.d.ts +23 -0
  65. package/lib/components/calendar/calendar.component.d.ts +34 -0
  66. package/lib/components/checkbox/checkbox.component.d.ts +9 -0
  67. package/lib/components/columns/columns.component.d.ts +12 -0
  68. package/lib/components/container/container.component.d.ts +8 -0
  69. package/lib/components/content/content.component.d.ts +8 -0
  70. package/lib/components/currency/currency.component.d.ts +10 -0
  71. package/lib/components/datagrid/datagrid.component.d.ts +22 -0
  72. package/lib/components/date/date.component.d.ts +40 -0
  73. package/lib/components/day/day.component.d.ts +16 -0
  74. package/lib/components/editgrid/editgrid.component.d.ts +50 -0
  75. package/lib/components/email/email.component.d.ts +9 -0
  76. package/lib/components/fieldset/fieldset.component.d.ts +8 -0
  77. package/lib/components/formio-form-field/formio-form-field.component.d.ts +18 -0
  78. package/lib/components/formio.wizard.d.ts +19 -0
  79. package/lib/components/hidden/hidden.component.d.ts +8 -0
  80. package/lib/components/html/html.component.d.ts +11 -0
  81. package/lib/components/index.d.ts +2 -0
  82. package/lib/components/label/label.component.d.ts +6 -0
  83. package/lib/components/number/number.component.d.ts +18 -0
  84. package/lib/components/panel/panel.component.d.ts +8 -0
  85. package/lib/components/password/password.component.d.ts +9 -0
  86. package/lib/components/phonenumber/phonenumber.component.d.ts +9 -0
  87. package/lib/components/radio/radio.component.d.ts +12 -0
  88. package/lib/components/select/select.component.d.ts +25 -0
  89. package/lib/components/selectboxes/selectboxes.component.d.ts +15 -0
  90. package/lib/components/signature/signature.component.d.ts +12 -0
  91. package/lib/components/survey/survey.component.d.ts +14 -0
  92. package/lib/components/table/table.component.d.ts +12 -0
  93. package/lib/components/tabs/tabs.component.d.ts +9 -0
  94. package/lib/components/tags/tags.component.d.ts +15 -0
  95. package/lib/components/textarea/textarea.component.d.ts +12 -0
  96. package/lib/components/textfield/textfield.component.d.ts +17 -0
  97. package/lib/components/time/time.component.d.ts +27 -0
  98. package/lib/components/url/url.component.d.ts +9 -0
  99. package/lib/components/well/well.component.d.ts +8 -0
  100. package/lib/const/ButtonsThemes.d.ts +14 -0
  101. package/lib/const/LabelPositions.d.ts +8 -0
  102. package/lib/directives/mask.directive.d.ts +17 -0
  103. package/lib/formio.component.d.ts +15 -0
  104. package/lib/ngx-render-material-forms.component.d.ts +8 -0
  105. package/lib/ngx-render-material-forms.module.d.ts +106 -0
  106. package/lib/ngx-render-material-forms.service.d.ts +6 -0
  107. package/lib/renderer.d.ts +8 -0
  108. package/package.json +38 -0
  109. package/public-api.d.ts +3 -0
@@ -0,0 +1,29 @@
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: "14.1.2", ngImport: i0, type: MaterialHtmlComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
+ MaterialHtmlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", 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: "14.1.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9odG1sL2h0bWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLGFBQWEsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUcxRCxlQUFlO1FBQ2IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEUsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDOztrSEFWVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixvTEFGdEIsdUJBQXVCOzJGQUV0QixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OEJBRXdCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTs7QUFXdkIsYUFBYSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcbmltcG9ydCBIdG1sQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvaHRtbC9IVE1MLmpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1odG1sJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNodG1sQm9keT48L2Rpdj5gXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsSHRtbENvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2h0bWxCb2R5JykgaHRtbEJvZHk6IEVsZW1lbnRSZWY7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIGlmICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5yZWZyZXNoT25DaGFuZ2UpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuY2hlY2tSZWZyZXNoT24gPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaHRtbEJvZHkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmluc3RhbmNlLnJlbmRlckNvbnRlbnQoKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5IdG1sQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxIdG1sQ29tcG9uZW50O1xuZXhwb3J0IHsgSHRtbENvbXBvbmVudCB9O1xuIl19
@@ -0,0 +1,125 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDckUsT0FBTyxTQUFTLE1BQU0scURBQXFELENBQUM7QUFFNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZC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LENBQUM7QUFFNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENvbXBvbmVudHMgPSByZXF1aXJlKCdmb3JtaW9qcy9jb21wb25lbnRzL0NvbXBvbmVudHMnKS5kZWZhdWx0O1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL19jbGFzc2VzL2NvbXBvbmVudC9Db21wb25lbnQuanMnO1xuXG5pbXBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1haWxDb21wb25lbnQgfSBmcm9tICcuL2VtYWlsL2VtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcmxDb21wb25lbnQgfSBmcm9tICcuL3VybC91cmwuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZW51bWJlci9waG9uZW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY3VycmVuY3kvY3VycmVuY3kuY29tcG9uZW50JztcbmltcG9ydCB7IERheUNvbXBvbmVudCB9IGZyb20gJy4vZGF5L2RheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGlkZGVuQ29tcG9uZW50IH0gZnJvbSAnLi9oaWRkZW4vaGlkZGVuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdG1sQ29tcG9uZW50IH0gZnJvbSAnLi9odG1sL2h0bWwuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ3NDb21wb25lbnQgfSBmcm9tICcuL3RhZ3MvdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9wYW5lbC9wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uc0NvbXBvbmVudCB9IGZyb20gJy4vY29sdW1ucy9jb2x1bW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMvdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZHNldENvbXBvbmVudCB9IGZyb20gJy4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnbmF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEJveGVzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rib3hlcy9zZWxlY3Rib3hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFdlbGxDb21wb25lbnQgfSBmcm9tICcuL3dlbGwvd2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2RhdGFncmlkL2RhdGFncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0R3JpZENvbXBvbmVudCB9IGZyb20gJy4vZWRpdGdyaWQvZWRpdGdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQ29tcG9uZW50IH0gZnJvbSAnLi9NYXRlcmlhbENvbXBvbmVudCc7XG5pbXBvcnQgeyBXaXphcmQgfSBmcm9tICcuL2Zvcm1pby53aXphcmQnO1xuaW1wb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vdGltZS90aW1lLmNvbXBvbmVudCdcblxuLy8gU2V0IHRoZSBjb21wb25lbnRzLlxuY29uc3QgY29tcG9uZW50czogYW55ID0ge1xuICB0ZXh0ZmllbGQ6IFRleHRGaWVsZENvbXBvbmVudCxcbiAgcGFzc3dvcmQ6IFBhc3N3b3JkQ29tcG9uZW50LFxuICB1cmw6IFVybENvbXBvbmVudCxcbiAgY2hlY2tib3g6IENoZWNrYm94Q29tcG9uZW50LFxuICBlbWFpbDogRW1haWxDb21wb25lbnQsXG4gIHBob25lTnVtYmVyOiBQaG9uZU51bWJlckNvbXBvbmVudCxcbiAgbnVtYmVyOiBOdW1iZXJDb21wb25lbnQsXG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvbXBvbmVudCxcbiAgZGF5OiBEYXlDb21wb25lbnQsXG4gIGhpZGRlbjogSGlkZGVuQ29tcG9uZW50LFxuICBodG1sZWxlbWVudDogSHRtbENvbXBvbmVudCxcbiAgdGFnczogVGFnc0NvbXBvbmVudCxcbiAgdGV4dGFyZWE6IFRleHRBcmVhQ29tcG9uZW50LFxuICBidXR0b246IEJ1dHRvbkNvbXBvbmVudCxcbiAgZGF0ZXRpbWU6IERhdGVUaW1lQ29tcG9uZW50LFxuICBwYW5lbDogUGFuZWxDb21wb25lbnQsXG4gIGNvbHVtbnM6IENvbHVtbnNDb21wb25lbnQsXG4gIHRhYnM6IFRhYnNDb21wb25lbnQsXG4gIHRhYmxlOiBUYWJsZUNvbXBvbmVudCxcbiAgd2VsbDogV2VsbENvbXBvbmVudCxcbiAgZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50LFxuICBjb250ZW50OiBDb250ZW50Q29tcG9uZW50LFxuICBzaWduYXR1cmU6IFNpZ25hdHVyZUNvbXBvbmVudCxcbiAgc3VydmV5OiBTdXJ2ZXlDb21wb25lbnQsXG4gIHNlbGVjdGJveGVzOiBTZWxlY3RCb3hlc0NvbXBvbmVudCxcbiAgcmFkaW86IFJhZGlvQ29tcG9uZW50LFxuICBzZWxlY3Q6IFNlbGVjdENvbXBvbmVudCxcbiAgY29udGFpbmVyOiBDb250YWluZXJDb21wb25lbnQsXG4gIGRhdGFncmlkOiBEYXRhR3JpZENvbXBvbmVudCxcbiAgZWRpdGdyaWQ6IEVkaXRHcmlkQ29tcG9uZW50LFxuICB1bmtub3duOiBGb3JtaW9Db21wb25lbnQsXG4gIHRpbWU6IFRpbWVDb21wb25lbnQsXG4gIHdpemFyZDogV2l6YXJkXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50cygpIHtcbiAgZm9yIChjb25zdCB0eXBlIG9mIE9iamVjdC5rZXlzKGNvbXBvbmVudHMpKSB7XG4gICAgY29uc3QgQ29tcENsYXNzID0gY29tcG9uZW50c1t0eXBlXTtcbiAgICBDb21wQ2xhc3MucHJvdG90eXBlLnJlbmRlciA9IChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAodGhpcy5tYXRlcmlhbENvbXBvbmVudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRlcmlhbENvbXBvbmVudC5yZW5kZXJDb21wb25lbnRzKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXIgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LnZpZXdDb250YWluZXIodGhpcykgOiB0aGlzLnZpZXdDb250YWluZXIodGhpcyk7XG4gICAgICBpZiAoIXZpZXdDb250YWluZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMub3B0aW9ucy52aWV3UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQ29tcENsYXNzLk1hdGVyaWFsQ29tcG9uZW50KTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuICAgICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpLnNldEluc3RhbmNlKHRoaXMpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2V0VmFsdWUgPSBDb21wQ2xhc3MucHJvdG90eXBlLnNldFZhbHVlO1xuICAgIENvbXBDbGFzcy5wcm90b3R5cGUuc2V0VmFsdWUgPSAoZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgIGlmICh0aGlzLm1hdGVyaWFsQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2V0VmFsdWUoYXJnc1swXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2V0VmFsdWUuY2FsbCh0aGlzLCAuLi5hcmdzKTtcbiAgICB9KTtcblxuICAgIGNvbXBvbmVudHNbdHlwZV0gPSBDb21wQ2xhc3M7XG4gIH1cblxuICByZXR1cm4gY29tcG9uZW50cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29tcG9uZW50KG5hbWU6IHN0cmluZywgQ29tcENsYXNzOiBhbnkpIHtcblxuICBjbGFzcyBEdW1teUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7fTtcbiAgY29uc3QgZm9ybUlPQ29tcCA9IChEdW1teUNvbXBvbmVudCBhcyBhbnkpO1xuXG4gIGZvcm1JT0NvbXAuTWF0ZXJpYWxDb21wb25lbnQgPSBDb21wQ2xhc3M7XG4gIGZvcm1JT0NvbXAucHJvdG90eXBlLnJlbmRlciA9IChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1hdGVyaWFsQ29tcG9uZW50O1xuICAgIH1cbiAgICBjb25zdCB2aWV3Q29udGFpbmVyID0gdGhpcy5wYXJlbnQgPyB0aGlzLnBhcmVudC52aWV3Q29udGFpbmVyKHRoaXMpIDogdGhpcy52aWV3Q29udGFpbmVyKHRoaXMpO1xuICAgIGlmICghdmlld0NvbnRhaW5lcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5vcHRpb25zLnZpZXdSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShmb3JtSU9Db21wLk1hdGVyaWFsQ29tcG9uZW50KTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIGFueSkuc2V0SW5zdGFuY2UodGhpcyk7XG4gIH0pO1xuXG4gIGNvbnN0IHNldFZhbHVlID0gZm9ybUlPQ29tcC5wcm90b3R5cGUuc2V0VmFsdWU7XG4gIGZvcm1JT0NvbXAucHJvdG90eXBlLnNldFZhbHVlID0gKGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQpIHtcbiAgICAgIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2V0VmFsdWUoYXJnc1swXSk7XG4gICAgfVxuICAgIHJldHVybiBzZXRWYWx1ZS5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICB9KTtcblxuICBDb21wb25lbnRzLmFkZENvbXBvbmVudChuYW1lLCBmb3JtSU9Db21wKTtcblxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/form-field";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ import * as i4 from "@angular/material/icon";
7
+ export class LabelComponent {
8
+ }
9
+ LabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ LabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: LabelComponent, selector: "span[matFormioLabel]", inputs: { instance: "instance" }, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n {{ instance.component.label }}<span class=\"required-star\" *ngIf=\"instance.component.validate.required\">*</span>\n <mat-icon *ngIf=\"instance.component.tooltip\" style=\"font-size: 1rem;\"\n matTooltip=\"{{ instance.component.tooltip }}\" matSuffix\n >\n info\n </mat-icon>\n</ng-container>\n", styles: [":host{pointer-events:all;display:block}.required-star{margin-left:.2rem;color:red;font-size:.8rem;vertical-align:top}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: LabelComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'span[matFormioLabel]', template: "<ng-container *ngIf=\"instance\">\n {{ instance.component.label }}<span class=\"required-star\" *ngIf=\"instance.component.validate.required\">*</span>\n <mat-icon *ngIf=\"instance.component.tooltip\" style=\"font-size: 1rem;\"\n matTooltip=\"{{ instance.component.tooltip }}\" matSuffix\n >\n info\n </mat-icon>\n</ng-container>\n", styles: [":host{pointer-events:all;display:block}.required-star{margin-left:.2rem;color:red;font-size:.8rem;vertical-align:top}\n"] }]
14
+ }], propDecorators: { instance: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVFqRCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzsrRkFBZCxjQUFjLDhGQ1IzQiwrVkFRQTsyRkRBYSxjQUFjO2tCQU4xQixTQUFTOytCQUVFLHNCQUFzQjs4QkFLdkIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdzcGFuW21hdEZvcm1pb0xhYmVsXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhYmVsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGluc3RhbmNlO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImluc3RhbmNlXCI+XG4gIHt7IGluc3RhbmNlLmNvbXBvbmVudC5sYWJlbCB9fTxzcGFuIGNsYXNzPVwicmVxdWlyZWQtc3RhclwiICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnZhbGlkYXRlLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnRvb2x0aXBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMXJlbTtcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7IGluc3RhbmNlLmNvbXBvbmVudC50b29sdGlwIH19XCIgbWF0U3VmZml4XG4gID5cbiAgICBpbmZvXG4gIDwvbWF0LWljb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,66 @@
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/form-field";
9
+ import * as i4 from "@angular/material/input";
10
+ import * as i5 from "@angular/flex-layout/flex";
11
+ import * as i6 from "../formio-form-field/formio-form-field.component";
12
+ import * as i7 from "../label/label.component";
13
+ export class MaterialNumberComponent extends MaterialTextfieldComponent {
14
+ constructor(element, ref, renderer) {
15
+ super(element, ref);
16
+ this.element = element;
17
+ this.ref = ref;
18
+ this.renderer = renderer;
19
+ this.inputType = 'text';
20
+ }
21
+ ngAfterViewInit() {
22
+ super.ngAfterViewInit();
23
+ if (this.instance) {
24
+ const { instance } = this;
25
+ this.renderer.listen(this.input.nativeElement, 'blur', () => {
26
+ let value = instance.parseValue(this.control.value);
27
+ value = instance.formatValue(value);
28
+ value = instance.getValueAsString(value);
29
+ this.control.setValue(value);
30
+ });
31
+ }
32
+ }
33
+ getValue() {
34
+ let value = this.control.value;
35
+ if (value && this.instance) {
36
+ value = value.replace(this.instance.prefix, '');
37
+ return !_.isNil(value) && value !== '' ? this.instance.parseNumber(value) : value;
38
+ }
39
+ return value;
40
+ }
41
+ setValue(value) {
42
+ if (this.instance) {
43
+ const { instance } = this;
44
+ value = instance.formatValue(instance.parseValue(value));
45
+ }
46
+ else {
47
+ value = value.toString();
48
+ }
49
+ return super.setValue(value);
50
+ }
51
+ onChange() {
52
+ super.onChange(true);
53
+ }
54
+ }
55
+ MaterialNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
56
+ MaterialNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", 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 >\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.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.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.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: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { 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"] }] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialNumberComponent, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ selector: 'mat-formio-number',
61
+ template: TEXTFIELD_TEMPLATE
62
+ }]
63
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; } });
64
+ NumberComponent.MaterialComponent = MaterialNumberComponent;
65
+ export { NumberComponent };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQU12QixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMEJBQTBCO0lBR3JFLFlBQW1CLE9BQW1CLEVBQVMsR0FBc0IsRUFBVSxRQUFtQjtRQUNoRyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREgsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUYzRixjQUFTLEdBQUcsTUFBTSxDQUFDO0lBSTFCLENBQUM7SUFFRCxlQUFlO1FBQ2IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRXhCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQzFELElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BDLEtBQUssR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1NBRU47SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUNuRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDMUIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzFEO2FBQ0k7WUFDSCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzFCO1FBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDOztvSEE3Q1UsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7QUFnREQsZUFBZSxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCBOdW1iZXJDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9udW1iZXIvTnVtYmVyLmpzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tbnVtYmVyJyxcbiAgdGVtcGxhdGU6IFRFWFRGSUVMRF9URU1QTEFURVxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbE51bWJlckNvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsVGV4dGZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBpbnB1dFR5cGUgPSAndGV4dCc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihlbGVtZW50LCByZWYpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSB0aGlzO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgJ2JsdXInLCAoKSA9PiB7XG4gICAgICAgICAgbGV0IHZhbHVlID0gaW5zdGFuY2UucGFyc2VWYWx1ZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgICAgICAgIHZhbHVlID0gaW5zdGFuY2UuZm9ybWF0VmFsdWUodmFsdWUpO1xuICAgICAgICAgIHZhbHVlID0gaW5zdGFuY2UuZ2V0VmFsdWVBc1N0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSh0aGlzLmluc3RhbmNlLnByZWZpeCwgJycpO1xuICAgICAgcmV0dXJuICFfLmlzTmlsKHZhbHVlKSAmJiB2YWx1ZSAhPT0gJycgPyB0aGlzLmluc3RhbmNlLnBhcnNlTnVtYmVyKHZhbHVlKSA6IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSB0aGlzO1xuICAgICAgdmFsdWUgPSBpbnN0YW5jZS5mb3JtYXRWYWx1ZShpbnN0YW5jZS5wYXJzZVZhbHVlKHZhbHVlKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZSgpIHtcbiAgICBzdXBlci5vbkNoYW5nZSh0cnVlKTtcbiAgfVxufVxuTnVtYmVyQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxOdW1iZXJDb21wb25lbnQ7XG5leHBvcnQgeyBOdW1iZXJDb21wb25lbnQgfTtcbiJdfQ==
@@ -0,0 +1,57 @@
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: "14.1.2", ngImport: i0, type: MaterialPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ MaterialPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialPanelComponent, selector: "mat-formio-panel", usesInheritance: true, ngImport: i0, template: `
13
+ <mat-card *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", exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialPanelComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'mat-formio-panel', template: `
35
+ <mat-card *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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGFuZWwvcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxjQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQTJCaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHVCQUF1Qjs7bUhBQXRELHNCQUFzQjt1R0FBdEIsc0JBQXNCLCtFQXhCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7MkZBS1Usc0JBQXNCO2tCQTFCbEMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7O0FBTUgsY0FBYyxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbE5lc3RlZENvbXBvbmVudCc7XG5pbXBvcnQgUGFuZWxDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9wYW5lbC9QYW5lbC5qcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLXBhbmVsJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWNhcmQgKm5nSWY9XCIhaW5zdGFuY2UuY29tcG9uZW50LmNvbGxhcHNpYmxlXCI+XG4gICAgICA8bWF0LWNhcmQtdGl0bGUgKm5nSWY9XCJpbnN0YW5jZT8uY29tcG9uZW50Py50aXRsZVwiPlxuICAgICAgICB7eyBpbnN0YW5jZS5jb21wb25lbnQudGl0bGUgfX1cbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICA8bWF0LWNhcmQtY29udGVudCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMWVtXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50cz48L25nLXRlbXBsYXRlPlxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQuY29sbGFwc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCIhaW5zdGFuY2UuY29tcG9uZW50LmNvbGxhcHNlZFwiXG4gICAgPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwiaW5zdGFuY2U/LmNvbXBvbmVudD8udGl0bGVcIj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICB7eyBpbnN0YW5jZS5jb21wb25lbnQudGl0bGUgfX1cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRzPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICAnOmhvc3QgeyBtYXJnaW4tYm90dG9tOiAxZW07IH0nXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxQYW5lbENvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IHt9XG5QYW5lbENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUGFuZWxDb21wb25lbnQ7XG5leHBvcnQgeyBQYW5lbENvbXBvbmVudCB9O1xuIl19
@@ -0,0 +1,29 @@
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/form-field";
8
+ import * as i4 from "@angular/material/input";
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 MaterialPasswordComponent extends MaterialTextfieldComponent {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.inputType = 'password';
16
+ }
17
+ }
18
+ MaterialPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
+ MaterialPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", 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 >\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.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.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.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: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { 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"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialPasswordComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'mat-formio-password',
24
+ template: TEXTFIELD_TEMPLATE
25
+ }]
26
+ }] });
27
+ PasswordComponent.MaterialComponent = MaterialPasswordComponent;
28
+ export { PasswordComponent };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQvcGFzc3dvcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxpQkFBaUIsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0FBS3pFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBMEI7SUFKekU7O1FBS1MsY0FBUyxHQUFHLFVBQVUsQ0FBQztLQUMvQjs7c0hBRlkseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7QUFJRCxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCBQYXNzd29yZENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3Bhc3N3b3JkL1Bhc3N3b3JkLmpzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZTogVEVYVEZJRUxEX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbFRleHRmaWVsZENvbXBvbmVudCB7XG4gIHB1YmxpYyBpbnB1dFR5cGUgPSAncGFzc3dvcmQnO1xufVxuUGFzc3dvcmRDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbFBhc3N3b3JkQ29tcG9uZW50O1xuZXhwb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfTtcbiJdfQ==
@@ -0,0 +1,29 @@
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/form-field";
8
+ import * as i4 from "@angular/material/input";
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 MaterialPhoneNumberComponent extends MaterialTextfieldComponent {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.inputType = 'text';
16
+ }
17
+ }
18
+ MaterialPhoneNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialPhoneNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
+ MaterialPhoneNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", 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 >\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.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.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.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: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { 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"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialPhoneNumberComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'mat-formio-phonenumber',
24
+ template: TEXTFIELD_TEMPLATE
25
+ }]
26
+ }] });
27
+ PhoneNumberComponent.MaterialComponent = MaterialPhoneNumberComponent;
28
+ export { PhoneNumberComponent };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVudW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcGhvbmVudW1iZXIvcGhvbmVudW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxvQkFBb0IsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7O0FBS2xGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSwwQkFBMEI7SUFKNUU7O1FBS1MsY0FBUyxHQUFHLE1BQU0sQ0FBQztLQUMzQjs7eUhBRlksNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7QUFJRCxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0ZmllbGRDb21wb25lbnQsIFRFWFRGSUVMRF9URU1QTEFURSB9IGZyb20gJy4uL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCBQaG9uZU51bWJlckNvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3Bob25lbnVtYmVyL1Bob25lTnVtYmVyLmpzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tcGhvbmVudW1iZXInLFxuICB0ZW1wbGF0ZTogVEVYVEZJRUxEX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsUGhvbmVOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbFRleHRmaWVsZENvbXBvbmVudCB7XG4gIHB1YmxpYyBpbnB1dFR5cGUgPSAndGV4dCc7XG59XG5QaG9uZU51bWJlckNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUGhvbmVOdW1iZXJDb21wb25lbnQ7XG5leHBvcnQgeyBQaG9uZU51bWJlckNvbXBvbmVudCB9O1xuIl19
@@ -0,0 +1,96 @@
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: "14.1.2", ngImport: i0, type: MaterialRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
32
+ MaterialRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", 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.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { 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: "14.1.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxjQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7OztBQWlDaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUMzRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsTUFBTTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQzlCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBcEJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLCtFQTdCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDsyRkFFVSxzQkFBc0I7a0JBL0JsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO2lCQUNGOztBQXVCRCxjQUFjLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcbmltcG9ydCBSYWRpb0NvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3JhZGlvL1JhZGlvLmpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1yYWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtaW8tZm9ybS1maWVsZCBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIj48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cbiAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudFRlbXBsYXRlIGxldC1oYXNMYWJlbD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImhhc0xhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gW2luc3RhbmNlXT1cImluc3RhbmNlXCIgbWF0Rm9ybWlvTGFiZWw+PC9zcGFuPlxuICAgICAgICA8L21hdC1sYWJlbD5cblxuICAgICAgICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICAgICAgZnhGbGV4T2Zmc2V0PVwiMTBweFwiXG4gICAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJ7eyBnZXRMYXlvdXQoKSB9fVwiXG4gICAgICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIxMHB4XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5zdGFuY2UuY29tcG9uZW50LnZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBvcHRpb24udmFsdWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzUmFkaW9DaGVja2VkKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJjbGVhclZhbHVlKCRldmVudCwgb3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50LCBvcHRpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImluc3RhbmNlLmVycm9yXCI+e3sgaW5zdGFuY2UuZXJyb3IubWVzc2FnZSB9fTwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxSYWRpb0NvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IHtcbiAgZ2V0TGF5b3V0KCkge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5pbmxpbmUgPyAncm93JyA6ICdjb2x1bW4nO1xuICB9XG5cbiAgaXNSYWRpb0NoZWNrZWQob3B0aW9uKSB7XG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5pbnN0YW5jZS5kYXRhVmFsdWU7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50LCBvcHRpb24pIHtcbiAgICBpZiAodGhpcy5pc1JhZGlvQ2hlY2tlZChvcHRpb24pKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5kZXNlbGVjdFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgZGVzZWxlY3RWYWx1ZSgpIHtcbiAgICB0aGlzLmluc3RhbmNlLnVwZGF0ZVZhbHVlKG51bGwsIHtcbiAgICAgIG1vZGlmaWVkOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG5SYWRpb0NvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsUmFkaW9Db21wb25lbnQ7XG5leHBvcnQgeyBSYWRpb0NvbXBvbmVudCB9O1xuIl19