@coolon/angular-ui-powerups 16.1.0-alpha.237 → 16.1.0-aplpha.0
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/assets/activities/activities.scss +6 -8
- package/assets/activities/input-activities.scss +6 -14
- package/assets/form.scss +23 -77
- package/assets/icons.scss +1 -2
- package/assets/interaction/editor/inline-string-editor.scss +0 -4
- package/assets/interaction.scss +1 -1
- package/assets/styles.scss +0 -4
- package/assets/table.scss +31 -84
- package/assets/tabs.scss +2 -15
- package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
- package/esm2022/lib/animations/slide-animations.mjs +10 -15
- package/esm2022/lib/components/alignment.mjs +1 -1
- package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
- package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -31
- package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
- package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
- package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
- package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
- package/esm2022/lib/components/commands/command-face.mjs +11 -12
- package/esm2022/lib/components/commands/flex.component.mjs +4 -4
- package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
- package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
- package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
- package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
- package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +24 -15
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
- package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
- package/esm2022/lib/components/commands/separator.component.mjs +14 -8
- package/esm2022/lib/components/components.module.mjs +58 -73
- package/esm2022/lib/components/disposable-component.mjs +40 -74
- package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
- package/esm2022/lib/components/exports.mjs +12 -16
- package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
- package/esm2022/lib/components/focusable.component.mjs +5 -5
- package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -67
- package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +15 -18
- package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
- package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +11 -12
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
- package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
- package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
- package/esm2022/lib/components/icon/icon.component.mjs +7 -10
- package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
- package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
- package/esm2022/lib/components/noop/noop.component.mjs +7 -5
- package/esm2022/lib/components/resize-aware.component.mjs +27 -64
- package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
- package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
- package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
- package/esm2022/lib/components/tables/abstract-table-model.mjs +113 -116
- package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
- package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
- package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
- package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
- package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +60 -0
- package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
- package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
- package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
- package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
- package/esm2022/lib/components/tables/filter/table-filter-model.mjs +12 -16
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
- package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
- package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
- package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
- package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
- package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -19
- package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -9
- package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
- package/esm2022/lib/components/tables/table/table-model.mjs +35 -18
- package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
- package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
- package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
- package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +6 -6
- package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
- package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
- package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
- package/esm2022/lib/components/track.mjs +1 -1
- package/esm2022/lib/components/types/bounds.class.mjs +1 -1
- package/esm2022/lib/components/types/loadable.mjs +2 -0
- package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
- package/esm2022/lib/directives/command.directive.mjs +14 -26
- package/esm2022/lib/directives/directives.module.mjs +10 -10
- package/esm2022/lib/directives/exports.mjs +1 -2
- package/esm2022/lib/directives/focus-binding-factory.mjs +4 -5
- package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
- package/esm2022/lib/directives/focus-binding.mjs +2 -22
- package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
- package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
- package/esm2022/lib/directives/highlight.pipe.mjs +13 -22
- package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
- package/esm2022/lib/interaction/activity-ref.mjs +2 -2
- package/esm2022/lib/interaction/activity.mjs +23 -24
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
- package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
- package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
- package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
- package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
- package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
- package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -5
- package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
- package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
- package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
- package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
- package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +13 -13
- package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
- package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
- package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
- package/esm2022/lib/interaction/confirm.mjs +2 -26
- package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
- package/esm2022/lib/interaction/exports.mjs +1 -6
- package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
- package/esm2022/lib/interaction/interaction-context.mjs +2 -3
- package/esm2022/lib/interaction/interaction.module.mjs +36 -44
- package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
- package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
- package/esm2022/lib/interaction/services/interaction.service.mjs +10 -23
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
- package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
- package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
- package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
- package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
- package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +21 -23
- package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
- package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +11 -19
- package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
- package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
- package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
- package/esm2022/lib/place/guards/place.guard.mjs +14 -30
- package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
- package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
- package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
- package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
- package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -39
- package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
- package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
- package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
- package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -11
- package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
- package/esm2022/lib/place/place-access-guard.mjs +1 -1
- package/esm2022/lib/place/place-auth-service.mjs +7 -8
- package/esm2022/lib/place/place-component.mjs +79 -82
- package/esm2022/lib/place/place-config.mjs +1 -1
- package/esm2022/lib/place/place-definition.mjs +5 -18
- package/esm2022/lib/place/place-history.mjs +8 -17
- package/esm2022/lib/place/place-router.mjs +70 -191
- package/esm2022/lib/place/place.decorator.mjs +3 -4
- package/esm2022/lib/place/place.module.mjs +17 -17
- package/esm2022/lib/place/route/formatter.mjs +2 -2
- package/esm2022/lib/place/route/json-types.mjs +1 -1
- package/esm2022/lib/place/route/parameter-decorators.mjs +51 -55
- package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
- package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
- package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
- package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
- package/esm2022/lib/place/url-service.mjs +4 -4
- package/esm2022/lib/place/url-snapshot.mjs +3 -3
- package/esm2022/lib/place/visit-segment.mjs +2 -3
- package/esm2022/lib/place/visit.mjs +5 -5
- package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
- package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
- package/esm2022/lib/services/visibility-service.mjs +7 -7
- package/fesm2022/coolon-angular-ui-powerups.mjs +3634 -5281
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/angular-ui-powerups.module.d.ts +5 -5
- package/lib/animations/slide-animations.d.ts +0 -1
- package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
- package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
- package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
- package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
- package/lib/components/commands/command/command.component.d.ts +10 -9
- package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
- package/lib/components/commands/command-face.d.ts +9 -8
- package/lib/components/commands/group/popup-aware.component.d.ts +5 -10
- package/lib/components/commands/group/popup-container.d.ts +1 -1
- package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
- package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
- package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -4
- package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
- package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
- package/lib/components/commands/separator.component.d.ts +4 -2
- package/lib/components/components.module.d.ts +30 -33
- package/lib/components/disposable-component.d.ts +9 -26
- package/lib/components/empty-state/empty-state.component.d.ts +4 -1
- package/lib/components/exports.d.ts +11 -15
- package/lib/components/forms/abstract-input.component.d.ts +7 -16
- package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
- package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
- package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
- package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
- package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
- package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
- package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
- package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
- package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
- package/lib/components/loading-container/loading-container.component.d.ts +4 -1
- package/lib/components/noop/noop.component.d.ts +1 -0
- package/lib/components/resize-aware.component.d.ts +7 -26
- package/lib/components/switch-case/switch-case.component.d.ts +7 -6
- package/lib/components/tables/abstract-table-model.d.ts +37 -51
- package/lib/components/tables/abstract-table.component.d.ts +7 -8
- package/lib/components/tables/column/column-list-model.d.ts +13 -0
- package/lib/components/tables/column/column-model.d.ts +17 -14
- package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
- package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
- package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
- package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
- package/lib/components/tables/column/property-column-model.d.ts +9 -7
- package/lib/components/tables/column/selection-column-model.d.ts +4 -10
- package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +17 -0
- package/lib/components/tables/editor/edit-session.d.ts +9 -0
- package/lib/components/tables/{renderer → editor}/editable-cell-renderer.d.ts +1 -1
- package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
- package/lib/components/tables/filter/table-filter-model.d.ts +1 -1
- package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
- package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
- package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
- package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
- package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +2 -3
- package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
- package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
- package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
- package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +23 -0
- package/lib/components/tables/table/table-model.d.ts +36 -10
- package/lib/components/tables/table/table.component.d.ts +13 -17
- package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
- package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
- package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
- package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
- package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -3
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
- package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
- package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
- package/lib/components/text/markdown/markdown.component.d.ts +1 -1
- package/lib/components/types/loadable.d.ts +5 -0
- package/lib/directives/command.directive.d.ts +5 -7
- package/lib/directives/directives.module.d.ts +5 -5
- package/lib/directives/exports.d.ts +0 -1
- package/lib/directives/focus-binding.d.ts +0 -1
- package/lib/directives/highlight.pipe.d.ts +2 -8
- package/lib/interaction/abstract-interaction-context.d.ts +5 -5
- package/lib/interaction/activity-ref.d.ts +4 -4
- package/lib/interaction/activity.d.ts +8 -8
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
- package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
- package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +13 -32
- package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
- package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
- package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
- package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
- package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
- package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
- package/lib/interaction/components/editors/edit-context.d.ts +1 -1
- package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
- package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
- package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
- package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
- package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
- package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
- package/lib/interaction/confirm.d.ts +0 -4
- package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
- package/lib/interaction/exports.d.ts +0 -5
- package/lib/interaction/in-place-interaction-context.d.ts +2 -2
- package/lib/interaction/interaction-context.d.ts +4 -10
- package/lib/interaction/interaction.module.d.ts +33 -35
- package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
- package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
- package/lib/interaction/services/interaction.service.d.ts +4 -5
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
- package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
- package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
- package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +7 -6
- package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
- package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
- package/lib/place/guards/place.guard.d.ts +1 -8
- package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
- package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
- package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
- package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
- package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
- package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
- package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
- package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
- package/lib/place/navigation/session/navigation-context.d.ts +5 -5
- package/lib/place/navigation/session/navigation-session.d.ts +8 -15
- package/lib/place/place-access-guard.d.ts +1 -1
- package/lib/place/place-auth-service.d.ts +8 -8
- package/lib/place/place-component.d.ts +23 -15
- package/lib/place/place-definition.d.ts +3 -6
- package/lib/place/place-history.d.ts +4 -5
- package/lib/place/place-router.d.ts +10 -41
- package/lib/place/place.decorator.d.ts +1 -9
- package/lib/place/place.module.d.ts +8 -8
- package/lib/place/route/json-types.d.ts +3 -1
- package/lib/place/route/parameter-decorators.d.ts +6 -5
- package/lib/place/route/parameter-definition.d.ts +5 -5
- package/lib/place/route/parameter-sanitiser.d.ts +1 -8
- package/lib/place/route/parameter-snapshot.d.ts +2 -2
- package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
- package/lib/place/url-service.d.ts +1 -1
- package/lib/place/url-snapshot.d.ts +1 -1
- package/lib/place/visit-segment.d.ts +6 -6
- package/lib/place/visit.d.ts +4 -4
- package/lib/services/markdown/markdown.service.d.ts +1 -0
- package/lib/services/visibility-service.d.ts +1 -1
- package/package.json +20 -19
- package/assets/draw.scss +0 -20
- package/assets/layout.scss +0 -3
- package/assets/place.scss +0 -31
- package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
- package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
- package/esm2022/lib/components/forms/form-field.mjs +0 -2
- package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
- package/esm2022/lib/components/loadable-component.mjs +0 -69
- package/esm2022/lib/components/tables/column/column-manager.mjs +0 -82
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
- package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
- package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
- package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
- package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
- package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -32
- package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
- package/esm2022/lib/interaction/activity-context.mjs +0 -4
- package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
- package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
- package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
- package/esm2022/lib/place/place-metadata.mjs +0 -16
- package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
- package/lib/components/file/file-download/file-download.component.d.ts +0 -45
- package/lib/components/forms/form-field.d.ts +0 -5
- package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
- package/lib/components/loadable-component.d.ts +0 -20
- package/lib/components/tables/column/column-manager.d.ts +0 -19
- package/lib/components/tables/column/column-order-manager.d.ts +0 -20
- package/lib/components/tables/footer/footer-row-model.d.ts +0 -72
- package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
- package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
- package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
- package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
- package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
- package/lib/directives/resize-observer.directive.d.ts +0 -16
- package/lib/interaction/activity-context.d.ts +0 -9
- package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
- package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
- package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
- package/lib/interaction/interaction-context-provider.d.ts +0 -11
- package/lib/place/place-metadata.d.ts +0 -8
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any -- outlet renders arbitrary place components */
|
|
3
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import { Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
|
|
3
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
|
|
5
4
|
import { Router, RouterOutlet } from '@angular/router';
|
|
6
|
-
import { DebugContext, Dsl, lang, ListModel, MutableValueModel,
|
|
7
|
-
import { isNil } from 'lodash
|
|
5
|
+
import { DebugContext, Dsl, lang, ListModel, MutableValueModel, StoreInListModel, StoreInValueModel, Proxify, ValueModel, proxify } from '@coolon/pectin';
|
|
6
|
+
import { isNil } from 'lodash';
|
|
8
7
|
import { DisposableComponent } from '../../../components/disposable-component';
|
|
9
8
|
import { AUP_PLACE_CONFIG } from '../../place-config';
|
|
10
9
|
import { PlaceRouter } from '../../place-router';
|
|
@@ -21,6 +20,7 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
21
20
|
router;
|
|
22
21
|
placeRouter;
|
|
23
22
|
placeConfig;
|
|
23
|
+
cdr;
|
|
24
24
|
#animate$_accessor_storage = proxify((ValueModel));
|
|
25
25
|
get animate$() { return this.#animate$_accessor_storage; }
|
|
26
26
|
set animate$(value) { this.#animate$_accessor_storage = value; }
|
|
@@ -54,11 +54,12 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
54
54
|
animationEnabled;
|
|
55
55
|
authorised;
|
|
56
56
|
notAuthorisedNoticePortal;
|
|
57
|
-
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
|
|
57
|
+
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
|
|
58
58
|
super();
|
|
59
59
|
this.router = router;
|
|
60
60
|
this.placeRouter = placeRouter;
|
|
61
61
|
this.placeConfig = placeConfig;
|
|
62
|
+
this.cdr = cdr;
|
|
62
63
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
63
64
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
64
65
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -70,7 +71,7 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
70
71
|
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
|
|
71
72
|
.otherwise(defaultPlaceAnimationOrder);
|
|
72
73
|
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
73
|
-
.
|
|
74
|
+
.reduce((placesInOrder) => {
|
|
74
75
|
let placeIndex = 0;
|
|
75
76
|
if (activatePlaceType.value) {
|
|
76
77
|
placeIndex = placesInOrder.indexOf(activatePlaceType.value);
|
|
@@ -161,8 +162,8 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
161
162
|
initialisePlace(routerVisit, activePlace) {
|
|
162
163
|
const visitModel = new MutableValueModel(routerVisit);
|
|
163
164
|
DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
|
|
164
|
-
activePlace.initialiseVisit(routerVisit, (is, was
|
|
165
|
-
this.notifyComponentVisitSegmentChanged(is, was
|
|
165
|
+
activePlace.initialiseVisit(routerVisit, (is, was) => {
|
|
166
|
+
this.notifyComponentVisitSegmentChanged(is, was);
|
|
166
167
|
});
|
|
167
168
|
const finishPlaceLoad = () => {
|
|
168
169
|
this._activePlaceModel.value._notifyActive(true);
|
|
@@ -198,22 +199,19 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
198
199
|
// console.log("PlaceOutlet.pushVisitChangeToComponent", segment.toDebugString());
|
|
199
200
|
activePlace.updateVisit(segment);
|
|
200
201
|
}
|
|
201
|
-
async notifyComponentVisitSegmentChanged(is, was
|
|
202
|
+
async notifyComponentVisitSegmentChanged(is, was) {
|
|
202
203
|
try {
|
|
203
204
|
this._isPushingVisitToRouter.value = true;
|
|
204
|
-
await this.placeRouter.notifyVisitSegmentChanged(is, was
|
|
205
|
+
await this.placeRouter.notifyVisitSegmentChanged(is, was);
|
|
205
206
|
}
|
|
206
207
|
finally {
|
|
207
208
|
this._isPushingVisitToRouter.value = false;
|
|
208
209
|
}
|
|
209
|
-
//
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (andBecame && andBecame.hasChangedFrom(is)) {
|
|
215
|
-
this.pushVisitChangeToComponent(this.activePlaceModel.value, andBecame);
|
|
216
|
-
}
|
|
210
|
+
// sanitisers may have adjusted other values in the visit to we check and write it back.
|
|
211
|
+
const andBecame = this.currentVisitSegment$.value; // this is occasionally null... need to investigate if that's a normal state or not.
|
|
212
|
+
// console.log("PlaceOutlet.notifyComponentVisitSegmentChanged", { is, was, andBecame })
|
|
213
|
+
if (andBecame && andBecame.hasChangedFrom(is)) {
|
|
214
|
+
this.pushVisitChangeToComponent(this.activePlaceModel.value, andBecame);
|
|
217
215
|
}
|
|
218
216
|
}
|
|
219
217
|
// @Trace()
|
|
@@ -227,8 +225,8 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
227
225
|
this.onAnimationFinishedJob = undefined;
|
|
228
226
|
}
|
|
229
227
|
}
|
|
230
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
228
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1.Router }, { token: i2.PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
229
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: PlaceOutletComponent, selector: "aup-place-outlet", inputs: { animate$: "animate$", animate: "animate", customPlaceAnimationOrder$: ["placeAnimationOrderModel", "customPlaceAnimationOrder$"], customPlaceAnimationOrder: ["placeAnimationOrder", "customPlaceAnimationOrder"] }, outputs: { placeChanged: "placeChanged" }, host: { properties: { "class.authorised": "this.isAuthorised" } }, viewQueries: [{ propertyName: "routerOut", first: true, predicate: ["routeOutlet"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [LEFT_RIGHT_PLACE_ANIMATION] });
|
|
232
230
|
}
|
|
233
231
|
__decorate([
|
|
234
232
|
Proxify(),
|
|
@@ -246,7 +244,7 @@ __decorate([
|
|
|
246
244
|
StoreInListModel(),
|
|
247
245
|
__metadata("design:type", Array)
|
|
248
246
|
], PlaceOutletComponent.prototype, "customPlaceAnimationOrder", null);
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceOutletComponent, decorators: [{
|
|
250
248
|
type: Component,
|
|
251
249
|
args: [{ selector: 'aup-place-outlet', animations: [LEFT_RIGHT_PLACE_ANIMATION], template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"] }]
|
|
252
250
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.PlaceRouter }, { type: undefined, decorators: [{
|
|
@@ -263,7 +261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
263
261
|
type: SkipSelf
|
|
264
262
|
}, {
|
|
265
263
|
type: Optional
|
|
266
|
-
}] }]; }, propDecorators: { animate$: [{
|
|
264
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate$: [{
|
|
267
265
|
type: Input
|
|
268
266
|
}], animate: [{
|
|
269
267
|
type: Input
|
|
@@ -282,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
282
280
|
type: HostBinding,
|
|
283
281
|
args: ["class.authorised"]
|
|
284
282
|
}] } });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9HQUFvRztBQUNwRyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBR0wsWUFBWSxFQUNaLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxFQUVULGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixpQkFBaUIsRUFFakIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFFdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRy9DLE9BQU8s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YUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7U0FDekM7SUFDSCxDQUFDO3VHQTNQVSxvQkFBb0IsbUVBaURDLGdCQUFnQiw2QkFDaEIsdUNBQXVDOzJGQWxENUQsb0JBQW9CLG9oQkN2RGpDLCtpQ0EyQkEsbTZCRDBCYyxDQUFDLDBCQUEwQixDQUFDOztBQUsvQjtJQURDLE9BQU8sRUFBRTs7b0RBQzhCO0FBR3hDO0lBREMsaUJBQWlCLEVBQUU7O21EQUNMO0FBS2Y7SUFEMkIsT0FBTyxFQUFFOztzRUFDMkM7QUFJL0U7SUFEc0IsZ0JBQWdCLEVBQUU7O3FFQUNpQzsyRkFmdkUsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixDQUFDLDBCQUEwQixDQUFDOzswQkFtRDNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1Q0FBdUM7OzBCQUMxRCxRQUFROzswQkFBSSxRQUFROzRDQWhEeEIsUUFBUTtzQkFEaEIsS0FBSztnQkFJRyxPQUFPO3NCQURmLEtBQUs7Z0JBTUcsMEJBQTBCO3NCQURsQyxLQUFLO3VCQUFDLDBCQUEwQjtnQkFLeEIseUJBQXlCO3NCQURqQyxLQUFLO3VCQUFDLHFCQUFxQjtnQkFJbkIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFvR3RDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55IC0tIG91dGxldCByZW5kZXJzIGFyYml0cmFyeSBwbGFjZSBjb21wb25lbnRzICovXG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhbnNhY3Rpb24sXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7aXNOaWx9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUge1BsYWNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQge0FVUF9QTEFDRV9DT05GSUcsIHR5cGUgUGxhY2VDb25maWd9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgdHlwZSB7UGxhY2VEZWZpbml0aW9ufSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7UGxhY2VSb3V0ZXJ9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQgdHlwZSB7VmlzaXRTZWdtZW50fSBmcm9tICcuLi8uLi92aXNpdC1zZWdtZW50JztcblxuaW1wb3J0IHtOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50fSBmcm9tICcuLi9ub3QtYXV0aG9yaXNlZC1ub3RpY2Uvbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgYW5pbWF0ZSQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGFuaW1hdGUgPSB0cnVlO1xuXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQgPSBwcm94aWZ5KExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj4pO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyOiAgUmVhZG9ubHlBcnJheTxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VmlzaXRTZWdtZW50JDogVmFsdWVNb2RlbENoYWluPFZpc2l0U2VnbWVudD47XG4gIHByaXZhdGUgX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMucGFyZW50T3V0bGV0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWwocGFyZW50T3V0bGV0KTtcblxuICAgIGNvbnN0IGRlZmF1bHRQbGFjZUFuaW1hdGlvbk9yZGVyID0gY2hhaW4odGhpcy5wYXJlbnRPdXRsZXRNb2RlbClcbiAgICAgIC5wdWxsVmFsdWVNb2RlbChvID0+IG8uYWN0aXZlUGxhY2VNb2RlbClcbiAgICAgIC5wbHVjaygncGxhY2VEZWZpbml0aW9uJylcbiAgICAgIC5wbHVja0xpc3QoJ2NoaWxkcmVuJylcbiAgICAgIC5wbHVjaygnY29tcG9uZW50Jyk7XG5cbiAgICBjb25zdCBhY3RpdmF0ZVBsYWNlVHlwZSA9IGNoYWluKHRoaXMuYWN0aXZlUGxhY2VNb2RlbCkubWFwKHAgPT4gcC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG5cbiAgICB0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLmN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXIkKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcik7XG5cbiAgICB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24gPSB0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXJcbiAgICAgIC5yZWR1Y2VBbGwoKHBsYWNlc0luT3JkZXIpID0+IHtcbiAgICAgICAgbGV0IHBsYWNlSW5kZXggPSAwO1xuICAgICAgICBpZiAoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpIHtcbiAgICAgICAgICBwbGFjZUluZGV4ID0gcGxhY2VzSW5PcmRlci5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXggPSBwbGFjZUluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkgPyAwIDogcGxhY2VJbmRleCAtIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXg7XG4gICAgICB9LCB7IGRlcGVuZHNPbjogYWN0aXZhdGVQbGFjZVR5cGUgfSk7XG5cbiAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZCA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG4gICAgdGhpcy5hbmltYXRpb25FbmFibGVkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLmFuaW1hdGUkLFxuICAgICAgdGhpcy5hbmltYXRpb25TdXBwb3J0ZWRcbiAgICApLmFyZVRydXRoeSgpO1xuXG4gICAgLy8gRXh0cmFjdCBvdXIgdmlzaXQgbW9kZWwgZnJvbSB0aGUgcGxhY2Ugcm91dGVyLlxuICAgIHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbiA9IGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKTtcbiAgICB0aGlzLmN1cnJlbnRWaXNpdFNlZ21lbnQkID0gY2hhaW4ocGxhY2VSb3V0ZXIuYWN0aXZlVmlzaXQkKS5tYXAodmlzaXQgPT4gdmlzaXQuZ2V0U2VnbWVudEZvcih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUpLCB7IGRlcGVuZHNPbjogdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uIH0pO1xuXG4gICAgdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IGNoYWluKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcblxuICAgIHdoZW4odGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcykuYmVjb21lc0ZhbHNleSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrU3RhdGVBbmRJbml0aWFsaXNlKCk7XG4gICAgfSk7XG4gICAgd2hlbih0aGlzLm91dGxldEFjdGl2YXRlZCkuYmVjb21lc1RydXRoeSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrU3RhdGVBbmRJbml0aWFsaXNlKCk7XG4gICAgfSk7XG5cbiAgICBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBvc3Rwb25lV2hpbGUodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcylcbiAgICAgIC5zdWJzY3JpYmUocGxhY2UgPT4gdGhpcy5wbGFjZUNoYW5nZWQuZW1pdChwbGFjZSkpO1xuXG4gICAgdGhpcy5hdXRob3Jpc2VkID0gY2hhaW4ocGxhY2VSb3V0ZXIuYXV0aFNlcnZpY2UuYWNjZXNzR3VhcmQkKS5tYXAoZ3VhcmQgPT4gZ3VhcmQuaXNBdXRob3Jpc2VkKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLFxuICAgICAgcG9zdHBvbmVXaGlsZTogY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uKS5pc05pbCgpXG4gICAgfSkub3RoZXJ3aXNlKHRydWUpOyAvLyBpZiB3ZSBkb24ndCBoYXZlIGEgcGxhY2UgZGVmIHlldCB3ZSBuZWVkIHRvIHNob3cgdGhlIG91dGxldCBzbyB3ZSBnZXQgb25lIGluamVjdGVkLlxuXG4gICAgdGhpcy5ub3RBdXRob3Jpc2VkTm90aWNlUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh1bmF1dGhvcmlzZWRQbGFjZU5vdGljZSA/PyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGdldEFuaW1hdGlvbk9yZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24udmFsdWU7XG4gIH1cblxuICBnZXQgYW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VDb25maWcgJiYgdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA/IHRoaXMucGxhY2VDb25maWcuYW5pbWF0aW9uRHVyYXRpb24gOiAnNTAwbXMnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuYXV0aG9yaXNlZFwiKVxuICBnZXQgaXNBdXRob3Jpc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhvcmlzZWQudmFsdWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBnZXQgcGFyZW50T3V0bGV0KCk6IFBsYWNlT3V0bGV0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRPdXRsZXRNb2RlbC52YWx1ZTtcbiAgfVxuXG4gIGdldCBhY3RpdmVQbGFjZU1vZGVsKCk6IFZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgYWN0aXZhdGVkUm91dGVNb2RlbCgpOiBWYWx1ZU1vZGVsPEFjdGl2YXRlZFJvdXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwucmVhZG9ubHkkO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSByb3V0ZXJPdXRsZXQuYWN0aXZhdGVkUm91dGU7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSA9IHBsYWNlO1xuICAgIHRoaXMudmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZSk7XG4gICAgdGhpcy5vdXRsZXRBY3RpdmF0ZWQudmFsdWUgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5hbmltYXRlJC52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5sZW5ndGggPCAxKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsYWNlT3V0bGV0LmFuaW1hdGUgPT09IHRydWUgYnV0IHBsYWNlQW5pbWF0aW9uT3JkZXIgaGFzIG5vdCBiZWVuIHNldC4gQW5pbWF0aW9uIGlzIGRpc2FibGVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXIucXVlcnkoKS5pbmNsdWRlcyhwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50KSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFBsYWNlT3V0bGV0LmFuaW1hdGUgPT09IHRydWUgYnV0IHBsYWNlQW5pbWF0aW9uT3JkZXIgZG9lc24ndCBjb250YWluICR7cGxhY2UucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudC5uYW1lfS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uT3V0bGV0RGVhY3RpdmF0ZWQoKSB7XG4gICAgdGhpcy5vdXRsZXRBY3RpdmF0ZWQudmFsdWUgPSBmYWxzZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKSB7XG4gICAgY29uc3Qgcm91dGVyVmlzaXQgPSB0aGlzLmN1cnJlbnRWaXNpdFNlZ21lbnQkLnZhbHVlO1xuICAgIGNvbnN0IGFjdGl2ZVBsYWNlID0gdGhpcy5hY3RpdmVQbGFjZU1vZGVsLnZhbHVlO1xuICAgIGlmIChyb3V0ZXJWaXNpdCAmJiBhY3RpdmVQbGFjZSAmJiAhYWN0aXZlUGxhY2UuaXNJbml0aWFsaXNlZCgpKSB7XG4gICAgICBpZiAocm91dGVyVmlzaXQucGxhY2VEZWZpbml0aW9uICE9PSBhY3RpdmVQbGFjZS5wbGFjZURlZmluaXRpb24pIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ3dyb25nIHZpc2l0ISEhJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdCwgYWN0aXZlUGxhY2UpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXNlUGxhY2Uocm91dGVyVmlzaXQ6IFZpc2l0U2VnbWVudCwgYWN0aXZlUGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgY29uc3QgdmlzaXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxWaXNpdFNlZ21lbnQ+KHJvdXRlclZpc2l0KTtcbiAgICBEZWJ1Z0NvbnRleHQudGFnKHZpc2l0TW9kZWwsIGBQbGFjZU91dGxldENvbXBvbmVudFske2FjdGl2ZVBsYWNlLmNvbnN0cnVjdG9yLm5hbWV9KV0udmlzaXRNb2RlbGApO1xuICAgIGFjdGl2ZVBsYWNlLmluaXRpYWxpc2VWaXNpdChyb3V0ZXJWaXNpdCwgKGlzLCB3YXMsIG1ldGFkYXRhKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcywgbWV0YWRhdGEpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICAgIC8vIGNoYWluKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpLnN1YnNjcmliZShpdCA9PiB7XG4gICAgLy8gICBpZiAoaXQpIHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJQbGFjZU91dGxldCBzZWdtZW50IHVwZGF0ZWRcIiwgaXQudG9EZWJ1Z1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgaXNQdXNoaW5nOiB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlLFxuICAgIC8vICAgICAgIHNlZ21lbnQ6IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU/LnRvRGVidWdTdHJpbmcoKVxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vIH0pXG4gIH1cblxuICBwcml2YXRlIHB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCwgc2VnbWVudDogVmlzaXRTZWdtZW50KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZU91dGxldC5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudFwiLCBzZWdtZW50LnRvRGVidWdTdHJpbmcoKSk7XG4gICAgYWN0aXZlUGxhY2UudXBkYXRlVmlzaXQoc2VnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXM6IFZpc2l0U2VnbWVudCwgd2FzOiBWaXNpdFNlZ21lbnQsIG1ldGFkYXRhPzogVHJhbnNhY3Rpb24uTWV0YURhdGEpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlci52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5vdGlmeVZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcywgbWV0YWRhdGEpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlID0gZmFsc2U7XG4gICAgfVxuICAgIC8vIGlmIHdlJ3ZlIGJlZW4gZGlzcG9zZWQgYWZ0ZXIgdGhlIGF3YWl0IG91ciBjdXJyZW50IHNlZ21lbnQgdmFsdWUgd2lsbCBoYXZlIGJlZW4gZGlzcG9zZWQuXG4gICAgaWYgKCF0aGlzLmlzRGlzcG9zZWQoKSkge1xuICAgICAgLy8gc2FuaXRpc2VycyBtYXkgaGF2ZSBhZGp1c3RlZCBvdGhlciB2YWx1ZXMgaW4gdGhlIHZpc2l0IHRvIHdlIGNoZWNrIGFuZCB3cml0ZSBpdCBiYWNrLlxuICAgICAgY29uc3QgYW5kQmVjYW1lID0gdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC52YWx1ZTsgLy8gdGhpcyBpcyBvY2Nhc2lvbmFsbHkgbnVsbC4uLiBuZWVkIHRvIGludmVzdGlnYXRlIGlmIHRoYXQncyBhIG5vcm1hbCBzdGF0ZSBvciBub3QuXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIlBsYWNlT3V0bGV0Lm5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWRcIiwgeyBpcywgd2FzLCBhbmRCZWNhbWUgfSlcbiAgICAgIGlmIChhbmRCZWNhbWUgJiYgYW5kQmVjYW1lLmhhc0NoYW5nZWRGcm9tKGlzKSkge1xuICAgICAgICB0aGlzLnB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KHRoaXMuYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSwgYW5kQmVjYW1lKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vLyBAVHJhY2UoKVxuICBhbmltYXRpb25TdGFydGVkKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHsgYWN0aXZlUGxhY2U6IHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhbmltYXRpb25Eb25lKCkge1xuICAgIGlmICh0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IpIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYigpO1xuICAgICAgdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYW5pbWF0aW9uRW5hYmxlZC52YWx1ZVwiPlxuICA8ZGl2IGNsYXNzPVwicm91dGVyLW91dGxldC1jb250YWluZXJcIlxuICAgICAgIGNka1Njcm9sbGFibGVcbiAgICAgICBbQHJvdXRlQW5pbWF0aW9uc109XCJ7dmFsdWU6IGdldEFuaW1hdGlvbk9yZGVyKCksIHBhcmFtczp7ZHVyYXRpb246IGFuaW1hdGlvbkR1cmF0aW9ufX1cIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0ZWQoKVwiXG4gICAgICAgKEByb3V0ZUFuaW1hdGlvbnMuZG9uZSk9XCJhbmltYXRpb25Eb25lKClcIlxuICA+XG4gICAgPHJvdXRlci1vdXRsZXQgI3JvdXRlck91dGxldD1cIm91dGxldFwiXG4gICAgICAgICAgICAgICAgICAgKGFjdGl2YXRlKT1cIm9uT3V0bGV0QWN0aXZhdGVkKHJvdXRlck91dGxldCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGRlYWN0aXZhdGUpPVwib25PdXRsZXREZWFjdGl2YXRlZCgpXCI+XG4gICAgPC9yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiAgY2xhc3M9XCJub3QtYXV0aG9yaXNlZC1jb21wb25lbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhYXV0aG9yaXNlZC52YWx1ZVwiPlxuICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJub3RBdXRob3Jpc2VkTm90aWNlUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLFlBQVksRUFDWixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsVUFBVSxFQUNPLE9BQU8sRUFDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxPQUFP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QUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztTQUN6QztJQUNILENBQUM7dUdBelBVLG9CQUFvQixtRUFpREMsZ0JBQWdCLDZCQUNoQix1Q0FBdUM7MkZBbEQ1RCxvQkFBb0Isb2hCQ3BEakMsK2lDQTJCQSxtNkJEdUJjLENBQUMsMEJBQTBCLENBQUM7O0FBSy9CO0lBREMsT0FBTyxFQUFFOztvREFDOEI7QUFHeEM7SUFEQyxpQkFBaUIsRUFBRTs7bURBQ0w7QUFLZjtJQUQyQixPQUFPLEVBQUU7O3NFQUMyQztBQUkvRTtJQURzQixnQkFBZ0IsRUFBRTs7cUVBQ2lDOzJGQWZ2RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLENBQUMsMEJBQTBCLENBQUM7OzBCQW1EM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVDQUF1Qzs7MEJBQzFELFFBQVE7OzBCQUFJLFFBQVE7NEVBaER4QixRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFNRywwQkFBMEI7c0JBRGxDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUt4Qix5QkFBeUI7c0JBRGpDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUluQixZQUFZO3NCQURwQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXFHdEMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWJ1Z0NvbnRleHQsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5MaXN0TW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLCBUcmFjZSxcbiAgUHJveGlmeSxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluLCBwcm94aWZ5XG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBVVBfUExBQ0VfQ09ORklHLCBQbGFjZUNvbmZpZyB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0U2VnbWVudCB9IGZyb20gJy4uLy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5pbXBvcnQgeyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgYW5pbWF0ZSQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGFuaW1hdGUgPSB0cnVlO1xuXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQgPSBwcm94aWZ5KExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj4pO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyOiAgUmVhZG9ubHlBcnJheTxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VmlzaXRTZWdtZW50JDogVmFsdWVNb2RlbENoYWluPFZpc2l0U2VnbWVudD47XG4gIHByaXZhdGUgX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlciQpXG4gICAgICAub3RoZXJ3aXNlKGRlZmF1bHRQbGFjZUFuaW1hdGlvbk9yZGVyKTtcblxuICAgIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbiA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlclxuICAgICAgLnJlZHVjZSgocGxhY2VzSW5PcmRlcikgPT4ge1xuICAgICAgICBsZXQgcGxhY2VJbmRleCA9IDA7XG4gICAgICAgIGlmIChhY3RpdmF0ZVBsYWNlVHlwZS52YWx1ZSkge1xuICAgICAgICAgIHBsYWNlSW5kZXggPSBwbGFjZXNJbk9yZGVyLmluZGV4T2YoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpO1xuICAgICAgICAgIGlmIChpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsUGxhY2VJbmRleCA9IHBsYWNlSW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSA/IDAgOiBwbGFjZUluZGV4IC0gdGhpcy5pbml0aWFsUGxhY2VJbmRleDtcbiAgICAgIH0sIHsgZGVwZW5kc09uOiBhY3RpdmF0ZVBsYWNlVHlwZSB9KTtcblxuICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkID0gdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmNvdW50KCkuaXNHcmVhdGVyVGhhbigwKTtcbiAgICB0aGlzLmFuaW1hdGlvbkVuYWJsZWQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuYW5pbWF0ZSQsXG4gICAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZFxuICAgICkuYXJlVHJ1dGh5KCk7XG5cbiAgICAvLyBFeHRyYWN0IG91ciB2aXNpdCBtb2RlbCBmcm9tIHRoZSBwbGFjZSByb3V0ZXIuXG4gICAgdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uID0gY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VNb2RlbCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuICAgIHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQgPSBjaGFpbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdCQpLm1hcCh2aXNpdCA9PiB2aXNpdC5nZXRTZWdtZW50Rm9yKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHsgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gfSk7XG5cbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzID0gY2hhaW4odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hdXRoU2VydmljZS5hY2Nlc3NHdWFyZCQpLm1hcChndWFyZCA9PiBndWFyZC5pc0F1dGhvcmlzZWQodGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlKSwge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24pLmlzTmlsKClcbiAgICB9KS5vdGhlcndpc2UodHJ1ZSk7IC8vIGlmIHdlIGRvbid0IGhhdmUgYSBwbGFjZSBkZWYgeWV0IHdlIG5lZWQgdG8gc2hvdyB0aGUgb3V0bGV0IHNvIHdlIGdldCBvbmUgaW5qZWN0ZWQuXG5cbiAgICB0aGlzLm5vdEF1dGhvcmlzZWROb3RpY2VQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHVuYXV0aG9yaXNlZFBsYWNlTm90aWNlID8/IE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0QW5pbWF0aW9uT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUNvbmZpZyAmJiB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uID8gdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA6ICc1MDBtcyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hdXRob3Jpc2VkXCIpXG4gIGdldCBpc0F1dGhvcmlzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBwYXJlbnRPdXRsZXQoKTogUGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZWRSb3V0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC5yZWFkb25seSQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCwgcGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IHJvdXRlck91dGxldC5hY3RpdmF0ZWRSb3V0ZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gcGxhY2U7XG4gICAgdGhpcy52YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlKTtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmFuaW1hdGUkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBoYXMgbm90IGJlZW4gc2V0LiBBbmltYXRpb24gaXMgZGlzYWJsZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmluY2x1ZGVzKHBsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQpKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgUGxhY2VPdXRsZXQuYW5pbWF0ZSA9PT0gdHJ1ZSBidXQgcGxhY2VBbmltYXRpb25PcmRlciBkb2Vzbid0IGNvbnRhaW4gJHtwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50Lm5hbWV9LmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXREZWFjdGl2YXRlZCgpIHtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBjaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCByb3V0ZXJWaXNpdCA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7XG4gICAgY29uc3QgYWN0aXZlUGxhY2UgPSB0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWU7XG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGFjdGl2ZVBsYWNlICYmICFhY3RpdmVQbGFjZS5pc0luaXRpYWxpc2VkKCkpIHtcbiAgICAgIGlmIChyb3V0ZXJWaXNpdC5wbGFjZURlZmluaXRpb24gIT09IGFjdGl2ZVBsYWNlLnBsYWNlRGVmaW5pdGlvbikge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnd3JvbmcgdmlzaXQhISEnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdGlhbGlzZVBsYWNlKHJvdXRlclZpc2l0LCBhY3RpdmVQbGFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdDogVmlzaXRTZWdtZW50LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0U2VnbWVudD4ocm91dGVyVmlzaXQpO1xuICAgIERlYnVnQ29udGV4dC50YWcodmlzaXRNb2RlbCwgYFBsYWNlT3V0bGV0Q29tcG9uZW50WyR7YWN0aXZlUGxhY2UuY29uc3RydWN0b3IubmFtZX0pXS52aXNpdE1vZGVsYCk7XG4gICAgYWN0aXZlUGxhY2UuaW5pdGlhbGlzZVZpc2l0KHJvdXRlclZpc2l0LCAoaXMsIHdhcykgPT4ge1xuICAgICAgdGhpcy5ub3RpZnlDb21wb25lbnRWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzLCB3YXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlzaXRTZWdtZW50JC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICAgIC8vIGNoYWluKHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQpLnN1YnNjcmliZShpdCA9PiB7XG4gICAgLy8gICBpZiAoaXQpIHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJQbGFjZU91dGxldCBzZWdtZW50IHVwZGF0ZWRcIiwgaXQudG9EZWJ1Z1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgaXNQdXNoaW5nOiB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGVyLnZhbHVlLFxuICAgIC8vICAgICAgIHNlZ21lbnQ6IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU/LnRvRGVidWdTdHJpbmcoKVxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vIH0pXG4gIH1cblxuICBwcml2YXRlIHB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCwgc2VnbWVudDogVmlzaXRTZWdtZW50KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZU91dGxldC5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudFwiLCBzZWdtZW50LnRvRGVidWdTdHJpbmcoKSk7XG4gICAgYWN0aXZlUGxhY2UudXBkYXRlVmlzaXQoc2VnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5vdGlmeUNvbXBvbmVudFZpc2l0U2VnbWVudENoYW5nZWQoaXM6IFZpc2l0U2VnbWVudCwgd2FzOiBWaXNpdFNlZ21lbnQpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlci52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5vdGlmeVZpc2l0U2VnbWVudENoYW5nZWQoaXMsIHdhcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZXIudmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gc2FuaXRpc2VycyBtYXkgaGF2ZSBhZGp1c3RlZCBvdGhlciB2YWx1ZXMgaW4gdGhlIHZpc2l0IHRvIHdlIGNoZWNrIGFuZCB3cml0ZSBpdCBiYWNrLlxuICAgIGNvbnN0IGFuZEJlY2FtZSA9IHRoaXMuY3VycmVudFZpc2l0U2VnbWVudCQudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIC8vIGNvbnNvbGUubG9nKFwiUGxhY2VPdXRsZXQubm90aWZ5Q29tcG9uZW50VmlzaXRTZWdtZW50Q2hhbmdlZFwiLCB7IGlzLCB3YXMsIGFuZEJlY2FtZSB9KVxuICAgIGlmIChhbmRCZWNhbWUgJiYgYW5kQmVjYW1lLmhhc0NoYW5nZWRGcm9tKGlzKSkge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudCh0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWUsIGFuZEJlY2FtZSlcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -42,4 +42,4 @@ export function leftRightPlaceAnimation(duration) {
|
|
|
42
42
|
]);
|
|
43
43
|
}
|
|
44
44
|
export const LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3JvdXRlLWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEYscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUUxRyxNQUFNLElBQUksR0FBRztJQUNYLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDekUsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDZCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUMzRSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxLQUFLLENBQUM7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUN6RSxFQUFFO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQztnQkFDOUYsU0FBUyxFQUFFLG1CQUFtQjtnQkFDOUIsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNKLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWdCO0lBQ3RELE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8vIEZyZWV6ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnRzIGF0IHRoZSBzdGFydCBvZiB0aGUgYW5pbWF0aW9uLlxuY29uc3QgYW5pbWF0aW9uU3RhcnRTdHlsZSA9IHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzAnLCBsZWZ0OiAnMCcsIGJvdHRvbTogJzAnLCByaWdodDogJzAnIH0pO1xuXG5jb25zdCBsZWZ0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmNvbnN0IHJpZ2h0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG1pbkhlaWdodDogJzFweCcgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pLFxuICAgIHF1ZXJ5KCc6bGVhdmUnLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHtcbiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgIG1pbkhlaWdodDogJzFweCdcbiAgICB9KSldLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pXG4gIF0pXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24oZHVyYXRpb246IHN0cmluZykge1xuICByZXR1cm4gdHJpZ2dlcigncm91dGVBbmltYXRpb25zJywgW1xuICAgIHRyYW5zaXRpb24oJzppbmNyZW1lbnQnLCByaWdodCwgeyBwYXJhbXM6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0gfSksXG4gICAgdHJhbnNpdGlvbignOmRlY3JlbWVudCcsIGxlZnQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9IH0pXG4gIF0pO1xufVxuXG5leHBvcnQgY29uc3QgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gPSBsZWZ0UmlnaHRQbGFjZUFuaW1hdGlvbignMC4zcycpO1xuIl19
|
package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Component, ContentChild, HostBinding, Input, TemplateRef } from "@angular/core";
|
|
3
|
-
import {
|
|
3
|
+
import { MutableValueModel, StoreInValueModel, Proxify, proxify } from "@coolon/pectin";
|
|
4
4
|
import { PlaceRouter } from '../../place-router';
|
|
5
5
|
import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../../place-router";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@angular/material/list";
|
|
10
|
-
import * as i4 from "@angular/material/tooltip";
|
|
9
|
+
import * as i3 from "@angular/material/legacy-list";
|
|
10
|
+
import * as i4 from "@angular/material/legacy-tooltip";
|
|
11
11
|
import * as i5 from "../../../directives/command.directive";
|
|
12
12
|
import * as i6 from "../../../directives/garbage-collector.directive";
|
|
13
13
|
import * as i7 from "../../../components/icon/icon.component";
|
|
@@ -57,18 +57,12 @@ export class SidePlaceNavigationComponent extends AbstractPlaceNavigationCompone
|
|
|
57
57
|
#expanded$_accessor_storage = proxify((MutableValueModel));
|
|
58
58
|
get expanded$() { return this.#expanded$_accessor_storage; }
|
|
59
59
|
set expanded$(value) { this.#expanded$_accessor_storage = value; }
|
|
60
|
-
#expanded_accessor_storage
|
|
60
|
+
#expanded_accessor_storage;
|
|
61
61
|
get expanded() { return this.#expanded_accessor_storage; }
|
|
62
62
|
set expanded(value) { this.#expanded_accessor_storage = value; }
|
|
63
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- TemplateRef<any> is the Angular convention for ng-template refs
|
|
64
63
|
navEndTemplate;
|
|
65
|
-
homeIcon$;
|
|
66
64
|
constructor(router) {
|
|
67
65
|
super(router);
|
|
68
|
-
const { chain } = Dsl.disposeWith(this);
|
|
69
|
-
this.homeIcon$ = chain(this.expanded$).map(expanded => {
|
|
70
|
-
return expanded ? "mat:arrow_back" : "mat:menu";
|
|
71
|
-
});
|
|
72
66
|
}
|
|
73
67
|
expandMenu() {
|
|
74
68
|
this.expanded = true;
|
|
@@ -79,8 +73,8 @@ export class SidePlaceNavigationComponent extends AbstractPlaceNavigationCompone
|
|
|
79
73
|
toggleMenu() {
|
|
80
74
|
this.expanded = !this.expanded;
|
|
81
75
|
}
|
|
82
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
83
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-nav-item-height: var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatLegacyNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i3.MatLegacyListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
84
78
|
}
|
|
85
79
|
__decorate([
|
|
86
80
|
Proxify(),
|
|
@@ -88,11 +82,11 @@ __decorate([
|
|
|
88
82
|
], SidePlaceNavigationComponent.prototype, "expanded$", null);
|
|
89
83
|
__decorate([
|
|
90
84
|
StoreInValueModel(),
|
|
91
|
-
__metadata("design:type",
|
|
85
|
+
__metadata("design:type", Boolean)
|
|
92
86
|
], SidePlaceNavigationComponent.prototype, "expanded", null);
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
94
88
|
type: Component,
|
|
95
|
-
args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon
|
|
89
|
+
args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-nav-item-height: var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}\n"] }]
|
|
96
90
|
}], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
97
91
|
type: Input
|
|
98
92
|
}], expanded: [{
|
|
@@ -100,10 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
100
94
|
}, {
|
|
101
95
|
type: HostBinding,
|
|
102
96
|
args: ['class.expanded']
|
|
103
|
-
}],
|
|
104
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- TemplateRef<any> is the Angular convention for ng-template refs
|
|
105
|
-
navEndTemplate: [{
|
|
97
|
+
}], navEndTemplate: [{
|
|
106
98
|
type: ContentChild,
|
|
107
99
|
args: ['navEndTemplate']
|
|
108
100
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvc2lkZS1wbGFjZS1uYXZpZ2F0aW9uL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi9zaWRlLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQWMsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFHMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBTUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGdDQUFnQztJQUd2RSw4QkFBWSxPQUFPLENBQUMsQ0FBQSxpQkFBMEIsQ0FBQSxDQUFDLENBQUM7SUFBaEQsSUFBQSxTQUFTLCtDQUF1QztJQUFoRCxJQUFBLFNBQVMscURBQXVDO0lBSWhELDJCQUFrQjtJQUFsQixJQUFBLFFBQVEsOENBQVU7SUFBbEIsSUFBQSxRQUFRLG9EQUFVO0lBRzNCLGNBQWMsQ0FBbUI7SUFFakMsWUFBWSxNQUFtQjtRQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzt1R0ExQlUsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsNlRDdER6Qyx1NkJBaUJBOztBRHdDVztJQURDLE9BQU8sRUFBRTs7NkRBQ3NDO0FBSWhEO0lBRkMsaUJBQWlCLEVBQUU7OzREQUVGOzJGQVBoQiw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCO2tHQU81QixTQUFTO3NCQURqQixLQUFLO2dCQUtHLFFBQVE7c0JBRmhCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUk3QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtNdXRhYmxlVmFsdWVNb2RlbCwgU3RvcmVJblZhbHVlTW9kZWwsIFByb3hpZnksIFZhbHVlTW9kZWwsIHByb3hpZnl9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cblxuLyoqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNhZ2VcbiAqIDxhdXAtdmVydGljYWwtcGxhY2UtbmF2aWdhdGlvbiBbcGxhY2VzXT1cInBsYWNlQ29uc3RydWN0b3JBcnJheVwiXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlT3V0bGV0XT1cInBsYWNlT3V0bGV0Q29tcG9uZW50XCI+XG4gKiA8L2F1cC12ZXJ0aWNhbC1wbGFjZS1uYXZpZ2F0aW9uPlxuICogPGF1cC1wbGFjZS1vdXRsZXQgI3BsYWNlT3V0bGV0Q29tcG9uZW50PjwvYXVwLXBsYWNlLW91dGxldD5cbiAqXG4gKiAvLyBDU1Mgb3ZlcnJpZGVzOlxuICogYXVwLXNpZGUtcGxhY2UtbmF2aWdhdGlvbiB7XG4gKiAgIC0tbmF2LXdpZHRoOiA1NnB4XG4gKiAgIC0tbmF2LWV4cGFuZGVkLXdpZHRoOiAyMzVweFxuICogICAtLW5hdi1pdGVtLWhlaWdodDogdmFyKC0tbmF2LXdpZHRoKVxuICogICAtLW5hdi1iYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICogICAtLW5hdi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICogfVxuICpcbiAqIC8vIENvbnRlbnQgVGVtcGxhdGVzOlxuICogI25hdkVuZFRlbXBsYXRlXG4gKiA8bmctdGVtcGxhdGUgI25hdkVuZFRlbXBsYXRlPlxuICogICAgPGEgbWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIiBtYXRUb29sdGlwPVwiTG9nb3V0XCI+XG4gKiAgICA8bWF0LWljb24+ZXhpdF90b19hcHA8L21hdC1pY29uPlxuICogICAgPHNwYW4gKm5nSWY9XCJzaWRlTmF2LmV4cGFuZGVkXCI+TG9nb3V0PC9zcGFuPlxuICogICAgPC9hPlxuICogPC9uYXYtdGVtcGxhdGU+XG4gKlxuICogLy8gUGxhY2UgbmF2IGl0ZW0gaW4gYW4gaTE4bi55bWxcbiAqIHBsYWNlczpcbiAqICAgbXlQbGFjZTpcbiAqICAgICBuYXYoTmF2SXRlbSk6XG4gKiAgICAgICB0aXRsZTogXCJBY3Rpdml0aWVzXCJcbiAqICAgICAgIGljb246IFwiYnVpbGRcIlxuICogICAgICAgdG9vbHRpcDogXCJBbGVydHMsIGNvbmZpcm1zIGFuZCBkaWFsb2dzXCJcbiAqXG4gKiAvLyBJbiB5b3VyIHBsYWNlXG4gKiAoYXQpUGxhY2Uoe1xuICogICBwYXRoOiAnbXlQbGFjZScsXG4gKiAgIGRhdGE6IHtcbiAqICAgICBuYXY6IEkxOG4ucGxhY2VzLm15UGxhY2UubmF2XG4gKiAgIH1cbiAqIH0pXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1zaWRlLXBsYWNlLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZS1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lkZVBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGV4cGFuZGVkJCA9IHByb3hpZnkoTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBhY2Nlc3NvciBleHBhbmRlZDogYm9vbGVhbjtcblxuICBAQ29udGVudENoaWxkKCduYXZFbmRUZW1wbGF0ZScpXG4gIG5hdkVuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcihyb3V0ZXIpO1xuICB9XG5cbiAgZXhwYW5kTWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbGxhcHNlTWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdD5cbiAgPGEgbWF0LWxpc3QtaXRlbSAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCIgY2xhc3M9XCJob21lXCI+XG4gICAgPGF1cC1pY29uIGNsYXNzPVwiY29sbGFwc2VkLW9ubHlcIiBpY29uPVwibWF0Om1lbnVcIj48L2F1cC1pY29uPlxuICAgIDxhdXAtaWNvbiBjbGFzcz1cImV4cGFuZGVkLW9ubHlcIiBpY29uPVwibWF0OmFycm93X2JhY2tcIj48L2F1cC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiZXhwYW5kZWQtb25seVwiPk1lbnU8L3NwYW4+XG4gIDwvYT5cbiAgPGEgbWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXMudmFsdWU7IHRyYWNrQnk6IHRyYWNrQnlQbGFjZURlZlwiXG4gICAgIGF1cC1nYyAjZ2M9XCJhdXAtZ2NcIlxuICAgICBbcGVjdGluQ29tbWFuZF09XCJjb21tYW5kRmFjdG9yeS5jcmVhdGUoaXRlbS5wbGFjZSwge2Rpc3Bvc2VkV2l0aDogZ2N9KVwiXG4gICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICBbbWF0VG9vbHRpcF09XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS50b29sdGlwKClcIj5cbiAgICA8YXVwLWljb24gKm5nSWY9XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS5pY29uKClcIiBbaWNvbl09XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS5pY29uKClcIj48L2F1cC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiZXhwYW5kZWQtb25seVwiPnt7Z2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkudGV4dCgpfX08L3NwYW4+XG4gIDwvYT5cbiAgPHNwYW4gW3N0eWxlLmZsZXhdPVwiMVwiPjwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hdkVuZFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwibmF2RW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbWF0LW5hdi1saXN0PlxuIl19
|
package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs
CHANGED
|
@@ -4,8 +4,8 @@ import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.c
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../place-router";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/material/tabs";
|
|
8
|
-
import * as i4 from "@angular/material/tooltip";
|
|
7
|
+
import * as i3 from "@angular/material/legacy-tabs";
|
|
8
|
+
import * as i4 from "@angular/material/legacy-tooltip";
|
|
9
9
|
import * as i5 from "../../../directives/command.directive";
|
|
10
10
|
import * as i6 from "../../../directives/garbage-collector.directive";
|
|
11
11
|
import * as i7 from "../../../components/commands/command-face/command-face.component";
|
|
@@ -13,11 +13,11 @@ export class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationCompo
|
|
|
13
13
|
constructor(router) {
|
|
14
14
|
super(router);
|
|
15
15
|
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar>\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatLegacyTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "directive", type: i3.MatLegacyTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'aup-tabbed-place-navigation', template: "<nav mat-tab-nav-bar
|
|
21
|
+
args: [{ selector: 'aup-tabbed-place-navigation', template: "<nav mat-tab-nav-bar>\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"] }]
|
|
22
22
|
}], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdDQUFnQztJQUNsRixZQUFZLE1BQW1CO1FBQzdCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO3VHQUhVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDBGQ1QzQyxxZ0JBV0E7OzJGREZhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3Iocm91dGVyOiBQbGFjZVJvdXRlcikge1xuICAgIHN1cGVyKHJvdXRlcik7XG4gIH1cbn1cbiIsIjxuYXYgbWF0LXRhYi1uYXYtYmFyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmF2LXN0YXJ0XVwiPjwvbmctY29udGVudD5cbiAgPGEgbWF0LXRhYi1saW5rICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnVJdGVtcy52YWx1ZTsgdHJhY2tCeTogdHJhY2tCeVBsYWNlRGVmXCJcbiAgICAgYXVwLWdjICNnYz1cImF1cC1nY1wiXG4gICAgIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRGYWN0b3J5LmNyZWF0ZShpdGVtLnBsYWNlLCB7ZGlzcG9zZWRXaXRoOiBnY30pXCJcbiAgICAgW2FjdGl2ZV09XCJpdGVtLmFjdGl2ZVwiXG4gICAgIFttYXRUb29sdGlwXT1cImdldE5hdmlnYXRpb25GYWNlKGl0ZW0ucGxhY2UpLnRvb2x0aXAoKVwiPlxuICAgIDxhdXAtY29tbWFuZC1mYWNlIFtmYWNlc109XCJbZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSldXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICA8L2E+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltuYXYtZW5kXVwiPjwvbmctY29udGVudD5cbjwvbmF2PlxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { uniq } from 'lodash
|
|
2
|
+
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
3
|
+
import { uniq } from 'lodash';
|
|
4
4
|
/**
|
|
5
5
|
* This a work around for the fact that an activated route with multiple segments doesn't
|
|
6
6
|
* include the segment params in the paramMap as well as each segment returns an empty
|
|
@@ -31,7 +31,7 @@ export class ConsolidatedParameterMap {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
__decorate([
|
|
34
|
-
|
|
34
|
+
Memoize(),
|
|
35
35
|
__metadata("design:type", Array),
|
|
36
36
|
__metadata("design:paramtypes", [])
|
|
37
37
|
], ConsolidatedParameterMap.prototype, "keys", null);
|
|
@@ -54,4 +54,4 @@ class ParamMapAdapter {
|
|
|
54
54
|
return Object.keys(this.params);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29saWRhdGVkLXBhcmFtLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2d1YXJkcy9jb25zb2xpZGF0ZWQtcGFyYW0tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5Qjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUVsQixTQUFTLEdBQWUsRUFBRSxDQUFDO0lBRTVDLFlBQVksV0FBeUIsRUFBRSxRQUFtQjtRQUN4RCxvR0FBb0c7UUFDcEcsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFlLENBQUM7UUFDcEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhO2FBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDaEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNENBQTRDO0lBQ25FLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztDQUNGO0FBSkM7SUFBQyxPQUFPLEVBQUU7OztvREFHVDtBQUdILE1BQU0sZUFBZTtJQUNVO0lBQTdCLFlBQTZCLE1BQStCO1FBQS9CLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBQzVELENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtTWFwLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuXG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGlzIGEgd29yayBhcm91bmQgZm9yIHRoZSBmYWN0IHRoYXQgYW4gYWN0aXZhdGVkIHJvdXRlIHdpdGggbXVsdGlwbGUgc2VnbWVudHMgZG9lc24ndFxuICogaW5jbHVkZSB0aGUgc2VnbWVudCBwYXJhbXMgaW4gdGhlIHBhcmFtTWFwIGFzIHdlbGwgYXMgZWFjaCBzZWdtZW50IHJldHVybnMgYW4gZW1wdHlcbiAqIHBhcmFtIG1hcCBldmVuIHdoZW4gYHBhcmFtZXRlcmBzIGhhcyBjb250ZW50LlxuICovXG5leHBvcnQgY2xhc3MgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIGltcGxlbWVudHMgUGFyYW1NYXAge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1NYXBzOiBQYXJhbU1hcFtdID0gW107XG5cbiAgY29uc3RydWN0b3IodXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSwgcGFyYW1NYXA/OiBQYXJhbU1hcCkge1xuICAgIC8vIFRPRE86IGNhbiB3ZSBnZXQgYWxsIG91ciBwYXJhbXMgZnJvbSB0ZWggdXJsIHNlZ21lbnRzPyBJZiBzbyB3ZSBjYW4gZHJvcCB0aGUgcGFyYW1NYXAgYWx0b2dldGhlci5cbiAgICBjb25zdCBzZWdtZW50UGFyYW1zID0gKHVybFNlZ21lbnRzIHx8IFtdKS5tYXAocyA9PiBuZXcgUGFyYW1NYXBBZGFwdGVyKHMucGFyYW1ldGVycykpIGFzIFBhcmFtTWFwW107XG4gICAgdGhpcy5wYXJhbU1hcHMgPSBzZWdtZW50UGFyYW1zXG4gICAgICAuY29uY2F0KHBhcmFtTWFwKVxuICAgICAgLmZpbHRlcihtID0+ICEhbSk7IC8vIHRoZSBhY3RpdmF0ZWQgcm91dGUgcGFyYW0gbWFwIGNhbiBiZSBudWxsXG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGFyYW1NYXAgPSB0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpO1xuICAgIHJldHVybiBwYXJhbU1hcC5nZXQobmFtZSk7XG4gIH1cblxuICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHBhcmFtTWFwID0gdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKTtcbiAgICByZXR1cm4gcGFyYW1NYXAuZ2V0QWxsKG5hbWUpO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdW5pcSh0aGlzLnBhcmFtTWFwcy5yZWR1Y2UoKHJlc3VsdCwgcGFyYW1zKSA9PiByZXN1bHQuY29uY2F0KHBhcmFtcy5rZXlzKSwgW10pKTtcbiAgfVxufVxuXG5jbGFzcyBQYXJhbU1hcEFkYXB0ZXIgaW1wbGVtZW50cyBQYXJhbU1hcCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBhcmFtc1tuYW1lXTtcbiAgfVxuXG4gIGdldEFsbChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChuYW1lKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5pbmNsdWRlcyhuYW1lKTtcbiAgfVxuXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wYXJhbXMpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class NoopAuthGuard {
|
|
4
|
+
constructor() {
|
|
5
|
+
}
|
|
4
6
|
async canActivate(activatedRoute, state) {
|
|
5
7
|
return true;
|
|
6
8
|
}
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
8
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NoopAuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NoopAuthGuard, providedIn: 'root' });
|
|
9
11
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: NoopAuthGuard, decorators: [{
|
|
11
13
|
type: Injectable,
|
|
12
14
|
args: [{
|
|
13
15
|
providedIn: 'root'
|
|
14
16
|
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
}], ctorParameters: function () { return []; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1hdXRoLWd1YXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFFeEI7SUFDQSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFzQyxFQUFFLEtBQTBCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0FQVSxhQUFhOzJHQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb29wQXV0aEd1YXJkICB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBhc3luYyBjYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|