@tft/crispr-forms 13.0.12 → 13.0.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.
@@ -20,6 +20,9 @@ export const FIELD_COMPONENTS = {
20
20
  unitConversion: import('./material').then(({ UnitConversionFieldComponent }) => UnitConversionFieldComponent)
21
21
  };
22
22
  export function isControlComponent(component) {
23
- return isControlConfig(component.config) || component.config.controlType === ControlType.BUTTON;
23
+ return isControlConfig(component.config) && 'value' in component; // || component.config.controlType === ControlType.BUTTON;
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNsRyxRQUFRLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUMsRUFBRSxFQUFFLENBQUUsaUJBQWlCLENBQUM7SUFDbEYsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBQyxFQUFFLEVBQUUsQ0FBRSxlQUFlLENBQUM7SUFDM0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixFQUFDLEVBQUUsRUFBRSxDQUFFLG1CQUFtQixDQUFDO0lBQ2xGLE1BQU0sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBQztJQUNyRixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUMsRUFBRSxFQUFFLENBQUUsbUJBQW1CLENBQUM7SUFDbEYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixFQUFDLEVBQUUsRUFBRSxDQUFFLDBCQUEwQixDQUFDO0lBQ3ZHLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxFQUFDLEVBQUUsRUFBRSxDQUFFLGtDQUFrQyxDQUFDO0lBQy9ILFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBQztJQUMzRixRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUMsRUFBRSxFQUFFLENBQUUsc0JBQXNCLENBQUM7SUFDM0YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFDLEVBQUUsRUFBRSxDQUFFLG9CQUFvQixDQUFDO0lBQ3JGLFVBQVUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSx3QkFBd0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSx3QkFBd0IsQ0FBQztJQUNqRyxVQUFVLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEVBQUMsRUFBRSxFQUFFLENBQUUsd0JBQXdCLENBQUM7SUFDakcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixFQUFDLEVBQUUsRUFBRSxDQUFFLHlCQUF5QixDQUFDO0lBQ3BHLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBQztJQUM5RSxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUMsRUFBRSxFQUFFLENBQUUsZ0JBQWdCLENBQUM7SUFDOUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixFQUFDLEVBQUUsRUFBRSxDQUFFLDRCQUE0QixDQUFDO0NBQzlHLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBK0I7SUFDaEUsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7QUFDbEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgdHlwZSB7IElucHV0RmllbGRDb21wb25lbnQsIFNlbGVjdEZpZWxkQ29tcG9uZW50LCBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCxcbiAgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbXBvbmVudCwgVGV4dGFyZWFGaWVsZENvbXBvbmVudCwgQ2hlY2tib3hGaWVsZENvbXBvbmVudCxcbiAgUmFkaW9GaWVsZENvbXBvbmVudCwgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50LCBTbGlkZXJGaWVsZENvbXBvbmVudCwgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50LFxuICBIZWFkaW5nQ29tcG9uZW50LCBEaXZpZGVyQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnQsIEltYWdlVXBsb2FkRmllbGRDb21wb25lbnQgfSBmcm9tICcuL21hdGVyaWFsJztcbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1ncm91cC1saXN0L2Zvcm0tZ3JvdXAtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBTdWJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vc3ViLWdyb3VwL3N1Yi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtLmhlbHBlcnMnO1xuaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT01QT05FTlRTID0ge1xuICBncm91cExpc3Q6IGltcG9ydCgnLi9mb3JtLWdyb3VwLWxpc3QnKS50aGVuICgoe0Zvcm1Hcm91cExpc3RDb21wb25lbnR9KSA9PiBGb3JtR3JvdXBMaXN0Q29tcG9uZW50KSxcbiAgc3ViR3JvdXA6IGltcG9ydCgnLi9zdWItZ3JvdXAnKS50aGVuKCh7IFN1Ykdyb3VwQ29tcG9uZW50fSkgPT4gIFN1Ykdyb3VwQ29tcG9uZW50KSxcbiAgYnV0dG9uOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEJ1dHRvbkNvbXBvbmVudH0pID0+ICBCdXR0b25Db21wb25lbnQpLFxuICBpbnB1dDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBJbnB1dEZpZWxkQ29tcG9uZW50fSkgPT4gIElucHV0RmllbGRDb21wb25lbnQpLFxuICBzZWxlY3Q6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgU2VsZWN0RmllbGRDb21wb25lbnR9KSA9PiAgU2VsZWN0RmllbGRDb21wb25lbnQpLFxuICByYWRpbzogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBSYWRpb0ZpZWxkQ29tcG9uZW50fSkgPT4gIFJhZGlvRmllbGRDb21wb25lbnQpLFxuICBhdXRvY29tcGxldGU6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnR9KSA9PiAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQpLFxuICBhdXRvY29tcGxldGVDaGlwbGlzdDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50fSkgPT4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQpLFxuICB0ZXh0YXJlYTogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50fSkgPT4gIFRleHRhcmVhRmllbGRDb21wb25lbnQpLFxuICBjaGVja2JveDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBDaGVja2JveEZpZWxkQ29tcG9uZW50fSkgPT4gIENoZWNrYm94RmllbGRDb21wb25lbnQpLFxuICBzbGlkZXI6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgU2xpZGVyRmllbGRDb21wb25lbnR9KSA9PiAgU2xpZGVyRmllbGRDb21wb25lbnQpLFxuICBkYXRlcGlja2VyOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IERhdGVwaWNrZXJGaWVsZENvbXBvbmVudH0pID0+ICBEYXRlcGlja2VyRmllbGRDb21wb25lbnQpLFxuICBmaWxlVXBsb2FkOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudH0pID0+ICBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQpLFxuICBpbWFnZVVwbG9hZDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50fSkgPT4gIEltYWdlVXBsb2FkRmllbGRDb21wb25lbnQpLFxuICBoZWFkaW5nOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEhlYWRpbmdDb21wb25lbnR9KSA9PiAgSGVhZGluZ0NvbXBvbmVudCksXG4gIGRpdmlkZXI6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgRGl2aWRlckNvbXBvbmVudH0pID0+ICBEaXZpZGVyQ29tcG9uZW50KSxcbiAgdW5pdENvbnZlcnNpb246IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudH0pID0+ICBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50KVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udHJvbENvbXBvbmVudChjb21wb25lbnQ6IENyaXNwckZpZWxkQ29tcG9uZW50KTogY29tcG9uZW50IGlzIENyaXNwckNvbnRyb2xDb21wb25lbnQge1xuICByZXR1cm4gaXNDb250cm9sQ29uZmlnKGNvbXBvbmVudC5jb25maWcpIHx8IGNvbXBvbmVudC5jb25maWcuY29udHJvbFR5cGUgPT09IENvbnRyb2xUeXBlLkJVVFRPTjtcbn1cblxuZXhwb3J0IHR5cGUgQ3Jpc3ByQ29udHJvbENvbXBvbmVudCA9IEJ1dHRvbkNvbXBvbmVudCB8XG4gIElucHV0RmllbGRDb21wb25lbnQgfFxuICBTZWxlY3RGaWVsZENvbXBvbmVudCB8XG4gIFJhZGlvRmllbGRDb21wb25lbnQgfFxuICBTdWJHcm91cENvbXBvbmVudCB8XG4gIEZvcm1Hcm91cExpc3RDb21wb25lbnQgfFxuICBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCB8XG4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQgfFxuICBUZXh0YXJlYUZpZWxkQ29tcG9uZW50IHxcbiAgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB8XG4gIFNsaWRlckZpZWxkQ29tcG9uZW50IHxcbiAgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50IHxcbiAgSW1hZ2VVcGxvYWRGaWVsZENvbXBvbmVudHxcbiAgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50IHxcbiAgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50S2V5cyA9IGtleW9mIHR5cGVvZiBGSUVMRF9DT01QT05FTlRTO1xuLy8gZXhwb3J0IHR5cGUgQ3Jpc3ByRmllbGRDb21wb25lbnQgPSBGSUVMRF9DT01QT05FTlRTW0NvbXBvbmVudEtleXNdO1xuXG5leHBvcnQgdHlwZSBDcmlzcHJGaWVsZENvbXBvbmVudCA9IENyaXNwckNvbnRyb2xDb21wb25lbnQgfFxuICBIZWFkaW5nQ29tcG9uZW50fFxuICBEaXZpZGVyQ29tcG9uZW50O1xuXG4iXX0=
25
+ export function isControlOrButtonComponent(component) {
26
+ return isControlComponent(component) || component.config.controlType === ControlType.BUTTON;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNsRyxRQUFRLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUMsRUFBRSxFQUFFLENBQUUsaUJBQWlCLENBQUM7SUFDbEYsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBQyxFQUFFLEVBQUUsQ0FBRSxlQUFlLENBQUM7SUFDM0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixFQUFDLEVBQUUsRUFBRSxDQUFFLG1CQUFtQixDQUFDO0lBQ2xGLE1BQU0sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBQztJQUNyRixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUMsRUFBRSxFQUFFLENBQUUsbUJBQW1CLENBQUM7SUFDbEYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixFQUFDLEVBQUUsRUFBRSxDQUFFLDBCQUEwQixDQUFDO0lBQ3ZHLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxFQUFDLEVBQUUsRUFBRSxDQUFFLGtDQUFrQyxDQUFDO0lBQy9ILFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBQztJQUMzRixRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUMsRUFBRSxFQUFFLENBQUUsc0JBQXNCLENBQUM7SUFDM0YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFDLEVBQUUsRUFBRSxDQUFFLG9CQUFvQixDQUFDO0lBQ3JGLFVBQVUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSx3QkFBd0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSx3QkFBd0IsQ0FBQztJQUNqRyxVQUFVLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEVBQUMsRUFBRSxFQUFFLENBQUUsd0JBQXdCLENBQUM7SUFDakcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixFQUFDLEVBQUUsRUFBRSxDQUFFLHlCQUF5QixDQUFDO0lBQ3BHLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBQztJQUM5RSxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUMsRUFBRSxFQUFFLENBQUUsZ0JBQWdCLENBQUM7SUFDOUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixFQUFDLEVBQUUsRUFBRSxDQUFFLDRCQUE0QixDQUFDO0NBQzlHLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBK0I7SUFDaEUsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUEsQ0FBQywwREFBMEQ7QUFDN0gsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUErQjtJQUN4RSxPQUFPLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7QUFDOUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgdHlwZSB7IElucHV0RmllbGRDb21wb25lbnQsIFNlbGVjdEZpZWxkQ29tcG9uZW50LCBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCxcbiAgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbXBvbmVudCwgVGV4dGFyZWFGaWVsZENvbXBvbmVudCwgQ2hlY2tib3hGaWVsZENvbXBvbmVudCxcbiAgUmFkaW9GaWVsZENvbXBvbmVudCwgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50LCBTbGlkZXJGaWVsZENvbXBvbmVudCwgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50LFxuICBIZWFkaW5nQ29tcG9uZW50LCBEaXZpZGVyQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnQsIEltYWdlVXBsb2FkRmllbGRDb21wb25lbnQgfSBmcm9tICcuL21hdGVyaWFsJztcbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1ncm91cC1saXN0L2Zvcm0tZ3JvdXAtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBTdWJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vc3ViLWdyb3VwL3N1Yi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtLmhlbHBlcnMnO1xuaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT01QT05FTlRTID0ge1xuICBncm91cExpc3Q6IGltcG9ydCgnLi9mb3JtLWdyb3VwLWxpc3QnKS50aGVuICgoe0Zvcm1Hcm91cExpc3RDb21wb25lbnR9KSA9PiBGb3JtR3JvdXBMaXN0Q29tcG9uZW50KSxcbiAgc3ViR3JvdXA6IGltcG9ydCgnLi9zdWItZ3JvdXAnKS50aGVuKCh7IFN1Ykdyb3VwQ29tcG9uZW50fSkgPT4gIFN1Ykdyb3VwQ29tcG9uZW50KSxcbiAgYnV0dG9uOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEJ1dHRvbkNvbXBvbmVudH0pID0+ICBCdXR0b25Db21wb25lbnQpLFxuICBpbnB1dDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBJbnB1dEZpZWxkQ29tcG9uZW50fSkgPT4gIElucHV0RmllbGRDb21wb25lbnQpLFxuICBzZWxlY3Q6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgU2VsZWN0RmllbGRDb21wb25lbnR9KSA9PiAgU2VsZWN0RmllbGRDb21wb25lbnQpLFxuICByYWRpbzogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBSYWRpb0ZpZWxkQ29tcG9uZW50fSkgPT4gIFJhZGlvRmllbGRDb21wb25lbnQpLFxuICBhdXRvY29tcGxldGU6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnR9KSA9PiAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQpLFxuICBhdXRvY29tcGxldGVDaGlwbGlzdDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50fSkgPT4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQpLFxuICB0ZXh0YXJlYTogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50fSkgPT4gIFRleHRhcmVhRmllbGRDb21wb25lbnQpLFxuICBjaGVja2JveDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBDaGVja2JveEZpZWxkQ29tcG9uZW50fSkgPT4gIENoZWNrYm94RmllbGRDb21wb25lbnQpLFxuICBzbGlkZXI6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgU2xpZGVyRmllbGRDb21wb25lbnR9KSA9PiAgU2xpZGVyRmllbGRDb21wb25lbnQpLFxuICBkYXRlcGlja2VyOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IERhdGVwaWNrZXJGaWVsZENvbXBvbmVudH0pID0+ICBEYXRlcGlja2VyRmllbGRDb21wb25lbnQpLFxuICBmaWxlVXBsb2FkOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudH0pID0+ICBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQpLFxuICBpbWFnZVVwbG9hZDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50fSkgPT4gIEltYWdlVXBsb2FkRmllbGRDb21wb25lbnQpLFxuICBoZWFkaW5nOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEhlYWRpbmdDb21wb25lbnR9KSA9PiAgSGVhZGluZ0NvbXBvbmVudCksXG4gIGRpdmlkZXI6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgRGl2aWRlckNvbXBvbmVudH0pID0+ICBEaXZpZGVyQ29tcG9uZW50KSxcbiAgdW5pdENvbnZlcnNpb246IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudH0pID0+ICBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50KVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udHJvbENvbXBvbmVudChjb21wb25lbnQ6IENyaXNwckZpZWxkQ29tcG9uZW50KTogY29tcG9uZW50IGlzIENyaXNwckNvbnRyb2xDb21wb25lbnQge1xuICByZXR1cm4gaXNDb250cm9sQ29uZmlnKGNvbXBvbmVudC5jb25maWcpICYmICd2YWx1ZScgaW4gY29tcG9uZW50IC8vIHx8IGNvbXBvbmVudC5jb25maWcuY29udHJvbFR5cGUgPT09IENvbnRyb2xUeXBlLkJVVFRPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50KGNvbXBvbmVudDogQ3Jpc3ByRmllbGRDb21wb25lbnQpOiBjb21wb25lbnQgaXMgQ3Jpc3ByQ29udHJvbE9yQnV0dG9uIHtcbiAgcmV0dXJuIGlzQ29udHJvbENvbXBvbmVudChjb21wb25lbnQpIHx8IGNvbXBvbmVudC5jb25maWcuY29udHJvbFR5cGUgPT09IENvbnRyb2xUeXBlLkJVVFRPTjtcbn1cblxuZXhwb3J0IHR5cGUgQ3Jpc3ByQ29udHJvbE9yQnV0dG9uID0gQ3Jpc3ByQ29udHJvbENvbXBvbmVudCB8IEJ1dHRvbkNvbXBvbmVudDtcblxuZXhwb3J0IHR5cGUgQ3Jpc3ByQ29udHJvbENvbXBvbmVudCA9IElucHV0RmllbGRDb21wb25lbnQgfFxuICBTZWxlY3RGaWVsZENvbXBvbmVudCB8XG4gIFJhZGlvRmllbGRDb21wb25lbnQgfFxuICBTdWJHcm91cENvbXBvbmVudCB8XG4gIEZvcm1Hcm91cExpc3RDb21wb25lbnQgfFxuICBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCB8XG4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQgfFxuICBUZXh0YXJlYUZpZWxkQ29tcG9uZW50IHxcbiAgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB8XG4gIFNsaWRlckZpZWxkQ29tcG9uZW50IHxcbiAgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50IHxcbiAgSW1hZ2VVcGxvYWRGaWVsZENvbXBvbmVudHxcbiAgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50IHxcbiAgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50S2V5cyA9IGtleW9mIHR5cGVvZiBGSUVMRF9DT01QT05FTlRTO1xuLy8gZXhwb3J0IHR5cGUgQ3Jpc3ByRmllbGRDb21wb25lbnQgPSBGSUVMRF9DT01QT05FTlRTW0NvbXBvbmVudEtleXNdO1xuXG5leHBvcnQgdHlwZSBDcmlzcHJGaWVsZENvbXBvbmVudCA9IENyaXNwckNvbnRyb2xDb21wb25lbnQgfFxuICBIZWFkaW5nQ29tcG9uZW50IHxcbiAgRGl2aWRlckNvbXBvbmVudCB8XG4gIEJ1dHRvbkNvbXBvbmVudDtcblxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Directive, Input, ViewContainerRef, Renderer2, NgModule, ChangeDetectorRef } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
- import { FIELD_COMPONENTS, isControlComponent } from './field-component-map.const';
3
+ import { FIELD_COMPONENTS, isControlComponent, isControlOrButtonComponent } from './field-component-map.const';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i0 from "@angular/core";
6
6
  export class CrisprFieldDirective {
@@ -9,7 +9,17 @@ export class CrisprFieldDirective {
9
9
  this.renderer = renderer;
10
10
  this.cdr = cdr;
11
11
  }
12
- async ngOnChanges() {
12
+ set value(value) {
13
+ this._value = value;
14
+ if (this.component && isControlComponent(this.component)) {
15
+ this.component.value = value;
16
+ }
17
+ }
18
+ ;
19
+ get value() {
20
+ return this._value;
21
+ }
22
+ async ngOnInit() {
13
23
  /**
14
24
  * create component and set values from config on its instance
15
25
  */
@@ -17,11 +27,11 @@ export class CrisprFieldDirective {
17
27
  const componentRef = this.container.createComponent(component);
18
28
  this.component = componentRef.instance;
19
29
  this.component.config = this.config;
20
- if (isControlComponent(this.component)) {
30
+ if (isControlOrButtonComponent(this.component)) {
21
31
  this.component.group = this.group;
22
- if ('value' in this.component) {
23
- this.component.value = this.value;
24
- }
32
+ }
33
+ if (isControlComponent(this.component)) {
34
+ this.component.value = this.value;
25
35
  }
26
36
  this.cdr.detectChanges();
27
37
  // adds any config classes to the dynamically generated component
@@ -40,7 +50,7 @@ export class CrisprFieldDirective {
40
50
  }
41
51
  }
42
52
  CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
43
- CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, usesOnChanges: true, ngImport: i0 });
53
+ CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, ngImport: i0 });
44
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
45
55
  type: Directive,
46
56
  args: [{
@@ -74,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
74
84
  ]
75
85
  }]
