@acorex/components 18.5.17 → 18.7.1
Sign up to get free protection for your applications and to get access to all the features.
- package/audio-wave/lib/audio-wave.component.d.ts +5 -0
- package/button-group/lib/button-group.component.d.ts +5 -2
- package/calendar/lib/calendar-range.component.d.ts +1 -1
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/circular-progress/lib/circular-progress.component.d.ts +21 -57
- package/color-box/lib/color-box.component.d.ts +1 -1
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +28 -0
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +20 -0
- package/data-pager/lib/data-pager.component.d.ts +111 -0
- package/data-table/lib/columns/data-text-column.component.d.ts +58 -0
- package/data-table/lib/columns/row-command-column.component.d.ts +83 -0
- package/data-table/lib/columns/row-index-column.component.d.ts +51 -0
- package/data-table/lib/columns/row-select-column.component.d.ts +47 -0
- package/data-table/lib/data-table/data-table.component.d.ts +200 -0
- package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +185 -0
- package/datetime-box/lib/datetime-box.component.d.ts +60 -2
- package/datetime-input/lib/datetime-input.component.d.ts +133 -0
- package/datetime-picker/lib/datetime-picker.component.d.ts +96 -1
- package/decorators/lib/components/clear-button.component.d.ts +25 -0
- package/decorators/lib/components/close-button.component.d.ts +22 -0
- package/decorators/lib/components/generic-content.component.d.ts +4 -0
- package/decorators/lib/components/icon.component.d.ts +12 -0
- package/dialog/lib/dialog.component.d.ts +20 -0
- package/drawer/lib/drawer-container.component.d.ts +7 -0
- package/drawer/lib/drawer.component.d.ts +104 -0
- package/dropdown/lib/dropdown-box.component.d.ts +66 -0
- package/dropdown/lib/dropdown-panel.component.d.ts +85 -0
- package/dropdown-button/lib/dropdown-button.component.d.ts +38 -0
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
- package/esm2022/alert/lib/alert.component.mjs +3 -3
- package/esm2022/alert/lib/alert.module.mjs +4 -4
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +9 -4
- package/esm2022/audio-wave/lib/audio-wave.module.mjs +4 -4
- package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.module.mjs +4 -4
- package/esm2022/badge/lib/badge.component.mjs +3 -3
- package/esm2022/badge/lib/badge.module.mjs +4 -4
- package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +3 -3
- package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +3 -3
- package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +4 -4
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
- package/esm2022/button/lib/button-item-list.component.mjs +3 -3
- package/esm2022/button/lib/button-item.component.mjs +3 -3
- package/esm2022/button/lib/button.component.mjs +3 -3
- package/esm2022/button/lib/button.module.mjs +4 -4
- package/esm2022/button-group/lib/button-group.component.mjs +9 -6
- package/esm2022/button-group/lib/button-group.module.mjs +4 -4
- package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
- package/esm2022/calendar/lib/calendar.class.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/lib/check-box.component.mjs +3 -3
- package/esm2022/check-box/lib/check-box.module.mjs +4 -4
- package/esm2022/chips/lib/chips.component.mjs +3 -3
- package/esm2022/chips/lib/chips.module.mjs +4 -4
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +46 -115
- package/esm2022/circular-progress/lib/circular-progress.module.mjs +4 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.module.mjs +4 -4
- package/esm2022/color-box/lib/color-box.component.mjs +3 -3
- package/esm2022/color-box/lib/color-box.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
- package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
- package/esm2022/comment/lib/comment-container/comment-container.component.mjs +3 -3
- package/esm2022/comment/lib/comment-item/comment-item.component.mjs +3 -3
- package/esm2022/comment/lib/comment-like/comment-like.component.mjs +3 -3
- package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +3 -3
- package/esm2022/comment/lib/comment-reply-text/comment-reply-text.component.mjs +3 -3
- package/esm2022/comment/lib/comment-view/comment-view.component.mjs +3 -3
- package/esm2022/comment/lib/comment.module.mjs +4 -4
- package/esm2022/comment/lib/services/comment.service.mjs +3 -3
- package/esm2022/common/lib/classes/components.class.mjs +21 -21
- package/esm2022/common/lib/common.module.mjs +4 -4
- package/esm2022/common/lib/components/base-component.class.mjs +3 -3
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
- package/esm2022/common/lib/components/look-component.class.mjs +3 -3
- package/esm2022/common/lib/components/selection-base.component.class.mjs +6 -6
- package/esm2022/common/lib/components/value-component.class.mjs +3 -3
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
- package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
- package/esm2022/common/lib/directives/inverted-color.directive.mjs +3 -3
- package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
- package/esm2022/common/lib/directives/ripple.directive.mjs +3 -3
- package/esm2022/common/lib/services/dom.service.mjs +3 -3
- package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
- package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +3 -3
- package/esm2022/conversation/lib/conversation.module.mjs +4 -4
- package/esm2022/conversation/lib/conversation.types.mjs +3 -3
- package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +3 -3
- package/esm2022/conversation/lib/services/conversation.service.mjs +3 -3
- package/esm2022/conversation/lib/services/recording.service.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +26 -4
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +21 -4
- package/esm2022/data-pager/lib/data-pager.component.mjs +112 -4
- package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
- package/esm2022/data-table/lib/base-data-table.class.mjs +3 -3
- package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +3 -3
- package/esm2022/data-table/lib/columns/data-table-column.mjs +3 -3
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +35 -4
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +69 -7
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +43 -4
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +42 -4
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +187 -5
- package/esm2022/data-table/lib/data-table.module.mjs +4 -4
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +162 -4
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +54 -5
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +4 -4
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +125 -4
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +93 -4
- package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +4 -4
- package/esm2022/decorators/lib/components/clear-button.component.mjs +29 -4
- package/esm2022/decorators/lib/components/close-button.component.mjs +26 -4
- package/esm2022/decorators/lib/components/generic-content.component.mjs +8 -4
- package/esm2022/decorators/lib/components/icon.component.mjs +16 -4
- package/esm2022/decorators/lib/decorators.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.component.mjs +22 -5
- package/esm2022/dialog/lib/dialog.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.service.mjs +3 -3
- package/esm2022/drawer/lib/drawer-container.component.mjs +11 -4
- package/esm2022/drawer/lib/drawer.component.mjs +105 -4
- package/esm2022/drawer/lib/drawer.module.mjs +4 -4
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +61 -4
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +80 -4
- package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +39 -4
- package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +4 -4
- package/esm2022/form/lib/form-field.component.mjs +43 -4
- package/esm2022/form/lib/form.component.mjs +62 -4
- package/esm2022/form/lib/form.module.mjs +4 -4
- package/esm2022/form/lib/validation-rule.directive.mjs +3 -3
- package/esm2022/form/lib/validation-summary.component.mjs +44 -4
- package/esm2022/image/lib/image.component.mjs +50 -4
- package/esm2022/image/lib/image.module.mjs +4 -4
- package/esm2022/label/lib/label.component.mjs +35 -4
- package/esm2022/label/lib/label.module.mjs +4 -4
- package/esm2022/list/lib/list.component.mjs +87 -4
- package/esm2022/list/lib/list.module.mjs +4 -4
- package/esm2022/loading/lib/loading-spinner.component.mjs +20 -4
- package/esm2022/loading/lib/loading.component.mjs +30 -4
- package/esm2022/loading/lib/loading.directive.mjs +3 -3
- package/esm2022/loading/lib/loading.module.mjs +4 -4
- package/esm2022/loading/lib/loading.service.mjs +3 -3
- package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +42 -5
- package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +4 -4
- package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +3 -3
- package/esm2022/menu/lib/menu-item/menu-item.component.mjs +50 -4
- package/esm2022/menu/lib/menu.component.mjs +10 -4
- package/esm2022/menu/lib/menu.module.mjs +4 -4
- package/esm2022/menu/lib/menu.service.mjs +3 -3
- package/esm2022/nav/lib/nav-item/nav-item.component.mjs +26 -4
- package/esm2022/nav/lib/nav.component.mjs +8 -4
- package/esm2022/nav/lib/nav.module.mjs +4 -4
- package/esm2022/navbar/lib/navbar.component.mjs +9 -4
- package/esm2022/navbar/lib/navbar.module.mjs +4 -4
- package/esm2022/notification/lib/notification.component.mjs +13 -4
- package/esm2022/notification/lib/notification.module.mjs +4 -4
- package/esm2022/notification/lib/notification.service.mjs +3 -3
- package/esm2022/number-box/lib/number-box.component.mjs +77 -8
- package/esm2022/number-box/lib/number-box.module.mjs +4 -4
- package/esm2022/otp/lib/otp.component.mjs +38 -4
- package/esm2022/otp/lib/otp.module.mjs +4 -4
- package/esm2022/page/lib/base-page.class.mjs +3 -3
- package/esm2022/page/lib/page.component.mjs +18 -4
- package/esm2022/page/lib/page.module.mjs +4 -4
- package/esm2022/paint/acorex-components-paint.mjs +5 -0
- package/esm2022/paint/index.mjs +8 -0
- package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +38 -0
- package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +15 -0
- package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +46 -0
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.mjs +37 -0
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +55 -0
- package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +104 -0
- package/esm2022/paint/lib/paint/paint.service.mjs +17 -0
- package/esm2022/paint/lib/paint.module.mjs +50 -0
- package/esm2022/password-box/lib/password-box.component.mjs +13 -4
- package/esm2022/password-box/lib/password-box.module.mjs +4 -4
- package/esm2022/phone-box/lib/phone-box.component.mjs +38 -4
- package/esm2022/phone-box/lib/phone-box.module.mjs +4 -4
- package/esm2022/picker/lib/picker-column.directive.mjs +3 -3
- package/esm2022/picker/lib/picker.component.mjs +29 -4
- package/esm2022/picker/lib/picker.module.mjs +4 -4
- package/esm2022/popover/lib/popover.component.mjs +118 -4
- package/esm2022/popover/lib/popover.module.mjs +4 -4
- package/esm2022/popup/lib/popup.component.mjs +34 -9
- package/esm2022/popup/lib/popup.module.mjs +4 -4
- package/esm2022/popup/lib/popup.service.mjs +3 -3
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +33 -4
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
- package/esm2022/radio/lib/radio.component.mjs +8 -5
- package/esm2022/radio/lib/radio.module.mjs +4 -4
- package/esm2022/range-slider/lib/range-slider.component.mjs +8 -4
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +18 -4
- package/esm2022/result/lib/result.module.mjs +4 -4
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +19 -4
- package/esm2022/routing-progress/lib/routing-progress.module.mjs +4 -4
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler.component.mjs +6 -4
- package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
- package/esm2022/scss/lib/scss.module.mjs +4 -4
- package/esm2022/search-box/lib/search-box.component.mjs +3 -3
- package/esm2022/search-box/lib/search-box.module.mjs +4 -4
- package/esm2022/select-box/lib/select-box.component.mjs +5 -5
- package/esm2022/select-box/lib/select-box.module.mjs +4 -4
- package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
- package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +3 -3
- package/esm2022/side-menu/lib/side-menu.component.mjs +3 -3
- package/esm2022/side-menu/lib/side-menu.module.mjs +4 -4
- package/esm2022/skeleton/lib/skeleton.component.mjs +3 -3
- package/esm2022/skeleton/lib/skeleton.module.mjs +4 -4
- package/esm2022/slider/lib/slider.component.mjs +3 -3
- package/esm2022/slider/lib/slider.module.mjs +4 -4
- package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +3 -3
- package/esm2022/step-wizard/lib/step-wizard.component.mjs +17 -4
- package/esm2022/step-wizard/lib/step-wizard.directive.mjs +3 -3
- package/esm2022/step-wizard/lib/step-wizard.module.mjs +4 -4
- package/esm2022/switch/lib/switch-content.component.mjs +3 -3
- package/esm2022/switch/lib/switch.component.mjs +3 -3
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
- package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.module.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +8 -4
- package/esm2022/tag/lib/tag.module.mjs +4 -4
- package/esm2022/text-area/lib/text-area.component.mjs +8 -4
- package/esm2022/text-area/lib/text-area.module.mjs +4 -4
- package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
- package/esm2022/text-box/lib/text-box.component.mjs +3 -3
- package/esm2022/text-box/lib/text-box.module.mjs +4 -4
- package/esm2022/toast/lib/toast.component.mjs +3 -3
- package/esm2022/toast/lib/toast.module.mjs +4 -4
- package/esm2022/toast/lib/toast.service.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/uploader/index.mjs +5 -5
- package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +3 -3
- package/esm2022/uploader/lib/{uploader-dialog-container.component.mjs → uploader-dialog-container/uploader-dialog-container.component.mjs} +5 -5
- package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +27 -0
- package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +24 -0
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +26 -19
- package/esm2022/uploader/lib/uploader.models.mjs +26 -11
- package/esm2022/uploader/lib/uploader.module.mjs +22 -17
- package/esm2022/uploader/lib/uploader.service.mjs +54 -25
- package/esm2022/wysiwyg/index.mjs +7 -1
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +56 -24
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +7 -267
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +59 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +53 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +156 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +36 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +49 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +67 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -8
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -5
- package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +38 -6
- package/fesm2022/acorex-components-action-sheet.mjs +10 -10
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-audio-wave.mjs +12 -7
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs +12 -9
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +13 -13
- package/fesm2022/acorex-components-calendar.mjs +13 -13
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs +49 -118
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-palette.mjs +26 -26
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +25 -25
- package/fesm2022/acorex-components-common.mjs +70 -70
- package/fesm2022/acorex-components-conversation.mjs +49 -49
- package/fesm2022/acorex-components-data-pager.mjs +178 -31
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +545 -35
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +57 -8
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +128 -7
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +96 -7
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +79 -16
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +28 -11
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +118 -10
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +42 -7
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +146 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +153 -16
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +53 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +38 -7
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +90 -7
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +48 -11
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +58 -16
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +65 -13
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-nav.mjs +36 -10
- package/fesm2022/acorex-components-nav.mjs.map +1 -1
- package/fesm2022/acorex-components-navbar.mjs +12 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +19 -10
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +80 -11
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +41 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +24 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +336 -0
- package/fesm2022/acorex-components-paint.mjs.map +1 -0
- package/fesm2022/acorex-components-password-box.mjs +16 -7
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +41 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +35 -10
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +121 -7
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +40 -15
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +36 -7
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +11 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +11 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +21 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +22 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +15 -13
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs +8 -8
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-side-menu.mjs +10 -10
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-step-wizard.mjs +26 -13
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-tabs.mjs +13 -13
- package/fesm2022/acorex-components-tag.mjs +11 -7
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +11 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-toast.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-uploader.mjs +141 -82
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +365 -178
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/form/lib/form-field.component.d.ts +45 -0
- package/form/lib/form.component.d.ts +58 -0
- package/form/lib/validation-summary.component.d.ts +49 -0
- package/image/lib/image.component.d.ts +61 -0
- package/label/lib/label.component.d.ts +34 -0
- package/list/lib/list.component.d.ts +98 -0
- package/loading/lib/loading-spinner.component.d.ts +20 -0
- package/loading/lib/loading.component.d.ts +35 -0
- package/loading-dialog/lib/loading-dialog.component.d.ts +39 -1
- package/menu/lib/menu-item/menu-item.component.d.ts +52 -0
- package/menu/lib/menu.component.d.ts +7 -0
- package/nav/lib/nav-item/nav-item.component.d.ts +22 -0
- package/nav/lib/nav.component.d.ts +4 -0
- package/navbar/lib/navbar.component.d.ts +5 -0
- package/notification/lib/notification.component.d.ts +11 -0
- package/number-box/lib/number-box.component.d.ts +74 -1
- package/otp/lib/otp.component.d.ts +35 -1
- package/package.json +74 -68
- package/page/lib/page.component.d.ts +15 -0
- package/paint/README.md +3 -0
- package/paint/index.d.ts +7 -0
- package/paint/lib/paint/paint-container/paint-container.component.d.ts +16 -0
- package/paint/lib/paint/paint-toolbar/paint-toolbar.component.d.ts +9 -0
- package/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.d.ts +27 -0
- package/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.d.ts +20 -0
- package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +33 -0
- package/paint/lib/paint/paint-view/paint-view.component.d.ts +42 -0
- package/paint/lib/paint/paint.service.d.ts +10 -0
- package/paint/lib/paint.module.d.ts +19 -0
- package/password-box/lib/password-box.component.d.ts +14 -1
- package/phone-box/lib/phone-box.component.d.ts +39 -1
- package/picker/lib/picker.component.d.ts +29 -0
- package/popover/lib/popover.component.d.ts +129 -0
- package/popup/lib/popup.component.d.ts +39 -4
- package/progress-bar/lib/progress-bar.component.d.ts +30 -1
- package/radio/lib/radio.component.d.ts +7 -1
- package/range-slider/lib/range-slider.component.d.ts +4 -0
- package/result/lib/result.component.d.ts +14 -0
- package/routing-progress/lib/routing-progress.component.d.ts +16 -0
- package/scheduler/lib/scheduler.component.d.ts +2 -0
- package/search-box/lib/search-box.component.d.ts +1 -1
- package/select-box/lib/select-box.component.d.ts +1 -1
- package/slider/lib/slider.component.d.ts +1 -1
- package/step-wizard/lib/step-wizard.component.d.ts +13 -0
- package/switch/lib/switch.component.d.ts +1 -1
- package/tag/lib/tag.component.d.ts +4 -0
- package/text-area/lib/text-area.component.d.ts +6 -1
- package/text-box/lib/text-box.component.d.ts +1 -1
- package/uploader/index.d.ts +4 -4
- package/uploader/lib/{uploader-drop-zone.component.d.ts → uploader-drop-zone/uploader-drop-zone.component.d.ts} +3 -1
- package/uploader/lib/{uploader-list.component.d.ts → uploader-list/uploader-list.component.d.ts} +2 -3
- package/uploader/lib/uploader-zone.directive.d.ts +1 -0
- package/uploader/lib/uploader.models.d.ts +14 -4
- package/uploader/lib/uploader.module.d.ts +4 -4
- package/uploader/lib/uploader.service.d.ts +6 -1
- package/wysiwyg/index.d.ts +6 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +20 -15
- package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +1 -100
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +31 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +35 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +37 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +21 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +35 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +23 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +3 -1
- package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -1
- package/wysiwyg/lib/wysiwyg.module.d.ts +14 -8
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +0 -18
- package/esm2022/uploader/lib/uploader-list.component.mjs +0 -26
- /package/uploader/lib/{uploader-dialog-container.component.d.ts → uploader-dialog-container/uploader-dialog-container.component.d.ts} +0 -0
@@ -5,40 +5,83 @@ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
5
5
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, inject, } from '@angular/core';
|
6
6
|
import { delay, fromEvent } from 'rxjs';
|
7
7
|
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* @category Components
|
10
|
+
* A popover component with custom encapsulation and change detection settings.
|
11
|
+
*/
|
8
12
|
export class AXPopoverComponent extends MXBaseComponent {
|
9
13
|
constructor() {
|
10
14
|
super(...arguments);
|
15
|
+
/** @ignore */
|
11
16
|
this._platform = inject(AXPlatform);
|
17
|
+
/** @ignore */
|
12
18
|
this._overlay = inject(Overlay);
|
19
|
+
/** @ignore */
|
13
20
|
this._isMouseOverButton = false;
|
21
|
+
/** @ignore */
|
14
22
|
this._isMouseOverTooltip = false;
|
23
|
+
/** @ignore */
|
15
24
|
this._targetEvents = {};
|
25
|
+
/** @ignore */
|
16
26
|
this._overlayEvents = {};
|
17
27
|
//
|
28
|
+
/** @ignore */
|
18
29
|
this._offsetX = 0;
|
19
30
|
//
|
31
|
+
/** @ignore */
|
20
32
|
this._offsetY = 0;
|
21
33
|
//
|
34
|
+
/** @ignore */
|
22
35
|
this._defautPlacements = convertToPlacement('bottom-start');
|
36
|
+
/** @ignore */
|
23
37
|
this._placements = [...this._defautPlacements];
|
38
|
+
/** @ignore */
|
24
39
|
this._placement = this._placements;
|
25
40
|
//
|
41
|
+
/** @ignore */
|
26
42
|
this._openOn = 'toggle';
|
27
43
|
//
|
44
|
+
/** @ignore */
|
28
45
|
this._closeOn = 'clickOut';
|
29
46
|
//
|
47
|
+
/**
|
48
|
+
* Determines if a backdrop should be displayed behind the popover.
|
49
|
+
*/
|
30
50
|
this.hasBackdrop = false;
|
31
51
|
//
|
52
|
+
/**
|
53
|
+
* Delay in milliseconds before the popover opens after a trigger event.
|
54
|
+
*/
|
32
55
|
this.openAfter = 200;
|
56
|
+
/**
|
57
|
+
* Delay in milliseconds before the popover closes after a trigger event.
|
58
|
+
*/
|
33
59
|
this.closeAfter = 200;
|
60
|
+
/**
|
61
|
+
* Enables or disables adaptivity.
|
62
|
+
*/
|
34
63
|
this.adaptivityEnabled = false;
|
35
64
|
//
|
65
|
+
/**
|
66
|
+
* Emits when the component is opened.
|
67
|
+
* @event
|
68
|
+
*/
|
36
69
|
this.onOpened = new EventEmitter();
|
70
|
+
/**
|
71
|
+
* Emits when the component is closed.
|
72
|
+
* @event
|
73
|
+
*/
|
37
74
|
this.onClosed = new EventEmitter();
|
38
75
|
}
|
76
|
+
/**
|
77
|
+
* Gets or sets the horizontal offset and updates it accordingly.
|
78
|
+
*/
|
39
79
|
get offsetX() {
|
40
80
|
return this._offsetX;
|
41
81
|
}
|
82
|
+
/**
|
83
|
+
* Sets the horizontal offset and updates it with a callback.
|
84
|
+
*/
|
42
85
|
set offsetX(v) {
|
43
86
|
this.setOption({
|
44
87
|
name: 'offsetX',
|
@@ -48,9 +91,15 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
48
91
|
},
|
49
92
|
});
|
50
93
|
}
|
94
|
+
/**
|
95
|
+
* Vertical offset with update callback.
|
96
|
+
*/
|
51
97
|
get offsetY() {
|
52
98
|
return this._offsetY;
|
53
99
|
}
|
100
|
+
/**
|
101
|
+
* Sets the vertical offset and updates the component position.
|
102
|
+
*/
|
54
103
|
set offsetY(v) {
|
55
104
|
this.setOption({
|
56
105
|
name: 'offsetY',
|
@@ -60,9 +109,15 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
60
109
|
},
|
61
110
|
});
|
62
111
|
}
|
112
|
+
/**
|
113
|
+
* Gets or sets the target element, supporting HTMLElement, ElementRef, or MXBaseComponent.
|
114
|
+
*/
|
63
115
|
get target() {
|
64
116
|
return this._target;
|
65
117
|
}
|
118
|
+
/**
|
119
|
+
* Sets the target element and updates event bindings.
|
120
|
+
*/
|
66
121
|
set target(v) {
|
67
122
|
this.removeTargetEvents();
|
68
123
|
if (v instanceof HTMLElement)
|
@@ -74,9 +129,15 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
74
129
|
//
|
75
130
|
this.bindTargetEvents();
|
76
131
|
}
|
132
|
+
/**
|
133
|
+
* Gets or sets the component's placement and updates position settings.
|
134
|
+
*/
|
77
135
|
get placement() {
|
78
136
|
return this._placement;
|
79
137
|
}
|
138
|
+
/**
|
139
|
+
* Sets the component's placement and updates its position settings.
|
140
|
+
*/
|
80
141
|
set placement(v) {
|
81
142
|
this.setOption({
|
82
143
|
name: 'placement',
|
@@ -89,12 +150,21 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
89
150
|
},
|
90
151
|
});
|
91
152
|
}
|
153
|
+
/**
|
154
|
+
* Gets the reference to the component.
|
155
|
+
*/
|
92
156
|
get componentRef() {
|
93
157
|
return this._componentRef;
|
94
158
|
}
|
159
|
+
/**
|
160
|
+
* Gets or sets the trigger for opening the popover and updates target events.
|
161
|
+
*/
|
95
162
|
get openOn() {
|
96
163
|
return this._openOn;
|
97
164
|
}
|
165
|
+
/**
|
166
|
+
* Sets the trigger for opening the popover and updates target events.
|
167
|
+
*/
|
98
168
|
set openOn(v) {
|
99
169
|
this.setOption({
|
100
170
|
name: 'openOn',
|
@@ -104,9 +174,16 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
104
174
|
},
|
105
175
|
});
|
106
176
|
}
|
177
|
+
/**
|
178
|
+
* Gets or sets the trigger for closing the popover.
|
179
|
+
*/
|
107
180
|
get closeOn() {
|
108
181
|
return this._closeOn;
|
109
182
|
}
|
183
|
+
/**
|
184
|
+
* Sets the trigger for closing the popover and rebinds target events.
|
185
|
+
* @param v
|
186
|
+
*/
|
110
187
|
set closeOn(v) {
|
111
188
|
this.setOption({
|
112
189
|
name: 'closeOn',
|
@@ -116,12 +193,14 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
116
193
|
},
|
117
194
|
});
|
118
195
|
}
|
196
|
+
/** @ignore */
|
119
197
|
_emitOnOpenedEvent() {
|
120
198
|
this.onOpened.emit({
|
121
199
|
component: this,
|
122
200
|
htmlElement: this.getHostElement(),
|
123
201
|
});
|
124
202
|
}
|
203
|
+
/** @ignore */
|
125
204
|
_emitOnClosedEvent() {
|
126
205
|
this.onClosed.emit({
|
127
206
|
component: this,
|
@@ -129,9 +208,11 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
129
208
|
});
|
130
209
|
}
|
131
210
|
//
|
211
|
+
/** @ignore */
|
132
212
|
_handleMouseEnter(e) {
|
133
213
|
this._isMouseOverTooltip = true;
|
134
214
|
}
|
215
|
+
/** @ignore */
|
135
216
|
_handleMouseLeave(e) {
|
136
217
|
this._isMouseOverTooltip = false;
|
137
218
|
setTimeout(() => {
|
@@ -140,11 +221,13 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
140
221
|
}
|
141
222
|
}, 250);
|
142
223
|
}
|
224
|
+
/** @ignore */
|
143
225
|
removeTargetEvents() {
|
144
226
|
Object.entries(this._targetEvents).forEach((e) => {
|
145
227
|
e[1].unsubscribe();
|
146
228
|
});
|
147
229
|
}
|
230
|
+
/** @ignore */
|
148
231
|
bindTargetEvents() {
|
149
232
|
this.removeTargetEvents();
|
150
233
|
if (!this._target)
|
@@ -173,6 +256,7 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
173
256
|
}
|
174
257
|
}
|
175
258
|
//
|
259
|
+
/** @ignore */
|
176
260
|
bindOverlayEvents() {
|
177
261
|
this.removeOverlayEvents();
|
178
262
|
this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {
|
@@ -208,6 +292,7 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
208
292
|
});
|
209
293
|
});
|
210
294
|
}
|
295
|
+
/** @ignore */
|
211
296
|
removeOverlayEvents() {
|
212
297
|
this._overlayRef?.overlayElement.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));
|
213
298
|
this._overlayRef?.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));
|
@@ -216,10 +301,16 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
216
301
|
});
|
217
302
|
}
|
218
303
|
//
|
304
|
+
/**
|
305
|
+
* Toggles the component's open state.
|
306
|
+
*/
|
219
307
|
toggle() {
|
220
308
|
this.isOpen ? this.close() : this.open();
|
221
309
|
}
|
222
310
|
//
|
311
|
+
/**
|
312
|
+
* Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.
|
313
|
+
*/
|
223
314
|
close() {
|
224
315
|
if (!this.isOpen) {
|
225
316
|
return;
|
@@ -229,6 +320,9 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
229
320
|
this._emitOnClosedEvent();
|
230
321
|
}
|
231
322
|
//
|
323
|
+
/**
|
324
|
+
* Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.
|
325
|
+
*/
|
232
326
|
open() {
|
233
327
|
if (this.isOpen) {
|
234
328
|
return;
|
@@ -237,16 +331,19 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
237
331
|
this.openOverlayInternal();
|
238
332
|
this._emitOnOpenedEvent();
|
239
333
|
}
|
334
|
+
/** @ignore */
|
240
335
|
saveFocus() {
|
241
336
|
if (isBrowser()) {
|
242
337
|
this._lastActiveElement = document.activeElement;
|
243
338
|
}
|
244
339
|
}
|
340
|
+
/** @ignore */
|
245
341
|
restoreFocus() {
|
246
342
|
if (this._lastActiveElement?.focus) {
|
247
343
|
this._lastActiveElement.focus();
|
248
344
|
}
|
249
345
|
}
|
346
|
+
/** @ignore */
|
250
347
|
openOverlayInternal() {
|
251
348
|
const targetRef = this._target;
|
252
349
|
if (!targetRef)
|
@@ -297,12 +394,21 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
297
394
|
this._overlayRef?.attach(this._portal);
|
298
395
|
}
|
299
396
|
}
|
397
|
+
/**
|
398
|
+
* Checks if the overlay is currently open.
|
399
|
+
* @returns {boolean}
|
400
|
+
*/
|
300
401
|
get isOpen() {
|
301
402
|
return this._overlayRef ? this._overlayRef.hasAttached() : false;
|
302
403
|
}
|
404
|
+
/**
|
405
|
+
* Determines if the actionsheet style should be applied.
|
406
|
+
* @returns {boolean}
|
407
|
+
*/
|
303
408
|
get isActionsheetStyle() {
|
304
409
|
return this._platform.is('SM') && this.adaptivityEnabled;
|
305
410
|
}
|
411
|
+
/** @ignore */
|
306
412
|
updatePositionStrategy() {
|
307
413
|
const targetRef = this._target;
|
308
414
|
if (!targetRef)
|
@@ -316,6 +422,7 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
316
422
|
}
|
317
423
|
this._overlayRef?.updatePositionStrategy(strategy);
|
318
424
|
}
|
425
|
+
/** @ignore */
|
319
426
|
updateOffset() {
|
320
427
|
this._placements?.forEach((p) => {
|
321
428
|
if (this.offsetY != null)
|
@@ -324,24 +431,31 @@ export class AXPopoverComponent extends MXBaseComponent {
|
|
324
431
|
p.offsetX = this.offsetX;
|
325
432
|
});
|
326
433
|
}
|
434
|
+
/**
|
435
|
+
* Updates the position of the overlay and focuses on it.
|
436
|
+
*/
|
327
437
|
updatePosition() {
|
328
438
|
this._overlayRef?.updatePosition();
|
329
439
|
this.focus();
|
330
440
|
}
|
441
|
+
/**
|
442
|
+
* Focuses the overlay element.
|
443
|
+
*/
|
331
444
|
focus() {
|
332
445
|
//TODO: need this??
|
333
446
|
}
|
334
447
|
//
|
448
|
+
/** @ignore */
|
335
449
|
ngOnDestroy() {
|
336
450
|
this.removeTargetEvents();
|
337
451
|
this.removeOverlayEvents();
|
338
452
|
this._overlayRef?.detach();
|
339
453
|
this._overlayRef?.dispose();
|
340
454
|
}
|
341
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
455
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
456
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPopoverComponent, selector: "ax-popover", inputs: { offsetX: "offsetX", offsetY: "offsetY", target: "target", placement: "placement", content: "content", openOn: "openOn", closeOn: "closeOn", hasBackdrop: "hasBackdrop", openAfter: "openAfter", closeAfter: "closeAfter", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
343
457
|
}
|
344
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverComponent, decorators: [{
|
345
459
|
type: Component,
|
346
460
|
args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
|
347
461
|
}], propDecorators: { offsetX: [{
|
@@ -376,4 +490,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
376
490
|
}], onClosed: [{
|
377
491
|
type: Output
|
378
492
|
}] } });
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvbGliL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXIvc3JjL2xpYi9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxvQkFBb0IsRUFFcEIsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBZ0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUF5QixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFhdEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFQdkQ7O1FBUVUsY0FBUyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsa0JBQWEsR0FJakIsRUFBRSxDQUFDO1FBQ0MsbUJBQWMsR0FLbEIsRUFBRSxDQUFDO1FBRVAsRUFBRTtRQUNNLGFB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QUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBdFlVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDRZQUZsQixDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLDhLQ25DakYsMEVBRWM7OzJGRG1DRCxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxDQUFDOzhCQXdCcEUsT0FBTztzQkFEakIsS0FBSztnQkFnQkssT0FBTztzQkFEakIsS0FBSztnQkFpQkssTUFBTTtzQkFEaEIsS0FBSztnQkFtQkssU0FBUztzQkFEbkIsS0FBSztnQkE0Qk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTNDLE9BQU87c0JBRE4sS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQWdCSyxPQUFPO3NCQURqQixLQUFLO2dCQWdCTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTTtnQkFHUCxRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbm5lY3RlZFBvc2l0aW9uLFxuICBBWEV2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhQbGFjZW1lbnRUeXBlLFxuICBNWEJhc2VDb21wb25lbnQsXG4gIGNvbnZlcnRUb1BsYWNlbWVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBsYXRmb3JtLCBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgUG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWxheSwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEFYUG9wb3Zlck9wZW5UcmlnZ2VyID0gJ21hbnVhbCcgfCAnY2xpY2snIHwgJ2hvdmVyJyB8ICd0b2dnbGUnO1xuXG5leHBvcnQgdHlwZSBBWFBvcG92ZXJDbG9zZVRyaWdnZXIgPSAnbWFudWFsJyB8ICdjbGlja091dCcgfCAnbGVhdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUG9wb3ZlckNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG4gIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgX292ZXJsYXlSZWYhOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIF9pc01vdXNlT3ZlckJ1dHRvbiA9IGZhbHNlO1xuICBwcml2YXRlIF9pc01vdXNlT3ZlclRvb2x0aXAgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YXJnZXRFdmVudHM6IHtcbiAgICBtb3VzZWVudGVyPzogU3Vic2NyaXB0aW9uO1xuICAgIG1vdXNlbGVhdmU/OiBTdWJzY3JpcHRpb247XG4gICAgY2xpY2s/OiBTdWJzY3JpcHRpb247XG4gIH0gPSB7fTtcbiAgcHJpdmF0ZSBfb3ZlcmxheUV2ZW50czoge1xuICAgIGF0dGFjaD86IFN1YnNjcmlwdGlvbjtcbiAgICBkZXRhY2g/OiBTdWJzY3JpcHRpb247XG4gICAgc2Nyb2xsPzogU3Vic2NyaXB0aW9uO1xuICAgIG91dHNpZGU/OiBTdWJzY3JpcHRpb247XG4gIH0gPSB7fTtcblxuICAvL1xuICBwcml2YXRlIF9vZmZzZXRYID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvZmZzZXRYKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29mZnNldFg7XG4gIH1cbiAgcHVibGljIHNldCBvZmZzZXRYKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdvZmZzZXRYJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICAvL1xuICBwcml2YXRlIF9vZmZzZXRZID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvZmZzZXRZKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29mZnNldFk7XG4gIH1cbiAgcHVibGljIHNldCBvZmZzZXRZKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdvZmZzZXRZJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vXG4gIHByaXZhdGUgX3RhcmdldCE6IEhUTUxFbGVtZW50O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBNWEJhc2VDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gIH1cbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgTVhCYXNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5yZW1vdmVUYXJnZXRFdmVudHMoKTtcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB0aGlzLl90YXJnZXQgPSB2O1xuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWxzZSBpZiAodHlwZW9mIHY/LmdldEhvc3RFbGVtZW50ID09ICdmdW5jdGlvbicpIHRoaXMuX3RhcmdldCA9IHYuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAvL1xuICAgIHRoaXMuYmluZFRhcmdldEV2ZW50cygpO1xuICB9XG4gIC8vXG4gIHByaXZhdGUgX2RlZmF1dFBsYWNlbWVudHM6IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IGNvbnZlcnRUb1BsYWNlbWVudCgnYm90dG9tLXN0YXJ0Jyk7XG5cbiAgcHJpdmF0ZSBfcGxhY2VtZW50czogQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gWy4uLnRoaXMuX2RlZmF1dFBsYWNlbWVudHNdO1xuXG4gIHByaXZhdGUgX3BsYWNlbWVudDogQVhQbGFjZW1lbnRUeXBlID0gdGhpcy5fcGxhY2VtZW50cztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKTogQVhQbGFjZW1lbnRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2VtZW50O1xuICB9XG4gIHB1YmxpYyBzZXQgcGxhY2VtZW50KHY6IEFYUGxhY2VtZW50VHlwZSkge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdwbGFjZW1lbnQnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAobywgbikgPT4ge1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSBjb252ZXJ0VG9QbGFjZW1lbnQobik7XG4gICAgICAgIHRoaXMuX3BsYWNlbWVudHMgPSBjb252ZXJ0ZWQubGVuZ3RoID8gY29udmVydGVkIDogdGhpcy5fZGVmYXV0UGxhY2VtZW50cztcbiAgICAgICAgdGhpcy51cGRhdGVPZmZzZXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8vXG4gIHByaXZhdGUgX3BvcnRhbDogUG9ydGFsPHVua25vd24+O1xuXG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+O1xuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgY29udGV4dDogdW5rbm93bjtcblxuICAvL1xuICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgLy9cbiAgQElucHV0KClcbiAgY29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBDb21wb25lbnRUeXBlPHVua25vd24+O1xuICAvL1xuICBwcml2YXRlIF9vcGVuT246IEFYUG9wb3Zlck9wZW5UcmlnZ2VyID0gJ3RvZ2dsZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvcGVuT24oKTogQVhQb3BvdmVyT3BlblRyaWdnZXIge1xuICAgIHJldHVybiB0aGlzLl9vcGVuT247XG4gIH1cbiAgcHVibGljIHNldCBvcGVuT24odjogQVhQb3BvdmVyT3BlblRyaWdnZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnb3Blbk9uJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmJpbmRUYXJnZXRFdmVudHMoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgLy9cbiAgcHJpdmF0ZSBfY2xvc2VPbjogQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyID0gJ2NsaWNrT3V0JztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBjbG9zZU9uKCk6IEFYUG9wb3ZlckNsb3NlVHJpZ2dlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlT247XG4gIH1cbiAgcHVibGljIHNldCBjbG9zZU9uKHY6IEFYUG9wb3ZlckNsb3NlVHJpZ2dlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdjbG9zZU9uJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmJpbmRUYXJnZXRFdmVudHMoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvL1xuICBASW5wdXQoKVxuICBoYXNCYWNrZHJvcCA9IGZhbHNlO1xuICAvL1xuICBASW5wdXQoKVxuICBvcGVuQWZ0ZXIgPSAyMDA7XG4gIEBJbnB1dCgpXG4gIGNsb3NlQWZ0ZXIgPSAyMDA7XG5cbiAgQElucHV0KClcbiAgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGFkYXB0aXZpdHlFbmFibGVkID0gZmFsc2U7XG4gIC8vXG4gIEBPdXRwdXQoKVxuICBvbk9wZW5lZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xuICBAT3V0cHV0KClcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcblxuICBwcml2YXRlIF9lbWl0T25PcGVuZWRFdmVudCgpIHtcbiAgICB0aGlzLm9uT3BlbmVkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgIH0pO1xuICB9XG4gIC8vXG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb3VzZUVudGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXAgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb3VzZUxlYXZlKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXAgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5faXNNb3VzZU92ZXJCdXR0b24gJiYgdGhpcy5jbG9zZU9uID09ICdsZWF2ZScpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0sIDI1MCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVRhcmdldEV2ZW50cygpOiB2b2lkIHtcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLl90YXJnZXRFdmVudHMpLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGVbMV0udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFRhcmdldEV2ZW50cygpIHtcbiAgICB0aGlzLnJlbW92ZVRhcmdldEV2ZW50cygpO1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0TW91c2VFbnRlciQgPSBmcm9tRXZlbnQodGhpcy5fdGFyZ2V0LCAnbW91c2VlbnRlcicpO1xuICAgIGNvbnN0IHRhcmdldE1vdXNlTGVhdmUkID0gZnJvbUV2ZW50KHRoaXMuX3RhcmdldCwgJ21vdXNlbGVhdmUnKTtcblxuICAgIGlmICh0aGlzLm9wZW5PbiA9PSAnaG92ZXInKSB7XG4gICAgICB0aGlzLl90YXJnZXRFdmVudHMubW91c2VlbnRlciA9IHRhcmdldE1vdXNlRW50ZXIkLnBpcGUoZGVsYXkodGhpcy5vcGVuQWZ0ZXIpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pc01vdXNlT3ZlckJ1dHRvbiA9IHRydWU7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xvc2VPbiA9PSAnbGVhdmUnKSB7XG4gICAgICB0aGlzLl90YXJnZXRFdmVudHMubW91c2VsZWF2ZSA9IHRhcmdldE1vdXNlTGVhdmUkLnBpcGUoZGVsYXkodGhpcy5jbG9zZUFmdGVyKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNNb3VzZU92ZXJCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXApIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wZW5PbiA9PT0gJ2NsaWNrJyB8fCB0aGlzLm9wZW5PbiA9PT0gJ3RvZ2dsZScpIHtcbiAgICAgIGNvbnN0IGNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdjbGljaycpO1xuICAgICAgdGhpcy5fdGFyZ2V0RXZlbnRzLmNsaWNrID0gY2xpY2skLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5PbiA9PSAndG9nZ2xlJyA/IHRoaXMudG9nZ2xlKCkgOiB0aGlzLm9wZW4oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvL1xuICBwcml2YXRlIGJpbmRPdmVybGF5RXZlbnRzKCkge1xuICAgIHRoaXMucmVtb3ZlT3ZlcmxheUV2ZW50cygpO1xuICAgIHRoaXMuX292ZXJsYXlFdmVudHMuYXR0YWNoID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vcGVuT24gPT0gJ2hvdmVyJykge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9oYW5kbGVNb3VzZUVudGVyLmJpbmQodGhpcykpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2xvc2VPbiA9PSAnbGVhdmUnKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuX2hhbmRsZU1vdXNlTGVhdmUuYmluZCh0aGlzKSk7XG4gICAgICB9XG4gICAgICAvL1xuICAgICAgdGhpcy5fb3ZlcmxheUV2ZW50cy5vdXRzaWRlID0gdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlT24gPT0gJ2NsaWNrT3V0JyAmJiB0aGlzLmlzT3BlbiAmJiAhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGVsKSAmJiAhdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQ/LmNvbnRhaW5zKGVsKSkge1xuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICAvL1xuXG4gICAgICB0aGlzLl9vdmVybGF5RXZlbnRzLnNjcm9sbCA9IHRoaXMuX3BsYXRmb3JtLnNjcm9sbC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgLy9fX2F4Q29udGV4dF9fXG4gICAgICAgIGNvbnN0IGVsID0gYy5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICghdGhpcy5pc0FjdGlvbnNoZWV0U3R5bGUpIHtcbiAgICAgICAgICBpZiAoZWwgPT0gKGRvY3VtZW50IGFzIGFueSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZWw/LmNsb3Nlc3QgJiZcbiAgICAgICAgICAgICFlbC5jbG9zZXN0KCcuYXgtb3ZlcmxheS1wYW5lJykgJiZcbiAgICAgICAgICAgICF0aGlzLl90YXJnZXQuY29udGFpbnMoZWwpICYmXG4gICAgICAgICAgICAhdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQ/LmNvbnRhaW5zKGVsKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU92ZXJsYXlFdmVudHMoKSB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMuX2hhbmRsZU1vdXNlRW50ZXIuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuX2hhbmRsZU1vdXNlTGVhdmUuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5fb3ZlcmxheUV2ZW50cykuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZVsxXS51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy9cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gIH1cbiAgLy9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnJlc3RvcmVGb2N1cygpO1xuICAgIHRoaXMuX2VtaXRPbkNsb3NlZEV2ZW50KCk7XG4gIH1cblxuICAvL1xuICBvcGVuKCkge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNhdmVGb2N1cygpO1xuICAgIHRoaXMub3Blbk92ZXJsYXlJbnRlcm5hbCgpO1xuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVGb2N1cygpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc3RvcmVGb2N1cygpIHtcbiAgICBpZiAodGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQ/LmZvY3VzKSB7XG4gICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3Blbk92ZXJsYXlJbnRlcm5hbCgpIHtcbiAgICBjb25zdCB0YXJnZXRSZWYgPSB0aGlzLl90YXJnZXQ7XG4gICAgaWYgKCF0YXJnZXRSZWYpIHJldHVybjtcblxuICAgIC8vaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgaWYgKHRoaXMuaXNBY3Rpb25zaGVldFN0eWxlKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuYm90dG9tKCkuY2VudGVySG9yaXpvbnRhbGx5KCksXG4gICAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgICAgcGFuZWxDbGFzczogWydheC1hY3Rpb25zaGVldC1iYXNlJywgJ2F4LWFuaW1hdGUtc2xpZGVJblVwJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKHRhcmdldFJlZikud2l0aFBvc2l0aW9ucyh0aGlzLl9wbGFjZW1lbnRzKS53aXRoUHVzaChmYWxzZSksXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXG4gICAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXG4gICAgICAgIGJhY2tkcm9wQ2xhc3M6IFt0aGlzLmJhY2tkcm9wQ2xhc3MgfHwgJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLmJpbmRPdmVybGF5RXZlbnRzKCk7XG4gICAgLy99XG4gICAgLy9cbiAgICBpZiAodGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmNvbnRlbnQsIHRoaXMuZ2V0Vmlld0NvbnRhaW5lcigpLCB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5jb250ZXh0LFxuICAgICAgICByZWY6IHRoaXMsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmNvbnRlbnQpO1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fb3ZlcmxheVJlZj8uYXR0YWNoKHRoaXMuX3BvcnRhbCk7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5jb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2Jhc2VUZW1wbGF0ZSwgdGhpcy5nZXRWaWV3Q29udGFpbmVyKCksIHtcbiAgICAgICAgJGltcGxpY2l0OiB0aGlzLmNvbnRleHQsXG4gICAgICAgIHJlZjogdGhpcyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uYXR0YWNoKHRoaXMuX3BvcnRhbCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzQWN0aW9uc2hlZXRTdHlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJykgJiYgdGhpcy5hZGFwdGl2aXR5RW5hYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUG9zaXRpb25TdHJhdGVneSgpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRSZWYgPSB0aGlzLl90YXJnZXQ7XG4gICAgaWYgKCF0YXJnZXRSZWYpIHJldHVybjtcbiAgICBsZXQgc3RyYXRlZ3k6IFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgaWYgKHRoaXMuaXNBY3Rpb25zaGVldFN0eWxlKSB7XG4gICAgICBzdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5ib3R0b20oKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpLndpdGhQb3NpdGlvbnModGhpcy5fcGxhY2VtZW50cykud2l0aFB1c2goZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlT2Zmc2V0KCkge1xuICAgIHRoaXMuX3BsYWNlbWVudHM/LmZvckVhY2goKHApID0+IHtcbiAgICAgIGlmICh0aGlzLm9mZnNldFkgIT0gbnVsbCkgcC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xuICAgICAgaWYgKHRoaXMub2Zmc2V0WCAhPSBudWxsKSBwLm9mZnNldFggPSB0aGlzLm9mZnNldFg7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgLy9UT0RPOiBuZWVkIHRoaXM/P1xuICB9XG4gIC8vXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlVGFyZ2V0RXZlbnRzKCk7XG4gICAgdGhpcy5yZW1vdmVPdmVybGF5RXZlbnRzKCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2Jhc2VUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
493
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvbGliL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXIvc3JjL2xpYi9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxvQkFBb0IsRUFFcEIsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBZ0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUF5QixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdEQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFQdkQ7O1FBU0UsY0FBYztRQUNOLGNBQVMsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsY0FBYztRQUNOLGFBQVEsR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFLNUMsY0FBYztRQUNOLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUVuQyxjQUFjO1FBQ04sd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBS3BDLGNBQWM7UUFDTixrQkFB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b0IsRUFBRSxDQUFDOzhCQWtEcEUsT0FBTztzQkFMakIsS0FBSztnQkFrQ0ssT0FBTztzQkFMakIsS0FBSztnQkFtQ0ssTUFBTTtzQkFMaEIsS0FBSztnQkF1Q0ssU0FBUztzQkFMbkIsS0FBSztnQkFnRE4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBUTNDLE9BQU87c0JBRE4sS0FBSztnQkFlSyxNQUFNO3NCQUxoQixLQUFLO2dCQWtDSyxPQUFPO3NCQUxqQixLQUFLO2dCQTZCTixXQUFXO3NCQURWLEtBQUs7Z0JBUU4sU0FBUztzQkFEUixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQVNOLFFBQVE7c0JBRFAsTUFBTTtnQkFRUCxRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbm5lY3RlZFBvc2l0aW9uLFxuICBBWEV2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhQbGFjZW1lbnRUeXBlLFxuICBNWEJhc2VDb21wb25lbnQsXG4gIGNvbnZlcnRUb1BsYWNlbWVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBsYXRmb3JtLCBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgUG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWxheSwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEFYUG9wb3Zlck9wZW5UcmlnZ2VyID0gJ21hbnVhbCcgfCAnY2xpY2snIHwgJ2hvdmVyJyB8ICd0b2dnbGUnO1xuXG5leHBvcnQgdHlwZSBBWFBvcG92ZXJDbG9zZVRyaWdnZXIgPSAnbWFudWFsJyB8ICdjbGlja091dCcgfCAnbGVhdmUnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBBIHBvcG92ZXIgY29tcG9uZW50IHdpdGggY3VzdG9tIGVuY2Fwc3VsYXRpb24gYW5kIGNoYW5nZSBkZXRlY3Rpb24gc2V0dGluZ3MuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQb3BvdmVyQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaXNNb3VzZU92ZXJCdXR0b24gPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9pc01vdXNlT3ZlclRvb2x0aXAgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9sYXN0QWN0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfdGFyZ2V0RXZlbnRzOiB7XG4gICAgbW91c2VlbnRlcj86IFN1YnNjcmlwdGlvbjtcbiAgICBtb3VzZWxlYXZlPzogU3Vic2NyaXB0aW9uO1xuICAgIGNsaWNrPzogU3Vic2NyaXB0aW9uO1xuICB9ID0ge307XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb3ZlcmxheUV2ZW50czoge1xuICAgIGF0dGFjaD86IFN1YnNjcmlwdGlvbjtcbiAgICBkZXRhY2g/OiBTdWJzY3JpcHRpb247XG4gICAgc2Nyb2xsPzogU3Vic2NyaXB0aW9uO1xuICAgIG91dHNpZGU/OiBTdWJzY3JpcHRpb247XG4gIH0gPSB7fTtcblxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX29mZnNldFggPSAwO1xuXG4vKipcbiAqIEdldHMgb3Igc2V0cyB0aGUgaG9yaXpvbnRhbCBvZmZzZXQgYW5kIHVwZGF0ZXMgaXQgYWNjb3JkaW5nbHkuXG4gKi9cbiAgQElucHV0KClcblxuICAvKipcbiAqIEdldHMgdGhlIGhvcml6b250YWwgb2Zmc2V0IHZhbHVlLlxuICovXG4gIHB1YmxpYyBnZXQgb2Zmc2V0WCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9vZmZzZXRYO1xuICB9XG5cbiAgLyoqXG4gKiBTZXRzIHRoZSBob3Jpem9udGFsIG9mZnNldCBhbmQgdXBkYXRlcyBpdCB3aXRoIGEgY2FsbGJhY2suXG4gKi9cbiAgcHVibGljIHNldCBvZmZzZXRYKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdvZmZzZXRYJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX29mZnNldFkgPSAwO1xuXG4vKipcbiAqIFZlcnRpY2FsIG9mZnNldCB3aXRoIHVwZGF0ZSBjYWxsYmFjay5cbiAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICogR2V0cyB0aGUgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBjb21wb25lbnQuXG4gKi9cbiAgcHVibGljIGdldCBvZmZzZXRZKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29mZnNldFk7XG4gIH1cblxuICAvKipcbiAqIFNldHMgdGhlIHZlcnRpY2FsIG9mZnNldCBhbmQgdXBkYXRlcyB0aGUgY29tcG9uZW50IHBvc2l0aW9uLlxuICovXG4gIHB1YmxpYyBzZXQgb2Zmc2V0WSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnb2Zmc2V0WScsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVPZmZzZXQoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3RhcmdldCE6IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIEdldHMgb3Igc2V0cyB0aGUgdGFyZ2V0IGVsZW1lbnQsIHN1cHBvcnRpbmcgSFRNTEVsZW1lbnQsIEVsZW1lbnRSZWYsIG9yIE1YQmFzZUNvbXBvbmVudC5cbiAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICogR2V0cyB0aGUgY3VycmVudCB0YXJnZXQgZWxlbWVudC5cbiAqL1xuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBNWEJhc2VDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gIH1cblxuICAvKipcbiAqIFNldHMgdGhlIHRhcmdldCBlbGVtZW50IGFuZCB1cGRhdGVzIGV2ZW50IGJpbmRpbmdzLlxuICovXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IE1YQmFzZUNvbXBvbmVudCkge1xuICAgIHRoaXMucmVtb3ZlVGFyZ2V0RXZlbnRzKCk7XG4gICAgaWYgKHYgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgdGhpcy5fdGFyZ2V0ID0gdjtcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgRWxlbWVudFJlZikgdGhpcy5fdGFyZ2V0ID0gdi5uYXRpdmVFbGVtZW50O1xuICAgIGVsc2UgaWYgKHR5cGVvZiB2Py5nZXRIb3N0RWxlbWVudCA9PSAnZnVuY3Rpb24nKSB0aGlzLl90YXJnZXQgPSB2LmdldEhvc3RFbGVtZW50KCk7XG4gICAgLy9cbiAgICB0aGlzLmJpbmRUYXJnZXRFdmVudHMoKTtcbiAgfVxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2RlZmF1dFBsYWNlbWVudHM6IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IGNvbnZlcnRUb1BsYWNlbWVudCgnYm90dG9tLXN0YXJ0Jyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfcGxhY2VtZW50czogQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gWy4uLnRoaXMuX2RlZmF1dFBsYWNlbWVudHNdO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3BsYWNlbWVudDogQVhQbGFjZW1lbnRUeXBlID0gdGhpcy5fcGxhY2VtZW50cztcblxuLyoqXG4gKiBHZXRzIG9yIHNldHMgdGhlIGNvbXBvbmVudCdzIHBsYWNlbWVudCBhbmQgdXBkYXRlcyBwb3NpdGlvbiBzZXR0aW5ncy5cbiAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICogR2V0cyB0aGUgY3VycmVudCBwbGFjZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlbWVudCgpOiBBWFBsYWNlbWVudFR5cGUge1xuICAgIHJldHVybiB0aGlzLl9wbGFjZW1lbnQ7XG4gIH1cblxuICAvKipcbiAqIFNldHMgdGhlIGNvbXBvbmVudCdzIHBsYWNlbWVudCBhbmQgdXBkYXRlcyBpdHMgcG9zaXRpb24gc2V0dGluZ3MuXG4gKi9cbiAgcHVibGljIHNldCBwbGFjZW1lbnQodjogQVhQbGFjZW1lbnRUeXBlKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3BsYWNlbWVudCcsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6IChvLCBuKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZCA9IGNvbnZlcnRUb1BsYWNlbWVudChuKTtcbiAgICAgICAgdGhpcy5fcGxhY2VtZW50cyA9IGNvbnZlcnRlZC5sZW5ndGggPyBjb252ZXJ0ZWQgOiB0aGlzLl9kZWZhdXRQbGFjZW1lbnRzO1xuICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgLy9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9wb3J0YWw6IFBvcnRhbDx1bmtub3duPjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjx1bmtub3duPjtcblxuLyoqXG4gKiBHZXRzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudC5cbiAqL1xuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICAvKipcbiAqIEhvbGRzIHRoZSBjb250ZXh0IGRhdGEgZm9yIHRoZSBjb21wb25lbnQuXG4gKi9cbiAgcHVibGljIGNvbnRleHQ6IHVua25vd247XG5cbiAgLy9cblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgLy9cblxuICAvKipcbiAqIERlZmluZXMgdGhlIGNvbnRlbnQgdG8gYmUgZGlzcGxheWVkLCB3aGljaCBjYW4gYmUgYSB0ZW1wbGF0ZSBvciBhIGNvbXBvbmVudC5cbiAqL1xuICBASW5wdXQoKVxuICBjb250ZW50OiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IENvbXBvbmVudFR5cGU8dW5rbm93bj47XG4gIC8vXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb3Blbk9uOiBBWFBvcG92ZXJPcGVuVHJpZ2dlciA9ICd0b2dnbGUnO1xuXG4gIC8qKlxuICogR2V0cyBvciBzZXRzIHRoZSB0cmlnZ2VyIGZvciBvcGVuaW5nIHRoZSBwb3BvdmVyIGFuZCB1cGRhdGVzIHRhcmdldCBldmVudHMuXG4gKi9cbiAgQElucHV0KClcblxuICAvKipcbiAqIEdldHMgdGhlIHRyaWdnZXIgZm9yIG9wZW5pbmcgdGhlIHBvcG92ZXIuXG4gKi9cbiAgcHVibGljIGdldCBvcGVuT24oKTogQVhQb3BvdmVyT3BlblRyaWdnZXIge1xuICAgIHJldHVybiB0aGlzLl9vcGVuT247XG4gIH1cblxuICAvKipcbiAqIFNldHMgdGhlIHRyaWdnZXIgZm9yIG9wZW5pbmcgdGhlIHBvcG92ZXIgYW5kIHVwZGF0ZXMgdGFyZ2V0IGV2ZW50cy5cbiAqL1xuICBwdWJsaWMgc2V0IG9wZW5Pbih2OiBBWFBvcG92ZXJPcGVuVHJpZ2dlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdvcGVuT24nLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZFRhcmdldEV2ZW50cygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2Nsb3NlT246IEFYUG9wb3ZlckNsb3NlVHJpZ2dlciA9ICdjbGlja091dCc7XG5cbiAgLyoqXG4gKiBHZXRzIG9yIHNldHMgdGhlIHRyaWdnZXIgZm9yIGNsb3NpbmcgdGhlIHBvcG92ZXIuXG4gKi9cbiAgQElucHV0KClcblxuLyoqXG4gKiBHZXRzIHRoZSB0cmlnZ2VyIGZvciBjbG9zaW5nIHRoZSBwb3BvdmVyLlxuICovXG4gIHB1YmxpYyBnZXQgY2xvc2VPbigpOiBBWFBvcG92ZXJDbG9zZVRyaWdnZXIge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZU9uO1xuICB9XG5cbi8qKlxuICogU2V0cyB0aGUgdHJpZ2dlciBmb3IgY2xvc2luZyB0aGUgcG9wb3ZlciBhbmQgcmViaW5kcyB0YXJnZXQgZXZlbnRzLlxuICogQHBhcmFtIHZcbiAqL1xuICBwdWJsaWMgc2V0IGNsb3NlT24odjogQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Nsb3NlT24nLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZFRhcmdldEV2ZW50cygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vXG5cbiAgLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgYmFja2Ryb3Agc2hvdWxkIGJlIGRpc3BsYXllZCBiZWhpbmQgdGhlIHBvcG92ZXIuXG4gKi9cbiAgQElucHV0KClcbiAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgLy9cblxuLyoqXG4gKiBEZWxheSBpbiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSBwb3BvdmVyIG9wZW5zIGFmdGVyIGEgdHJpZ2dlciBldmVudC5cbiAqL1xuICBASW5wdXQoKVxuICBvcGVuQWZ0ZXIgPSAyMDA7XG5cbi8qKlxuICogRGVsYXkgaW4gbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgcG9wb3ZlciBjbG9zZXMgYWZ0ZXIgYSB0cmlnZ2VyIGV2ZW50LlxuICovXG4gIEBJbnB1dCgpXG4gIGNsb3NlQWZ0ZXIgPSAyMDA7XG5cbi8qKlxuICogQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBiYWNrZHJvcCBlbGVtZW50LlxuICovXG4gIEBJbnB1dCgpXG4gIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcblxuLyoqXG4gKiBFbmFibGVzIG9yIGRpc2FibGVzIGFkYXB0aXZpdHkuXG4gKi9cbiAgQElucHV0KClcbiAgYWRhcHRpdml0eUVuYWJsZWQgPSBmYWxzZTtcbiAgLy9cblxuLyoqXG4gKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgb3BlbmVkLlxuICogQGV2ZW50XG4gKi9cbiAgQE91dHB1dCgpXG4gIG9uT3BlbmVkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XG5cbi8qKlxuICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGNsb3NlZC5cbiAqIEBldmVudFxuICovXG4gIEBPdXRwdXQoKVxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2VtaXRPbk9wZW5lZEV2ZW50KCkge1xuICAgIHRoaXMub25PcGVuZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZW1pdE9uQ2xvc2VkRXZlbnQoKSB7XG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgfSk7XG4gIH1cbiAgLy9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU1vdXNlRW50ZXIoZTogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX2lzTW91c2VPdmVyVG9vbHRpcCA9IHRydWU7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU1vdXNlTGVhdmUoZTogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX2lzTW91c2VPdmVyVG9vbHRpcCA9IGZhbHNlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9pc01vdXNlT3ZlckJ1dHRvbiAmJiB0aGlzLmNsb3NlT24gPT0gJ2xlYXZlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSwgMjUwKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVtb3ZlVGFyZ2V0RXZlbnRzKCk6IHZvaWQge1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuX3RhcmdldEV2ZW50cykuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZVsxXS51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBiaW5kVGFyZ2V0RXZlbnRzKCkge1xuICAgIHRoaXMucmVtb3ZlVGFyZ2V0RXZlbnRzKCk7XG4gICAgaWYgKCF0aGlzLl90YXJnZXQpIHJldHVybjtcbiAgICBjb25zdCB0YXJnZXRNb3VzZUVudGVyJCA9IGZyb21FdmVudCh0aGlzLl90YXJnZXQsICdtb3VzZWVudGVyJyk7XG4gICAgY29uc3QgdGFyZ2V0TW91c2VMZWF2ZSQgPSBmcm9tRXZlbnQodGhpcy5fdGFyZ2V0LCAnbW91c2VsZWF2ZScpO1xuXG4gICAgaWYgKHRoaXMub3Blbk9uID09ICdob3ZlcicpIHtcbiAgICAgIHRoaXMuX3RhcmdldEV2ZW50cy5tb3VzZWVudGVyID0gdGFyZ2V0TW91c2VFbnRlciQucGlwZShkZWxheSh0aGlzLm9wZW5BZnRlcikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2lzTW91c2VPdmVyQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbG9zZU9uID09ICdsZWF2ZScpIHtcbiAgICAgIHRoaXMuX3RhcmdldEV2ZW50cy5tb3VzZWxlYXZlID0gdGFyZ2V0TW91c2VMZWF2ZSQucGlwZShkZWxheSh0aGlzLmNsb3NlQWZ0ZXIpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pc01vdXNlT3ZlckJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuX2lzTW91c2VPdmVyVG9vbHRpcCkge1xuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3Blbk9uID09PSAnY2xpY2snIHx8IHRoaXMub3Blbk9uID09PSAndG9nZ2xlJykge1xuICAgICAgY29uc3QgY2xpY2skID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ2NsaWNrJyk7XG4gICAgICB0aGlzLl90YXJnZXRFdmVudHMuY2xpY2sgPSBjbGljayQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIHRoaXMub3Blbk9uID09ICd0b2dnbGUnID8gdGhpcy50b2dnbGUoKSA6IHRoaXMub3BlbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBiaW5kT3ZlcmxheUV2ZW50cygpIHtcbiAgICB0aGlzLnJlbW92ZU92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLl9vdmVybGF5RXZlbnRzLmF0dGFjaCA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMub3Blbk9uID09ICdob3ZlcicpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5faGFuZGxlTW91c2VFbnRlci5iaW5kKHRoaXMpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNsb3NlT24gPT0gJ2xlYXZlJykge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLl9oYW5kbGVNb3VzZUxlYXZlLmJpbmQodGhpcykpO1xuICAgICAgfVxuICAgICAgLy9cbiAgICAgIHRoaXMuX292ZXJsYXlFdmVudHMub3V0c2lkZSA9IHRoaXMuX292ZXJsYXlSZWYuX291dHNpZGVQb2ludGVyRXZlbnRzLnN1YnNjcmliZSgoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBlbCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5jbG9zZU9uID09ICdjbGlja091dCcgJiYgdGhpcy5pc09wZW4gJiYgIXRoaXMuX3RhcmdldC5jb250YWlucyhlbCkgJiYgIXRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyhlbCkpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLy9cblxuICAgICAgdGhpcy5fb3ZlcmxheUV2ZW50cy5zY3JvbGwgPSB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIC8vX19heENvbnRleHRfX1xuICAgICAgICBjb25zdCBlbCA9IGMubmF0aXZlRXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoIXRoaXMuaXNBY3Rpb25zaGVldFN0eWxlKSB7XG4gICAgICAgICAgaWYgKGVsID09IChkb2N1bWVudCBhcyBhbnkpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGVsPy5jbG9zZXN0ICYmXG4gICAgICAgICAgICAhZWwuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpICYmXG4gICAgICAgICAgICAhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGVsKSAmJlxuICAgICAgICAgICAgIXRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyhlbClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZW1vdmVPdmVybGF5RXZlbnRzKCkge1xuICAgIHRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9oYW5kbGVNb3VzZUVudGVyLmJpbmQodGhpcykpO1xuICAgIHRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLl9oYW5kbGVNb3VzZUxlYXZlLmJpbmQodGhpcykpO1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuX292ZXJsYXlFdmVudHMpLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGVbMV0udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vXG4gIC8qKlxuICogVG9nZ2xlcyB0aGUgY29tcG9uZW50J3Mgb3BlbiBzdGF0ZS5cbiAqL1xuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIC8vXG4vKipcbiAqIENsb3NlcyB0aGUgY29tcG9uZW50IGlmIGl0J3Mgb3BlbiwgZGV0YWNoZXMgdGhlIG92ZXJsYXksIHJlc3RvcmVzIGZvY3VzLCBhbmQgZW1pdHMgdGhlIGNsb3NlZCBldmVudC5cbiAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcbiAgfVxuXG4gIC8vXG4gIC8qKlxuICogT3BlbnMgdGhlIGNvbXBvbmVudCBpZiBpdCdzIG5vdCBhbHJlYWR5IG9wZW4sIHNhdmVzIGZvY3VzLCBvcGVucyB0aGUgb3ZlcmxheSwgYW5kIGVtaXRzIHRoZSBvcGVuZWQgZXZlbnQuXG4gKi9cbiAgb3BlbigpIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zYXZlRm9jdXMoKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5SW50ZXJuYWwoKTtcbiAgICB0aGlzLl9lbWl0T25PcGVuZWRFdmVudCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBzYXZlRm9jdXMoKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZXN0b3JlRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50Py5mb2N1cykge1xuICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIG9wZW5PdmVybGF5SW50ZXJuYWwoKSB7XG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdGhpcy5fdGFyZ2V0O1xuICAgIGlmICghdGFyZ2V0UmVmKSByZXR1cm47XG5cbiAgICAvL2lmICghdGhpcy5fb3ZlcmxheVJlZikge1xuICAgIGlmICh0aGlzLmlzQWN0aW9uc2hlZXRTdHlsZSkge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmJvdHRvbSgpLmNlbnRlckhvcml6b250YWxseSgpLFxuICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXG4gICAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYWN0aW9uc2hlZXQtYmFzZScsICdheC1hbmltYXRlLXNsaWRlSW5VcCcsICdheC1hbmltYXRlLWZhc3RlciddLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpLndpdGhQb3NpdGlvbnModGhpcy5fcGxhY2VtZW50cykud2l0aFB1c2goZmFsc2UpLFxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxuICAgICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5iaW5kT3ZlcmxheUV2ZW50cygpO1xuICAgIC8vfVxuICAgIC8vXG4gICAgaWYgKHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5jb250ZW50LCB0aGlzLmdldFZpZXdDb250YWluZXIoKSwge1xuICAgICAgICAkaW1wbGljaXQ6IHRoaXMuY29udGV4dCxcbiAgICAgICAgcmVmOiB0aGlzLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmPy5hdHRhY2godGhpcy5fcG9ydGFsKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5jb250ZW50KTtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuY29udGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuZ2V0Vmlld0NvbnRhaW5lcigpLCB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5jb250ZXh0LFxuICAgICAgICByZWY6IHRoaXMsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICogQ2hlY2tzIGlmIHRoZSBvdmVybGF5IGlzIGN1cnJlbnRseSBvcGVuLlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb25zaGVldCBzdHlsZSBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG4gIGdldCBpc0FjdGlvbnNoZWV0U3R5bGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtLmlzKCdTTScpICYmIHRoaXMuYWRhcHRpdml0eUVuYWJsZWQ7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdGhpcy5fdGFyZ2V0O1xuICAgIGlmICghdGFyZ2V0UmVmKSByZXR1cm47XG4gICAgbGV0IHN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xuICAgIGlmICh0aGlzLmlzQWN0aW9uc2hlZXRTdHlsZSkge1xuICAgICAgc3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuYm90dG9tKCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKS53aXRoUG9zaXRpb25zKHRoaXMuX3BsYWNlbWVudHMpLndpdGhQdXNoKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShzdHJhdGVneSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHVwZGF0ZU9mZnNldCgpIHtcbiAgICB0aGlzLl9wbGFjZW1lbnRzPy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBpZiAodGhpcy5vZmZzZXRZICE9IG51bGwpIHAub2Zmc2V0WSA9IHRoaXMub2Zmc2V0WTtcbiAgICAgIGlmICh0aGlzLm9mZnNldFggIT0gbnVsbCkgcC5vZmZzZXRYID0gdGhpcy5vZmZzZXRYO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgb3ZlcmxheSBhbmQgZm9jdXNlcyBvbiBpdC5cbiAqL1xuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAqIEZvY3VzZXMgdGhlIG92ZXJsYXkgZWxlbWVudC5cbiAqL1xuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgLy9UT0RPOiBuZWVkIHRoaXM/P1xuICB9XG4gIC8vXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVUYXJnZXRFdmVudHMoKTtcbiAgICB0aGlzLnJlbW92ZU92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
3
3
|
import { AXPopoverComponent } from './popover.component';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export class AXPopoverModule {
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] }); }
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
|
9
9
|
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPopoverModule, decorators: [{
|
11
11
|
type: NgModule,
|
12
12
|
args: [{
|
13
13
|
declarations: [AXPopoverComponent],
|