@seniorsistemas/angular-components 19.7.3 → 19.7.4-fix-sds-577-afa523ed
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/accordion/README.md +1 -0
- package/accordion/lib/accordion/accordion.component.d.ts +1 -1
- package/accordion/lib/accordion/accordion.module.d.ts +1 -6
- package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +1 -1
- package/alert/README.md +1 -1
- package/alert/lib/alert/alert.component.d.ts +1 -1
- package/alert/lib/alert/alert.module.d.ts +1 -2
- package/autocomplete/README.md +1 -1
- package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +1 -1
- package/badge/lib/badge/badge.component.d.ts +1 -1
- package/badge/lib/badge/badge.module.d.ts +3 -7
- package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
- package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +1 -2
- package/breadcrumb/README.md +9 -5
- package/button/README.md +1 -0
- package/calendar-mask/README.md +4 -2
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +1 -1
- package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +1 -2
- package/card/lib/card/card.component.d.ts +1 -1
- package/card/lib/card/card.module.d.ts +1 -3
- package/chat/lib/chat/chat.component.d.ts +2 -1
- package/chat/lib/chat/chat.module.d.ts +3 -6
- package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +1 -1
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +1 -3
- package/chips/lib/chips/chip-item/chip-item.component.d.ts +1 -1
- package/chips/lib/chips/chips/chips.component.d.ts +1 -1
- package/chips/lib/chips/chips.module.d.ts +1 -6
- package/code-editor/README.md +1 -1
- package/code-editor/lib/code-editor/code-editor.component.d.ts +1 -1
- package/code-editor/lib/code-editor/code-editor.module.d.ts +1 -3
- package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +1 -1
- package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +1 -2
- package/common/deprecated-selector/README.md +120 -47
- package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +1 -1
- package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +1 -1
- package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -1
- package/common/lib/svg-factory/svg-factory.module.d.ts +1 -4
- package/confirm-dialog/README.md +3 -1
- package/content-generator/README.md +2 -2
- package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -1
- package/content-generator/lib/content-generator/content-generator.module.d.ts +1 -10
- package/control-errors/lib/control-errors/control-errors.component.d.ts +2 -2
- package/control-errors/lib/control-errors/control-errors.module.d.ts +1 -3
- package/country-phone-picker/README.md +1 -1
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -1
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +1 -5
- package/currency/README.md +1 -1
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +1 -1
- package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +1 -7
- package/datepicker/README.md +44 -11
- package/datepicker/lib/datepicker/datepicker.component.d.ts +1 -0
- package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +3 -5
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -0
- package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +1 -1
- package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +1 -2
- package/editor/README.md +8 -0
- package/empty-state/lib/empty-state/empty-state.component.d.ts +1 -1
- package/empty-state/lib/empty-state/empty-state.module.d.ts +1 -3
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +1 -1
- package/esm2022/accordion/lib/accordion/accordion.component.mjs +3 -3
- package/esm2022/accordion/lib/accordion/accordion.module.mjs +4 -10
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +17 -8
- package/esm2022/alert/lib/alert/alert.component.mjs +4 -4
- package/esm2022/alert/lib/alert/alert.module.mjs +4 -6
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/badge/lib/badge/badge.component.mjs +7 -6
- package/esm2022/badge/lib/badge/badge.module.mjs +4 -9
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +3 -2
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +4 -7
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +6 -7
- package/esm2022/button/lib/button/button.component.mjs +3 -3
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +3 -2
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +4 -6
- package/esm2022/card/lib/card/card.component.mjs +4 -4
- package/esm2022/card/lib/card/card.module.mjs +4 -7
- package/esm2022/chat/lib/chat/chat.component.mjs +8 -7
- package/esm2022/chat/lib/chat/chat.module.mjs +7 -11
- package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +6 -6
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +4 -5
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +6 -7
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +4 -7
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +5 -5
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +7 -7
- package/esm2022/chips/lib/chips/chips.module.mjs +4 -10
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +4 -4
- package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +8 -11
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +4 -4
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +4 -6
- package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
- package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +3 -3
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +4 -3
- package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +4 -14
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +28 -16
- package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +4 -42
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +3 -3
- package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +6 -9
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -14
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +6 -28
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +6 -6
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +9 -35
- package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +6 -3
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +4 -6
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +3 -3
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +3 -2
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +4 -6
- package/esm2022/editor/lib/editor/editor.component.mjs +4 -4
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +4 -4
- package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +4 -7
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +4 -4
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +5 -5
- package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +4 -7
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +10 -11
- package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +4 -11
- package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +5 -5
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +4 -4
- package/esm2022/gantt/lib/gantt/gantt.module.mjs +4 -12
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +6 -7
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +17 -10
- package/esm2022/global-search/lib/global-search/global-search.module.mjs +15 -33
- package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +5 -4
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +4 -4
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +4 -7
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +5 -5
- package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +3 -2
- package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +5 -14
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +7 -8
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +4 -10
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +4 -3
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +4 -6
- package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +6 -6
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +4 -3
- package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +4 -8
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +14 -10
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +7 -6
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +6 -6
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +34 -20
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +6 -6
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +7 -7
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +16 -15
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +3 -3
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +4 -89
- package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +6 -6
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +11 -10
- package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +7 -7
- package/esm2022/insights/lib/insights/insights.component.mjs +4 -5
- package/esm2022/insights/lib/insights/insights.module.mjs +4 -34
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +18 -22
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +9 -8
- package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +6 -6
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +20 -11
- package/esm2022/kanban/lib/kanban/kanban.module.mjs +4 -41
- package/esm2022/label-value/lib/label-value/label-value.component.mjs +8 -8
- package/esm2022/label-value/lib/label-value/label-value.module.mjs +4 -10
- package/esm2022/lib/locale/fallback.mjs +3 -2
- package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +3 -3
- package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +4 -4
- package/esm2022/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.mjs +4 -4
- package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +13 -7
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +3 -2
- package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +4 -20
- package/esm2022/locale/lib/locale/locale.module.mjs +6 -8
- package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +6 -5
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +16 -15
- package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +6 -5
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +11 -10
- package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +6 -5
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +3 -2
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +10 -7
- package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +6 -5
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +3 -2
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +7 -4
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +4 -6
- package/esm2022/mask/lib/mask/mask-formatter.module.mjs +3 -3
- package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +3 -2
- package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +3 -2
- package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +5 -7
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +8 -8
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +4 -8
- package/esm2022/number-input/lib/number-input/number-input.directive.mjs +3 -2
- package/esm2022/number-input/lib/number-input/number-input.module.mjs +4 -6
- package/esm2022/numeric/lib/numeric.module.mjs +4 -6
- package/esm2022/numeric/lib/numeric.pipe.mjs +6 -3
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +8 -3
- package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +7 -8
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +6 -8
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +6 -6
- package/esm2022/object-card/lib/object-card/object-card.module.mjs +4 -10
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
- package/esm2022/panel/lib/panel/panel.component.mjs +15 -7
- package/esm2022/panel/lib/panel/panel.module.mjs +7 -10
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +4 -4
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +4 -3
- package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +4 -7
- package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +5 -6
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +9 -10
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +5 -11
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -6
- package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +4 -4
- package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +5 -5
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +4 -9
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +5 -5
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +6 -14
- package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -4
- package/esm2022/select/lib/select/select.component.mjs +3 -5
- package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +5 -5
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +6 -6
- package/esm2022/select-button/lib/select-button/select-button.module.mjs +6 -13
- package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +5 -5
- package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +7 -10
- package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +5 -5
- package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +4 -7
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +6 -6
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +7 -9
- package/esm2022/slider/lib/slider/slider.component.mjs +6 -6
- package/esm2022/slider/lib/slider/slider.module.mjs +6 -9
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +4 -5
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +5 -13
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -5
- package/esm2022/split-button/lib/split-button/split-button.module.mjs +4 -6
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +6 -6
- package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +4 -8
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +6 -6
- package/esm2022/stepper/lib/stepper/stepper.module.mjs +4 -7
- package/esm2022/structure/lib/structure/footer.component.mjs +3 -2
- package/esm2022/structure/lib/structure/header.component.mjs +5 -4
- package/esm2022/structure/lib/structure/structure.module.mjs +5 -7
- package/esm2022/switch/lib/switch/switch.component.mjs +4 -5
- package/esm2022/switch/lib/switch/switch.module.mjs +4 -6
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +6 -3
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +17 -9
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +4 -4
- package/esm2022/table/lib/table/table.module.mjs +4 -34
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +19 -16
- package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +4 -8
- package/esm2022/template/lib/template/template.module.mjs +4 -5
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +9 -9
- package/esm2022/text-area/lib/text-area.module.mjs +5 -24
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +5 -5
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +7 -9
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +6 -6
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +9 -9
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +25 -14
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +4 -4
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +6 -14
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +7 -7
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +4 -4
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +6 -6
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +4 -3
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +4 -20
- package/esm2022/tile/lib/tile/tile.component.mjs +6 -6
- package/esm2022/tile/lib/tile/tile.module.mjs +4 -7
- package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +6 -6
- package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +5 -5
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +4 -4
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +5 -5
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +3 -3
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +5 -5
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +7 -7
- package/esm2022/timeline/lib/timeline/timeline.component.mjs +5 -6
- package/esm2022/timeline/lib/timeline/timeline.module.mjs +4 -20
- package/esm2022/toast/lib/toast/toast.component.mjs +4 -4
- package/esm2022/toast/lib/toast/toast.module.mjs +6 -7
- package/esm2022/token-list/lib/token-list/token-list.component.mjs +4 -4
- package/esm2022/token-list/lib/token-list/token-list.module.mjs +4 -6
- package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +3 -4
- package/esm2022/topbar/lib/topbar/topbar.component.mjs +3 -3
- package/esm2022/topbar/lib/topbar/topbar.module.mjs +7 -10
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +6 -5
- package/esm2022/tree/lib/tree/tree.component.mjs +5 -5
- package/esm2022/tree/lib/tree/tree.module.mjs +4 -10
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +5 -5
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +4 -6
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +20 -17
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-alert.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +8 -12
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -7
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -6
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +5 -6
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -9
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chat.mjs +15 -16
- package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +3 -4
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +14 -18
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +5 -7
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +28 -52
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -37
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +12 -35
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +5 -2
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -11
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +5 -6
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +8 -11
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +11 -18
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -47
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +8 -10
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +10 -17
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +8 -14
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +5 -6
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +9 -11
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +64 -121
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -47
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +86 -113
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs +10 -16
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +40 -46
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +40 -31
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +9 -8
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mask.mjs +4 -3
- package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +55 -56
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +9 -13
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs +6 -6
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +7 -2
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +8 -7
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +14 -21
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +17 -11
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +8 -9
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +4 -5
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +11 -17
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +15 -15
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +8 -15
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +9 -15
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +4 -6
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +8 -11
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -9
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +8 -11
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -15
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +8 -12
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +8 -11
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-structure.mjs +18 -18
- package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +20 -21
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +27 -45
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs +3 -4
- package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +12 -30
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +45 -37
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +14 -25
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +8 -12
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs +58 -124
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +4 -5
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +10 -13
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +6 -8
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
- package/fieldset/lib/fieldset/fieldset.module.d.ts +1 -3
- package/file-picker/lib/file-picker/file-picker.component.d.ts +1 -1
- package/file-picker/lib/file-picker/file-picker.module.d.ts +1 -7
- package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +1 -1
- package/gantt/lib/gantt/gantt.component.d.ts +1 -1
- package/gantt/lib/gantt/gantt.module.d.ts +1 -4
- package/global-search/README.md +12 -1
- package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +1 -1
- package/global-search/lib/global-search/global-search.component.d.ts +1 -1
- package/global-search/lib/global-search/global-search.module.d.ts +8 -12
- package/grid-menu/README.md +27 -2
- package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +1 -1
- package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +1 -1
- package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +1 -3
- package/help-popover/README.md +2 -2
- package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +1 -1
- package/help-popover/lib/help-popover/help-popover.directive.d.ts +1 -1
- package/help-popover/lib/help-popover/help-popover.module.d.ts +2 -5
- package/ia-insight/README.md +1 -1
- package/image-cropper/README.md +2 -2
- package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +1 -1
- package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +3 -8
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +1 -2
- package/info-sign/README.md +1 -1
- package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +2 -2
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -1
- package/info-sign/lib/info-sign/info-sign.module.d.ts +1 -4
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +7 -6
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +4 -4
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +4 -4
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +5 -4
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +4 -4
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +4 -4
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +5 -4
- package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +1 -1
- package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +1 -23
- package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +1 -1
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +2 -1
- package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +1 -1
- package/insights/lib/insights/insights.component.d.ts +1 -1
- package/insights/lib/insights/insights.module.d.ts +3 -12
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +5 -5
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +4 -4
- package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +1 -1
- package/kanban/lib/kanban/kanban.component.d.ts +1 -1
- package/kanban/lib/kanban/kanban.module.d.ts +3 -13
- package/label-value/lib/label-value/label-value.component.d.ts +1 -1
- package/label-value/lib/label-value/label-value.module.d.ts +1 -6
- package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +1 -1
- package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +1 -1
- package/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.d.ts +1 -1
- package/loading-state/lib/loading-state/loading-state.component.d.ts +1 -1
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -1
- package/loading-state/lib/loading-state/loading-state.module.d.ts +1 -6
- package/locale/lib/locale/locale.module.d.ts +1 -2
- package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +1 -1
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +2 -2
- package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +3 -3
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +1 -1
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +2 -1
- package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +1 -2
- package/mask/lib/mask/mask-formatter.module.d.ts +1 -1
- package/mask/lib/mask/mask-formatter.pipe.d.ts +1 -1
- package/mouse-events/lib/mouse-events/long-press.directive.d.ts +1 -1
- package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +3 -4
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -1
- package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +1 -4
- package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
- package/number-input/lib/number-input/number-input.module.d.ts +1 -2
- package/numeric/lib/numeric.module.d.ts +1 -2
- package/numeric/lib/numeric.pipe.d.ts +1 -1
- package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +1 -0
- package/object-card/README.md +13 -1
- package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +1 -1
- package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +1 -1
- package/object-card/lib/object-card/object-card.component.d.ts +1 -1
- package/object-card/lib/object-card/object-card.module.d.ts +5 -10
- package/package.json +1 -1
- package/panel/lib/panel/panel.component.d.ts +6 -1
- package/panel/lib/panel/panel.module.d.ts +2 -4
- package/password-strength/lib/password-strength/password-strength.component.d.ts +1 -1
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -1
- package/password-strength/lib/password-strength/password-strength.module.d.ts +2 -4
- package/picklist/README.md +74 -2
- package/product-header/README.md +1 -1
- package/profile-picture-picker/README.md +1 -1
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +1 -1
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +1 -7
- package/progressbar/README.md +0 -1
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +2 -1
- package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +1 -1
- package/progressbar/lib/progressbar/progressbar.component.d.ts +1 -1
- package/progressbar/lib/progressbar/progressbar.module.d.ts +1 -5
- package/radio-button/README.md +0 -1
- package/rating-scale/README.md +1 -1
- package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +2 -2
- package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +1 -3
- package/schematics/migrations/migrate-steps-to-stepper/index.d.ts +2 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.js +104 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.js.map +1 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.test.d.ts +1 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.test.js +206 -0
- package/schematics/migrations/migrate-steps-to-stepper/index.test.js.map +1 -0
- package/schematics/migrations.json +5 -0
- package/schematics/utils/ast-utils.d.ts +13 -0
- package/schematics/utils/ast-utils.js +76 -0
- package/schematics/utils/ast-utils.js.map +1 -1
- package/select/lib/select/select.component.d.ts +1 -1
- package/select-button/README.md +1 -1
- package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +1 -1
- package/select-button/lib/select-button/select-button.component.d.ts +1 -1
- package/select-button/lib/select-button/select-button.module.d.ts +1 -3
- package/shared/lib/shared/border-button/border-button.component.d.ts +1 -1
- package/shared/lib/shared/border-button/border-button.module.d.ts +1 -3
- package/sidebar/lib/sidebar/sidebar.component.d.ts +1 -1
- package/sidebar/lib/sidebar/sidebar.module.d.ts +2 -4
- package/slide-in-bar/README.md +1 -1
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +1 -1
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +1 -2
- package/slider/README.md +1 -1
- package/slider/lib/slider/slider.component.d.ts +1 -1
- package/slider/lib/slider/slider.module.d.ts +1 -3
- package/speech-recognition/README.md +1 -1
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +1 -1
- package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +1 -3
- package/split-button/README.md +1 -1
- package/split-button/lib/split-button/split-button.component.d.ts +1 -1
- package/split-button/lib/split-button/split-button.module.d.ts +1 -2
- package/spotlight/README.md +1 -1
- package/star-rating/README.md +1 -1
- package/stats-card/README.md +1 -1
- package/stats-card/lib/stats-card/stats-card.component.d.ts +1 -1
- package/stats-card/lib/stats-card/stats-card.module.d.ts +1 -4
- package/stepper/lib/stepper/stepper.component.d.ts +1 -1
- package/stepper/lib/stepper/stepper.module.d.ts +1 -3
- package/structure/lib/structure/footer.component.d.ts +1 -1
- package/structure/lib/structure/header.component.d.ts +1 -1
- package/structure/lib/structure/structure.module.d.ts +1 -2
- package/switch/lib/switch/switch.component.d.ts +1 -1
- package/switch/lib/switch/switch.module.d.ts +1 -2
- package/table/README.md +9 -8
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
- package/table/lib/table/table-column/table-columns.component.d.ts +1 -1
- package/table/lib/table/table-paging/table-paging.component.d.ts +1 -1
- package/table/lib/table/table.module.d.ts +5 -12
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
- package/table-header/lib/table-header/table-header-checkox.module.d.ts +1 -4
- package/template/README.md +177 -0
- package/template/lib/template/template.module.d.ts +2 -3
- package/text-area/lib/text-area/text-area.component.d.ts +1 -1
- package/text-area/lib/text-area.module.d.ts +1 -5
- package/text-area-ia/README.md +1 -1
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -1
- package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +1 -2
- package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
- package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +2 -2
- package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +5 -4
- package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +1 -1
- package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +1 -8
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -1
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +1 -1
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +1 -1
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +1 -1
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -1
- package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +1 -6
- package/tile/lib/tile/tile.component.d.ts +1 -1
- package/tile/lib/tile/tile.module.d.ts +3 -5
- package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -1
- package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -1
- package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +1 -1
- package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +1 -1
- package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +1 -1
- package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -1
- package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -1
- package/timeline/lib/timeline/timeline.component.d.ts +1 -1
- package/timeline/lib/timeline/timeline.module.d.ts +1 -5
- package/toast/lib/toast/toast.component.d.ts +1 -1
- package/toast/lib/toast/toast.module.d.ts +3 -3
- package/token-list/lib/token-list/token-list.component.d.ts +1 -1
- package/token-list/lib/token-list/token-list.module.d.ts +1 -2
- package/tooltip/lib/tooltip/tooltip.module.d.ts +1 -2
- package/topbar/lib/topbar/topbar.component.d.ts +1 -1
- package/topbar/lib/topbar/topbar.module.d.ts +3 -5
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -1
- package/tree/lib/tree/tree.component.d.ts +1 -1
- package/tree/lib/tree/tree.module.d.ts +1 -6
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -1
- package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +1 -2
- package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +0 -2
- package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +0 -20
- package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +0 -19
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +0 -33
- package/insights/lib/insights/components/insights-card/components/index.d.ts +0 -1
- package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -10
- package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -9
- package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { NgClass } from '@angular/common';
|
|
1
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
4
|
/**
|
|
5
5
|
* @description Componente de lista de tokens (etiquetas) clicáveis e opcionalmente
|
|
6
6
|
* removíveis. Emite eventos ao selecionar ou remover um token.
|
|
@@ -41,11 +41,11 @@ export class TokenListComponent {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TokenListComponent, selector: "s-token-list", inputs: { id: "id", tokens: "tokens", removableTokens: "removableTokens", hidePointerEvents: "hidePointerEvents" }, outputs: { tokenSelected: "tokenSelected", tokenRemoved: "tokenRemoved" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"token-list\"\n>\n @for (token of tokens; track $index) {\n <span\n [id]=\"token.id\"\n class=\"token\"\n [ngClass]=\"{\n 'no-pointer-events': hidePointerEvents,\n 'token--disabled': token.disabled,\n }\"\n >\n <a\n [id]=\"(token.id || 'token') + '-label'\"\n class=\"token-label\"\n (click)=\"onTokenSelected(token)\"\n >\n {{ token.label }}\n </a>\n @if (removableTokens && !token.notRemovable) {\n <span\n [id]=\"token.id + '-remove'\"\n class=\"far fa-times\"\n (click)=\"onTokenRemoved(token)\"\n >\n </span>\n }\n </span>\n }\n</div>\n", styles: [".no-pointer-events{pointer-events:none}.token-list{align-items:center;display:inline-flex;flex-wrap:wrap;max-width:100%;padding:0 10px;text-transform:none}.token-list .token{align-items:center;background-color:#e5eaea;border:1px solid #697882;border-radius:4px;color:#212533;display:flex;font:400 12px/150% Open Sans,sans-serif;gap:8px;margin:2px 5px 0 0;max-width:100%;padding:2px 8px;-webkit-user-select:none;user-select:none}.token-list .token-label{max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-list .token:not(.token--disabled):hover,.token-list .token:not(.token--disabled):focus{background-color:#ccc}.token-list .token a{text-decoration:none;color:#212533}.token-list .token--disabled{opacity:50%}.token-list .token--disabled a{cursor:default}\n"], dependencies: [{ kind: "directive", type:
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TokenListComponent, isStandalone: true, selector: "s-token-list", inputs: { id: "id", tokens: "tokens", removableTokens: "removableTokens", hidePointerEvents: "hidePointerEvents" }, outputs: { tokenSelected: "tokenSelected", tokenRemoved: "tokenRemoved" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"token-list\"\n>\n @for (token of tokens; track $index) {\n <span\n [id]=\"token.id\"\n class=\"token\"\n [ngClass]=\"{\n 'no-pointer-events': hidePointerEvents,\n 'token--disabled': token.disabled,\n }\"\n >\n <a\n [id]=\"(token.id || 'token') + '-label'\"\n class=\"token-label\"\n (click)=\"onTokenSelected(token)\"\n >\n {{ token.label }}\n </a>\n @if (removableTokens && !token.notRemovable) {\n <span\n [id]=\"token.id + '-remove'\"\n class=\"far fa-times\"\n (click)=\"onTokenRemoved(token)\"\n >\n </span>\n }\n </span>\n }\n</div>\n", styles: [".no-pointer-events{pointer-events:none}.token-list{align-items:center;display:inline-flex;flex-wrap:wrap;max-width:100%;padding:0 10px;text-transform:none}.token-list .token{align-items:center;background-color:#e5eaea;border:1px solid #697882;border-radius:4px;color:#212533;display:flex;font:400 12px/150% Open Sans,sans-serif;gap:8px;margin:2px 5px 0 0;max-width:100%;padding:2px 8px;-webkit-user-select:none;user-select:none}.token-list .token-label{max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-list .token:not(.token--disabled):hover,.token-list .token:not(.token--disabled):focus{background-color:#ccc}.token-list .token a{text-decoration:none;color:#212533}.token-list .token--disabled{opacity:50%}.token-list .token--disabled a{cursor:default}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 's-token-list', template: "<div\n [id]=\"id\"\n class=\"token-list\"\n>\n @for (token of tokens; track $index) {\n <span\n [id]=\"token.id\"\n class=\"token\"\n [ngClass]=\"{\n 'no-pointer-events': hidePointerEvents,\n 'token--disabled': token.disabled,\n }\"\n >\n <a\n [id]=\"(token.id || 'token') + '-label'\"\n class=\"token-label\"\n (click)=\"onTokenSelected(token)\"\n >\n {{ token.label }}\n </a>\n @if (removableTokens && !token.notRemovable) {\n <span\n [id]=\"token.id + '-remove'\"\n class=\"far fa-times\"\n (click)=\"onTokenRemoved(token)\"\n >\n </span>\n }\n </span>\n }\n</div>\n", styles: [".no-pointer-events{pointer-events:none}.token-list{align-items:center;display:inline-flex;flex-wrap:wrap;max-width:100%;padding:0 10px;text-transform:none}.token-list .token{align-items:center;background-color:#e5eaea;border:1px solid #697882;border-radius:4px;color:#212533;display:flex;font:400 12px/150% Open Sans,sans-serif;gap:8px;margin:2px 5px 0 0;max-width:100%;padding:2px 8px;-webkit-user-select:none;user-select:none}.token-list .token-label{max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-list .token:not(.token--disabled):hover,.token-list .token:not(.token--disabled):focus{background-color:#ccc}.token-list .token a{text-decoration:none;color:#212533}.token-list .token--disabled{opacity:50%}.token-list .token--disabled a{cursor:default}\n"] }]
|
|
48
|
+
args: [{ selector: 's-token-list', standalone: true, imports: [NgClass], template: "<div\n [id]=\"id\"\n class=\"token-list\"\n>\n @for (token of tokens; track $index) {\n <span\n [id]=\"token.id\"\n class=\"token\"\n [ngClass]=\"{\n 'no-pointer-events': hidePointerEvents,\n 'token--disabled': token.disabled,\n }\"\n >\n <a\n [id]=\"(token.id || 'token') + '-label'\"\n class=\"token-label\"\n (click)=\"onTokenSelected(token)\"\n >\n {{ token.label }}\n </a>\n @if (removableTokens && !token.notRemovable) {\n <span\n [id]=\"token.id + '-remove'\"\n class=\"far fa-times\"\n (click)=\"onTokenRemoved(token)\"\n >\n </span>\n }\n </span>\n }\n</div>\n", styles: [".no-pointer-events{pointer-events:none}.token-list{align-items:center;display:inline-flex;flex-wrap:wrap;max-width:100%;padding:0 10px;text-transform:none}.token-list .token{align-items:center;background-color:#e5eaea;border:1px solid #697882;border-radius:4px;color:#212533;display:flex;font:400 12px/150% Open Sans,sans-serif;gap:8px;margin:2px 5px 0 0;max-width:100%;padding:2px 8px;-webkit-user-select:none;user-select:none}.token-list .token-label{max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-list .token:not(.token--disabled):hover,.token-list .token:not(.token--disabled):focus{background-color:#ccc}.token-list .token a{text-decoration:none;color:#212533}.token-list .token--disabled{opacity:50%}.token-list .token--disabled a{cursor:default}\n"] }]
|
|
49
49
|
}], propDecorators: { id: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}], tokens: [{
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
60
60
|
}], tokenRemoved: [{
|
|
61
61
|
type: Output
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdG9rZW4tbGlzdC9zcmMvbGliL3Rva2VuLWxpc3QvdG9rZW4tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdG9rZW4tbGlzdC9zcmMvbGliL3Rva2VuLWxpc3QvdG9rZW4tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXpCLHNHQUFzRztJQUUvRixFQUFFLEdBQUcsZ0JBQWdCLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFFMUQsZ0VBQWdFO0lBRXpELE1BQU0sQ0FBWTtJQUV6QiwwRUFBMEU7SUFFbkUsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUUvQiwwR0FBMEc7SUFFbkcsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBRWpDLGdGQUFnRjtJQUV6RSxhQUFhLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaEUsOEVBQThFO0lBRXZFLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV4RCxlQUFlLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQzt3R0FyQ1Esa0JBQWtCOzRGQUFsQixrQkFBa0IsdVFDM0IvQiwrM0JBK0JBLDYwQkROYyxPQUFPOzs0RkFFUixrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0ksY0FBYyxjQUdaLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQzs4QkFPWCxFQUFFO3NCQURSLEtBQUs7Z0JBS0MsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsZUFBZTtzQkFEckIsS0FBSztnQkFLQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBS0MsYUFBYTtzQkFEbkIsTUFBTTtnQkFLQSxZQUFZO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJVG9rZW4gfSBmcm9tICcuL21vZGVscy90b2tlbic7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgbGlzdGEgZGUgdG9rZW5zIChldGlxdWV0YXMpIGNsaWPDoXZlaXMgZSBvcGNpb25hbG1lbnRlXHJcbiAqIHJlbW92w612ZWlzLiBFbWl0ZSBldmVudG9zIGFvIHNlbGVjaW9uYXIgb3UgcmVtb3ZlciB1bSB0b2tlbi5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy10b2tlbi1saXN0XHJcbiAqICAgW3Rva2Vuc109XCJsaXN0YURlVG9rZW5zXCJcclxuICogICBbcmVtb3ZhYmxlVG9rZW5zXT1cInRydWVcIlxyXG4gKiAgICh0b2tlblNlbGVjdGVkKT1cIm9uVG9rZW5TZWxlY2lvbmFkbygkZXZlbnQpXCJcclxuICogICAodG9rZW5SZW1vdmVkKT1cIm9uVG9rZW5SZW1vdmlkbygkZXZlbnQpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBTdW1tYXJ5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy10b2tlbi1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2tlbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rva2VuLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzc10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2tlbkxpc3RDb21wb25lbnQge1xyXG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gSWRlbnRpZmljYWRvciDDum5pY28gZG8gY29tcG9uZW50ZSBubyBET00uIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlkID0gYHMtdG9rZW4tbGlzdC0ke1Rva2VuTGlzdENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgdG9rZW5zIGV4aWJpZG9zLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHRva2VucyE6IElUb2tlbltdO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgbyBib3TDo28gZGUgcmVtb8Onw6NvIGVtIGNhZGEgdG9rZW4uIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlbW92YWJsZVRva2VucyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUXVhbmRvIGB0cnVlYCwgcmVtb3ZlIG9zIGV2ZW50b3MgZGUgcG9udGVpcm8gKGhvdmVyL2NsaXF1ZSkgZG9zIHRva2Vucy4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGlkZVBvaW50ZXJFdmVudHMgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2EgZW0gdW0gdG9rZW4gbsOjbyBkZXNhYmlsaXRhZG8uICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0b2tlblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SVRva2VuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gcmVtb3ZlIHVtIHRva2VuIG7Do28gZGVzYWJpbGl0YWRvLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdG9rZW5SZW1vdmVkOiBFdmVudEVtaXR0ZXI8SVRva2VuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgb25Ub2tlblNlbGVjdGVkKHRva2VuOiBJVG9rZW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRva2VuLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9rZW5TZWxlY3RlZC5uZXh0KHRva2VuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uVG9rZW5SZW1vdmVkKHRva2VuOiBJVG9rZW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRva2VuLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9rZW5SZW1vdmVkLm5leHQodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgW2lkXT1cImlkXCJcbiAgICBjbGFzcz1cInRva2VuLWxpc3RcIlxuPlxuICAgIEBmb3IgKHRva2VuIG9mIHRva2VuczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbaWRdPVwidG9rZW4uaWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0b2tlblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ25vLXBvaW50ZXItZXZlbnRzJzogaGlkZVBvaW50ZXJFdmVudHMsXG4gICAgICAgICAgICAgICAgJ3Rva2VuLS1kaXNhYmxlZCc6IHRva2VuLmRpc2FibGVkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2lkXT1cIih0b2tlbi5pZCB8fCAndG9rZW4nKSArICctbGFiZWwnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRva2VuLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2tlblNlbGVjdGVkKHRva2VuKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdG9rZW4ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIEBpZiAocmVtb3ZhYmxlVG9rZW5zICYmICF0b2tlbi5ub3RSZW1vdmFibGUpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwidG9rZW4uaWQgKyAnLXJlbW92ZSdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhciBmYS10aW1lc1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRva2VuUmVtb3ZlZCh0b2tlbilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
2
|
import { TokenListComponent } from './token-list.component';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export class TokenListModule {
|
|
6
5
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule,
|
|
8
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule
|
|
6
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule, imports: [TokenListComponent], exports: [TokenListComponent] });
|
|
7
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule });
|
|
9
8
|
}
|
|
10
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TokenListModule, decorators: [{
|
|
11
10
|
type: NgModule,
|
|
12
11
|
args: [{
|
|
13
|
-
imports: [
|
|
14
|
-
declarations: [TokenListComponent],
|
|
12
|
+
imports: [TokenListComponent],
|
|
15
13
|
exports: [TokenListComponent],
|
|
16
14
|
}]
|
|
17
15
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdG9rZW4tbGlzdC9zcmMvbGliL3Rva2VuLWxpc3QvdG9rZW4tbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGVBQWU7d0dBQWYsZUFBZTt5R0FBZixlQUFlLFlBSGQsa0JBQWtCLGFBQ2xCLGtCQUFrQjt5R0FFbkIsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRva2VuTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4tbGlzdC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtUb2tlbkxpc3RDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW1Rva2VuTGlzdENvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2tlbkxpc3RNb2R1bGUge31cclxuIl19
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { TooltipComponent } from './tooltip.component';
|
|
3
2
|
import { TooltipDirective } from './tooltip.directive';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export class TooltipModule {
|
|
6
5
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TooltipModule, imports: [TooltipDirective
|
|
6
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TooltipModule, imports: [TooltipDirective], exports: [TooltipDirective] });
|
|
8
7
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipModule });
|
|
9
8
|
}
|
|
10
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipModule, decorators: [{
|
|
11
10
|
type: NgModule,
|
|
12
11
|
args: [{
|
|
13
|
-
imports: [TooltipDirective
|
|
12
|
+
imports: [TooltipDirective],
|
|
14
13
|
exports: [TooltipDirective],
|
|
15
14
|
}]
|
|
16
15
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcC9zcmMvbGliL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhLFlBSFosZ0JBQWdCLGFBQ2hCLGdCQUFnQjt5R0FFakIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbVG9vbHRpcERpcmVjdGl2ZV0sXHJcbiAgICBleHBvcnRzOiBbVG9vbHRpcERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -43,7 +43,7 @@ export class TopbarComponent {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TopbarComponent, selector: "s-topbar, s-product-header", inputs: { id: "id", header: "header", baseZIndex: "baseZIndex", isHeaderFrame: "isHeaderFrame" }, providers: [
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TopbarComponent, isStandalone: true, selector: "s-topbar, s-product-header", inputs: { id: "id", header: "header", baseZIndex: "baseZIndex", isHeaderFrame: "isHeaderFrame" }, providers: [
|
|
47
47
|
{
|
|
48
48
|
provide: DEPRECATED_CONFIG,
|
|
49
49
|
useValue: {
|
|
@@ -65,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
65
65
|
removalVersion: '20.0.0',
|
|
66
66
|
},
|
|
67
67
|
},
|
|
68
|
-
], template: "<div [id]=\"id\" class=\"box\">\n <div\n #headerContainer\n class=\"sds-container\"\n [class]=\"isHeaderFrame ? 'header-frame' : 'primary-header'\"\n >\n <h1 [class]=\"isHeaderFrame ? 'title' : 'primary-title'\">{{ header }}</h1>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n", styles: [".box{position:relative;width:100%;height:70px}.header-frame{padding-top:15px;padding-bottom:15px;width:100%;top:0;left:0;height:70px;background-color:#fff;display:flex;justify-content:space-between;align-items:center;position:fixed;z-index:32}.title{color:#595959;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-header{display:flex;width:100%;height:70px;padding:15px 20px;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;background-color:#fff;gap:24px}@media (max-width: 768px){.primary-header{width:100%}}.primary-header .primary-title{color:#595959;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
68
|
+
], standalone: true, template: "<div [id]=\"id\" class=\"box\">\n <div\n #headerContainer\n class=\"sds-container\"\n [class]=\"isHeaderFrame ? 'header-frame' : 'primary-header'\"\n >\n <h1 [class]=\"isHeaderFrame ? 'title' : 'primary-title'\">{{ header }}</h1>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n", styles: [".box{position:relative;width:100%;height:70px}.header-frame{padding-top:15px;padding-bottom:15px;width:100%;top:0;left:0;height:70px;background-color:#fff;display:flex;justify-content:space-between;align-items:center;position:fixed;z-index:32}.title{color:#595959;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-header{display:flex;width:100%;height:70px;padding:15px 20px;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;background-color:#fff;gap:24px}@media (max-width: 768px){.primary-header{width:100%}}.primary-header .primary-title{color:#595959;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
69
69
|
}], propDecorators: { id: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}], header: [{
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
79
79
|
type: ViewChild,
|
|
80
80
|
args: ['headerContainer', { static: false }]
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90b3BiYXIvc3JjL2xpYi90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90b3BiYXIvc3JjL2xpYi90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7OztBQUU1Rzs7Ozs7Ozs7Ozs7O0dBWUc7QUFrQkgsTUFBTSxPQUFPLGVBQWU7SUFDakIsTUFBTSxDQUFVLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBRTdDLE1BQU0sQ0FBQyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxzR0FBc0c7SUFFL0YsRUFBRSxHQUFHLFlBQVksZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFFdEQsd0VBQXdFO0lBRWpFLE1BQU0sQ0FBVTtJQUV2QixtRUFBbUU7SUFFNUQsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUV0Qiw4R0FBOEc7SUFFdkcsYUFBYSxHQUFHLElBQUksQ0FBQztJQUdyQixTQUFTLEdBQXNCLElBQUksQ0FBQztJQUVwQyxlQUFlO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwRSxDQUFDO0lBQ0wsQ0FBQzt3R0FyQ1EsZUFBZTs0RkFBZixlQUFlLDJLQVpiO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFO29CQUNOLFdBQVcsRUFBRSxrQkFBa0I7b0JBQy9CLFdBQVcsRUFBRSxVQUFVO29CQUN2QixjQUFjLEVBQUUsUUFBUTtpQkFDM0I7YUFDSjtTQUNKLHlNQ2hDTCx5V0FZQTs7NEZEdUJhLGVBQWU7a0JBakIzQixTQUFTOytCQUNJLDRCQUE0QixrQkFHdEIsQ0FBQywyQkFBMkIsQ0FBQyxhQUNsQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUU7Z0NBQ04sV0FBVyxFQUFFLGtCQUFrQjtnQ0FDL0IsV0FBVyxFQUFFLFVBQVU7Z0NBQ3ZCLGNBQWMsRUFBRSxRQUFROzZCQUMzQjt5QkFDSjtxQkFDSixjQUNXLElBQUk7OEJBWVQsRUFBRTtzQkFEUixLQUFLO2dCQUtDLE1BQU07c0JBRFosS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxTQUFTO3NCQURmLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBERVBSRUNBVEVEX0NPTkZJRyB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xyXG5pbXBvcnQgeyBEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbW1vbi9kZXByZWNhdGVkLXNlbGVjdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBiYXJyYSBzdXBlcmlvciAodG9wYmFyKSBjb20gdMOtdHVsbyBlIHN1cG9ydGUgYVxyXG4gKiBjb250ZcO6ZG8gdHJhbnNjbHVzw6NvLiBUYW1iw6ltIHJlc3BvbmRlIGFvIHNlbGV0b3IgbGVnYWRvIGBzLXByb2R1Y3QtaGVhZGVyYC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy10b3BiYXIgaGVhZGVyPVwiTWluaGEgQXBsaWNhw6fDo29cIj5cclxuICogICA8IS0tIGHDp8O1ZXMgZSBtZW51cyAtLT5cclxuICogPC9zLXRvcGJhcj5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBTdHJ1Y3R1cmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXRvcGJhciwgcy1wcm9kdWN0LWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvcGJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmVdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBERVBSRUNBVEVEX0NPTkZJRyxcclxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgICAgIG9sZFNlbGVjdG9yOiAncy1wcm9kdWN0LWhlYWRlcicsXHJcbiAgICAgICAgICAgICAgICBuZXdTZWxlY3RvcjogJ3MtdG9wYmFyJyxcclxuICAgICAgICAgICAgICAgIHJlbW92YWxWZXJzaW9uOiAnMjAuMC4wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb3BiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbmV4dElkU2VlZCA9IDA7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfbmV4dElkID0gVG9wYmFyQ29tcG9uZW50Lm5leHRJZFNlZWQ7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXROZXh0SWQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbmV4dElkKys7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBJZGVudGlmaWNhZG9yIMO6bmljbyBkbyBjb21wb25lbnRlIG5vIERPTS4gR2VyYWRvIGF1dG9tYXRpY2FtZW50ZSBzZSBuw6NvIGluZm9ybWFkby4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaWQgPSBgcy10b3BiYXItJHtUb3BiYXJDb21wb25lbnQuZ2V0TmV4dElkKCl9YDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFTDrXR1bG8gZXhpYmlkbyBuYSBiYXJyYSBzdXBlcmlvci4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBoZWFkZXIhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBaLWluZGV4IGJhc2UgYXBsaWNhZG8gYW8gY29tcG9uZW50ZS4gQGRlZmF1bHQgMCAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiYXNlWkluZGV4ID0gMDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGFwbGljYSBib3JkYSBpbmZlcmlvcjsgcXVhbmRvIGBmYWxzZWAsIGFwbGljYSBib3JkYSBzdXBlcmlvci4gQGRlZmF1bHQgdHJ1ZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc0hlYWRlckZyYW1lID0gdHJ1ZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdoZWFkZXJDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICAgIHB1YmxpYyBjb250YWluZXI6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNIZWFkZXJGcmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlckJvdHRvbSA9ICcxcHggc29saWQgI2RkZCc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXJUb3AgPSAnMXB4IHNvbGlkICNkZGQnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IFtpZF09XCJpZFwiIGNsYXNzPVwiYm94XCI+XG4gICAgPGRpdlxuICAgICAgI2hlYWRlckNvbnRhaW5lclxuICAgICAgY2xhc3M9XCJzZHMtY29udGFpbmVyXCJcbiAgICAgIFtjbGFzc109XCJpc0hlYWRlckZyYW1lID8gJ2hlYWRlci1mcmFtZScgOiAncHJpbWFyeS1oZWFkZXInXCJcbiAgICA+XG4gICAgICA8aDEgW2NsYXNzXT1cImlzSGVhZGVyRnJhbWUgPyAndGl0bGUnIDogJ3ByaW1hcnktdGl0bGUnXCI+e3sgaGVhZGVyIH19PC9oMT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { TopbarComponent } from "./topbar.component";
|
|
5
|
-
import { TooltipModule } from "@seniorsistemas/angular-components/tooltip";
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ThumbnailModule } from '@seniorsistemas/angular-components/thumbnail';
|
|
3
|
+
import { TopbarComponent } from './topbar.component';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
export class TopbarModule {
|
|
8
6
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule,
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule, imports: [
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule, imports: [ThumbnailModule, TopbarComponent], exports: [TopbarComponent, ThumbnailModule] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule, imports: [ThumbnailModule, ThumbnailModule] });
|
|
11
9
|
}
|
|
12
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TopbarModule, decorators: [{
|
|
13
11
|
type: NgModule,
|
|
14
12
|
args: [{
|
|
15
|
-
imports: [
|
|
16
|
-
declarations: [TopbarComponent],
|
|
13
|
+
imports: [ThumbnailModule, TopbarComponent],
|
|
17
14
|
exports: [TopbarComponent, ThumbnailModule],
|
|
18
15
|
}]
|
|
19
16
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90b3BiYXIvc3JjL2xpYi90b3BiYXIvdG9wYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXJELE1BQU0sT0FBTyxZQUFZO3dHQUFaLFlBQVk7eUdBQVosWUFBWSxZQUhYLGVBQWUsRUFBRSxlQUFlLGFBQ2hDLGVBQWUsRUFBRSxlQUFlO3lHQUVqQyxZQUFZLFlBSFgsZUFBZSxFQUNFLGVBQWU7OzRGQUVqQyxZQUFZO2tCQUp4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRodW1ibmFpbE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuaW1wb3J0IHsgVG9wYmFyQ29tcG9uZW50IH0gZnJvbSAnLi90b3BiYXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbVGh1bWJuYWlsTW9kdWxlLCBUb3BiYXJDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW1RvcGJhckNvbXBvbmVudCwgVGh1bWJuYWlsTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvcGJhck1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { animate, query, stagger, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, input, inject } from '@angular/core';
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, input, inject, } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
3
4
|
import { TranslateService } from '@ngx-translate/core';
|
|
5
|
+
import { InputText } from 'primeng/inputtext';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "primeng/inputtext";
|
|
7
8
|
export class TreeNodeItemComponent {
|
|
8
9
|
cdr = inject(ChangeDetectorRef);
|
|
9
10
|
translateService = inject(TranslateService);
|
|
@@ -99,7 +100,7 @@ export class TreeNodeItemComponent {
|
|
|
99
100
|
this.treeNodeEdit.emit(payload);
|
|
100
101
|
}
|
|
101
102
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeNodeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, selector: "s-tree-node-item", inputs: { ariaLevel: { classPropertyName: "ariaLevel", publicName: "ariaLevel", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, treeNodeItem: { classPropertyName: "treeNodeItem", publicName: "treeNodeItem", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n pInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type:
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "s-tree-node-item", inputs: { ariaLevel: { classPropertyName: "ariaLevel", publicName: "ariaLevel", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, treeNodeItem: { classPropertyName: "treeNodeItem", publicName: "treeNodeItem", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n pInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"], dependencies: [{ kind: "component", type: TreeNodeItemComponent, selector: "s-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], animations: [
|
|
103
104
|
trigger('fadeExpand', [
|
|
104
105
|
transition(':enter', [
|
|
105
106
|
style({ height: '0px', opacity: 0, overflow: 'hidden' }),
|
|
@@ -135,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
135
136
|
], { optional: true }),
|
|
136
137
|
]),
|
|
137
138
|
]),
|
|
138
|
-
], template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n pInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"] }]
|
|
139
|
+
], standalone: true, imports: [FormsModule, InputText], template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n pInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"] }]
|
|
139
140
|
}], propDecorators: { treeNodeItem: [{
|
|
140
141
|
type: Input
|
|
141
142
|
}], treeNodeItemClicked: [{
|
|
@@ -150,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
150
151
|
type: ViewChild,
|
|
151
152
|
args: ['input', { read: ElementRef }]
|
|
152
153
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUE2QnZELE1BQU0sT0FBTyxxQkFBcUI7SUFDYixHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFcEQsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLFlBQVksQ0FBd0I7SUFDbkMsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWdELENBQUM7SUFDdkYsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lB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QUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQ0FDOUYsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDckI7NkJBQ0osQ0FBQzt5QkFDTCxDQUFDO3FCQUNMOzhCQVFRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVtQyxLQUFLO3NCQUE5QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBxdWVyeSwgc3RhZ2dlciwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEludGVybmFsVHJlZU5vZGVJdGVtLCBUcmVlTm9kZUVkaXQgfSBmcm9tICcuLi8uLi9Nb2RlbHMvdHJlZS5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdHJlZS1ub2RlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2ZhZGVFeHBhbmQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBvcGFjaXR5OiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IGhlaWdodDogJyonLCBvcGFjaXR5OiAxIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzE1MG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpXSksXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdjaGlsZHJlbkFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTBweCknIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcig2MCwgW2FuaW1hdGUoJzIwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSldKSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVJdGVtQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gICAgcmVhZG9ubHkgYXJpYUxldmVsID0gaW5wdXQoMCk7XG4gICAgcmVhZG9ubHkgc2hvd0NoZWNrYm94ID0gaW5wdXQoZmFsc2UpO1xuICAgIEBJbnB1dCgpIHRyZWVOb2RlSXRlbSE6IEludGVybmFsVHJlZU5vZGVJdGVtO1xuICAgIEBPdXRwdXQoKSB0cmVlTm9kZUl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtOyBldmVudDogRXZlbnQgfT4oKTtcbiAgICBAT3V0cHV0KCkgdHJlZU5vZGVFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUVkaXQ+KCk7XG4gICAgQE91dHB1dCgpIG5vZGVFeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxUcmVlTm9kZUl0ZW0+KCk7XG4gICAgQE91dHB1dCgpIG5vZGVDb2xsYXBzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEludGVybmFsVHJlZU5vZGVJdGVtPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy50cmVlTm9kZUl0ZW0/LmNoaWxkcmVuICYmIHRoaXMudHJlZU5vZGVJdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIGdldCBlZGl0YWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVJdGVtPy5lZGl0YWJsZSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgYXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zZWxlY3QnKX0gJHt0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbH1gO1xuICAgIH1cblxuICAgIGV4cGFuZE5vZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmICF0aGlzLnRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKHRoaXMudHJlZU5vZGVJdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbGxhcHNlTm9kZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy50cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVFeHBhbmRlZCh0aGlzLnRyZWVOb2RlSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoZWNrYm94RW50ZXIobm9kZTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pIHtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBub2RlLmNoZWNrZWQgPT09IHRydWUgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIG5vZGUuY2hlY2tlZCA9IG5ld1N0YXRlO1xuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW06IG5vZGUsIGV2ZW50OiBuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHsga2V5OiAnRW50ZXInIH0pIH0pO1xuICAgIH1cblxuICAgIGhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrKGV2ZW50OiBFdmVudCwgdHJlZU5vZGVJdGVtPzogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRyZWVOb2RlSXRlbSB8fCB0aGlzLnRyZWVOb2RlSXRlbTtcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQoeyBpdGVtLCBldmVudCB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVUcmVlTm9kZUl0ZW1DbGlja2VkKHsgZXZlbnQsIGl0ZW0gfTogeyBldmVudDogRXZlbnQ7IGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtIH0pIHtcbiAgICAgICAgaWYgKGl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYW5kbGVUcmVlTm9kZUl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRXhwYW5kZWQodHJlZU5vZGVJdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSkge1xuICAgICAgICB0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCA9ICF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZDtcbiAgICAgICAgaWYgKHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVFeHBhbmRlZC5lbWl0KHRyZWVOb2RlSXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVDb2xsYXBzZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlRWRpdGluZygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nID0gIXRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZztcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAodGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUgPSB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlucHV0Py5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsRWRpdCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2F2ZUVkaXQoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uZWRpdFByZXZpb3VzVmFsdWUgPSB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbDtcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWwgPSB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmV2ZXJ0QWN0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWwgPSB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdCh7XG4gICAgICAgICAgICByZXZlcnRBY3Rpb24sXG4gICAgICAgICAgICBpdGVtOiB0aGlzLnRyZWVOb2RlSXRlbSxcbiAgICAgICAgICAgIG5ld1ZhbHVlOiB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUsXG4gICAgICAgICAgICBwcmV2aW91c1ZhbHVlOiB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJlZU5vZGVFZGl0Q2hpbGRFdmVudChwYXlsb2FkOiBUcmVlTm9kZUVkaXQpIHtcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdChwYXlsb2FkKTtcbiAgICB9XG59XG4iLCJAaWYgKHRyZWVOb2RlSXRlbSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUtaXRlbVwiXG4gICAgICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgICAgIFtjbGFzcy50cmVlLW5vZGUtaXRlbS1zZWxlY3RlZF09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImhhc0NoaWxkcmVuXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJoYXNDaGlsZHJlbiA/IHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IHRydWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyZWVOb2RlSXRlbS5sYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwiYXJpYUxldmVsKClcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJoYW5kbGVUcmVlTm9kZUl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJleHBhbmROb2RlKClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQpPVwiY29sbGFwc2VOb2RlKClcIlxuICAgID5cbiAgICAgICAgQGlmIChoYXNDaGlsZHJlbiB8fCB0cmVlTm9kZUl0ZW0ubGVhZiA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXJyb3dcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCh0cmVlTm9kZUl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKCF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmNvbGxhcHNlZEljb24gfHwgJ2ZhcyBmYS1jaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmV4cGFuZGVkSWNvbiB8fCAnZmFzIGZhLWNoZXZyb24tZG93bidcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pY29uIHx8IHRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pY29uICYmICF0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLWVkaXQgZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVFZGl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChzaG93Q2hlY2tib3goKSAmJiAhdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJlZS1ub2RlLWl0ZW0tdGV4dC1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZCA9PT0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IG51bGwgPyAnbWl4ZWQnIDogdHJlZU5vZGVJdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNoZWNrYm94RW50ZXIodHJlZU5vZGVJdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJlZS1ub2RlLWl0ZW0tdGV4dC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZUVkaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2FuY2VsRWRpdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkVkaXRhciBub21lIGRvIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgICAgICAgICAgICAgICB7eyB0cmVlTm9kZUl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIEBpZiAoZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtZWRpdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLXBlbmNpbC1hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUVkaXRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdGFyIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuXG5AaWYgKGhhc0NoaWxkcmVuICYmIHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgPGRpdlxuICAgICAgICBAZmFkZUV4cGFuZFxuICAgICAgICBjbGFzcz1cImNoaWxkXCJcbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgQGNoaWxkcmVuQW5pbWF0aW9uXG4gICAgPlxuICAgICAgICBAZm9yIChjaGlsZCBvZiB0cmVlTm9kZUl0ZW0uY2hpbGRyZW47IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPHMtdHJlZS1ub2RlLWl0ZW1cbiAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveCgpXCJcbiAgICAgICAgICAgICAgICBbdHJlZU5vZGVJdGVtXT1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxldmVsXT1cImFyaWFMZXZlbCgpICsgMVwiXG4gICAgICAgICAgICAgICAgKHRyZWVOb2RlSXRlbUNsaWNrZWQpPVwiaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAodHJlZU5vZGVFZGl0KT1cInRyZWVOb2RlRWRpdENoaWxkRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG5vZGVFeHBhbmRlZCk9XCJub2RlRXhwYW5kZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAobm9kZUNvbGxhcHNlZCk9XCJub2RlQ29sbGFwc2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlsZC1pdGVtXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn1cblxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQThCOUMsTUFBTSxPQUFPLHFCQUFxQjtJQUNiLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVwRCxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsWUFB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QUFDO29DQUNyRCxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lDQUM5RixFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNyQjs2QkFDSixDQUFDO3lCQUNMLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDOzhCQVF4QixZQUFZO3NCQUFwQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFFbUMsS0FBSztzQkFBOUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgcXVlcnksIHN0YWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGlucHV0LFxyXG4gICAgaW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFRyZWVOb2RlSXRlbSwgVHJlZU5vZGVFZGl0IH0gZnJvbSAnLi4vLi4vTW9kZWxzL3RyZWUubW9kZWxzJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0IH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtdHJlZS1ub2RlLWl0ZW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignZmFkZUV4cGFuZCcsIFtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBvcGFjaXR5OiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXHJcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDEgfSkpLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzE1MG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpXSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcignY2hpbGRyZW5BbmltYXRpb24nLCBbXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5KFxyXG4gICAgICAgICAgICAgICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoNjAsIFthbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpXSksXHJcbiAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICBdKSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBJbnB1dFRleHRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVJdGVtQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgICByZWFkb25seSBhcmlhTGV2ZWwgPSBpbnB1dCgwKTtcclxuICAgIHJlYWRvbmx5IHNob3dDaGVja2JveCA9IGlucHV0KGZhbHNlKTtcclxuICAgIEBJbnB1dCgpIHRyZWVOb2RlSXRlbSE6IEludGVybmFsVHJlZU5vZGVJdGVtO1xyXG4gICAgQE91dHB1dCgpIHRyZWVOb2RlSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW07IGV2ZW50OiBFdmVudCB9PigpO1xyXG4gICAgQE91dHB1dCgpIHRyZWVOb2RlRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZU5vZGVFZGl0PigpO1xyXG4gICAgQE91dHB1dCgpIG5vZGVFeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxUcmVlTm9kZUl0ZW0+KCk7XHJcbiAgICBAT3V0cHV0KCkgbm9kZUNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxUcmVlTm9kZUl0ZW0+KCk7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISEodGhpcy50cmVlTm9kZUl0ZW0/LmNoaWxkcmVuICYmIHRoaXMudHJlZU5vZGVJdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlZGl0YWJsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUl0ZW0/LmVkaXRhYmxlIHx8IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBhcmlhTGFiZWwoKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc2VsZWN0Jyl9ICR7dGhpcy50cmVlTm9kZUl0ZW0ubGFiZWx9YDtcclxuICAgIH1cclxuXHJcbiAgICBleHBhbmROb2RlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmICF0aGlzLnRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRXhwYW5kZWQodGhpcy50cmVlTm9kZUl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb2xsYXBzZU5vZGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy50cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKHRoaXMudHJlZU5vZGVJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGVja2JveEVudGVyKG5vZGU6IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBub2RlLmNoZWNrZWQgPT09IHRydWUgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgbm9kZS5jaGVja2VkID0gbmV3U3RhdGU7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQoeyBpdGVtOiBub2RlLCBldmVudDogbmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB7IGtleTogJ0VudGVyJyB9KSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVUcmVlTm9kZUl0ZW1DbGljayhldmVudDogRXZlbnQsIHRyZWVOb2RlSXRlbT86IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHRyZWVOb2RlSXRlbSB8fCB0aGlzLnRyZWVOb2RlSXRlbTtcclxuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrZWQoeyBldmVudCwgaXRlbSB9OiB7IGV2ZW50OiBFdmVudDsgaXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0gfSkge1xyXG4gICAgICAgIGlmIChpdGVtLmlzRWRpdGluZykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUV4cGFuZGVkKHRyZWVOb2RlSXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pIHtcclxuICAgICAgICB0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCA9ICF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZDtcclxuICAgICAgICBpZiAodHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZUNvbGxhcHNlZC5lbWl0KHRyZWVOb2RlSXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUVkaXRpbmcoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSAhdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBpZiAodGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSA9IHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsO1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlucHV0Py5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWxFZGl0KCRldmVudDogRXZlbnQpIHtcclxuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlID0gJyc7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uZWRpdFByZXZpb3VzVmFsdWUgPSAnJztcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZUVkaXQoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAoIXRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA9IHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsO1xyXG4gICAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsID0gdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCByZXZlcnRBY3Rpb24gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsID0gdGhpcy50cmVlTm9kZUl0ZW0uZWRpdFByZXZpb3VzVmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdCh7XHJcbiAgICAgICAgICAgIHJldmVydEFjdGlvbixcclxuICAgICAgICAgICAgaXRlbTogdGhpcy50cmVlTm9kZUl0ZW0sXHJcbiAgICAgICAgICAgIG5ld1ZhbHVlOiB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUsXHJcbiAgICAgICAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRyZWVOb2RlRWRpdENoaWxkRXZlbnQocGF5bG9hZDogVHJlZU5vZGVFZGl0KSB7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdChwYXlsb2FkKTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKHRyZWVOb2RlSXRlbSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUtaXRlbVwiXG4gICAgICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgICAgIFtjbGFzcy50cmVlLW5vZGUtaXRlbS1zZWxlY3RlZF09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImhhc0NoaWxkcmVuXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJoYXNDaGlsZHJlbiA/IHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IHRydWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyZWVOb2RlSXRlbS5sYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwiYXJpYUxldmVsKClcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJoYW5kbGVUcmVlTm9kZUl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJleHBhbmROb2RlKClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQpPVwiY29sbGFwc2VOb2RlKClcIlxuICAgID5cbiAgICAgICAgQGlmIChoYXNDaGlsZHJlbiB8fCB0cmVlTm9kZUl0ZW0ubGVhZiA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXJyb3dcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCh0cmVlTm9kZUl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKCF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmNvbGxhcHNlZEljb24gfHwgJ2ZhcyBmYS1jaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmV4cGFuZGVkSWNvbiB8fCAnZmFzIGZhLWNoZXZyb24tZG93bidcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pY29uIHx8IHRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pY29uICYmICF0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLWVkaXQgZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVFZGl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChzaG93Q2hlY2tib3goKSAmJiAhdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJlZS1ub2RlLWl0ZW0tdGV4dC1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0cmVlTm9kZUl0ZW0uY2hlY2tlZCA9PT0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IG51bGwgPyAnbWl4ZWQnIDogdHJlZU5vZGVJdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNoZWNrYm94RW50ZXIodHJlZU5vZGVJdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJlZS1ub2RlLWl0ZW0tdGV4dC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZUVkaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2FuY2VsRWRpdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkVkaXRhciBub21lIGRvIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgICAgICAgICAgICAgICB7eyB0cmVlTm9kZUl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIEBpZiAoZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyZWUtbm9kZS1pdGVtLXRleHQtZWRpdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLXBlbmNpbC1hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUVkaXRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdGFyIGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuXG5AaWYgKGhhc0NoaWxkcmVuICYmIHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgPGRpdlxuICAgICAgICBAZmFkZUV4cGFuZFxuICAgICAgICBjbGFzcz1cImNoaWxkXCJcbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgQGNoaWxkcmVuQW5pbWF0aW9uXG4gICAgPlxuICAgICAgICBAZm9yIChjaGlsZCBvZiB0cmVlTm9kZUl0ZW0uY2hpbGRyZW47IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPHMtdHJlZS1ub2RlLWl0ZW1cbiAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveCgpXCJcbiAgICAgICAgICAgICAgICBbdHJlZU5vZGVJdGVtXT1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxldmVsXT1cImFyaWFMZXZlbCgpICsgMVwiXG4gICAgICAgICAgICAgICAgKHRyZWVOb2RlSXRlbUNsaWNrZWQpPVwiaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAodHJlZU5vZGVFZGl0KT1cInRyZWVOb2RlRWRpdENoaWxkRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG5vZGVFeHBhbmRlZCk9XCJub2RlRXhwYW5kZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAobm9kZUNvbGxhcHNlZCk9XCJub2RlQ29sbGFwc2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlsZC1pdGVtXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn1cblxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { LoadingStateDirective } from '@seniorsistemas/angular-components/loading-state';
|
|
3
|
+
import { TreeNodeItemComponent } from './components/tree-node-item/tree-node-item.component';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@seniorsistemas/angular-components/loading-state";
|
|
4
|
-
import * as i2 from "./components/tree-node-item/tree-node-item.component";
|
|
5
5
|
/**
|
|
6
6
|
* @description Componente de árvore hierárquica com suporte a seleção única ou múltipla,
|
|
7
7
|
* checkboxes, noós expansíveis e edição inline de rótulos. Gerencia o estado interno
|
|
@@ -197,11 +197,11 @@ export class TreeComponent {
|
|
|
197
197
|
return this.selectionMode === 'multiple';
|
|
198
198
|
}
|
|
199
199
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
200
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeComponent, selector: "s-tree", inputs: { treeData: "treeData", selected: "selected", loading: "loading", selectionMode: "selectionMode", showCheckbox: "showCheckbox", allExpanded: "allExpanded" }, outputs: { selectedChange: "selectedChange", treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree\" *sLoadingState=\"loading\">\n @for(item of treeData; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"item\"\n (nodeExpanded)=\"onNodeExpanded($event)\"\n (nodeCollapsed)=\"onNodeCollapsed($event)\"\n (treeNodeEdit)=\"onTreeNodeEdit($event)\"\n (treeNodeItemClicked)=\"onTreeNodeItemClicked($event)\">\n </s-tree-node-item>\n\n }\n</div>\n", styles: [".tree{display:flex;flex-direction:column;gap:5px;border:1px solid #dddddd;border-radius:4px;padding:15px;margin:15px}\n"], dependencies: [{ kind: "directive", type:
|
|
200
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeComponent, isStandalone: true, selector: "s-tree", inputs: { treeData: "treeData", selected: "selected", loading: "loading", selectionMode: "selectionMode", showCheckbox: "showCheckbox", allExpanded: "allExpanded" }, outputs: { selectedChange: "selectedChange", treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree\" *sLoadingState=\"loading\">\n @for(item of treeData; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"item\"\n (nodeExpanded)=\"onNodeExpanded($event)\"\n (nodeCollapsed)=\"onNodeCollapsed($event)\"\n (treeNodeEdit)=\"onTreeNodeEdit($event)\"\n (treeNodeItemClicked)=\"onTreeNodeItemClicked($event)\">\n </s-tree-node-item>\n\n }\n</div>\n", styles: [".tree{display:flex;flex-direction:column;gap:5px;border:1px solid #dddddd;border-radius:4px;padding:15px;margin:15px}\n"], dependencies: [{ kind: "directive", type: LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "component", type: TreeNodeItemComponent, selector: "s-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }] });
|
|
201
201
|
}
|
|
202
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeComponent, decorators: [{
|
|
203
203
|
type: Component,
|
|
204
|
-
args: [{ selector: 's-tree', template: "<div class=\"tree\" *sLoadingState=\"loading\">\n @for(item of treeData; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"item\"\n (nodeExpanded)=\"onNodeExpanded($event)\"\n (nodeCollapsed)=\"onNodeCollapsed($event)\"\n (treeNodeEdit)=\"onTreeNodeEdit($event)\"\n (treeNodeItemClicked)=\"onTreeNodeItemClicked($event)\">\n </s-tree-node-item>\n\n }\n</div>\n", styles: [".tree{display:flex;flex-direction:column;gap:5px;border:1px solid #dddddd;border-radius:4px;padding:15px;margin:15px}\n"] }]
|
|
204
|
+
args: [{ selector: 's-tree', standalone: true, imports: [LoadingStateDirective, TreeNodeItemComponent], template: "<div class=\"tree\" *sLoadingState=\"loading\">\n @for(item of treeData; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"item\"\n (nodeExpanded)=\"onNodeExpanded($event)\"\n (nodeCollapsed)=\"onNodeCollapsed($event)\"\n (treeNodeEdit)=\"onTreeNodeEdit($event)\"\n (treeNodeItemClicked)=\"onTreeNodeItemClicked($event)\">\n </s-tree-node-item>\n\n }\n</div>\n", styles: [".tree{display:flex;flex-direction:column;gap:5px;border:1px solid #dddddd;border-radius:4px;padding:15px;margin:15px}\n"] }]
|
|
205
205
|
}], propDecorators: { treeData: [{
|
|
206
206
|
type: Input
|
|
207
207
|
}], selected: [{
|
|
@@ -262,4 +262,4 @@ const parseInternalTreeNodeItem = (internalTreeNodeItem) => {
|
|
|
262
262
|
});
|
|
263
263
|
return object;
|
|
264
264
|
};
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RyZWUvdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RyZWUvdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7OztBQUlqRzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8sYUFBYTtJQUN0Qiw0REFBNEQ7SUFFckQsUUFBUSxHQUFtQixFQUFFLENBQUM7SUFFN0IsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFDdkMsZ0hBQWdIO0lBQ2hILElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBZ0Q7UUFDaEUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsMkVBQTJFO0lBRXBFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFdkIsa0ZBQWtGO0lBRTNFLGFBQWEsR0FBMEIsUUFBUSxDQUFDO0lBRXZELGdGQUFnRjtJQUV6RSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRTVCLG1FQUFtRTtJQUU1RCxXQUFXLEdBQUcsS0FB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Q0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FBVSxvQkFBNkMsRUFBbUIsRUFBRTtJQUMxRyxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDO0lBQ25HLE1BQU0sTUFBTSxHQUFHO1FBQ1gsRUFBRTtRQUNGLEtBQUs7UUFDTCxJQUFJO1FBQ0osT0FBTztRQUNQLFVBQVU7UUFDVixPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLHlCQUF5QixDQUFDO1FBQ25ELElBQUksUUFBUTtZQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsS0FBSztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLG9CQUFvQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQztLQUNKLENBQUM7SUFDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUU7UUFDdkMsVUFBVSxFQUFFLEtBQUs7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUF5QixDQUFDO0FBQ3JDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW50ZXJuYWxUcmVlTm9kZUl0ZW0sIFRyZWVOb2RlRWRpdCwgVHJlZU5vZGVJdGVtIH0gZnJvbSAnLi9Nb2RlbHMvdHJlZS5tb2RlbHMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIMOhcnZvcmUgaGllcsOhcnF1aWNhIGNvbSBzdXBvcnRlIGEgc2VsZcOnw6NvIMO6bmljYSBvdSBtw7psdGlwbGEsXG4gKiBjaGVja2JveGVzLCBub8OzcyBleHBhbnPDrXZlaXMgZSBlZGnDp8OjbyBpbmxpbmUgZGUgcsOzdHVsb3MuIEdlcmVuY2lhIG8gZXN0YWRvIGludGVybm9cbiAqIGRvcyBuw7NzIGUgZW1pdGUgZXZlbnRvcyBuYSBzZWxlw6fDo28sIGV4cGFuc8OjbywgY29sYXBzbyBlIGVkacOnw6NvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy10cmVlXG4gKiAgIFt0cmVlRGF0YV09XCJub3NcIlxuICogICBzZWxlY3Rpb25Nb2RlPVwibXVsdGlwbGVcIlxuICogICBbc2hvd0NoZWNrYm94XT1cInRydWVcIlxuICogICAoc2VsZWN0ZWRDaGFuZ2UpPVwib25TZWxlY2FvTXVkb3UoJGV2ZW50KVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgRGF0YVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdHJlZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBuw7NzIHJhw616IGRhIMOhcnZvcmUuIEBkZWZhdWx0IFtdICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHJlZURhdGE6IFRyZWVOb2RlSXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogVHJlZU5vZGVJdGVtW10gPSBbXTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIE7DsyhzKSBzZWxlY2lvbmFkbyhzKS4gU3Vwb3J0YSBhcnJheSBvdSBpdGVtIMO6bmljbyBkZXBlbmRlbmRvIGRlIGBzZWxlY3Rpb25Nb2RlYC4gQGRlZmF1bHQgW10gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogVHJlZU5vZGVJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IFRyZWVOb2RlSXRlbVtdIHwgVHJlZU5vZGVJdGVtIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSBbdmFsdWVdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBpbmRpY2Fkb3IgZGUgY2FycmVnYW1lbnRvIG5vcyBuw7NzLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gTW9kbyBkZSBzZWxlw6fDo286IGAnc2luZ2xlJ2Agb3UgYCdtdWx0aXBsZSdgLiBAZGVmYXVsdCAnc2luZ2xlJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBjaGVja2JveGVzIG5vcyBuw7NzIHBhcmEgc2VsZcOnw6NvIHZpc3VhbC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93Q2hlY2tib3ggPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhww6NvIHRvZG9zIG9zIG7Ds3MgaW5pY2lhbG1lbnRlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsbEV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIGEgc2VsZcOnw6NvIG11ZGEsIGNvbSBvKHMpIG7DsyhzKSBzZWxlY2lvbmFkbyhzKS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUl0ZW1bXSB8IFRyZWVOb2RlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2EgZW0gdW0gbsOzIGRhIMOhcnZvcmUuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRyZWVOb2RlSXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIGFww7NzIHVtYSBlZGnDp8OjbyBpbmxpbmUgZGUgcsOzdHVsbyBkZSBuw7MuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRyZWVOb2RlRWRpdDogRXZlbnRFbWl0dGVyPFRyZWVOb2RlRWRpdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIHVtIG7DsyDDqSBleHBhbmRpZG8gcGVsbyB1c3XDoXJpby4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgbm9kZUV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8VHJlZU5vZGVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gdW0gbsOzIMOpIGNvbGFwc2FkbyBwZWxvIHVzdcOhcmlvLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBub2RlQ29sbGFwc2VkOiBFdmVudEVtaXR0ZXI8VHJlZU5vZGVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRyZWVOb2RlSXRlbUNsaWNrZWQoeyBpdGVtIH06IHsgaXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0gfSkge1xuICAgICAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdChwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKGl0ZW0pKTtcbiAgICAgICAgdGhpcy50b2dnbGVDaGVja2VkKGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRyZWVOb2RlRWRpdChwYXlsb2FkOiBUcmVlTm9kZUVkaXQpIHtcbiAgICAgICAgY29uc3QgeyByZXZlcnRBY3Rpb24sIGl0ZW0sIG5ld1ZhbHVlLCBwcmV2aW91c1ZhbHVlIH0gPSBwYXlsb2FkO1xuICAgICAgICB0aGlzLnRyZWVOb2RlRWRpdC5lbWl0KHtcbiAgICAgICAgICAgIHJldmVydEFjdGlvbixcbiAgICAgICAgICAgIGl0ZW06IHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0oaXRlbSksXG4gICAgICAgICAgICBuZXdWYWx1ZSxcbiAgICAgICAgICAgIHByZXZpb3VzVmFsdWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk5vZGVFeHBhbmRlZChpdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSkge1xuICAgICAgICB0aGlzLm5vZGVFeHBhbmRlZC5lbWl0KHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0oaXRlbSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk5vZGVDb2xsYXBzZWQoaXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pIHtcbiAgICAgICAgdGhpcy5ub2RlQ29sbGFwc2VkLmVtaXQocGFyc2VJbnRlcm5hbFRyZWVOb2RlSXRlbShpdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2dnbGVDaGVja2VkKHRyZWVOb2RlSXRlbTogVHJlZU5vZGVJdGVtKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRDaGVja1N0YXRlID0gIXRyZWVOb2RlSXRlbS5jaGVja2VkO1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpLmZvckVhY2goKHgpID0+ICh4LmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFt0cmVlTm9kZUl0ZW1dO1xuICAgICAgICB9XG4gICAgICAgIHRyZWVOb2RlSXRlbS5jaGVja2VkID0gZWxlbWVudENoZWNrU3RhdGU7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVHJlZURhdGFDaGlsZHJlbih0cmVlTm9kZUl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrVHJlZURhdGFDaGlsZHJlbihzZWxlY3RlZFRyZWVOb2RlOiBUcmVlTm9kZUl0ZW0pIHtcbiAgICAgICAgY29uc3QgcGFyZW50Q2hlY2tlZCA9IHNlbGVjdGVkVHJlZU5vZGUuY2hlY2tlZDtcbiAgICAgICAgaWYgKHNlbGVjdGVkVHJlZU5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHNlbGVjdGVkVHJlZU5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVucyA9IGZsYXR0ZW5UcmVlKGl0ZW0uY2hpbGRyZW4gfHwgW10pO1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHBhcmVudENoZWNrZWQ7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5zLmZvckVhY2goKGNoaWxkKSA9PiAoY2hpbGQuY2hlY2tlZCA9IHBhcmVudENoZWNrZWQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ2V0Tm9kZUNoaWxkcmVuU3VtbWFyeSA9IChub2RlOiBUcmVlTm9kZUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IGFsbENoaWxkcmVuQ2hlY2tlZCA9IGNoaWxkcmVuLmV2ZXJ5KCh5KSA9PiB5LmNoZWNrZWQgPT09IHRydWUpO1xuICAgICAgICAgICAgY29uc3Qgc29tZUNoaWxkcmVuQ2hlY2tlZCA9IGNoaWxkcmVuLnNvbWUoKHkpID0+IHkuY2hlY2tlZCA9PT0gdHJ1ZSB8fCB5LmNoZWNrZWQgPT09IG51bGwpO1xuICAgICAgICAgICAgY29uc3QgYWxsQ2hpbGRyZW5VbmNoZWNrZWQgPSBjaGlsZHJlbi5ldmVyeSgoeSkgPT4geS5jaGVja2VkID09PSBmYWxzZSB8fCB5LmNoZWNrZWQgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm4geyBhbGxDaGlsZHJlbkNoZWNrZWQsIHNvbWVDaGlsZHJlbkNoZWNrZWQsIGFsbENoaWxkcmVuVW5jaGVja2VkIH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5ID0gKG5vZGU6IFRyZWVOb2RlSXRlbSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgaWYgKCFub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5KTtcblxuICAgICAgICAgICAgY29uc3QgeyBhbGxDaGlsZHJlbkNoZWNrZWQsIHNvbWVDaGlsZHJlbkNoZWNrZWQsIGFsbENoaWxkcmVuVW5jaGVja2VkIH0gPSBnZXROb2RlQ2hpbGRyZW5TdW1tYXJ5KG5vZGUpO1xuICAgICAgICAgICAgaWYgKGFsbENoaWxkcmVuQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIG5vZGUuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNvbWVDaGlsZHJlbkNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICBub2RlLmNoZWNrZWQgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChhbGxDaGlsZHJlblVuY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIG5vZGUuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnRyZWVEYXRhLmZvckVhY2godXBkYXRlQ2hlY2tlZFN0YXRlUmVjdXJzaXZlbHkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2VsZWN0ZWQoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEVsZW1lbnRzO1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gWy4uLnNlbGVjdGVkXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGFsbEV4cGFuZGVkQ2hhbmdlcyA9IGNoYW5nZXNbJ2FsbEV4cGFuZGVkJ107XG4gICAgICAgIGNvbnN0IF9jaGVja0lzRmlyc3RDaGFuZ2VXaXRoVmFsdWUgPSAodmFsdWU6IEV4dHJhY3Q8a2V5b2YgVHJlZUNvbXBvbmVudCwgJ3NlbGVjdGVkJyB8ICd0cmVlRGF0YSc+KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoYW5nZXNbdmFsdWVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAoIWNoYW5nZXNbdmFsdWVdLnByZXZpb3VzVmFsdWUgfHwgY2hhbmdlc1t2YWx1ZV0ucHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApICYmXG4gICAgICAgICAgICAgICAgY2hhbmdlc1t2YWx1ZV0uY3VycmVudFZhbHVlPy5sZW5ndGggPiAwXG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChfY2hlY2tJc0ZpcnN0Q2hhbmdlV2l0aFZhbHVlKCdzZWxlY3RlZCcpKSB7XG4gICAgICAgICAgICB0aGlzLnN5bmNTZWxlY3RlZENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfY2hlY2tJc0ZpcnN0Q2hhbmdlV2l0aFZhbHVlKCd0cmVlRGF0YScpKSB7XG4gICAgICAgICAgICBjb25zdCBpc0FsbEV4cGFuZGVkID0gdGhpcy5hbGxFeHBhbmRlZDtcbiAgICAgICAgICAgIGlmIChpc0FsbEV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRBbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbGxFeHBhbmRlZENoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFsbEV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRBbGwoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZUFsbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jU2VsZWN0ZWRDaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCB0cmVlRmxhdHRlbiA9IGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmZvckVhY2goKHNlbGVjdGVkSXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRyZWVGbGF0dGVuLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHNlbGVjdGVkSXRlbS5pZCk7XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLmNoaWxkcmVuICYmIHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdENoaWxkSW5TZWxlY3RlZExpc3QgPSB0aGlzLnNlbGVjdGVkLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGNoaWxkLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFleGlzdENoaWxkSW5TZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQucHVzaChjaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLnNlbGVjdGVkRWxlbWVudHM7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHNOb3RJblNlbGVjdGVkTGlzdCA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKFxuICAgICAgICAgICAgKHgpID0+ICF0aGlzLnNlbGVjdGVkLnNvbWUoKHkpID0+IHkuaWQgPT09IHguaWQpLFxuICAgICAgICApO1xuICAgICAgICBzZWxlY3RlZEVsZW1lbnRzTm90SW5TZWxlY3RlZExpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja1RyZWVEYXRhQ2hpbGRyZW4oaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb2xsYXBzZUFsbCgpIHtcbiAgICAgICAgY29uc3QgZmxhdHRlbiA9IGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpO1xuICAgICAgICBmbGF0dGVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZEFsbCgpIHtcbiAgICAgICAgY29uc3QgZmxhdHRlbiA9IGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpO1xuICAgICAgICBmbGF0dGVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHNlbGVjdGVkRWxlbWVudHMoKSB7XG4gICAgICAgIHJldHVybiBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKVxuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5jaGVja2VkKVxuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5sZWFmICE9PSB0cnVlICYmICF4LmNoaWxkcmVuPy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG11bHRpcGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnbXVsdGlwbGUnO1xuICAgIH1cbn1cblxuY29uc3QgZmxhdHRlblRyZWUgPSA8VCA9IGFueT4odHJlZTogVHJlZU5vZGVJdGVtPFQ+W10pOiBUcmVlTm9kZUl0ZW08VD5bXSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBUcmVlTm9kZUl0ZW08VD5bXSA9IFtdO1xuXG4gICAgZnVuY3Rpb24gdHJhdmVyc2Uobm9kZXM6IFRyZWVOb2RlSXRlbTxUPltdKSB7XG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICAgICAgICBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJhdmVyc2UodHJlZSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0gPSA8VCA9IGFueT4oaW50ZXJuYWxUcmVlTm9kZUl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtPFQ+KTogVHJlZU5vZGVJdGVtPFQ+ID0+IHtcbiAgICBjb25zdCB7IGlkLCBsYWJlbCwgaWNvbiwgY2hlY2tlZCwgaXNFeHBhbmRlZCwgcGF5bG9hZCwgZWRpdGFibGUsIGNoaWxkcmVuIH0gPSBpbnRlcm5hbFRyZWVOb2RlSXRlbTtcbiAgICBjb25zdCBvYmplY3QgPSB7XG4gICAgICAgIGlkLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaWNvbixcbiAgICAgICAgY2hlY2tlZCxcbiAgICAgICAgaXNFeHBhbmRlZCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZWRpdGFibGUsXG4gICAgICAgIF9jaGlsZHJlbjogY2hpbGRyZW4/Lm1hcChwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKSxcbiAgICAgICAgZ2V0IGNoaWxkcmVuKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICAgICAgICB9LFxuICAgICAgICBzZXQgY2hpbGRyZW4odmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuID0gdmFsdWU7XG4gICAgICAgICAgICBpbnRlcm5hbFRyZWVOb2RlSXRlbS5jaGlsZHJlbiA9IHZhbHVlO1xuICAgICAgICB9LFxuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgJ19jaGlsZHJlbicsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIG9iamVjdCBhcyBUcmVlTm9kZUl0ZW08VD47XG59O1xuXG4iLCI8ZGl2IGNsYXNzPVwidHJlZVwiICpzTG9hZGluZ1N0YXRlPVwibG9hZGluZ1wiPlxuICAgIEBmb3IoaXRlbSBvZiB0cmVlRGF0YTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxzLXRyZWUtbm9kZS1pdGVtXG4gICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveFwiXG4gICAgICAgICAgICBbdHJlZU5vZGVJdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgKG5vZGVFeHBhbmRlZCk9XCJvbk5vZGVFeHBhbmRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChub2RlQ29sbGFwc2VkKT1cIm9uTm9kZUNvbGxhcHNlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICh0cmVlTm9kZUVkaXQpPVwib25UcmVlTm9kZUVkaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAodHJlZU5vZGVJdGVtQ2xpY2tlZCk9XCJvblRyZWVOb2RlSXRlbUNsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L3MtdHJlZS1ub2RlLWl0ZW0+XG5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RyZWUvdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RyZWUvdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFFN0Y7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBUUgsTUFBTSxPQUFPLGFBQWE7SUFDdEIsNERBQTREO0lBRXJELFFBQVEsR0FBbUIsRUFBRSxDQUFDO0lBRTdCLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBQ3ZDLGdIQUFnSDtJQUNoSCxJQUNXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWdEO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELDJFQUEyRTtJQUVwRSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXZCLGtGQUFrRjtJQUUzRSxhQUFh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LFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHLENBQVUsb0JBQTZDLEVBQW1CLEVBQUU7SUFDMUcsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQztJQUNuRyxNQUFNLE1BQU0sR0FBRztRQUNYLEVBQUU7UUFDRixLQUFLO1FBQ0wsSUFBSTtRQUNKLE9BQU87UUFDUCxVQUFVO1FBQ1YsT0FBTztRQUNQLFFBQVE7UUFDUixTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQztRQUNuRCxJQUFJLFFBQVE7WUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLEtBQUs7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixvQkFBb0IsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFDLENBQUM7S0FDSixDQUFDO0lBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1FBQ3ZDLFVBQVUsRUFBRSxLQUFLO0tBQ3BCLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBeUIsQ0FBQztBQUNyQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJbnRlcm5hbFRyZWVOb2RlSXRlbSwgVHJlZU5vZGVFZGl0LCBUcmVlTm9kZUl0ZW0gfSBmcm9tICcuL01vZGVscy90cmVlLm1vZGVscyc7XHJcbmltcG9ydCB7IExvYWRpbmdTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9hZGluZy1zdGF0ZSc7XHJcbmltcG9ydCB7IFRyZWVOb2RlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlLW5vZGUtaXRlbS90cmVlLW5vZGUtaXRlbS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIMOhcnZvcmUgaGllcsOhcnF1aWNhIGNvbSBzdXBvcnRlIGEgc2VsZcOnw6NvIMO6bmljYSBvdSBtw7psdGlwbGEsXHJcbiAqIGNoZWNrYm94ZXMsIG5vw7NzIGV4cGFuc8OtdmVpcyBlIGVkacOnw6NvIGlubGluZSBkZSByw7N0dWxvcy4gR2VyZW5jaWEgbyBlc3RhZG8gaW50ZXJub1xyXG4gKiBkb3MgbsOzcyBlIGVtaXRlIGV2ZW50b3MgbmEgc2VsZcOnw6NvLCBleHBhbnPDo28sIGNvbGFwc28gZSBlZGnDp8Ojby5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy10cmVlXHJcbiAqICAgW3RyZWVEYXRhXT1cIm5vc1wiXHJcbiAqICAgc2VsZWN0aW9uTW9kZT1cIm11bHRpcGxlXCJcclxuICogICBbc2hvd0NoZWNrYm94XT1cInRydWVcIlxyXG4gKiAgIChzZWxlY3RlZENoYW5nZSk9XCJvblNlbGVjYW9NdWRvdSgkZXZlbnQpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBEYXRhXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy10cmVlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTG9hZGluZ1N0YXRlRGlyZWN0aXZlLCBUcmVlTm9kZUl0ZW1Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIExpc3RhIGRlIG7Ds3MgcmHDrXogZGEgw6Fydm9yZS4gQGRlZmF1bHQgW10gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdHJlZURhdGE6IFRyZWVOb2RlSXRlbVtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IFRyZWVOb2RlSXRlbVtdID0gW107XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIE7DsyhzKSBzZWxlY2lvbmFkbyhzKS4gU3Vwb3J0YSBhcnJheSBvdSBpdGVtIMO6bmljbyBkZXBlbmRlbmRvIGRlIGBzZWxlY3Rpb25Nb2RlYC4gQGRlZmF1bHQgW10gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFRyZWVOb2RlSXRlbVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBUcmVlTm9kZUl0ZW1bXSB8IFRyZWVOb2RlSXRlbSB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgdmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IFt2YWx1ZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBpbmRpY2Fkb3IgZGUgY2FycmVnYW1lbnRvIG5vcyBuw7NzLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBNb2RvIGRlIHNlbGXDp8OjbzogYCdzaW5nbGUnYCBvdSBgJ211bHRpcGxlJ2AuIEBkZWZhdWx0ICdzaW5nbGUnICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgY2hlY2tib3hlcyBub3MgbsOzcyBwYXJhIHNlbGXDp8OjbyB2aXN1YWwuIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dDaGVja2JveCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhww6NvIHRvZG9zIG9zIG7Ds3MgaW5pY2lhbG1lbnRlLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhbGxFeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gYSBzZWxlw6fDo28gbXVkYSwgY29tIG8ocykgbsOzKHMpIHNlbGVjaW9uYWRvKHMpLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUl0ZW1bXSB8IFRyZWVOb2RlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNsaWNhIGVtIHVtIG7DsyBkYSDDoXJ2b3JlLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdHJlZU5vZGVJdGVtQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFRyZWVOb2RlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIGFww7NzIHVtYSBlZGnDp8OjbyBpbmxpbmUgZGUgcsOzdHVsbyBkZSBuw7MuICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0cmVlTm9kZUVkaXQ6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUVkaXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gdW0gbsOzIMOpIGV4cGFuZGlkbyBwZWxvIHVzdcOhcmlvLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgbm9kZUV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8VHJlZU5vZGVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIHVtIG7DsyDDqSBjb2xhcHNhZG8gcGVsbyB1c3XDoXJpby4gKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIG5vZGVDb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uVHJlZU5vZGVJdGVtQ2xpY2tlZCh7IGl0ZW0gfTogeyBpdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSB9KSB7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQocGFyc2VJbnRlcm5hbFRyZWVOb2RlSXRlbShpdGVtKSk7XHJcbiAgICAgICAgdGhpcy50b2dnbGVDaGVja2VkKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblRyZWVOb2RlRWRpdChwYXlsb2FkOiBUcmVlTm9kZUVkaXQpIHtcclxuICAgICAgICBjb25zdCB7IHJldmVydEFjdGlvbiwgaXRlbSwgbmV3VmFsdWUsIHByZXZpb3VzVmFsdWUgfSA9IHBheWxvYWQ7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdCh7XHJcbiAgICAgICAgICAgIHJldmVydEFjdGlvbixcclxuICAgICAgICAgICAgaXRlbTogcGFyc2VJbnRlcm5hbFRyZWVOb2RlSXRlbShpdGVtKSxcclxuICAgICAgICAgICAgbmV3VmFsdWUsXHJcbiAgICAgICAgICAgIHByZXZpb3VzVmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uTm9kZUV4cGFuZGVkKGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdChwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKGl0ZW0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Ob2RlQ29sbGFwc2VkKGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29sbGFwc2VkLmVtaXQocGFyc2VJbnRlcm5hbFRyZWVOb2RlSXRlbShpdGVtKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b2dnbGVDaGVja2VkKHRyZWVOb2RlSXRlbTogVHJlZU5vZGVJdGVtKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudENoZWNrU3RhdGUgPSAhdHJlZU5vZGVJdGVtLmNoZWNrZWQ7XHJcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpLmZvckVhY2goKHgpID0+ICh4LmNoZWNrZWQgPSBmYWxzZSkpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gW3RyZWVOb2RlSXRlbV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyZWVOb2RlSXRlbS5jaGVja2VkID0gZWxlbWVudENoZWNrU3RhdGU7XHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jaGVja1RyZWVEYXRhQ2hpbGRyZW4odHJlZU5vZGVJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tUcmVlRGF0YUNoaWxkcmVuKHNlbGVjdGVkVHJlZU5vZGU6IFRyZWVOb2RlSXRlbSkge1xyXG4gICAgICAgIGNvbnN0IHBhcmVudENoZWNrZWQgPSBzZWxlY3RlZFRyZWVOb2RlLmNoZWNrZWQ7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkVHJlZU5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRUcmVlTm9kZS5jaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbnMgPSBmbGF0dGVuVHJlZShpdGVtLmNoaWxkcmVuIHx8IFtdKTtcclxuICAgICAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHBhcmVudENoZWNrZWQ7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbnMuZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5jaGVja2VkID0gcGFyZW50Q2hlY2tlZCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGdldE5vZGVDaGlsZHJlblN1bW1hcnkgPSAobm9kZTogVHJlZU5vZGVJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiA/PyBbXTtcclxuICAgICAgICAgICAgY29uc3QgYWxsQ2hpbGRyZW5DaGVja2VkID0gY2hpbGRyZW4uZXZlcnkoKHkpID0+IHkuY2hlY2tlZCA9PT0gdHJ1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvbWVDaGlsZHJlbkNoZWNrZWQgPSBjaGlsZHJlbi5zb21lKCh5KSA9PiB5LmNoZWNrZWQgPT09IHRydWUgfHwgeS5jaGVja2VkID09PSBudWxsKTtcclxuICAgICAgICAgICAgY29uc3QgYWxsQ2hpbGRyZW5VbmNoZWNrZWQgPSBjaGlsZHJlbi5ldmVyeSgoeSkgPT4geS5jaGVja2VkID09PSBmYWxzZSB8fCB5LmNoZWNrZWQgPT09IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGFsbENoaWxkcmVuQ2hlY2tlZCwgc29tZUNoaWxkcmVuQ2hlY2tlZCwgYWxsQ2hpbGRyZW5VbmNoZWNrZWQgfTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5ID0gKG5vZGU6IFRyZWVOb2RlSXRlbSk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIW5vZGUuY2hpbGRyZW4/Lmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHsgYWxsQ2hpbGRyZW5DaGVja2VkLCBzb21lQ2hpbGRyZW5DaGVja2VkLCBhbGxDaGlsZHJlblVuY2hlY2tlZCB9ID0gZ2V0Tm9kZUNoaWxkcmVuU3VtbWFyeShub2RlKTtcclxuICAgICAgICAgICAgaWYgKGFsbENoaWxkcmVuQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgbm9kZS5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChzb21lQ2hpbGRyZW5DaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLmNoZWNrZWQgPSBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFsbENoaWxkcmVuVW5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy50cmVlRGF0YS5mb3JFYWNoKHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFNlbGVjdGVkKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbLi4uc2VsZWN0ZWRdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGNvbnN0IGFsbEV4cGFuZGVkQ2hhbmdlcyA9IGNoYW5nZXNbJ2FsbEV4cGFuZGVkJ107XHJcbiAgICAgICAgY29uc3QgX2NoZWNrSXNGaXJzdENoYW5nZVdpdGhWYWx1ZSA9ICh2YWx1ZTogRXh0cmFjdDxrZXlvZiBUcmVlQ29tcG9uZW50LCAnc2VsZWN0ZWQnIHwgJ3RyZWVEYXRhJz4pID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjaGFuZ2VzW3ZhbHVlXSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAoIWNoYW5nZXNbdmFsdWVdLnByZXZpb3VzVmFsdWUgfHwgY2hhbmdlc1t2YWx1ZV0ucHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApICYmXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzW3ZhbHVlXS5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAoX2NoZWNrSXNGaXJzdENoYW5nZVdpdGhWYWx1ZSgnc2VsZWN0ZWQnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnN5bmNTZWxlY3RlZENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChfY2hlY2tJc0ZpcnN0Q2hhbmdlV2l0aFZhbHVlKCd0cmVlRGF0YScpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzQWxsRXhwYW5kZWQgPSB0aGlzLmFsbEV4cGFuZGVkO1xyXG4gICAgICAgICAgICBpZiAoaXNBbGxFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRBbGwoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFsbEV4cGFuZGVkQ2hhbmdlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hbGxFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRBbGwoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VBbGwoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN5bmNTZWxlY3RlZENoYW5nZXMoKSB7XHJcbiAgICAgICAgY29uc3QgdHJlZUZsYXR0ZW4gPSBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkLmZvckVhY2goKHNlbGVjdGVkSXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdHJlZUZsYXR0ZW4uZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gc2VsZWN0ZWRJdGVtLmlkKTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5jaGlsZHJlbiAmJiB0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RDaGlsZEluU2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZC5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBjaGlsZC5pZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFleGlzdENoaWxkSW5TZWxlY3RlZExpc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLnNlbGVjdGVkRWxlbWVudHM7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50c05vdEluU2VsZWN0ZWRMaXN0ID0gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIoXHJcbiAgICAgICAgICAgICh4KSA9PiAhdGhpcy5zZWxlY3RlZC5zb21lKCh5KSA9PiB5LmlkID09PSB4LmlkKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHNlbGVjdGVkRWxlbWVudHNOb3RJblNlbGVjdGVkTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tUcmVlRGF0YUNoaWxkcmVuKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvbGxhcHNlQWxsKCkge1xyXG4gICAgICAgIGNvbnN0IGZsYXR0ZW4gPSBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKTtcclxuICAgICAgICBmbGF0dGVuLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaXRlbS5pc0V4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBleHBhbmRBbGwoKSB7XHJcbiAgICAgICAgY29uc3QgZmxhdHRlbiA9IGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpO1xyXG4gICAgICAgIGZsYXR0ZW4uZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHNlbGVjdGVkRWxlbWVudHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZsYXR0ZW5UcmVlKHRoaXMudHJlZURhdGEpXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHguY2hlY2tlZClcclxuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5sZWFmICE9PSB0cnVlICYmICF4LmNoaWxkcmVuPy5sZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IG11bHRpcGxlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IGZsYXR0ZW5UcmVlID0gPFQgPSBhbnk+KHRyZWU6IFRyZWVOb2RlSXRlbTxUPltdKTogVHJlZU5vZGVJdGVtPFQ+W10gPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBUcmVlTm9kZUl0ZW08VD5bXSA9IFtdO1xyXG5cclxuICAgIGZ1bmN0aW9uIHRyYXZlcnNlKG5vZGVzOiBUcmVlTm9kZUl0ZW08VD5bXSkge1xyXG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChub2RlKTtcclxuICAgICAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyYXZlcnNlKHRyZWUpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0gPSA8VCA9IGFueT4oaW50ZXJuYWxUcmVlTm9kZUl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtPFQ+KTogVHJlZU5vZGVJdGVtPFQ+ID0+IHtcclxuICAgIGNvbnN0IHsgaWQsIGxhYmVsLCBpY29uLCBjaGVja2VkLCBpc0V4cGFuZGVkLCBwYXlsb2FkLCBlZGl0YWJsZSwgY2hpbGRyZW4gfSA9IGludGVybmFsVHJlZU5vZGVJdGVtO1xyXG4gICAgY29uc3Qgb2JqZWN0ID0ge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIGxhYmVsLFxyXG4gICAgICAgIGljb24sXHJcbiAgICAgICAgY2hlY2tlZCxcclxuICAgICAgICBpc0V4cGFuZGVkLFxyXG4gICAgICAgIHBheWxvYWQsXHJcbiAgICAgICAgZWRpdGFibGUsXHJcbiAgICAgICAgX2NoaWxkcmVuOiBjaGlsZHJlbj8ubWFwKHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0pLFxyXG4gICAgICAgIGdldCBjaGlsZHJlbigpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0IGNoaWxkcmVuKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuID0gdmFsdWU7XHJcbiAgICAgICAgICAgIGludGVybmFsVHJlZU5vZGVJdGVtLmNoaWxkcmVuID0gdmFsdWU7XHJcbiAgICAgICAgfSxcclxuICAgIH07XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCAnX2NoaWxkcmVuJywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gb2JqZWN0IGFzIFRyZWVOb2RlSXRlbTxUPjtcclxufTtcclxuIiwiPGRpdiBjbGFzcz1cInRyZWVcIiAqc0xvYWRpbmdTdGF0ZT1cImxvYWRpbmdcIj5cbiAgICBAZm9yKGl0ZW0gb2YgdHJlZURhdGE7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8cy10cmVlLW5vZGUtaXRlbVxuICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJzaG93Q2hlY2tib3hcIlxuICAgICAgICAgICAgW3RyZWVOb2RlSXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgIChub2RlRXhwYW5kZWQpPVwib25Ob2RlRXhwYW5kZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAobm9kZUNvbGxhcHNlZCk9XCJvbk5vZGVDb2xsYXBzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAodHJlZU5vZGVFZGl0KT1cIm9uVHJlZU5vZGVFZGl0KCRldmVudClcIlxuICAgICAgICAgICAgKHRyZWVOb2RlSXRlbUNsaWNrZWQpPVwib25UcmVlTm9kZUl0ZW1DbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPC9zLXRyZWUtbm9kZS1pdGVtPlxuXG4gICAgfVxuPC9kaXY+XG4iXX0=
|