76
86
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBd0IsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFDVSxTQUEyQixFQUMzQixRQUFtQixFQUNuQixHQUFzQjtRQUZ0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzdCLENBQUM7SUFFSixLQUFLLENBQUMsV0FBVztRQUNmOztXQUVHO1FBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUF1QixTQUFTLENBQUMsQ0FBQztRQUVyRixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFLLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDbkM7U0FDRjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsaUVBQWlFO1FBQ2pFLHlHQUF5RztRQUN6RyxJQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwQywwREFBMEQ7WUFDMUQsSUFBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsS0FBSywwQkFBMEIsQ0FBQyxDQUFDO2FBQzlFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF4Q1Usb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7K0pBR1UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7O0FBaURSLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFyRGpCLG9CQUFvQixhQTRDN0IsWUFBWSxhQTVDSCxvQkFBb0I7K0dBcURwQixpQkFBaUIsWUFWbkI7WUFDUCxZQUFZO1NBQ2I7MkZBUVUsaUJBQWlCO2tCQVg3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRTt3QkFDWixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiwgUmVuZGVyZXIyLCBOZ01vZHVsZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBBbnlGaWVsZENvbmZpZywgQ29udHJvbFZhbHVlIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQsIEZJRUxEX0NPTVBPTkVOVFMsIGlzQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtY29tcG9uZW50LW1hcC5jb25zdCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3Jpc3ByRmllbGRdJ1xufSlcbmV4cG9ydCBjbGFzcyBDcmlzcHJGaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBBbnlGaWVsZENvbmZpZztcbiAgQElucHV0KCkgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgdmFsdWU6IENvbnRyb2xWYWx1ZSB8IGFueVtdO1xuICBjb21wb25lbnQ6IENyaXNwckZpZWxkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBhc3luYyBuZ09uQ2hhbmdlcygpIHtcbiAgICAvKipcbiAgICAgKiBjcmVhdGUgY29tcG9uZW50IGFuZCBzZXQgdmFsdWVzIGZyb20gY29uZmlnIG9uIGl0cyBpbnN0YW5jZVxuICAgICAqL1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudCB8fCBhd2FpdCBGSUVMRF9DT01QT05FTlRTW3RoaXMuY29uZmlnLmNvbnRyb2xUeXBlXTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQ8Q3Jpc3ByRmllbGRDb21wb25lbnQ+KGNvbXBvbmVudCk7XG5cbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB0aGlzLmNvbXBvbmVudC5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICBpZiAoIGlzQ29udHJvbENvbXBvbmVudCh0aGlzLmNvbXBvbmVudCkpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Lmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgIGlmICgndmFsdWUnIGluIHRoaXMuY29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIC8vIGFkZHMgYW55IGNvbmZpZyBjbGFzc2VzIHRvIHRoZSBkeW5hbWljYWxseSBnZW5lcmF0ZWQgY29tcG9uZW50XG4gICAgLy8gZG9pbmcgdGhpcyBoZXJlIGtlZXBzIHVzIGZyb20gaGF2aW5nIHRvIGV4dGVuZCBhIGJhc2UgY29tcG9uZW50IGludG8gZWFjaCBmaWVsZCBjb21wb25lbnQgaW5kaXZpZHVhbGx5XG4gICAgaWYoIXRoaXMuY29uZmlnLmNsYXNzZXMpIHJldHVybjtcbiAgICB0aGlzLmNvbmZpZy5jbGFzc2VzLmZvckVhY2goKGtsYXNzKSA9PiB7XG4gICAgICAvLyBjaGVjayBmb3IgcGFzc2luZyBtdWx0aXBsZSBjbGFzc2VzIGluIG9uZSBhcnJheSBlbGVtZW50XG4gICAgICBpZihrbGFzcy5pbmNsdWRlcygnICcpKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbXByb3Blcmx5IGZvcm1hdHRlZCBjbGFzcy4gJyR7a2xhc3N9JyBjYW5ub3QgY29udGFpbiBzcGFjZXMuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDcmlzcHJGaWVsZERpcmVjdGl2ZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDcmlzcHJGaWVsZERpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENyaXNwckZpZWxkTW9kdWxlIHtcbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDN0ksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBd0IsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNySSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFvQi9CLFlBQ1UsU0FBMkIsRUFDM0IsUUFBbUIsRUFDbkIsR0FBc0I7UUFGdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBZkosSUFBYSxLQUFLLENBQUMsS0FBMkI7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBU0QsS0FBSyxDQUFDLFFBQVE7UUFDWjs7V0FFRztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBdUIsU0FBUyxDQUFDLENBQUM7UUFFckYsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQztRQUNELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLGlFQUFpRTtRQUNqRSx5R0FBeUc7UUFDekcsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUFFLE9BQU87UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsMERBQTBEO1lBQzFELElBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLEtBQUssMEJBQTBCLENBQUMsQ0FBQzthQUM5RTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNwRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBckRVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOytKQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTU8sS0FBSztzQkFBakIsS0FBSzs7QUF5RFIsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQWxFakIsb0JBQW9CLGFBeUQ3QixZQUFZLGFBekRILG9CQUFvQjsrR0FrRXBCLGlCQUFpQixZQVZuQjtZQUNQLFlBQVk7U0FDYjsyRkFRVSxpQkFBaUI7a0JBWDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmLCBSZW5kZXJlcjIsIE5nTW9kdWxlLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgQW55RmllbGRDb25maWcsIENvbnRyb2xWYWx1ZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBGSUVMRF9DT01QT05FTlRTLCBpc0NvbnRyb2xDb21wb25lbnQsIGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1jb21wb25lbnQtbWFwLmNvbnN0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjcmlzcHJGaWVsZF0nXG59KVxuZXhwb3J0IGNsYXNzIENyaXNwckZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb25maWc6IEFueUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiB2YWx1ZSBzZXR0ZXIgdXBkYXRlcyB0aGUgY29udHJvbCdzIHZhbHVlIGFzIHdlbGxcbiAgICovXG4gIF92YWx1ZTogQ29udHJvbFZhbHVlIHwgYW55W11cbiAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBDb250cm9sVmFsdWUgfCBhbnlbXSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgaWYodGhpcy5jb21wb25lbnQgJiYgaXNDb250cm9sQ29tcG9uZW50KHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgdGhpcy5jb21wb25lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH07XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgY29tcG9uZW50OiBDcmlzcHJGaWVsZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgLyoqXG4gICAgICogY3JlYXRlIGNvbXBvbmVudCBhbmQgc2V0IHZhbHVlcyBmcm9tIGNvbmZpZyBvbiBpdHMgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnQgfHwgYXdhaXQgRklFTERfQ09NUE9ORU5UU1t0aGlzLmNvbmZpZy5jb250cm9sVHlwZV07XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50PENyaXNwckZpZWxkQ29tcG9uZW50Pihjb21wb25lbnQpO1xuXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgdGhpcy5jb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgaWYgKGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50KHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgIH1cbiAgICBpZiAoaXNDb250cm9sQ29tcG9uZW50KHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgdGhpcy5jb21wb25lbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgLy8gYWRkcyBhbnkgY29uZmlnIGNsYXNzZXMgdG8gdGhlIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBjb21wb25lbnRcbiAgICAvLyBkb2luZyB0aGlzIGhlcmUga2VlcHMgdXMgZnJvbSBoYXZpbmcgdG8gZXh0ZW5kIGEgYmFzZSBjb21wb25lbnQgaW50byBlYWNoIGZpZWxkIGNvbXBvbmVudCBpbmRpdmlkdWFsbHlcbiAgICBpZighdGhpcy5jb25maWcuY2xhc3NlcykgcmV0dXJuO1xuICAgIHRoaXMuY29uZmlnLmNsYXNzZXMuZm9yRWFjaCgoa2xhc3MpID0+IHtcbiAgICAgIC8vIGNoZWNrIGZvciBwYXNzaW5nIG11bHRpcGxlIGNsYXNzZXMgaW4gb25lIGFycmF5IGVsZW1lbnRcbiAgICAgIGlmKGtsYXNzLmluY2x1ZGVzKCcgJykpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEltcHJvcGVybHkgZm9ybWF0dGVkIGNsYXNzLiAnJHtrbGFzc30nIGNhbm5vdCBjb250YWluIHNwYWNlcy5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIGtsYXNzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENyaXNwckZpZWxkRGlyZWN0aXZlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENyaXNwckZpZWxkRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3Jpc3ByRmllbGRNb2R1bGUge1xufVxuIl19
@@ -18,11 +18,9 @@ export class CrisprFormComponent {
18
18
  this.statusChanges = this.form.statusChanges;
19
19
  this.subs = [];
20
20
  }
