slick-components 5.0.28 → 17.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/public-api.mjs +44 -44
- package/{esm2020 → esm2022}/slick-accordion/slick-accordion-item-header.component.mjs +14 -14
- package/esm2022/slick-accordion/slick-accordion-item.component.mjs +92 -0
- package/{esm2020 → esm2022}/slick-accordion/slick-accordion.component.mjs +80 -80
- package/{esm2020 → esm2022}/slick-accordion/slick-accordion.module.mjs +23 -23
- package/{esm2020 → esm2022}/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -22
- package/esm2022/slick-auto-complete/slick-auto-complete.component.mjs +388 -0
- package/{esm2020 → esm2022}/slick-auto-complete/slick-auto-complete.module.mjs +25 -25
- package/esm2022/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
- package/{esm2020 → esm2022}/slick-button-spinner/slick-button-spinner.module.mjs +19 -19
- package/esm2022/slick-calendar/slick-calendar.component.mjs +271 -0
- package/{esm2020 → esm2022}/slick-calendar/slick-calendar.module.mjs +19 -19
- package/{esm2020 → esm2022}/slick-card/slick-card-header.component.mjs +14 -14
- package/esm2022/slick-card/slick-card.component.mjs +42 -0
- package/{esm2020 → esm2022}/slick-card/slick-card.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-components.mjs +4 -4
- package/{esm2020 → esm2022}/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -65
- package/{esm2020 → esm2022}/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-container/slick-container-body.component.mjs +24 -24
- package/{esm2020 → esm2022}/slick-container/slick-container-footer.component.mjs +20 -20
- package/{esm2020 → esm2022}/slick-container/slick-container-header.component.mjs +20 -20
- package/{esm2020 → esm2022}/slick-container/slick-container.component.mjs +21 -21
- package/{esm2020 → esm2022}/slick-container/slick-container.module.mjs +25 -25
- package/{esm2020 → esm2022}/slick-context-menu/slick-context-menu-item.component.mjs +14 -14
- package/esm2022/slick-context-menu/slick-context-menu.component.mjs +48 -0
- package/{esm2020 → esm2022}/slick-context-menu/slick-context-menu.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-currency-mask/slick-currency-mask-options.model.mjs +11 -11
- package/esm2022/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
- package/{esm2020 → esm2022}/slick-currency-mask/slick-currency-mask.module.mjs +19 -19
- package/esm2022/slick-date-picker/slick-date-picker.component.mjs +278 -0
- package/{esm2020 → esm2022}/slick-date-picker/slick-date-picker.module.mjs +21 -21
- package/{esm2020 → esm2022}/slick-dialog/slick-dialog-footer.component.mjs +24 -24
- package/esm2022/slick-dialog/slick-dialog.component.mjs +294 -0
- package/{esm2020 → esm2022}/slick-dialog/slick-dialog.module.mjs +23 -23
- package/esm2022/slick-dialog/slick-dialog.service.mjs +68 -0
- package/{esm2020 → esm2022}/slick-drag-drop/slick-drag-drop.directive.mjs +13 -13
- package/{esm2020 → esm2022}/slick-drag-drop/slick-drag-drop.module.mjs +21 -21
- package/{esm2020 → esm2022}/slick-drag-drop/slick-draggable.directive.mjs +13 -13
- package/{esm2020 → esm2022}/slick-drop-down/slick-drop-down-button.model.mjs +7 -7
- package/esm2022/slick-drop-down/slick-drop-down.component.mjs +447 -0
- package/{esm2020 → esm2022}/slick-drop-down/slick-drop-down.module.mjs +24 -24
- package/esm2022/slick-drop-down/slick-drop-down.service.mjs +55 -0
- package/{esm2020 → esm2022}/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -18
- package/{esm2020 → esm2022}/slick-drop-list/slick-drop-list-item.directive.mjs +18 -18
- package/esm2022/slick-drop-list/slick-drop-list.directive.mjs +215 -0
- package/{esm2020 → esm2022}/slick-drop-list/slick-drop-list.module.mjs +23 -23
- package/{esm2020 → esm2022}/slick-email-viewer/slick-email-viewer-dialog.component.mjs +62 -62
- package/esm2022/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
- package/{esm2020 → esm2022}/slick-email-viewer/slick-email-viewer.module.mjs +26 -26
- package/{esm2020 → esm2022}/slick-emailer/slick-emailer-address.model.mjs +2 -2
- package/esm2022/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
- package/esm2022/slick-emailer/slick-emailer.component.mjs +235 -0
- package/{esm2020 → esm2022}/slick-emailer/slick-emailer.model.mjs +2 -2
- package/{esm2020 → esm2022}/slick-emailer/slick-emailer.module.mjs +29 -29
- package/esm2022/slick-file-drop/slick-file-drop.component.mjs +156 -0
- package/{esm2020 → esm2022}/slick-file-drop/slick-file-drop.module.mjs +20 -20
- package/esm2022/slick-file-list/slick-file-list-item.component.mjs +190 -0
- package/esm2022/slick-file-list/slick-file-list.component.mjs +130 -0
- package/{esm2020 → esm2022}/slick-file-list/slick-file-list.module.mjs +23 -23
- package/{esm2020 → esm2022}/slick-file-model/slick-file.model.mjs +2 -2
- package/esm2022/slick-google-address-search/slick-google-address-search.directive.mjs +78 -0
- package/{esm2020 → esm2022}/slick-google-address-search/slick-google-address-search.module.mjs +19 -19
- package/esm2022/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
- package/esm2022/slick-google-map/slick-google-map.component.mjs +48 -0
- package/{esm2020 → esm2022}/slick-google-map/slick-google-map.module.mjs +22 -22
- package/{esm2020 → esm2022}/slick-grid/slick-grid-column-template.directive.mjs +19 -19
- package/{esm2020 → esm2022}/slick-grid/slick-grid-column.model.mjs +66 -66
- package/{esm2020 → esm2022}/slick-grid/slick-grid-favorite.model.mjs +2 -2
- package/{esm2020 → esm2022}/slick-grid/slick-grid-request.model.mjs +2 -2
- package/{esm2020 → esm2022}/slick-grid/slick-grid-response.model.mjs +2 -2
- package/{esm2020 → esm2022}/slick-grid/slick-grid-sanitize.pipe.mjs +20 -20
- package/esm2022/slick-grid/slick-grid.component.mjs +793 -0
- package/{esm2020 → esm2022}/slick-grid/slick-grid.module.mjs +43 -43
- package/{esm2020 → esm2022}/slick-grid/slick-grid.options.mjs +11 -11
- package/esm2022/slick-grid/slick-grid.service.mjs +66 -0
- package/esm2022/slick-multi-select/slick-multi-select.component.mjs +415 -0
- package/{esm2020 → esm2022}/slick-multi-select/slick-multi-select.module.mjs +20 -20
- package/esm2022/slick-multi-select/slick-multi-select.service.mjs +78 -0
- package/esm2022/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
- package/{esm2020 → esm2022}/slick-ordered-list/slick-ordered-list.module.mjs +20 -20
- package/esm2022/slick-paging/slick-paging.component.mjs +185 -0
- package/{esm2020 → esm2022}/slick-paging/slick-paging.module.mjs +19 -19
- package/esm2022/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
- package/{esm2020 → esm2022}/slick-photo-gallery/slick-photo-gallery.model.mjs +2 -2
- package/{esm2020 → esm2022}/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -21
- package/{esm2020 → esm2022}/slick-pick-list/slick-pick-list.component.mjs +84 -84
- package/{esm2020 → esm2022}/slick-pick-list/slick-pick-list.module.mjs +20 -20
- package/esm2022/slick-popover/slick-popover.component.mjs +204 -0
- package/{esm2020 → esm2022}/slick-popover/slick-popover.module.mjs +19 -19
- package/esm2022/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
- package/{esm2020 → esm2022}/slick-profile-picture/slick-profile-picture.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-progress-bar/slick-progress-bar.module.mjs +18 -18
- package/esm2022/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
- package/{esm2020 → esm2022}/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -18
- package/esm2022/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
- package/esm2022/slick-search-bar/slick-search-bar.component.mjs +130 -0
- package/{esm2020 → esm2022}/slick-search-bar/slick-search-bar.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-slider/slick-slider-tick.model.mjs +2 -2
- package/esm2022/slick-slider/slick-slider.component.mjs +90 -0
- package/{esm2020 → esm2022}/slick-slider/slick-slider.module.mjs +20 -20
- package/{esm2020 → esm2022}/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -15
- package/{esm2020 → esm2022}/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -15
- package/esm2022/slick-split-screen/slick-split-screen.component.mjs +159 -0
- package/{esm2020 → esm2022}/slick-split-screen/slick-split-screen.module.mjs +21 -21
- package/esm2022/slick-star-rating/slick-star-rating.component.mjs +91 -0
- package/{esm2020 → esm2022}/slick-star-rating/slick-star-rating.module.mjs +21 -21
- package/{esm2020 → esm2022}/slick-tabs/slick-tab-header.component.mjs +28 -28
- package/esm2022/slick-tabs/slick-tab.component.mjs +63 -0
- package/{esm2020 → esm2022}/slick-tabs/slick-tab.model.mjs +2 -2
- package/esm2022/slick-tabs/slick-tabs.component.mjs +107 -0
- package/{esm2020 → esm2022}/slick-tabs/slick-tabs.module.mjs +23 -23
- package/{esm2020 → esm2022}/slick-toast/slick-toast.module.mjs +18 -18
- package/esm2022/slick-toast/slick-toast.service.mjs +88 -0
- package/esm2022/slick-tree-view/slick-tree-node.model.mjs +18 -0
- package/esm2022/slick-tree-view/slick-tree-view.component.mjs +293 -0
- package/{esm2020 → esm2022}/slick-tree-view/slick-tree-view.module.mjs +22 -22
- package/esm2022/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
- package/{esm2020 → esm2022}/slick-type-ahead/slick-type-ahead.module.mjs +18 -18
- package/esm2022/slick-validation-indicator/slick-validation-indicator.directive.mjs +66 -0
- package/{esm2020 → esm2022}/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -19
- package/esm2022/utils/slick-function-lock.service.mjs +55 -0
- package/esm2022/utils/slick-init.service.mjs +49 -0
- package/{esm2020 → esm2022}/utils/slick-log.service.mjs +23 -23
- package/{esm2020 → esm2022}/utils/slick-sleep.service.mjs +14 -14
- package/esm2022/utils/slick-utils.service.mjs +247 -0
- package/{fesm2020 → fesm2022}/slick-components.mjs +8495 -8495
- package/fesm2022/slick-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/package.json +11 -17
- package/public-api.d.ts +41 -41
- package/slick-accordion/slick-accordion-item-header.component.d.ts +5 -5
- package/slick-accordion/slick-accordion-item.component.d.ts +24 -24
- package/slick-accordion/slick-accordion.component.d.ts +22 -22
- package/slick-accordion/slick-accordion.module.d.ts +16 -16
- package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +10 -10
- package/slick-auto-complete/slick-auto-complete.component.d.ts +60 -60
- package/slick-auto-complete/slick-auto-complete.module.d.ts +15 -15
- package/slick-button-spinner/slick-button-spinner.component.d.ts +28 -28
- package/slick-button-spinner/slick-button-spinner.module.d.ts +10 -10
- package/slick-calendar/slick-calendar.component.d.ts +53 -53
- package/slick-calendar/slick-calendar.module.d.ts +10 -10
- package/slick-card/slick-card-header.component.d.ts +5 -5
- package/slick-card/slick-card.component.d.ts +13 -13
- package/slick-card/slick-card.module.d.ts +12 -12
- package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +26 -26
- package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +11 -11
- package/slick-container/slick-container-body.component.d.ts +7 -7
- package/slick-container/slick-container-footer.component.d.ts +6 -6
- package/slick-container/slick-container-header.component.d.ts +6 -6
- package/slick-container/slick-container.component.d.ts +8 -8
- package/slick-container/slick-container.module.d.ts +19 -19
- package/slick-context-menu/slick-context-menu-item.component.d.ts +5 -5
- package/slick-context-menu/slick-context-menu.component.d.ts +13 -13
- package/slick-context-menu/slick-context-menu.module.d.ts +12 -12
- package/slick-currency-mask/slick-currency-mask-options.model.d.ts +10 -10
- package/slick-currency-mask/slick-currency-mask.directive.d.ts +29 -29
- package/slick-currency-mask/slick-currency-mask.module.d.ts +10 -10
- package/slick-date-picker/slick-date-picker.component.d.ts +45 -45
- package/slick-date-picker/slick-date-picker.module.d.ts +12 -12
- package/slick-dialog/slick-dialog-footer.component.d.ts +7 -7
- package/slick-dialog/slick-dialog.component.d.ts +56 -56
- package/slick-dialog/slick-dialog.module.d.ts +13 -13
- package/slick-dialog/slick-dialog.service.d.ts +17 -17
- package/slick-drag-drop/slick-drag-drop.directive.d.ts +5 -5
- package/slick-drag-drop/slick-drag-drop.module.d.ts +13 -13
- package/slick-drag-drop/slick-draggable.directive.d.ts +5 -5
- package/slick-drop-down/slick-drop-down-button.model.d.ts +13 -13
- package/slick-drop-down/slick-drop-down.component.d.ts +78 -78
- package/slick-drop-down/slick-drop-down.module.d.ts +14 -14
- package/slick-drop-down/slick-drop-down.service.d.ts +12 -12
- package/slick-drop-list/slick-drop-list-grab.directive.d.ts +7 -7
- package/slick-drop-list/slick-drop-list-item.directive.d.ts +7 -7
- package/slick-drop-list/slick-drop-list.directive.d.ts +33 -33
- package/slick-drop-list/slick-drop-list.module.d.ts +16 -16
- package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +19 -19
- package/slick-email-viewer/slick-email-viewer.component.d.ts +13 -13
- package/slick-email-viewer/slick-email-viewer.module.d.ts +18 -18
- package/slick-emailer/slick-emailer-address.model.d.ts +10 -10
- package/slick-emailer/slick-emailer-dialog.component.d.ts +33 -33
- package/slick-emailer/slick-emailer.component.d.ts +50 -50
- package/slick-emailer/slick-emailer.model.d.ts +16 -16
- package/slick-emailer/slick-emailer.module.d.ts +21 -21
- package/slick-file-drop/slick-file-drop.component.d.ts +25 -25
- package/slick-file-drop/slick-file-drop.module.d.ts +11 -11
- package/slick-file-list/slick-file-list-item.component.d.ts +37 -37
- package/slick-file-list/slick-file-list.component.d.ts +31 -31
- package/slick-file-list/slick-file-list.module.d.ts +14 -14
- package/slick-file-model/slick-file.model.d.ts +28 -28
- package/slick-google-address-search/slick-google-address-search.directive.d.ts +16 -17
- package/slick-google-address-search/slick-google-address-search.module.d.ts +10 -10
- package/slick-google-map/slick-google-map-dialog.component.d.ts +15 -16
- package/slick-google-map/slick-google-map.component.d.ts +17 -18
- package/slick-google-map/slick-google-map.module.d.ts +14 -14
- package/slick-grid/slick-grid-column-template.directive.d.ts +9 -9
- package/slick-grid/slick-grid-column.model.d.ts +64 -64
- package/slick-grid/slick-grid-favorite.model.d.ts +9 -9
- package/slick-grid/slick-grid-request.model.d.ts +33 -33
- package/slick-grid/slick-grid-response.model.d.ts +8 -8
- package/slick-grid/slick-grid-sanitize.pipe.d.ts +10 -10
- package/slick-grid/slick-grid.component.d.ts +119 -119
- package/slick-grid/slick-grid.module.d.ts +32 -32
- package/slick-grid/slick-grid.options.d.ts +35 -35
- package/slick-grid/slick-grid.service.d.ts +12 -12
- package/slick-multi-select/slick-multi-select.component.d.ts +69 -69
- package/slick-multi-select/slick-multi-select.module.d.ts +11 -11
- package/slick-multi-select/slick-multi-select.service.d.ts +9 -9
- package/slick-ordered-list/slick-ordered-list.component.d.ts +28 -28
- package/slick-ordered-list/slick-ordered-list.module.d.ts +11 -11
- package/slick-paging/slick-paging.component.d.ts +31 -31
- package/slick-paging/slick-paging.module.d.ts +10 -10
- package/slick-photo-gallery/slick-photo-gallery.component.d.ts +26 -26
- package/slick-photo-gallery/slick-photo-gallery.model.d.ts +8 -8
- package/slick-photo-gallery/slick-photo-gallery.module.d.ts +12 -12
- package/slick-pick-list/slick-pick-list.component.d.ts +24 -24
- package/slick-pick-list/slick-pick-list.module.d.ts +11 -11
- package/slick-popover/slick-popover.component.d.ts +39 -39
- package/slick-popover/slick-popover.module.d.ts +10 -10
- package/slick-profile-picture/slick-profile-picture.component.d.ts +29 -29
- package/slick-profile-picture/slick-profile-picture.module.d.ts +11 -11
- package/slick-progress-bar/slick-progress-bar.module.d.ts +9 -9
- package/slick-progress-bar/slick-progress-bar.service.d.ts +12 -12
- package/slick-screen-blocker/slick-screen-blocker.module.d.ts +9 -9
- package/slick-screen-blocker/slick-screen-blocker.service.d.ts +16 -16
- package/slick-search-bar/slick-search-bar.component.d.ts +37 -37
- package/slick-search-bar/slick-search-bar.module.d.ts +11 -11
- package/slick-slider/slick-slider-tick.model.d.ts +10 -10
- package/slick-slider/slick-slider.component.d.ts +29 -29
- package/slick-slider/slick-slider.module.d.ts +11 -11
- package/slick-split-screen/slick-screen-split-left-content.component.d.ts +6 -6
- package/slick-split-screen/slick-screen-split-right-content.component.d.ts +6 -6
- package/slick-split-screen/slick-split-screen.component.d.ts +40 -40
- package/slick-split-screen/slick-split-screen.module.d.ts +14 -14
- package/slick-star-rating/slick-star-rating.component.d.ts +28 -28
- package/slick-star-rating/slick-star-rating.module.d.ts +12 -12
- package/slick-tabs/slick-tab-header.component.d.ts +12 -12
- package/slick-tabs/slick-tab.component.d.ts +22 -22
- package/slick-tabs/slick-tab.model.d.ts +10 -10
- package/slick-tabs/slick-tabs.component.d.ts +25 -25
- package/slick-tabs/slick-tabs.module.d.ts +16 -16
- package/slick-toast/slick-toast.module.d.ts +9 -9
- package/slick-toast/slick-toast.service.d.ts +16 -16
- package/slick-tree-view/slick-tree-node.model.d.ts +30 -30
- package/slick-tree-view/slick-tree-view.component.d.ts +62 -62
- package/slick-tree-view/slick-tree-view.module.d.ts +13 -13
- package/slick-type-ahead/slick-type-ahead.directive.d.ts +25 -25
- package/slick-type-ahead/slick-type-ahead.module.d.ts +9 -9
- package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +22 -22
- package/slick-validation-indicator/slick-validation-indicator.module.d.ts +10 -10
- package/utils/slick-function-lock.service.d.ts +9 -9
- package/utils/slick-init.service.d.ts +21 -21
- package/utils/slick-log.service.d.ts +9 -9
- package/utils/slick-sleep.service.d.ts +6 -6
- package/utils/slick-utils.service.d.ts +24 -24
- package/esm2020/slick-accordion/slick-accordion-item.component.mjs +0 -92
- package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +0 -388
- package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +0 -175
- package/esm2020/slick-calendar/slick-calendar.component.mjs +0 -271
- package/esm2020/slick-card/slick-card.component.mjs +0 -42
- package/esm2020/slick-context-menu/slick-context-menu.component.mjs +0 -48
- package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +0 -233
- package/esm2020/slick-date-picker/slick-date-picker.component.mjs +0 -278
- package/esm2020/slick-dialog/slick-dialog.component.mjs +0 -294
- package/esm2020/slick-dialog/slick-dialog.service.mjs +0 -68
- package/esm2020/slick-drop-down/slick-drop-down.component.mjs +0 -447
- package/esm2020/slick-drop-down/slick-drop-down.service.mjs +0 -55
- package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +0 -215
- package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +0 -42
- package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +0 -153
- package/esm2020/slick-emailer/slick-emailer.component.mjs +0 -235
- package/esm2020/slick-file-drop/slick-file-drop.component.mjs +0 -156
- package/esm2020/slick-file-list/slick-file-list-item.component.mjs +0 -190
- package/esm2020/slick-file-list/slick-file-list.component.mjs +0 -130
- package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +0 -78
- package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +0 -50
- package/esm2020/slick-google-map/slick-google-map.component.mjs +0 -48
- package/esm2020/slick-grid/slick-grid.component.mjs +0 -793
- package/esm2020/slick-grid/slick-grid.service.mjs +0 -66
- package/esm2020/slick-multi-select/slick-multi-select.component.mjs +0 -415
- package/esm2020/slick-multi-select/slick-multi-select.service.mjs +0 -78
- package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +0 -200
- package/esm2020/slick-paging/slick-paging.component.mjs +0 -185
- package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +0 -98
- package/esm2020/slick-popover/slick-popover.component.mjs +0 -204
- package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +0 -267
- package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +0 -53
- package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +0 -83
- package/esm2020/slick-search-bar/slick-search-bar.component.mjs +0 -130
- package/esm2020/slick-slider/slick-slider.component.mjs +0 -90
- package/esm2020/slick-split-screen/slick-split-screen.component.mjs +0 -159
- package/esm2020/slick-star-rating/slick-star-rating.component.mjs +0 -91
- package/esm2020/slick-tabs/slick-tab.component.mjs +0 -63
- package/esm2020/slick-tabs/slick-tabs.component.mjs +0 -107
- package/esm2020/slick-toast/slick-toast.service.mjs +0 -88
- package/esm2020/slick-tree-view/slick-tree-node.model.mjs +0 -18
- package/esm2020/slick-tree-view/slick-tree-view.component.mjs +0 -293
- package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +0 -164
- package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +0 -66
- package/esm2020/utils/slick-function-lock.service.mjs +0 -55
- package/esm2020/utils/slick-init.service.mjs +0 -49
- package/esm2020/utils/slick-utils.service.mjs +0 -247
- package/fesm2015/slick-components.mjs +0 -9084
- package/fesm2015/slick-components.mjs.map +0 -1
- package/fesm2020/slick-components.mjs.map +0 -1
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from "@angular/core";
|
|
2
|
-
import { SlickDialogService } from "./slick-dialog.service";
|
|
3
|
-
import { SlickSleepService } from "../utils/slick-sleep.service";
|
|
4
|
-
import { SlickInitService } from "../utils/slick-init.service";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./slick-dialog.service";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "angular2-draggable";
|
|
9
|
-
export class SlickDialogComponent {
|
|
10
|
-
constructor(dialogService) {
|
|
11
|
-
this.dialogService = dialogService;
|
|
12
|
-
this.draggable = true;
|
|
13
|
-
this.resizable = true;
|
|
14
|
-
this.minimizable = true;
|
|
15
|
-
this.showHeader = true;
|
|
16
|
-
this.noPadding = false;
|
|
17
|
-
this.top = 80;
|
|
18
|
-
this.width = 600;
|
|
19
|
-
this.height = 0;
|
|
20
|
-
this.maxHeight = 0;
|
|
21
|
-
this.showOverlay = true;
|
|
22
|
-
this.disableScrollbar = false;
|
|
23
|
-
this.onClose = new EventEmitter();
|
|
24
|
-
this.fnResize = () => this.resize();
|
|
25
|
-
this.showDialog_internal = false;
|
|
26
|
-
this.isDialogVisible = false;
|
|
27
|
-
this.isBodyVisible = false;
|
|
28
|
-
this.hasFooter = false;
|
|
29
|
-
this.zIndex = 0;
|
|
30
|
-
this.inBounds = true;
|
|
31
|
-
this.isMaximized = false;
|
|
32
|
-
this.isMinimized = false;
|
|
33
|
-
this.positionXOffset = 0;
|
|
34
|
-
this.positionYOffset = 0;
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.loadPositionAndSize();
|
|
38
|
-
}
|
|
39
|
-
ngOnChanges(changes) {
|
|
40
|
-
if (changes.draggable)
|
|
41
|
-
this.draggable = (this.draggable.toString().toLowerCase() === 'false') ? false : true;
|
|
42
|
-
if (changes.resizable)
|
|
43
|
-
this.resizable = (this.resizable.toString().toLowerCase() === 'false') ? false : true;
|
|
44
|
-
if (changes.minimizable)
|
|
45
|
-
this.minimizable = (this.minimizable.toString().toLowerCase() === 'false') ? false : true;
|
|
46
|
-
if (changes.showHeader)
|
|
47
|
-
this.showHeader = (this.showHeader.toString().toLowerCase() === 'false') ? false : true;
|
|
48
|
-
if (changes.noPadding)
|
|
49
|
-
this.noPadding = (this.noPadding.toString().toLowerCase() === 'true') ? true : false;
|
|
50
|
-
if (changes.top)
|
|
51
|
-
this.top = parseInt(this.top.toString());
|
|
52
|
-
if (changes.width)
|
|
53
|
-
this.width = parseInt(this.width.toString());
|
|
54
|
-
if (changes.height)
|
|
55
|
-
this.height = parseInt(this.height.toString());
|
|
56
|
-
if (changes.maxHeight)
|
|
57
|
-
this.maxHeight = parseInt(this.maxHeight.toString());
|
|
58
|
-
if (changes.showOverlay)
|
|
59
|
-
this.showOverlay = (this.showOverlay.toString().toLowerCase() === 'false') ? false : true;
|
|
60
|
-
if (changes.disableScrollbar)
|
|
61
|
-
this.disableScrollbar = (this.disableScrollbar.toString().toLowerCase() === 'true') ? true : false;
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
window.removeEventListener("resize", this.fnResize, true);
|
|
65
|
-
// It's fine if this fails. It just means they were already removed
|
|
66
|
-
try {
|
|
67
|
-
document.body.removeChild(this.containerRef.nativeElement);
|
|
68
|
-
document.body.removeChild(this.overlayEl);
|
|
69
|
-
}
|
|
70
|
-
catch { }
|
|
71
|
-
this.overlayEl = null;
|
|
72
|
-
}
|
|
73
|
-
onMoveEnd(event) {
|
|
74
|
-
this.positionXOffset = event.x;
|
|
75
|
-
this.positionYOffset = event.y;
|
|
76
|
-
this.updatePositionAndSize();
|
|
77
|
-
}
|
|
78
|
-
onResizeStop(event) {
|
|
79
|
-
this.width = event.size.width;
|
|
80
|
-
this.height = event.size.height;
|
|
81
|
-
this.updatePositionAndSize();
|
|
82
|
-
}
|
|
83
|
-
updatePositionAndSize() {
|
|
84
|
-
const state = {
|
|
85
|
-
positionXOffset: this.positionXOffset,
|
|
86
|
-
positionYOffset: this.positionYOffset,
|
|
87
|
-
width: this.width,
|
|
88
|
-
height: this.height
|
|
89
|
-
};
|
|
90
|
-
this.position = {
|
|
91
|
-
x: this.positionXOffset,
|
|
92
|
-
y: this.positionYOffset
|
|
93
|
-
};
|
|
94
|
-
if (this.key) {
|
|
95
|
-
localStorage.setItem(`DIALOG_STATE_${this.key}`, JSON.stringify(state));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
loadPositionAndSize() {
|
|
99
|
-
if (!this.key && SlickInitService.getParams().errorLog === "verbose") {
|
|
100
|
-
console.error("Storage Key ([key] parameter) is not provided for Slick Dialog. Persisting state is disabled.");
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const state = JSON.parse(localStorage.getItem(`DIALOG_STATE_${this.key}`));
|
|
104
|
-
if (state) {
|
|
105
|
-
this.positionXOffset = state.positionXOffset;
|
|
106
|
-
this.positionYOffset = state.positionYOffset;
|
|
107
|
-
this.width = state.width;
|
|
108
|
-
this.height = state.height;
|
|
109
|
-
// Sometimes this goes above the top of the screen. If it does, reset it
|
|
110
|
-
if (this.positionYOffset < 0 && this.positionYOffset < (this.top * -1)) {
|
|
111
|
-
this.positionYOffset = this.top * -1;
|
|
112
|
-
this.updatePositionAndSize();
|
|
113
|
-
}
|
|
114
|
-
this.position = {
|
|
115
|
-
x: this.positionXOffset,
|
|
116
|
-
y: this.positionYOffset
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
async showDialog() {
|
|
121
|
-
this.showDialog_internal = true;
|
|
122
|
-
await SlickSleepService.sleep();
|
|
123
|
-
document.body.appendChild(this.containerRef.nativeElement);
|
|
124
|
-
this.overlayEl = this.dialogService.createOverlay();
|
|
125
|
-
this.isMinimized = false;
|
|
126
|
-
this.isMaximized = false;
|
|
127
|
-
this.dialogService.removeDialogFromMinimized(this.dialogWrapper);
|
|
128
|
-
this.dialogService.positionAtCenter(this.dialogWrapper, this.top, this.width, this.height, this.positionXOffset, this.positionYOffset);
|
|
129
|
-
this.dialogRef.nativeElement.style.width = this.width + "px";
|
|
130
|
-
this.zIndex = ((SlickDialogService.overlayCount * 100) + 1);
|
|
131
|
-
if (this.showOverlay) {
|
|
132
|
-
this.dialogService.showOverlay(this.overlayEl);
|
|
133
|
-
}
|
|
134
|
-
this.isDialogVisible = true;
|
|
135
|
-
this.resize();
|
|
136
|
-
this.dialogRef.nativeElement.classList.remove("collapse-dialog");
|
|
137
|
-
this.dialogRef.nativeElement.classList.add("expand-dialog");
|
|
138
|
-
window.addEventListener("resize", this.fnResize, true);
|
|
139
|
-
}
|
|
140
|
-
async onDialogClose(event) {
|
|
141
|
-
event.preventDefault();
|
|
142
|
-
event.stopPropagation();
|
|
143
|
-
event.stopImmediatePropagation();
|
|
144
|
-
await this.hideDialog();
|
|
145
|
-
if (this.onClose)
|
|
146
|
-
this.onClose.emit();
|
|
147
|
-
}
|
|
148
|
-
async hideDialog() {
|
|
149
|
-
if (this.isDialogVisible === false)
|
|
150
|
-
return;
|
|
151
|
-
this.isMaximized = false;
|
|
152
|
-
if (this.showOverlay) {
|
|
153
|
-
this.dialogService.hideOverlay(this.overlayEl);
|
|
154
|
-
}
|
|
155
|
-
this.dialogRef.nativeElement.classList.remove("expand-dialog");
|
|
156
|
-
this.dialogRef.nativeElement.classList.add("collapse-dialog");
|
|
157
|
-
await SlickSleepService.sleep(350);
|
|
158
|
-
this.isBodyVisible = false;
|
|
159
|
-
this.isDialogVisible = false;
|
|
160
|
-
if (this.isMinimized) {
|
|
161
|
-
this.dialogService.removeDialogFromMinimized(this.dialogWrapper);
|
|
162
|
-
this.isMinimized = false;
|
|
163
|
-
}
|
|
164
|
-
window.removeEventListener("resize", this.fnResize, true);
|
|
165
|
-
// It's fine if this fails. It just means they were already removed
|
|
166
|
-
try {
|
|
167
|
-
document.body.removeChild(this.containerRef.nativeElement);
|
|
168
|
-
document.body.removeChild(this.overlayEl);
|
|
169
|
-
}
|
|
170
|
-
catch { }
|
|
171
|
-
this.overlayEl = null;
|
|
172
|
-
this.showDialog_internal = false;
|
|
173
|
-
}
|
|
174
|
-
onDialogMinimize(event) {
|
|
175
|
-
event.preventDefault();
|
|
176
|
-
event.stopPropagation();
|
|
177
|
-
event.stopImmediatePropagation();
|
|
178
|
-
this.isMaximized = false;
|
|
179
|
-
this.isMinimized = true;
|
|
180
|
-
this.dialogRef.nativeElement.style.height = "initial";
|
|
181
|
-
if (this.showOverlay) {
|
|
182
|
-
this.dialogService.hideOverlay(this.overlayEl);
|
|
183
|
-
}
|
|
184
|
-
this.dialogService.minimize(this.dialogWrapper);
|
|
185
|
-
}
|
|
186
|
-
onDialogMaximize(event) {
|
|
187
|
-
event.preventDefault();
|
|
188
|
-
event.stopPropagation();
|
|
189
|
-
event.stopImmediatePropagation();
|
|
190
|
-
this.dialogService.maximize(this.dialogWrapper, this.top, this.width, this.height, this.positionXOffset, this.positionYOffset);
|
|
191
|
-
if (this.showOverlay) {
|
|
192
|
-
this.dialogService.showOverlay(this.overlayEl);
|
|
193
|
-
}
|
|
194
|
-
this.zIndex = parseInt(this.overlayEl.style.zIndex) + 1;
|
|
195
|
-
setTimeout(() => {
|
|
196
|
-
this.isMinimized = false;
|
|
197
|
-
this.dialogRef.nativeElement.style.height = "100%";
|
|
198
|
-
this.dialogRef.nativeElement.style.width = this.width + "px";
|
|
199
|
-
this.resize();
|
|
200
|
-
}, 300);
|
|
201
|
-
}
|
|
202
|
-
toggleFullSize(event) {
|
|
203
|
-
event.preventDefault();
|
|
204
|
-
event.stopPropagation();
|
|
205
|
-
event.stopImmediatePropagation();
|
|
206
|
-
if (!this.isMaximized) {
|
|
207
|
-
this.dialogWrapper.nativeElement.style.top = "0px";
|
|
208
|
-
this.dialogWrapper.nativeElement.style.right = "0px";
|
|
209
|
-
this.dialogWrapper.nativeElement.style.left = "0px";
|
|
210
|
-
this.dialogRef.nativeElement.style.height = window.innerHeight + "px";
|
|
211
|
-
this.dialogRef.nativeElement.style.width = window.innerWidth + "px";
|
|
212
|
-
this.dialogWrapper.nativeElement.style.width = window.innerWidth + "px";
|
|
213
|
-
this.dialogRef.nativeElement.style.maxHeight = "initial";
|
|
214
|
-
this.dialogWrapper.nativeElement.style.transform = "translate(0%)";
|
|
215
|
-
this.isMaximized = true;
|
|
216
|
-
this.resize(true);
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
this.dialogWrapper.nativeElement.style.top = this.top + "px";
|
|
220
|
-
this.dialogWrapper.nativeElement.style.right = "calc(50% - " + (this.width / 2) + "px)";
|
|
221
|
-
this.dialogWrapper.nativeElement.style.left = "calc(50% - " + (this.width / 2) + "px)";
|
|
222
|
-
this.dialogWrapper.nativeElement.style.transform = "translate(" + this.positionXOffset + "px, " + this.positionYOffset + "px)";
|
|
223
|
-
this.dialogRef.nativeElement.style.height = this.height === 0 ? "initial" : this.height + "px";
|
|
224
|
-
this.dialogRef.nativeElement.style.width = this.width + "px";
|
|
225
|
-
this.dialogWrapper.nativeElement.style.width = this.width + "px";
|
|
226
|
-
this.dialogRef.nativeElement.style.maxHeight = this.maxHeight + "";
|
|
227
|
-
this.isMaximized = false;
|
|
228
|
-
this.resize(false);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
async resize(forFullSize = false) {
|
|
232
|
-
if (this.isMaximized)
|
|
233
|
-
forFullSize = true;
|
|
234
|
-
await SlickSleepService.sleep(50);
|
|
235
|
-
let headerHeight = (this.headerRef) ? this.headerRef.nativeElement.clientHeight : 0;
|
|
236
|
-
let footerHeight = (this.footerRef) ? this.footerRef.nativeElement.clientHeight : 0;
|
|
237
|
-
this.hasFooter = footerHeight > 0;
|
|
238
|
-
let documentBodyHeight = !forFullSize ? (document.body.clientHeight || window.innerHeight) : window.innerHeight;
|
|
239
|
-
this.maxHeight = !forFullSize ? documentBodyHeight - (this.top * 2) : documentBodyHeight;
|
|
240
|
-
this.isBodyVisible = true;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/** @nocollapse */ SlickDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickDialogComponent, deps: [{ token: i1.SlickDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
-
/** @nocollapse */ SlickDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickDialogComponent, selector: "slick-dialog", inputs: { draggable: "draggable", resizable: "resizable", minimizable: "minimizable", header: "header", showHeader: "showHeader", noPadding: "noPadding", top: "top", width: "width", height: "height", maxHeight: "maxHeight", cssClass: "cssClass", key: "key", showOverlay: "showOverlay", disableScrollbar: "disableScrollbar" }, outputs: { onClose: "onClose" }, providers: [SlickDialogService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "dialogRef", first: true, predicate: ["dialogRef"], descendants: true }, { propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }, { propertyName: "dialogWrapper", first: true, predicate: ["dialogWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerRef class=\"slick-dialog-container modal\" *ngIf=\"showDialog_internal === true\" [hidden]=\"!isDialogVisible\" [style.zIndex]=\"zIndex\" #bounds>\r\n <div #dialogWrapper class=\"position-absolute slick-dialog-z-index d-inline-block\" [ngClass]=\"{'isMinimized' : isMinimized }\" (endOffset)=\"onMoveEnd($event)\" [position]=\"position\" [ngDraggable]=\"draggable && !isMinimized\" [bounds]=\"bounds\" [handle]=\"draggingHandle\" [inBounds]=\"inBounds\" [style.top.px]=\"top\">\r\n <div #dialogRef (rzStop)=\"onResizeStop($event)\" [ngResizable]=\"resizable && !isMinimized\" class=\"slick-dialog modal-content d-flex flex-column drag-block-handle {{cssClass}}\" [style.height]=\"height === 0 ? '100%' : height + 'px'\" [style.width.px]=\"width\" [style.max-height.px]=\"maxHeight\">\r\n <div [class.slick-dialog-draggingHangle]=\"draggable && !isMinimized\" #draggingHandle>\r\n <div #headerRef class=\"slick-dialog_header modal-header py-0\" *ngIf=\"showHeader === true\">\r\n <div class=\"header-left\">{{header}}</div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && !isMinimized\" (mousedown)=\"onDialogMinimize($event)\" style=\"width: 28px;\"><i class=\"far fa-window-minimize\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && !isMinimized\" (mousedown)=\"toggleFullSize($event)\" style=\"width: 28px;\"><i *ngIf=\"!isMaximized\" class=\"far fa-window-maximize\"></i><i *ngIf=\"isMaximized\" class=\"far fa-window-restore\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && isMinimized\" (mousedown)=\"onDialogMaximize($event)\" style=\"width: 28px;\"><i class=\"far fa-window-restore\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"!isMinimized\" (mousedown)=\"onDialogClose($event)\" style=\"width: 28px;\"><i class=\"far fa-times\"></i></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!isMinimized\" [style.visibility]=\"(isBodyVisible === true) ? 'visible' : 'hidden'\" style=\"overflow-y: auto\" class=\"slick-dialog_body modal-body flex-fill\" [ngClass]=\"{'disable_scrollbar' : disableScrollbar === true, 'p-0': noPadding === true }\"><ng-content></ng-content></div>\r\n <div #footerRef [ngClass]=\"{'slick-dialog_footer modal-footer': hasFooter === true }\" *ngIf=\"!isMinimized\"><ng-content select=\"slick-dialog-footer\"></ng-content></div>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".ng-resizable{position:relative}.ng-resizable-handle{position:absolute;font-size:.1px;display:block;touch-action:none}.ng-resizable-handle.ng-resizable-e{cursor:e-resize;width:7px;right:-5px;height:100%;top:0}.ng-resizable-handle.ng-resizable-w{cursor:w-resize;width:7px;left:-5px;height:100%;top:0}.ng-resizable-handle.ng-resizable-s{cursor:s-resize;height:7px;bottom:-5px;width:100%;left:0}.ng-resizable-handle.ng-resizable-n{cursor:n-resize;height:7px;top:-5px;width:100%;left:0}.ng-resizable-handle.ng-resizable-se{cursor:se-resize;width:8px;height:8px;right:4px;bottom:4px}.ng-resizable-handle.ng-resizable-sw{cursor:sw-resize;width:12px;height:12px;left:1px;bottom:1px}.ng-resizable-handle.ng-resizable-ne{cursor:ne-resize;width:12px;height:12px;right:1px;top:1px}.ng-resizable-handle.ng-resizable-nw{cursor:nw-resize;width:12px;height:12px;left:1px;top:1px}.ng-resizable-diagonal{box-sizing:border-box;width:0;height:0;border-bottom:8px solid #aaa;border-left:8px solid transparent}.slick-dialog-z-index.isMinimized{-webkit-transition-property:all;-webkit-transition-duration:.3s;-webkit-transition-timing-function:linear;transition-property:all;transition-duration:.3s;transition-timing-function:linear}.isMinimized .header-left{display:inline-block;width:calc(100% - 40px);padding-left:15px;vertical-align:top;font-weight:700;text-overflow:ellipsis;overflow:hidden;width:200px;white-space:nowrap}.disable_scrollbar{overflow:hidden!important;overflow-x:hidden;overflow-y:hidden;padding:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.AngularDraggableDirective, selector: "[ngDraggable]", inputs: ["outOfBounds", "gridSize", "inBounds", "trackPosition", "scale", "preventDefaultEvent", "position", "lockAxis", "zIndex", "ngDraggable", "bounds", "handle", "zIndexMoving"], outputs: ["started", "stopped", "edge", "movingOffset", "endOffset"], exportAs: ["ngDraggable"] }, { kind: "directive", type: i3.AngularResizableDirective, selector: "[ngResizable]", inputs: ["rzHandles", "rzAspectRatio", "rzContainment", "rzGrid", "rzMinWidth", "rzMinHeight", "rzMaxWidth", "rzMaxHeight", "preventDefaultEvent", "ngResizable"], outputs: ["rzStart", "rzResizing", "rzStop"], exportAs: ["ngResizable"] }] });
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickDialogComponent, decorators: [{
|
|
246
|
-
type: Component,
|
|
247
|
-
args: [{ selector: 'slick-dialog', providers: [SlickDialogService], template: "<div #containerRef class=\"slick-dialog-container modal\" *ngIf=\"showDialog_internal === true\" [hidden]=\"!isDialogVisible\" [style.zIndex]=\"zIndex\" #bounds>\r\n <div #dialogWrapper class=\"position-absolute slick-dialog-z-index d-inline-block\" [ngClass]=\"{'isMinimized' : isMinimized }\" (endOffset)=\"onMoveEnd($event)\" [position]=\"position\" [ngDraggable]=\"draggable && !isMinimized\" [bounds]=\"bounds\" [handle]=\"draggingHandle\" [inBounds]=\"inBounds\" [style.top.px]=\"top\">\r\n <div #dialogRef (rzStop)=\"onResizeStop($event)\" [ngResizable]=\"resizable && !isMinimized\" class=\"slick-dialog modal-content d-flex flex-column drag-block-handle {{cssClass}}\" [style.height]=\"height === 0 ? '100%' : height + 'px'\" [style.width.px]=\"width\" [style.max-height.px]=\"maxHeight\">\r\n <div [class.slick-dialog-draggingHangle]=\"draggable && !isMinimized\" #draggingHandle>\r\n <div #headerRef class=\"slick-dialog_header modal-header py-0\" *ngIf=\"showHeader === true\">\r\n <div class=\"header-left\">{{header}}</div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && !isMinimized\" (mousedown)=\"onDialogMinimize($event)\" style=\"width: 28px;\"><i class=\"far fa-window-minimize\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && !isMinimized\" (mousedown)=\"toggleFullSize($event)\" style=\"width: 28px;\"><i *ngIf=\"!isMaximized\" class=\"far fa-window-maximize\"></i><i *ngIf=\"isMaximized\" class=\"far fa-window-restore\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"minimizable && isMinimized\" (mousedown)=\"onDialogMaximize($event)\" style=\"width: 28px;\"><i class=\"far fa-window-restore\"></i></div>\r\n <div class=\"header-right\" *ngIf=\"!isMinimized\" (mousedown)=\"onDialogClose($event)\" style=\"width: 28px;\"><i class=\"far fa-times\"></i></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!isMinimized\" [style.visibility]=\"(isBodyVisible === true) ? 'visible' : 'hidden'\" style=\"overflow-y: auto\" class=\"slick-dialog_body modal-body flex-fill\" [ngClass]=\"{'disable_scrollbar' : disableScrollbar === true, 'p-0': noPadding === true }\"><ng-content></ng-content></div>\r\n <div #footerRef [ngClass]=\"{'slick-dialog_footer modal-footer': hasFooter === true }\" *ngIf=\"!isMinimized\"><ng-content select=\"slick-dialog-footer\"></ng-content></div>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".ng-resizable{position:relative}.ng-resizable-handle{position:absolute;font-size:.1px;display:block;touch-action:none}.ng-resizable-handle.ng-resizable-e{cursor:e-resize;width:7px;right:-5px;height:100%;top:0}.ng-resizable-handle.ng-resizable-w{cursor:w-resize;width:7px;left:-5px;height:100%;top:0}.ng-resizable-handle.ng-resizable-s{cursor:s-resize;height:7px;bottom:-5px;width:100%;left:0}.ng-resizable-handle.ng-resizable-n{cursor:n-resize;height:7px;top:-5px;width:100%;left:0}.ng-resizable-handle.ng-resizable-se{cursor:se-resize;width:8px;height:8px;right:4px;bottom:4px}.ng-resizable-handle.ng-resizable-sw{cursor:sw-resize;width:12px;height:12px;left:1px;bottom:1px}.ng-resizable-handle.ng-resizable-ne{cursor:ne-resize;width:12px;height:12px;right:1px;top:1px}.ng-resizable-handle.ng-resizable-nw{cursor:nw-resize;width:12px;height:12px;left:1px;top:1px}.ng-resizable-diagonal{box-sizing:border-box;width:0;height:0;border-bottom:8px solid #aaa;border-left:8px solid transparent}.slick-dialog-z-index.isMinimized{-webkit-transition-property:all;-webkit-transition-duration:.3s;-webkit-transition-timing-function:linear;transition-property:all;transition-duration:.3s;transition-timing-function:linear}.isMinimized .header-left{display:inline-block;width:calc(100% - 40px);padding-left:15px;vertical-align:top;font-weight:700;text-overflow:ellipsis;overflow:hidden;width:200px;white-space:nowrap}.disable_scrollbar{overflow:hidden!important;overflow-x:hidden;overflow-y:hidden;padding:10px}\n"] }]
|
|
248
|
-
}], ctorParameters: function () { return [{ type: i1.SlickDialogService }]; }, propDecorators: { draggable: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}], resizable: [{
|
|
251
|
-
type: Input
|
|
252
|
-
}], minimizable: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], header: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], showHeader: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], noPadding: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], top: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], width: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], height: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], maxHeight: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], cssClass: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], key: [{
|
|
271
|
-
type: Input
|
|
272
|
-
}], showOverlay: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], disableScrollbar: [{
|
|
275
|
-
type: Input
|
|
276
|
-
}], onClose: [{
|
|
277
|
-
type: Output
|
|
278
|
-
}], containerRef: [{
|
|
279
|
-
type: ViewChild,
|
|
280
|
-
args: ["containerRef"]
|
|
281
|
-
}], dialogRef: [{
|
|
282
|
-
type: ViewChild,
|
|
283
|
-
args: ["dialogRef"]
|
|
284
|
-
}], headerRef: [{
|
|
285
|
-
type: ViewChild,
|
|
286
|
-
args: ["headerRef"]
|
|
287
|
-
}], footerRef: [{
|
|
288
|
-
type: ViewChild,
|
|
289
|
-
args: ["footerRef"]
|
|
290
|
-
}], dialogWrapper: [{
|
|
291
|
-
type: ViewChild,
|
|
292
|
-
args: ["dialogWrapper"]
|
|
293
|
-
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWRpYWxvZy9zbGljay1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGlhbG9nL3NsaWNrLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkQsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBUS9ELE1BQU0sT0FBTyxvQkFBb0I7SUEwQzdCLFlBQTZCLGFBQWlDO1FBQWpDLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQXpDckQsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRTVCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBVyxHQUFHLENBQUM7UUFDcEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBR3RCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVqQyxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFRakUsYUFBUSxHQUFHLEdBQUcsRUFBRSxD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QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVpQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0QsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNFLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDRSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ00sYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNsaWNrRGlhbG9nU2VydmljZSB9IGZyb20gXCIuL3NsaWNrLWRpYWxvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tJbml0U2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1pbml0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbGljay1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdzbGljay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbXCJzbGljay1kaWFsb2cuY29tcG9uZW50LmNzc1wiXSxcclxuICAgIHByb3ZpZGVyczogW1NsaWNrRGlhbG9nU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBkcmFnZ2FibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIG1pbmltaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBub1BhZGRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHRvcDogbnVtYmVyID0gODA7XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyID0gNjAwO1xyXG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgbWF4SGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgY3NzQ2xhc3M6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2hvd092ZXJsYXk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZVNjcm9sbGJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoXCJjb250YWluZXJSZWZcIikgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xyXG5cdEBWaWV3Q2hpbGQoXCJkaWFsb2dSZWZcIikgZGlhbG9nUmVmOiBFbGVtZW50UmVmO1xyXG5cdEBWaWV3Q2hpbGQoXCJoZWFkZXJSZWZcIikgaGVhZGVyUmVmOiBFbGVtZW50UmVmO1xyXG5cdEBWaWV3Q2hpbGQoXCJmb290ZXJSZWZcIikgZm9vdGVyUmVmOiBFbGVtZW50UmVmO1xyXG5cdEBWaWV3Q2hpbGQoXCJkaWFsb2dXcmFwcGVyXCIpIGRpYWxvZ1dyYXBwZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgZm5SZXNpemUgPSAoKSA9PiB0aGlzLnJlc2l6ZSgpO1xyXG5cclxuICAgIHByaXZhdGUgb3ZlcmxheUVsOiBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBzaG93RGlhbG9nX2ludGVybmFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc0RpYWxvZ1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlzQm9keVZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGhhc0Zvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgekluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgaW5Cb3VuZHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaXNNYXhpbWl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlzTWluaW1pemVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcG9zaXRpb25YT2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gICAgcG9zaXRpb25ZT2Zmc2V0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHBvc2l0aW9uOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBTbGlja0RpYWxvZ1NlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkUG9zaXRpb25BbmRTaXplKCk7XHJcbiAgICB9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmIChjaGFuZ2VzLmRyYWdnYWJsZSkgXHJcblx0XHRcdHRoaXMuZHJhZ2dhYmxlID0gKHRoaXMuZHJhZ2dhYmxlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykgPyBmYWxzZSA6IHRydWU7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMucmVzaXphYmxlKVxyXG5cdFx0XHR0aGlzLnJlc2l6YWJsZSA9ICh0aGlzLnJlc2l6YWJsZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScpID8gZmFsc2UgOiB0cnVlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLm1pbmltaXphYmxlKVxyXG5cdFx0XHR0aGlzLm1pbmltaXphYmxlID0gKHRoaXMubWluaW1pemFibGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSA/IGZhbHNlIDogdHJ1ZTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93SGVhZGVyKVxyXG5cdFx0XHR0aGlzLnNob3dIZWFkZXIgPSAodGhpcy5zaG93SGVhZGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykgPyBmYWxzZSA6IHRydWU7XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLm5vUGFkZGluZylcclxuICAgICAgICAgICAgdGhpcy5ub1BhZGRpbmcgPSAodGhpcy5ub1BhZGRpbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnRvcClcclxuXHRcdFx0dGhpcy50b3AgPSBwYXJzZUludCh0aGlzLnRvcC50b1N0cmluZygpKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy53aWR0aClcclxuXHRcdFx0dGhpcy53aWR0aCA9IHBhcnNlSW50KHRoaXMud2lkdGgudG9TdHJpbmcoKSk7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuaGVpZ2h0KVxyXG5cdFx0XHR0aGlzLmhlaWdodCA9IHBhcnNlSW50KHRoaXMuaGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLm1heEhlaWdodClcclxuXHRcdFx0dGhpcy5tYXhIZWlnaHQgPSBwYXJzZUludCh0aGlzLm1heEhlaWdodC50b1N0cmluZygpKTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93T3ZlcmxheSlcclxuXHRcdFx0dGhpcy5zaG93T3ZlcmxheSA9ICh0aGlzLnNob3dPdmVybGF5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykgPyBmYWxzZSA6IHRydWU7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuZGlzYWJsZVNjcm9sbGJhcilcclxuXHRcdFx0dGhpcy5kaXNhYmxlU2Nyb2xsYmFyID0gKHRoaXMuZGlzYWJsZVNjcm9sbGJhci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJykgPyB0cnVlIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmZuUmVzaXplLCB0cnVlKTtcclxuXHJcbiAgICAgICAgLy8gSXQncyBmaW5lIGlmIHRoaXMgZmFpbHMuICBJdCBqdXN0IG1lYW5zIHRoZXkgd2VyZSBhbHJlYWR5IHJlbW92ZWRcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMub3ZlcmxheUVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggeyB9XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheUVsID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdmVFbmQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uWE9mZnNldCA9IGV2ZW50Lng7XHJcbiAgICAgICAgdGhpcy5wb3NpdGlvbllPZmZzZXQgPSBldmVudC55O1xyXG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb25BbmRTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25SZXNpemVTdG9wKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy53aWR0aCA9IGV2ZW50LnNpemUud2lkdGg7XHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBldmVudC5zaXplLmhlaWdodDtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVBvc2l0aW9uQW5kU2l6ZSgpIHtcclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHtcclxuICAgICAgICAgICAgcG9zaXRpb25YT2Zmc2V0OiB0aGlzLnBvc2l0aW9uWE9mZnNldCxcclxuICAgICAgICAgICAgcG9zaXRpb25ZT2Zmc2V0OiB0aGlzLnBvc2l0aW9uWU9mZnNldCxcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgICB4OiB0aGlzLnBvc2l0aW9uWE9mZnNldCxcclxuICAgICAgICAgICAgeTogdGhpcy5wb3NpdGlvbllPZmZzZXRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5rZXkpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oYERJQUxPR19TVEFURV8ke3RoaXMua2V5fWAsIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxvYWRQb3NpdGlvbkFuZFNpemUoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmtleSAmJiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLmVycm9yTG9nID09PSBcInZlcmJvc2VcIikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU3RvcmFnZSBLZXkgKFtrZXldIHBhcmFtZXRlcikgaXMgbm90IHByb3ZpZGVkIGZvciBTbGljayBEaWFsb2cuIFBlcnNpc3Rpbmcgc3RhdGUgaXMgZGlzYWJsZWQuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzdGF0ZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oYERJQUxPR19TVEFURV8ke3RoaXMua2V5fWApKTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvblhPZmZzZXQgPSBzdGF0ZS5wb3NpdGlvblhPZmZzZXQ7XHJcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb25ZT2Zmc2V0ID0gc3RhdGUucG9zaXRpb25ZT2Zmc2V0O1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoID0gc3RhdGUud2lkdGg7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gc3RhdGUuaGVpZ2h0O1xyXG5cclxuICAgICAgICAgICAgLy8gU29tZXRpbWVzIHRoaXMgZ29lcyBhYm92ZSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4uICBJZiBpdCBkb2VzLCByZXNldCBpdFxyXG4gICAgICAgICAgICBpZiAodGhpcy5wb3NpdGlvbllPZmZzZXQgPCAwICYmIHRoaXMucG9zaXRpb25ZT2Zmc2V0IDwgKHRoaXMudG9wICogLTEpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uWU9mZnNldCA9IHRoaXMudG9wICogLTE7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgeDogdGhpcy5wb3NpdGlvblhPZmZzZXQsXHJcbiAgICAgICAgICAgICAgICB5OiB0aGlzLnBvc2l0aW9uWU9mZnNldFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0YXN5bmMgc2hvd0RpYWxvZygpIHtcclxuXHRcdHRoaXMuc2hvd0RpYWxvZ19pbnRlcm5hbCA9IHRydWU7XHJcblxyXG5cdFx0YXdhaXQgU2xpY2tTbGVlcFNlcnZpY2Uuc2xlZXAoKTtcclxuXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlFbCA9IHRoaXMuZGlhbG9nU2VydmljZS5jcmVhdGVPdmVybGF5KCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNNaW5pbWl6ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzTWF4aW1pemVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZURpYWxvZ0Zyb21NaW5pbWl6ZWQodGhpcy5kaWFsb2dXcmFwcGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnBvc2l0aW9uQXRDZW50ZXIodGhpcy5kaWFsb2dXcmFwcGVyLCB0aGlzLnRvcCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQsIHRoaXMucG9zaXRpb25YT2Zmc2V0LCB0aGlzLnBvc2l0aW9uWU9mZnNldCk7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMud2lkdGggKyBcInB4XCI7XHJcblxyXG4gICAgICAgIHRoaXMuekluZGV4ID0gKChTbGlja0RpYWxvZ1NlcnZpY2Uub3ZlcmxheUNvdW50ICogMTAwKSArIDEpO1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93T3ZlcmxheSh0aGlzLm92ZXJsYXlFbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNEaWFsb2dWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJjb2xsYXBzZS1kaWFsb2dcIik7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiZXhwYW5kLWRpYWxvZ1wiKTtcclxuXHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5mblJlc2l6ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25EaWFsb2dDbG9zZShldmVudDogRXZlbnQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBhd2FpdCB0aGlzLmhpZGVEaWFsb2coKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMub25DbG9zZSlcclxuICAgICAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBoaWRlRGlhbG9nKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRGlhbG9nVmlzaWJsZSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc01heGltaXplZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5oaWRlT3ZlcmxheSh0aGlzLm92ZXJsYXlFbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcImV4cGFuZC1kaWFsb2dcIik7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiY29sbGFwc2UtZGlhbG9nXCIpO1xyXG4gICAgICAgIGF3YWl0IFNsaWNrU2xlZXBTZXJ2aWNlLnNsZWVwKDM1MCk7XHJcbiAgICAgICAgdGhpcy5pc0JvZHlWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0RpYWxvZ1Zpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNNaW5pbWl6ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZURpYWxvZ0Zyb21NaW5pbWl6ZWQodGhpcy5kaWFsb2dXcmFwcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5pc01pbmltaXplZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5mblJlc2l6ZSwgdHJ1ZSk7XHJcblxyXG4gICAgICAgIC8vIEl0J3MgZmluZSBpZiB0aGlzIGZhaWxzLiAgSXQganVzdCBtZWFucyB0aGV5IHdlcmUgYWxyZWFkeSByZW1vdmVkXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLm92ZXJsYXlFbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIHsgfVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlFbCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zaG93RGlhbG9nX2ludGVybmFsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaWFsb2dNaW5pbWl6ZShldmVudDogRXZlbnQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuaXNNYXhpbWl6ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzTWluaW1pemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IFwiaW5pdGlhbFwiO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zaG93T3ZlcmxheSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuaGlkZU92ZXJsYXkodGhpcy5vdmVybGF5RWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UubWluaW1pemUodGhpcy5kaWFsb2dXcmFwcGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRpYWxvZ01heGltaXplKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5tYXhpbWl6ZSh0aGlzLmRpYWxvZ1dyYXBwZXIsIHRoaXMudG9wLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCwgdGhpcy5wb3NpdGlvblhPZmZzZXQsIHRoaXMucG9zaXRpb25ZT2Zmc2V0KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd092ZXJsYXkpIHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dPdmVybGF5KHRoaXMub3ZlcmxheUVsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuekluZGV4ID0gcGFyc2VJbnQodGhpcy5vdmVybGF5RWwuc3R5bGUuekluZGV4KSArIDE7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNaW5pbWl6ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBcIjEwMCVcIjtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMud2lkdGggKyBcInB4XCI7XHJcbiAgICAgICAgICAgIHRoaXMucmVzaXplKCk7XHJcbiAgICAgICAgfSwgMzAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVGdWxsU2l6ZShldmVudDogRXZlbnQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICghdGhpcy5pc01heGltaXplZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1dyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBcIjBweFwiO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1dyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IFwiMHB4XCI7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nV3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBcIjBweFwiO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCArIFwicHhcIjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCArIFwicHhcIjtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCArIFwicHhcIjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gXCJpbml0aWFsXCI7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nV3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlKDAlKVwiO1xyXG4gICAgICAgICAgICB0aGlzLmlzTWF4aW1pemVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5yZXNpemUodHJ1ZSk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nV3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IHRoaXMudG9wICsgXCJweFwiO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1dyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IFwiY2FsYyg1MCUgLSBcIiArICh0aGlzLndpZHRoIC8gMikgKyBcInB4KVwiO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1dyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gXCJjYWxjKDUwJSAtIFwiICsgKHRoaXMud2lkdGggLyAyKSArIFwicHgpXCI7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nV3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlKFwiICsgdGhpcy5wb3NpdGlvblhPZmZzZXQgKyBcInB4LCBcIiArIHRoaXMucG9zaXRpb25ZT2Zmc2V0ICsgXCJweClcIjtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmhlaWdodCA9PT0gMCA/IFwiaW5pdGlhbFwiIDogdGhpcy5oZWlnaHQgKyBcInB4XCI7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy53aWR0aCArIFwicHhcIjtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLndpZHRoICsgXCJweFwiO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSB0aGlzLm1heEhlaWdodCArIFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNYXhpbWl6ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZXNpemUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHJlc2l6ZShmb3JGdWxsU2l6ZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzTWF4aW1pemVkKVxyXG4gICAgICAgICAgICBmb3JGdWxsU2l6ZSA9IHRydWU7XHJcblxyXG4gICAgICAgIGF3YWl0IFNsaWNrU2xlZXBTZXJ2aWNlLnNsZWVwKDUwKTtcclxuICAgICAgICBsZXQgaGVhZGVySGVpZ2h0ID0gKHRoaXMuaGVhZGVyUmVmKSA/IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IDogMDtcclxuICAgICAgICBsZXQgZm9vdGVySGVpZ2h0ID0gKHRoaXMuZm9vdGVyUmVmKSA/IHRoaXMuZm9vdGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IDogMDtcclxuICAgICAgICB0aGlzLmhhc0Zvb3RlciA9IGZvb3RlckhlaWdodCA+IDA7XHJcblxyXG4gICAgICAgIGxldCBkb2N1bWVudEJvZHlIZWlnaHQgPSAhZm9yRnVsbFNpemUgPyAoZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgfHwgd2luZG93LmlubmVySGVpZ2h0KSA6IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICB0aGlzLm1heEhlaWdodCA9ICFmb3JGdWxsU2l6ZSA/IGRvY3VtZW50Qm9keUhlaWdodCAtICh0aGlzLnRvcCAqIDIpIDogZG9jdW1lbnRCb2R5SGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaXNCb2R5VmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbn0iLCI8ZGl2ICNjb250YWluZXJSZWYgY2xhc3M9XCJzbGljay1kaWFsb2ctY29udGFpbmVyIG1vZGFsXCIgKm5nSWY9XCJzaG93RGlhbG9nX2ludGVybmFsID09PSB0cnVlXCIgW2hpZGRlbl09XCIhaXNEaWFsb2dWaXNpYmxlXCIgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIiAjYm91bmRzPlxyXG4gICAgPGRpdiAjZGlhbG9nV3JhcHBlciBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHNsaWNrLWRpYWxvZy16LWluZGV4IGQtaW5saW5lLWJsb2NrXCIgW25nQ2xhc3NdPVwieydpc01pbmltaXplZCcgOiBpc01pbmltaXplZCB9XCIgKGVuZE9mZnNldCk9XCJvbk1vdmVFbmQoJGV2ZW50KVwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtuZ0RyYWdnYWJsZV09XCJkcmFnZ2FibGUgJiYgIWlzTWluaW1pemVkXCIgW2JvdW5kc109XCJib3VuZHNcIiBbaGFuZGxlXT1cImRyYWdnaW5nSGFuZGxlXCIgW2luQm91bmRzXT1cImluQm91bmRzXCIgW3N0eWxlLnRvcC5weF09XCJ0b3BcIj5cclxuICAgICAgICA8ZGl2ICNkaWFsb2dSZWYgKHJ6U3RvcCk9XCJvblJlc2l6ZVN0b3AoJGV2ZW50KVwiIFtuZ1Jlc2l6YWJsZV09XCJyZXNpemFibGUgJiYgIWlzTWluaW1pemVkXCIgY2xhc3M9XCJzbGljay1kaWFsb2cgbW9kYWwtY29udGVudCBkLWZsZXggZmxleC1jb2x1bW4gZHJhZy1ibG9jay1oYW5kbGUge3tjc3NDbGFzc319XCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQgPT09IDAgPyAnMTAwJScgOiBoZWlnaHQgKyAncHgnXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCIgW3N0eWxlLm1heC1oZWlnaHQucHhdPVwibWF4SGVpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgW2NsYXNzLnNsaWNrLWRpYWxvZy1kcmFnZ2luZ0hhbmdsZV09XCJkcmFnZ2FibGUgJiYgIWlzTWluaW1pemVkXCIgI2RyYWdnaW5nSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAjaGVhZGVyUmVmIGNsYXNzPVwic2xpY2stZGlhbG9nX2hlYWRlciBtb2RhbC1oZWFkZXIgcHktMFwiICpuZ0lmPVwic2hvd0hlYWRlciA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbGVmdFwiPnt7aGVhZGVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJpZ2h0XCIgKm5nSWY9XCJtaW5pbWl6YWJsZSAmJiAhaXNNaW5pbWl6ZWRcIiAobW91c2Vkb3duKT1cIm9uRGlhbG9nTWluaW1pemUoJGV2ZW50KVwiIHN0eWxlPVwid2lkdGg6IDI4cHg7XCI+PGkgY2xhc3M9XCJmYXIgZmEtd2luZG93LW1pbmltaXplXCI+PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmlnaHRcIiAqbmdJZj1cIm1pbmltaXphYmxlICYmICFpc01pbmltaXplZFwiIChtb3VzZWRvd24pPVwidG9nZ2xlRnVsbFNpemUoJGV2ZW50KVwiIHN0eWxlPVwid2lkdGg6IDI4cHg7XCI+PGkgKm5nSWY9XCIhaXNNYXhpbWl6ZWRcIiBjbGFzcz1cImZhciBmYS13aW5kb3ctbWF4aW1pemVcIj48L2k+PGkgKm5nSWY9XCJpc01heGltaXplZFwiIGNsYXNzPVwiZmFyIGZhLXdpbmRvdy1yZXN0b3JlXCI+PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmlnaHRcIiAqbmdJZj1cIm1pbmltaXphYmxlICYmIGlzTWluaW1pemVkXCIgKG1vdXNlZG93bik9XCJvbkRpYWxvZ01heGltaXplKCRldmVudClcIiBzdHlsZT1cIndpZHRoOiAyOHB4O1wiPjxpIGNsYXNzPVwiZmFyIGZhLXdpbmRvdy1yZXN0b3JlXCI+PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmlnaHRcIiAqbmdJZj1cIiFpc01pbmltaXplZFwiIChtb3VzZWRvd24pPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCIgc3R5bGU9XCJ3aWR0aDogMjhweDtcIj48aSBjbGFzcz1cImZhciBmYS10aW1lc1wiPjwvaT48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc01pbmltaXplZFwiIFtzdHlsZS52aXNpYmlsaXR5XT1cIihpc0JvZHlWaXNpYmxlID09PSB0cnVlKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCIgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvXCIgY2xhc3M9XCJzbGljay1kaWFsb2dfYm9keSBtb2RhbC1ib2R5IGZsZXgtZmlsbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZV9zY3JvbGxiYXInIDogZGlzYWJsZVNjcm9sbGJhciA9PT0gdHJ1ZSwgJ3AtMCc6IG5vUGFkZGluZyA9PT0gdHJ1ZSB9XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICNmb290ZXJSZWYgW25nQ2xhc3NdPVwieydzbGljay1kaWFsb2dfZm9vdGVyIG1vZGFsLWZvb3Rlcic6IGhhc0Zvb3RlciA9PT0gdHJ1ZSB9XCIgKm5nSWY9XCIhaXNNaW5pbWl6ZWRcIj48bmctY29udGVudCBzZWxlY3Q9XCJzbGljay1kaWFsb2ctZm9vdGVyXCI+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class SlickDialogService {
|
|
4
|
-
constructor() { }
|
|
5
|
-
createOverlay() {
|
|
6
|
-
let overlayEl = document.createElement("div");
|
|
7
|
-
overlayEl.classList.add("slick-dialog-overlay");
|
|
8
|
-
document.body.appendChild(overlayEl);
|
|
9
|
-
return overlayEl;
|
|
10
|
-
}
|
|
11
|
-
showOverlay(overlayEl) {
|
|
12
|
-
overlayEl.classList.add("visible");
|
|
13
|
-
overlayEl.style.zIndex = (SlickDialogService.overlayCount * 100).toString();
|
|
14
|
-
SlickDialogService.overlayCount++;
|
|
15
|
-
}
|
|
16
|
-
hideOverlay(overlayEl) {
|
|
17
|
-
overlayEl.classList.remove("visible");
|
|
18
|
-
//SlickDialogService.overlayCount--;
|
|
19
|
-
}
|
|
20
|
-
minimize(el) {
|
|
21
|
-
SlickDialogService.minimizedDialogs.push(el);
|
|
22
|
-
for (let i = 0; i < SlickDialogService.minimizedDialogs.length; i++)
|
|
23
|
-
this.positionInBottomBar(i + 1);
|
|
24
|
-
}
|
|
25
|
-
maximize(el, top, width, height, xOffset, yOffset) {
|
|
26
|
-
this.positionAtCenter(el, top, width, height, xOffset, yOffset);
|
|
27
|
-
this.removeDialogFromMinimized(el);
|
|
28
|
-
}
|
|
29
|
-
removeDialogFromMinimized(el) {
|
|
30
|
-
SlickDialogService.minimizedDialogs = SlickDialogService.minimizedDialogs.filter((x) => {
|
|
31
|
-
return x.nativeElement !== el.nativeElement;
|
|
32
|
-
});
|
|
33
|
-
for (let i = 0; i < SlickDialogService.minimizedDialogs.length; i++)
|
|
34
|
-
this.positionInBottomBar(i + 1);
|
|
35
|
-
}
|
|
36
|
-
positionAtCenter(el, top, width, height, xOffset, yOffset) {
|
|
37
|
-
el.nativeElement.style.top = top + "px";
|
|
38
|
-
el.nativeElement.style.width = width + "px";
|
|
39
|
-
el.nativeElement.style.height = height === 0 ? "initial" : height + "px";
|
|
40
|
-
el.nativeElement.style.bottom = "initial";
|
|
41
|
-
el.nativeElement.style.right = "calc(50% - " + (width / 2) + "px)";
|
|
42
|
-
el.nativeElement.style.transform = "translate(" + xOffset + "px, " + yOffset + "px)";
|
|
43
|
-
}
|
|
44
|
-
positionInBottomBar(position) {
|
|
45
|
-
const index = position - 1;
|
|
46
|
-
const slotSize = 280;
|
|
47
|
-
const slotHeight = 44;
|
|
48
|
-
const padding = 10;
|
|
49
|
-
const width = window.innerWidth;
|
|
50
|
-
const availableSlots = parseInt((width / (slotSize + padding)).toString());
|
|
51
|
-
const column = position % availableSlots;
|
|
52
|
-
const row = parseInt((position / availableSlots).toString()) + 1;
|
|
53
|
-
const el = SlickDialogService.minimizedDialogs[index];
|
|
54
|
-
el.nativeElement.style.left = "initial";
|
|
55
|
-
el.nativeElement.style.top = `calc(100% - ${row * (slotHeight + padding)}px)`;
|
|
56
|
-
el.nativeElement.style.bottom = (row * (slotHeight + padding)) + "px";
|
|
57
|
-
el.nativeElement.style.right = "0";
|
|
58
|
-
el.nativeElement.style.transform = `translateX(-${((column - 1) * slotSize) + padding}px)`;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
SlickDialogService.overlayCount = 1;
|
|
62
|
-
SlickDialogService.minimizedDialogs = new Array();
|
|
63
|
-
/** @nocollapse */ SlickDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
-
/** @nocollapse */ SlickDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickDialogService });
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickDialogService, decorators: [{
|
|
66
|
-
type: Injectable
|
|
67
|
-
}], ctorParameters: function () { return []; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1kaWFsb2cvc2xpY2stZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLGtCQUFrQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUlWLGFBQWE7UUFDbkIsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWhELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBeUI7UUFDM0MsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUUsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF5QjtRQUMzQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxvQ0FBb0M7SUFDckMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxFQUFjO1FBQzFCLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdC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R0FBRyxHQUFHLGVBQWUsR0FBRyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDOUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbkMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMvRixDQUFDOztBQTFFRywrQkFBWSxHQUFXLENBQUMsQ0FBQztBQUd0QixtQ0FBZ0IsR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO2tJQUp6QyxrQkFBa0I7c0lBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbGlja0RpYWxvZ1NlcnZpY2Uge1xyXG5cdHN0YXRpYyBvdmVybGF5Q291bnQ6IG51bWJlciA9IDE7XHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBzdGF0aWMgbWluaW1pemVkRGlhbG9ncyA9IG5ldyBBcnJheTxFbGVtZW50UmVmPigpO1xyXG5cclxuXHRwdWJsaWMgY3JlYXRlT3ZlcmxheSgpOiBIVE1MRGl2RWxlbWVudCB7XHJcblx0XHRsZXQgb3ZlcmxheUVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdG92ZXJsYXlFbC5jbGFzc0xpc3QuYWRkKFwic2xpY2stZGlhbG9nLW92ZXJsYXlcIik7XHJcblxyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdmVybGF5RWwpO1xyXG5cclxuXHRcdHJldHVybiBvdmVybGF5RWw7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc2hvd092ZXJsYXkob3ZlcmxheUVsOiBIVE1MRGl2RWxlbWVudCkge1xyXG5cdFx0b3ZlcmxheUVsLmNsYXNzTGlzdC5hZGQoXCJ2aXNpYmxlXCIpO1xyXG5cdFx0b3ZlcmxheUVsLnN0eWxlLnpJbmRleCA9IChTbGlja0RpYWxvZ1NlcnZpY2Uub3ZlcmxheUNvdW50ICogMTAwKS50b1N0cmluZygpO1xyXG5cdFx0U2xpY2tEaWFsb2dTZXJ2aWNlLm92ZXJsYXlDb3VudCsrO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGhpZGVPdmVybGF5KG92ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQpIHtcclxuXHRcdG92ZXJsYXlFbC5jbGFzc0xpc3QucmVtb3ZlKFwidmlzaWJsZVwiKTtcclxuXHRcdC8vU2xpY2tEaWFsb2dTZXJ2aWNlLm92ZXJsYXlDb3VudC0tO1xyXG5cdH1cclxuXHJcbiAgICBwdWJsaWMgbWluaW1pemUoZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBTbGlja0RpYWxvZ1NlcnZpY2UubWluaW1pemVkRGlhbG9ncy5wdXNoKGVsKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBTbGlja0RpYWxvZ1NlcnZpY2UubWluaW1pemVkRGlhbG9ncy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbkluQm90dG9tQmFyKGkgKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbWF4aW1pemUoZWw6IEVsZW1lbnRSZWYsIHRvcDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgeE9mZnNldDogbnVtYmVyLCB5T2Zmc2V0OiBudW1iZXIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5wb3NpdGlvbkF0Q2VudGVyKGVsLCB0b3AsIHdpZHRoLCBoZWlnaHQsIHhPZmZzZXQsIHlPZmZzZXQpO1xyXG4gICAgICAgIHRoaXMucmVtb3ZlRGlhbG9nRnJvbU1pbmltaXplZChlbCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVEaWFsb2dGcm9tTWluaW1pemVkKGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgU2xpY2tEaWFsb2dTZXJ2aWNlLm1pbmltaXplZERpYWxvZ3MgPSBTbGlja0RpYWxvZ1NlcnZpY2UubWluaW1pemVkRGlhbG9ncy5maWx0ZXIoKHgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHgubmF0aXZlRWxlbWVudCAhPT0gZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBTbGlja0RpYWxvZ1NlcnZpY2UubWluaW1pemVkRGlhbG9ncy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbkluQm90dG9tQmFyKGkgKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcG9zaXRpb25BdENlbnRlcihlbDogRWxlbWVudFJlZiwgdG9wOiBudW1iZXIsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCB4T2Zmc2V0OiBudW1iZXIsIHlPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gdG9wICsgXCJweFwiO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArIFwicHhcIjtcclxuICAgICAgICBlbC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCA9PT0gMCA/IFwiaW5pdGlhbFwiIDogaGVpZ2h0ICsgXCJweFwiO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm90dG9tID0gXCJpbml0aWFsXCI7XHJcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IFwiY2FsYyg1MCUgLSBcIiArICggd2lkdGggLyAyICkgKyBcInB4KVwiO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGUoXCIgKyB4T2Zmc2V0ICsgXCJweCwgXCIgKyB5T2Zmc2V0ICtcInB4KVwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwb3NpdGlvbkluQm90dG9tQmFyKHBvc2l0aW9uOiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHBvc2l0aW9uIC0gMTtcclxuICAgICAgICBjb25zdCBzbG90U2l6ZSA9IDI4MDtcclxuICAgICAgICBjb25zdCBzbG90SGVpZ2h0ID0gNDQ7XHJcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IDEwO1xyXG4gICAgICAgIGNvbnN0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlU2xvdHMgPSBwYXJzZUludCgod2lkdGggLyAoc2xvdFNpemUgKyBwYWRkaW5nKSkudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHBvc2l0aW9uICUgYXZhaWxhYmxlU2xvdHM7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gcGFyc2VJbnQoKHBvc2l0aW9uIC8gYXZhaWxhYmxlU2xvdHMpLnRvU3RyaW5nKCkpICsgMTtcclxuICAgICAgICBjb25zdCBlbCA9IFNsaWNrRGlhbG9nU2VydmljZS5taW5pbWl6ZWREaWFsb2dzW2luZGV4XTtcclxuXHJcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gXCJpbml0aWFsXCI7XHJcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBgY2FsYygxMDAlIC0gJHtyb3cgKiAoc2xvdEhlaWdodCArIHBhZGRpbmcpfXB4KWA7XHJcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSAocm93ICogKHNsb3RIZWlnaHQgKyBwYWRkaW5nKSkgKyBcInB4XCI7XHJcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IFwiMFwiO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoLSR7KChjb2x1bW4gLSAxKSAqIHNsb3RTaXplKSArIHBhZGRpbmd9cHgpYDtcclxuICAgIH1cclxufVxyXG4iXX0=
|