ngx-tethys 17.0.0-next.1 → 17.0.0-next.3
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/CHANGELOG.md +13 -0
- package/action/action.component.d.ts +3 -3
- package/action/action.module.d.ts +1 -1
- package/action/actions.component.d.ts +5 -5
- package/affix/affix.component.d.ts +3 -3
- package/affix/affix.module.d.ts +1 -1
- package/alert/alert.component.d.ts +3 -3
- package/alert/alert.module.d.ts +1 -1
- package/anchor/anchor-link.component.d.ts +5 -5
- package/anchor/anchor.component.d.ts +9 -9
- package/anchor/anchor.module.d.ts +1 -1
- package/arrow-switcher/arrow-switcher.component.d.ts +3 -3
- package/arrow-switcher/module.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +9 -9
- package/autocomplete/autocomplete.trigger.directive.d.ts +6 -6
- package/autocomplete/module.d.ts +1 -1
- package/autocomplete/overlay/autocomplete-container.component.d.ts +3 -3
- package/autocomplete/overlay/autocomplete-ref.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +5 -5
- package/avatar/avatar-list/avatar-list.component.d.ts +6 -6
- package/avatar/avatar.component.d.ts +3 -3
- package/avatar/avatar.module.d.ts +1 -1
- package/back-top/back-top.component.d.ts +3 -3
- package/back-top/back-top.module.d.ts +1 -1
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +1 -1
- package/breadcrumb/breadcrumb-item.component.d.ts +3 -3
- package/breadcrumb/breadcrumb.component.d.ts +3 -3
- package/breadcrumb/module.d.ts +1 -1
- package/button/button-group.component.d.ts +3 -3
- package/button/button-icon.component.d.ts +3 -3
- package/button/button.component.d.ts +3 -3
- package/button/button.module.d.ts +1 -1
- package/calendar/calendar-header.component.d.ts +3 -3
- package/calendar/calendar.component.d.ts +3 -3
- package/calendar/module.d.ts +1 -1
- package/card/card.component.d.ts +3 -3
- package/card/card.module.d.ts +1 -1
- package/card/content.component.d.ts +3 -3
- package/card/header.component.d.ts +3 -3
- package/carousel/carousel.component.d.ts +3 -3
- package/carousel/engine/carousel-base.d.ts +3 -3
- package/carousel/engine/carousel-fade.d.ts +2 -2
- package/carousel/engine/carousel-noop.d.ts +2 -2
- package/carousel/engine/carousel-slide.d.ts +2 -2
- package/carousel/module.d.ts +1 -1
- package/cascader/cascader.component.d.ts +3 -3
- package/cascader/module.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +3 -3
- package/checkbox/module.d.ts +1 -1
- package/collapse/collapse-item.component.d.ts +5 -5
- package/collapse/collapse.component.d.ts +7 -7
- package/collapse/module.d.ts +1 -1
- package/color-picker/color-picker-custom-panel.component.d.ts +3 -3
- package/color-picker/color-picker-panel.component.d.ts +6 -6
- package/color-picker/color-picker.component.d.ts +3 -3
- package/color-picker/module.d.ts +1 -1
- package/color-picker/parts/alpha/alpha.component.d.ts +3 -3
- package/color-picker/parts/hue/hue.component.d.ts +3 -3
- package/color-picker/parts/indicator/indicator.component.d.ts +3 -3
- package/color-picker/parts/inputs/inputs.component.d.ts +3 -3
- package/color-picker/parts/saturation/saturation.component.d.ts +3 -3
- package/comment/comment.component.d.ts +3 -3
- package/comment/comment.module.d.ts +1 -1
- package/date-picker/abstract-picker.component.d.ts +2 -2
- package/date-picker/base-picker.component.d.ts +5 -5
- package/date-picker/date-picker.component.d.ts +4 -4
- package/date-picker/date-picker.module.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -3
- package/date-picker/lib/date/date-header.component.d.ts +3 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +3 -3
- package/date-picker/lib/date/date-table.component.d.ts +3 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-header.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-table.component.d.ts +3 -3
- package/date-picker/lib/lib-packer.module.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +3 -3
- package/date-picker/lib/month/month-table.component.d.ts +3 -3
- package/date-picker/lib/popups/date-popup.component.d.ts +4 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +3 -3
- package/date-picker/lib/quarter/quarter-table.component.d.ts +3 -3
- package/date-picker/lib/year/year-header.component.d.ts +3 -3
- package/date-picker/lib/year/year-table.component.d.ts +3 -3
- package/date-picker/month-picker.component.d.ts +4 -4
- package/date-picker/picker.component.d.ts +3 -3
- package/date-picker/quarter-picker.component.d.ts +4 -4
- package/date-picker/range-picker.component.d.ts +4 -4
- package/date-picker/week-picker.component.d.ts +4 -4
- package/date-picker/year-picker.component.d.ts +4 -4
- package/date-range/date-range.component.d.ts +3 -3
- package/date-range/module.d.ts +1 -1
- package/date-range/optional-dates/optional-dates.component.d.ts +3 -3
- package/dialog/body/dialog-body.component.d.ts +3 -3
- package/dialog/confirm/confirm.component.d.ts +4 -4
- package/dialog/dialog-container.component.d.ts +3 -3
- package/dialog/dialog-ref.d.ts +4 -4
- package/dialog/dialog.module.d.ts +1 -1
- package/dialog/dialog.service.d.ts +5 -5
- package/dialog/footer/dialog-footer.component.d.ts +3 -3
- package/dialog/header/dialog-header.component.d.ts +5 -5
- package/dialog/index.d.ts +1 -1
- package/divider/divider.component.d.ts +3 -3
- package/divider/divider.module.d.ts +1 -1
- package/dot/dot.component.d.ts +3 -3
- package/dot/dot.module.d.ts +1 -1
- package/dropdown/dropdown-menu.component.d.ts +6 -6
- package/dropdown/dropdown-submenu.component.d.ts +3 -3
- package/dropdown/module.d.ts +1 -1
- package/empty/empty.component.d.ts +3 -3
- package/empty/empty.module.d.ts +1 -1
- package/esm2022/action/action.component.mjs +10 -10
- package/esm2022/action/action.module.mjs +7 -7
- package/esm2022/action/actions.component.mjs +7 -7
- package/esm2022/affix/affix.component.mjs +7 -7
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +8 -8
- package/esm2022/alert/alert.module.mjs +6 -6
- package/esm2022/anchor/anchor-link.component.mjs +7 -7
- package/esm2022/anchor/anchor.component.mjs +11 -11
- package/esm2022/anchor/anchor.module.mjs +7 -7
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +13 -13
- package/esm2022/arrow-switcher/module.mjs +6 -6
- package/esm2022/autocomplete/autocomplete.component.mjs +13 -13
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +2 -2
- package/esm2022/autocomplete/module.mjs +10 -10
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +5 -5
- package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +1 -1
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +8 -8
- package/esm2022/avatar/avatar.component.mjs +11 -11
- package/esm2022/avatar/avatar.module.mjs +7 -7
- package/esm2022/back-top/back-top.component.mjs +8 -8
- package/esm2022/back-top/back-top.module.mjs +6 -6
- package/esm2022/badge/badge.component.mjs +10 -10
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +8 -8
- package/esm2022/breadcrumb/module.mjs +7 -7
- package/esm2022/button/button-group.component.mjs +5 -5
- package/esm2022/button/button-icon.component.mjs +9 -9
- package/esm2022/button/button.component.mjs +9 -9
- package/esm2022/button/button.module.mjs +8 -8
- package/esm2022/calendar/calendar-header.component.mjs +8 -8
- package/esm2022/calendar/calendar.component.mjs +8 -8
- package/esm2022/calendar/module.mjs +11 -11
- package/esm2022/card/card.component.mjs +8 -8
- package/esm2022/card/card.module.mjs +7 -7
- package/esm2022/card/content.component.mjs +5 -5
- package/esm2022/card/header.component.mjs +5 -5
- package/esm2022/carousel/carousel.component.mjs +13 -13
- package/esm2022/carousel/engine/carousel-base.mjs +1 -1
- package/esm2022/carousel/engine/carousel-fade.mjs +1 -1
- package/esm2022/carousel/engine/carousel-noop.mjs +1 -1
- package/esm2022/carousel/engine/carousel-slide.mjs +1 -1
- package/esm2022/carousel/module.mjs +5 -5
- package/esm2022/cascader/cascader-li.component.mjs +6 -6
- package/esm2022/cascader/cascader-search-option.component.mjs +7 -16
- package/esm2022/cascader/cascader.component.mjs +22 -22
- package/esm2022/cascader/module.mjs +7 -7
- package/esm2022/checkbox/checkbox.component.mjs +8 -8
- package/esm2022/checkbox/module.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +11 -11
- package/esm2022/collapse/collapse.component.mjs +6 -6
- package/esm2022/collapse/module.mjs +7 -7
- package/esm2022/color-picker/color-picker-custom-panel.component.mjs +11 -11
- package/esm2022/color-picker/color-picker-panel.component.mjs +10 -10
- package/esm2022/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/color-picker/module.mjs +25 -25
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +5 -5
- package/esm2022/color-picker/parts/hue/hue.component.mjs +5 -5
- package/esm2022/color-picker/parts/indicator/indicator.component.mjs +5 -5
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +7 -7
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +5 -5
- package/esm2022/comment/comment.component.mjs +7 -7
- package/esm2022/comment/comment.module.mjs +7 -7
- package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
- package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
- package/esm2022/date-picker/base-picker.component.mjs +8 -8
- package/esm2022/date-picker/date-picker.component.mjs +12 -12
- package/esm2022/date-picker/date-picker.module.mjs +44 -44
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +10 -10
- package/esm2022/date-picker/lib/date/date-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +5 -5
- package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -7
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +11 -11
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/lib-packer.module.mjs +79 -79
- package/esm2022/date-picker/lib/month/month-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/month/month-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +15 -15
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +23 -23
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/year/year-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/year/year-table.component.mjs +5 -5
- package/esm2022/date-picker/month-picker.component.mjs +12 -12
- package/esm2022/date-picker/picker.component.mjs +8 -8
- package/esm2022/date-picker/quarter-picker.component.mjs +12 -12
- package/esm2022/date-picker/range-picker.component.mjs +12 -12
- package/esm2022/date-picker/week-picker.component.mjs +12 -12
- package/esm2022/date-picker/year-picker.component.mjs +12 -12
- package/esm2022/date-range/date-range.component.mjs +13 -13
- package/esm2022/date-range/module.mjs +10 -10
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +7 -7
- package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -18
- package/esm2022/dialog/dialog-container.component.mjs +5 -5
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.module.mjs +22 -22
- package/esm2022/dialog/dialog.service.mjs +4 -4
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
- package/esm2022/dialog/header/dialog-header.component.mjs +11 -11
- package/esm2022/dialog/index.mjs +2 -2
- package/esm2022/divider/divider.component.mjs +7 -7
- package/esm2022/divider/divider.module.mjs +5 -5
- package/esm2022/dot/dot.component.mjs +5 -5
- package/esm2022/dot/dot.module.mjs +5 -5
- package/esm2022/dropdown/dropdown-menu.component.mjs +9 -9
- package/esm2022/dropdown/dropdown-submenu.component.mjs +5 -5
- package/esm2022/dropdown/module.mjs +15 -15
- package/esm2022/empty/empty.component.mjs +8 -8
- package/esm2022/empty/empty.module.mjs +6 -6
- package/esm2022/flexible-text/flexible-text.component.mjs +7 -7
- package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
- package/esm2022/form/form-group-error/form-group-error.component.mjs +8 -8
- package/esm2022/form/form-group.component.mjs +8 -8
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +5 -5
- package/esm2022/form/module.mjs +18 -18
- package/esm2022/grid/module.mjs +6 -6
- package/esm2022/grid/thy-grid-item.component.mjs +5 -5
- package/esm2022/grid/thy-grid.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +6 -6
- package/esm2022/guider/guider.module.mjs +6 -24
- package/esm2022/icon/icon.component.mjs +8 -8
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/icon/index.mjs +2 -2
- package/esm2022/image/image-group.component.mjs +5 -5
- package/esm2022/image/image.directive.mjs +3 -3
- package/esm2022/image/image.service.mjs +3 -3
- package/esm2022/image/module.mjs +9 -9
- package/esm2022/image/preview/image-preview-ref.mjs +1 -1
- package/esm2022/image/preview/image-preview.component.mjs +10 -21
- package/esm2022/input/input-count.component.mjs +7 -7
- package/esm2022/input/input-group.component.mjs +5 -5
- package/esm2022/input/input-search.component.mjs +9 -9
- package/esm2022/input/input.component.mjs +10 -10
- package/esm2022/input/module.mjs +16 -16
- package/esm2022/input-number/input-number.component.mjs +14 -14
- package/esm2022/input-number/module.mjs +6 -6
- package/esm2022/layout/content-main.component.mjs +5 -5
- package/esm2022/layout/content-section.component.mjs +5 -5
- package/esm2022/layout/content.component.mjs +5 -5
- package/esm2022/layout/header.component.mjs +7 -7
- package/esm2022/layout/layout.component.mjs +5 -5
- package/esm2022/layout/layout.module.mjs +48 -48
- package/esm2022/layout/sidebar-content.component.mjs +5 -5
- package/esm2022/layout/sidebar-footer.component.mjs +5 -5
- package/esm2022/layout/sidebar-header.component.mjs +5 -5
- package/esm2022/layout/sidebar.component.mjs +15 -24
- package/esm2022/list/list-item-meta.component.mjs +7 -7
- package/esm2022/list/list-item.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +6 -6
- package/esm2022/list/list.module.mjs +9 -26
- package/esm2022/list/selection/selection-list.mjs +12 -12
- package/esm2022/list/selection/selection.interface.mjs +1 -1
- package/esm2022/loading/loading.component.mjs +7 -7
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/mention/mention.directive.mjs +3 -3
- package/esm2022/mention/mention.module.mjs +5 -24
- package/esm2022/mention/suggestions/suggestions.component.mjs +9 -9
- package/esm2022/menu/divider/menu-divider.component.mjs +5 -5
- package/esm2022/menu/group/menu-group.component.mjs +13 -13
- package/esm2022/menu/item/action/menu-item-action.component.mjs +6 -6
- package/esm2022/menu/item/icon/menu-item-icon.component.mjs +5 -5
- package/esm2022/menu/item/menu-item.component.mjs +7 -7
- package/esm2022/menu/item/name/menu-item-name.component.mjs +6 -6
- package/esm2022/menu/menu.component.mjs +6 -6
- package/esm2022/menu/menu.module.mjs +25 -39
- package/esm2022/message/message-container.component.mjs +7 -7
- package/esm2022/message/message.component.mjs +7 -7
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message/module.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +5 -5
- package/esm2022/nav/nav.component.mjs +11 -11
- package/esm2022/nav/nav.module.mjs +14 -14
- package/esm2022/notify/module.mjs +7 -7
- package/esm2022/notify/notify-container.component.mjs +7 -7
- package/esm2022/notify/notify.component.mjs +7 -7
- package/esm2022/notify/notify.service.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +20 -30
- package/esm2022/pagination/pagination.module.mjs +6 -25
- package/esm2022/popover/body/popover-body.component.mjs +5 -5
- package/esm2022/popover/header/popover-header.component.mjs +7 -7
- package/esm2022/popover/module.mjs +13 -13
- package/esm2022/popover/popover-container.component.mjs +5 -5
- package/esm2022/popover/popover-ref.mjs +1 -1
- package/esm2022/popover/popover.service.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +8 -8
- package/esm2022/progress/progress-strip.component.mjs +6 -6
- package/esm2022/progress/progress.component.mjs +15 -15
- package/esm2022/progress/progress.module.mjs +7 -7
- package/esm2022/property/module.mjs +7 -7
- package/esm2022/property/properties.component.mjs +6 -6
- package/esm2022/property/property-item.component.mjs +11 -11
- package/esm2022/property-operation/group/property-operation-group.component.mjs +5 -5
- package/esm2022/property-operation/module.mjs +7 -23
- package/esm2022/property-operation/property-operation.component.mjs +14 -14
- package/esm2022/radio/button/radio-button.component.mjs +8 -8
- package/esm2022/radio/group/radio-group.component.mjs +8 -8
- package/esm2022/radio/module.mjs +7 -7
- package/esm2022/radio/radio.component.mjs +9 -9
- package/esm2022/rate/module.mjs +7 -7
- package/esm2022/rate/rate-item.component.mjs +9 -9
- package/esm2022/rate/rate.component.mjs +13 -13
- package/esm2022/resizable/module.mjs +6 -6
- package/esm2022/resizable/resize-handle.component.mjs +6 -6
- package/esm2022/resizable/resize-handles.component.mjs +8 -8
- package/esm2022/result/result.component.mjs +5 -5
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/segment/segment-item.component.mjs +8 -8
- package/esm2022/segment/segment.component.mjs +12 -12
- package/esm2022/segment/segment.module.mjs +7 -7
- package/esm2022/segment/segment.token.mjs +1 -1
- package/esm2022/select/custom-select/custom-select.component.mjs +37 -37
- package/esm2022/select/index.mjs +3 -3
- package/esm2022/select/module.mjs +10 -10
- package/esm2022/select/native-select/native-select.component.mjs +103 -0
- package/esm2022/shared/option/group/option-group.component.mjs +11 -11
- package/esm2022/shared/option/list-option/list-option.component.mjs +8 -8
- package/esm2022/shared/option/module.mjs +10 -37
- package/esm2022/shared/option/option-group.component.mjs +5 -5
- package/esm2022/shared/option/option.component.mjs +8 -8
- package/esm2022/shared/option/option.token.mjs +1 -1
- package/esm2022/shared/option/options-container.component.mjs +5 -5
- package/esm2022/shared/select/module.mjs +6 -6
- package/esm2022/shared/select/select-control/select-control.component.mjs +15 -15
- package/esm2022/skeleton/module.mjs +9 -26
- package/esm2022/skeleton/skeleton-circle.component.mjs +9 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +11 -11
- package/esm2022/skeleton/skeleton.component.mjs +6 -6
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +14 -14
- package/esm2022/skeleton/stylized/list.component.mjs +12 -12
- package/esm2022/skeleton/stylized/paragraph.component.mjs +14 -14
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -5
- package/esm2022/slide/slide-body/slide-body.component.mjs +5 -5
- package/esm2022/slide/slide-container.component.mjs +5 -5
- package/esm2022/slide/slide-footer/slide-footer.component.mjs +5 -5
- package/esm2022/slide/slide-header/slide-header.component.mjs +8 -8
- package/esm2022/slide/slide-layout/slide-layout.component.mjs +5 -5
- package/esm2022/slide/slide-ref.service.mjs +4 -4
- package/esm2022/slide/slide.module.mjs +23 -35
- package/esm2022/slide/slide.service.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +12 -12
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/space/space.component.mjs +6 -6
- package/esm2022/space/space.module.mjs +5 -5
- package/esm2022/statistic/statistic.component.mjs +5 -5
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/stepper/step-header.component.mjs +8 -8
- package/esm2022/stepper/step.component.mjs +5 -5
- package/esm2022/stepper/stepper-button.directive.mjs +6 -6
- package/esm2022/stepper/stepper.component.mjs +15 -15
- package/esm2022/stepper/stepper.module.mjs +7 -19
- package/esm2022/strength/strength.component.mjs +7 -7
- package/esm2022/strength/strength.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +8 -8
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/table/table-skeleton.component.mjs +12 -12
- package/esm2022/table/table.component.mjs +34 -34
- package/esm2022/table/table.module.mjs +10 -10
- package/esm2022/tabs/tab-content.component.mjs +5 -5
- package/esm2022/tabs/tab.component.mjs +6 -6
- package/esm2022/tabs/tabs.component.mjs +12 -12
- package/esm2022/tabs/tabs.module.mjs +8 -8
- package/esm2022/tag/tag.component.mjs +6 -6
- package/esm2022/tag/tag.module.mjs +6 -6
- package/esm2022/tag/tags.component.mjs +5 -5
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +6 -6
- package/esm2022/time-picker/time-picker-panel.component.mjs +12 -12
- package/esm2022/time-picker/time-picker.component.mjs +17 -17
- package/esm2022/time-picker/time-picker.module.mjs +7 -7
- package/esm2022/timeline/timeline-item.component.mjs +5 -5
- package/esm2022/timeline/timeline.component.mjs +8 -8
- package/esm2022/timeline/timeline.module.mjs +6 -6
- package/esm2022/tooltip/tooltip-ref.mjs +3 -3
- package/esm2022/tooltip/tooltip.component.mjs +5 -5
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +7 -18
- package/esm2022/transfer/transfer.component.mjs +9 -9
- package/esm2022/transfer/transfer.module.mjs +10 -10
- package/esm2022/tree/tree-node.component.mjs +5 -5
- package/esm2022/tree/tree.component.mjs +17 -17
- package/esm2022/tree/tree.module.mjs +7 -7
- package/esm2022/tree-select/module.mjs +9 -9
- package/esm2022/tree-select/tree-select.component.mjs +29 -29
- package/esm2022/typography/module.mjs +6 -6
- package/esm2022/typography/text/text.component.mjs +7 -7
- package/esm2022/upload/file-select.component.mjs +8 -8
- package/esm2022/upload/module.mjs +5 -5
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +10 -10
- package/esm2022/vote/vote.module.mjs +6 -6
- package/fesm2022/ngx-tethys-action.mjs +19 -19
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +10 -10
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +12 -12
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +20 -20
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +17 -17
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +26 -26
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +21 -21
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +12 -12
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +13 -13
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +17 -17
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +24 -24
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +22 -22
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +19 -19
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +16 -16
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +35 -44
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +11 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +19 -19
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +54 -54
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +12 -12
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +248 -248
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -24
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +48 -56
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +10 -10
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +8 -8
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +25 -25
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +12 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +10 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +33 -33
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +11 -11
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +10 -28
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +11 -11
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +22 -33
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +18 -18
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +37 -37
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +86 -95
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +31 -48
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +10 -10
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +13 -32
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +58 -72
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +17 -17
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +30 -30
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +17 -17
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +24 -53
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +26 -26
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +28 -28
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +22 -38
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +19 -19
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +23 -23
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +24 -24
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +15 -15
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +8 -8
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +22 -22
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +58 -58
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +52 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +57 -74
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +48 -60
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +15 -15
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +9 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +8 -8
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +31 -43
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +10 -10
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -11
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +51 -51
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +23 -23
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +13 -13
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +35 -35
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +8 -8
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +21 -32
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +36 -36
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +26 -26
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +11 -11
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -11
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +14 -14
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +3 -3
- package/flexible-text/flexible-text.module.d.ts +1 -1
- package/form/form-group-error/form-group-error.component.d.ts +3 -3
- package/form/form-group.component.d.ts +3 -3
- package/form/from-group-footer/form-group-footer.component.d.ts +3 -3
- package/form/module.d.ts +1 -1
- package/grid/module.d.ts +1 -1
- package/grid/thy-grid-item.component.d.ts +4 -4
- package/grid/thy-grid.component.d.ts +2 -2
- package/guider/guider-hint/guider-hint.component.d.ts +3 -3
- package/guider/guider.module.d.ts +1 -1
- package/icon/icon.component.d.ts +3 -3
- package/icon/icon.module.d.ts +1 -1
- package/icon/index.d.ts +1 -1
- package/image/image-group.component.d.ts +3 -3
- package/image/module.d.ts +1 -1
- package/image/preview/image-preview-ref.d.ts +4 -4
- package/image/preview/image-preview.component.d.ts +4 -4
- package/input/input-count.component.d.ts +5 -5
- package/input/input-group.component.d.ts +4 -4
- package/input/input-search.component.d.ts +3 -3
- package/input/input.component.d.ts +3 -3
- package/input/module.d.ts +1 -1
- package/input-number/input-number.component.d.ts +3 -3
- package/input-number/module.d.ts +1 -1
- package/layout/content-main.component.d.ts +3 -3
- package/layout/content-section.component.d.ts +3 -3
- package/layout/content.component.d.ts +3 -3
- package/layout/header.component.d.ts +3 -3
- package/layout/layout.component.d.ts +3 -3
- package/layout/layout.module.d.ts +1 -1
- package/layout/sidebar-content.component.d.ts +3 -3
- package/layout/sidebar-footer.component.d.ts +3 -3
- package/layout/sidebar-header.component.d.ts +3 -3
- package/layout/sidebar.component.d.ts +3 -3
- package/list/list-item-meta.component.d.ts +3 -3
- package/list/list-item.component.d.ts +3 -3
- package/list/list.component.d.ts +3 -3
- package/list/list.module.d.ts +1 -1
- package/list/selection/selection-list.d.ts +9 -9
- package/list/selection/selection.interface.d.ts +4 -4
- package/loading/loading.component.d.ts +3 -3
- package/loading/loading.module.d.ts +1 -1
- package/mention/mention.directive.d.ts +2 -2
- package/mention/mention.module.d.ts +1 -1
- package/mention/suggestions/suggestions.component.d.ts +3 -3
- package/menu/divider/menu-divider.component.d.ts +3 -3
- package/menu/group/menu-group.component.d.ts +3 -3
- package/menu/item/action/menu-item-action.component.d.ts +3 -3
- package/menu/item/icon/menu-item-icon.component.d.ts +3 -3
- package/menu/item/menu-item.component.d.ts +3 -3
- package/menu/item/name/menu-item-name.component.d.ts +3 -3
- package/menu/menu.component.d.ts +3 -3
- package/menu/menu.module.d.ts +1 -1
- package/message/message-container.component.d.ts +3 -3
- package/message/message.component.d.ts +3 -3
- package/message/message.service.d.ts +2 -2
- package/message/module.d.ts +1 -1
- package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -3
- package/nav/icon-nav/icon-nav.component.d.ts +3 -3
- package/nav/nav.component.d.ts +3 -3
- package/nav/nav.module.d.ts +1 -1
- package/notify/module.d.ts +1 -1
- package/notify/notify-container.component.d.ts +3 -3
- package/notify/notify.component.d.ts +3 -3
- package/notify/notify.service.d.ts +2 -2
- package/package.json +134 -134
- package/pagination/pagination.component.d.ts +3 -3
- package/pagination/pagination.module.d.ts +1 -1
- package/popover/body/popover-body.component.d.ts +3 -3
- package/popover/header/popover-header.component.d.ts +3 -3
- package/popover/module.d.ts +1 -1
- package/popover/popover-container.component.d.ts +3 -3
- package/popover/popover-ref.d.ts +4 -4
- package/popover/popover.service.d.ts +5 -5
- package/progress/progress-circle.component.d.ts +3 -3
- package/progress/progress-strip.component.d.ts +4 -4
- package/progress/progress.component.d.ts +6 -6
- package/progress/progress.module.d.ts +1 -1
- package/property/module.d.ts +1 -1
- package/property/properties.component.d.ts +3 -3
- package/property/property-item.component.d.ts +5 -5
- package/property-operation/group/property-operation-group.component.d.ts +3 -3
- package/property-operation/module.d.ts +1 -1
- package/property-operation/property-operation.component.d.ts +3 -3
- package/radio/button/radio-button.component.d.ts +6 -6
- package/radio/group/radio-group.component.d.ts +7 -7
- package/radio/module.d.ts +1 -1
- package/radio/radio.component.d.ts +6 -6
- package/rate/module.d.ts +1 -1
- package/rate/rate-item.component.d.ts +3 -3
- package/rate/rate.component.d.ts +3 -3
- package/resizable/module.d.ts +1 -1
- package/resizable/resize-handle.component.d.ts +3 -3
- package/resizable/resize-handles.component.d.ts +3 -3
- package/result/result.component.d.ts +3 -3
- package/result/result.module.d.ts +1 -1
- package/schematics/dependencies.js +1 -1
- package/schematics/ng-update/data/class-names.js +740 -4
- package/schematics/ng-update/update-17/index.spec.js +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +3 -3
- package/segment/segment.component.d.ts +7 -7
- package/segment/segment.module.d.ts +1 -1
- package/segment/segment.token.d.ts +3 -3
- package/select/custom-select/custom-select.component.d.ts +17 -17
- package/select/index.d.ts +2 -2
- package/select/module.d.ts +2 -2
- package/select/{select.component.d.ts → native-select/native-select.component.d.ts} +4 -4
- package/select/{custom-select/styles → styles}/custom-select.scss +1 -1
- package/select/{custom-select/styles → styles}/mixin.scss +2 -2
- package/select/styles/select.scss +4 -4
- package/shared/option/group/option-group.component.d.ts +5 -5
- package/shared/option/list-option/list-option.component.d.ts +3 -3
- package/shared/option/module.d.ts +1 -1
- package/shared/option/option-group.component.d.ts +3 -3
- package/shared/option/option.component.d.ts +6 -6
- package/shared/option/option.token.d.ts +7 -7
- package/shared/option/options-container.component.d.ts +3 -3
- package/shared/select/module.d.ts +1 -1
- package/shared/select/select-control/select-control.component.d.ts +3 -3
- package/shared/select/select-control/select-control.scss +1 -1
- package/skeleton/module.d.ts +1 -1
- package/skeleton/skeleton-circle.component.d.ts +5 -5
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/skeleton.component.d.ts +3 -3
- package/skeleton/stylized/bullet-list.component.d.ts +3 -3
- package/skeleton/stylized/list.component.d.ts +3 -3
- package/skeleton/stylized/paragraph.component.d.ts +3 -3
- package/slide/slide-body/slide-body-section.component.d.ts +3 -3
- package/slide/slide-body/slide-body.component.d.ts +3 -3
- package/slide/slide-container.component.d.ts +3 -3
- package/slide/slide-footer/slide-footer.component.d.ts +3 -3
- package/slide/slide-header/slide-header.component.d.ts +3 -3
- package/slide/slide-layout/slide-layout.component.d.ts +3 -3
- package/slide/slide-ref.service.d.ts +4 -4
- package/slide/slide.module.d.ts +1 -1
- package/slide/slide.service.d.ts +5 -5
- package/slider/slider.component.d.ts +3 -3
- package/slider/slider.module.d.ts +1 -1
- package/space/space.component.d.ts +3 -3
- package/space/space.module.d.ts +1 -1
- package/statistic/statistic.component.d.ts +3 -3
- package/statistic/statistic.module.d.ts +1 -1
- package/stepper/step-header.component.d.ts +3 -3
- package/stepper/step.component.d.ts +4 -4
- package/stepper/stepper-button.directive.d.ts +3 -3
- package/stepper/stepper.component.d.ts +10 -10
- package/stepper/stepper.module.d.ts +1 -1
- package/strength/strength.component.d.ts +3 -3
- package/strength/strength.module.d.ts +1 -1
- package/styles/index.scss +1 -1
- package/styles/mixins/index.scss +1 -1
- package/switch/switch.component.d.ts +3 -3
- package/switch/switch.module.d.ts +1 -1
- package/table/table-skeleton.component.d.ts +3 -3
- package/table/table.component.d.ts +3 -3
- package/table/table.module.d.ts +1 -1
- package/tabs/tab-content.component.d.ts +3 -3
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.component.d.ts +7 -7
- package/tabs/tabs.module.d.ts +1 -1
- package/tag/tag.component.d.ts +3 -3
- package/tag/tag.module.d.ts +1 -1
- package/tag/tags.component.d.ts +3 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +3 -3
- package/time-picker/time-picker-panel.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +3 -3
- package/time-picker/time-picker.module.d.ts +1 -1
- package/timeline/timeline-item.component.d.ts +3 -3
- package/timeline/timeline.component.d.ts +6 -6
- package/timeline/timeline.module.d.ts +1 -1
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tooltip/tooltip.module.d.ts +1 -1
- package/transfer/transfer-list.component.d.ts +3 -3
- package/transfer/transfer.component.d.ts +3 -3
- package/transfer/transfer.module.d.ts +1 -1
- package/tree/tree.component.d.ts +3 -3
- package/tree/tree.module.d.ts +1 -1
- package/tree-select/module.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +8 -8
- package/typography/module.d.ts +1 -1
- package/typography/text/text.component.d.ts +3 -3
- package/upload/file-select.component.d.ts +3 -3
- package/upload/module.d.ts +1 -1
- package/vote/vote.component.d.ts +3 -3
- package/vote/vote.module.d.ts +1 -1
- package/divider/examples/color/color.component.scss +0 -5
- package/divider/examples/deeper/deeper.component.scss +0 -5
- package/divider/examples/with-text/with-text.component.scss +0 -5
- package/esm2022/select/select.component.mjs +0 -103
|
@@ -10,7 +10,7 @@ import { ThyNavInkBarDirective } from './nav-ink-bar.directive';
|
|
|
10
10
|
import { ThyNavItemDirective } from './nav-item.directive';
|
|
11
11
|
import { BypassSecurityTrustHtmlPipe } from './nav.pipe';
|
|
12
12
|
import { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective } from 'ngx-tethys/dropdown';
|
|
13
|
-
import {
|
|
13
|
+
import { ThyIcon } from 'ngx-tethys/icon';
|
|
14
14
|
import { NgClass, NgTemplateOutlet, NgIf, NgFor } from '@angular/common';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
import * as i1 from "ngx-tethys/popover";
|
|
@@ -37,7 +37,7 @@ const tabItemRight = 20;
|
|
|
37
37
|
* @name thy-nav
|
|
38
38
|
* @order 10
|
|
39
39
|
*/
|
|
40
|
-
export class
|
|
40
|
+
export class ThyNav extends _MixinBase {
|
|
41
41
|
/**
|
|
42
42
|
* 导航类型
|
|
43
43
|
* @type pulled | tabs | pills | lite | primary | secondary | thirdly | secondary-divider
|
|
@@ -295,26 +295,26 @@ export class ThyNavComponent extends _MixinBase {
|
|
|
295
295
|
this.ngUnsubscribe$.next();
|
|
296
296
|
this.ngUnsubscribe$.complete();
|
|
297
297
|
}
|
|
298
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
299
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNav, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: "thyType", thySize: "thySize", thyHorizontal: "thyHorizontal", thyVertical: "thyVertical", thyFill: "thyFill", thyResponsive: "thyResponsive", thyInsideClosable: "thyInsideClosable", thyExtra: "thyExtra" }, host: { properties: { "class.thy-nav--vertical": "this.thyVertical", "class.thy-nav--fill": "this.thyFill" }, classAttribute: "thy-nav" }, queries: [{ propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <a\n *ngIf=\"thyResponsive\"\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\"\n >\n <ng-container *ngIf=\"moreOperation; else defaultMoreOperation\" [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n <ng-template #defaultMoreOperation>\n \u66F4\u591A\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n </ng-template>\n </a>\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n <ng-container\n *ngIf=\"morePopover; else default\"\n [ngTemplateOutlet]=\"morePopover\"\n [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"\n ></ng-container>\n <ng-template #default>\n <thy-dropdown-menu thyImmediateRender>\n <ng-container *ngFor=\"let item of hiddenItems\">\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"\n ></span>\n </ng-container>\n </thy-dropdown-menu>\n </ng-template>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div *ngIf=\"thyExtra || extra\" class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
300
300
|
}
|
|
301
301
|
__decorate([
|
|
302
302
|
InputBoolean(),
|
|
303
303
|
__metadata("design:type", Boolean)
|
|
304
|
-
],
|
|
304
|
+
], ThyNav.prototype, "thyVertical", void 0);
|
|
305
305
|
__decorate([
|
|
306
306
|
InputBoolean(),
|
|
307
307
|
__metadata("design:type", Boolean)
|
|
308
|
-
],
|
|
308
|
+
], ThyNav.prototype, "thyFill", void 0);
|
|
309
309
|
__decorate([
|
|
310
310
|
InputBoolean(),
|
|
311
311
|
__metadata("design:type", Boolean)
|
|
312
|
-
],
|
|
312
|
+
], ThyNav.prototype, "thyResponsive", void 0);
|
|
313
313
|
__decorate([
|
|
314
314
|
InputBoolean(),
|
|
315
315
|
__metadata("design:type", Object)
|
|
316
|
-
],
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
316
|
+
], ThyNav.prototype, "thyInsideClosable", void 0);
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNav, decorators: [{
|
|
318
318
|
type: Component,
|
|
319
319
|
args: [{ selector: 'thy-nav', host: {
|
|
320
320
|
class: 'thy-nav'
|
|
@@ -323,7 +323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
323
323
|
NgTemplateOutlet,
|
|
324
324
|
NgIf,
|
|
325
325
|
ThyNavItemDirective,
|
|
326
|
-
|
|
326
|
+
ThyIcon,
|
|
327
327
|
ThyNavInkBarDirective,
|
|
328
328
|
ThyDropdownMenuComponent,
|
|
329
329
|
NgFor,
|
|
@@ -375,4 +375,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
375
375
|
type: ViewChild,
|
|
376
376
|
args: [ThyNavInkBarDirective, { static: true }]
|
|
377
377
|
}] } });
|
|
378
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUlILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUlOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIs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QUFFLElBQUksRUFBRTtnQkFLRCxPQUFPO3NCQUFoRSxlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFNbEMsYUFBYTtzQkFBbEMsWUFBWTt1QkFBQyxNQUFNO2dCQU1TLFdBQVc7c0JBQXZDLFlBQVk7dUJBQUMsYUFBYTtnQkFPSixLQUFLO3NCQUEzQixZQUFZO3VCQUFDLE9BQU87Z0JBRWdCLG9CQUFvQjtzQkFBeEQsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBRWlCLE1BQU07c0JBQXpELFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0b3IsIElucHV0Qm9vbGVhbiwgTWl4aW5CYXNlLCBtaXhpblVuc3Vic2NyaWJlLCBUaHlVbnN1YnNjcmliZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudENoZWNrZWQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUm91dGVyTGlua0FjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUaHlOYXZJbmtCYXJEaXJlY3RpdmUgfSBmcm9tICcuL25hdi1pbmstYmFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHlOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnlwYXNzU2VjdXJpdHlUcnVzdEh0bWxQaXBlIH0gZnJvbSAnLi9uYXYucGlwZSc7XG5pbXBvcnQgeyBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsIFRoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2Ryb3Bkb3duJztcbmltcG9ydCB7IFRoeUljb25Db21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCwgTmdJZiwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCBfTWl4aW5CYXNlOiBDb25zdHJ1Y3RvcjxUaHlVbnN1YnNjcmliZT4gJiB0eXBlb2YgTWl4aW5CYXNlID0gbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpO1xuXG5leHBvcnQgdHlwZSBUaHlOYXZUeXBlID0gJ3B1bGxlZCcgfCAndGFicycgfCAncGlsbHMnIHwgJ2xpdGUnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGhpcmRseScgfCAnc2Vjb25kYXJ5LWRpdmlkZXInO1xuZXhwb3J0IHR5cGUgVGh5TmF2U2l6ZSA9ICdsZycgfCAnbWQnIHwgJ3NtJztcbmV4cG9ydCB0eXBlIFRoeU5hdkhvcml6b250YWwgPSAnJyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuXG5jb25zdCBuYXZUeXBlQ2xhc3Nlc01hcCA9IHtcbiAgICBwdWxsZWQ6IFsndGh5LW5hdi1wdWxsZWQnXSxcbiAgICB0YWJzOiBbJ3RoeS1uYXYtdGFicyddLFxuICAgIHBpbGxzOiBbJ3RoeS1uYXYtcGlsbHMnXSxcbiAgICBsaXRlOiBbJ3RoeS1uYXYtbGl0ZSddLFxuICAgIC8v5aaC5LiL57G75Z6L5bey57uP5bqf5byDXG4gICAgcHJpbWFyeTogWyd0aHktbmF2LXByaW1hcnknXSxcbiAgICBzZWNvbmRhcnk6IFsndGh5LW5hdi1zZWNvbmRhcnknXSxcbiAgICB0aGlyZGx5OiBbJ3RoeS1uYXYtdGhpcmRseSddLFxuICAgICdzZWNvbmRhcnktZGl2aWRlcic6IFsndGh5LW5hdi1zZWNvbmRhcnktZGl2aWRlciddXG59O1xuXG5jb25zdCBuYXZTaXplQ2xhc3Nlc01hcCA9IHtcbiAgICBsZzogJ3RoeS1uYXYtbGcnLFxuICAgIG1kOiAndGh5LW5hdi1tZCcsXG4gICAgc206ICd0aHktbmF2LXNtJ1xufTtcblxuY29uc3QgdGFiSXRlbVJpZ2h0ID0gMjA7XG5cbi8qKlxuICog5a+86Iiq57uE5Lu2XG4gKiBAbmFtZSB0aHktbmF2XG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktbmF2JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LW5hdidcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUaHlOYXZJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUaHlJY29uQ29tcG9uZW50LFxuICAgICAgICBUaHlOYXZJbmtCYXJEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVEaXJlY3RpdmUsXG4gICAgICAgIEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TmF2Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBfTWl4aW5CYXNlXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSB0eXBlOiBUaHlOYXZUeXBlID0gJ3B1bGxlZCc7XG4gICAgcHJpdmF0ZSBzaXplOiBUaHlOYXZTaXplID0gJ21kJztcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBob3Jpem9udGFsOiBUaHlOYXZIb3Jpem9udGFsO1xuICAgIHB1YmxpYyB3cmFwcGVyT2Zmc2V0OiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyOyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gPSB7XG4gICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHRvcDogMFxuICAgIH07XG5cbiAgICBwdWJsaWMgaGlkZGVuSXRlbXM6IFRoeU5hdkl0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuXG4gICAgcHVibGljIG1vcmVBY3RpdmU6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgc2hvd01vcmUgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBtb3JlQnRuT2Zmc2V0OiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0gPSB7IGhlaWdodDogMCwgd2lkdGg6IDAgfTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDlr7zoiKrnsbvlnotcbiAgICAgKiBAdHlwZSBwdWxsZWQgfCB0YWJzIHwgcGlsbHMgfCBsaXRlIHwgcHJpbWFyeSB8IHNlY29uZGFyeSB8IHRoaXJkbHkgfCBzZWNvbmRhcnktZGl2aWRlclxuICAgICAqIEBkZWZhdWx0IHB1bGxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVR5cGUodHlwZTogVGh5TmF2VHlwZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlIHx8ICdwdWxsZWQnO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlr7zoiKrlpKflsI9cbiAgICAgKiBAdHlwZSBsZyB8IG1kIHwgc21cbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUoc2l6ZTogVGh5TmF2U2l6ZSkge1xuICAgICAgICB0aGlzLnNpemUgPSBzaXplO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmsLTlubPmjpLliJdcbiAgICAgKiBAdHlwZSAnJyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlIb3Jpem9udGFsKGhvcml6b250YWw6IFRoeU5hdkhvcml6b250YWwpIHtcbiAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gKGhvcml6b250YWwgYXMgc3RyaW5nKSA9PT0gJ3JpZ2h0JyA/ICdlbmQnIDogaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblnoLnm7TmjpLliJdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW5hdi0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5VmVydGljYWw6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/loavlhYXmqKHlvI9cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1uYXYtLWZpbGwnKVxuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5RmlsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5ZON5bqU5byP77yM6Ieq5Yqo6K6h566X5a695bqm5a2Y5pS+IHRoeU5hdkl0ZW3vvIzlubbmt7vliqDmm7TlpJrlvLnmoYZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5UmVzcG9uc2l2ZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOabtOWkmuaTjeS9nOeahOiPnOWNleeCueWHu+WGhemDqOaYr+WQpuWPr+WFs+mXrVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5SW5zaWRlQ2xvc2FibGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5Y+z5L6n6aKd5aSW5Yy65Z+f5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFeHRyYTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5TmF2SXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBsaW5rczogUXVlcnlMaXN0PFRoeU5hdkl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFJvdXRlckxpbmtBY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcm91dGVyczogUXVlcnlMaXN0PFJvdXRlckxpbmtBY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICog5ZON5bqU5byP5qih5byP5LiL5pu05aSa5pON5L2c5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb3JlJykgbW9yZU9wZXJhdGlvbjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiDlk43lupTlvI/mqKHlvI/kuIvmm7TlpJrlvLnmoYbmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vcmVQb3BvdmVyJykgbW9yZVBvcG92ZXI6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgLyoqXG4gICAgICog5Y+z5L6n6aKd5aSW5Yy65Z+f5qih5p2/77yM5pSv5oyBIHRoeUV4dHJhIOS8oOWPguWSjCA8bmctdGVtcGxhdGUgI2V4dHJhPjwvbmctdGVtcGxhdGU+IOaooeadv1xuICAgICAqIEBuYW1lIGV4dHJhXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vcmVPcGVyYXRpb25Db250YWluZXInKSBkZWZhdWx0TW9yZU9wZXJhdGlvbjogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFRoeU5hdklua0JhckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgaW5rQmFyITogVGh5TmF2SW5rQmFyRGlyZWN0aXZlO1xuXG4gICAgZ2V0IHNob3dJbmtCYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNob3dUeXBlczogVGh5TmF2VHlwZVtdID0gWydwdWxsZWQnLCAndGFicyddO1xuICAgICAgICByZXR1cm4gc2hvd1R5cGVzLmluY2x1ZGVzKHRoaXMudHlwZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKG5hdlR5cGVDbGFzc2VzTWFwW3RoaXMudHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4ubmF2VHlwZUNsYXNzZXNNYXBbdGhpcy50eXBlXV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5hdlNpemVDbGFzc2VzTWFwW3RoaXMuc2l6ZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChuYXZTaXplQ2xhc3Nlc01hcFt0aGlzLnNpemVdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN1ckFjdGl2ZUluZGV4OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHByZXZBY3RpdmVJbmRleDogbnVtYmVyID0gTmFOO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMudGh5UmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TW9yZUJ0bk9mZnNldCgpO1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlua3MudG9BcnJheSgpLmZvckVhY2gobGluayA9PiBsaW5rLnNldE9mZnNldCgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEhpZGRlbkl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtzLmNoYW5nZXMsXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVSZXNpemVPYnNlcnZlcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGlwZShkZWJvdW5jZVRpbWUoMTAwKSksXG4gICAgICAgICAgICAgICAgLi4udGhpcy5saW5rcy5tYXAoaXRlbSA9PiB0aGlzLmNyZWF0ZVJlc2l6ZU9ic2VydmVyKGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5waXBlKGRlYm91bmNlVGltZSgxMDApKSksXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMucm91dGVycyB8fCBbXSkubWFwKHJvdXRlciA9PiByb3V0ZXI/LmlzQWN0aXZlQ2hhbmdlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJCksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFNpemVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRIaWRkZW5JdGVtcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9yZUlzQWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0U2l6ZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vcmVJc0FjdGl2ZSgpO1xuXG4gICAgICAgIHRoaXMuY3VyQWN0aXZlSW5kZXggPSB0aGlzLmxpbmtzICYmIHRoaXMubGlua3MubGVuZ3RoID8gdGhpcy5saW5rcy50b0FycmF5KCkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5saW5rSXNBY3RpdmUoKSkgOiAtMTtcbiAgICAgICAgaWYgKHRoaXMuY3VyQWN0aXZlSW5kZXggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmlua0Jhci5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJBY3RpdmVJbmRleCAhPT0gdGhpcy5wcmV2QWN0aXZlSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1vcmVCdG5PZmZzZXQoKSB7XG4gICAgICAgIHRoaXMubW9yZUJ0bk9mZnNldCA9IHtcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5kZWZhdWx0TW9yZU9wZXJhdGlvbj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZGVmYXVsdE1vcmVPcGVyYXRpb24/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlUmVzaXplT2JzZXJ2ZXIoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgID8gb2YobnVsbClcbiAgICAgICAgICAgIDogbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzaXplID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZW50cmllcyk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHJlc2l6ZS5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICByZXNpemUuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb3JlSXNBY3RpdmUoKSB7XG4gICAgICAgIHRoaXMubW9yZUFjdGl2ZSA9IHRoaXMuaGlkZGVuSXRlbXMuc29tZShpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxpbmtJc0FjdGl2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRIaWRkZW5JdGVtcygpIHtcbiAgICAgICAgdGhpcy5tb3JlQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLmxpbmtzLnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKCF0YWJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5oaWRkZW5JdGVtcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zaG93TW9yZSA9IHRoaXMuaGlkZGVuSXRlbXMubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy50aHlWZXJ0aWNhbCA/IHRoaXMuZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuVmVydGljYWwodGFicykgOiB0aGlzLmdldFNob3dJdGVtc0VuZEluZGV4V2hlbkhvcml6b250YWwodGFicyk7XG5cbiAgICAgICAgY29uc3Qgc2hvd0l0ZW1zID0gdGFicy5zbGljZSgwLCBlbmRJbmRleCArIDEpO1xuICAgICAgICAoc2hvd0l0ZW1zIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5zZXROYXZMaW5rSGlkZGVuKGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oaWRkZW5JdGVtcyA9IGVuZEluZGV4ID09PSB0YWJzLmxlbmd0aCAtIDEgPyBbXSA6IHRhYnMuc2xpY2UoZW5kSW5kZXggKyAxKTtcbiAgICAgICAgKHRoaXMuaGlkZGVuSXRlbXMgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnNldE5hdkxpbmtIaWRkZW4odHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2hvd01vcmUgPSB0aGlzLmhpZGRlbkl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuSG9yaXpvbnRhbCh0YWJzOiBUaHlOYXZJdGVtRGlyZWN0aXZlW10pIHtcbiAgICAgICAgY29uc3QgdGFic0xlbmd0aCA9IHRhYnMubGVuZ3RoO1xuICAgICAgICBsZXQgZW5kSW5kZXggPSB0YWJzTGVuZ3RoO1xuICAgICAgICBsZXQgdG90YWxXaWR0aCA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IF90b3RhbFdpZHRoID0gaSA9PT0gdGFic0xlbmd0aCAtIDEgPyB0b3RhbFdpZHRoICsgdGFic1tpXS5vZmZzZXQud2lkdGggOiB0b3RhbFdpZHRoICsgdGFic1tpXS5vZmZzZXQud2lkdGggKyB0YWJJdGVtUmlnaHQ7XG4gICAgICAgICAgICBpZiAoX3RvdGFsV2lkdGggPiB0aGlzLndyYXBwZXJPZmZzZXQud2lkdGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgbW9yZU9wZXJhdGlvbldpZHRoID0gdGhpcy5tb3JlQnRuT2Zmc2V0LndpZHRoO1xuICAgICAgICAgICAgICAgIGlmICh0b3RhbFdpZHRoICsgbW9yZU9wZXJhdGlvbldpZHRoIDw9IHRoaXMud3JhcHBlck9mZnNldC53aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGkgLSAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0b3RhbFdpZHRoID0gX3RvdGFsV2lkdGg7XG4gICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmRJbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNob3dJdGVtc0VuZEluZGV4V2hlblZlcnRpY2FsKHRhYnM6IFRoeU5hdkl0ZW1EaXJlY3RpdmVbXSkge1xuICAgICAgICBjb25zdCB0YWJzTGVuZ3RoID0gdGFicy5sZW5ndGg7XG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRhYnNMZW5ndGg7XG4gICAgICAgIGxldCB0b3RhbEhlaWdodCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFic0xlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBfdG90YWxIZWlnaHQgPSB0b3RhbEhlaWdodCArIHRhYnNbaV0ub2Zmc2V0LmhlaWdodDtcbiAgICAgICAgICAgIGlmIChfdG90YWxIZWlnaHQgPiB0aGlzLndyYXBwZXJPZmZzZXQuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vcmVPcGVyYXRpb25IZWlnaHQgPSB0aGlzLm1vcmVCdG5PZmZzZXQuaGVpZ2h0O1xuICAgICAgICAgICAgICAgIGlmICh0b3RhbEhlaWdodCArIG1vcmVPcGVyYXRpb25IZWlnaHQgPD0gdGhpcy53cmFwcGVyT2Zmc2V0LmhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGkgLSAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0b3RhbEhlaWdodCA9IF90b3RhbEhlaWdodDtcbiAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZEluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRTaXplcygpIHtcbiAgICAgICAgdGhpcy53cmFwcGVyT2Zmc2V0ID0ge1xuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgfHwgMCxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCB8fCAwLFxuICAgICAgICAgICAgbGVmdDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwLFxuICAgICAgICAgICAgdG9wOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgfHwgMFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9wZW5Nb3JlKGV2ZW50OiBFdmVudCwgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyLm9wZW4odGVtcGxhdGUsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLnRoeUluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aHktbmF2LWxpc3QtcG9wb3ZlcicsXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ3RoeS1uYXYtb3JpZ2luLWFjdGl2ZSdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmF2SXRlbUNsaWNrKGl0ZW06IFRoeU5hdkl0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dJbmtCYXIpIHtcbiAgICAgICAgICAgIHRoaXMuaW5rQmFyLmhpZGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5saW5rcz8udG9BcnJheSgpID8/IFtdO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0YWJzLmZpbmQoaXRlbSA9PiBpdGVtLmxpbmtJc0FjdGl2ZSgpKTtcbiAgICAgICAgbGV0IHNlbGVjdGVkSXRlbUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSAmJiB0aGlzLm1vcmVBY3RpdmUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbUVsZW1lbnQgPSB0aGlzLmRlZmF1bHRNb3JlT3BlcmF0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucHJldkFjdGl2ZUluZGV4ID0gdGhpcy5jdXJBY3RpdmVJbmRleDtcbiAgICAgICAgICAgIHRoaXMuaW5rQmFyLmFsaWduVG9FbGVtZW50KHNlbGVjdGVkSXRlbUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVZlcnRpY2FsLCB0aHlUeXBlIH0gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmICh0aHlUeXBlPy5jdXJyZW50VmFsdWUgIT09IHRoeVR5cGU/LnByZXZpb3VzVmFsdWUgfHwgdGh5VmVydGljYWw/LmN1cnJlbnRWYWx1ZSAhPT0gdGh5VmVydGljYWw/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LW5hdi1saXN0XCIgW25nQ2xhc3NdPVwiaG9yaXpvbnRhbCA/ICdqdXN0aWZ5LWNvbnRlbnQtJyArIGhvcml6b250YWwgOiAnJ1wiICNuYXZMaXN0PlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPGFcbiAgICAqbmdJZj1cInRoeVJlc3BvbnNpdmVcIlxuICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgIGNsYXNzPVwidGh5LW5hdi1tb3JlLWNvbnRhaW5lclwiXG4gICAgW2NsYXNzLmQtbm9uZV09XCIhc2hvd01vcmVcIlxuICAgIFtjbGFzcy5pbnZpc2libGVdPVwiIWluaXRpYWxpemVkXCJcbiAgICAjbW9yZU9wZXJhdGlvbkNvbnRhaW5lclxuICAgIHRoeU5hdkxpbmtcbiAgICBbdGh5TmF2TGlua0FjdGl2ZV09XCJtb3JlQWN0aXZlXCJcbiAgICAoY2xpY2spPVwib3Blbk1vcmUoJGV2ZW50LCBuYXZMaXN0UG9wb3ZlcilcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vcmVPcGVyYXRpb247IGVsc2UgZGVmYXVsdE1vcmVPcGVyYXRpb25cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJtb3JlT3BlcmF0aW9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9yZU9wZXJhdGlvbj5cbiAgICAgIOabtOWkmlxuICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtZG93blwiIGNsYXNzPVwidGh5LW5hdi1tb3JlLWljb25cIj48L3RoeS1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYT5cbiAgPHRoeS1uYXYtaW5rLWJhciBbc2hvd0lua0Jhcl09XCJzaG93SW5rQmFyXCIgW2lzVmVydGljYWxdPVwidGh5VmVydGljYWxcIj48L3RoeS1uYXYtaW5rLWJhcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25hdkxpc3RQb3BvdmVyPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJtb3JlUG9wb3ZlcjsgZWxzZSBkZWZhdWx0XCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJtb3JlUG9wb3ZlclwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW5JdGVtcyB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgPHRoeS1kcm9wZG93bi1tZW51IHRoeUltbWVkaWF0ZVJlbmRlcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaGlkZGVuSXRlbXNcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInRoeS1uYXYtaXRlbS1tb3JlXCJcbiAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgW3RoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVdPVwiaXRlbS5pc0FjdGl2ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5hdkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgfCBieXBhc3NTZWN1cml0eVRydXN0SHRtbFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RoeS1kcm9wZG93bi1tZW51PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2ICpuZ0lmPVwidGh5RXh0cmEgfHwgZXh0cmFcIiBjbGFzcz1cInRoeS1uYXYtZXh0cmFcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlFeHRyYSB8fCBleHRyYVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUlILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUlOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENB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LEVBQUU7Z0JBS0QsT0FBTztzQkFBaEUsZUFBZTt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBTWxDLGFBQWE7c0JBQWxDLFlBQVk7dUJBQUMsTUFBTTtnQkFNUyxXQUFXO3NCQUF2QyxZQUFZO3VCQUFDLGFBQWE7Z0JBT0osS0FBSztzQkFBM0IsWUFBWTt1QkFBQyxPQUFPO2dCQUVnQixvQkFBb0I7c0JBQXhELFNBQVM7dUJBQUMsd0JBQXdCO2dCQUVpQixNQUFNO3NCQUF6RCxTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdG9yLCBJbnB1dEJvb2xlYW4sIE1peGluQmFzZSwgbWl4aW5VbnN1YnNjcmliZSwgVGh5VW5zdWJzY3JpYmUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGh5TmF2SW5rQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtaW5rLWJhci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5TmF2SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmF2LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZSB9IGZyb20gJy4vbmF2LnBpcGUnO1xuaW1wb3J0IHsgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LCBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLCBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgX01peGluQmFzZTogQ29uc3RydWN0b3I8VGh5VW5zdWJzY3JpYmU+ICYgdHlwZW9mIE1peGluQmFzZSA9IG1peGluVW5zdWJzY3JpYmUoTWl4aW5CYXNlKTtcblxuZXhwb3J0IHR5cGUgVGh5TmF2VHlwZSA9ICdwdWxsZWQnIHwgJ3RhYnMnIHwgJ3BpbGxzJyB8ICdsaXRlJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RoaXJkbHknIHwgJ3NlY29uZGFyeS1kaXZpZGVyJztcbmV4cG9ydCB0eXBlIFRoeU5hdlNpemUgPSAnbGcnIHwgJ21kJyB8ICdzbSc7XG5leHBvcnQgdHlwZSBUaHlOYXZIb3Jpem9udGFsID0gJycgfCAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcblxuY29uc3QgbmF2VHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHVsbGVkOiBbJ3RoeS1uYXYtcHVsbGVkJ10sXG4gICAgdGFiczogWyd0aHktbmF2LXRhYnMnXSxcbiAgICBwaWxsczogWyd0aHktbmF2LXBpbGxzJ10sXG4gICAgbGl0ZTogWyd0aHktbmF2LWxpdGUnXSxcbiAgICAvL+WmguS4i+exu+Wei+W3sue7j+W6n+W8g1xuICAgIHByaW1hcnk6IFsndGh5LW5hdi1wcmltYXJ5J10sXG4gICAgc2Vjb25kYXJ5OiBbJ3RoeS1uYXYtc2Vjb25kYXJ5J10sXG4gICAgdGhpcmRseTogWyd0aHktbmF2LXRoaXJkbHknXSxcbiAgICAnc2Vjb25kYXJ5LWRpdmlkZXInOiBbJ3RoeS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXInXVxufTtcblxuY29uc3QgbmF2U2l6ZUNsYXNzZXNNYXAgPSB7XG4gICAgbGc6ICd0aHktbmF2LWxnJyxcbiAgICBtZDogJ3RoeS1uYXYtbWQnLFxuICAgIHNtOiAndGh5LW5hdi1zbSdcbn07XG5cbmNvbnN0IHRhYkl0ZW1SaWdodCA9IDIwO1xuXG4vKipcbiAqIOWvvOiIque7hOS7tlxuICogQG5hbWUgdGh5LW5hdlxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5hdicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1uYXYnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgVGh5TmF2SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5TmF2SW5rQmFyRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlLFxuICAgICAgICBCeXBhc3NTZWN1cml0eVRydXN0SHRtbFBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoeU5hdiBleHRlbmRzIF9NaXhpbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHR5cGU6IFRoeU5hdlR5cGUgPSAncHVsbGVkJztcbiAgICBwcml2YXRlIHNpemU6IFRoeU5hdlNpemUgPSAnbWQnO1xuICAgIHB1YmxpYyBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGhvcml6b250YWw6IFRoeU5hdkhvcml6b250YWw7XG4gICAgcHVibGljIHdyYXBwZXJPZmZzZXQ6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXI7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXIgfSA9IHtcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgdG9wOiAwXG4gICAgfTtcblxuICAgIHB1YmxpYyBoaWRkZW5JdGVtczogVGh5TmF2SXRlbURpcmVjdGl2ZVtdID0gW107XG5cbiAgICBwdWJsaWMgbW9yZUFjdGl2ZTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBzaG93TW9yZSA9IHRydWU7XG5cbiAgICBwcml2YXRlIG1vcmVCdG5PZmZzZXQ6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSA9IHsgaGVpZ2h0OiAwLCB3aWR0aDogMCB9O1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOWvvOiIquexu+Wei1xuICAgICAqIEB0eXBlIHB1bGxlZCB8IHRhYnMgfCBwaWxscyB8IGxpdGUgfCBwcmltYXJ5IHwgc2Vjb25kYXJ5IHwgdGhpcmRseSB8IHNlY29uZGFyeS1kaXZpZGVyXG4gICAgICogQGRlZmF1bHQgcHVsbGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh0eXBlOiBUaHlOYXZUeXBlKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgJ3B1bGxlZCc7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWvvOiIquWkp+Wwj1xuICAgICAqIEB0eXBlIGxnIHwgbWQgfCBzbVxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBUaHlOYXZTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOW5s+aOkuWIl1xuICAgICAqIEB0eXBlICcnIHwgJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUhvcml6b250YWwoaG9yaXpvbnRhbDogVGh5TmF2SG9yaXpvbnRhbCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWwgPSAoaG9yaXpvbnRhbCBhcyBzdHJpbmcpID09PSAncmlnaHQnID8gJ2VuZCcgOiBob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWeguebtOaOkuWIl1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktbmF2LS12ZXJ0aWNhbCcpXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICB0aHlWZXJ0aWNhbDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYr+Whq+WFheaooeW8j1xuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW5hdi0tZmlsbCcpXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICB0aHlGaWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblk43lupTlvI/vvIzoh6rliqjorqHnrpflrr3luqblrZjmlL4gdGh5TmF2SXRlbe+8jOW5tua3u+WKoOabtOWkmuW8ueahhlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICB0aHlSZXNwb25zaXZlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pu05aSa5pON5L2c55qE6I+c5Y2V54K55Ye75YaF6YOo5piv5ZCm5Y+v5YWz6ZetXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICB0aHlJbnNpZGVDbG9zYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlj7Pkvqfpop3lpJbljLrln5/mqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlOYXZJdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGxpbmtzOiBRdWVyeUxpc3Q8VGh5TmF2SXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUm91dGVyTGlua0FjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByb3V0ZXJzOiBRdWVyeUxpc3Q8Um91dGVyTGlua0FjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiDlk43lupTlvI/mqKHlvI/kuIvmm7TlpJrmk43kvZzmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vcmUnKSBtb3JlT3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIOWTjeW6lOW8j+aooeW8j+S4i+abtOWkmuW8ueahhuaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbW9yZVBvcG92ZXInKSBtb3JlUG9wb3ZlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiDlj7Pkvqfpop3lpJbljLrln5/mqKHmnb/vvIzmlK/mjIEgdGh5RXh0cmEg5Lyg5Y+C5ZKMIDxuZy10ZW1wbGF0ZSAjZXh0cmE+PC9uZy10ZW1wbGF0ZT4g5qih5p2/XG4gICAgICogQG5hbWUgZXh0cmFcbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQFZpZXdDaGlsZCgnbW9yZU9wZXJhdGlvbkNvbnRhaW5lcicpIGRlZmF1bHRNb3JlT3BlcmF0aW9uOiBFbGVtZW50UmVmPEhUTUxBbmNob3JFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVGh5TmF2SW5rQmFyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbmtCYXIhOiBUaHlOYXZJbmtCYXJEaXJlY3RpdmU7XG5cbiAgICBnZXQgc2hvd0lua0JhcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2hvd1R5cGVzOiBUaHlOYXZUeXBlW10gPSBbJ3B1bGxlZCcsICd0YWJzJ107XG4gICAgICAgIHJldHVybiBzaG93VHlwZXMuaW5jbHVkZXModGhpcy50eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAobmF2VHlwZUNsYXNzZXNNYXBbdGhpcy50eXBlXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcyA9IFsuLi5uYXZUeXBlQ2xhc3Nlc01hcFt0aGlzLnR5cGVdXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmF2U2l6ZUNsYXNzZXNNYXBbdGhpcy5zaXplXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKG5hdlNpemVDbGFzc2VzTWFwW3RoaXMuc2l6ZV0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3VyQWN0aXZlSW5kZXg6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcHJldkFjdGl2ZUluZGV4OiBudW1iZXIgPSBOYU47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBwb3BvdmVyOiBUaHlQb3BvdmVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRNb3JlQnRuT2Zmc2V0KCk7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rcy50b0FycmF5KCkuZm9yRWFjaChsaW5rID0+IGxpbmsuc2V0T2Zmc2V0KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHRoaXMubGlua3MuY2hhbmdlcyxcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVJlc2l6ZU9ic2VydmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5waXBlKGRlYm91bmNlVGltZSgxMDApKSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmxpbmtzLm1hcChpdGVtID0+IHRoaXMuY3JlYXRlUmVzaXplT2JzZXJ2ZXIoaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpKSxcbiAgICAgICAgICAgICAgICAuLi4odGhpcy5yb3V0ZXJzIHx8IFtdKS5tYXAocm91dGVyID0+IHJvdXRlcj8uaXNBY3RpdmVDaGFuZ2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUkKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRoeVJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0U2l6ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEhpZGRlbkl0ZW1zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVNb3JlSXNBY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRTaXplcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTW9yZUlzQWN0aXZlKCk7XG5cbiAgICAgICAgdGhpcy5jdXJBY3RpdmVJbmRleCA9IHRoaXMubGlua3MgJiYgdGhpcy5saW5rcy5sZW5ndGggPyB0aGlzLmxpbmtzLnRvQXJyYXkoKS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmxpbmtJc0FjdGl2ZSgpKSA6IC0xO1xuICAgICAgICBpZiAodGhpcy5jdXJBY3RpdmVJbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuaW5rQmFyLmhpZGUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1ckFjdGl2ZUluZGV4ICE9PSB0aGlzLnByZXZBY3RpdmVJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TW9yZUJ0bk9mZnNldCgpIHtcbiAgICAgICAgdGhpcy5tb3JlQnRuT2Zmc2V0ID0ge1xuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmRlZmF1bHRNb3JlT3BlcmF0aW9uPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRIZWlnaHQsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5kZWZhdWx0TW9yZU9wZXJhdGlvbj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGVSZXNpemVPYnNlcnZlcihlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBvZihudWxsKVxuICAgICAgICAgICAgOiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNpemUgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlbnRyaWVzKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgcmVzaXplLm9ic2VydmUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZS5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1vcmVJc0FjdGl2ZSgpIHtcbiAgICAgICAgdGhpcy5tb3JlQWN0aXZlID0gdGhpcy5oaWRkZW5JdGVtcy5zb21lKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubGlua0lzQWN0aXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEhpZGRlbkl0ZW1zKCkge1xuICAgICAgICB0aGlzLm1vcmVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMubGlua3MudG9BcnJheSgpO1xuICAgICAgICBpZiAoIXRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zID0gW107XG4gICAgICAgICAgICB0aGlzLnNob3dNb3JlID0gdGhpcy5oaWRkZW5JdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSB0aGlzLnRoeVZlcnRpY2FsID8gdGhpcy5nZXRTaG93SXRlbXNFbmRJbmRleFdoZW5WZXJ0aWNhbCh0YWJzKSA6IHRoaXMuZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuSG9yaXpvbnRhbCh0YWJzKTtcblxuICAgICAgICBjb25zdCBzaG93SXRlbXMgPSB0YWJzLnNsaWNlKDAsIGVuZEluZGV4ICsgMSk7XG4gICAgICAgIChzaG93SXRlbXMgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnNldE5hdkxpbmtIaWRkZW4oZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zID0gZW5kSW5kZXggPT09IHRhYnMubGVuZ3RoIC0gMSA/IFtdIDogdGFicy5zbGljZShlbmRJbmRleCArIDEpO1xuICAgICAgICAodGhpcy5oaWRkZW5JdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGl0ZW0uc2V0TmF2TGlua0hpZGRlbih0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IHRoaXMuaGlkZGVuSXRlbXMubGVuZ3RoID4gMDtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaG93SXRlbXNFbmRJbmRleFdoZW5Ib3Jpem9udGFsKHRhYnM6IFRoeU5hdkl0ZW1EaXJlY3RpdmVbXSkge1xuICAgICAgICBjb25zdCB0YWJzTGVuZ3RoID0gdGFicy5sZW5ndGg7XG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRhYnNMZW5ndGg7XG4gICAgICAgIGxldCB0b3RhbFdpZHRoID0gMDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnNMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgX3RvdGFsV2lkdGggPSBpID09PSB0YWJzTGVuZ3RoIC0gMSA/IHRvdGFsV2lkdGggKyB0YWJzW2ldLm9mZnNldC53aWR0aCA6IHRvdGFsV2lkdGggKyB0YWJzW2ldLm9mZnNldC53aWR0aCArIHRhYkl0ZW1SaWdodDtcbiAgICAgICAgICAgIGlmIChfdG90YWxXaWR0aCA+IHRoaXMud3JhcHBlck9mZnNldC53aWR0aCkge1xuICAgICAgICAgICAgICAgIGxldCBtb3JlT3BlcmF0aW9uV2lkdGggPSB0aGlzLm1vcmVCdG5PZmZzZXQud2lkdGg7XG4gICAgICAgICAgICAgICAgaWYgKHRvdGFsV2lkdGggKyBtb3JlT3BlcmF0aW9uV2lkdGggPD0gdGhpcy53cmFwcGVyT2Zmc2V0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggPSBfdG90YWxXaWR0aDtcbiAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZEluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuVmVydGljYWwodGFiczogVGh5TmF2SXRlbURpcmVjdGl2ZVtdKSB7XG4gICAgICAgIGNvbnN0IHRhYnNMZW5ndGggPSB0YWJzLmxlbmd0aDtcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGFic0xlbmd0aDtcbiAgICAgICAgbGV0IHRvdGFsSGVpZ2h0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IF90b3RhbEhlaWdodCA9IHRvdGFsSGVpZ2h0ICsgdGFic1tpXS5vZmZzZXQuaGVpZ2h0O1xuICAgICAgICAgICAgaWYgKF90b3RhbEhlaWdodCA+IHRoaXMud3JhcHBlck9mZnNldC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBsZXQgbW9yZU9wZXJhdGlvbkhlaWdodCA9IHRoaXMubW9yZUJ0bk9mZnNldC5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgaWYgKHRvdGFsSGVpZ2h0ICsgbW9yZU9wZXJhdGlvbkhlaWdodCA8PSB0aGlzLndyYXBwZXJPZmZzZXQuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvdGFsSGVpZ2h0ID0gX3RvdGFsSGVpZ2h0O1xuICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kSW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFNpemVzKCkge1xuICAgICAgICB0aGlzLndyYXBwZXJPZmZzZXQgPSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCB8fCAwLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIHx8IDAsXG4gICAgICAgICAgICBsZWZ0OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IHx8IDAsXG4gICAgICAgICAgICB0b3A6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCB8fCAwXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb3Blbk1vcmUoZXZlbnQ6IEV2ZW50LCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLnBvcG92ZXIub3Blbih0ZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRoaXMudGh5SW5zaWRlQ2xvc2FibGUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoeS1uYXYtbGlzdC1wb3BvdmVyJyxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAndGh5LW5hdi1vcmlnaW4tYWN0aXZlJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuYXZJdGVtQ2xpY2soaXRlbTogVGh5TmF2SXRlbURpcmVjdGl2ZSkge1xuICAgICAgICBpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd0lua0Jhcikge1xuICAgICAgICAgICAgdGhpcy5pbmtCYXIuaGlkZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLmxpbmtzPy50b0FycmF5KCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRhYnMuZmluZChpdGVtID0+IGl0ZW0ubGlua0lzQWN0aXZlKCkpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtRWxlbWVudDogSFRNTEVsZW1lbnQgPSBzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtICYmIHRoaXMubW9yZUFjdGl2ZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtRWxlbWVudCA9IHRoaXMuZGVmYXVsdE1vcmVPcGVyYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2QWN0aXZlSW5kZXggPSB0aGlzLmN1ckFjdGl2ZUluZGV4O1xuICAgICAgICAgICAgdGhpcy5pbmtCYXIuYWxpZ25Ub0VsZW1lbnQoc2VsZWN0ZWRJdGVtRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5VmVydGljYWwsIHRoeVR5cGUgfSA9IGNoYW5nZXM7XG5cbiAgICAgICAgaWYgKHRoeVR5cGU/LmN1cnJlbnRWYWx1ZSAhPT0gdGh5VHlwZT8ucHJldmlvdXNWYWx1ZSB8fCB0aHlWZXJ0aWNhbD8uY3VycmVudFZhbHVlICE9PSB0aHlWZXJ0aWNhbD8ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktbmF2LWxpc3RcIiBbbmdDbGFzc109XCJob3Jpem9udGFsID8gJ2p1c3RpZnktY29udGVudC0nICsgaG9yaXpvbnRhbCA6ICcnXCIgI25hdkxpc3Q+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8YVxuICAgICpuZ0lmPVwidGh5UmVzcG9uc2l2ZVwiXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgY2xhc3M9XCJ0aHktbmF2LW1vcmUtY29udGFpbmVyXCJcbiAgICBbY2xhc3MuZC1ub25lXT1cIiFzaG93TW9yZVwiXG4gICAgW2NsYXNzLmludmlzaWJsZV09XCIhaW5pdGlhbGl6ZWRcIlxuICAgICNtb3JlT3BlcmF0aW9uQ29udGFpbmVyXG4gICAgdGh5TmF2TGlua1xuICAgIFt0aHlOYXZMaW5rQWN0aXZlXT1cIm1vcmVBY3RpdmVcIlxuICAgIChjbGljayk9XCJvcGVuTW9yZSgkZXZlbnQsIG5hdkxpc3RQb3BvdmVyKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9yZU9wZXJhdGlvbjsgZWxzZSBkZWZhdWx0TW9yZU9wZXJhdGlvblwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vcmVPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb3JlT3BlcmF0aW9uPlxuICAgICAg5pu05aSaXG4gICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1kb3duXCIgY2xhc3M9XCJ0aHktbmF2LW1vcmUtaWNvblwiPjwvdGh5LWljb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9hPlxuICA8dGh5LW5hdi1pbmstYmFyIFtzaG93SW5rQmFyXT1cInNob3dJbmtCYXJcIiBbaXNWZXJ0aWNhbF09XCJ0aHlWZXJ0aWNhbFwiPjwvdGh5LW5hdi1pbmstYmFyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbmF2TGlzdFBvcG92ZXI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIm1vcmVQb3BvdmVyOyBlbHNlIGRlZmF1bHRcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vcmVQb3BvdmVyXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGhpZGRlbkl0ZW1zIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICA8dGh5LWRyb3Bkb3duLW1lbnUgdGh5SW1tZWRpYXRlUmVuZGVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBoaWRkZW5JdGVtc1wiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidGh5LW5hdi1pdGVtLW1vcmVcIlxuICAgICAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgICAgICBbdGh5RHJvcGRvd25NZW51SXRlbUFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlXCJcbiAgICAgICAgICAoY2xpY2spPVwibmF2SXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCB8IGJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGh5LWRyb3Bkb3duLW1lbnU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxkaXYgKm5nSWY9XCJ0aHlFeHRyYSB8fCBleHRyYVwiIGNsYXNzPVwidGh5LW5hdi1leHRyYVwiPlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeUV4dHJhIHx8IGV4dHJhXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,11 +4,11 @@ import { ThyPopoverModule } from 'ngx-tethys/popover';
|
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { NgModule } from '@angular/core';
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { ThyIconNavLink } from './icon-nav/icon-nav-link.directive';
|
|
8
|
+
import { ThyIconNav } from './icon-nav/icon-nav.component';
|
|
9
9
|
import { ThyNavInkBarDirective } from './nav-ink-bar.directive';
|
|
10
10
|
import { ThyNavItemDirective } from './nav-item.directive';
|
|
11
|
-
import {
|
|
11
|
+
import { ThyNav } from './nav.component';
|
|
12
12
|
import { BypassSecurityTrustHtmlPipe } from './nav.pipe';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class ThyNavModule {
|
|
@@ -18,19 +18,19 @@ export class ThyNavModule {
|
|
|
18
18
|
ThyPopoverModule,
|
|
19
19
|
ThyDropdownModule,
|
|
20
20
|
RouterModule,
|
|
21
|
-
|
|
21
|
+
ThyNav,
|
|
22
22
|
ThyNavItemDirective,
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
ThyIconNav,
|
|
24
|
+
ThyIconNavLink,
|
|
25
25
|
BypassSecurityTrustHtmlPipe,
|
|
26
|
-
ThyNavInkBarDirective], exports: [
|
|
26
|
+
ThyNavInkBarDirective], exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe] }); }
|
|
27
27
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNavModule, imports: [CommonModule,
|
|
28
28
|
ThyIconModule,
|
|
29
29
|
ThyPopoverModule,
|
|
30
30
|
ThyDropdownModule,
|
|
31
31
|
RouterModule,
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
ThyNav,
|
|
33
|
+
ThyIconNavLink] }); }
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNavModule, decorators: [{
|
|
36
36
|
type: NgModule,
|
|
@@ -41,14 +41,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
41
41
|
ThyPopoverModule,
|
|
42
42
|
ThyDropdownModule,
|
|
43
43
|
RouterModule,
|
|
44
|
-
|
|
44
|
+
ThyNav,
|
|
45
45
|
ThyNavItemDirective,
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
ThyIconNav,
|
|
47
|
+
ThyIconNavLink,
|
|
48
48
|
BypassSecurityTrustHtmlPipe,
|
|
49
49
|
ThyNavInkBarDirective
|
|
50
50
|
],
|
|
51
|
-
exports: [
|
|
51
|
+
exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe]
|
|
52
52
|
}]
|
|
53
53
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFrQnpELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQWRqQixZQUFZO1lBQ1osYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLE1BQU07WUFDTixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLGNBQWM7WUFDZCwyQkFBMkI7WUFDM0IscUJBQXFCLGFBRWYsTUFBTSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsMkJBQTJCOytHQUVyRixZQUFZLFlBZGpCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osTUFBTTtZQUdOLGNBQWM7OzJGQU1ULFlBQVk7a0JBaEJ4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osTUFBTTt3QkFDTixtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsMkJBQTJCLENBQUM7aUJBQ2xHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5RHJvcGRvd25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2Ryb3Bkb3duJztcbmltcG9ydCB7IFRoeUljb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5UG9wb3Zlck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgVGh5SWNvbk5hdkxpbmsgfSBmcm9tICcuL2ljb24tbmF2L2ljb24tbmF2LWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRoeUljb25OYXYgfSBmcm9tICcuL2ljb24tbmF2L2ljb24tbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlOYXZJbmtCYXJEaXJlY3RpdmUgfSBmcm9tICcuL25hdi1pbmstYmFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHlOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5TmF2IH0gZnJvbSAnLi9uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZSB9IGZyb20gJy4vbmF2LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUaHlJY29uTW9kdWxlLFxuICAgICAgICBUaHlQb3BvdmVyTW9kdWxlLFxuICAgICAgICBUaHlEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUaHlOYXYsXG4gICAgICAgIFRoeU5hdkl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeUljb25OYXYsXG4gICAgICAgIFRoeUljb25OYXZMaW5rLFxuICAgICAgICBCeXBhc3NTZWN1cml0eVRydXN0SHRtbFBpcGUsXG4gICAgICAgIFRoeU5hdklua0JhckRpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1RoeU5hdiwgVGh5TmF2SXRlbURpcmVjdGl2ZSwgVGh5SWNvbk5hdiwgVGh5SWNvbk5hdkxpbmssIEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TmF2TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ThyNotify } from './notify.component';
|
|
4
|
+
import { ThyNotifyContainer } from './notify-container.component';
|
|
5
5
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
6
6
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
7
7
|
import { PortalModule } from '@angular/cdk/portal';
|
|
@@ -10,15 +10,15 @@ import { ThySharedModule } from 'ngx-tethys/shared';
|
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class ThyNotifyModule {
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule,
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, providers: [THY_NOTIFY_DEFAULT_CONFIG_PROVIDER], imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule,
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyNotifyContainer, ThyNotify], exports: [ThyNotifyContainer, ThyNotify] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, providers: [THY_NOTIFY_DEFAULT_CONFIG_PROVIDER], imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyNotifyContainer, ThyNotify] }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
|
-
imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule,
|
|
20
|
-
exports: [
|
|
19
|
+
imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyNotifyContainer, ThyNotify],
|
|
20
|
+
exports: [ThyNotifyContainer, ThyNotify],
|
|
21
21
|
providers: [THY_NOTIFY_DEFAULT_CONFIG_PROVIDER]
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vdGlmeS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBSmQsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLGFBQ3hHLGtCQUFrQixFQUFFLFNBQVM7K0dBRzlCLGVBQWUsYUFGYixDQUFDLGtDQUFrQyxDQUFDLFlBRnJDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsU0FBUzs7MkZBSXpHLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUM7b0JBQ25ILE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQztvQkFDeEMsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlOb3RpZnkgfSBmcm9tICcuL25vdGlmeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5Q29udGFpbmVyIH0gZnJvbSAnLi9ub3RpZnktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRIWV9OT1RJRllfREVGQVVMVF9DT05GSUdfUFJPVklERVIgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRoeVNoYXJlZE1vZHVsZSwgT3ZlcmxheU1vZHVsZSwgUG9ydGFsTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlOb3RpZnlDb250YWluZXIsIFRoeU5vdGlmeV0sXG4gICAgZXhwb3J0czogW1RoeU5vdGlmeUNvbnRhaW5lciwgVGh5Tm90aWZ5XSxcbiAgICBwcm92aWRlcnM6IFtUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHX1BST1ZJREVSXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlOb3RpZnlNb2R1bGUge31cbiJdfQ==
|
|
@@ -2,14 +2,14 @@ import { Component, Inject, ElementRef, HostBinding } from '@angular/core';
|
|
|
2
2
|
import { ThyAbstractMessageContainerComponent } from 'ngx-tethys/message';
|
|
3
3
|
import { ThyNotifyQueue } from './notify-queue.service';
|
|
4
4
|
import { THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';
|
|
5
|
-
import {
|
|
5
|
+
import { ThyNotify } from './notify.component';
|
|
6
6
|
import { NgFor, AsyncPipe } from '@angular/common';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "./notify-queue.service";
|
|
9
9
|
/**
|
|
10
10
|
* @private
|
|
11
11
|
*/
|
|
12
|
-
export class
|
|
12
|
+
export class ThyNotifyContainer extends ThyAbstractMessageContainerComponent {
|
|
13
13
|
constructor(notifyQueue, elementRef, defaultConfig) {
|
|
14
14
|
super(elementRef, {
|
|
15
15
|
...THY_NOTIFY_DEFAULT_CONFIG_VALUE,
|
|
@@ -18,12 +18,12 @@ export class ThyNotifyContainerComponent extends ThyAbstractMessageContainerComp
|
|
|
18
18
|
this.notifyQueue = notifyQueue;
|
|
19
19
|
this.className = 'thy-notify-container';
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyContainer, deps: [{ token: i1.ThyNotifyQueue }, { token: i0.ElementRef }, { token: THY_NOTIFY_DEFAULT_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyNotifyContainer, isStandalone: true, selector: "thy-notify-container", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"thy-notify-bottomRight\" [style.bottom.px]=\"offset\" [style.right.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.bottomRightQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-bottomLeft\" [style.bottom.px]=\"offset\" [style.left.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.bottomLeftQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-topLeft\" [style.top.px]=\"offset\" [style.left.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.topLeftQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-topRight\" [style.top.px]=\"offset\" [style.right.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.topRightQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyNotify, selector: "thy-notify", inputs: ["thyConfig"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotifyContainer, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'thy-notify-container', standalone: true, imports: [NgFor,
|
|
26
|
+
args: [{ selector: 'thy-notify-container', standalone: true, imports: [NgFor, ThyNotify, AsyncPipe], template: "<div class=\"thy-notify-bottomRight\" [style.bottom.px]=\"offset\" [style.right.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.bottomRightQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-bottomLeft\" [style.bottom.px]=\"offset\" [style.left.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.bottomLeftQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-topLeft\" [style.top.px]=\"offset\" [style.left.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.topLeftQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n<div class=\"thy-notify-topRight\" [style.top.px]=\"offset\" [style.right.px]=\"offset\">\n <thy-notify *ngFor=\"let item of notifyQueue.topRightQueues$ | async\" [thyConfig]=\"item.config\"></thy-notify>\n</div>\n" }]
|
|
27
27
|
}], ctorParameters: () => [{ type: i1.ThyNotifyQueue }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
28
28
|
type: Inject,
|
|
29
29
|
args: [THY_NOTIFY_DEFAULT_CONFIG]
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
31
31
|
type: HostBinding,
|
|
32
32
|
args: ['class']
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbm90aWZ5L25vdGlmeS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vdGlmeS9ub3RpZnktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBeUIseUJBQXlCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRW5EOztHQUVHO0FBT0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG9DQUFvQztJQUd4RSxZQUNXLFdBQTJCLEVBQ2xDLFVBQXNCLEVBQ2EsYUFBb0M7UUFFdkUsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNkLEdBQUcsK0JBQStCO1lBQ2xDLEdBQUcsYUFBYTtTQUNuQixDQUFDLENBQUM7UUFQSSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFIaEIsY0FBUyxHQUFHLHNCQUFzQixDQUFDO0lBV3pELENBQUM7OEdBWlEsa0JBQWtCLDBFQU1mLHlCQUF5QjtrR0FONUIsa0JBQWtCLDRKQ2hCL0IsMDJCQVlBLDRDREVjLEtBQUssbUhBQUUsU0FBUyx5RUFBRSxTQUFTOzsyRkFFNUIsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLHNCQUFzQixjQUVwQixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7MEJBUWpDLE1BQU07MkJBQUMseUJBQXlCO3lDQUxmLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5QWJzdHJhY3RNZXNzYWdlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9tZXNzYWdlJztcbmltcG9ydCB7IFRoeU5vdGlmeVF1ZXVlIH0gZnJvbSAnLi9ub3RpZnktcXVldWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlHbG9iYWxOb3RpZnlDb25maWcsIFRIWV9OT1RJRllfREVGQVVMVF9DT05GSUcsIFRIWV9OT1RJRllfREVGQVVMVF9DT05GSUdfVkFMVUUgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5IH0gZnJvbSAnLi9ub3RpZnkuY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5vdGlmeS1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZnktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgVGh5Tm90aWZ5LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeU5vdGlmeUNvbnRhaW5lciBleHRlbmRzIFRoeUFic3RyYWN0TWVzc2FnZUNvbnRhaW5lckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aHktbm90aWZ5LWNvbnRhaW5lcic7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG5vdGlmeVF1ZXVlOiBUaHlOb3RpZnlRdWV1ZSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHKSBkZWZhdWx0Q29uZmlnOiBUaHlHbG9iYWxOb3RpZnlDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwge1xuICAgICAgICAgICAgLi4uVEhZX05PVElGWV9ERUZBVUxUX0NPTkZJR19WQUxVRSxcbiAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktYm90dG9tUmlnaHRcIiBbc3R5bGUuYm90dG9tLnB4XT1cIm9mZnNldFwiIFtzdHlsZS5yaWdodC5weF09XCJvZmZzZXRcIj5cbiAgPHRoeS1ub3RpZnkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90aWZ5UXVldWUuYm90dG9tUmlnaHRRdWV1ZXMkIHwgYXN5bmNcIiBbdGh5Q29uZmlnXT1cIml0ZW0uY29uZmlnXCI+PC90aHktbm90aWZ5PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1ib3R0b21MZWZ0XCIgW3N0eWxlLmJvdHRvbS5weF09XCJvZmZzZXRcIiBbc3R5bGUubGVmdC5weF09XCJvZmZzZXRcIj5cbiAgPHRoeS1ub3RpZnkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90aWZ5UXVldWUuYm90dG9tTGVmdFF1ZXVlcyQgfCBhc3luY1wiIFt0aHlDb25maWddPVwiaXRlbS5jb25maWdcIj48L3RoeS1ub3RpZnk+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LXRvcExlZnRcIiBbc3R5bGUudG9wLnB4XT1cIm9mZnNldFwiIFtzdHlsZS5sZWZ0LnB4XT1cIm9mZnNldFwiPlxuICA8dGh5LW5vdGlmeSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3RpZnlRdWV1ZS50b3BMZWZ0UXVldWVzJCB8IGFzeW5jXCIgW3RoeUNvbmZpZ109XCJpdGVtLmNvbmZpZ1wiPjwvdGh5LW5vdGlmeT5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktdG9wUmlnaHRcIiBbc3R5bGUudG9wLnB4XT1cIm9mZnNldFwiIFtzdHlsZS5yaWdodC5weF09XCJvZmZzZXRcIj5cbiAgPHRoeS1ub3RpZnkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90aWZ5UXVldWUudG9wUmlnaHRRdWV1ZXMkIHwgYXN5bmNcIiBbdGh5Q29uZmlnXT1cIml0ZW0uY29uZmlnXCI+PC90aHktbm90aWZ5PlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,14 +4,14 @@ import { helpers, isString } from 'ngx-tethys/util';
|
|
|
4
4
|
import { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from 'ngx-tethys/message';
|
|
5
5
|
import { ThyNotifyQueue } from './notify-queue.service';
|
|
6
6
|
import { ThyViewOutletDirective } from 'ngx-tethys/shared';
|
|
7
|
-
import {
|
|
7
|
+
import { ThyIcon } from 'ngx-tethys/icon';
|
|
8
8
|
import { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "./notify-queue.service";
|
|
11
11
|
/**
|
|
12
12
|
* @private
|
|
13
13
|
*/
|
|
14
|
-
export class
|
|
14
|
+
export class ThyNotify extends ThyAbstractMessageComponent {
|
|
15
15
|
set thyConfig(value) {
|
|
16
16
|
this.config = value;
|
|
17
17
|
const type = value.type;
|
|
@@ -49,8 +49,8 @@ export class ThyNotifyComponent extends ThyAbstractMessageComponent {
|
|
|
49
49
|
this.showDetailToggle();
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotify, deps: [{ token: i0.NgZone }, { token: i1.ThyNotifyQueue }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyNotify, isStandalone: true, selector: "thy-notify", inputs: { thyConfig: "thyConfig" }, host: { properties: { "@flyInOut": "this.animationState", "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!config.html\">\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n <div\n *ngIf=\"config?.detail || config?.content\"\n class=\"thy-notify-content\"\n [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\"\n (click)=\"extendContent()\"\n >\n <ng-container *ngIf=\"config.content\">\n <ng-container *ngIf=\"!contentIsString; else contentText\">\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState\"></ng-container>\n </ng-container>\n <ng-template #contentText>{{ config.content }}</ng-template>\n </ng-container>\n <a href=\"javascript:;\" *ngIf=\"config?.detail\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n </div>\n <div class=\"thy-notify-detail\" *ngIf=\"isShowDetail\">{{ (config?.detail)['content'] }}</div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"config?.html\">\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
54
54
|
trigger('flyInOut', [
|
|
55
55
|
state('flyInOutRight', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),
|
|
56
56
|
transition('void => flyInOutRight', [
|
|
@@ -68,7 +68,7 @@ export class ThyNotifyComponent extends ThyAbstractMessageComponent {
|
|
|
68
68
|
])
|
|
69
69
|
] }); }
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyNotify, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{ selector: 'thy-notify', animations: [
|
|
74
74
|
trigger('flyInOut', [
|
|
@@ -86,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
86
86
|
transition('flyInOutLeft => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),
|
|
87
87
|
state('componentHide', style(HIDE_STYLE))
|
|
88
88
|
])
|
|
89
|
-
], standalone: true, imports: [NgIf,
|
|
89
|
+
], standalone: true, imports: [NgIf, ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet], template: "<ng-container *ngIf=\"!config.html\">\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n <div\n *ngIf=\"config?.detail || config?.content\"\n class=\"thy-notify-content\"\n [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\"\n (click)=\"extendContent()\"\n >\n <ng-container *ngIf=\"config.content\">\n <ng-container *ngIf=\"!contentIsString; else contentText\">\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState\"></ng-container>\n </ng-container>\n <ng-template #contentText>{{ config.content }}</ng-template>\n </ng-container>\n <a href=\"javascript:;\" *ngIf=\"config?.detail\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n </div>\n <div class=\"thy-notify-detail\" *ngIf=\"isShowDetail\">{{ (config?.detail)['content'] }}</div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"config?.html\">\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n</ng-container>\n" }]
|
|
90
90
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.ThyNotifyQueue }], propDecorators: { animationState: [{
|
|
91
91
|
type: HostBinding,
|
|
92
92
|
args: ['@flyInOut']
|
|
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
96
96
|
}], thyConfig: [{
|
|
97
97
|
type: Input
|
|
98
98
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWxFOztHQUVHO0FBd0JILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwyQkFBNEM7SUFlaEYsSUFDSSxTQUFTLENBQUMsS0FBc0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFNB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O3FCQUNMLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzt3R0FHMUQsY0FBYztzQkFBdkMsV0FBVzt1QkFBQyxXQUFXO2dCQUVGLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFhaEIsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGhlbHBlcnMsIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeU5vdGlmeUNvbmZpZywgVGh5Tm90aWZ5RGV0YWlsLCBUaHlOb3RpZnlQbGFjZW1lbnQgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX0lOX0RVUkFUSU9OLCBBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBISURFX1NUWUxFLCBUaHlBYnN0cmFjdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL21lc3NhZ2UnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5UXVldWUgfSBmcm9tICcuL25vdGlmeS1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeVZpZXdPdXRsZXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlJY29uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5vdGlmeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmeS5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dFJpZ2h0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgb3BhY2l0eTogMSwgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBmbHlJbk91dFJpZ2h0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG9wYWNpdHk6IDAsIGhlaWdodDogJyonIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoQU5JTUFUSU9OX0lOX0RVUkFUSU9OKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdmbHlJbk91dFJpZ2h0ID0+IGNvbXBvbmVudEhpZGUnLCBbYW5pbWF0ZShBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBzdHlsZShISURFX1NUWUxFKSldKSxcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dExlZnQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLCBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZseUluT3V0TGVmdCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJywgb3BhY2l0eTogMCwgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShBTklNQVRJT05fSU5fRFVSQVRJT04pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZseUluT3V0TGVmdCA9PiBjb21wb25lbnRIaWRlJywgW2FuaW1hdGUoQU5JTUFUSU9OX09VVF9EVVJBVElPTiwgc3R5bGUoSElERV9TVFlMRSkpXSksXG4gICAgICAgICAgICBzdGF0ZSgnY29tcG9uZW50SGlkZScsIHN0eWxlKEhJREVfU1RZTEUpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbkNvbXBvbmVudCwgTmdDbGFzcywgVGh5Vmlld091dGxldERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Tm90aWZ5Q29tcG9uZW50IGV4dGVuZHMgVGh5QWJzdHJhY3RNZXNzYWdlQ29tcG9uZW50PFRoeU5vdGlmeUNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnQGZseUluT3V0JykgYW5pbWF0aW9uU3RhdGU6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnJztcblxuICAgIGNvbmZpZzogVGh5Tm90aWZ5Q29uZmlnO1xuXG4gICAgZXh0ZW5kQ29udGVudENsYXNzID0gZmFsc2U7XG5cbiAgICBpc1Nob3dEZXRhaWwgPSBmYWxzZTtcblxuICAgIGNvbnRlbnRJc1N0cmluZyA9IGZhbHNlO1xuXG4gICAgcGxhY2VtZW50OiBUaHlOb3RpZnlQbGFjZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb25maWcodmFsdWU6IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHZhbHVlO1xuICAgICAgICBjb25zdCB0eXBlID0gdmFsdWUudHlwZTtcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSB2YWx1ZS5wbGFjZW1lbnQgfHwgJ3RvcFJpZ2h0JztcbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wTGVmdCcgfHwgdGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b21MZWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dExlZnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dFJpZ2h0JztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGB0aHktbm90aWZ5IHRoeS1ub3RpZnktJHt0eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Iobmdab25lOiBOZ1pvbmUsIG5vdGlmeVF1ZXVlOiBUaHlOb3RpZnlRdWV1ZSkge1xuICAgICAgICBzdXBlcihuZ1pvbmUsIG5vdGlmeVF1ZXVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZW50SXNTdHJpbmcgPSBpc1N0cmluZyh0aGlzLmNvbmZpZy5jb250ZW50KTtcbiAgICB9XG5cbiAgICBleHRlbmRDb250ZW50KCkge1xuICAgICAgICB0aGlzLmV4dGVuZENvbnRlbnRDbGFzcyA9IHRydWU7XG4gICAgfVxuXG4gICAgc2hvd0RldGFpbFRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5pc1Nob3dEZXRhaWwgPSAhdGhpcy5pc1Nob3dEZXRhaWw7XG4gICAgfVxuXG4gICAgdHJpZ2dlckRldGFpbCgpIHtcbiAgICAgICAgaWYgKGhlbHBlcnMuaXNGdW5jdGlvbigodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuYWN0aW9uKSkge1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbCBhcyBUaHlOb3RpZnlEZXRhaWwpLmFjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuY29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbmZpZy5odG1sXCI+XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1ub3RpZnktY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9hPlxuICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1pY29uLWNvbnRhaW5lclwiPlxuICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktbWFpblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LXRpdGxlXCI+e3sgY29uZmlnPy50aXRsZSB9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29uZmlnPy5kZXRhaWwgfHwgY29uZmlnPy5jb250ZW50XCJcbiAgICAgIGNsYXNzPVwidGh5LW5vdGlmeS1jb250ZW50XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3RoeS1ub3RpZnktY29udGVudC0tZXh0ZW5kJzogZXh0ZW5kQ29udGVudENsYXNzID09PSB0cnVlIH1cIlxuICAgICAgKGNsaWNrKT1cImV4dGVuZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudElzU3RyaW5nOyBlbHNlIGNvbnRlbnRUZXh0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqdGh5Vmlld091dGxldD1cImNvbmZpZy5jb250ZW50OyBjb250ZXh0OiBjb25maWcuY29udGVudEluaXRpYWxTdGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50VGV4dD57eyBjb25maWcuY29udGVudCB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAqbmdJZj1cImNvbmZpZz8uZGV0YWlsXCIgY2xhc3M9XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJ0cmlnZ2VyRGV0YWlsKClcIj57eyAoY29uZmlnPy5kZXRhaWwpWydsaW5rJ10gfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktZGV0YWlsXCIgKm5nSWY9XCJpc1Nob3dEZXRhaWxcIj57eyAoY29uZmlnPy5kZXRhaWwpWydjb250ZW50J10gfX08L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/Lmh0bWxcIj5cbiAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwidGh5LW5vdGlmeS1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIj48L3RoeS1pY29uPlxuICA8L2E+XG4gIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LW1haW5cIj5cbiAgICA8dGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29uZmlnPy5odG1sXCI+PC90ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVsRTs7R0FFRztBQXdCSCxNQUFNLE9BQU8sU0FBVSxTQUFRLDJCQUE0QztJQWV2RSxJQUNJLFNBQVMsQ0FBQyxLQUFzQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxL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QUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzt3R0FHakQsY0FBYztzQkFBdkMsV0FBVzt1QkFBQyxXQUFXO2dCQUVGLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFhaEIsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGhlbHBlcnMsIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeU5vdGlmeUNvbmZpZywgVGh5Tm90aWZ5RGV0YWlsLCBUaHlOb3RpZnlQbGFjZW1lbnQgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX0lOX0RVUkFUSU9OLCBBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBISURFX1NUWUxFLCBUaHlBYnN0cmFjdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL21lc3NhZ2UnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5UXVldWUgfSBmcm9tICcuL25vdGlmeS1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeVZpZXdPdXRsZXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5vdGlmeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmeS5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dFJpZ2h0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgb3BhY2l0eTogMSwgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBmbHlJbk91dFJpZ2h0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG9wYWNpdHk6IDAsIGhlaWdodDogJyonIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoQU5JTUFUSU9OX0lOX0RVUkFUSU9OKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdmbHlJbk91dFJpZ2h0ID0+IGNvbXBvbmVudEhpZGUnLCBbYW5pbWF0ZShBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBzdHlsZShISURFX1NUWUxFKSldKSxcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dExlZnQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLCBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZseUluT3V0TGVmdCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJywgb3BhY2l0eTogMCwgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShBTklNQVRJT05fSU5fRFVSQVRJT04pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZseUluT3V0TGVmdCA9PiBjb21wb25lbnRIaWRlJywgW2FuaW1hdGUoQU5JTUFUSU9OX09VVF9EVVJBVElPTiwgc3R5bGUoSElERV9TVFlMRSkpXSksXG4gICAgICAgICAgICBzdGF0ZSgnY29tcG9uZW50SGlkZScsIHN0eWxlKEhJREVfU1RZTEUpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdDbGFzcywgVGh5Vmlld091dGxldERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Tm90aWZ5IGV4dGVuZHMgVGh5QWJzdHJhY3RNZXNzYWdlQ29tcG9uZW50PFRoeU5vdGlmeUNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnQGZseUluT3V0JykgYW5pbWF0aW9uU3RhdGU6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnJztcblxuICAgIGNvbmZpZzogVGh5Tm90aWZ5Q29uZmlnO1xuXG4gICAgZXh0ZW5kQ29udGVudENsYXNzID0gZmFsc2U7XG5cbiAgICBpc1Nob3dEZXRhaWwgPSBmYWxzZTtcblxuICAgIGNvbnRlbnRJc1N0cmluZyA9IGZhbHNlO1xuXG4gICAgcGxhY2VtZW50OiBUaHlOb3RpZnlQbGFjZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb25maWcodmFsdWU6IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHZhbHVlO1xuICAgICAgICBjb25zdCB0eXBlID0gdmFsdWUudHlwZTtcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSB2YWx1ZS5wbGFjZW1lbnQgfHwgJ3RvcFJpZ2h0JztcbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wTGVmdCcgfHwgdGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b21MZWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dExlZnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dFJpZ2h0JztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGB0aHktbm90aWZ5IHRoeS1ub3RpZnktJHt0eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Iobmdab25lOiBOZ1pvbmUsIG5vdGlmeVF1ZXVlOiBUaHlOb3RpZnlRdWV1ZSkge1xuICAgICAgICBzdXBlcihuZ1pvbmUsIG5vdGlmeVF1ZXVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZW50SXNTdHJpbmcgPSBpc1N0cmluZyh0aGlzLmNvbmZpZy5jb250ZW50KTtcbiAgICB9XG5cbiAgICBleHRlbmRDb250ZW50KCkge1xuICAgICAgICB0aGlzLmV4dGVuZENvbnRlbnRDbGFzcyA9IHRydWU7XG4gICAgfVxuXG4gICAgc2hvd0RldGFpbFRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5pc1Nob3dEZXRhaWwgPSAhdGhpcy5pc1Nob3dEZXRhaWw7XG4gICAgfVxuXG4gICAgdHJpZ2dlckRldGFpbCgpIHtcbiAgICAgICAgaWYgKGhlbHBlcnMuaXNGdW5jdGlvbigodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuYWN0aW9uKSkge1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbCBhcyBUaHlOb3RpZnlEZXRhaWwpLmFjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuY29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbmZpZy5odG1sXCI+XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1ub3RpZnktY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9hPlxuICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1pY29uLWNvbnRhaW5lclwiPlxuICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktbWFpblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LXRpdGxlXCI+e3sgY29uZmlnPy50aXRsZSB9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29uZmlnPy5kZXRhaWwgfHwgY29uZmlnPy5jb250ZW50XCJcbiAgICAgIGNsYXNzPVwidGh5LW5vdGlmeS1jb250ZW50XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3RoeS1ub3RpZnktY29udGVudC0tZXh0ZW5kJzogZXh0ZW5kQ29udGVudENsYXNzID09PSB0cnVlIH1cIlxuICAgICAgKGNsaWNrKT1cImV4dGVuZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudElzU3RyaW5nOyBlbHNlIGNvbnRlbnRUZXh0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqdGh5Vmlld091dGxldD1cImNvbmZpZy5jb250ZW50OyBjb250ZXh0OiBjb25maWcuY29udGVudEluaXRpYWxTdGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50VGV4dD57eyBjb25maWcuY29udGVudCB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAqbmdJZj1cImNvbmZpZz8uZGV0YWlsXCIgY2xhc3M9XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJ0cmlnZ2VyRGV0YWlsKClcIj57eyAoY29uZmlnPy5kZXRhaWwpWydsaW5rJ10gfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktZGV0YWlsXCIgKm5nSWY9XCJpc1Nob3dEZXRhaWxcIj57eyAoY29uZmlnPy5kZXRhaWwpWydjb250ZW50J10gfX08L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/Lmh0bWxcIj5cbiAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwidGh5LW5vdGlmeS1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIj48L3RoeS1pY29uPlxuICA8L2E+XG4gIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LW1haW5cIj5cbiAgICA8dGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29uZmlnPy5odG1sXCI+PC90ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|