21
- ngOnChanges(changes) {
21
+ ngOnInit() {
22
22
  // build out the form, note that we pass in the form as the third argument and the function modifies it
23
- if (changes.config || changes.value || changes.form) {
24
- buildFormGroupFromConfig(this.config, this.value, this.form);
25
- }
23
+ buildFormGroupFromConfig(this.config, this.value, this.form);
26
24
  }
27
25
  handleSubmit() {
28
26
  this.form.markAllAsTouched();
@@ -33,7 +31,7 @@ export class CrisprFormComponent {
33
31
  }
34
32
  }
35
33
  CrisprFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": i5.InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
34
+ CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": i5.InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
37
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, decorators: [{
38
36
  type: Component,
39
37
  args: [{ selector: 'crispr-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"] }]
@@ -53,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
53
51
  type: ViewChild,
54
52
  args: ['submitTrigger']
55
53
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBU1csU0FBSSxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBc0IsSUFBSSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3BELHNFQUFzRTtRQUM1RCxpQkFBWSxHQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2RCxrQkFBYSxHQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUV0RSxTQUFJLEdBQW1CLEVBQUUsQ0FBQztLQW1CM0I7SUFmQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsdUdBQXVHO1FBQ3ZHLElBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDbEQsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7O2dIQTdCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1VkNYaEMsMnlCQXNCQTsyRkRYYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFJcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbEdyb3VwVmFsdWUsIEZvcm1Db25maWcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnIH0gZnJvbSAnLi4vZm9ybS5oZWxwZXJzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLWZvcm0nLFxuICBzdHlsZVVybHM6IFsnZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDcmlzcHJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLy8gaWYgbm8gZm9ybSBoYXMgYmVlbiBwYXNzZWQgaW4gYnkgY29uc3VtaW5nIGNvbXBvbmVudCwgd2UgY3JlYXRlIGFuIGVtcHR5IGdyb3VwIHRvIGJ1aWxkIG91dFxuICBASW5wdXQoKSBjb25maWc6IEZvcm1Db25maWc7XG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBASW5wdXQoKSB2YWx1ZTogQ29udHJvbEdyb3VwVmFsdWUgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cD4oKTtcbiAgLy8gcHJveHkgdmFsdWUgYW5kIHN0YXR1cyBjaGFuZ2UgZXZlbnRzIHRocm91Z2ggdG8gY29uc3VtaW5nIGNvbXBvbmVudFxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzO1xuICBAT3V0cHV0KCkgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5mb3JtLnN0YXR1c0NoYW5nZXM7XG5cbiAgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdzdWJtaXRUcmlnZ2VyJykgc3VibWl0VHJpZ2dlcjogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIGJ1aWxkIG91dCB0aGUgZm9ybSwgbm90ZSB0aGF0IHdlIHBhc3MgaW4gdGhlIGZvcm0gYXMgdGhlIHRoaXJkIGFyZ3VtZW50IGFuZCB0aGUgZnVuY3Rpb24gbW9kaWZpZXMgaXRcbiAgICBpZihjaGFuZ2VzLmNvbmZpZyB8fCBjaGFuZ2VzLnZhbHVlIHx8IGNoYW5nZXMuZm9ybSkge1xuICAgICAgYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnKHRoaXMuY29uZmlnLCB0aGlzLnZhbHVlLCB0aGlzLmZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVN1Ym1pdCgpIHtcbiAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIHRoaXMuc3VibWl0dGVkLmVtaXQodGhpcy5mb3JtKTtcbiAgfVxuXG4gIHRyaWdnZXJTdWJtaXQoKSB7XG4gICAgdGhpcy5zdWJtaXRUcmlnZ2VyLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgY2xhc3M9XCJjcmlzcHItZm9ybVwiXG4gIFtuZ0NsYXNzXT1cImNvbmZpZy5jbGFzc2VzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgKG5nU3VibWl0KT1cImhhbmRsZVN1Ym1pdCgpXCJcbiAgW2F1dG9jb21wbGV0ZV09XCJjb25maWcuYXV0b2NvbXBsZXRlIHx8ICdvZmYnXCJcbiAgW2Vycm9yRGljdGlvbmFyeV09XCJjb25maWcuZXJyb3JEaWN0aW9uYXJ5XCJcbiAgI25nRm9ybUVsZW1lbnQ9XCJuZ0Zvcm1cIj5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNvbmZpZy5maWVsZHM7XCJcbiAgICBjcmlzcHJGaWVsZFxuICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGluaXRpYWxDb250cm9sVmFsdWUgOiBmaWVsZFwiXG4gICAgW2NvbmZpZ109XCJmaWVsZFwiXG4gICAgW2dyb3VwXT1cImZvcm1cIj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gSGlkZGVuIGJ1dHRvbiwgcHJvZ3JhbW1hdGljYWxseSBjbGlja2VkIHdoZW4gY3Jpc3ByIGZvcm0gdHJpZ2dlclN1Ym1pdCBmdW5jdGlvbiBjYWxsZWQuXG4gICAgVXNlcyBhIGhpZGRlbiBidXR0b24gd2l0aCB0eXBlPVwic3VibWl0XCIgYmVjYXVzZSBpdCB3aWxsIHRyaWdnZXIgYm90aCBuYXRpdmUgZm9ybSBzdWJtaXQgZXZlbnRcbiAgICAod2hpY2ggdGhlIGVycm9yIGhhbmRsZXIgaGFzIHRvIGxpc3RlbiBmb3IpIGFuZCBuZ1N1Ym1pdCBldmVudCAgLS0+XG4gIDxidXR0b24gI3N1Ym1pdFRyaWdnZXIgY2xhc3M9XCJzdWJtaXQtdHJpZ2dlclwiIHR5cGU9XCJzdWJtaXRcIj5cbiAgPC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ3pKLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBU1csU0FBSSxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBc0IsSUFBSSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3BELHNFQUFzRTtRQUM1RCxpQkFBWSxHQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2RCxrQkFBYSxHQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUV0RSxTQUFJLEdBQW1CLEVBQUUsQ0FBQztLQWlCM0I7SUFiQyxRQUFRO1FBQ04sdUdBQXVHO1FBQ3ZHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7Z0hBM0JVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGtVQ1hoQywyeUJBc0JBOzJGRFhhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUlxQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xHcm91cFZhbHVlLCBGb3JtQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGJ1aWxkRm9ybUdyb3VwRnJvbUNvbmZpZyB9IGZyb20gJy4uL2Zvcm0uaGVscGVycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1mb3JtJyxcbiAgc3R5bGVVcmxzOiBbJ2Zvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICdmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3Jpc3ByRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIGlmIG5vIGZvcm0gaGFzIGJlZW4gcGFzc2VkIGluIGJ5IGNvbnN1bWluZyBjb21wb25lbnQsIHdlIGNyZWF0ZSBhbiBlbXB0eSBncm91cCB0byBidWlsZCBvdXRcbiAgQElucHV0KCkgY29uZmlnOiBGb3JtQ29uZmlnO1xuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgdmFsdWU6IENvbnRyb2xHcm91cFZhbHVlID0gbnVsbDtcblxuICBAT3V0cHV0KCkgc3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXA+KCk7XG4gIC8vIHByb3h5IHZhbHVlIGFuZCBzdGF0dXMgY2hhbmdlIGV2ZW50cyB0aHJvdWdoIHRvIGNvbnN1bWluZyBjb21wb25lbnRcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcztcbiAgQE91dHB1dCgpIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzO1xuXG4gIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQFZpZXdDaGlsZCgnc3VibWl0VHJpZ2dlcicpIHN1Ym1pdFRyaWdnZXI6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGJ1aWxkIG91dCB0aGUgZm9ybSwgbm90ZSB0aGF0IHdlIHBhc3MgaW4gdGhlIGZvcm0gYXMgdGhlIHRoaXJkIGFyZ3VtZW50IGFuZCB0aGUgZnVuY3Rpb24gbW9kaWZpZXMgaXRcbiAgICBidWlsZEZvcm1Hcm91cEZyb21Db25maWcodGhpcy5jb25maWcsIHRoaXMudmFsdWUsIHRoaXMuZm9ybSk7XG4gIH1cblxuICBoYW5kbGVTdWJtaXQoKSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHRoaXMuZm9ybSk7XG4gIH1cblxuICB0cmlnZ2VyU3VibWl0KCkge1xuICAgIHRoaXMuc3VibWl0VHJpZ2dlci5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIGNsYXNzPVwiY3Jpc3ByLWZvcm1cIlxuICBbbmdDbGFzc109XCJjb25maWcuY2xhc3Nlc1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVTdWJtaXQoKVwiXG4gIFthdXRvY29tcGxldGVdPVwiY29uZmlnLmF1dG9jb21wbGV0ZSB8fCAnb2ZmJ1wiXG4gIFtlcnJvckRpY3Rpb25hcnldPVwiY29uZmlnLmVycm9yRGljdGlvbmFyeVwiXG4gICNuZ0Zvcm1FbGVtZW50PVwibmdGb3JtXCI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb25maWcuZmllbGRzO1wiXG4gICAgY3Jpc3ByRmllbGRcbiAgICBbdmFsdWVdPVwidmFsdWUgfCBpbml0aWFsQ29udHJvbFZhbHVlIDogZmllbGRcIlxuICAgIFtjb25maWddPVwiZmllbGRcIlxuICAgIFtncm91cF09XCJmb3JtXCI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEhpZGRlbiBidXR0b24sIHByb2dyYW1tYXRpY2FsbHkgY2xpY2tlZCB3aGVuIGNyaXNwciBmb3JtIHRyaWdnZXJTdWJtaXQgZnVuY3Rpb24gY2FsbGVkLlxuICAgIFVzZXMgYSBoaWRkZW4gYnV0dG9uIHdpdGggdHlwZT1cInN1Ym1pdFwiIGJlY2F1c2UgaXQgd2lsbCB0cmlnZ2VyIGJvdGggbmF0aXZlIGZvcm0gc3VibWl0IGV2ZW50XG4gICAgKHdoaWNoIHRoZSBlcnJvciBoYW5kbGVyIGhhcyB0byBsaXN0ZW4gZm9yKSBhbmQgbmdTdWJtaXQgZXZlbnQgIC0tPlxuICA8YnV0dG9uICNzdWJtaXRUcmlnZ2VyIGNsYXNzPVwic3VibWl0LXRyaWdnZXJcIiB0eXBlPVwic3VibWl0XCI+XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
@@ -1572,7 +1572,10 @@ const FIELD_COMPONENTS = {
1572
1572
  unitConversion: Promise.resolve().then(function () { return index$2; }).then(({ UnitConversionFieldComponent }) => UnitConversionFieldComponent)
1573
1573
  };
1574
1574
  function isControlComponent(component) {
1575
- return isControlConfig(component.config) || component.config.controlType === ControlType.BUTTON;
1575
+ return isControlConfig(component.config) && 'value' in component; // || component.config.controlType === ControlType.BUTTON;
1576
+ }
1577
+ function isControlOrButtonComponent(component) {
1578
+ return isControlComponent(component) || component.config.controlType === ControlType.BUTTON;
1576
1579
  }
1577
1580
 
1578
1581
  class CrisprFieldDirective {
@@ -1581,7 +1584,17 @@ class CrisprFieldDirective {
1581
1584
  this.renderer = renderer;
1582
1585
  this.cdr = cdr;
1583
1586
  }
1584
- ngOnChanges() {
1587
+ set value(value) {
1588
+ this._value = value;
1589
+ if (this.component && isControlComponent(this.component)) {
1590
+ this.component.value = value;
1591
+ }
1592
+ }
1593
+ ;
1594
+ get value() {
1595
+ return this._value;
1596
+ }
1597
+ ngOnInit() {
1585
1598
  return __awaiter(this, void 0, void 0, function* () {
1586
1599
  /**
1587
1600
  * create component and set values from config on its instance
@@ -1590,11 +1603,11 @@ class CrisprFieldDirective {
1590
1603
  const componentRef = this.container.createComponent(component);
1591
1604
  this.component = componentRef.instance;
1592
1605
  this.component.config = this.config;
1593
- if (isControlComponent(this.component)) {
1606
+ if (isControlOrButtonComponent(this.component)) {
1594
1607
  this.component.group = this.group;
1595
- if ('value' in this.component) {
1596
- this.component.value = this.value;
1597
- }
1608
+ }
1609
+ if (isControlComponent(this.component)) {
1610
+ this.component.value = this.value;
1598
1611
  }
1599
1612
  this.cdr.detectChanges();
1600
1613
  // adds any config classes to the dynamically generated component
@@ -1614,7 +1627,7 @@ class CrisprFieldDirective {
1614
1627
  }
1615
1628
  }
1616
1629
  CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1617
- CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, usesOnChanges: true, ngImport: i0 });
1630
+ CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, ngImport: i0 });
1618
1631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
1619
1632
  type: Directive,
1620
1633
  args: [{
@@ -1676,11 +1689,9 @@ class CrisprFormComponent {
1676
1689
  this.statusChanges = this.form.statusChanges;
1677
1690
  this.subs = [];
1678
1691
  }
1679
- ngOnChanges(changes) {
1692
+ ngOnInit() {
1680
1693
  // build out the form, note that we pass in the form as the third argument and the function modifies it
1681
- if (changes.config || changes.value || changes.form) {
1682
- buildFormGroupFromConfig(this.config, this.value, this.form);
1683
- }
1694
+ buildFormGroupFromConfig(this.config, this.value, this.form);
1684
1695
  }
1685
1696
  handleSubmit() {
1686
1697
  this.form.markAllAsTouched();
@@ -1691,7 +1702,7 @@ class CrisprFormComponent {
1691
1702
  }
1692
1703
  }
1693
1704
  CrisprFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1694
- CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], directives: [{ type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
1705
+ CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], directives: [{ type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
1695
1706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, decorators: [{
1696
1707
  type: Component,
1697
1708
  args: [{ selector: 'crispr-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"] }]