@tft/crispr-forms 14.0.2 → 15.0.0
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/esm2022/public-api.mjs +4 -0
- package/{esm2020 → esm2022}/src/index.mjs +1 -1
- package/esm2022/src/lib/crispr-forms.module.mjs +55 -0
- package/esm2022/src/lib/display-field.directive.mjs +52 -0
- package/esm2022/src/lib/field-component-map.const.mjs +28 -0
- package/esm2022/src/lib/field.directive.mjs +69 -0
- package/esm2022/src/lib/form/form.component.mjs +62 -0
- package/esm2022/src/lib/form-group-list/form-group-list.component.mjs +97 -0
- package/{esm2020 → esm2022}/src/lib/form-group-list/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/pipes/crispr-pipes.module.mjs +24 -24
- package/esm2022/src/lib/pipes/initial-control-value.pipe.mjs +20 -0
- package/{esm2020 → esm2022}/src/lib/public_api.mjs +2 -2
- package/{esm2020 → esm2022}/src/lib/sub-group/index.mjs +2 -2
- package/esm2022/src/lib/sub-group/sub-group.component.mjs +20 -0
- package/esm2022/src/lib/sub-group/sub-group.module.mjs +42 -0
- package/esm2022/src/lib/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +138 -0
- package/esm2022/src/lib/ui/autocomplete-chiplist-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/autocomplete-chiplist-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/autocomplete-field/autocomplete-field.component.mjs +95 -0
- package/esm2022/src/lib/ui/autocomplete-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/autocomplete-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/button/button.component.mjs +52 -0
- package/esm2022/src/lib/ui/button/index.mjs +2 -0
- package/esm2022/src/lib/ui/button/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/checkbox-field/checkbox-field.component.mjs +42 -0
- package/esm2022/src/lib/ui/checkbox-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/checkbox-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/datepicker-field/datepicker-field.component.mjs +66 -0
- package/esm2022/src/lib/ui/datepicker-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/datepicker-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/divider/divider.component.mjs +25 -0
- package/esm2022/src/lib/ui/divider/index.mjs +2 -0
- package/esm2022/src/lib/ui/divider/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/field-container/field-container.component.mjs +59 -0
- package/esm2022/src/lib/ui/field-container/index.mjs +2 -0
- package/esm2022/src/lib/ui/field-container/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
- package/esm2022/src/lib/ui/file-dropzone/index.mjs +2 -0
- package/esm2022/src/lib/ui/file-dropzone/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/file-upload-field/file-upload-field.component.mjs +107 -0
- package/esm2022/src/lib/ui/file-upload-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/file-upload-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/heading/heading.component.mjs +27 -0
- package/esm2022/src/lib/ui/heading/index.mjs +2 -0
- package/esm2022/src/lib/ui/heading/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/image-upload-field/image-upload-field.component.mjs +184 -0
- package/esm2022/src/lib/ui/image-upload-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/image-upload-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/index.mjs +2 -0
- package/esm2022/src/lib/ui/info/index.mjs +2 -0
- package/esm2022/src/lib/ui/info/info.component.mjs +23 -0
- package/esm2022/src/lib/ui/info/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/input-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/input-field/input-field.component.mjs +43 -0
- package/esm2022/src/lib/ui/input-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/option/index.mjs +2 -0
- package/esm2022/src/lib/ui/option/option.component.mjs +16 -0
- package/esm2022/src/lib/ui/option/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/public-api.mjs +7 -0
- package/esm2022/src/lib/ui/radio-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/radio-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/radio-field/radio-field.component.mjs +39 -0
- package/esm2022/src/lib/ui/select-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/select-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/select-field/select-field.component.mjs +73 -0
- package/esm2022/src/lib/ui/selected-file/index.mjs +2 -0
- package/esm2022/src/lib/ui/selected-file/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/selected-file/selected-file.component.mjs +26 -0
- package/esm2022/src/lib/ui/slider-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/slider-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/slider-field/slider-field.component.mjs +46 -0
- package/esm2022/src/lib/ui/textarea-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/textarea-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/textarea-field/textarea-field.component.mjs +42 -0
- package/esm2022/src/lib/ui/unit-conversion-field/index.mjs +2 -0
- package/esm2022/src/lib/ui/unit-conversion-field/public-api.mjs +2 -0
- package/esm2022/src/lib/ui/unit-conversion-field/unit-conversion-field.component.mjs +86 -0
- package/esm2022/src/lib/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
- package/esm2022/src/lib/utils/abstracts/crispr-control.mixin.mjs +27 -0
- package/esm2022/src/lib/utils/abstracts/crispr-display-field.abstract.mjs +14 -0
- package/esm2022/src/lib/utils/abstracts/crispr-field.abstract.mjs +19 -0
- package/esm2022/src/lib/utils/abstracts/index.mjs +5 -0
- package/esm2022/src/lib/utils/functions/buildFormGroupFromConfig.mjs +28 -0
- package/esm2022/src/lib/utils/functions/callOptionsIfFunction.mjs +4 -0
- package/esm2022/src/lib/utils/functions/createControlForType.mjs +19 -0
- package/esm2022/src/lib/utils/functions/filterOptionsByLabel.mjs +11 -0
- package/esm2022/src/lib/utils/functions/image-compression.helpers.mjs +50 -0
- package/esm2022/src/lib/utils/functions/index.mjs +8 -0
- package/esm2022/src/lib/utils/functions/isControlConfig.mjs +7 -0
- package/esm2022/src/lib/utils/functions/observablifyOptions.mjs +29 -0
- package/esm2022/src/lib/utils/index.mjs +2 -0
- package/esm2022/src/lib/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/autocomplete-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/button.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/checkbox-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/crispr-field.config.mjs +23 -0
- package/esm2022/src/lib/utils/models/datepicker-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/divider.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/file-upload-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/form-group-list.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/heading.config.mjs +3 -0
- package/esm2022/src/lib/utils/models/image-upload-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/index.mjs +18 -0
- package/esm2022/src/lib/utils/models/input-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/radio-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/select-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/slider-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/textarea-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/models/unit-conversion-field.config.mjs +2 -0
- package/esm2022/src/lib/utils/operators/form.operators.mjs +24 -0
- package/esm2022/src/lib/utils/operators/index.mjs +2 -0
- package/esm2022/src/lib/utils/public-api.mjs +5 -0
- package/esm2022/src/lib/utils/tft-crispr-forms-src-lib-utils.mjs +5 -0
- package/{esm2020 → esm2022}/tft-crispr-forms.mjs +4 -4
- package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs +19 -0
- package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs +36 -0
- package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs.map +1 -0
- package/{fesm2020/tft-crispr-forms-ui-image-upload-field.mjs → fesm2022/tft-crispr-forms-index-BXwiulEX.mjs} +169 -169
- package/fesm2022/tft-crispr-forms-index-BXwiulEX.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs +110 -0
- package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs +49 -0
- package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs +80 -0
- package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs +91 -0
- package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs +49 -0
- package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs +57 -0
- package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs +102 -0
- package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs +48 -0
- package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs +50 -0
- package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs +54 -0
- package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs +142 -0
- package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs +73 -0
- package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs.map +1 -0
- package/{fesm2020/tft-crispr-forms-utils.mjs → fesm2022/tft-crispr-forms-src-lib-utils.mjs} +242 -243
- package/fesm2022/tft-crispr-forms-src-lib-utils.mjs.map +1 -0
- package/fesm2022/tft-crispr-forms.mjs +848 -0
- package/fesm2022/tft-crispr-forms.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/package.json +13 -191
- package/public-api.d.ts +3 -3
- package/src/index.d.ts +1 -1
- package/src/lib/crispr-forms.module.d.ts +16 -16
- package/src/lib/display-field.directive.d.ts +23 -23
- package/src/lib/field-component-map.const.d.ts +42 -42
- package/src/lib/field.directive.d.ts +24 -24
- package/src/lib/form/form.component.d.ts +19 -19
- package/src/lib/form-group-list/form-group-list.component.d.ts +40 -38
- package/src/lib/form-group-list/index.d.ts +1 -1
- package/src/lib/pipes/crispr-pipes.module.d.ts +8 -8
- package/src/lib/pipes/initial-control-value.pipe.d.ts +10 -10
- package/src/lib/public_api.d.ts +2 -2
- package/src/lib/sub-group/index.d.ts +2 -2
- package/src/lib/sub-group/sub-group.component.d.ts +24 -22
- package/src/lib/sub-group/sub-group.module.d.ts +12 -12
- package/{ui → src/lib/ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +36 -33
- package/src/lib/ui/autocomplete-chiplist-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/autocomplete-chiplist-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/autocomplete-field/autocomplete-field.component.d.ts +25 -25
- package/src/lib/ui/autocomplete-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/autocomplete-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/button/button.component.d.ts +15 -15
- package/src/lib/ui/button/index.d.ts +1 -0
- package/{ui → src/lib/ui}/button/public-api.d.ts +1 -1
- package/src/lib/ui/checkbox-field/checkbox-field.component.d.ts +23 -0
- package/src/lib/ui/checkbox-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/checkbox-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/datepicker-field/datepicker-field.component.d.ts +32 -30
- package/src/lib/ui/datepicker-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/datepicker-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/divider/divider.component.d.ts +9 -9
- package/src/lib/ui/divider/index.d.ts +1 -0
- package/{ui → src/lib/ui}/divider/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/field-container/field-container.component.d.ts +24 -24
- package/src/lib/ui/field-container/index.d.ts +1 -0
- package/{ui → src/lib/ui}/field-container/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/file-dropzone/file-dropzone.directive.d.ts +10 -10
- package/src/lib/ui/file-dropzone/index.d.ts +1 -0
- package/{ui → src/lib/ui}/file-dropzone/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/file-upload-field/file-upload-field.component.d.ts +39 -37
- package/src/lib/ui/file-upload-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/file-upload-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/heading/heading.component.d.ts +8 -8
- package/src/lib/ui/heading/index.d.ts +1 -0
- package/{ui → src/lib/ui}/heading/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/image-upload-field/image-upload-field.component.d.ts +50 -48
- package/src/lib/ui/image-upload-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/image-upload-field/public-api.d.ts +1 -1
- package/src/lib/ui/index.d.ts +1 -0
- package/src/lib/ui/info/index.d.ts +1 -0
- package/{ui → src/lib/ui}/info/info.component.d.ts +7 -7
- package/{ui → src/lib/ui}/info/public-api.d.ts +1 -1
- package/src/lib/ui/input-field/index.d.ts +1 -0
- package/src/lib/ui/input-field/input-field.component.d.ts +24 -0
- package/{ui → src/lib/ui}/input-field/public-api.d.ts +1 -1
- package/src/lib/ui/option/index.d.ts +1 -0
- package/{ui → src/lib/ui}/option/option.component.d.ts +7 -7
- package/{ui → src/lib/ui}/option/public-api.d.ts +1 -1
- package/src/lib/ui/public-api.d.ts +6 -0
- package/src/lib/ui/radio-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/radio-field/public-api.d.ts +1 -1
- package/src/lib/ui/radio-field/radio-field.component.d.ts +25 -0
- package/src/lib/ui/select-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/select-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/select-field/select-field.component.d.ts +34 -32
- package/src/lib/ui/selected-file/index.d.ts +1 -0
- package/{ui → src/lib/ui}/selected-file/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/selected-file/selected-file.component.d.ts +10 -10
- package/src/lib/ui/slider-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/slider-field/public-api.d.ts +1 -1
- package/src/lib/ui/slider-field/slider-field.component.d.ts +24 -0
- package/src/lib/ui/textarea-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/textarea-field/public-api.d.ts +1 -1
- package/src/lib/ui/textarea-field/textarea-field.component.d.ts +23 -0
- package/src/lib/ui/unit-conversion-field/index.d.ts +1 -0
- package/{ui → src/lib/ui}/unit-conversion-field/public-api.d.ts +1 -1
- package/{ui → src/lib/ui}/unit-conversion-field/unit-conversion-field.component.d.ts +38 -36
- package/{utils → src/lib/utils}/abstracts/autocomplete-field.abstract.d.ts +28 -28
- package/{utils → src/lib/utils}/abstracts/crispr-control.mixin.d.ts +16 -16
- package/{utils → src/lib/utils}/abstracts/crispr-display-field.abstract.d.ts +22 -22
- package/{utils → src/lib/utils}/abstracts/crispr-field.abstract.d.ts +11 -11
- package/{utils → src/lib/utils}/abstracts/index.d.ts +4 -4
- package/{utils → src/lib/utils}/functions/buildFormGroupFromConfig.d.ts +9 -9
- package/{utils → src/lib/utils}/functions/callOptionsIfFunction.d.ts +3 -3
- package/{utils → src/lib/utils}/functions/createControlForType.d.ts +9 -9
- package/{utils → src/lib/utils}/functions/filterOptionsByLabel.d.ts +7 -7
- package/{utils → src/lib/utils}/functions/image-compression.helpers.d.ts +5 -5
- package/{utils → src/lib/utils}/functions/index.d.ts +7 -7
- package/{utils → src/lib/utils}/functions/isControlConfig.d.ts +5 -5
- package/{utils → src/lib/utils}/functions/observablifyOptions.d.ts +12 -12
- package/{ui → src/lib/utils}/index.d.ts +5 -5
- package/{utils → src/lib/utils}/models/autocomplete-chiplist-field.config.d.ts +20 -20
- package/{utils → src/lib/utils}/models/autocomplete-field.config.d.ts +14 -14
- package/{utils → src/lib/utils}/models/button.config.d.ts +17 -17
- package/{utils → src/lib/utils}/models/checkbox-field.config.d.ts +6 -6
- package/{utils → src/lib/utils}/models/crispr-field.config.d.ts +97 -94
- package/{utils → src/lib/utils}/models/datepicker-field.config.d.ts +20 -20
- package/{utils → src/lib/utils}/models/divider.config.d.ts +5 -5
- package/{utils → src/lib/utils}/models/file-upload-field.config.d.ts +33 -33
- package/{utils → src/lib/utils}/models/form-group-list.config.d.ts +18 -18
- package/{utils → src/lib/utils}/models/heading.config.d.ts +6 -6
- package/{utils → src/lib/utils}/models/image-upload-field.config.d.ts +54 -54
- package/{utils → src/lib/utils}/models/index.d.ts +17 -17
- package/{utils → src/lib/utils}/models/input-field.config.d.ts +16 -16
- package/{utils → src/lib/utils}/models/radio-field.config.d.ts +6 -6
- package/{utils → src/lib/utils}/models/select-field.config.d.ts +21 -21
- package/{utils → src/lib/utils}/models/slider-field.config.d.ts +11 -13
- package/{utils → src/lib/utils}/models/textarea-field.config.d.ts +5 -5
- package/{utils → src/lib/utils}/models/unit-conversion-field.config.d.ts +30 -30
- package/{utils → src/lib/utils}/operators/form.operators.d.ts +1 -1
- package/{utils → src/lib/utils}/operators/index.d.ts +1 -1
- package/{utils → src/lib/utils}/public-api.d.ts +4 -4
- package/tft-crispr-forms-15.0.0.tgz +0 -0
- package/esm2020/public-api.mjs +0 -5
- package/esm2020/src/lib/crispr-forms.module.mjs +0 -60
- package/esm2020/src/lib/display-field.directive.mjs +0 -53
- package/esm2020/src/lib/field-component-map.const.mjs +0 -27
- package/esm2020/src/lib/field.directive.mjs +0 -69
- package/esm2020/src/lib/form/form.component.mjs +0 -63
- package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +0 -99
- package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +0 -21
- package/esm2020/src/lib/sub-group/sub-group.component.mjs +0 -21
- package/esm2020/src/lib/sub-group/sub-group.module.mjs +0 -42
- package/esm2020/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -130
- package/esm2020/ui/autocomplete-chiplist-field/public-api.mjs +0 -2
- package/esm2020/ui/autocomplete-chiplist-field/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -5
- package/esm2020/ui/autocomplete-field/autocomplete-field.component.mjs +0 -93
- package/esm2020/ui/autocomplete-field/public-api.mjs +0 -2
- package/esm2020/ui/autocomplete-field/tft-crispr-forms-ui-autocomplete-field.mjs +0 -5
- package/esm2020/ui/button/button.component.mjs +0 -49
- package/esm2020/ui/button/public-api.mjs +0 -2
- package/esm2020/ui/button/tft-crispr-forms-ui-button.mjs +0 -5
- package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +0 -42
- package/esm2020/ui/checkbox-field/public-api.mjs +0 -2
- package/esm2020/ui/checkbox-field/tft-crispr-forms-ui-checkbox-field.mjs +0 -5
- package/esm2020/ui/datepicker-field/datepicker-field.component.mjs +0 -63
- package/esm2020/ui/datepicker-field/public-api.mjs +0 -2
- package/esm2020/ui/datepicker-field/tft-crispr-forms-ui-datepicker-field.mjs +0 -5
- package/esm2020/ui/divider/divider.component.mjs +0 -28
- package/esm2020/ui/divider/public-api.mjs +0 -2
- package/esm2020/ui/divider/tft-crispr-forms-ui-divider.mjs +0 -5
- package/esm2020/ui/field-container/field-container.component.mjs +0 -58
- package/esm2020/ui/field-container/public-api.mjs +0 -2
- package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +0 -5
- package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +0 -40
- package/esm2020/ui/file-dropzone/public-api.mjs +0 -2
- package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +0 -5
- package/esm2020/ui/file-upload-field/file-upload-field.component.mjs +0 -108
- package/esm2020/ui/file-upload-field/public-api.mjs +0 -2
- package/esm2020/ui/file-upload-field/tft-crispr-forms-ui-file-upload-field.mjs +0 -5
- package/esm2020/ui/heading/heading.component.mjs +0 -31
- package/esm2020/ui/heading/public-api.mjs +0 -2
- package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +0 -5
- package/esm2020/ui/image-upload-field/image-upload-field.component.mjs +0 -179
- package/esm2020/ui/image-upload-field/public-api.mjs +0 -2
- package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +0 -5
- package/esm2020/ui/info/info.component.mjs +0 -23
- package/esm2020/ui/info/public-api.mjs +0 -2
- package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +0 -5
- package/esm2020/ui/input-field/input-field.component.mjs +0 -41
- package/esm2020/ui/input-field/public-api.mjs +0 -2
- package/esm2020/ui/input-field/tft-crispr-forms-ui-input-field.mjs +0 -5
- package/esm2020/ui/option/option.component.mjs +0 -19
- package/esm2020/ui/option/public-api.mjs +0 -2
- package/esm2020/ui/option/tft-crispr-forms-ui-option.mjs +0 -5
- package/esm2020/ui/public-api.mjs +0 -7
- package/esm2020/ui/radio-field/public-api.mjs +0 -2
- package/esm2020/ui/radio-field/radio-field.component.mjs +0 -39
- package/esm2020/ui/radio-field/tft-crispr-forms-ui-radio-field.mjs +0 -5
- package/esm2020/ui/select-field/public-api.mjs +0 -2
- package/esm2020/ui/select-field/select-field.component.mjs +0 -73
- package/esm2020/ui/select-field/tft-crispr-forms-ui-select-field.mjs +0 -5
- package/esm2020/ui/selected-file/public-api.mjs +0 -2
- package/esm2020/ui/selected-file/selected-file.component.mjs +0 -26
- package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +0 -5
- package/esm2020/ui/slider-field/public-api.mjs +0 -2
- package/esm2020/ui/slider-field/slider-field.component.mjs +0 -44
- package/esm2020/ui/slider-field/tft-crispr-forms-ui-slider-field.mjs +0 -5
- package/esm2020/ui/textarea-field/public-api.mjs +0 -2
- package/esm2020/ui/textarea-field/textarea-field.component.mjs +0 -42
- package/esm2020/ui/textarea-field/tft-crispr-forms-ui-textarea-field.mjs +0 -5
- package/esm2020/ui/tft-crispr-forms-ui.mjs +0 -5
- package/esm2020/ui/unit-conversion-field/public-api.mjs +0 -2
- package/esm2020/ui/unit-conversion-field/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -5
- package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +0 -84
- package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +0 -30
- package/esm2020/utils/abstracts/crispr-control.mixin.mjs +0 -27
- package/esm2020/utils/abstracts/crispr-display-field.abstract.mjs +0 -14
- package/esm2020/utils/abstracts/crispr-field.abstract.mjs +0 -20
- package/esm2020/utils/abstracts/index.mjs +0 -5
- package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +0 -28
- package/esm2020/utils/functions/callOptionsIfFunction.mjs +0 -4
- package/esm2020/utils/functions/createControlForType.mjs +0 -19
- package/esm2020/utils/functions/filterOptionsByLabel.mjs +0 -11
- package/esm2020/utils/functions/image-compression.helpers.mjs +0 -50
- package/esm2020/utils/functions/index.mjs +0 -8
- package/esm2020/utils/functions/isControlConfig.mjs +0 -7
- package/esm2020/utils/functions/observablifyOptions.mjs +0 -29
- package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +0 -2
- package/esm2020/utils/models/autocomplete-field.config.mjs +0 -2
- package/esm2020/utils/models/button.config.mjs +0 -2
- package/esm2020/utils/models/checkbox-field.config.mjs +0 -2
- package/esm2020/utils/models/crispr-field.config.mjs +0 -23
- package/esm2020/utils/models/datepicker-field.config.mjs +0 -2
- package/esm2020/utils/models/divider.config.mjs +0 -2
- package/esm2020/utils/models/file-upload-field.config.mjs +0 -2
- package/esm2020/utils/models/form-group-list.config.mjs +0 -2
- package/esm2020/utils/models/heading.config.mjs +0 -3
- package/esm2020/utils/models/image-upload-field.config.mjs +0 -2
- package/esm2020/utils/models/index.mjs +0 -18
- package/esm2020/utils/models/input-field.config.mjs +0 -2
- package/esm2020/utils/models/radio-field.config.mjs +0 -2
- package/esm2020/utils/models/select-field.config.mjs +0 -2
- package/esm2020/utils/models/slider-field.config.mjs +0 -2
- package/esm2020/utils/models/textarea-field.config.mjs +0 -2
- package/esm2020/utils/models/unit-conversion-field.config.mjs +0 -2
- package/esm2020/utils/operators/form.operators.mjs +0 -24
- package/esm2020/utils/operators/index.mjs +0 -2
- package/esm2020/utils/public-api.mjs +0 -5
- package/esm2020/utils/tft-crispr-forms-utils.mjs +0 -5
- package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -138
- package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs +0 -101
- package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-button.mjs +0 -55
- package/fesm2015/tft-crispr-forms-ui-button.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
- package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs +0 -71
- package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-divider.mjs +0 -34
- package/fesm2015/tft-crispr-forms-ui-divider.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs +0 -64
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs +0 -117
- package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-heading.mjs +0 -37
- package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +0 -182
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-info.mjs +0 -30
- package/fesm2015/tft-crispr-forms-ui-info.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-input-field.mjs +0 -48
- package/fesm2015/tft-crispr-forms-ui-input-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-option.mjs +0 -26
- package/fesm2015/tft-crispr-forms-ui-option.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-radio-field.mjs +0 -46
- package/fesm2015/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-select-field.mjs +0 -81
- package/fesm2015/tft-crispr-forms-ui-select-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +0 -33
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-slider-field.mjs +0 -51
- package/fesm2015/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs +0 -49
- package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -93
- package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-ui.mjs +0 -12
- package/fesm2015/tft-crispr-forms-ui.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms-utils.mjs +0 -280
- package/fesm2015/tft-crispr-forms-utils.mjs.map +0 -1
- package/fesm2015/tft-crispr-forms.mjs +0 -438
- package/fesm2015/tft-crispr-forms.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -137
- package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs +0 -100
- package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-button.mjs +0 -55
- package/fesm2020/tft-crispr-forms-ui-button.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
- package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs +0 -70
- package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-divider.mjs +0 -34
- package/fesm2020/tft-crispr-forms-ui-divider.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs +0 -65
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs +0 -115
- package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-heading.mjs +0 -37
- package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-info.mjs +0 -30
- package/fesm2020/tft-crispr-forms-ui-info.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-input-field.mjs +0 -48
- package/fesm2020/tft-crispr-forms-ui-input-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-option.mjs +0 -26
- package/fesm2020/tft-crispr-forms-ui-option.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-radio-field.mjs +0 -46
- package/fesm2020/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-select-field.mjs +0 -80
- package/fesm2020/tft-crispr-forms-ui-select-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +0 -33
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-slider-field.mjs +0 -51
- package/fesm2020/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs +0 -49
- package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -91
- package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-ui.mjs +0 -12
- package/fesm2020/tft-crispr-forms-ui.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms-utils.mjs.map +0 -1
- package/fesm2020/tft-crispr-forms.mjs +0 -434
- package/fesm2020/tft-crispr-forms.mjs.map +0 -1
- package/tft-crispr-forms-14.0.2.tgz +0 -0
- package/ui/README.md +0 -3
- package/ui/autocomplete-chiplist-field/index.d.ts +0 -5
- package/ui/autocomplete-field/index.d.ts +0 -5
- package/ui/button/index.d.ts +0 -5
- package/ui/checkbox-field/checkbox-field.component.d.ts +0 -21
- package/ui/checkbox-field/index.d.ts +0 -5
- package/ui/datepicker-field/index.d.ts +0 -5
- package/ui/divider/index.d.ts +0 -5
- package/ui/field-container/index.d.ts +0 -5
- package/ui/file-dropzone/index.d.ts +0 -5
- package/ui/file-upload-field/index.d.ts +0 -5
- package/ui/heading/index.d.ts +0 -5
- package/ui/image-upload-field/index.d.ts +0 -5
- package/ui/info/index.d.ts +0 -5
- package/ui/input-field/index.d.ts +0 -5
- package/ui/input-field/input-field.component.d.ts +0 -22
- package/ui/option/index.d.ts +0 -5
- package/ui/public-api.d.ts +0 -5
- package/ui/radio-field/index.d.ts +0 -5
- package/ui/radio-field/radio-field.component.d.ts +0 -23
- package/ui/select-field/index.d.ts +0 -5
- package/ui/selected-file/index.d.ts +0 -5
- package/ui/slider-field/index.d.ts +0 -5
- package/ui/slider-field/slider-field.component.d.ts +0 -25
- package/ui/textarea-field/index.d.ts +0 -5
- package/ui/textarea-field/textarea-field.component.d.ts +0 -21
- package/ui/unit-conversion-field/index.d.ts +0 -5
- package/utils/index.d.ts +0 -5
- /package/{utils → src/lib/utils}/README.md +0 -0
|
@@ -1,94 +1,97 @@
|
|
|
1
|
-
import { FormGroup, ValidatorFn } from '@angular/forms';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { TooltipPosition } from '@angular/material/tooltip';
|
|
4
|
-
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
5
|
-
import { ErrorDictionary } from '@tft/form-validation-handler';
|
|
6
|
-
import type { SelectFieldConfig, HeadingConfig, ButtonConfig, DatepickerFieldConfig, InputFieldConfig, CheckboxFieldConfig, TextareaFieldConfig, AutocompleteFieldConfig, FormGroupListConfig, AutocompleteChiplistFieldConfig, SliderFieldConfig, DividerConfig, SelectOption, RadioFieldConfig, ImageUploadFieldConfig, FileUploadFieldConfig, UnitConversionFieldConfig } from '../models';
|
|
7
|
-
import { ThemePalette } from '@angular/material/core';
|
|
8
|
-
export declare enum ControlType {
|
|
9
|
-
AUTOCOMPLETE = "autocomplete",
|
|
10
|
-
AUTOCOMPLETE_CHIPLIST = "autocompleteChiplist",
|
|
11
|
-
BUTTON = "button",
|
|
12
|
-
CHECKBOX = "checkbox",
|
|
13
|
-
CUSTOM = "custom",
|
|
14
|
-
DATEPICKER = "datepicker",
|
|
15
|
-
DIVIDER = "divider",
|
|
16
|
-
FILE_UPLOAD = "fileUpload",
|
|
17
|
-
HEADING = "heading",
|
|
18
|
-
INPUT = "input",
|
|
19
|
-
IMAGE_UPLOAD = "imageUpload",
|
|
20
|
-
GROUP_LIST = "groupList",
|
|
21
|
-
RADIO = "radio",
|
|
22
|
-
SELECT = "select",
|
|
23
|
-
SLIDER = "slider",
|
|
24
|
-
SUB_GROUP = "subGroup",
|
|
25
|
-
TEXTAREA = "textarea",
|
|
26
|
-
UNIT_CONVERSION = "unitConversion"
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* The base interface for all the fields in the form's config
|
|
30
|
-
*/
|
|
31
|
-
export interface CrisprFieldConfig {
|
|
32
|
-
controlType?: ControlType;
|
|
33
|
-
classes?: string[];
|
|
34
|
-
component?: any;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
export interface
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
export
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
export {
|
|
1
|
+
import { FormGroup, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TooltipPosition } from '@angular/material/tooltip';
|
|
4
|
+
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
5
|
+
import { ErrorDictionary } from '@tft/form-validation-handler';
|
|
6
|
+
import type { SelectFieldConfig, HeadingConfig, ButtonConfig, DatepickerFieldConfig, InputFieldConfig, CheckboxFieldConfig, TextareaFieldConfig, AutocompleteFieldConfig, FormGroupListConfig, AutocompleteChiplistFieldConfig, SliderFieldConfig, DividerConfig, SelectOption, RadioFieldConfig, ImageUploadFieldConfig, FileUploadFieldConfig, UnitConversionFieldConfig } from '../models';
|
|
7
|
+
import { ThemePalette } from '@angular/material/core';
|
|
8
|
+
export declare enum ControlType {
|
|
9
|
+
AUTOCOMPLETE = "autocomplete",
|
|
10
|
+
AUTOCOMPLETE_CHIPLIST = "autocompleteChiplist",
|
|
11
|
+
BUTTON = "button",
|
|
12
|
+
CHECKBOX = "checkbox",
|
|
13
|
+
CUSTOM = "custom",
|
|
14
|
+
DATEPICKER = "datepicker",
|
|
15
|
+
DIVIDER = "divider",
|
|
16
|
+
FILE_UPLOAD = "fileUpload",
|
|
17
|
+
HEADING = "heading",
|
|
18
|
+
INPUT = "input",
|
|
19
|
+
IMAGE_UPLOAD = "imageUpload",
|
|
20
|
+
GROUP_LIST = "groupList",
|
|
21
|
+
RADIO = "radio",
|
|
22
|
+
SELECT = "select",
|
|
23
|
+
SLIDER = "slider",
|
|
24
|
+
SUB_GROUP = "subGroup",
|
|
25
|
+
TEXTAREA = "textarea",
|
|
26
|
+
UNIT_CONVERSION = "unitConversion"
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The base interface for all the fields in the form's config
|
|
30
|
+
*/
|
|
31
|
+
export interface CrisprFieldConfig {
|
|
32
|
+
controlType?: ControlType;
|
|
33
|
+
classes?: string[];
|
|
34
|
+
component?: any;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A utility type that returns the keys of a type if one is passed otherwise return string type
|
|
38
|
+
*/
|
|
39
|
+
type RestrictedControlName<M> = M extends null ? string : keyof M;
|
|
40
|
+
/**
|
|
41
|
+
* The base interface for all control configs
|
|
42
|
+
*/
|
|
43
|
+
export interface CrisprControlConfig<M = null> extends CrisprFieldConfig {
|
|
44
|
+
controlName: RestrictedControlName<M>;
|
|
45
|
+
controlType: ControlType;
|
|
46
|
+
validators?: ValidatorFn[];
|
|
47
|
+
computeValue?: (group: FormGroup) => Observable<unknown>;
|
|
48
|
+
disabledCallback?: (group: FormGroup) => Observable<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Hide the control when disabled
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
hideDisabled?: boolean;
|
|
54
|
+
heading?: HeadingConfig;
|
|
55
|
+
hint?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Holds properties for control fields that describe field behavior to users
|
|
59
|
+
*/
|
|
60
|
+
export interface FieldDescriptors {
|
|
61
|
+
label: string;
|
|
62
|
+
info?: Info;
|
|
63
|
+
fieldSuffix?: string;
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface MatFieldProperties {
|
|
67
|
+
appearance?: MatFormFieldAppearance;
|
|
68
|
+
color?: ThemePalette;
|
|
69
|
+
}
|
|
70
|
+
export interface Info {
|
|
71
|
+
content: string;
|
|
72
|
+
tooltipPosition?: TooltipPosition;
|
|
73
|
+
iconName?: string;
|
|
74
|
+
}
|
|
75
|
+
export interface AbstractGroupConfig<C extends CrisprFieldConfig = AnyFieldConfig> {
|
|
76
|
+
fields?: (AnyFieldConfig | C)[];
|
|
77
|
+
}
|
|
78
|
+
export interface FormConfig<C = AnyFieldConfig> extends AbstractGroupConfig<C> {
|
|
79
|
+
classes?: string[];
|
|
80
|
+
errorDictionary?: ErrorDictionary;
|
|
81
|
+
autoComplete?: string;
|
|
82
|
+
/** @deprecated use autoComplete */
|
|
83
|
+
autocomplete?: string;
|
|
84
|
+
validators?: ValidatorFn[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Configuration for SubGroup components
|
|
88
|
+
*/
|
|
89
|
+
export interface SubGroupConfig extends CrisprControlConfig, AbstractGroupConfig<any> {
|
|
90
|
+
controlType: ControlType.SUB_GROUP;
|
|
91
|
+
}
|
|
92
|
+
export type AnyFieldConfig = InputFieldConfig | SelectFieldConfig | RadioFieldConfig | FormGroupListConfig | SubGroupConfig | AutocompleteFieldConfig | AutocompleteChiplistFieldConfig | TextareaFieldConfig | CheckboxFieldConfig | DatepickerFieldConfig | SliderFieldConfig | FileUploadFieldConfig | ImageUploadFieldConfig | HeadingConfig | ButtonConfig | DividerConfig | UnitConversionFieldConfig;
|
|
93
|
+
export type ControlValue<T = any> = boolean | string | number | Date | SelectOption | SelectOption[] | ControlGroupValue | T;
|
|
94
|
+
export type ControlGroupValue = {
|
|
95
|
+
[key: string]: ControlValue;
|
|
96
|
+
};
|
|
97
|
+
export {};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
-
import { MatCalendarCellClassFunction } from '@angular/material/datepicker';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import { FormGroup } from '@angular/forms';
|
|
5
|
-
import { ComponentType } from '@angular/cdk/portal';
|
|
6
|
-
export interface DatepickerFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label'>, MatFieldProperties {
|
|
7
|
-
controlType: ControlType.DATEPICKER;
|
|
8
|
-
min?: Date;
|
|
9
|
-
max?: Date;
|
|
10
|
-
startView?: 'month' | 'year' | 'multi-year';
|
|
11
|
-
startAt?: Date | ((group: FormGroup) => Observable<Date>) | null;
|
|
12
|
-
touchUi?: boolean;
|
|
13
|
-
datepickerFilter?: (date: Date) => boolean;
|
|
14
|
-
cellClassFunction?: MatCalendarCellClassFunction<Date>;
|
|
15
|
-
dateClass?: (parentGroup: FormGroup) => Observable<MatCalendarCellClassFunction<Date>>;
|
|
16
|
-
/**
|
|
17
|
-
* Pass a component into mat-datepicker-actions component see [docs](https://material.angular.io/components/datepicker/overview#confirmation-action-buttons)
|
|
18
|
-
*/
|
|
19
|
-
datepickerActions?: ComponentType<any>;
|
|
20
|
-
}
|
|
1
|
+
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
+
import { MatCalendarCellClassFunction } from '@angular/material/datepicker';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { FormGroup } from '@angular/forms';
|
|
5
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
6
|
+
export interface DatepickerFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label'>, MatFieldProperties {
|
|
7
|
+
controlType: ControlType.DATEPICKER;
|
|
8
|
+
min?: Date;
|
|
9
|
+
max?: Date;
|
|
10
|
+
startView?: 'month' | 'year' | 'multi-year';
|
|
11
|
+
startAt?: Date | ((group: FormGroup) => Observable<Date>) | null;
|
|
12
|
+
touchUi?: boolean;
|
|
13
|
+
datepickerFilter?: (date: Date) => boolean;
|
|
14
|
+
cellClassFunction?: MatCalendarCellClassFunction<Date>;
|
|
15
|
+
dateClass?: (parentGroup: FormGroup) => Observable<MatCalendarCellClassFunction<Date>>;
|
|
16
|
+
/**
|
|
17
|
+
* Pass a component into mat-datepicker-actions component see [docs](https://material.angular.io/components/datepicker/overview#confirmation-action-buttons)
|
|
18
|
+
*/
|
|
19
|
+
datepickerActions?: ComponentType<any>;
|
|
20
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CrisprFieldConfig, ControlType } from './crispr-field.config';
|
|
2
|
-
export
|
|
3
|
-
controlType?: ControlType.DIVIDER;
|
|
4
|
-
vertical?: boolean;
|
|
5
|
-
};
|
|
1
|
+
import { CrisprFieldConfig, ControlType } from './crispr-field.config';
|
|
2
|
+
export type DividerConfig = Omit<CrisprFieldConfig, 'label'> & {
|
|
3
|
+
controlType?: ControlType.DIVIDER;
|
|
4
|
+
vertical?: boolean;
|
|
5
|
+
};
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
-
import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
|
|
3
|
-
import { ButtonType } from './button.config';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
export interface AbstractUploadComponent {
|
|
6
|
-
isUploaded: boolean;
|
|
7
|
-
fileProgress: Observable<number>[];
|
|
8
|
-
disabled$: Observable<boolean>;
|
|
9
|
-
}
|
|
10
|
-
export
|
|
11
|
-
controlType: ControlType.FILE_UPLOAD;
|
|
12
|
-
label: string;
|
|
13
|
-
filesChanged?: (parentGroup: FormGroup, files: FileList) => void;
|
|
14
|
-
allowMultipleFiles?: boolean;
|
|
15
|
-
showClearFilesButton?: boolean;
|
|
16
|
-
acceptedTypes?: string;
|
|
17
|
-
selectFilesButtonType?: ButtonType;
|
|
18
|
-
selectButtonText?: string;
|
|
19
|
-
clearFilesButtonText?: string;
|
|
20
|
-
dropZoneText?: string;
|
|
21
|
-
} & (EnabledUploadButtonConfig | DisabledUploadButtonConfig);
|
|
22
|
-
export interface EnabledUploadButtonConfig {
|
|
23
|
-
uploadFiles: (parentGroup: FormGroup, files: FileList, uploadComponent: AbstractUploadComponent) => Promise<unknown> | unknown;
|
|
24
|
-
showUploadProgress?: boolean;
|
|
25
|
-
disableOnUpload?: boolean;
|
|
26
|
-
uploadButtonType?: ButtonType;
|
|
27
|
-
uploadButtonText?: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
[P in keyof T]?: never;
|
|
32
|
-
};
|
|
33
|
-
export {};
|
|
1
|
+
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
|
|
3
|
+
import { ButtonType } from './button.config';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
export interface AbstractUploadComponent {
|
|
6
|
+
isUploaded: boolean;
|
|
7
|
+
fileProgress: Observable<number>[];
|
|
8
|
+
disabled$: Observable<boolean>;
|
|
9
|
+
}
|
|
10
|
+
export type FileUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
|
|
11
|
+
controlType: ControlType.FILE_UPLOAD;
|
|
12
|
+
label: string;
|
|
13
|
+
filesChanged?: (parentGroup: FormGroup, files: FileList) => void;
|
|
14
|
+
allowMultipleFiles?: boolean;
|
|
15
|
+
showClearFilesButton?: boolean;
|
|
16
|
+
acceptedTypes?: string;
|
|
17
|
+
selectFilesButtonType?: ButtonType;
|
|
18
|
+
selectButtonText?: string;
|
|
19
|
+
clearFilesButtonText?: string;
|
|
20
|
+
dropZoneText?: string;
|
|
21
|
+
} & (EnabledUploadButtonConfig | DisabledUploadButtonConfig);
|
|
22
|
+
export interface EnabledUploadButtonConfig {
|
|
23
|
+
uploadFiles: (parentGroup: FormGroup, files: FileList, uploadComponent: AbstractUploadComponent) => Promise<unknown> | unknown;
|
|
24
|
+
showUploadProgress?: boolean;
|
|
25
|
+
disableOnUpload?: boolean;
|
|
26
|
+
uploadButtonType?: ButtonType;
|
|
27
|
+
uploadButtonText?: string;
|
|
28
|
+
}
|
|
29
|
+
type DisabledUploadButtonConfig = NeverProps<EnabledUploadButtonConfig>;
|
|
30
|
+
type NeverProps<T> = {
|
|
31
|
+
[P in keyof T]?: never;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { ThemePalette } from '@angular/material/core';
|
|
2
|
-
import { CrisprControlConfig, ControlType, SubGroupConfig } from './crispr-field.config';
|
|
3
|
-
export interface FormGroupListConfig extends CrisprControlConfig {
|
|
4
|
-
controlType: ControlType.GROUP_LIST;
|
|
5
|
-
itemConfig: SubGroupConfig;
|
|
6
|
-
itemLabelBuilder?: (index: number) => string;
|
|
7
|
-
/** The number of list items that a user can delete */
|
|
8
|
-
minListLength?: number;
|
|
9
|
-
/** If no items are passed as an initial value, should an initial empty item be created */
|
|
10
|
-
displayInitialItem?: boolean;
|
|
11
|
-
addButtonColor?: ThemePalette;
|
|
12
|
-
addButtonLabel?: string;
|
|
13
|
-
displayItemComponent?: any;
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated Please use addButtonLabel, addItemLabel will be removed in the next major release
|
|
16
|
-
*/
|
|
17
|
-
addItemLabel?: string;
|
|
18
|
-
}
|
|
1
|
+
import { ThemePalette } from '@angular/material/core';
|
|
2
|
+
import { CrisprControlConfig, ControlType, SubGroupConfig } from './crispr-field.config';
|
|
3
|
+
export interface FormGroupListConfig extends CrisprControlConfig {
|
|
4
|
+
controlType: ControlType.GROUP_LIST;
|
|
5
|
+
itemConfig: SubGroupConfig;
|
|
6
|
+
itemLabelBuilder?: (index: number) => string;
|
|
7
|
+
/** The number of list items that a user can delete */
|
|
8
|
+
minListLength?: number;
|
|
9
|
+
/** If no items are passed as an initial value, should an initial empty item be created */
|
|
10
|
+
displayInitialItem?: boolean;
|
|
11
|
+
addButtonColor?: ThemePalette;
|
|
12
|
+
addButtonLabel?: string;
|
|
13
|
+
displayItemComponent?: any;
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Please use addButtonLabel, addItemLabel will be removed in the next major release
|
|
16
|
+
*/
|
|
17
|
+
addItemLabel?: string;
|
|
18
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FieldDescriptors, CrisprFieldConfig, ControlType } from './crispr-field.config';
|
|
2
|
-
export interface HeadingConfig extends Omit<CrisprFieldConfig, 'controlType'>, Omit<FieldDescriptors, 'placeholder' | 'fieldSuffix'> {
|
|
3
|
-
controlType?: ControlType.HEADING;
|
|
4
|
-
typographyClass?: string;
|
|
5
|
-
label: string;
|
|
6
|
-
}
|
|
1
|
+
import { FieldDescriptors, CrisprFieldConfig, ControlType } from './crispr-field.config';
|
|
2
|
+
export interface HeadingConfig extends Omit<CrisprFieldConfig, 'controlType'>, Omit<FieldDescriptors, 'placeholder' | 'fieldSuffix'> {
|
|
3
|
+
controlType?: ControlType.HEADING;
|
|
4
|
+
typographyClass?: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
-
import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
|
|
3
|
-
import { ButtonType } from './button.config';
|
|
4
|
-
export
|
|
5
|
-
controlType: ControlType.IMAGE_UPLOAD;
|
|
6
|
-
label: string;
|
|
7
|
-
filesChanged?: (parentGroup: FormGroup, file: File) => void;
|
|
8
|
-
/**
|
|
9
|
-
* The file types to accept. The onus is on the consuming developer to limit these to file types compatible with usage.
|
|
10
|
-
* See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
|
|
11
|
-
*/
|
|
12
|
-
acceptedTypes: string;
|
|
13
|
-
fileName?: string;
|
|
14
|
-
showClearFilesButton?: boolean;
|
|
15
|
-
selectFilesButtonType?: ButtonType;
|
|
16
|
-
selectButtonText?: string;
|
|
17
|
-
clearFilesButtonText?: string;
|
|
18
|
-
resetFilesButtonText?: string;
|
|
19
|
-
dropZoneText?: string;
|
|
20
|
-
/**
|
|
21
|
-
* If the input value of the control is not a string of the src
|
|
22
|
-
* url to the image, this function allows consumers to map their
|
|
23
|
-
* input value into one
|
|
24
|
-
*/
|
|
25
|
-
mapInputValueToUrl?: (inputValue: unknown) => string;
|
|
26
|
-
/**
|
|
27
|
-
* Should the field compress the image after loading it
|
|
28
|
-
* @default false
|
|
29
|
-
*/
|
|
30
|
-
compressImage?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* The target size of the compressed image
|
|
33
|
-
*/
|
|
34
|
-
targetCompressedImageFileSizeMb?: number;
|
|
35
|
-
/**
|
|
36
|
-
* The minimum file size in MB required to trigger compression. Useful for preventing compression on files near the target compression size.
|
|
37
|
-
* @default .7
|
|
38
|
-
*/
|
|
39
|
-
minCompressionThresholdMb?: number;
|
|
40
|
-
/**
|
|
41
|
-
* The maximum height or width of the compressed image
|
|
42
|
-
* @default undefined
|
|
43
|
-
*/
|
|
44
|
-
maxWidthOrHeight?: number;
|
|
45
|
-
/**
|
|
46
|
-
* When true runs compression using a web worker, otherwise compression happens on the main thread.
|
|
47
|
-
* @default true
|
|
48
|
-
*/
|
|
49
|
-
useWebWorker?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* The height of the image preview container
|
|
52
|
-
*/
|
|
53
|
-
imagePreviewHeight?: string;
|
|
54
|
-
};
|
|
1
|
+
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
|
|
3
|
+
import { ButtonType } from './button.config';
|
|
4
|
+
export type ImageUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
|
|
5
|
+
controlType: ControlType.IMAGE_UPLOAD;
|
|
6
|
+
label: string;
|
|
7
|
+
filesChanged?: (parentGroup: FormGroup, file: File) => void;
|
|
8
|
+
/**
|
|
9
|
+
* The file types to accept. The onus is on the consuming developer to limit these to file types compatible with usage.
|
|
10
|
+
* See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
|
|
11
|
+
*/
|
|
12
|
+
acceptedTypes: string;
|
|
13
|
+
fileName?: string;
|
|
14
|
+
showClearFilesButton?: boolean;
|
|
15
|
+
selectFilesButtonType?: ButtonType;
|
|
16
|
+
selectButtonText?: string;
|
|
17
|
+
clearFilesButtonText?: string;
|
|
18
|
+
resetFilesButtonText?: string;
|
|
19
|
+
dropZoneText?: string;
|
|
20
|
+
/**
|
|
21
|
+
* If the input value of the control is not a string of the src
|
|
22
|
+
* url to the image, this function allows consumers to map their
|
|
23
|
+
* input value into one
|
|
24
|
+
*/
|
|
25
|
+
mapInputValueToUrl?: (inputValue: unknown) => string;
|
|
26
|
+
/**
|
|
27
|
+
* Should the field compress the image after loading it
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
compressImage?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* The target size of the compressed image
|
|
33
|
+
*/
|
|
34
|
+
targetCompressedImageFileSizeMb?: number;
|
|
35
|
+
/**
|
|
36
|
+
* The minimum file size in MB required to trigger compression. Useful for preventing compression on files near the target compression size.
|
|
37
|
+
* @default .7
|
|
38
|
+
*/
|
|
39
|
+
minCompressionThresholdMb?: number;
|
|
40
|
+
/**
|
|
41
|
+
* The maximum height or width of the compressed image
|
|
42
|
+
* @default undefined
|
|
43
|
+
*/
|
|
44
|
+
maxWidthOrHeight?: number;
|
|
45
|
+
/**
|
|
46
|
+
* When true runs compression using a web worker, otherwise compression happens on the main thread.
|
|
47
|
+
* @default true
|
|
48
|
+
*/
|
|
49
|
+
useWebWorker?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The height of the image preview container
|
|
52
|
+
*/
|
|
53
|
+
imagePreviewHeight?: string;
|
|
54
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export * from './input-field.config';
|
|
2
|
-
export * from './select-field.config';
|
|
3
|
-
export * from './radio-field.config';
|
|
4
|
-
export * from './autocomplete-field.config';
|
|
5
|
-
export * from './autocomplete-chiplist-field.config';
|
|
6
|
-
export * from './checkbox-field.config';
|
|
7
|
-
export * from './textarea-field.config';
|
|
8
|
-
export * from './datepicker-field.config';
|
|
9
|
-
export * from './slider-field.config';
|
|
10
|
-
export * from './form-group-list.config';
|
|
11
|
-
export * from './crispr-field.config';
|
|
12
|
-
export * from './button.config';
|
|
13
|
-
export * from './heading.config';
|
|
14
|
-
export * from './divider.config';
|
|
15
|
-
export * from './unit-conversion-field.config';
|
|
16
|
-
export * from './file-upload-field.config';
|
|
17
|
-
export * from './image-upload-field.config';
|
|
1
|
+
export * from './input-field.config';
|
|
2
|
+
export * from './select-field.config';
|
|
3
|
+
export * from './radio-field.config';
|
|
4
|
+
export * from './autocomplete-field.config';
|
|
5
|
+
export * from './autocomplete-chiplist-field.config';
|
|
6
|
+
export * from './checkbox-field.config';
|
|
7
|
+
export * from './textarea-field.config';
|
|
8
|
+
export * from './datepicker-field.config';
|
|
9
|
+
export * from './slider-field.config';
|
|
10
|
+
export * from './form-group-list.config';
|
|
11
|
+
export * from './crispr-field.config';
|
|
12
|
+
export * from './button.config';
|
|
13
|
+
export * from './heading.config';
|
|
14
|
+
export * from './divider.config';
|
|
15
|
+
export * from './unit-conversion-field.config';
|
|
16
|
+
export * from './file-upload-field.config';
|
|
17
|
+
export * from './image-upload-field.config';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { ControlType, FieldDescriptors, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
|
|
2
|
-
export interface InputFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
|
|
3
|
-
controlType: ControlType.INPUT;
|
|
4
|
-
inputType?: InputType;
|
|
5
|
-
min?: number;
|
|
6
|
-
max?: number;
|
|
7
|
-
maxLength?: number;
|
|
8
|
-
step?: number;
|
|
9
|
-
pattern?: string;
|
|
10
|
-
autofocus?: boolean;
|
|
11
|
-
spellcheck?: boolean;
|
|
12
|
-
autoComplete?: string;
|
|
13
|
-
autoCapitalize?: 'off' | 'on';
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export {};
|
|
1
|
+
import { ControlType, FieldDescriptors, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
|
|
2
|
+
export interface InputFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
|
|
3
|
+
controlType: ControlType.INPUT;
|
|
4
|
+
inputType?: InputType;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
maxLength?: number;
|
|
8
|
+
step?: number;
|
|
9
|
+
pattern?: string;
|
|
10
|
+
autofocus?: boolean;
|
|
11
|
+
spellcheck?: boolean;
|
|
12
|
+
autoComplete?: string;
|
|
13
|
+
autoCapitalize?: 'off' | 'on';
|
|
14
|
+
}
|
|
15
|
+
type InputType = 'color' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';
|
|
16
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CrisprControlConfig, FieldDescriptors, MatFieldProperties, ControlType } from './crispr-field.config';
|
|
2
|
-
import { OptionsType } from './select-field.config';
|
|
3
|
-
export interface RadioFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, Omit<FieldDescriptors, 'label'>, MatFieldProperties {
|
|
4
|
-
controlType: ControlType.RADIO;
|
|
5
|
-
options: OptionsType;
|
|
6
|
-
}
|
|
1
|
+
import { CrisprControlConfig, FieldDescriptors, MatFieldProperties, ControlType } from './crispr-field.config';
|
|
2
|
+
import { OptionsType } from './select-field.config';
|
|
3
|
+
export interface RadioFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, Omit<FieldDescriptors, 'label'>, MatFieldProperties {
|
|
4
|
+
controlType: ControlType.RADIO;
|
|
5
|
+
options: OptionsType;
|
|
6
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import { ControlType, FieldDescriptors, Info, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
|
|
4
|
-
export interface SelectFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, FieldDescriptors, MatFieldProperties {
|
|
5
|
-
controlType: ControlType.SELECT;
|
|
6
|
-
emptyOptionsMessage?: string;
|
|
7
|
-
multiple?: boolean;
|
|
8
|
-
enableToggleAll?: boolean;
|
|
9
|
-
options: OptionsType;
|
|
10
|
-
}
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export interface SelectOption {
|
|
16
|
-
label: string;
|
|
17
|
-
value: any;
|
|
18
|
-
imageUrl?: string;
|
|
19
|
-
info?: Info;
|
|
20
|
-
}
|
|
21
|
-
export declare const DEFAULT_EMPTY_OPTIONS_MESSAGE = "No Items";
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ControlType, FieldDescriptors, Info, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
|
|
4
|
+
export interface SelectFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, FieldDescriptors, MatFieldProperties {
|
|
5
|
+
controlType: ControlType.SELECT;
|
|
6
|
+
emptyOptionsMessage?: string;
|
|
7
|
+
multiple?: boolean;
|
|
8
|
+
enableToggleAll?: boolean;
|
|
9
|
+
options: OptionsType;
|
|
10
|
+
}
|
|
11
|
+
export type OptionsType = SelectOption[] | Observable<SelectOption[]> | OptionsCallback | Promise<SelectOption[]>;
|
|
12
|
+
export type OptionsCallback = (group?: FormGroup) => OptionsType;
|
|
13
|
+
export type ReactiveOptionsCallback = (group?: FormGroup) => Observable<SelectOption[]>;
|
|
14
|
+
export type AutocompleteOptionsCallback = (group?: FormGroup, searchTerm?: string) => OptionsType;
|
|
15
|
+
export interface SelectOption {
|
|
16
|
+
label: string;
|
|
17
|
+
value: any;
|
|
18
|
+
imageUrl?: string;
|
|
19
|
+
info?: Info;
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_EMPTY_OPTIONS_MESSAGE = "No Items";
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
-
export interface SliderFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label' | 'info'>, Pick<MatFieldProperties, 'color'> {
|
|
3
|
-
controlType: ControlType.SLIDER;
|
|
4
|
-
displayWith?: (value: number) => string | number;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
vertical?: boolean;
|
|
13
|
-
}
|
|
1
|
+
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
+
export interface SliderFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label' | 'info'>, Pick<MatFieldProperties, 'color'> {
|
|
3
|
+
controlType: ControlType.SLIDER;
|
|
4
|
+
displayWith?: (value: number) => string | number;
|
|
5
|
+
max?: number;
|
|
6
|
+
min?: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
discrete?: boolean;
|
|
9
|
+
tickInterval?: number | 'auto';
|
|
10
|
+
displayLimits?: boolean;
|
|
11
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
-
export interface TextareaFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
|
|
3
|
-
controlType: ControlType.TEXTAREA;
|
|
4
|
-
rows?: number;
|
|
5
|
-
}
|
|
1
|
+
import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
|
|
2
|
+
export interface TextareaFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
|
|
3
|
+
controlType: ControlType.TEXTAREA;
|
|
4
|
+
rows?: number;
|
|
5
|
+
}
|