@tft/crispr-forms 13.0.23 → 14.0.1-rc.2
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.
- package/README.md +77 -76
- package/esm2020/public-api.mjs +5 -0
- package/esm2020/src/index.mjs +2 -0
- package/esm2020/src/lib/crispr-forms.module.mjs +57 -0
- package/esm2020/src/lib/field-component-map.const.mjs +27 -0
- package/esm2020/src/lib/field.directive.mjs +69 -0
- package/esm2020/src/lib/form/form.component.mjs +63 -0
- package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +93 -0
- package/esm2020/src/lib/form-group-list/index.mjs +2 -0
- package/esm2020/src/lib/pipes/crispr-pipes.module.mjs +24 -0
- package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +21 -0
- package/esm2020/src/lib/public_api.mjs +3 -0
- package/esm2020/src/lib/sub-group/index.mjs +3 -0
- package/esm2020/src/lib/sub-group/sub-group.component.mjs +21 -0
- package/esm2020/src/lib/sub-group/sub-group.module.mjs +42 -0
- package/esm2020/tft-crispr-forms.mjs +2 -2
- package/esm2020/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +127 -0
- package/esm2020/ui/autocomplete-chiplist-field/index.mjs +2 -0
- package/esm2020/ui/autocomplete-field/autocomplete-field.component.mjs +90 -0
- package/esm2020/ui/autocomplete-field/index.mjs +2 -0
- package/esm2020/ui/button/button.component.mjs +46 -0
- package/esm2020/ui/button/index.mjs +2 -0
- package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +42 -0
- package/esm2020/ui/checkbox-field/index.mjs +2 -0
- package/esm2020/ui/datepicker-field/datepicker-field.component.mjs +60 -0
- package/esm2020/ui/datepicker-field/index.mjs +2 -0
- package/esm2020/ui/divider/divider.component.mjs +28 -0
- package/esm2020/ui/divider/index.mjs +2 -0
- package/esm2020/ui/field-container/field-container.component.mjs +58 -0
- package/esm2020/ui/field-container/public-api.mjs +2 -0
- package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +5 -0
- package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
- package/esm2020/ui/file-dropzone/public-api.mjs +2 -0
- package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +5 -0
- package/esm2020/ui/file-upload/file-upload.component.mjs +108 -0
- package/esm2020/ui/file-upload/index.mjs +2 -0
- package/esm2020/ui/heading/heading.component.mjs +31 -0
- package/esm2020/ui/heading/public-api.mjs +2 -0
- package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +5 -0
- package/esm2020/ui/image-upload-field/image-upload-field.component.mjs +179 -0
- package/esm2020/ui/image-upload-field/public-api.mjs +2 -0
- package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +5 -0
- package/esm2020/ui/info/info.component.mjs +23 -0
- package/esm2020/ui/info/public-api.mjs +2 -0
- package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +5 -0
- package/esm2020/ui/input-field/index.mjs +2 -0
- package/esm2020/ui/input-field/input-field.component.mjs +38 -0
- package/esm2020/ui/option/index.mjs +2 -0
- package/esm2020/ui/option/option.component.mjs +19 -0
- package/esm2020/ui/public-api.mjs +21 -0
- package/esm2020/ui/radio-field/index.mjs +2 -0
- package/esm2020/ui/radio-field/radio-field.component.mjs +36 -0
- package/esm2020/ui/select-field/index.mjs +2 -0
- package/esm2020/ui/select-field/select-field.component.mjs +74 -0
- package/esm2020/ui/selected-file/public-api.mjs +2 -0
- package/esm2020/ui/selected-file/selected-file.component.mjs +26 -0
- package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +5 -0
- package/esm2020/ui/slider-field/index.mjs +2 -0
- package/esm2020/ui/slider-field/slider-field.component.mjs +41 -0
- package/esm2020/ui/textarea-field/index.mjs +2 -0
- package/esm2020/ui/textarea-field/textarea-field.component.mjs +39 -0
- package/esm2020/ui/tft-crispr-forms-ui.mjs +5 -0
- package/esm2020/ui/unit-conversion-field/index.mjs +2 -0
- package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +81 -0
- package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
- package/esm2020/utils/abstracts/crispr-control.mixin.mjs +27 -0
- package/esm2020/utils/abstracts/crispr-field.abstract.mjs +20 -0
- package/esm2020/utils/abstracts/index.mjs +4 -0
- package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +28 -0
- package/esm2020/utils/functions/callOptionsIfFunction.mjs +4 -0
- package/esm2020/utils/functions/createControlForType.mjs +19 -0
- package/esm2020/utils/functions/filterOptionsByLabel.mjs +11 -0
- package/esm2020/utils/functions/image-compression.helpers.mjs +50 -0
- package/esm2020/utils/functions/index.mjs +8 -0
- package/esm2020/utils/functions/isControlConfig.mjs +7 -0
- package/esm2020/utils/functions/observablifyOptions.mjs +29 -0
- package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
- package/esm2020/utils/models/autocomplete-field.config.mjs +2 -0
- package/esm2020/utils/models/button.config.mjs +2 -0
- package/esm2020/utils/models/checkbox-field.config.mjs +2 -0
- package/esm2020/utils/models/crispr-field.config.mjs +23 -0
- package/esm2020/utils/models/datepicker-field.config.mjs +2 -0
- package/esm2020/utils/models/divider.config.mjs +2 -0
- package/esm2020/utils/models/file-upload-field.config.mjs +2 -0
- package/esm2020/utils/models/form-group-list.config.mjs +2 -0
- package/esm2020/utils/models/heading.config.mjs +3 -0
- package/esm2020/utils/models/image-upload-field.config.mjs +2 -0
- package/esm2020/utils/models/index.mjs +18 -0
- package/esm2020/utils/models/input-field.config.mjs +2 -0
- package/esm2020/utils/models/radio-field.config.mjs +2 -0
- package/esm2020/utils/models/select-field.config.mjs +2 -0
- package/esm2020/utils/models/slider-field.config.mjs +2 -0
- package/esm2020/utils/models/textarea-field.config.mjs +2 -0
- package/esm2020/utils/models/unit-conversion-field.config.mjs +2 -0
- package/esm2020/utils/operators/form.operators.mjs +24 -0
- package/esm2020/utils/operators/index.mjs +2 -0
- package/esm2020/utils/public-api.mjs +5 -0
- package/esm2020/utils/tft-crispr-forms-utils.mjs +5 -0
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs +64 -0
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-heading.mjs +37 -0
- package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +182 -0
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-info.mjs +30 -0
- package/fesm2015/tft-crispr-forms-ui-info.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +33 -0
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui.mjs +684 -0
- package/fesm2015/tft-crispr-forms-ui.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-utils.mjs +270 -0
- package/fesm2015/tft-crispr-forms-utils.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms.mjs +117 -1730
- package/fesm2015/tft-crispr-forms.mjs.map +1 -1
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs +65 -0
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-heading.mjs +37 -0
- package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs +185 -0
- package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-info.mjs +30 -0
- package/fesm2020/tft-crispr-forms-ui-info.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +33 -0
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui.mjs +676 -0
- package/fesm2020/tft-crispr-forms-ui.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-utils.mjs +269 -0
- package/fesm2020/tft-crispr-forms-utils.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms.mjs +117 -1723
- package/fesm2020/tft-crispr-forms.mjs.map +1 -1
- package/index.d.ts +5 -1
- package/package.json +77 -15
- package/public-api.d.ts +3 -0
- package/src/index.d.ts +1 -0
- package/src/lib/crispr-forms.module.d.ts +15 -0
- package/{lib → src/lib}/field-component-map.const.d.ts +7 -6
- package/{lib → src/lib}/field.directive.d.ts +4 -10
- package/{lib → src/lib}/form/form.component.d.ts +3 -3
- package/{lib → src/lib}/form-group-list/form-group-list.component.d.ts +12 -14
- package/{lib → src/lib}/form-group-list/index.d.ts +0 -1
- package/{lib → src/lib}/pipes/crispr-pipes.module.d.ts +0 -0
- package/{lib → src/lib}/pipes/initial-control-value.pipe.d.ts +2 -2
- package/src/lib/public_api.d.ts +2 -0
- package/{lib → src/lib}/sub-group/index.d.ts +0 -0
- package/src/lib/sub-group/sub-group.component.d.ts +22 -0
- package/{lib → src/lib}/sub-group/sub-group.module.d.ts +2 -2
- package/tft-crispr-forms-14.0.1-rc.2.tgz +0 -0
- package/ui/README.md +3 -0
- package/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +2 -3
- package/ui/autocomplete-chiplist-field/index.d.ts +1 -0
- package/{lib/material → ui}/autocomplete-field/autocomplete-field.component.d.ts +2 -3
- package/ui/autocomplete-field/index.d.ts +1 -0
- package/{lib/material → ui}/button/button.component.d.ts +2 -3
- package/ui/button/index.d.ts +1 -0
- package/ui/checkbox-field/checkbox-field.component.d.ts +21 -0
- package/ui/checkbox-field/index.d.ts +1 -0
- package/{lib/material → ui}/datepicker-field/datepicker-field.component.d.ts +14 -17
- package/ui/datepicker-field/index.d.ts +1 -0
- package/{lib/material → ui}/divider/divider.component.d.ts +2 -3
- package/ui/divider/index.d.ts +1 -0
- package/{lib → ui}/field-container/field-container.component.d.ts +3 -10
- package/ui/field-container/index.d.ts +5 -0
- package/{lib/field-container/index.d.ts → ui/field-container/public-api.d.ts} +0 -0
- package/{lib/material/file-upload → ui/file-dropzone}/file-dropzone.directive.d.ts +1 -1
- package/ui/file-dropzone/index.d.ts +5 -0
- package/{lib/material/file-upload/index.d.ts → ui/file-dropzone/public-api.d.ts} +0 -1
- package/ui/file-upload/file-upload.component.d.ts +37 -0
- package/ui/file-upload/index.d.ts +1 -0
- package/ui/heading/heading.component.d.ts +8 -0
- package/ui/heading/index.d.ts +5 -0
- package/ui/heading/public-api.d.ts +1 -0
- package/ui/image-upload-field/image-upload-field.component.d.ts +48 -0
- package/ui/image-upload-field/index.d.ts +5 -0
- package/{lib/material/image-upload-field/index.d.ts → ui/image-upload-field/public-api.d.ts} +0 -0
- package/ui/index.d.ts +5 -0
- package/ui/info/index.d.ts +5 -0
- package/ui/info/info.component.d.ts +7 -0
- package/ui/info/public-api.d.ts +1 -0
- package/ui/input-field/index.d.ts +1 -0
- package/ui/input-field/input-field.component.d.ts +22 -0
- package/{lib/material → ui}/option/index.d.ts +0 -0
- package/{lib/material → ui}/option/option.component.d.ts +2 -2
- package/ui/public-api.d.ts +19 -0
- package/ui/radio-field/index.d.ts +1 -0
- package/ui/radio-field/radio-field.component.d.ts +23 -0
- package/ui/select-field/index.d.ts +1 -0
- package/{lib/material → ui}/select-field/select-field.component.d.ts +12 -14
- package/ui/selected-file/index.d.ts +5 -0
- package/ui/selected-file/public-api.d.ts +1 -0
- package/ui/selected-file/selected-file.component.d.ts +10 -0
- package/ui/slider-field/index.d.ts +1 -0
- package/ui/slider-field/slider-field.component.d.ts +25 -0
- package/ui/textarea-field/index.d.ts +1 -0
- package/ui/textarea-field/textarea-field.component.d.ts +21 -0
- package/ui/unit-conversion-field/index.d.ts +1 -0
- package/{lib/material → ui}/unit-conversion-field/unit-conversion-field.component.d.ts +14 -17
- package/utils/README.md +3 -0
- package/{lib → utils}/abstracts/autocomplete-field.abstract.d.ts +4 -4
- package/{lib → utils}/abstracts/crispr-control.mixin.d.ts +0 -0
- package/{lib → utils}/abstracts/crispr-field.abstract.d.ts +1 -1
- package/{lib → utils}/abstracts/index.d.ts +0 -0
- package/utils/functions/buildFormGroupFromConfig.d.ts +9 -0
- package/utils/functions/callOptionsIfFunction.d.ts +3 -0
- package/utils/functions/createControlForType.d.ts +9 -0
- package/utils/functions/filterOptionsByLabel.d.ts +7 -0
- package/utils/functions/image-compression.helpers.d.ts +5 -0
- package/utils/functions/index.d.ts +7 -0
- package/utils/functions/isControlConfig.d.ts +5 -0
- package/utils/functions/observablifyOptions.d.ts +12 -0
- package/utils/index.d.ts +5 -0
- package/{lib → utils}/models/autocomplete-chiplist-field.config.d.ts +2 -1
- package/{lib → utils}/models/autocomplete-field.config.d.ts +1 -2
- package/{lib → utils}/models/button.config.d.ts +0 -0
- package/{lib → utils}/models/checkbox-field.config.d.ts +1 -2
- package/{lib → utils}/models/crispr-field.config.d.ts +5 -7
- package/{lib → utils}/models/datepicker-field.config.d.ts +4 -6
- package/{lib → utils}/models/divider.config.d.ts +1 -1
- package/{lib → utils}/models/file-upload-field.config.d.ts +3 -4
- package/{lib → utils}/models/form-group-list.config.d.ts +1 -2
- package/{lib → utils}/models/heading.config.d.ts +1 -2
- package/{lib → utils}/models/image-upload-field.config.d.ts +2 -1
- package/{lib → utils}/models/index.d.ts +0 -0
- package/{lib → utils}/models/input-field.config.d.ts +1 -2
- package/{lib → utils}/models/radio-field.config.d.ts +0 -0
- package/{lib → utils}/models/select-field.config.d.ts +1 -2
- package/{lib → utils}/models/slider-field.config.d.ts +1 -2
- package/{lib → utils}/models/textarea-field.config.d.ts +1 -2
- package/{lib → utils}/models/unit-conversion-field.config.d.ts +1 -2
- package/{lib → utils/operators}/form.operators.d.ts +0 -0
- package/utils/operators/index.d.ts +1 -0
- package/utils/public-api.d.ts +4 -0
- package/esm2020/index.mjs +0 -2
- package/esm2020/lib/abstracts/autocomplete-field.abstract.mjs +0 -30
- package/esm2020/lib/abstracts/crispr-control.mixin.mjs +0 -27
- package/esm2020/lib/abstracts/crispr-field.abstract.mjs +0 -17
- package/esm2020/lib/abstracts/index.mjs +0 -4
- package/esm2020/lib/crispr-forms.module.mjs +0 -66
- package/esm2020/lib/field-component-map.const.mjs +0 -28
- package/esm2020/lib/field-container/field-container.component.mjs +0 -85
- package/esm2020/lib/field-container/index.mjs +0 -2
- package/esm2020/lib/field.directive.mjs +0 -90
- package/esm2020/lib/form/form.component.mjs +0 -53
- package/esm2020/lib/form-group-list/form-group-list.component.mjs +0 -77
- package/esm2020/lib/form-group-list/form-group-list.module.mjs +0 -54
- package/esm2020/lib/form-group-list/index.mjs +0 -3
- package/esm2020/lib/form.helpers.mjs +0 -190
- package/esm2020/lib/form.operators.mjs +0 -24
- package/esm2020/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -111
- package/esm2020/lib/material/autocomplete-field/autocomplete-field.component.mjs +0 -78
- package/esm2020/lib/material/button/button.component.mjs +0 -35
- package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +0 -31
- package/esm2020/lib/material/datepicker-field/datepicker-field.component.mjs +0 -45
- package/esm2020/lib/material/divider/divider.component.mjs +0 -22
- package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +0 -39
- package/esm2020/lib/material/file-upload/file-upload.component.mjs +0 -145
- package/esm2020/lib/material/file-upload/index.mjs +0 -3
- package/esm2020/lib/material/heading/heading.component.mjs +0 -54
- package/esm2020/lib/material/image-upload-field/image-compression.helpers.mjs +0 -4
- package/esm2020/lib/material/image-upload-field/image-upload-field.component.mjs +0 -265
- package/esm2020/lib/material/image-upload-field/index.mjs +0 -2
- package/esm2020/lib/material/index.mjs +0 -18
- package/esm2020/lib/material/info/info.component.mjs +0 -46
- package/esm2020/lib/material/input-field/input-field.component.mjs +0 -27
- package/esm2020/lib/material/material.module.mjs +0 -200
- package/esm2020/lib/material/option/index.mjs +0 -2
- package/esm2020/lib/material/option/option.component.mjs +0 -15
- package/esm2020/lib/material/radio-field/radio-field.component.mjs +0 -29
- package/esm2020/lib/material/select-field/select-field.component.mjs +0 -58
- package/esm2020/lib/material/selected-file/selected-file.component.mjs +0 -47
- package/esm2020/lib/material/slider-field/slider-field.component.mjs +0 -30
- package/esm2020/lib/material/textarea-field/textarea-field.component.mjs +0 -28
- package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +0 -69
- package/esm2020/lib/models/autocomplete-chiplist-field.config.mjs +0 -2
- package/esm2020/lib/models/autocomplete-field.config.mjs +0 -2
- package/esm2020/lib/models/button.config.mjs +0 -2
- package/esm2020/lib/models/checkbox-field.config.mjs +0 -2
- package/esm2020/lib/models/crispr-field.config.mjs +0 -23
- package/esm2020/lib/models/datepicker-field.config.mjs +0 -2
- package/esm2020/lib/models/divider.config.mjs +0 -2
- package/esm2020/lib/models/file-upload-field.config.mjs +0 -2
- package/esm2020/lib/models/form-group-list.config.mjs +0 -2
- package/esm2020/lib/models/heading.config.mjs +0 -3
- package/esm2020/lib/models/image-upload-field.config.mjs +0 -2
- package/esm2020/lib/models/index.mjs +0 -18
- package/esm2020/lib/models/input-field.config.mjs +0 -2
- package/esm2020/lib/models/radio-field.config.mjs +0 -2
- package/esm2020/lib/models/select-field.config.mjs +0 -2
- package/esm2020/lib/models/slider-field.config.mjs +0 -2
- package/esm2020/lib/models/textarea-field.config.mjs +0 -2
- package/esm2020/lib/models/unit-conversion-field.config.mjs +0 -2
- package/esm2020/lib/pipes/crispr-pipes.module.mjs +0 -26
- package/esm2020/lib/pipes/initial-control-value.pipe.mjs +0 -20
- package/esm2020/lib/public_api.mjs +0 -10
- package/esm2020/lib/sub-group/index.mjs +0 -3
- package/esm2020/lib/sub-group/sub-group.component.mjs +0 -20
- package/esm2020/lib/sub-group/sub-group.module.mjs +0 -45
- package/lib/crispr-forms.module.d.ts +0 -16
- package/lib/form-group-list/form-group-list.module.d.ts +0 -15
- package/lib/form.helpers.d.ts +0 -88
- package/lib/material/checkbox-field/checkbox-field.component.d.ts +0 -23
- package/lib/material/file-upload/file-upload.component.d.ts +0 -54
- package/lib/material/heading/heading.component.d.ts +0 -17
- package/lib/material/image-upload-field/image-compression.helpers.d.ts +0 -1
- package/lib/material/image-upload-field/image-upload-field.component.d.ts +0 -68
- package/lib/material/index.d.ts +0 -17
- package/lib/material/info/info.component.d.ts +0 -15
- package/lib/material/input-field/input-field.component.d.ts +0 -24
- package/lib/material/material.module.d.ts +0 -44
- package/lib/material/radio-field/radio-field.component.d.ts +0 -26
- package/lib/material/selected-file/selected-file.component.d.ts +0 -17
- package/lib/material/slider-field/slider-field.component.d.ts +0 -27
- package/lib/material/textarea-field/textarea-field.component.d.ts +0 -24
- package/lib/public_api.d.ts +0 -9
- package/lib/sub-group/sub-group.component.d.ts +0 -24
- package/tft-crispr-forms-13.0.23.tgz +0 -0
- package/tft-crispr-forms.d.ts +0 -5
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
3
|
+
import { MatDateFnsModule } from '@angular/material-date-fns-adapter';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
10
|
+
import { MatInputModule } from '@angular/material/input';
|
|
11
|
+
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
|
|
12
|
+
import { crisprControlMixin, CrisprFieldComponent } from '@tft/crispr-forms/utils';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/common";
|
|
15
|
+
import * as i2 from "@angular/material/datepicker";
|
|
16
|
+
import * as i3 from "@angular/material/form-field";
|
|
17
|
+
import * as i4 from "@angular/forms";
|
|
18
|
+
import * as i5 from "@angular/material/input";
|
|
19
|
+
import * as i6 from "@angular/cdk/portal";
|
|
20
|
+
const defaultConfig = {
|
|
21
|
+
startView: 'month',
|
|
22
|
+
};
|
|
23
|
+
const DatepickerFieldMixin = crisprControlMixin(CrisprFieldComponent);
|
|
24
|
+
export class DatepickerFieldComponent extends DatepickerFieldMixin {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.defaultConfig = defaultConfig;
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
super.ngOnInit();
|
|
31
|
+
this.startAt$ = this.config.startAt instanceof Date
|
|
32
|
+
? of(this.config.startAt)
|
|
33
|
+
: this.config.startAt instanceof Function
|
|
34
|
+
? this.config.startAt(this.group)
|
|
35
|
+
: of(null);
|
|
36
|
+
this.dateClass = this.config?.cellClassFunction || null;
|
|
37
|
+
this.dateClass$ = this.config.dateClass ? this.config?.dateClass(this.group) : of(() => '');
|
|
38
|
+
}
|
|
39
|
+
ngAfterContentInit() {
|
|
40
|
+
if (this.config.datepickerActions) {
|
|
41
|
+
this.calendarFooterPortal = new ComponentPortal(this.config.datepickerActions);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
DatepickerFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
DatepickerFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: DatepickerFieldComponent, isStandalone: true, selector: "crispr-datepicker-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n matInput\n [formControlName]=\"config.controlName\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [matDatepicker]=\"picker\"\n [matDatepickerFilter]=\"config.datepickerFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker\n [touchUi]=\"config.touchUi\"\n [startView]=\"config.startView\"\n [startAt]=\"startAt$ | async\"\n [dateClass]=\"dateClass || (dateClass$ | async)\"\n #picker>\n <mat-datepicker-actions *ngIf=\"calendarFooterPortal\">\n <ng-template [cdkPortalOutlet]=\"calendarFooterPortal\"></ng-template>\n </mat-datepicker-actions>\n </mat-datepicker>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n</crispr-field-container>\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "ngmodule", type: MatFormFieldModule }, { 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.MatSuffix, selector: "[matSuffix]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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: "ngmodule", type: MatDateFnsModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'crispr-datepicker-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
50
|
+
CommonModule,
|
|
51
|
+
FieldContainerComponent,
|
|
52
|
+
MatDatepickerModule,
|
|
53
|
+
MatFormFieldModule,
|
|
54
|
+
ReactiveFormsModule,
|
|
55
|
+
MatInputModule,
|
|
56
|
+
MatDateFnsModule,
|
|
57
|
+
PortalModule
|
|
58
|
+
], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n matInput\n [formControlName]=\"config.controlName\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [matDatepicker]=\"picker\"\n [matDatepickerFilter]=\"config.datepickerFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker\n [touchUi]=\"config.touchUi\"\n [startView]=\"config.startView\"\n [startAt]=\"startAt$ | async\"\n [dateClass]=\"dateClass || (dateClass$ | async)\"\n #picker>\n <mat-datepicker-actions *ngIf=\"calendarFooterPortal\">\n <ng-template [cdkPortalOutlet]=\"calendarFooterPortal\"></ng-template>\n </mat-datepicker-actions>\n </mat-datepicker>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n</crispr-field-container>\n\n" }]
|
|
59
|
+
}] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9kYXRlcGlja2VyLWZpZWxkL2RhdGVwaWNrZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZGF0ZXBpY2tlci1maWVsZC9kYXRlcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBZ0MsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQVUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUF5QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQUUxRyxNQUFNLGFBQWEsR0FBbUM7SUFDcEQsU0FBUyxFQUFFLE9BQU87Q0FDbkIsQ0FBQTtBQUNELE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQXdCLG9CQUFvQixDQUFDLENBQUM7QUFtQjdGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUFqQmxFOztRQW1CRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztLQWdDL0I7SUF2QkMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxZQUFZLElBQUk7WUFDakQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLFlBQVksUUFBUTtnQkFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLElBQUksSUFBSSxDQUFBO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDaEY7SUFDSCxDQUFDOztxSEExQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMEdDbkNyQyxtbkNBa0NBLHlERFRJLFlBQVksd0xBQ1osdUJBQXVCLDhHQUN2QixtQkFBbUIsMG5CQUNuQixrQkFBa0IsbWJBQ2xCLG1CQUFtQixtMkJBQ25CLGNBQWMsMFdBQ2QsZ0JBQWdCLDhCQUNoQixZQUFZOzJGQUdILHdCQUF3QjtrQkFqQnBDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEFmdGVyQ29udGVudEluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24sIE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdERhdGVGbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1kYXRlLWZucy1hZGFwdGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbCwgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvZmllbGQtY29udGFpbmVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgY3Jpc3ByQ29udHJvbE1peGluLCBDcmlzcHJGaWVsZENvbXBvbmVudCwgRGF0ZXBpY2tlckZpZWxkQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPERhdGVwaWNrZXJGaWVsZENvbmZpZz4gPSB7XG4gIHN0YXJ0VmlldzogJ21vbnRoJyxcbn1cbmNvbnN0IERhdGVwaWNrZXJGaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPERhdGVwaWNrZXJGaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZGF0ZXBpY2tlci1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVGbnNNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIERhdGVwaWNrZXJGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcblxuICBkYXRlQ2xhc3M6IE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb248RGF0ZT47XG4gIGRhdGVDbGFzcyQ6IE9ic2VydmFibGU8TWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPj47XG4gIHN0YXJ0QXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gIC8qKiBBIHBvcnRhbCBjb250YWluaW5nIHRoZSBmb290ZXIgY29tcG9uZW50IHR5cGUgZm9yIHRoaXMgY2FsZW5kYXIuICovXG4gIGNhbGVuZGFyRm9vdGVyUG9ydGFsOiBQb3J0YWw8YW55PjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc3RhcnRBdCQgPSB0aGlzLmNvbmZpZy5zdGFydEF0IGluc3RhbmNlb2YgRGF0ZVxuICAgICAgPyBvZih0aGlzLmNvbmZpZy5zdGFydEF0KVxuICAgICAgOiB0aGlzLmNvbmZpZy5zdGFydEF0IGluc3RhbmNlb2YgRnVuY3Rpb25cbiAgICAgID8gdGhpcy5jb25maWcuc3RhcnRBdCh0aGlzLmdyb3VwKVxuICAgICAgOiBvZihudWxsKTtcbiAgICB0aGlzLmRhdGVDbGFzcyA9IHRoaXMuY29uZmlnPy5jZWxsQ2xhc3NGdW5jdGlvbiB8fCBudWxsXG4gICAgdGhpcy5kYXRlQ2xhc3MkID0gdGhpcy5jb25maWcuZGF0ZUNsYXNzID8gdGhpcy5jb25maWc/LmRhdGVDbGFzcyh0aGlzLmdyb3VwKSA6IG9mKCgpID0+ICcnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuZGF0ZXBpY2tlckFjdGlvbnMpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJGb290ZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuY29uZmlnLmRhdGVwaWNrZXJBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGVTZWxlY3RlZENoYW5nZShldmVudCwgcGlja2VyOiBNYXREYXRlcGlja2VyPHVua25vd24+KSB7XG4gIC8vICAgY29uc29sZS5sb2coe2V2ZW50LCBwaWNrZXJ9KVxuICAvLyAgIGlmKHRoaXMuY29uZmlnLnNlbGVjdGVkQ2hhbmdlKSB7XG4gIC8vICAgICB0aGlzLmNvbmZpZy5zZWxlY3RlZENoYW5nZShldmVudCwgcGlja2VyKTtcbiAgLy8gICB9XG4gIC8vIH1cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcbiAgICAgIFttaW5dPVwiY29uZmlnLm1pblwiXG4gICAgICBbbWF4XT1cImNvbmZpZy5tYXhcIlxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgIFttYXREYXRlcGlja2VyRmlsdGVyXT1cImNvbmZpZy5kYXRlcGlja2VyRmlsdGVyXCI+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgIFt0b3VjaFVpXT1cImNvbmZpZy50b3VjaFVpXCJcbiAgICAgIFtzdGFydFZpZXddPVwiY29uZmlnLnN0YXJ0Vmlld1wiXG4gICAgICBbc3RhcnRBdF09XCJzdGFydEF0JCB8IGFzeW5jXCJcbiAgICAgIFtkYXRlQ2xhc3NdPVwiZGF0ZUNsYXNzIHx8IChkYXRlQ2xhc3MkIHwgYXN5bmMpXCJcbiAgICAgICNwaWNrZXI+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucyAqbmdJZj1cImNhbGVuZGFyRm9vdGVyUG9ydGFsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cImNhbGVuZGFyRm9vdGVyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cbiAgICA8L21hdC1kYXRlcGlja2VyPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './datepicker-field.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9kYXRlcGlja2VyLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXItZmllbGQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
|
|
5
|
+
import { CrisprFieldComponent } from '@tft/crispr-forms/utils';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/material/divider";
|
|
9
|
+
export class DividerComponent extends CrisprFieldComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
// TODO: pull in type after configs are better organized
|
|
13
|
+
this.defaultConfig = {};
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
super.ngOnInit();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: DividerComponent, isStandalone: true, selector: "crispr-divider", usesInheritance: true, ngImport: i0, template: "<mat-divider [ngClass]=\"config.classes\"></mat-divider>", styles: [":host{display:block;padding:1em 0}::ng-deep .mat-divider.mat-divider-horizontal{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], preserveWhitespaces: true });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'crispr-divider', standalone: true, imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
MatDividerModule
|
|
26
|
+
], template: "<mat-divider [ngClass]=\"config.classes\"></mat-divider>", styles: [":host{display:block;padding:1em 0}::ng-deep .mat-divider.mat-divider-horizontal{position:relative}\n"] }]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFZOUUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFtQztJQVZ6RTs7UUFXRSx3REFBd0Q7UUFDeEQsa0JBQWEsR0FBRyxFQUFFLENBQUM7S0FLcEI7SUFKQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OzZHQUxVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlHQ2hCN0IsMERBQXNELDZKRFlsRCxZQUFZLDRIQUNaLGdCQUFnQjsyRkFHUCxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBEaXZpZGVyQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZGl2aWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXZpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGl2aWRlci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGl2aWRlckNvbXBvbmVudCBleHRlbmRzIENyaXNwckZpZWxkQ29tcG9uZW50PERpdmlkZXJDb25maWc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVE9ETzogcHVsbCBpbiB0eXBlIGFmdGVyIGNvbmZpZ3MgYXJlIGJldHRlciBvcmdhbml6ZWRcbiAgZGVmYXVsdENvbmZpZyA9IHt9O1xuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbn1cbiIsIjxtYXQtZGl2aWRlciBbbmdDbGFzc109XCJjb25maWcuY2xhc3Nlc1wiPjwvbWF0LWRpdmlkZXI+Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './divider.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9kaXZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpdmlkZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { tap, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { HeadingComponent } from '@tft/crispr-forms/ui/heading';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
export class FieldContainerComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
// boolean whether field-container is inline
|
|
12
|
+
this.inlineField = false;
|
|
13
|
+
this.subs = [];
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.disabled$ = this.connectDisabledCallback(this.group, this.config);
|
|
17
|
+
// we tried moving this into afterViewChecked and afterContentChecked lifecycle hooks without any luck
|
|
18
|
+
if (this.config.computeValue) {
|
|
19
|
+
this.subs.push(this.config.computeValue(this.group).pipe(distinctUntilChanged(), tap(computedValue => this.group.get(this.config.controlName).setValue(computedValue))).subscribe());
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
this.subs.forEach(sub => sub.unsubscribe);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Connects user defined disabledCallback function to the the view, so that the control is enabled/disabled
|
|
27
|
+
* appropriately. It also will hide disabled fields in the UI unless `hideDisabled` is set to
|
|
28
|
+
* false in the controls config
|
|
29
|
+
* @param group used to get valueChanges from control
|
|
30
|
+
* @param config configuration object used to
|
|
31
|
+
*/
|
|
32
|
+
connectDisabledCallback(group, config = null) {
|
|
33
|
+
const control = group.get(config.controlName);
|
|
34
|
+
// If the disabled$ function exists on the field config then call it with the disabledCallbackConfig
|
|
35
|
+
// as a parameter otherwise return an observable of true.
|
|
36
|
+
return config?.disabledCallback && config.disabledCallback instanceof Function
|
|
37
|
+
? config.disabledCallback(group).pipe(
|
|
38
|
+
// This enables/disables when callback conditions are met
|
|
39
|
+
tap((shouldDisable) => shouldDisable ? control.disable() : control.enable()))
|
|
40
|
+
: of(false);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
FieldContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
FieldContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FieldContainerComponent, isStandalone: true, selector: "crispr-field-container", inputs: { config: "config", group: "group", inlineField: "inlineField" }, ngImport: i0, template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: HeadingComponent, selector: "crispr-heading", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'crispr-field-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
48
|
+
CommonModule,
|
|
49
|
+
HeadingComponent,
|
|
50
|
+
], template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"] }]
|
|
51
|
+
}], propDecorators: { config: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], group: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], inlineField: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lci9maWVsZC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmllbGQtY29udGFpbmVyL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFnQkUsNENBQTRDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBSTdCLFNBQUksR0FBbUIsRUFBRSxDQUFDO0tBb0MzQjtJQWxDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsc0dBQXNHO1FBQ3RHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdkMsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDdEYsQ0FBQyxTQUFTLEVBQUUsQ0FDZCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLFNBQThCLElBQUk7UUFDMUUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsb0dBQW9HO1FBQ3BHLHlEQUF5RDtRQUN6RCxPQUFPLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLFlBQVksUUFBUTtZQUM1RSxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7WUFDbkMseURBQXlEO1lBQ3pELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM3RTtZQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQzs7b0hBN0NVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRKQ3BCcEMsb1VBZUEsb0tEQ0ksWUFBWSxzUkFDWixnQkFBZ0I7MkZBR1AsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCOzhCQUlRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvaGVhZGluZyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHR5cGUgeyBDcmlzcHJDb250cm9sQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZmllbGQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIZWFkaW5nQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLy8gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgZmllbGRcbiAgQElucHV0KCkgY29uZmlnOiBDcmlzcHJDb250cm9sQ29uZmlnO1xuICAvLyB0aGUgcGFyZW50IGZvcm1Hcm91cFxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xuICAvLyBib29sZWFuIHdoZXRoZXIgZmllbGQtY29udGFpbmVyIGlzIGlubGluZVxuICBASW5wdXQoKSBpbmxpbmVGaWVsZCA9IGZhbHNlO1xuICAvLyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCBmaWVsZCBzaG91bGQgYmUgc2hvd25cbiAgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLmNvbm5lY3REaXNhYmxlZENhbGxiYWNrKHRoaXMuZ3JvdXAsIHRoaXMuY29uZmlnKTtcbiAgICAvLyB3ZSB0cmllZCBtb3ZpbmcgdGhpcyBpbnRvIGFmdGVyVmlld0NoZWNrZWQgYW5kIGFmdGVyQ29udGVudENoZWNrZWQgbGlmZWN5Y2xlIGhvb2tzIHdpdGhvdXQgYW55IGx1Y2tcbiAgICBpZiAodGhpcy5jb25maWcuY29tcHV0ZVZhbHVlKSB7XG4gICAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgICAgdGhpcy5jb25maWcuY29tcHV0ZVZhbHVlKHRoaXMuZ3JvdXApLnBpcGUoXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXAoY29tcHV0ZWRWYWx1ZSA9PiB0aGlzLmdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSkuc2V0VmFsdWUoY29tcHV0ZWRWYWx1ZSkpXG4gICAgICAgICkuc3Vic2NyaWJlKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUpO1xuICB9XG4gIC8qKlxuICAgKiBDb25uZWN0cyB1c2VyIGRlZmluZWQgZGlzYWJsZWRDYWxsYmFjayBmdW5jdGlvbiB0byB0aGUgdGhlIHZpZXcsIHNvIHRoYXQgdGhlIGNvbnRyb2wgaXMgZW5hYmxlZC9kaXNhYmxlZFxuICAgKiBhcHByb3ByaWF0ZWx5LiBJdCBhbHNvIHdpbGwgaGlkZSBkaXNhYmxlZCBmaWVsZHMgaW4gdGhlIFVJIHVubGVzcyBgaGlkZURpc2FibGVkYCBpcyBzZXQgdG9cbiAgICogZmFsc2UgaW4gdGhlIGNvbnRyb2xzIGNvbmZpZ1xuICAgKiBAcGFyYW0gZ3JvdXAgdXNlZCB0byBnZXQgdmFsdWVDaGFuZ2VzIGZyb20gY29udHJvbFxuICAgKiBAcGFyYW0gY29uZmlnIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgdG9cbiAgICovXG4gIGNvbm5lY3REaXNhYmxlZENhbGxiYWNrKGdyb3VwOiBGb3JtR3JvdXAsIGNvbmZpZzogQ3Jpc3ByQ29udHJvbENvbmZpZyA9IG51bGwpIHtcbiAgICBjb25zdCBjb250cm9sID0gZ3JvdXAuZ2V0KGNvbmZpZy5jb250cm9sTmFtZSk7XG4gICAgLy8gSWYgdGhlIGRpc2FibGVkJCBmdW5jdGlvbiBleGlzdHMgb24gdGhlIGZpZWxkIGNvbmZpZyB0aGVuIGNhbGwgaXQgd2l0aCB0aGUgZGlzYWJsZWRDYWxsYmFja0NvbmZpZ1xuICAgIC8vIGFzIGEgcGFyYW1ldGVyIG90aGVyd2lzZSByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiB0cnVlLlxuICAgIHJldHVybiBjb25maWc/LmRpc2FibGVkQ2FsbGJhY2sgJiYgY29uZmlnLmRpc2FibGVkQ2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvblxuICAgICAgPyBjb25maWcuZGlzYWJsZWRDYWxsYmFjayhncm91cCkucGlwZShcbiAgICAgICAgLy8gVGhpcyBlbmFibGVzL2Rpc2FibGVzIHdoZW4gY2FsbGJhY2sgY29uZGl0aW9ucyBhcmUgbWV0XG4gICAgICAgIHRhcCgoc2hvdWxkRGlzYWJsZSkgPT4gc2hvdWxkRGlzYWJsZSA/IGNvbnRyb2wuZGlzYWJsZSgpIDogY29udHJvbC5lbmFibGUoKSlcbiAgICAgIClcbiAgICAgIDogb2YoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiKGRpc2FibGVkJCB8IGFzeW5jKSA/ICFjb25maWcuaGlkZURpc2FibGVkIDogdHJ1ZVwiXG4gIFtuZ0NsYXNzXT1cImNvbmZpZy5jbGFzc2VzXCJcbiAgW2NsYXNzLmlubGluZS1maWVsZF09XCJpbmxpbmVGaWVsZFwiXG4gIGNsYXNzPVwiZmllbGQtY29udGFpbmVyXCI+XG5cbiAgPGNyaXNwci1oZWFkaW5nXG4gICAgKm5nSWY9XCJjb25maWcuaGVhZGluZ1wiXG4gICAgW2NvbmZpZ109XCJjb25maWcuaGVhZGluZ1wiPlxuICA8L2NyaXNwci1oZWFkaW5nPlxuXG4gIDxuZy1jb250ZW50PlxuICA8L25nLWNvbnRlbnQ+XG5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './field-container.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1maWVsZC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9maWVsZC1jb250YWluZXIvdGZ0LWNyaXNwci1mb3Jtcy11aS1maWVsZC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive, HostListener, Output, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FileDropzoneDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.fileDrop = new EventEmitter();
|
|
6
|
+
this.crisprFileDropzone = true;
|
|
7
|
+
}
|
|
8
|
+
onDrop($event) {
|
|
9
|
+
if (this.crisprFileDropzone) {
|
|
10
|
+
$event.preventDefault();
|
|
11
|
+
this.fileDrop.emit($event.dataTransfer.files);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
// Prevents DOM from trying to open file in browser
|
|
15
|
+
onDragOver($event) {
|
|
16
|
+
if (this.crisprFileDropzone) {
|
|
17
|
+
$event.preventDefault();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
FileDropzoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileDropzoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
FileDropzoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: FileDropzoneDirective, isStandalone: true, selector: "[crisprFileDropzone]", inputs: { crisprFileDropzone: "crisprFileDropzone" }, outputs: { fileDrop: "fileDrop" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)" } }, ngImport: i0 });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileDropzoneDirective, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: '[crisprFileDropzone]',
|
|
27
|
+
standalone: true,
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { fileDrop: [{
|
|
30
|
+
type: Output
|
|
31
|
+
}], crisprFileDropzone: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], onDrop: [{
|
|
34
|
+
type: HostListener,
|
|
35
|
+
args: ['drop', ['$event']]
|
|
36
|
+
}], onDragOver: [{
|
|
37
|
+
type: HostListener,
|
|
38
|
+
args: ['dragover', ['$event']]
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9maWxlLWRyb3B6b25lL2ZpbGUtZHJvcHpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1yRixNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBTVksYUFBUSxHQUFJLElBQUksWUFBWSxFQUFZLENBQUM7UUFFMUMsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0tBaUJwQztJQWRDLE1BQU0sQ0FBQyxNQUFpQjtRQUN0QixJQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFFbkQsVUFBVSxDQUFDLE1BQWlCO1FBQzFCLElBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7O2tIQXBCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHVyxRQUFRO3NCQUFqQixNQUFNO2dCQUVFLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVoQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3Jpc3ByRmlsZURyb3B6b25lXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVEcm9wem9uZURpcmVjdGl2ZSB7XG5cbiAgQE91dHB1dCgpIGZpbGVEcm9wID0gIG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG5cbiAgQElucHV0KCkgY3Jpc3ByRmlsZURyb3B6b25lID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgb25Ecm9wKCRldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYodGhpcy5jcmlzcHJGaWxlRHJvcHpvbmUpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KCRldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnRzIERPTSBmcm9tIHRyeWluZyB0byBvcGVuIGZpbGUgaW4gYnJvd3NlclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ092ZXIoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBpZih0aGlzLmNyaXNwckZpbGVEcm9wem9uZSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './file-dropzone.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpbGUtZHJvcHpvbmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlLWRyb3B6b25lLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1maWxlLWRyb3B6b25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS1kcm9wem9uZS90ZnQtY3Jpc3ByLWZvcm1zLXVpLWZpbGUtZHJvcHpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/* eslint-disable @nrwl/nx/enforce-module-boundaries */
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Component, ElementRef, ViewChild, ChangeDetectionStrategy, Optional, Self, } from '@angular/core';
|
|
4
|
+
import { NgControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { FormValidationHandlerModule } from '@tft/form-validation-handler';
|
|
10
|
+
import { of } from 'rxjs';
|
|
11
|
+
import { FileDropzoneDirective } from '@tft/crispr-forms/ui/file-dropzone';
|
|
12
|
+
import { crisprControlMixin, CrisprFieldComponent } from '@tft/crispr-forms/utils';
|
|
13
|
+
import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
|
|
14
|
+
import { SelectedFileComponent } from '@tft/crispr-forms/ui/selected-file';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "@angular/forms";
|
|
17
|
+
import * as i2 from "@angular/common";
|
|
18
|
+
import * as i3 from "@angular/material/icon";
|
|
19
|
+
import * as i4 from "@angular/material/button";
|
|
20
|
+
import * as i5 from "@angular/material/form-field";
|
|
21
|
+
import * as i6 from "@angular/material/input";
|
|
22
|
+
import * as i7 from "@tft/form-validation-handler";
|
|
23
|
+
const FileUploadFieldMixin = crisprControlMixin(CrisprFieldComponent);
|
|
24
|
+
export class FileUploadFieldComponent extends FileUploadFieldMixin {
|
|
25
|
+
// ngControl: NgControl = null;
|
|
26
|
+
constructor(ngControl) {
|
|
27
|
+
super();
|
|
28
|
+
this.ngControl = ngControl;
|
|
29
|
+
this.defaultConfig = {
|
|
30
|
+
allowMultipleFiles: false,
|
|
31
|
+
acceptedTypes: '*.*',
|
|
32
|
+
dropZoneText: 'DROP FILE HERE',
|
|
33
|
+
selectFilesButtonType: 'button',
|
|
34
|
+
selectButtonText: 'SELECT',
|
|
35
|
+
showClearFilesButton: true,
|
|
36
|
+
clearFilesButtonText: 'CLEAR',
|
|
37
|
+
uploadButtonText: 'UPLOAD',
|
|
38
|
+
uploadButtonType: 'button',
|
|
39
|
+
showUploadProgress: false,
|
|
40
|
+
disableOnUpload: true
|
|
41
|
+
};
|
|
42
|
+
this.isUploaded = false;
|
|
43
|
+
this.fileProgress = [];
|
|
44
|
+
if (this.ngControl != null) {
|
|
45
|
+
// Setting the value accessor directly (instead of using
|
|
46
|
+
// the providers) to avoid running into a circular import.
|
|
47
|
+
ngControl.valueAccessor = this;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
super.ngOnInit();
|
|
52
|
+
this.disabled$ = this.config.disabledCallback
|
|
53
|
+
? this.config.disabledCallback(this.group)
|
|
54
|
+
: of(false);
|
|
55
|
+
}
|
|
56
|
+
filesChanged(files) {
|
|
57
|
+
if (files && files.length > 0) {
|
|
58
|
+
this.selectedFiles = files;
|
|
59
|
+
this.control.patchValue(files);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
uploadFiles() {
|
|
63
|
+
if (this.selectedFiles && this.config.uploadFiles) {
|
|
64
|
+
this.isUploaded = true;
|
|
65
|
+
this.config.uploadFiles(this.group, this.selectedFiles, this);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
resetFileInput() {
|
|
69
|
+
this.fileInputRef.nativeElement.value = '';
|
|
70
|
+
this.control.patchValue(null);
|
|
71
|
+
this.isUploaded = false;
|
|
72
|
+
}
|
|
73
|
+
writeValue(value) {
|
|
74
|
+
// clear file input
|
|
75
|
+
// this.host.nativeElement.value = '';
|
|
76
|
+
// this.file = null;
|
|
77
|
+
}
|
|
78
|
+
registerOnChange(fn) {
|
|
79
|
+
this.onChange = fn;
|
|
80
|
+
}
|
|
81
|
+
registerOnTouched(fn) {
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
FileUploadFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
+
FileUploadFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FileUploadFieldComponent, isStandalone: true, selector: "crispr-file-upload-field", viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: SelectedFileComponent, selector: "crispr-selected-file", inputs: ["fileName", "progress", "showProgress", "color"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i7.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i7.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { kind: "directive", type: FileDropzoneDirective, selector: "[crisprFileDropzone]", inputs: ["crisprFileDropzone"], outputs: ["fileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{ selector: 'crispr-file-upload-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
89
|
+
CommonModule,
|
|
90
|
+
FieldContainerComponent,
|
|
91
|
+
ReactiveFormsModule,
|
|
92
|
+
MatIconModule,
|
|
93
|
+
MatButtonModule,
|
|
94
|
+
MatFormFieldModule,
|
|
95
|
+
MatInputModule,
|
|
96
|
+
SelectedFileComponent,
|
|
97
|
+
FormValidationHandlerModule,
|
|
98
|
+
FileDropzoneDirective
|
|
99
|
+
], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"] }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
101
|
+
type: Optional
|
|
102
|
+
}, {
|
|
103
|
+
type: Self
|
|
104
|
+
}] }]; }, propDecorators: { fileInputRef: [{
|
|
105
|
+
type: ViewChild,
|
|
106
|
+
args: ['fileInput']
|
|
107
|
+
}] } });
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0FBRTNFLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQXdCLG9CQUFvQixDQUFDLENBQUM7QUFxQjdGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUEyQmhFLCtCQUErQjtJQUMvQixZQUM2QixTQUFvQjtRQUUvQyxLQUFLLEVBQUUsQ0FBQztRQUZtQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBekJqRCxrQkFBYSxHQUFtQztZQUM5QyxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIscUJBQXFCLEVBQUUsUUFBUTtZQUMvQixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsb0JBQW9CLEVBQUUsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFBO1FBTUQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixpQkFBWSxHQUF5QixFQUFFLENBQUM7UUFRdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtZQUMxQix3REFBd0Q7WUFDeEQsMERBQTBEO1lBQzFELFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQWU7UUFDMUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUc7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBRSxLQUFXO1FBQ3JCLG1CQUFtQjtRQUNuQixzQ0FBc0M7UUFDdEMsb0JBQW9CO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFjO0lBQ2pDLENBQUM7O3FIQTlFVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixzTkM3Q3JDLDRyRkE0RUEsa2lCRDNDSSxZQUFZLHFUQUNaLHVCQUF1Qiw4R0FDdkIsbUJBQW1CLG0yQkFDbkIsYUFBYSxtTEFDYixlQUFlLDBWQUNmLGtCQUFrQiwrV0FDbEIsY0FBYywyV0FDZCxxQkFBcUIsMkhBQ3JCLDJCQUEyQix1UEFDM0IscUJBQXFCOzJGQUdaLHdCQUF3QjtrQkFuQnBDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQixxQkFBcUI7cUJBQ3RCOzswQkErQkUsUUFBUTs7MEJBQUksSUFBSTs0Q0FYSyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIE9uSW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSB9IGZyb20gJ0B0ZnQvZm9ybS12YWxpZGF0aW9uLWhhbmRsZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVEcm9wem9uZURpcmVjdGl2ZSB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ZpbGUtZHJvcHpvbmUnO1xuXG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4sIENyaXNwckZpZWxkQ29tcG9uZW50LCBGaWxlVXBsb2FkRmllbGRDb25maWcgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTZWxlY3RlZEZpbGVDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9zZWxlY3RlZC1maWxlJztcblxuY29uc3QgRmlsZVVwbG9hZEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48RmlsZVVwbG9hZEZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1maWxlLXVwbG9hZC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFNlbGVjdGVkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUsXG4gICAgRmlsZURyb3B6b25lRGlyZWN0aXZlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpbGVVcGxvYWRGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgZGVmYXVsdENvbmZpZzogUGFydGlhbDxGaWxlVXBsb2FkRmllbGRDb25maWc+ID0ge1xuICAgIGFsbG93TXVsdGlwbGVGaWxlczogZmFsc2UsXG4gICAgYWNjZXB0ZWRUeXBlczogJyouKicsXG4gICAgZHJvcFpvbmVUZXh0OiAnRFJPUCBGSUxFIEhFUkUnLFxuICAgIHNlbGVjdEZpbGVzQnV0dG9uVHlwZTogJ2J1dHRvbicsXG4gICAgc2VsZWN0QnV0dG9uVGV4dDogJ1NFTEVDVCcsXG4gICAgc2hvd0NsZWFyRmlsZXNCdXR0b246IHRydWUsXG4gICAgY2xlYXJGaWxlc0J1dHRvblRleHQ6ICdDTEVBUicsXG4gICAgdXBsb2FkQnV0dG9uVGV4dDogJ1VQTE9BRCcsXG4gICAgdXBsb2FkQnV0dG9uVHlwZTogJ2J1dHRvbicsXG4gICAgc2hvd1VwbG9hZFByb2dyZXNzOiBmYWxzZSxcbiAgICBkaXNhYmxlT25VcGxvYWQ6IHRydWVcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dFJlZjogRWxlbWVudFJlZlxuXG4gIHNlbGVjdGVkRmlsZXM6IEZpbGVMaXN0O1xuXG4gIGlzVXBsb2FkZWQgPSBmYWxzZTtcblxuICBmaWxlUHJvZ3Jlc3M6IE9ic2VydmFibGU8bnVtYmVyPltdID0gW107XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvLyBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IG51bGw7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xuICAgICAgLy8gdGhlIHByb3ZpZGVycykgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0LlxuICAgICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLmNvbmZpZy5kaXNhYmxlZENhbGxiYWNrXG4gICAgPyB0aGlzLmNvbmZpZy5kaXNhYmxlZENhbGxiYWNrKHRoaXMuZ3JvdXApXG4gICAgOiBvZihmYWxzZSk7XG4gIH1cblxuXG4gIGZpbGVzQ2hhbmdlZChmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IGZpbGVzXG4gICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShmaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRmlsZXMoKSB7XG4gICAgaWYodGhpcy5zZWxlY3RlZEZpbGVzICYmIHRoaXMuY29uZmlnLnVwbG9hZEZpbGVzKSB7XG4gICAgICB0aGlzLmlzVXBsb2FkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcudXBsb2FkRmlsZXModGhpcy5ncm91cCwgdGhpcy5zZWxlY3RlZEZpbGVzLCB0aGlzKTtcbiAgICB9XG4gIH1cblxuICByZXNldEZpbGVJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJydcbiAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShudWxsKTtcbiAgICB0aGlzLmlzVXBsb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUoIHZhbHVlOiBudWxsICkge1xuICAgIC8vIGNsZWFyIGZpbGUgaW5wdXRcbiAgICAvLyB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIC8vIHRoaXMuZmlsZSA9IG51bGw7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKCBmbjogKCkgPT4gdm9pZCApIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46ICgpID0+IHZvaWQgKSB7XG4gIH1cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgW2NyaXNwckZpbGVEcm9wem9uZV09XCIhKGRpc2FibGVkJCB8IGFzeW5jKSAmJiAhKGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZClcIlxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICAgIChmaWxlRHJvcCk9XCJmaWxlc0NoYW5nZWQoJGV2ZW50KVwiPlxuXG4gICAgPGlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIi8+XG4gICAgPGlucHV0XG4gICAgICAjZmlsZUlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAgICAgW2FjY2VwdF09XCJjb25maWcuYWNjZXB0ZWRUeXBlc1wiXG4gICAgICBbbXVsdGlwbGVdPVwiY29uZmlnLmFsbG93TXVsdGlwbGVGaWxlc1wiXG4gICAgICAoY2hhbmdlKT1cImZpbGVzQ2hhbmdlZCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiLz5cbiAgICA8bWF0LWxhYmVsPnt7Y29uZmlnLmxhYmVsfX08L21hdC1sYWJlbD5cblxuICAgIDxkaXYgKm5nSWY9XCIhKHNlbGVjdGVkRmlsZXM/Lmxlbmd0aCA+IDApOyBlbHNlIHNlbGVjdGVkRmlsZUxpc3RcIiAgY2xhc3M9XCJkcm9wLWluZm9cIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRyb3AtaWNvblwiIGlubGluZT1cInRydWVcIj5jbG91ZF91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgPGgyIGNsYXNzPVwibWF0LWgyXCI+e3tjb25maWcuZHJvcFpvbmVUZXh0fX08L2gyPlxuICAgICAgb3JcbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZFwiXG4gICAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCI+XG4gICAgICAgIHt7Y29uZmlnLnNlbGVjdEJ1dHRvblRleHR9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZEZpbGVMaXN0PlxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWZpbGVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZXMtbGlzdFwiPlxuICAgICAgICAgIDxjcmlzcHItc2VsZWN0ZWQtZmlsZVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2Ygc2VsZWN0ZWRGaWxlczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvciA9PT0gJ3ByaW1hcnknID8gJ2FjY2VudCcgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgW2ZpbGVOYW1lXT1cImZpbGUubmFtZVwiXG4gICAgICAgICAgICBbc2hvd1Byb2dyZXNzXT1cImNvbmZpZy5zaG93VXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cImZpbGVQcm9ncmVzcyAmJiAoZmlsZVByb2dyZXNzW2ldIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPC9jcmlzcHItc2VsZWN0ZWQtZmlsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiICpuZ0lmPVwic2VsZWN0ZWRGaWxlcz8ubGVuZ3RoID4gMFwiPlxuXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgKGNsaWNrKT1cInJlc2V0RmlsZUlucHV0KClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiKGRpc2FibGVkJCB8IGFzeW5jKSB8fCAoY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIFNlbGVjdGVkIEZpbGUocylcIj5cbiAgICAgIHt7Y29uZmlnLmNsZWFyRmlsZXNCdXR0b25UZXh0fX1cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhIWNvbmZpZy51cGxvYWRGaWxlc1wiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICBjbGFzcz1cImZpbGUtaW5wdXQtYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IChjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWQpXCJcbiAgICAgIChjbGljayk9XCJ1cGxvYWRGaWxlcygpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLnVwbG9hZEJ1dHRvblRleHRcIj5cbiAgICAgIHt7IGNvbmZpZy51cGxvYWRCdXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG5cbiAgPC9kaXY+XG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './file-upload.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9maWxlLXVwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
|
|
3
|
+
import { CrisprFieldComponent } from '@tft/crispr-forms/utils';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { InfoComponent } from '@tft/crispr-forms/ui/info';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/material/form-field";
|
|
10
|
+
const defaultConfig = {
|
|
11
|
+
typographyClass: 'mat-h3'
|
|
12
|
+
};
|
|
13
|
+
export class HeadingComponent extends CrisprFieldComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.defaultConfig = defaultConfig;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
HeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
HeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: HeadingComponent, isStandalone: true, selector: "crispr-heading", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'crispr-heading', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
MatFormFieldModule,
|
|
26
|
+
InfoComponent
|
|
27
|
+
], template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"] }]
|
|
28
|
+
}], propDecorators: { config: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9oZWFkaW5nL2hlYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUUxRCxNQUFNLGFBQWEsR0FBMkI7SUFDNUMsZUFBZSxFQUFFLFFBQVE7Q0FDMUIsQ0FBQTtBQWFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBbUM7SUFaekU7O1FBY0Usa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FDL0I7OzZHQUhZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLCtIQ3RCN0IsNk9BVUEsK0VET0ksWUFBWSxnT0FDWixrQkFBa0IsbUdBQ2xCLGFBQWE7MkZBR0osZ0JBQWdCO2tCQVo1QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsYUFBYTtxQkFDZDs4QkFHUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBIZWFkaW5nQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2luZm8nO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPEhlYWRpbmdDb25maWc+ID0ge1xuICB0eXBvZ3JhcGh5Q2xhc3M6ICdtYXQtaDMnXG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItaGVhZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGluZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkaW5nQ29tcG9uZW50IGV4dGVuZHMgQ3Jpc3ByRmllbGRDb21wb25lbnQ8SGVhZGluZ0NvbmZpZz57XG4gIEBJbnB1dCgpIGNvbmZpZzogSGVhZGluZ0NvbmZpZztcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG59XG4iLCIgIDxsYWJlbFxuICAgICpuZ0lmPVwiISFjb25maWc/LmxhYmVsXCJcbiAgICBbbmdDbGFzc109XCJjb25maWcudHlwb2dyYXBoeUNsYXNzXCI+XG4gICAge3sgY29uZmlnLmxhYmVsIH19XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuICA8L2xhYmVsPlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './heading.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2hlYWRpbmcvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZWFkaW5nLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1oZWFkaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvaGVhZGluZy90ZnQtY3Jpc3ByLWZvcm1zLXVpLWhlYWRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|