@pepperi-addons/ngx-lib 0.3.15-beta.19 → 0.3.15-beta.21
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/address/address.component.d.ts +27 -27
- package/address/address.module.d.ts +2 -2
- package/address/pepperi-addons-ngx-lib-address.d.ts +4 -4
- package/address/public-api.d.ts +2 -2
- package/attachment/attachment.component.d.ts +82 -82
- package/attachment/attachment.module.d.ts +2 -2
- package/attachment/pepperi-addons-ngx-lib-attachment.d.ts +4 -4
- package/attachment/public-api.d.ts +2 -2
- package/bread-crumbs/bread-crumbs.component.d.ts +23 -23
- package/bread-crumbs/bread-crumbs.model.d.ts +11 -11
- package/bread-crumbs/bread-crumbs.module.d.ts +5 -5
- package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.d.ts +4 -4
- package/bread-crumbs/public-api.d.ts +3 -3
- package/bundles/pepperi-addons-ngx-lib-address.umd.js +124 -124
- package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +247 -247
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +121 -121
- package/bundles/pepperi-addons-ngx-lib-button.umd.js +158 -158
- package/bundles/pepperi-addons-ngx-lib-carousel.umd.js +788 -788
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +192 -192
- package/bundles/pepperi-addons-ngx-lib-color.umd.js +299 -299
- package/bundles/pepperi-addons-ngx-lib-date.umd.js +667 -667
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +184 -184
- package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js +151 -151
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +57 -57
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +260 -260
- package/bundles/pepperi-addons-ngx-lib-form.umd.js +3249 -3249
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +87 -87
- package/bundles/pepperi-addons-ngx-lib-icon.umd.js +681 -681
- package/bundles/pepperi-addons-ngx-lib-image.umd.js +322 -322
- package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +422 -422
- package/bundles/pepperi-addons-ngx-lib-link.umd.js +388 -388
- package/bundles/pepperi-addons-ngx-lib-list.umd.js +3191 -3191
- package/bundles/pepperi-addons-ngx-lib-menu.umd.js +646 -646
- package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +60 -60
- package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js +543 -543
- package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +925 -925
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1181 -1170
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-remote-loader.umd.js +652 -652
- package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +275 -275
- package/bundles/pepperi-addons-ngx-lib-search.umd.js +326 -326
- package/bundles/pepperi-addons-ngx-lib-select.umd.js +575 -575
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js +79 -79
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +163 -163
- package/bundles/pepperi-addons-ngx-lib-signature.umd.js +286 -286
- package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +113 -113
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js +124 -124
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +1974 -1938
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-snack-bar.umd.js +148 -148
- package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +211 -211
- package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +80 -80
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +533 -533
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +129 -129
- package/bundles/pepperi-addons-ngx-lib.umd.js +4819 -4773
- package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
- package/button/button.component.d.ts +99 -99
- package/button/button.model.d.ts +14 -14
- package/button/button.module.d.ts +2 -2
- package/button/pepperi-addons-ngx-lib-button.d.ts +4 -4
- package/button/public-api.d.ts +3 -3
- package/carousel/carousel-item.directive.d.ts +9 -9
- package/carousel/carousel.component.d.ts +145 -145
- package/carousel/carousel.module.d.ts +2 -2
- package/carousel/pepperi-addons-ngx-lib-carousel.d.ts +4 -4
- package/carousel/public-api.d.ts +3 -3
- package/checkbox/checkbox.component.d.ts +47 -47
- package/checkbox/checkbox.module.d.ts +5 -5
- package/checkbox/pepperi-addons-ngx-lib-checkbox.d.ts +4 -4
- package/checkbox/public-api.d.ts +2 -2
- package/color/color-picker.component.d.ts +53 -53
- package/color/color.component.d.ts +26 -26
- package/color/color.model.d.ts +1 -1
- package/color/color.module.d.ts +5 -5
- package/color/pepperi-addons-ngx-lib-color.d.ts +5 -5
- package/color/public-api.d.ts +3 -3
- package/core/clipboard/clipboard.directive.d.ts +2 -2
- package/core/clipboard/clipboard.service.d.ts +2 -2
- package/core/clipboard/index.d.ts +1 -1
- package/core/clipboard/public-api.d.ts +2 -2
- package/core/common/directives/auto-width.directive.d.ts +16 -16
- package/core/common/directives/button-blur.directive.d.ts +6 -6
- package/core/common/directives/button-loader.directive.d.ts +23 -23
- package/core/common/directives/data-qa.directive.d.ts +8 -8
- package/core/common/directives/index.d.ts +1 -1
- package/core/common/directives/menu-blur.directive.d.ts +7 -7
- package/core/common/directives/prevent-multi-click.directive.d.ts +4 -4
- package/core/common/directives/print.directive.d.ts +72 -72
- package/core/common/directives/public-api.d.ts +7 -7
- package/core/common/index.d.ts +1 -1
- package/core/common/model/index.d.ts +1 -1
- package/core/common/model/papi.model.d.ts +2 -2
- package/core/common/model/public-api.d.ts +3 -3
- package/core/common/model/utilities.model.d.ts +5 -5
- package/core/common/model/wapi.model.d.ts +200 -200
- package/core/common/pipes/common-pipes.d.ts +36 -36
- package/core/common/pipes/date-ago.pipe.d.ts +8 -0
- package/core/common/pipes/index.d.ts +1 -1
- package/core/common/pipes/public-api.d.ts +2 -1
- package/core/common/public-api.d.ts +4 -4
- package/core/common/services/addon.service.d.ts +38 -38
- package/core/common/services/color.service.d.ts +48 -48
- package/core/common/services/cookie.service.d.ts +50 -50
- package/core/common/services/data-convertor.service.d.ts +41 -41
- package/core/common/services/file.service.d.ts +24 -24
- package/core/common/services/index.d.ts +1 -1
- package/core/common/services/jwt-helper.service.d.ts +10 -10
- package/core/common/services/public-api.d.ts +11 -11
- package/core/common/services/session.service.d.ts +15 -15
- package/core/common/services/translate.service.d.ts +9 -9
- package/core/common/services/utilities.service.d.ts +17 -17
- package/core/common/services/validator.service.d.ts +28 -28
- package/core/common/services/window-scrolling.service.d.ts +7 -7
- package/core/customization/customization.model.d.ts +264 -264
- package/core/customization/customization.service.d.ts +156 -156
- package/core/customization/index.d.ts +1 -1
- package/core/customization/public-api.d.ts +2 -2
- package/core/http/index.d.ts +1 -1
- package/core/http/interceptors/error.interceptor.d.ts +5 -5
- package/core/http/interceptors/index.d.ts +11 -11
- package/core/http/interceptors/loader.interceptor.d.ts +8 -8
- package/core/http/interceptors/profiler.interceptor.d.ts +5 -5
- package/core/http/public-api.d.ts +2 -2
- package/core/http/services/http.service.d.ts +25 -25
- package/core/http/services/loader.service.d.ts +10 -10
- package/core/index.d.ts +1 -1
- package/core/layout/index.d.ts +1 -1
- package/core/layout/layout.service.d.ts +33 -33
- package/core/layout/public-api.d.ts +2 -2
- package/core/layout/rtl.directive.d.ts +16 -16
- package/core/portal/attach.directive.d.ts +10 -10
- package/core/portal/index.d.ts +1 -1
- package/core/portal/portal.service.d.ts +9 -9
- package/core/portal/public-api.d.ts +3 -3
- package/core/portal/target.directive.d.ts +9 -9
- package/core/public-api.d.ts +7 -7
- package/core/scroll-to/index.d.ts +1 -1
- package/core/scroll-to/public-api.d.ts +1 -1
- package/core/scroll-to/scroll-to.service.d.ts +8 -8
- package/date/date.component.d.ts +66 -66
- package/date/date.model.d.ts +26 -26
- package/date/date.module.d.ts +5 -5
- package/date/pepperi-addons-ngx-lib-date.d.ts +5 -5
- package/date/public-api.d.ts +2 -2
- package/dialog/default-dialog.component.d.ts +9 -9
- package/dialog/dialog.component.d.ts +10 -10
- package/dialog/dialog.model.d.ts +27 -27
- package/dialog/dialog.module.d.ts +5 -5
- package/dialog/dialog.service.d.ts +24 -24
- package/dialog/pepperi-addons-ngx-lib-dialog.d.ts +5 -5
- package/dialog/public-api.d.ts +4 -4
- package/draggable-items/draggable-item/draggable-item.component.d.ts +8 -8
- package/draggable-items/draggable-items.component.d.ts +33 -33
- package/draggable-items/draggable-items.model.d.ts +7 -7
- package/draggable-items/draggable-items.module.d.ts +5 -5
- package/draggable-items/pepperi-addons-ngx-lib-draggable-items.d.ts +4 -4
- package/draggable-items/public-api.d.ts +4 -4
- package/esm2015/address/address.component.js +96 -96
- package/esm2015/address/address.module.js +30 -30
- package/esm2015/address/pepperi-addons-ngx-lib-address.js +4 -4
- package/esm2015/address/public-api.js +5 -5
- package/esm2015/attachment/attachment.component.js +208 -208
- package/esm2015/attachment/attachment.module.js +28 -28
- package/esm2015/attachment/pepperi-addons-ngx-lib-attachment.js +4 -4
- package/esm2015/attachment/public-api.js +5 -5
- package/esm2015/bread-crumbs/bread-crumbs.component.js +78 -78
- package/esm2015/bread-crumbs/bread-crumbs.model.js +6 -6
- package/esm2015/bread-crumbs/bread-crumbs.module.js +34 -34
- package/esm2015/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.js +4 -4
- package/esm2015/bread-crumbs/public-api.js +6 -6
- package/esm2015/button/button.component.js +127 -127
- package/esm2015/button/button.model.js +5 -5
- package/esm2015/button/button.module.js +26 -26
- package/esm2015/button/pepperi-addons-ngx-lib-button.js +4 -4
- package/esm2015/button/public-api.js +6 -6
- package/esm2015/carousel/carousel-item.directive.js +26 -26
- package/esm2015/carousel/carousel.component.js +699 -699
- package/esm2015/carousel/carousel.module.js +11 -11
- package/esm2015/carousel/pepperi-addons-ngx-lib-carousel.js +4 -4
- package/esm2015/carousel/public-api.js +7 -7
- package/esm2015/checkbox/checkbox.component.js +151 -151
- package/esm2015/checkbox/checkbox.module.js +39 -39
- package/esm2015/checkbox/pepperi-addons-ngx-lib-checkbox.js +4 -4
- package/esm2015/checkbox/public-api.js +5 -5
- package/esm2015/color/color-picker.component.js +197 -197
- package/esm2015/color/color.component.js +74 -74
- package/esm2015/color/color.model.js +1 -1
- package/esm2015/color/color.module.js +57 -57
- package/esm2015/color/pepperi-addons-ngx-lib-color.js +5 -5
- package/esm2015/color/public-api.js +6 -6
- package/esm2015/core/clipboard/clipboard.directive.js +19 -19
- package/esm2015/core/clipboard/clipboard.service.js +11 -11
- package/esm2015/core/clipboard/index.js +4 -4
- package/esm2015/core/clipboard/public-api.js +5 -5
- package/esm2015/core/common/directives/auto-width.directive.js +77 -77
- package/esm2015/core/common/directives/button-blur.directive.js +22 -22
- package/esm2015/core/common/directives/button-loader.directive.js +102 -102
- package/esm2015/core/common/directives/data-qa.directive.js +22 -22
- package/esm2015/core/common/directives/index.js +4 -4
- package/esm2015/core/common/directives/menu-blur.directive.js +28 -28
- package/esm2015/core/common/directives/prevent-multi-click.directive.js +21 -21
- package/esm2015/core/common/directives/print.directive.js +134 -134
- package/esm2015/core/common/directives/public-api.js +11 -11
- package/esm2015/core/common/index.js +4 -4
- package/esm2015/core/common/model/index.js +4 -4
- package/esm2015/core/common/model/papi.model.js +2 -2
- package/esm2015/core/common/model/public-api.js +6 -6
- package/esm2015/core/common/model/utilities.model.js +56 -56
- package/esm2015/core/common/model/wapi.model.js +155 -155
- package/esm2015/core/common/pipes/common-pipes.js +141 -141
- package/esm2015/core/common/pipes/date-ago.pipe.js +45 -0
- package/esm2015/core/common/pipes/index.js +4 -4
- package/esm2015/core/common/pipes/public-api.js +6 -5
- package/esm2015/core/common/public-api.js +7 -7
- package/esm2015/core/common/services/addon.service.js +160 -160
- package/esm2015/core/common/services/color.service.js +356 -356
- package/esm2015/core/common/services/cookie.service.js +147 -147
- package/esm2015/core/common/services/data-convertor.service.js +117 -117
- package/esm2015/core/common/services/file.service.js +211 -211
- package/esm2015/core/common/services/index.js +4 -4
- package/esm2015/core/common/services/jwt-helper.service.js +103 -103
- package/esm2015/core/common/services/public-api.js +14 -14
- package/esm2015/core/common/services/session.service.js +72 -72
- package/esm2015/core/common/services/translate.service.js +47 -47
- package/esm2015/core/common/services/utilities.service.js +125 -125
- package/esm2015/core/common/services/validator.service.js +272 -272
- package/esm2015/core/common/services/window-scrolling.service.js +30 -30
- package/esm2015/core/customization/customization.model.js +289 -289
- package/esm2015/core/customization/customization.service.js +777 -777
- package/esm2015/core/customization/index.js +4 -4
- package/esm2015/core/customization/public-api.js +5 -5
- package/esm2015/core/http/index.js +4 -4
- package/esm2015/core/http/interceptors/error.interceptor.js +23 -23
- package/esm2015/core/http/interceptors/index.js +23 -23
- package/esm2015/core/http/interceptors/loader.interceptor.js +32 -32
- package/esm2015/core/http/interceptors/profiler.interceptor.js +28 -28
- package/esm2015/core/http/public-api.js +5 -5
- package/esm2015/core/http/services/http.service.js +160 -160
- package/esm2015/core/http/services/loader.service.js +48 -48
- package/esm2015/core/index.js +4 -4
- package/esm2015/core/layout/index.js +4 -4
- package/esm2015/core/layout/layout.service.js +168 -168
- package/esm2015/core/layout/public-api.js +5 -5
- package/esm2015/core/layout/rtl.directive.js +46 -46
- package/esm2015/core/portal/attach.directive.js +26 -26
- package/esm2015/core/portal/index.js +4 -4
- package/esm2015/core/portal/portal.service.js +34 -34
- package/esm2015/core/portal/public-api.js +6 -6
- package/esm2015/core/portal/target.directive.js +23 -23
- package/esm2015/core/public-api.js +10 -10
- package/esm2015/core/scroll-to/index.js +4 -4
- package/esm2015/core/scroll-to/public-api.js +5 -5
- package/esm2015/core/scroll-to/scroll-to.service.js +81 -81
- package/esm2015/date/date.component.js +251 -251
- package/esm2015/date/date.model.js +44 -44
- package/esm2015/date/date.module.js +50 -50
- package/esm2015/date/pepperi-addons-ngx-lib-date.js +5 -5
- package/esm2015/date/public-api.js +5 -5
- package/esm2015/dialog/default-dialog.component.js +31 -31
- package/esm2015/dialog/dialog.component.js +28 -28
- package/esm2015/dialog/dialog.model.js +21 -21
- package/esm2015/dialog/dialog.module.js +39 -39
- package/esm2015/dialog/dialog.service.js +76 -76
- package/esm2015/dialog/pepperi-addons-ngx-lib-dialog.js +5 -5
- package/esm2015/dialog/public-api.js +7 -7
- package/esm2015/draggable-items/draggable-item/draggable-item.component.js +24 -24
- package/esm2015/draggable-items/draggable-items.component.js +91 -91
- package/esm2015/draggable-items/draggable-items.model.js +1 -1
- package/esm2015/draggable-items/draggable-items.module.js +42 -42
- package/esm2015/draggable-items/pepperi-addons-ngx-lib-draggable-items.js +4 -4
- package/esm2015/draggable-items/public-api.js +7 -7
- package/esm2015/field-title/field-title.component.js +31 -31
- package/esm2015/field-title/field-title.module.js +31 -31
- package/esm2015/field-title/pepperi-addons-ngx-lib-field-title.js +4 -4
- package/esm2015/field-title/public-api.js +5 -5
- package/esm2015/files-uploader/files-uploader.component.js +220 -220
- package/esm2015/files-uploader/files-uploader.module.js +49 -49
- package/esm2015/files-uploader/pepperi-addons-ngx-lib-files-uploader.js +4 -4
- package/esm2015/files-uploader/public-api.js +5 -5
- package/esm2015/form/field-generator.component.js +121 -121
- package/esm2015/form/form.component.js +1196 -1196
- package/esm2015/form/form.model.js +1 -1
- package/esm2015/form/form.module.js +107 -107
- package/esm2015/form/indicators.component.js +20 -20
- package/esm2015/form/internal-button.component.js +165 -165
- package/esm2015/form/internal-carusel.component.js +115 -115
- package/esm2015/form/internal-carusel.service.js +31 -31
- package/esm2015/form/internal-list.component.js +494 -494
- package/esm2015/form/internal-menu.component.js +54 -54
- package/esm2015/form/internal-page.component.js +350 -350
- package/esm2015/form/internal-page.service.js +120 -120
- package/esm2015/form/pepperi-addons-ngx-lib-form.js +13 -13
- package/esm2015/form/public-api.js +6 -6
- package/esm2015/group-buttons/group-buttons.component.js +57 -57
- package/esm2015/group-buttons/group-buttons.module.js +37 -37
- package/esm2015/group-buttons/pepperi-addons-ngx-lib-group-buttons.js +4 -4
- package/esm2015/group-buttons/public-api.js +5 -5
- package/esm2015/icon/icon-generated-all.model.js +100 -100
- package/esm2015/icon/icon-generated.model.js +389 -389
- package/esm2015/icon/icon-registry.service.js +22 -22
- package/esm2015/icon/icon.component.js +124 -124
- package/esm2015/icon/icon.module.js +14 -14
- package/esm2015/icon/icon.service.js +31 -31
- package/esm2015/icon/pepperi-addons-ngx-lib-icon.js +4 -4
- package/esm2015/icon/public-api.js +10 -10
- package/esm2015/image/image.component.js +228 -228
- package/esm2015/image/image.module.js +48 -48
- package/esm2015/image/image.service.js +54 -54
- package/esm2015/image/pepperi-addons-ngx-lib-image.js +4 -4
- package/esm2015/image/public-api.js +6 -6
- package/esm2015/images-filmstrip/images-filmstrip.component.js +372 -372
- package/esm2015/images-filmstrip/images-filmstrip.module.js +70 -70
- package/esm2015/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.js +4 -4
- package/esm2015/images-filmstrip/public-api.js +5 -5
- package/esm2015/link/link.component.js +315 -315
- package/esm2015/link/link.module.js +50 -50
- package/esm2015/link/link.pipes.js +13 -13
- package/esm2015/link/pepperi-addons-ngx-lib-link.js +5 -5
- package/esm2015/link/public-api.js +5 -5
- package/esm2015/list/list-actions.component.js +35 -35
- package/esm2015/list/list-carousel.component.js +94 -94
- package/esm2015/list/list-chooser.component.js +57 -57
- package/esm2015/list/list-pager.component.js +112 -112
- package/esm2015/list/list-sorting.component.js +54 -54
- package/esm2015/list/list-total.component.js +23 -23
- package/esm2015/list/list-views.component.js +71 -71
- package/esm2015/list/list.component.js +1127 -1127
- package/esm2015/list/list.model.js +3 -3
- package/esm2015/list/list.module.js +87 -87
- package/esm2015/list/list.pipes.js +39 -39
- package/esm2015/list/pepperi-addons-ngx-lib-list.js +6 -6
- package/esm2015/list/public-api.js +14 -14
- package/esm2015/list/virtual-scroller.js +1018 -1018
- package/esm2015/menu/menu-item.component.js +102 -102
- package/esm2015/menu/menu.component.js +173 -173
- package/esm2015/menu/menu.model.js +18 -18
- package/esm2015/menu/menu.module.js +39 -39
- package/esm2015/menu/pepperi-addons-ngx-lib-menu.js +5 -5
- package/esm2015/menu/public-api.js +6 -6
- package/esm2015/ngx-lib.module.js +79 -77
- package/esm2015/page-layout/page-layout.component.js +41 -41
- package/esm2015/page-layout/page-layout.module.js +20 -20
- package/esm2015/page-layout/pepperi-addons-ngx-lib-page-layout.js +4 -4
- package/esm2015/page-layout/public-api.js +5 -5
- package/esm2015/pepperi-addons-ngx-lib.js +8 -8
- package/esm2015/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.js +4 -4
- package/esm2015/profile-data-views-list/profile-data-view/profile-data-view.component.js +38 -38
- package/esm2015/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.js +59 -59
- package/esm2015/profile-data-views-list/profile-data-views-list.component.js +86 -86
- package/esm2015/profile-data-views-list/profile-data-views-list.model.js +1 -1
- package/esm2015/profile-data-views-list/profile-data-views-list.module.js +56 -56
- package/esm2015/profile-data-views-list/public-api.js +8 -8
- package/esm2015/public-api.js +5 -5
- package/esm2015/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.js +6 -6
- package/esm2015/quantity-selector/public-api.js +5 -5
- package/esm2015/quantity-selector/quantity-selector-validation.directive.js +43 -43
- package/esm2015/quantity-selector/quantity-selector.component.js +467 -467
- package/esm2015/quantity-selector/quantity-selector.module.js +52 -52
- package/esm2015/quantity-selector/quantity-selector.pipes.js +18 -18
- package/esm2015/query-builder/common/model/field.js +1 -1
- package/esm2015/query-builder/common/model/filter.js +1 -1
- package/esm2015/query-builder/common/model/legacy.js +2 -2
- package/esm2015/query-builder/common/model/operator-unit.js +41 -41
- package/esm2015/query-builder/common/model/operator.js +266 -255
- package/esm2015/query-builder/common/model/structure.js +1 -1
- package/esm2015/query-builder/common/model/type-map.js +27 -27
- package/esm2015/query-builder/common/model/type.js +5 -5
- package/esm2015/query-builder/common/services/output-query.service.js +112 -112
- package/esm2015/query-builder/common/services/query-structure.service.js +229 -229
- package/esm2015/query-builder/common/services/type-convertor.service.js +39 -39
- package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -9
- package/esm2015/query-builder/public-api.js +8 -8
- package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +118 -118
- package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +63 -63
- package/esm2015/query-builder/query-builder.component.js +107 -107
- package/esm2015/query-builder/query-builder.module.js +34 -34
- package/esm2015/query-builder/query-builder.service.js +102 -102
- package/esm2015/remote-loader/addon-block-loader.component.js +68 -68
- package/esm2015/remote-loader/pepperi-addons-ngx-lib-remote-loader.js +4 -4
- package/esm2015/remote-loader/public-api.js +8 -8
- package/esm2015/remote-loader/remote-loader.component.js +114 -114
- package/esm2015/remote-loader/remote-loader.model.js +1 -1
- package/esm2015/remote-loader/remote-loader.module.js +35 -35
- package/esm2015/remote-loader/remote-loader.service.js +111 -111
- package/esm2015/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.js +4 -4
- package/esm2015/rich-html-textarea/public-api.js +5 -5
- package/esm2015/rich-html-textarea/rich-html-textarea.component.js +219 -219
- package/esm2015/rich-html-textarea/rich-html-textarea.module.js +56 -56
- package/esm2015/search/pepperi-addons-ngx-lib-search.js +4 -4
- package/esm2015/search/public-api.js +6 -6
- package/esm2015/search/search.component.js +273 -273
- package/esm2015/search/search.model.js +1 -1
- package/esm2015/search/search.module.js +44 -44
- package/esm2015/select/pepperi-addons-ngx-lib-select.js +4 -4
- package/esm2015/select/public-api.js +5 -5
- package/esm2015/select/select.component.js +211 -211
- package/esm2015/select/select.module.js +42 -42
- package/esm2015/separator/pepperi-addons-ngx-lib-separator.js +4 -4
- package/esm2015/separator/public-api.js +5 -5
- package/esm2015/separator/separator.component.js +62 -62
- package/esm2015/separator/separator.module.js +12 -12
- package/esm2015/side-bar/pepperi-addons-ngx-lib-side-bar.js +4 -4
- package/esm2015/side-bar/public-api.js +6 -6
- package/esm2015/side-bar/side-bar.component.js +130 -130
- package/esm2015/side-bar/side-bar.model.js +1 -1
- package/esm2015/side-bar/side-bar.module.js +33 -33
- package/esm2015/signature/pepperi-addons-ngx-lib-signature.js +4 -4
- package/esm2015/signature/public-api.js +5 -5
- package/esm2015/signature/signature.component.js +233 -233
- package/esm2015/signature/signature.module.js +54 -54
- package/esm2015/size-detector/pepperi-addons-ngx-lib-size-detector.js +4 -4
- package/esm2015/size-detector/public-api.js +5 -5
- package/esm2015/size-detector/size-detector.component.js +88 -88
- package/esm2015/size-detector/size-detector.module.js +21 -21
- package/esm2015/slider/pepperi-addons-ngx-lib-slider.js +4 -4
- package/esm2015/slider/public-api.js +5 -5
- package/esm2015/slider/slider.component.js +95 -95
- package/esm2015/slider/slider.module.js +24 -24
- package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +70 -70
- package/esm2015/smart-filters/common/filter-actions.component.js +25 -25
- package/esm2015/smart-filters/common/model/base-filter-component.js +291 -291
- package/esm2015/smart-filters/common/model/creator.js +75 -75
- package/esm2015/smart-filters/common/model/field.js +116 -116
- package/esm2015/smart-filters/common/model/filter.js +1 -1
- package/esm2015/smart-filters/common/model/operator.js +271 -282
- package/esm2015/smart-filters/common/model/type.js +2 -2
- package/esm2015/smart-filters/date-filter/date-filter.component.js +164 -156
- package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +191 -153
- package/esm2015/smart-filters/number-filter/number-filter.component.js +109 -109
- package/esm2015/smart-filters/pepperi-addons-ngx-lib-smart-filters.js +4 -4
- package/esm2015/smart-filters/public-api.js +18 -18
- package/esm2015/smart-filters/smart-filters.component.js +130 -130
- package/esm2015/smart-filters/smart-filters.module.js +90 -90
- package/esm2015/smart-filters/text-filter/text-filter.component.js +86 -86
- package/esm2015/snack-bar/default-snack-bar.component.js +27 -27
- package/esm2015/snack-bar/pepperi-addons-ngx-lib-snack-bar.js +5 -5
- package/esm2015/snack-bar/public-api.js +7 -7
- package/esm2015/snack-bar/snack-bar.component.js +25 -25
- package/esm2015/snack-bar/snack-bar.model.js +6 -6
- package/esm2015/snack-bar/snack-bar.module.js +41 -41
- package/esm2015/snack-bar/snack-bar.service.js +62 -62
- package/esm2015/textarea/pepperi-addons-ngx-lib-textarea.js +4 -4
- package/esm2015/textarea/public-api.js +5 -5
- package/esm2015/textarea/textarea.component.js +160 -160
- package/esm2015/textarea/textarea.module.js +50 -50
- package/esm2015/textbox/pepperi-addons-ngx-lib-textbox.js +5 -5
- package/esm2015/textbox/public-api.js +5 -5
- package/esm2015/textbox/textbox-validation.directive.js +85 -85
- package/esm2015/textbox/textbox.component.js +391 -391
- package/esm2015/textbox/textbox.module.js +44 -44
- package/esm2015/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.js +4 -4
- package/esm2015/textbox-icon/public-api.js +5 -5
- package/esm2015/textbox-icon/textbox-icon.component.js +40 -40
- package/esm2015/textbox-icon/textbox-icon.module.js +46 -46
- package/esm2015/top-bar/pepperi-addons-ngx-lib-top-bar.js +4 -4
- package/esm2015/top-bar/public-api.js +6 -6
- package/esm2015/top-bar/top-bar.component.js +98 -98
- package/esm2015/top-bar/top-bar.model.js +1 -1
- package/esm2015/top-bar/top-bar.module.js +40 -40
- package/fesm2015/pepperi-addons-ngx-lib-address.js +116 -116
- package/fesm2015/pepperi-addons-ngx-lib-attachment.js +227 -227
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +109 -109
- package/fesm2015/pepperi-addons-ngx-lib-button.js +149 -149
- package/fesm2015/pepperi-addons-ngx-lib-carousel.js +731 -731
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +178 -178
- package/fesm2015/pepperi-addons-ngx-lib-color.js +295 -295
- package/fesm2015/pepperi-addons-ngx-lib-date.js +320 -320
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js +170 -170
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js +143 -143
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js +55 -55
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +252 -252
- package/fesm2015/pepperi-addons-ngx-lib-form.js +2693 -2693
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +84 -84
- package/fesm2015/pepperi-addons-ngx-lib-icon.js +662 -662
- package/fesm2015/pepperi-addons-ngx-lib-image.js +306 -306
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +409 -409
- package/fesm2015/pepperi-addons-ngx-lib-link.js +358 -358
- package/fesm2015/pepperi-addons-ngx-lib-list.js +2661 -2661
- package/fesm2015/pepperi-addons-ngx-lib-menu.js +314 -314
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +55 -55
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js +219 -219
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +556 -556
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1087 -1076
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.js +303 -303
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +256 -256
- package/fesm2015/pepperi-addons-ngx-lib-search.js +301 -301
- package/fesm2015/pepperi-addons-ngx-lib-select.js +241 -241
- package/fesm2015/pepperi-addons-ngx-lib-separator.js +71 -71
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +154 -154
- package/fesm2015/pepperi-addons-ngx-lib-signature.js +270 -270
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +103 -103
- package/fesm2015/pepperi-addons-ngx-lib-slider.js +112 -112
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +1539 -1504
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.js +137 -137
- package/fesm2015/pepperi-addons-ngx-lib-textarea.js +194 -194
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +78 -78
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js +501 -501
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +125 -125
- package/fesm2015/pepperi-addons-ngx-lib.js +4178 -4134
- package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
- package/field-title/field-title.component.d.ts +11 -11
- package/field-title/field-title.module.d.ts +5 -5
- package/field-title/pepperi-addons-ngx-lib-field-title.d.ts +4 -4
- package/field-title/public-api.d.ts +2 -2
- package/files-uploader/files-uploader.component.d.ts +53 -53
- package/files-uploader/files-uploader.module.d.ts +5 -5
- package/files-uploader/pepperi-addons-ngx-lib-files-uploader.d.ts +4 -4
- package/files-uploader/public-api.d.ts +2 -2
- package/form/field-generator.component.d.ts +36 -36
- package/form/form.component.d.ts +90 -90
- package/form/form.model.d.ts +20 -20
- package/form/form.module.d.ts +5 -5
- package/form/indicators.component.d.ts +7 -7
- package/form/internal-button.component.d.ts +39 -39
- package/form/internal-carusel.component.d.ts +38 -38
- package/form/internal-carusel.service.d.ts +7 -7
- package/form/internal-list.component.d.ts +92 -92
- package/form/internal-menu.component.d.ts +16 -16
- package/form/internal-page.component.d.ts +72 -72
- package/form/internal-page.service.d.ts +19 -19
- package/form/pepperi-addons-ngx-lib-form.d.ts +13 -13
- package/form/public-api.d.ts +3 -3
- package/group-buttons/group-buttons.component.d.ts +20 -20
- package/group-buttons/group-buttons.module.d.ts +5 -5
- package/group-buttons/pepperi-addons-ngx-lib-group-buttons.d.ts +4 -4
- package/group-buttons/public-api.d.ts +2 -2
- package/icon/icon-generated-all.model.d.ts +99 -99
- package/icon/icon-generated.model.d.ts +394 -394
- package/icon/icon-registry.service.d.ts +6 -6
- package/icon/icon.component.d.ts +46 -46
- package/icon/icon.module.d.ts +2 -2
- package/icon/icon.service.d.ts +10 -10
- package/icon/pepperi-addons-ngx-lib-icon.d.ts +4 -4
- package/icon/public-api.d.ts +6 -6
- package/image/image.component.d.ts +63 -63
- package/image/image.module.d.ts +5 -5
- package/image/image.service.d.ts +11 -11
- package/image/pepperi-addons-ngx-lib-image.d.ts +4 -4
- package/image/public-api.d.ts +3 -3
- package/images-filmstrip/images-filmstrip.component.d.ts +84 -84
- package/images-filmstrip/images-filmstrip.module.d.ts +5 -5
- package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.d.ts +4 -4
- package/images-filmstrip/public-api.d.ts +2 -2
- package/link/link.component.d.ts +131 -131
- package/link/link.module.d.ts +5 -5
- package/link/link.pipes.d.ts +4 -4
- package/link/pepperi-addons-ngx-lib-link.d.ts +5 -5
- package/link/public-api.d.ts +2 -2
- package/list/list-actions.component.d.ts +14 -14
- package/list/list-carousel.component.d.ts +36 -36
- package/list/list-chooser.component.d.ts +25 -25
- package/list/list-pager.component.d.ts +35 -35
- package/list/list-sorting.component.d.ts +26 -26
- package/list/list-total.component.d.ts +7 -7
- package/list/list-views.component.d.ts +31 -31
- package/list/list.component.d.ts +161 -161
- package/list/list.model.d.ts +31 -31
- package/list/list.module.d.ts +5 -5
- package/list/list.pipes.d.ts +11 -11
- package/list/pepperi-addons-ngx-lib-list.d.ts +6 -6
- package/list/public-api.d.ts +10 -10
- package/list/virtual-scroller.d.ts +176 -176
- package/menu/menu-item.component.d.ts +25 -25
- package/menu/menu.component.d.ts +43 -43
- package/menu/menu.model.d.ts +25 -25
- package/menu/menu.module.d.ts +5 -5
- package/menu/pepperi-addons-ngx-lib-menu.d.ts +5 -5
- package/menu/public-api.d.ts +3 -3
- package/ngx-lib.module.d.ts +2 -2
- package/package.json +1 -1
- package/page-layout/page-layout.component.d.ts +16 -16
- package/page-layout/page-layout.module.d.ts +2 -2
- package/page-layout/pepperi-addons-ngx-lib-page-layout.d.ts +4 -4
- package/page-layout/public-api.d.ts +2 -2
- package/pepperi-addons-ngx-lib.d.ts +8 -8
- package/pepperi-addons-ngx-lib.metadata.json +1 -1
- package/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.d.ts +4 -4
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +15 -15
- package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +21 -21
- package/profile-data-views-list/profile-data-views-list.component.d.ts +32 -32
- package/profile-data-views-list/profile-data-views-list.model.d.ts +18 -18
- package/profile-data-views-list/profile-data-views-list.module.d.ts +5 -5
- package/profile-data-views-list/public-api.d.ts +5 -5
- package/public-api.d.ts +2 -2
- package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.d.ts +6 -6
- package/quantity-selector/public-api.d.ts +2 -2
- package/quantity-selector/quantity-selector-validation.directive.d.ts +13 -13
- package/quantity-selector/quantity-selector.component.d.ts +98 -98
- package/quantity-selector/quantity-selector.module.d.ts +5 -5
- package/quantity-selector/quantity-selector.pipes.d.ts +4 -4
- package/query-builder/common/model/field.d.ts +8 -8
- package/query-builder/common/model/filter.d.ts +6 -6
- package/query-builder/common/model/legacy.d.ts +29 -29
- package/query-builder/common/model/operator-unit.d.ts +13 -13
- package/query-builder/common/model/operator.d.ts +21 -21
- package/query-builder/common/model/structure.d.ts +4 -4
- package/query-builder/common/model/type-map.d.ts +12 -12
- package/query-builder/common/model/type.d.ts +4 -4
- package/query-builder/common/services/output-query.service.d.ts +44 -44
- package/query-builder/common/services/query-structure.service.d.ts +78 -78
- package/query-builder/common/services/type-convertor.service.d.ts +10 -10
- package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +9 -9
- package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -1
- package/query-builder/public-api.d.ts +5 -5
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +38 -38
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -27
- package/query-builder/query-builder.component.d.ts +36 -36
- package/query-builder/query-builder.module.d.ts +2 -2
- package/query-builder/query-builder.service.d.ts +27 -27
- package/remote-loader/addon-block-loader.component.d.ts +25 -25
- package/remote-loader/pepperi-addons-ngx-lib-remote-loader.d.ts +4 -4
- package/remote-loader/public-api.d.ts +5 -5
- package/remote-loader/remote-loader.component.d.ts +24 -24
- package/remote-loader/remote-loader.model.d.ts +34 -34
- package/remote-loader/remote-loader.module.d.ts +2 -2
- package/remote-loader/remote-loader.service.d.ts +23 -23
- package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.d.ts +4 -4
- package/rich-html-textarea/public-api.d.ts +2 -2
- package/rich-html-textarea/rich-html-textarea.component.d.ts +75 -75
- package/rich-html-textarea/rich-html-textarea.module.d.ts +5 -5
- package/search/pepperi-addons-ngx-lib-search.d.ts +4 -4
- package/search/public-api.d.ts +3 -3
- package/search/search.component.d.ts +61 -61
- package/search/search.model.d.ts +14 -14
- package/search/search.module.d.ts +5 -5
- package/select/pepperi-addons-ngx-lib-select.d.ts +4 -4
- package/select/public-api.d.ts +2 -2
- package/select/select.component.d.ts +50 -50
- package/select/select.module.d.ts +5 -5
- package/separator/pepperi-addons-ngx-lib-separator.d.ts +4 -4
- package/separator/public-api.d.ts +2 -2
- package/separator/separator.component.d.ts +19 -19
- package/separator/separator.module.d.ts +2 -2
- package/side-bar/pepperi-addons-ngx-lib-side-bar.d.ts +4 -4
- package/side-bar/public-api.d.ts +3 -3
- package/side-bar/side-bar.component.d.ts +38 -38
- package/side-bar/side-bar.model.d.ts +4 -4
- package/side-bar/side-bar.module.d.ts +5 -5
- package/signature/pepperi-addons-ngx-lib-signature.d.ts +4 -4
- package/signature/public-api.d.ts +2 -2
- package/signature/signature.component.d.ts +65 -65
- package/signature/signature.module.d.ts +5 -5
- package/size-detector/pepperi-addons-ngx-lib-size-detector.d.ts +4 -4
- package/size-detector/public-api.d.ts +2 -2
- package/size-detector/size-detector.component.d.ts +26 -26
- package/size-detector/size-detector.module.d.ts +2 -2
- package/slider/pepperi-addons-ngx-lib-slider.d.ts +4 -4
- package/slider/public-api.d.ts +2 -2
- package/slider/slider.component.d.ts +36 -36
- package/slider/slider.module.d.ts +2 -2
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +25 -26
- package/smart-filters/common/filter-actions.component.d.ts +9 -9
- package/smart-filters/common/model/base-filter-component.d.ts +70 -70
- package/smart-filters/common/model/creator.d.ts +6 -6
- package/smart-filters/common/model/field.d.ts +69 -69
- package/smart-filters/common/model/filter.d.ts +11 -11
- package/smart-filters/common/model/operator.d.ts +51 -50
- package/smart-filters/common/model/type.d.ts +4 -4
- package/smart-filters/date-filter/date-filter.component.d.ts +56 -54
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +53 -39
- package/smart-filters/number-filter/number-filter.component.d.ts +48 -47
- package/smart-filters/pepperi-addons-ngx-lib-smart-filters.d.ts +4 -4
- package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
- package/smart-filters/public-api.d.ts +14 -14
- package/smart-filters/smart-filters.component.d.ts +32 -32
- package/smart-filters/smart-filters.module.d.ts +5 -5
- package/smart-filters/text-filter/text-filter.component.d.ts +25 -26
- package/snack-bar/default-snack-bar.component.d.ts +10 -10
- package/snack-bar/pepperi-addons-ngx-lib-snack-bar.d.ts +5 -5
- package/snack-bar/public-api.d.ts +4 -4
- package/snack-bar/snack-bar.component.d.ts +9 -9
- package/snack-bar/snack-bar.model.d.ts +8 -8
- package/snack-bar/snack-bar.module.d.ts +5 -5
- package/snack-bar/snack-bar.service.d.ts +21 -21
- package/src/assets/i18n/en.ngx-lib.json +16 -1
- package/textarea/pepperi-addons-ngx-lib-textarea.d.ts +4 -4
- package/textarea/public-api.d.ts +2 -2
- package/textarea/textarea.component.d.ts +51 -51
- package/textarea/textarea.module.d.ts +5 -5
- package/textbox/pepperi-addons-ngx-lib-textbox.d.ts +5 -5
- package/textbox/public-api.d.ts +2 -2
- package/textbox/textbox-validation.directive.d.ts +18 -18
- package/textbox/textbox.component.d.ts +134 -134
- package/textbox/textbox.module.d.ts +5 -5
- package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.d.ts +4 -4
- package/textbox-icon/public-api.d.ts +2 -2
- package/textbox-icon/textbox-icon.component.d.ts +10 -10
- package/textbox-icon/textbox-icon.module.d.ts +5 -5
- package/top-bar/pepperi-addons-ngx-lib-top-bar.d.ts +4 -4
- package/top-bar/public-api.d.ts +3 -3
- package/top-bar/top-bar.component.d.ts +36 -36
- package/top-bar/top-bar.model.d.ts +4 -4
- package/top-bar/top-bar.module.d.ts +5 -5
|
@@ -1,234 +1,234 @@
|
|
|
1
|
-
import { Component, ViewChild, Input, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy, ElementRef, Renderer2, TemplateRef, } from '@angular/core';
|
|
2
|
-
import { PepFileService, PepCustomizationService, DEFAULT_HORIZONTAL_ALIGNMENT, PepSignatureField, } from '@pepperi-addons/ngx-lib';
|
|
3
|
-
import { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';
|
|
4
|
-
export class PepSignatureComponent {
|
|
5
|
-
constructor(dialogService, customizationService, fileService, cd, renderer, element) {
|
|
6
|
-
this.dialogService = dialogService;
|
|
7
|
-
this.customizationService = customizationService;
|
|
8
|
-
this.fileService = fileService;
|
|
9
|
-
this.cd = cd;
|
|
10
|
-
this.renderer = renderer;
|
|
11
|
-
this.element = element;
|
|
12
|
-
this.key = '';
|
|
13
|
-
this.src = '';
|
|
14
|
-
this.label = '';
|
|
15
|
-
this.mandatory = false;
|
|
16
|
-
this.disabled = false;
|
|
17
|
-
this.readonly = false;
|
|
18
|
-
this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
|
|
19
|
-
this._rowSpan = 1;
|
|
20
|
-
this.signatureURL = '';
|
|
21
|
-
// @Input() inDialog = false;
|
|
22
|
-
this._visible = true;
|
|
23
|
-
this.controlType = 'signature';
|
|
24
|
-
this.form = null;
|
|
25
|
-
this.showTitle = true;
|
|
26
|
-
this.renderTitle = true;
|
|
27
|
-
this._layoutType = 'form';
|
|
28
|
-
this.isActive = false;
|
|
29
|
-
this.fileChange = new EventEmitter();
|
|
30
|
-
this.fieldHeight = '';
|
|
31
|
-
this.standAlone = false;
|
|
32
|
-
this.dataURI = null;
|
|
33
|
-
this.showActionBtn = true;
|
|
34
|
-
this.isVisibleModal = false;
|
|
35
|
-
this.acceptSignatureType = 'png';
|
|
36
|
-
this.signaturePadOptions = {
|
|
37
|
-
// passed through to szimek/signature_pad constructor
|
|
38
|
-
minWidth: 2,
|
|
39
|
-
canvasWidth: 500,
|
|
40
|
-
canvasHeight: 300,
|
|
41
|
-
penColor: 'rgb(151, 151, 151)',
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
set rowSpan(value) {
|
|
45
|
-
this._rowSpan = value;
|
|
46
|
-
this.setFieldHeight();
|
|
47
|
-
}
|
|
48
|
-
get rowSpan() {
|
|
49
|
-
return this._rowSpan;
|
|
50
|
-
}
|
|
51
|
-
set visible(visible) {
|
|
52
|
-
this._visible = visible;
|
|
53
|
-
if (visible) {
|
|
54
|
-
this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.renderer.addClass(this.element.nativeElement, 'hidden-element');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
get visible() {
|
|
61
|
-
return this._visible;
|
|
62
|
-
}
|
|
63
|
-
set layoutType(value) {
|
|
64
|
-
this._layoutType = value;
|
|
65
|
-
this.setFieldHeight();
|
|
66
|
-
}
|
|
67
|
-
get layoutType() {
|
|
68
|
-
return this._layoutType;
|
|
69
|
-
}
|
|
70
|
-
setFieldHeight() {
|
|
71
|
-
this.fieldHeight = this.customizationService.calculateFieldHeight(this.layoutType, this.rowSpan, this.standAlone);
|
|
72
|
-
}
|
|
73
|
-
setDefaultForm() {
|
|
74
|
-
const pepField = new PepSignatureField({
|
|
75
|
-
key: this.key,
|
|
76
|
-
value: this.src,
|
|
77
|
-
mandatory: this.mandatory,
|
|
78
|
-
readonly: this.readonly,
|
|
79
|
-
disabled: this.disabled,
|
|
80
|
-
});
|
|
81
|
-
this.form = this.customizationService.getDefaultFromGroup(pepField);
|
|
82
|
-
}
|
|
83
|
-
ngOnInit() {
|
|
84
|
-
if (this.form === null) {
|
|
85
|
-
this.standAlone = true;
|
|
86
|
-
this.setFieldHeight();
|
|
87
|
-
this.setDefaultForm();
|
|
88
|
-
this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
|
|
89
|
-
if (!this.renderTitle) {
|
|
90
|
-
this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
ngOnChanges(changes) {
|
|
95
|
-
if (this.standAlone) {
|
|
96
|
-
this.setDefaultForm();
|
|
97
|
-
}
|
|
98
|
-
if (changes.src && changes.src.currentValue.length > 0) {
|
|
99
|
-
// Empty dataURI if there is change in the src.
|
|
100
|
-
this.dataURI = null;
|
|
101
|
-
// For clean the cache.
|
|
102
|
-
// this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
ngOnDestroy() {
|
|
106
|
-
//
|
|
107
|
-
}
|
|
108
|
-
drawComplete() {
|
|
109
|
-
// will be notified of szimek/signature_pad's onEnd event
|
|
110
|
-
}
|
|
111
|
-
drawStart() {
|
|
112
|
-
// will be notified of szimek/signature_pad's onBegin event
|
|
113
|
-
}
|
|
114
|
-
openSignModal() {
|
|
115
|
-
// If the signature is not empty open it in image viewer.
|
|
116
|
-
if (this.standAlone && this.dataURI) {
|
|
117
|
-
const fileStrArr = this.dataURI.fileStr.split(';');
|
|
118
|
-
if (fileStrArr.length === 2) {
|
|
119
|
-
const win = window.open('', '_blank');
|
|
120
|
-
const contentType = fileStrArr[0].split(':')[1];
|
|
121
|
-
const base64 = fileStrArr[1].split(',')[1];
|
|
122
|
-
const blob = this.fileService.convertFromb64toBlob(base64, contentType);
|
|
123
|
-
const url = URL.createObjectURL(blob);
|
|
124
|
-
win.location.href = url;
|
|
125
|
-
}
|
|
126
|
-
// signature allready exits
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
this.signatureURL = this.src;
|
|
130
|
-
this.openSignatoreDlg(this.signatureURL);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
openSignatoreDlg(src = '') {
|
|
134
|
-
this.showActionBtn =
|
|
135
|
-
this.signatureURL && this.signatureURL !== '' ? false : true;
|
|
136
|
-
this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);
|
|
137
|
-
this.dialogRef.afterOpened().subscribe(() => {
|
|
138
|
-
this.afterDialogOpened();
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
afterDialogOpened() {
|
|
142
|
-
if (this.signatureURL && this.signatureURL !== '') {
|
|
143
|
-
this.signaturePad.fromDataURL(this.signatureURL);
|
|
144
|
-
this.signaturePad.off();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
clearSignModal() {
|
|
148
|
-
this.signatureURL = '';
|
|
149
|
-
this.signaturePad.clear();
|
|
150
|
-
this.signaturePad.on();
|
|
151
|
-
}
|
|
152
|
-
deleteSignature(event) {
|
|
153
|
-
this.signatureURL = '';
|
|
154
|
-
this.changeValue(this.signatureURL);
|
|
155
|
-
this.cd.detectChanges();
|
|
156
|
-
}
|
|
157
|
-
saveSignModal(event) {
|
|
158
|
-
if (!this.signaturePad.isEmpty()) {
|
|
159
|
-
this.signatureURL = this.signaturePad.toDataURL('image/png');
|
|
160
|
-
const fileValue = {
|
|
161
|
-
acceptedExtensions: this.acceptSignatureType,
|
|
162
|
-
fileStr: this.signatureURL,
|
|
163
|
-
fileExt: this.acceptSignatureType,
|
|
164
|
-
};
|
|
165
|
-
this.changeValue(fileValue);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
this.signatureURL = '';
|
|
169
|
-
this.changeValue(this.signatureURL);
|
|
170
|
-
}
|
|
171
|
-
this.dialogRef.close(this.signatureURL);
|
|
172
|
-
}
|
|
173
|
-
closeDialog(event) {
|
|
174
|
-
this.dialogRef.close(event);
|
|
175
|
-
}
|
|
176
|
-
errorHandler(event) {
|
|
177
|
-
this.signatureURL = this.src = ''; // this.blankImage;
|
|
178
|
-
}
|
|
179
|
-
changeValue(fileData) {
|
|
180
|
-
this.dataURI = fileData;
|
|
181
|
-
this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';
|
|
182
|
-
this.customizationService.updateFormFieldValue(this.form, this.key, this.dataURI ? this.dataURI.fileExt : '');
|
|
183
|
-
// this.valueChange.emit({
|
|
184
|
-
// key: this.key,
|
|
185
|
-
// value,
|
|
186
|
-
// });
|
|
187
|
-
this.fileChange.emit(fileData);
|
|
188
|
-
// this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);
|
|
189
|
-
}
|
|
190
|
-
onKeyPress_OpenSignModal(event) {
|
|
191
|
-
const e = event;
|
|
192
|
-
if ([13, 32].indexOf(e.which) !== -1) {
|
|
193
|
-
this.openSignModal();
|
|
194
|
-
}
|
|
195
|
-
e.preventDefault();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
PepSignatureComponent.decorators = [
|
|
199
|
-
{ type: Component, args: [{
|
|
200
|
-
selector: 'pep-signature',
|
|
201
|
-
template: "<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template>\n\n</ng-container>",
|
|
202
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
203
|
-
styles: [".pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{position:relative;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);cursor:pointer;padding:1px .25rem}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span{width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img{-o-object-fit:contain;object-fit:contain;max-height:100%;max-height:-webkit-fill-available;max-height:-moz-available;max-height:stretch;max-width:100%;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 .25rem 0 .25rem;border-radius:0 var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem);padding:0;justify-content:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon{vertical-align:middle}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:0;border-radius:.25rem 0 .25rem 0;border-radius:var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem) 0}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature{z-index:6}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{border-radius:0 .25rem .25rem 0;border-radius:0 var(--pep-border-radius-md,.25rem) var(--pep-border-radius-md,.25rem) 0}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:.0625rem;border-radius:.25rem 0 0 .25rem;border-radius:var(--pep-border-radius-md,.25rem) 0 0 var(--pep-border-radius-md,.25rem)}.pep-report-file,.pepperi-report-file{cursor:pointer;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}.pep-file-container,.pepperi-file-container{display:grid}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}:host{display:block}signature-pad{display:grid;width:inherit;height:inherit}", ".pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);cursor:pointer;padding:1px .25rem}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span{width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img{-o-object-fit:contain;object-fit:contain;max-height:100%;max-height:-webkit-fill-available;max-height:-moz-available;max-height:stretch;max-width:100%;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 .25rem 0 .25rem;border-radius:0 var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem);padding:0;justify-content:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon{vertical-align:middle}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:0;border-radius:.25rem 0 .25rem 0;border-radius:var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem) 0}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature{z-index:6}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{border-radius:0 .25rem .25rem 0;border-radius:0 var(--pep-border-radius-md,.25rem) var(--pep-border-radius-md,.25rem) 0}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:.0625rem;border-radius:.25rem 0 0 .25rem;border-radius:var(--pep-border-radius-md,.25rem) 0 0 var(--pep-border-radius-md,.25rem)}.pep-report-file,.pepperi-report-file{cursor:pointer;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}.pep-file-container,.pepperi-file-container{display:grid}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7);position:relative}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px dashed hsl(0,0%,calc(10% + 30%));border:1px dashed hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),calc(var(--pep-color-system-primary-l, 10%) + 30%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete{background-color:rgba(26,26,26,.5);background-color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.5)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover{background:#e60000;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%));box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon{fill:rgba(26,26,26,.7);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a{color:#1766a6;color:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon{fill:#1766a6;fill:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after{border:unset}.pep-file-container .modal-dialog .modal-content,.pepperi-file-container .modal-dialog .modal-content{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}"]
|
|
204
|
-
},] }
|
|
205
|
-
];
|
|
206
|
-
PepSignatureComponent.ctorParameters = () => [
|
|
207
|
-
{ type: PepDialogService },
|
|
208
|
-
{ type: PepCustomizationService },
|
|
209
|
-
{ type: PepFileService },
|
|
210
|
-
{ type: ChangeDetectorRef },
|
|
211
|
-
{ type: Renderer2 },
|
|
212
|
-
{ type: ElementRef }
|
|
213
|
-
];
|
|
214
|
-
PepSignatureComponent.propDecorators = {
|
|
215
|
-
key: [{ type: Input }],
|
|
216
|
-
src: [{ type: Input }],
|
|
217
|
-
label: [{ type: Input }],
|
|
218
|
-
mandatory: [{ type: Input }],
|
|
219
|
-
disabled: [{ type: Input }],
|
|
220
|
-
readonly: [{ type: Input }],
|
|
221
|
-
xAlignment: [{ type: Input }],
|
|
222
|
-
rowSpan: [{ type: Input }],
|
|
223
|
-
signatureURL: [{ type: Input }],
|
|
224
|
-
visible: [{ type: Input }],
|
|
225
|
-
form: [{ type: Input }],
|
|
226
|
-
showTitle: [{ type: Input }],
|
|
227
|
-
renderTitle: [{ type: Input }],
|
|
228
|
-
layoutType: [{ type: Input }],
|
|
229
|
-
isActive: [{ type: Input }],
|
|
230
|
-
fileChange: [{ type: Output }],
|
|
231
|
-
signaturePad: [{ type: ViewChild, args: ['signaturePad',] }],
|
|
232
|
-
signaturePopupPad: [{ type: ViewChild, args: ['signaturePopupPad', { read: TemplateRef },] }]
|
|
233
|
-
};
|
|
1
|
+
import { Component, ViewChild, Input, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy, ElementRef, Renderer2, TemplateRef, } from '@angular/core';
|
|
2
|
+
import { PepFileService, PepCustomizationService, DEFAULT_HORIZONTAL_ALIGNMENT, PepSignatureField, } from '@pepperi-addons/ngx-lib';
|
|
3
|
+
import { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';
|
|
4
|
+
export class PepSignatureComponent {
|
|
5
|
+
constructor(dialogService, customizationService, fileService, cd, renderer, element) {
|
|
6
|
+
this.dialogService = dialogService;
|
|
7
|
+
this.customizationService = customizationService;
|
|
8
|
+
this.fileService = fileService;
|
|
9
|
+
this.cd = cd;
|
|
10
|
+
this.renderer = renderer;
|
|
11
|
+
this.element = element;
|
|
12
|
+
this.key = '';
|
|
13
|
+
this.src = '';
|
|
14
|
+
this.label = '';
|
|
15
|
+
this.mandatory = false;
|
|
16
|
+
this.disabled = false;
|
|
17
|
+
this.readonly = false;
|
|
18
|
+
this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
|
|
19
|
+
this._rowSpan = 1;
|
|
20
|
+
this.signatureURL = '';
|
|
21
|
+
// @Input() inDialog = false;
|
|
22
|
+
this._visible = true;
|
|
23
|
+
this.controlType = 'signature';
|
|
24
|
+
this.form = null;
|
|
25
|
+
this.showTitle = true;
|
|
26
|
+
this.renderTitle = true;
|
|
27
|
+
this._layoutType = 'form';
|
|
28
|
+
this.isActive = false;
|
|
29
|
+
this.fileChange = new EventEmitter();
|
|
30
|
+
this.fieldHeight = '';
|
|
31
|
+
this.standAlone = false;
|
|
32
|
+
this.dataURI = null;
|
|
33
|
+
this.showActionBtn = true;
|
|
34
|
+
this.isVisibleModal = false;
|
|
35
|
+
this.acceptSignatureType = 'png';
|
|
36
|
+
this.signaturePadOptions = {
|
|
37
|
+
// passed through to szimek/signature_pad constructor
|
|
38
|
+
minWidth: 2,
|
|
39
|
+
canvasWidth: 500,
|
|
40
|
+
canvasHeight: 300,
|
|
41
|
+
penColor: 'rgb(151, 151, 151)',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
set rowSpan(value) {
|
|
45
|
+
this._rowSpan = value;
|
|
46
|
+
this.setFieldHeight();
|
|
47
|
+
}
|
|
48
|
+
get rowSpan() {
|
|
49
|
+
return this._rowSpan;
|
|
50
|
+
}
|
|
51
|
+
set visible(visible) {
|
|
52
|
+
this._visible = visible;
|
|
53
|
+
if (visible) {
|
|
54
|
+
this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.renderer.addClass(this.element.nativeElement, 'hidden-element');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
get visible() {
|
|
61
|
+
return this._visible;
|
|
62
|
+
}
|
|
63
|
+
set layoutType(value) {
|
|
64
|
+
this._layoutType = value;
|
|
65
|
+
this.setFieldHeight();
|
|
66
|
+
}
|
|
67
|
+
get layoutType() {
|
|
68
|
+
return this._layoutType;
|
|
69
|
+
}
|
|
70
|
+
setFieldHeight() {
|
|
71
|
+
this.fieldHeight = this.customizationService.calculateFieldHeight(this.layoutType, this.rowSpan, this.standAlone);
|
|
72
|
+
}
|
|
73
|
+
setDefaultForm() {
|
|
74
|
+
const pepField = new PepSignatureField({
|
|
75
|
+
key: this.key,
|
|
76
|
+
value: this.src,
|
|
77
|
+
mandatory: this.mandatory,
|
|
78
|
+
readonly: this.readonly,
|
|
79
|
+
disabled: this.disabled,
|
|
80
|
+
});
|
|
81
|
+
this.form = this.customizationService.getDefaultFromGroup(pepField);
|
|
82
|
+
}
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
if (this.form === null) {
|
|
85
|
+
this.standAlone = true;
|
|
86
|
+
this.setFieldHeight();
|
|
87
|
+
this.setDefaultForm();
|
|
88
|
+
this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
|
|
89
|
+
if (!this.renderTitle) {
|
|
90
|
+
this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
ngOnChanges(changes) {
|
|
95
|
+
if (this.standAlone) {
|
|
96
|
+
this.setDefaultForm();
|
|
97
|
+
}
|
|
98
|
+
if (changes.src && changes.src.currentValue.length > 0) {
|
|
99
|
+
// Empty dataURI if there is change in the src.
|
|
100
|
+
this.dataURI = null;
|
|
101
|
+
// For clean the cache.
|
|
102
|
+
// this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
ngOnDestroy() {
|
|
106
|
+
//
|
|
107
|
+
}
|
|
108
|
+
drawComplete() {
|
|
109
|
+
// will be notified of szimek/signature_pad's onEnd event
|
|
110
|
+
}
|
|
111
|
+
drawStart() {
|
|
112
|
+
// will be notified of szimek/signature_pad's onBegin event
|
|
113
|
+
}
|
|
114
|
+
openSignModal() {
|
|
115
|
+
// If the signature is not empty open it in image viewer.
|
|
116
|
+
if (this.standAlone && this.dataURI) {
|
|
117
|
+
const fileStrArr = this.dataURI.fileStr.split(';');
|
|
118
|
+
if (fileStrArr.length === 2) {
|
|
119
|
+
const win = window.open('', '_blank');
|
|
120
|
+
const contentType = fileStrArr[0].split(':')[1];
|
|
121
|
+
const base64 = fileStrArr[1].split(',')[1];
|
|
122
|
+
const blob = this.fileService.convertFromb64toBlob(base64, contentType);
|
|
123
|
+
const url = URL.createObjectURL(blob);
|
|
124
|
+
win.location.href = url;
|
|
125
|
+
}
|
|
126
|
+
// signature allready exits
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.signatureURL = this.src;
|
|
130
|
+
this.openSignatoreDlg(this.signatureURL);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
openSignatoreDlg(src = '') {
|
|
134
|
+
this.showActionBtn =
|
|
135
|
+
this.signatureURL && this.signatureURL !== '' ? false : true;
|
|
136
|
+
this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);
|
|
137
|
+
this.dialogRef.afterOpened().subscribe(() => {
|
|
138
|
+
this.afterDialogOpened();
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
afterDialogOpened() {
|
|
142
|
+
if (this.signatureURL && this.signatureURL !== '') {
|
|
143
|
+
this.signaturePad.fromDataURL(this.signatureURL);
|
|
144
|
+
this.signaturePad.off();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
clearSignModal() {
|
|
148
|
+
this.signatureURL = '';
|
|
149
|
+
this.signaturePad.clear();
|
|
150
|
+
this.signaturePad.on();
|
|
151
|
+
}
|
|
152
|
+
deleteSignature(event) {
|
|
153
|
+
this.signatureURL = '';
|
|
154
|
+
this.changeValue(this.signatureURL);
|
|
155
|
+
this.cd.detectChanges();
|
|
156
|
+
}
|
|
157
|
+
saveSignModal(event) {
|
|
158
|
+
if (!this.signaturePad.isEmpty()) {
|
|
159
|
+
this.signatureURL = this.signaturePad.toDataURL('image/png');
|
|
160
|
+
const fileValue = {
|
|
161
|
+
acceptedExtensions: this.acceptSignatureType,
|
|
162
|
+
fileStr: this.signatureURL,
|
|
163
|
+
fileExt: this.acceptSignatureType,
|
|
164
|
+
};
|
|
165
|
+
this.changeValue(fileValue);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.signatureURL = '';
|
|
169
|
+
this.changeValue(this.signatureURL);
|
|
170
|
+
}
|
|
171
|
+
this.dialogRef.close(this.signatureURL);
|
|
172
|
+
}
|
|
173
|
+
closeDialog(event) {
|
|
174
|
+
this.dialogRef.close(event);
|
|
175
|
+
}
|
|
176
|
+
errorHandler(event) {
|
|
177
|
+
this.signatureURL = this.src = ''; // this.blankImage;
|
|
178
|
+
}
|
|
179
|
+
changeValue(fileData) {
|
|
180
|
+
this.dataURI = fileData;
|
|
181
|
+
this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';
|
|
182
|
+
this.customizationService.updateFormFieldValue(this.form, this.key, this.dataURI ? this.dataURI.fileExt : '');
|
|
183
|
+
// this.valueChange.emit({
|
|
184
|
+
// key: this.key,
|
|
185
|
+
// value,
|
|
186
|
+
// });
|
|
187
|
+
this.fileChange.emit(fileData);
|
|
188
|
+
// this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);
|
|
189
|
+
}
|
|
190
|
+
onKeyPress_OpenSignModal(event) {
|
|
191
|
+
const e = event;
|
|
192
|
+
if ([13, 32].indexOf(e.which) !== -1) {
|
|
193
|
+
this.openSignModal();
|
|
194
|
+
}
|
|
195
|
+
e.preventDefault();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
PepSignatureComponent.decorators = [
|
|
199
|
+
{ type: Component, args: [{
|
|
200
|
+
selector: 'pep-signature',
|
|
201
|
+
template: "<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template>\n\n</ng-container>",
|
|
202
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
203
|
+
styles: [".pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{position:relative;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);cursor:pointer;padding:1px .25rem}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span{width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img{-o-object-fit:contain;object-fit:contain;max-height:100%;max-height:-webkit-fill-available;max-height:-moz-available;max-height:stretch;max-width:100%;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 .25rem 0 .25rem;border-radius:0 var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem);padding:0;justify-content:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon{vertical-align:middle}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:0;border-radius:.25rem 0 .25rem 0;border-radius:var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem) 0}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature{z-index:6}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{border-radius:0 .25rem .25rem 0;border-radius:0 var(--pep-border-radius-md,.25rem) var(--pep-border-radius-md,.25rem) 0}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:.0625rem;border-radius:.25rem 0 0 .25rem;border-radius:var(--pep-border-radius-md,.25rem) 0 0 var(--pep-border-radius-md,.25rem)}.pep-report-file,.pepperi-report-file{cursor:pointer;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}.pep-file-container,.pepperi-file-container{display:grid}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}:host{display:block}signature-pad{display:grid;width:inherit;height:inherit}", ".pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);cursor:pointer;padding:1px .25rem}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:grid;align-items:center;justify-items:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span{width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img{-o-object-fit:contain;object-fit:contain;max-height:100%;max-height:-webkit-fill-available;max-height:-moz-available;max-height:stretch;max-width:100%;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 .25rem 0 .25rem;border-radius:0 var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem);padding:0;justify-content:center}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon{vertical-align:middle}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:0;border-radius:.25rem 0 .25rem 0;border-radius:var(--pep-border-radius-md,.25rem) 0 var(--pep-border-radius-md,.25rem) 0}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature{z-index:6}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a{display:flex}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{border-radius:0 .25rem .25rem 0;border-radius:0 var(--pep-border-radius-md,.25rem) var(--pep-border-radius-md,.25rem) 0}.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment{right:unset;left:.0625rem;border-radius:.25rem 0 0 .25rem;border-radius:var(--pep-border-radius-md,.25rem) 0 0 var(--pep-border-radius-md,.25rem)}.pep-report-file,.pepperi-report-file{cursor:pointer;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}.pep-file-container,.pepperi-file-container{display:grid}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7);position:relative}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px dashed hsl(0,0%,calc(10% + 30%));border:1px dashed hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),calc(var(--pep-color-system-primary-l, 10%) + 30%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button{color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete{background-color:rgba(26,26,26,.5);background-color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.5)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover{background:#e60000;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%));box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon{fill:rgba(26,26,26,.7);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a{color:#1766a6;color:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon{fill:#1766a6;fill:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after{border:unset}.pep-file-container .modal-dialog .modal-content,.pepperi-file-container .modal-dialog .modal-content{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}"]
|
|
204
|
+
},] }
|
|
205
|
+
];
|
|
206
|
+
PepSignatureComponent.ctorParameters = () => [
|
|
207
|
+
{ type: PepDialogService },
|
|
208
|
+
{ type: PepCustomizationService },
|
|
209
|
+
{ type: PepFileService },
|
|
210
|
+
{ type: ChangeDetectorRef },
|
|
211
|
+
{ type: Renderer2 },
|
|
212
|
+
{ type: ElementRef }
|
|
213
|
+
];
|
|
214
|
+
PepSignatureComponent.propDecorators = {
|
|
215
|
+
key: [{ type: Input }],
|
|
216
|
+
src: [{ type: Input }],
|
|
217
|
+
label: [{ type: Input }],
|
|
218
|
+
mandatory: [{ type: Input }],
|
|
219
|
+
disabled: [{ type: Input }],
|
|
220
|
+
readonly: [{ type: Input }],
|
|
221
|
+
xAlignment: [{ type: Input }],
|
|
222
|
+
rowSpan: [{ type: Input }],
|
|
223
|
+
signatureURL: [{ type: Input }],
|
|
224
|
+
visible: [{ type: Input }],
|
|
225
|
+
form: [{ type: Input }],
|
|
226
|
+
showTitle: [{ type: Input }],
|
|
227
|
+
renderTitle: [{ type: Input }],
|
|
228
|
+
layoutType: [{ type: Input }],
|
|
229
|
+
isActive: [{ type: Input }],
|
|
230
|
+
fileChange: [{ type: Output }],
|
|
231
|
+
signaturePad: [{ type: ViewChild, args: ['signaturePad',] }],
|
|
232
|
+
signaturePopupPad: [{ type: ViewChild, args: ['signaturePopupPad', { read: TemplateRef },] }]
|
|
233
|
+
};
|
|
234
234
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUV2QixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0gsY0FBYyxFQUVkLHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFDNUIsaUJBQWlCLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFTbEUsTUFBTSxPQUFPLHFCQUFxQjtJQW9GOUIsWUFDWSxhQUErQixFQUMvQixvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0IsRUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsT0FBbUI7UUFMbkIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXpGdEIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUEyQiw0QkFBNEIsQ0FBQztRQUVuRSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBVVosaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDM0IsNkJBQTZCO1FBRXJCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFvQnhCLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRWpCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVwQixnQkFBVyxHQUFrQixNQUFNLENBQUM7UUFVbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUcxQixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFPeEQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFZCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUM5Qix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFckIsd0JBQW1CLEdBQVE7WUFDOUIscURBQXFEO1lBQ3JELFFBQVEsRUFBRSxDQUFDO1lBQ1gsV0FBVyxFQUFFLEdBQUc7WUFDaEIsWUFBWSxFQUFFLEdBQUc7WUFDakIsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO0lBU0UsQ0FBQztJQWpGTCxJQUNJLE9BQU8sQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQU1ELElBQ0ksT0FBTyxDQUFDLE9BQWdCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUMxQixnQkFBZ0IsQ0FDbkIsQ0FBQztTQUNMO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQzFCLGdCQUFnQixDQUNuQixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxJQUNJLFVBQVUsQ0FBQyxLQUFvQjtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBcUNPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQzdELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQzFCLHVCQUF1QixDQUFDLDRCQUE0QixDQUN2RCxDQUFDO1lBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUIsdUJBQXVCLENBQUMsdUNBQXVDLENBQ2xFLENBQUM7YUFDTDtTQUNKO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwRCwrQ0FBK0M7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFcEIsdUJBQXVCO1lBQ3ZCLDJFQUEyRTtTQUM5RTtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsRUFBRTtJQUNOLENBQUM7SUFFRCxZQUFZO1FBQ1IseURBQXlEO0lBQzdELENBQUM7SUFFRCxTQUFTO1FBQ0wsMkRBQTJEO0lBQy9ELENBQUM7SUFFRCxhQUFhO1FBQ1QseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVuRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FDOUMsTUFBTSxFQUNOLFdBQVcsQ0FDZCxDQUFDO2dCQUNGLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQzthQUMzQjtZQUNELDJCQUEyQjtTQUM5QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLEVBQUU7UUFDckIsSUFBSSxDQUFDLGFBQWE7WUFDZCxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVqRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3RCxNQUFNLFNBQVMsR0FBRztnQkFDZCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CO2FBQ3BDLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQjtJQUMxRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWE7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUMxQyxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDM0MsQ0FBQztRQUNGLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLE1BQU07UUFFTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixzRUFBc0U7SUFDMUUsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVU7UUFDL0IsTUFBTSxDQUFDLEdBQUcsS0FBc0IsQ0FBQztRQUVqQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OztZQXpRSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBRXpCLGtoUUFBeUM7Z0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBUlEsZ0JBQWdCO1lBTHJCLHVCQUF1QjtZQUZ2QixjQUFjO1lBVmQsaUJBQWlCO1lBSWpCLFNBQVM7WUFEVCxVQUFVOzs7a0JBd0JULEtBQUs7a0JBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBR0wsS0FBSzsyQkFTTCxLQUFLO3NCQUlMLEtBQUs7bUJBcUJMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUdMLEtBQUs7dUJBU0wsS0FBSzt5QkFFTCxNQUFNOzJCQUdOLFNBQVMsU0FBQyxjQUFjO2dDQUN4QixTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPbkNoYW5nZXMsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkIH0gZnJvbSAnbmd4LXNpZ25hdHVyZXBhZC9zaWduYXR1cmUtcGFkJztcbmltcG9ydCB7XG4gICAgUGVwRmlsZVNlcnZpY2UsXG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICBQZXBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXG4gICAgUGVwU2lnbmF0dXJlRmllbGQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtc2lnbmF0dXJlJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWduYXR1cmUuY29tcG9uZW50LnNjc3MnLCAnLi9zaWduYXR1cmUuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGVwU2lnbmF0dXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgc3JjID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG5cbiAgICBwcml2YXRlIF9yb3dTcGFuID0gMTtcbiAgICBASW5wdXQoKVxuICAgIHNldCByb3dTcGFuKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Jvd1NwYW4gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRGaWVsZEhlaWdodCgpO1xuICAgIH1cbiAgICBnZXQgcm93U3BhbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93U3BhbjtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzaWduYXR1cmVVUkwgPSAnJztcbiAgICAvLyBASW5wdXQoKSBpbkRpYWxvZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdzaWduYXR1cmUnO1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbnVsbDtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2xheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0VHlwZSh2YWx1ZTogUGVwTGF5b3V0VHlwZSkge1xuICAgICAgICB0aGlzLl9sYXlvdXRUeXBlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IGxheW91dFR5cGUoKTogUGVwTGF5b3V0VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXlvdXRUeXBlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBmaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2lnbmF0dXJlUGFkJykgc2lnbmF0dXJlUGFkOiBTaWduYXR1cmVQYWQ7XG4gICAgQFZpZXdDaGlsZCgnc2lnbmF0dXJlUG9wdXBQYWQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgc2lnbmF0dXJlUG9wdXBQYWQ6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PjtcblxuICAgIGZpZWxkSGVpZ2h0ID0gJyc7XG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuICAgIGRhdGFVUkkgPSBudWxsO1xuICAgIHNob3dBY3Rpb25CdG4gPSB0cnVlO1xuXG4gICAgcHVibGljIGlzVmlzaWJsZU1vZGFsID0gZmFsc2U7XG4gICAgYWNjZXB0U2lnbmF0dXJlVHlwZSA9ICdwbmcnO1xuXG4gICAgcHVibGljIHNpZ25hdHVyZVBhZE9wdGlvbnM6IGFueSA9IHtcbiAgICAgICAgLy8gcGFzc2VkIHRocm91Z2ggdG8gc3ppbWVrL3NpZ25hdHVyZV9wYWQgY29uc3RydWN0b3JcbiAgICAgICAgbWluV2lkdGg6IDIsXG4gICAgICAgIGNhbnZhc1dpZHRoOiA1MDAsXG4gICAgICAgIGNhbnZhc0hlaWdodDogMzAwLFxuICAgICAgICBwZW5Db2xvcjogJ3JnYigxNTEsIDE1MSwgMTUxKScsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmXG4gICAgKSB7IH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUeXBlLFxuICAgICAgICAgICAgdGhpcy5yb3dTcGFuLFxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwU2lnbmF0dXJlRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNyYyxcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHBlcEZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyVGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfTk9fU1BBQ0lOR19DTEFTU19OQU1FXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5zcmMgJiYgY2hhbmdlcy5zcmMuY3VycmVudFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIEVtcHR5IGRhdGFVUkkgaWYgdGhlcmUgaXMgY2hhbmdlIGluIHRoZSBzcmMuXG4gICAgICAgICAgICB0aGlzLmRhdGFVUkkgPSBudWxsO1xuXG4gICAgICAgICAgICAvLyBGb3IgY2xlYW4gdGhlIGNhY2hlLlxuICAgICAgICAgICAgLy8gdGhpcy5zcmMgPSB0aGlzLnNyYyA/IHRoaXMuc3JjICsgJz90PScgKyBuZXcgRGF0ZSgpLnRvVGltZVN0cmluZygpIDogJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBkcmF3Q29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIC8vIHdpbGwgYmUgbm90aWZpZWQgb2Ygc3ppbWVrL3NpZ25hdHVyZV9wYWQncyBvbkVuZCBldmVudFxuICAgIH1cblxuICAgIGRyYXdTdGFydCgpOiB2b2lkIHtcbiAgICAgICAgLy8gd2lsbCBiZSBub3RpZmllZCBvZiBzemltZWsvc2lnbmF0dXJlX3BhZCdzIG9uQmVnaW4gZXZlbnRcbiAgICB9XG5cbiAgICBvcGVuU2lnbk1vZGFsKCk6IHZvaWQge1xuICAgICAgICAvLyBJZiB0aGUgc2lnbmF0dXJlIGlzIG5vdCBlbXB0eSBvcGVuIGl0IGluIGltYWdlIHZpZXdlci5cbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSAmJiB0aGlzLmRhdGFVUkkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVTdHJBcnIgPSB0aGlzLmRhdGFVUkkuZmlsZVN0ci5zcGxpdCgnOycpO1xuXG4gICAgICAgICAgICBpZiAoZmlsZVN0ckFyci5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aW4gPSB3aW5kb3cub3BlbignJywgJ19ibGFuaycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZmlsZVN0ckFyclswXS5zcGxpdCgnOicpWzFdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGZpbGVTdHJBcnJbMV0uc3BsaXQoJywnKVsxXTtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gdGhpcy5maWxlU2VydmljZS5jb252ZXJ0RnJvbWI2NHRvQmxvYihcbiAgICAgICAgICAgICAgICAgICAgYmFzZTY0LFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VHlwZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICAgICAgICB3aW4ubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHNpZ25hdHVyZSBhbGxyZWFkeSBleGl0c1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVVUkwgPSB0aGlzLnNyYztcbiAgICAgICAgICAgIHRoaXMub3BlblNpZ25hdG9yZURsZyh0aGlzLnNpZ25hdHVyZVVSTCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuU2lnbmF0b3JlRGxnKHNyYyA9ICcnKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0FjdGlvbkJ0biA9XG4gICAgICAgICAgICB0aGlzLnNpZ25hdHVyZVVSTCAmJiB0aGlzLnNpZ25hdHVyZVVSTCAhPT0gJycgPyBmYWxzZSA6IHRydWU7XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyh0aGlzLnNpZ25hdHVyZVBvcHVwUGFkKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZnRlckRpYWxvZ09wZW5lZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmF0dXJlVVJMICYmIHRoaXMuc2lnbmF0dXJlVVJMICE9PSAnJykge1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuZnJvbURhdGFVUkwodGhpcy5zaWduYXR1cmVVUkwpO1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub2ZmKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclNpZ25Nb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVVUkwgPSAnJztcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub24oKTtcbiAgICB9XG5cbiAgICBkZWxldGVTaWduYXR1cmUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZ25hdHVyZVVSTCA9ICcnO1xuICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2lnbmF0dXJlVVJMKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2F2ZVNpZ25Nb2RhbChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zaWduYXR1cmVQYWQuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICB0aGlzLnNpZ25hdHVyZVVSTCA9IHRoaXMuc2lnbmF0dXJlUGFkLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJyk7XG4gICAgICAgICAgICBjb25zdCBmaWxlVmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zOiB0aGlzLmFjY2VwdFNpZ25hdHVyZVR5cGUsXG4gICAgICAgICAgICAgICAgZmlsZVN0cjogdGhpcy5zaWduYXR1cmVVUkwsXG4gICAgICAgICAgICAgICAgZmlsZUV4dDogdGhpcy5hY2NlcHRTaWduYXR1cmVUeXBlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUoZmlsZVZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gJyc7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2lnbmF0dXJlVVJMKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc2lnbmF0dXJlVVJMKTtcbiAgICB9XG4gICAgXG4gICAgY2xvc2VEaWFsb2coZXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZXZlbnQpO1xuICAgIH1cblxuICAgIGVycm9ySGFuZGxlcihldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gdGhpcy5zcmMgPSAnJzsgLy8gdGhpcy5ibGFua0ltYWdlO1xuICAgIH1cblxuICAgIGNoYW5nZVZhbHVlKGZpbGVEYXRhOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhVVJJID0gZmlsZURhdGE7XG4gICAgICAgIHRoaXMuc3JjID0gdGhpcy5zdGFuZEFsb25lICYmIHRoaXMuZGF0YVVSSSA/IHRoaXMuZGF0YVVSSS5maWxlU3RyIDogJyc7XG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgIHRoaXMuZGF0YVVSSSA/IHRoaXMuZGF0YVVSSS5maWxlRXh0IDogJydcbiAgICAgICAgKTtcbiAgICAgICAgLy8gdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgLy8gICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgIC8vICAgICB2YWx1ZSxcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZURhdGEpO1xuICAgICAgICAvLyB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh2YWx1ZS5sZW5ndGggPiAwID8gSlNPTi5wYXJzZSh2YWx1ZSkgOiB2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25LZXlQcmVzc19PcGVuU2lnbk1vZGFsKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XG5cbiAgICAgICAgaWYgKFsxMywgMzJdLmluZGV4T2YoZS53aGljaCkgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5TaWduTW9kYWwoKTtcbiAgICAgICAgfVxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxufSJdfQ==
|