@theseam/ui-common 0.4.29 → 0.4.30
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/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/datatable/datatable/datatable.component.d.ts +61 -9
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +29 -20
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
- package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
- package/datatable/models/action-item-column-position.d.ts +13 -0
- package/datatable/models/columns-data-filter.d.ts +57 -0
- package/datatable/models/columns-data-filters/models.d.ts +65 -0
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
- package/datatable/models/columns-data-filters/utils.d.ts +15 -0
- package/datatable/models/datatable-config.d.ts +97 -0
- package/datatable/models/table-column.d.ts +22 -1
- package/datatable/public-api.d.ts +14 -0
- package/datatable/services/columns-filters.service.d.ts +29 -0
- package/datatable/services/columns-manager.service.d.ts +7 -0
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
- package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
- package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
- package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
- package/esm2020/buttons/button/button.component.mjs +10 -10
- package/esm2020/buttons/buttons.module.mjs +5 -5
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
- package/esm2020/card/card-action/card-action.component.mjs +4 -4
- package/esm2020/card/card-body/card-body.component.mjs +4 -4
- package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
- package/esm2020/card/card-header/card-header.component.mjs +4 -4
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
- package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
- package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
- package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
- package/esm2020/data-filters/data-filters.module.mjs +5 -5
- package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
- package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
- package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
- package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
- package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
- package/esm2020/datatable/datatable.module.mjs +53 -11
- package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
- package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
- package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
- package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
- package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
- package/esm2020/datatable/models/datatable-config.mjs +3 -0
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +15 -1
- package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
- package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
- package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
- package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
- package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
- package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
- package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
- package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
- package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
- package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
- package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
- package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
- package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
- package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
- package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
- package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
- package/esm2020/form-field/form-field-error.directive.mjs +4 -4
- package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
- package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
- package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
- package/esm2020/form-field/form-field.component.mjs +4 -4
- package/esm2020/form-field/form-field.module.mjs +5 -5
- package/esm2020/form-field/input.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
- package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
- package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
- package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
- package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/index.mjs +2 -1
- package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
- package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
- package/esm2020/framework/nav/index.mjs +6 -0
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
- package/esm2020/framework/nav/nav-utils.mjs +107 -0
- package/esm2020/framework/nav/nav.models.mjs +2 -0
- package/esm2020/framework/nav/nav.module.mjs +67 -0
- package/esm2020/framework/nav/nav.service.mjs +204 -0
- package/esm2020/framework/public-api.mjs +2 -1
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
- package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
- package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
- package/esm2020/framework/top-bar/index.mjs +3 -1
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
- package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
- package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
- package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
- package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
- package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps.module.mjs +5 -5
- package/esm2020/google-maps/google-maps.service.mjs +4 -4
- package/esm2020/google-maps/map-control.component.mjs +4 -4
- package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
- package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
- package/esm2020/graphql/datatable/index.mjs +4 -1
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
- package/esm2020/icon/icon/icon.component.mjs +4 -4
- package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
- package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/layout/layout.module.mjs +5 -5
- package/esm2020/layout/layout.service.mjs +15 -5
- package/esm2020/loading/loading/loading.component.mjs +4 -4
- package/esm2020/loading/loading-overlay.service.mjs +4 -4
- package/esm2020/loading/loading.module.mjs +5 -5
- package/esm2020/menu/menu-divider.component.mjs +4 -4
- package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
- package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
- package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2020/menu/menu-item.component.mjs +4 -4
- package/esm2020/menu/menu-toggle.directive.mjs +9 -4
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
- package/esm2020/modal/directives/modal.directive.mjs +4 -4
- package/esm2020/modal/modal/modal.component.mjs +4 -4
- package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
- package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/modal/modal.module.mjs +5 -5
- package/esm2020/modal/modal.service.mjs +4 -4
- package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
- package/esm2020/navigation-reload/navigation-reload.service.mjs +4 -4
- package/esm2020/popover/popover/popover.component.mjs +9 -5
- package/esm2020/popover/popover.directive.mjs +8 -4
- package/esm2020/popover/popover.module.mjs +5 -5
- package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
- package/esm2020/progress/progress.module.mjs +5 -5
- package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
- package/esm2020/rich-text/rich-text.module.mjs +5 -5
- package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
- package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
- package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
- package/esm2020/services/asset-loader.service.mjs +4 -4
- package/esm2020/services/font-loader.service.mjs +4 -4
- package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
- package/esm2020/services/router-helpers.service.mjs +4 -4
- package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
- package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
- package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
- package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
- package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
- package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
- package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
- package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
- package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
- package/esm2020/shared/shared.module.mjs +5 -5
- package/esm2020/storage/local-storage.service.mjs +4 -4
- package/esm2020/story-helpers/initial-route.service.mjs +4 -4
- package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
- package/esm2020/story-helpers/story-empty.component.mjs +4 -4
- package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
- package/esm2020/story-helpers/story-initial-route.mjs +5 -5
- package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
- package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
- package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
- package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.module.mjs +5 -5
- package/esm2020/tabbed/tabbed.service.mjs +4 -4
- package/esm2020/table/public-api.mjs +4 -1
- package/esm2020/table/table/table.component.mjs +92 -7
- package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column.component.mjs +68 -0
- package/esm2020/table/table.module.mjs +25 -9
- package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
- package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
- package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
- package/esm2020/tel-input/tel-input.directive.mjs +4 -4
- package/esm2020/tel-input/tel-input.module.mjs +5 -5
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
- package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
- package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
- package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
- package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
- package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
- package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
- package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
- package/esm2020/widget/widget/widget.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
- package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
- package/esm2020/widget/widget-registry.service.mjs +4 -4
- package/esm2020/widget/widget.module.mjs +5 -5
- package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-card.mjs +19 -19
- package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-icon.mjs +13 -13
- package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +18 -9
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-loading.mjs +10 -10
- package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +30 -25
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-modal.mjs +43 -43
- package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +3 -3
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-popover.mjs +19 -11
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-progress.mjs +7 -7
- package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs +12 -12
- package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-shared.mjs +37 -37
- package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-storage.mjs +3 -3
- package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +207 -15
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +135 -135
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-card.mjs +19 -19
- package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-icon.mjs +13 -13
- package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +18 -9
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-loading.mjs +10 -10
- package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +30 -25
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-modal.mjs +43 -43
- package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +3 -3
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-popover.mjs +19 -11
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-progress.mjs +7 -7
- package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs +12 -12
- package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-shared.mjs +37 -37
- package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-storage.mjs +3 -3
- package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +205 -15
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +135 -135
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +4 -2
- package/framework/base-layout/base-layout.component.scss +18 -10
- package/framework/base-layout/base-layout.module.d.ts +11 -10
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
- package/framework/base-layout/index.d.ts +1 -0
- package/framework/base-layout/styles/_variables.scss +21 -0
- package/framework/nav/_nav-theme.scss +4 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
- package/framework/nav/index.d.ts +5 -0
- package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
- package/framework/nav/nav-item/nav-item.component.scss +203 -0
- package/framework/nav/nav-utils.d.ts +20 -0
- package/framework/nav/nav.models.d.ts +77 -0
- package/framework/nav/nav.module.d.ts +17 -0
- package/framework/nav/nav.service.d.ts +27 -0
- package/framework/nav/styles/_themes/light/_variables.scss +56 -0
- package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
- package/framework/nav/styles/_utilities.scss +3 -0
- package/framework/nav/styles/_variables.scss +2 -0
- package/framework/public-api.d.ts +1 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
- package/framework/side-nav/side-nav.component.d.ts +13 -1
- package/framework/side-nav/side-nav.component.scss +0 -1
- package/framework/side-nav/side-nav.models.d.ts +7 -1
- package/framework/side-nav/side-nav.module.d.ts +1 -9
- package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
- package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
- package/framework/top-bar/index.d.ts +2 -0
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar.component.d.ts +25 -3
- package/framework/top-bar/top-bar.component.scss +7 -2
- package/framework/top-bar/top-bar.module.d.ts +10 -8
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +3 -0
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
- package/layout/layout.service.d.ts +9 -1
- package/menu/menu-toggle.directive.d.ts +2 -1
- package/package.json +3 -3
- package/popover/popover/popover.component.d.ts +4 -1
- package/popover/popover.directive.d.ts +2 -1
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
- package/table/public-api.d.ts +3 -0
- package/table/table/table.component.d.ts +21 -3
- package/table/table-cell-tpl.directive.d.ts +7 -0
- package/table/table-column-header-tpl.directive.d.ts +7 -0
- package/table/table-column.component.d.ts +24 -0
- package/table/table.module.d.ts +4 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { animate, style, transition, trigger, } from '@angular/animations';
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
|
|
5
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
6
|
+
import { faAngleLeft } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import { InputBoolean, InputNumber } from '@theseam/ui-common/core';
|
|
8
|
+
import { MenuComponent } from '@theseam/ui-common/menu';
|
|
9
|
+
import { notNullOrUndefined } from '@theseam/ui-common/utils';
|
|
10
|
+
import { horizontalNavItemHasActiveChild } from '../nav-utils';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../nav.service";
|
|
13
|
+
import * as i2 from "@angular/common";
|
|
14
|
+
import * as i3 from "@angular/router";
|
|
15
|
+
import * as i4 from "@theseam/ui-common/icon";
|
|
16
|
+
import * as i5 from "@angular/cdk/a11y";
|
|
17
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
18
|
+
import * as i7 from "@theseam/ui-common/menu";
|
|
19
|
+
export class NavItemComponent {
|
|
20
|
+
set link(value) { this._link.next(value); }
|
|
21
|
+
get link() { return this._link.value; }
|
|
22
|
+
set expanded(value) {
|
|
23
|
+
this._expanded.next(coerceBooleanProperty(value));
|
|
24
|
+
}
|
|
25
|
+
get expanded() { return this._expanded.value; }
|
|
26
|
+
set compact(value) { this._compact.next(coerceBooleanProperty(value)); }
|
|
27
|
+
get compact() { return this._compact.value; }
|
|
28
|
+
get badgeTooltip() { return this._badgeTooltip; }
|
|
29
|
+
set badgeTooltip(value) {
|
|
30
|
+
if (value !== null && value !== undefined) {
|
|
31
|
+
if (typeof value === 'string') {
|
|
32
|
+
this._badgeTooltip = {
|
|
33
|
+
tooltip: value,
|
|
34
|
+
placement: 'auto',
|
|
35
|
+
disabled: false
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this._badgeTooltip = {
|
|
40
|
+
...value,
|
|
41
|
+
placement: value.placement || 'auto',
|
|
42
|
+
disabled: typeof value?.disabled === 'boolean'
|
|
43
|
+
? value.disabled
|
|
44
|
+
: typeof value.tooltip !== 'string'
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this._badgeTooltip = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
get _isActiveCssClass() { return this.active; }
|
|
53
|
+
get _isChildActiveCssClass() { return this.hasActiveChild; }
|
|
54
|
+
get _isExpandedCssClass() { return this.expanded; }
|
|
55
|
+
get _isFocusedCssClass() { return this.focused; }
|
|
56
|
+
get _attrDataHierLevel() { return this.hierLevel; }
|
|
57
|
+
constructor(_nav) {
|
|
58
|
+
this._nav = _nav;
|
|
59
|
+
this._ngUnsubscribe = new Subject();
|
|
60
|
+
this.faAngleLeft = faAngleLeft;
|
|
61
|
+
this.active = false;
|
|
62
|
+
this._link = new BehaviorSubject(undefined);
|
|
63
|
+
this.link$ = this._link.asObservable();
|
|
64
|
+
this.hierLevel = 0;
|
|
65
|
+
this.indentSize = 10;
|
|
66
|
+
this._expanded = new BehaviorSubject(false);
|
|
67
|
+
this.expanded$ = this._expanded.asObservable();
|
|
68
|
+
this._compact = new BehaviorSubject(false);
|
|
69
|
+
this.compact$ = this._compact.asObservable();
|
|
70
|
+
this.focused = false;
|
|
71
|
+
this.badgeTheme = 'danger';
|
|
72
|
+
this.childAction = 'menu';
|
|
73
|
+
this.expandAction = 'toggle';
|
|
74
|
+
this.navItemExpanded = new EventEmitter();
|
|
75
|
+
}
|
|
76
|
+
ngOnDestroy() {
|
|
77
|
+
this._ngUnsubscribe.next();
|
|
78
|
+
this._ngUnsubscribe.complete();
|
|
79
|
+
}
|
|
80
|
+
get hasChildren() {
|
|
81
|
+
return Array.isArray(this.children) && this.children.length > 0;
|
|
82
|
+
}
|
|
83
|
+
get hasActiveChild() {
|
|
84
|
+
if (notNullOrUndefined(this.item)) {
|
|
85
|
+
return horizontalNavItemHasActiveChild(this.item);
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
get hasMenuToggle() {
|
|
90
|
+
return this.hasChildren && this.childAction === 'menu';
|
|
91
|
+
}
|
|
92
|
+
get menuTpl() {
|
|
93
|
+
return this.hasMenuToggle ? this._menu : undefined;
|
|
94
|
+
}
|
|
95
|
+
get hasExpandingChildren() {
|
|
96
|
+
return this.hasChildren && this.childAction === 'expand';
|
|
97
|
+
}
|
|
98
|
+
_toggleChildren(event) {
|
|
99
|
+
let ex = !this.expanded;
|
|
100
|
+
if (this.expandAction === 'expandOnly') {
|
|
101
|
+
ex = true;
|
|
102
|
+
}
|
|
103
|
+
this.expanded = ex;
|
|
104
|
+
this.navItemExpanded.emit(this.expanded);
|
|
105
|
+
if (this.item && this.expanded) {
|
|
106
|
+
this._nav.setItemStateProp(this.item, 'focused', this.expanded);
|
|
107
|
+
}
|
|
108
|
+
// Prevents seam-menu from closing out when toggling child expand
|
|
109
|
+
event.stopPropagation();
|
|
110
|
+
}
|
|
111
|
+
// Updates expanded state when user exits seam-menu
|
|
112
|
+
_menuEvent(menuExpanded) {
|
|
113
|
+
if (menuExpanded === false) {
|
|
114
|
+
this.expanded = false;
|
|
115
|
+
// TODO: figure out why closing seam-menu with expanded submenu messes up animation
|
|
116
|
+
if (this._navItems && this._navItems.length) {
|
|
117
|
+
this._navItems.forEach(navItem => {
|
|
118
|
+
navItem.expanded = false;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
get showIconBlock() {
|
|
124
|
+
return notNullOrUndefined(this.icon) || this.hideEmptyIcon !== true;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
NavItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavItemComponent, deps: [{ token: i1.TheSeamNavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
+
NavItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NavItemComponent, selector: "seam-nav-item", inputs: { item: "item", itemType: "itemType", icon: "icon", hideEmptyIcon: "hideEmptyIcon", label: "label", active: "active", link: "link", queryParams: "queryParams", children: "children", hierLevel: "hierLevel", indentSize: "indentSize", expanded: "expanded", compact: "compact", focused: "focused", badgeText: "badgeText", badgeTheme: "badgeTheme", badgeSrContent: "badgeSrContent", badgeTooltip: "badgeTooltip", childAction: "childAction", expandAction: "expandAction" }, outputs: { navItemExpanded: "navItemExpanded" }, host: { properties: { "class.seam-nav-item--active": "this._isActiveCssClass", "class.seam-nav-item--child-active": "this._isChildActiveCssClass", "class.seam-nav-item--expanded": "this._isExpandedCssClass", "class.seam-nav-item--focused": "this._isFocusedCssClass", "attr.data-hier-level": "this._attrDataHierLevel" } }, viewQueries: [{ propertyName: "_menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_navItems", predicate: NavItemComponent, descendants: true }], exportAs: ["seamNavItem"], ngImport: i0, template: "<div class=\"d-flex flex-row h-100\">\n <ng-container *ngIf=\"itemType === 'basic'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeBasic\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'link'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeLink\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'divider'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeDivider\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'title'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeTitle\"></ng-template>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"hasExpandingChildren\">\n <div class=\"nav--group nav--group--level-{{ hierLevel + 1 }}\"\n *ngIf=\"expanded$ | async\" @childGroupAnim>\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"nav-item btn nav-btn p-0 d-flex align-items-stretch flex-row text-decoration-none w-100\"\n cdkMonitorElementFocus\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\">\n <div class=\"nav-link d-flex flex-row align-items-center w-100\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n\n <div *ngIf=\"hasChildren && !compact\"\n class=\"btn nav-btn nav-item--toggle-btn-container d-flex align-items-center\">\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <a *ngIf=\"link; else noLink\" class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </a>\n\n <ng-template #noLink>\n <a class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn nav-btn nav-item--toggle-btn-container\"\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"nav-item--title pt-1\" nav-item-label>{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #itemBadge>\n <ng-container *ngIf=\"badgeText\">\n <div class=\"badge-spacer flex-grow-1\" *ngIf=\"!compact\"></div>\n <div class=\"nav-item--badge\"\n [class.nav-item--badge-no-icon]=\"!icon\"\n [ngbTooltip]=\"$any(badgeTooltip)?.tooltip\"\n [tooltipClass]=\"$any(badgeTooltip)?.class\"\n [placement]=\"$any(badgeTooltip)?.placement\"\n [container]=\"$any(badgeTooltip)?.container\"\n [disableTooltip]=\"!badgeTooltip || !!$any(badgeTooltip)?.disabled\">\n <span class=\"badge badge-pill badge-{{ badgeTheme }}\">\n <ng-container *ngIf=\"!compact || !icon\">\n {{ badgeText }}\n </ng-container>\n <span *ngIf=\"badgeSrContent\">{{ badgeSrContent }}</span>\n </span>\n </div>\n </ng-container>\n</ng-template>\n\n<seam-menu #menu *ngIf=\"hasMenuToggle\">\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n</seam-menu>\n\n<ng-template #navChildren>\n <seam-nav-item *ngFor=\"let child of children\"\n [item]=\"child\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [itemType]=\"$any(child).itemType\"\n [icon]=\"$any(child).icon\"\n [label]=\"$any(child).label\"\n [link]=\"$any(child).link\"\n [badgeText]=\"$any(child).badge?.text\"\n [badgeTheme]=\"$any(child).badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(child).badge?.srContent\"\n [badgeTooltip]=\"$any(child)?.badge?.tooltip\"\n [queryParams]=\"$any(child).queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [children]=\"$any(child)?.children\"\n [active]=\"$any(child).__state?.active\"\n [expanded]=\"$any(child).__state?.expanded\"\n [focused]=\"$any(child).__state?.focused\"\n childAction=\"expand\"\n [hideEmptyIcon]=\"hideEmptyIcon\">\n </seam-nav-item>\n</ng-template>\n\n", styles: ["seam-nav-item{display:block;transition:.25s ease-in-out background-color;text-align:inherit;border-radius:0;overflow:hidden;background:transparent;margin:0}seam-nav-item.seam-nav-item--expanded{background-color:transparent}seam-nav-item.seam-nav-item--expanded .nav-link{color:#000}seam-nav-item.seam-nav-item--child-active{background-color:#dae0e5}seam-nav-item.seam-nav-item--child-active .nav-link{color:#000}seam-nav-item.seam-nav-item--active{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .active,seam-nav-item.seam-nav-item--active:active,seam-nav-item.seam-nav-item--active .nav-item.active:hover{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .nav-item:hover{background-color:#e9ecef}seam-nav-item.seam-nav-item--active .nav-link{color:#000}seam-nav-item .badge{vertical-align:middle}seam-nav-item:not(.nav-item--icon) .nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-nav-item .nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center;margin-right:.5rem}seam-nav-item .nav-item--icon .nav-item--badge{top:-4px;right:-4px;position:absolute}seam-nav-item .nav-item--icon .nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-nav-item .nav-item--icon .nav-item--badge.nav-item--badge-no-icon{top:0;right:0}seam-nav-item .nav-item{transition:.25s ease-in-out background-color}seam-nav-item .nav-item:hover{background-color:#e9ecef}seam-nav-item .nav-item.active{pointer-events:none;cursor:default}seam-nav-item a.nav-item:not([href]):not([tabindex]){color:#000}seam-nav-item a.nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-nav-item .nav-link{color:#000}seam-nav-item .nav-btn{font-weight:400;color:#000;text-decoration:none;border-radius:0;border:0 solid #dee2e6}seam-nav-item .nav-btn:hover{color:#000;text-decoration:underline}seam-nav-item .nav-btn:focus,seam-nav-item .nav-btn.focus{text-decoration:underline;box-shadow:none}seam-nav-item .nav-btn:disabled,seam-nav-item .nav-btn.disabled{color:#000;pointer-events:none}seam-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-nav-item .nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:0 .5rem}seam-nav-item button.nav-item--toggle-btn-container:hover{background-color:#e9ecef}seam-nav-item .nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform;transform:none}seam-nav-item .nav-item--toggle-btn.nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-nav-item .nav--group{will-change:height;overflow:hidden}seam-nav-item .nav--group--level-1{background-color:#eff1f4}seam-nav-item .nav--group--level-2{background-color:#e6eaed}seam-nav-item .nav--group--level-3{background-color:#dde2e7}seam-nav-item .nav--group--level-4{background-color:#d4dae1}seam-nav-item .nav--group--level-5{background-color:#cbd3da}seam-nav-item .nav--group--level-6{background-color:#c2cbd4}seam-nav-item .nav--group--level-7{background-color:#bac3cd}seam-nav-item .nav--group--level-8{background-color:#b1bcc7}seam-nav-item .nav--group--level-9{background-color:#a8b4c1}seam-nav-item .nav-item--divider{display:block;border-top:1px solid #dae0e5;width:100%}seam-nav-item .nav-item--title{color:#000;font-size:24px;padding-left:10px}seam-nav-item .sr-only{top:0;left:0}\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: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i5.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i6.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i7.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i7.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: NavItemComponent, selector: "seam-nav-item", inputs: ["item", "itemType", "icon", "hideEmptyIcon", "label", "active", "link", "queryParams", "children", "hierLevel", "indentSize", "expanded", "compact", "focused", "badgeText", "badgeTheme", "badgeSrContent", "badgeTooltip", "childAction", "expandAction"], outputs: ["navItemExpanded"], exportAs: ["seamNavItem"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [
|
|
129
|
+
trigger('childGroupAnim', [
|
|
130
|
+
transition(':enter', [
|
|
131
|
+
style({ height: 0 }),
|
|
132
|
+
animate('0.2s ease-in-out', style({ height: '*' }))
|
|
133
|
+
]),
|
|
134
|
+
transition(':leave', [
|
|
135
|
+
style({ height: '*' }),
|
|
136
|
+
animate('0.2s ease-in-out', style({ height: 0 }))
|
|
137
|
+
])
|
|
138
|
+
])
|
|
139
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
140
|
+
__decorate([
|
|
141
|
+
InputBoolean()
|
|
142
|
+
], NavItemComponent.prototype, "active", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
InputNumber(0)
|
|
145
|
+
], NavItemComponent.prototype, "hierLevel", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
InputNumber(10)
|
|
148
|
+
], NavItemComponent.prototype, "indentSize", void 0);
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavItemComponent, decorators: [{
|
|
150
|
+
type: Component,
|
|
151
|
+
args: [{ selector: 'seam-nav-item', exportAs: 'seamNavItem', animations: [
|
|
152
|
+
trigger('childGroupAnim', [
|
|
153
|
+
transition(':enter', [
|
|
154
|
+
style({ height: 0 }),
|
|
155
|
+
animate('0.2s ease-in-out', style({ height: '*' }))
|
|
156
|
+
]),
|
|
157
|
+
transition(':leave', [
|
|
158
|
+
style({ height: '*' }),
|
|
159
|
+
animate('0.2s ease-in-out', style({ height: 0 }))
|
|
160
|
+
])
|
|
161
|
+
])
|
|
162
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"d-flex flex-row h-100\">\n <ng-container *ngIf=\"itemType === 'basic'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeBasic\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'link'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeLink\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'divider'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeDivider\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'title'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeTitle\"></ng-template>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"hasExpandingChildren\">\n <div class=\"nav--group nav--group--level-{{ hierLevel + 1 }}\"\n *ngIf=\"expanded$ | async\" @childGroupAnim>\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"nav-item btn nav-btn p-0 d-flex align-items-stretch flex-row text-decoration-none w-100\"\n cdkMonitorElementFocus\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\">\n <div class=\"nav-link d-flex flex-row align-items-center w-100\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n\n <div *ngIf=\"hasChildren && !compact\"\n class=\"btn nav-btn nav-item--toggle-btn-container d-flex align-items-center\">\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <a *ngIf=\"link; else noLink\" class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </a>\n\n <ng-template #noLink>\n <a class=\"nav-item nav-link d-flex flex-row w-100 align-items-center\" [class.nav-link__compact]=\"compact\">\n <div class=\"nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon [icon]=\"icon\" *ngIf=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn nav-btn nav-item--toggle-btn-container\"\n (click)=\"_toggleChildren($event)\"\n [seamMenuToggle]=\"menuTpl\"\n (menuToggle)=\"_menuEvent($event)\"\n [attr.aria-expanded]=\"expanded$ | async\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"nav-item--toggle-btn\"\n [class.nav-item--toggle-btn-expanded]=\"expanded$ | async\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"nav-item--title pt-1\" nav-item-label>{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #itemBadge>\n <ng-container *ngIf=\"badgeText\">\n <div class=\"badge-spacer flex-grow-1\" *ngIf=\"!compact\"></div>\n <div class=\"nav-item--badge\"\n [class.nav-item--badge-no-icon]=\"!icon\"\n [ngbTooltip]=\"$any(badgeTooltip)?.tooltip\"\n [tooltipClass]=\"$any(badgeTooltip)?.class\"\n [placement]=\"$any(badgeTooltip)?.placement\"\n [container]=\"$any(badgeTooltip)?.container\"\n [disableTooltip]=\"!badgeTooltip || !!$any(badgeTooltip)?.disabled\">\n <span class=\"badge badge-pill badge-{{ badgeTheme }}\">\n <ng-container *ngIf=\"!compact || !icon\">\n {{ badgeText }}\n </ng-container>\n <span *ngIf=\"badgeSrContent\">{{ badgeSrContent }}</span>\n </span>\n </div>\n </ng-container>\n</ng-template>\n\n<seam-menu #menu *ngIf=\"hasMenuToggle\">\n <ng-container *ngTemplateOutlet=\"navChildren\"></ng-container>\n</seam-menu>\n\n<ng-template #navChildren>\n <seam-nav-item *ngFor=\"let child of children\"\n [item]=\"child\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [itemType]=\"$any(child).itemType\"\n [icon]=\"$any(child).icon\"\n [label]=\"$any(child).label\"\n [link]=\"$any(child).link\"\n [badgeText]=\"$any(child).badge?.text\"\n [badgeTheme]=\"$any(child).badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(child).badge?.srContent\"\n [badgeTooltip]=\"$any(child)?.badge?.tooltip\"\n [queryParams]=\"$any(child).queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [children]=\"$any(child)?.children\"\n [active]=\"$any(child).__state?.active\"\n [expanded]=\"$any(child).__state?.expanded\"\n [focused]=\"$any(child).__state?.focused\"\n childAction=\"expand\"\n [hideEmptyIcon]=\"hideEmptyIcon\">\n </seam-nav-item>\n</ng-template>\n\n", styles: ["seam-nav-item{display:block;transition:.25s ease-in-out background-color;text-align:inherit;border-radius:0;overflow:hidden;background:transparent;margin:0}seam-nav-item.seam-nav-item--expanded{background-color:transparent}seam-nav-item.seam-nav-item--expanded .nav-link{color:#000}seam-nav-item.seam-nav-item--child-active{background-color:#dae0e5}seam-nav-item.seam-nav-item--child-active .nav-link{color:#000}seam-nav-item.seam-nav-item--active{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .active,seam-nav-item.seam-nav-item--active:active,seam-nav-item.seam-nav-item--active .nav-item.active:hover{background-color:#dae0e5}seam-nav-item.seam-nav-item--active .nav-item:hover{background-color:#e9ecef}seam-nav-item.seam-nav-item--active .nav-link{color:#000}seam-nav-item .badge{vertical-align:middle}seam-nav-item:not(.nav-item--icon) .nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-nav-item .nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center;margin-right:.5rem}seam-nav-item .nav-item--icon .nav-item--badge{top:-4px;right:-4px;position:absolute}seam-nav-item .nav-item--icon .nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-nav-item .nav-item--icon .nav-item--badge.nav-item--badge-no-icon{top:0;right:0}seam-nav-item .nav-item{transition:.25s ease-in-out background-color}seam-nav-item .nav-item:hover{background-color:#e9ecef}seam-nav-item .nav-item.active{pointer-events:none;cursor:default}seam-nav-item a.nav-item:not([href]):not([tabindex]){color:#000}seam-nav-item a.nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-nav-item .nav-link{color:#000}seam-nav-item .nav-btn{font-weight:400;color:#000;text-decoration:none;border-radius:0;border:0 solid #dee2e6}seam-nav-item .nav-btn:hover{color:#000;text-decoration:underline}seam-nav-item .nav-btn:focus,seam-nav-item .nav-btn.focus{text-decoration:underline;box-shadow:none}seam-nav-item .nav-btn:disabled,seam-nav-item .nav-btn.disabled{color:#000;pointer-events:none}seam-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-nav-item .nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:0 .5rem}seam-nav-item button.nav-item--toggle-btn-container:hover{background-color:#e9ecef}seam-nav-item .nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform;transform:none}seam-nav-item .nav-item--toggle-btn.nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-nav-item .nav--group{will-change:height;overflow:hidden}seam-nav-item .nav--group--level-1{background-color:#eff1f4}seam-nav-item .nav--group--level-2{background-color:#e6eaed}seam-nav-item .nav--group--level-3{background-color:#dde2e7}seam-nav-item .nav--group--level-4{background-color:#d4dae1}seam-nav-item .nav--group--level-5{background-color:#cbd3da}seam-nav-item .nav--group--level-6{background-color:#c2cbd4}seam-nav-item .nav--group--level-7{background-color:#bac3cd}seam-nav-item .nav--group--level-8{background-color:#b1bcc7}seam-nav-item .nav--group--level-9{background-color:#a8b4c1}seam-nav-item .nav-item--divider{display:block;border-top:1px solid #dae0e5;width:100%}seam-nav-item .nav-item--title{color:#000;font-size:24px;padding-left:10px}seam-nav-item .sr-only{top:0;left:0}\n"] }]
|
|
163
|
+
}], ctorParameters: function () { return [{ type: i1.TheSeamNavService }]; }, propDecorators: { item: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], itemType: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], icon: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], hideEmptyIcon: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], label: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], active: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], link: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], queryParams: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], children: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], hierLevel: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], indentSize: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], expanded: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], compact: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], focused: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], badgeText: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], badgeTheme: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], badgeSrContent: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], badgeTooltip: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], childAction: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], expandAction: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], navItemExpanded: [{
|
|
204
|
+
type: Output
|
|
205
|
+
}], _isActiveCssClass: [{
|
|
206
|
+
type: HostBinding,
|
|
207
|
+
args: ['class.seam-nav-item--active']
|
|
208
|
+
}], _isChildActiveCssClass: [{
|
|
209
|
+
type: HostBinding,
|
|
210
|
+
args: ['class.seam-nav-item--child-active']
|
|
211
|
+
}], _isExpandedCssClass: [{
|
|
212
|
+
type: HostBinding,
|
|
213
|
+
args: ['class.seam-nav-item--expanded']
|
|
214
|
+
}], _isFocusedCssClass: [{
|
|
215
|
+
type: HostBinding,
|
|
216
|
+
args: ['class.seam-nav-item--focused']
|
|
217
|
+
}], _attrDataHierLevel: [{
|
|
218
|
+
type: HostBinding,
|
|
219
|
+
args: ['attr.data-hier-level']
|
|
220
|
+
}], _menu: [{
|
|
221
|
+
type: ViewChild,
|
|
222
|
+
args: [MenuComponent]
|
|
223
|
+
}], _navItems: [{
|
|
224
|
+
type: ViewChildren,
|
|
225
|
+
args: [NavItemComponent]
|
|
226
|
+
}] } });
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQWdCLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUE7QUFDeEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBSW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxjQUFjLENBQUE7Ozs7Ozs7OztBQXdCOUQsTUFBTSxPQUFPLGdCQUFnQjtJQXVCM0IsSUFDSSxJQUFJLENBQUMsS0FBZ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDckUsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFZdEMsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQztJQUk5QyxJQUNJLE9BQU8sQ0FBQyxLQUFjLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDaEYsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFjNUMsSUFDSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQztJQUNoRCxJQUFJLFlBQVksQ0FBQyxLQUFzRDtRQUNyRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN6QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRztvQkFDbkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsU0FBUyxFQUFFLE1BQU07b0JBQ2pCLFFBQVEsRUFBRSxLQUFLO2lCQUNoQixDQUFBO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRztvQkFDbkIsR0FBRyxLQUFLO29CQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLE1BQU07b0JBQ3BDLFFBQVEsRUFBRSxPQUFPLEtBQUssRUFBRSxRQUFRLEtBQUssU0FBUzt3QkFDNUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRO3dCQUNoQixDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVE7aUJBQ3RDLENBQUE7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQTtTQUMvQjtJQUNILENBQUM7SUFTRCxJQUFnRCxpQkFBaUIsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRTFGLElBQXNELHNCQUFzQixLQUFLLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQSxDQUFDLENBQUM7SUFFN0csSUFBa0QsbUJBQW1CLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUVoRyxJQUFpRCxrQkFBa0IsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBRTdGLElBQXlDLGtCQUFrQixLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFNdkYsWUFDbUIsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFwR3pCLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUU1QyxnQkFBVyxHQUFHLFdBQVcsQ0FBQTtRQVlULFdBQU0sR0FBRyxLQUFLLENBQUE7UUFLdEIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUE0QixTQUFTLENBQUMsQ0FBQTtRQUNsRSxVQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQU14QixjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBRVosZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQU94QixjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUE7UUFDaEQsY0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUE7UUFLeEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFBO1FBQy9DLGFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBRTlDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFHZixlQUFVLEdBQWtDLFFBQVEsQ0FBQTtRQWdDcEQsZ0JBQVcsR0FBdUIsTUFBTSxDQUFBO1FBRXhDLGlCQUFZLEdBQXdCLFFBQVEsQ0FBQTtRQUUzQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7SUFrQm5ELENBQUM7SUFFTCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sK0JBQStCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ2xEO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFBO0lBQ3hELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFBO0lBQzFELENBQUM7SUFFTSxlQUFlLENBQUMsS0FBWTtRQUNqQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksRUFBRTtZQUN0QyxFQUFFLEdBQUcsSUFBSSxDQUFBO1NBQ1Y7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7U0FDaEU7UUFFRCxpRUFBaUU7UUFDakUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsVUFBVSxDQUFDLFlBQWlCO1FBQzFCLElBQUksWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtZQUVyQixtRkFBbUY7WUFDbkYsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDL0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7Z0JBQzFCLENBQUMsQ0FBQyxDQUFBO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQTtJQUNyRSxDQUFDOzs4R0ExS1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMjZCQXNHaEIsYUFBYSwrREFFVixnQkFBZ0IsMkVDN0poQywyd01BMEtBLDh2S0RySGEsZ0JBQWdCLGdhQWZmO1FBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25CLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3BELENBQUM7WUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNsRCxDQUFDO1NBQ0gsQ0FBQztLQUNIO0FBeUJ3QjtJQUFmLFlBQVksRUFBRTtnREFBZTtBQVlkO0lBQWYsV0FBVyxDQUFDLENBQUMsQ0FBQzttREFBYztBQUVaO0lBQWhCLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0RBQWdCOzRGQW5DOUIsZ0JBQWdCO2tCQXBCNUIsU0FBUzsrQkFDRSxlQUFlLFlBR2YsYUFBYSxjQUNYO3dCQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNwQixPQUFPLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NkJBQ3BELENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2dDQUN0QixPQUFPLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ2xELENBQUM7eUJBQ0gsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt3R0FhNUIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVtQixNQUFNO3NCQUE5QixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRW1CLFNBQVM7c0JBQWpDLEtBQUs7Z0JBRW9CLFVBQVU7c0JBQW5DLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLE9BQU87c0JBRFYsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0YsWUFBWTtzQkFEZixLQUFLO2dCQXlCRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFFeUMsaUJBQWlCO3NCQUFoRSxXQUFXO3VCQUFDLDZCQUE2QjtnQkFFWSxzQkFBc0I7c0JBQTNFLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUVFLG1CQUFtQjtzQkFBcEUsV0FBVzt1QkFBQywrQkFBK0I7Z0JBRUssa0JBQWtCO3NCQUFsRSxXQUFXO3VCQUFDLDhCQUE4QjtnQkFFRixrQkFBa0I7c0JBQTFELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUVULEtBQUs7c0JBQTlCLFNBQVM7dUJBQUMsYUFBYTtnQkFFUSxTQUFTO3NCQUF4QyxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IGZhQW5nbGVMZWZ0IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgdHlwZSB7IFNlYW1JY29uIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgdHlwZSB7IFRoZW1lVHlwZXMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbW9kZWxzJ1xuXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5pbXBvcnQgeyBob3Jpem9udGFsTmF2SXRlbUhhc0FjdGl2ZUNoaWxkIH0gZnJvbSAnLi4vbmF2LXV0aWxzJ1xuaW1wb3J0IHsgSU5hdkl0ZW0sIE5hdkl0ZW1CYWRnZVRvb2x0aXAsIE5hdkl0ZW1DaGlsZEFjdGlvbiwgTmF2SXRlbUV4cGFuZEFjdGlvbiB9IGZyb20gJy4uL25hdi5tb2RlbHMnXG5pbXBvcnQgeyBUaGVTZWFtTmF2U2VydmljZSB9IGZyb20gJy4uL25hdi5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLW5hdi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzZWFtTmF2SXRlbScsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdjaGlsZEdyb3VwQW5pbScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IGhlaWdodDogMCB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oaWVyTGV2ZWw6IE51bWJlcklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9pbmRlbnRTaXplOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZXhwYW5kZWQ6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY29tcGFjdDogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hY3RpdmU6IEJvb2xlYW5JbnB1dFxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgcmVhZG9ubHkgZmFBbmdsZUxlZnQgPSBmYUFuZ2xlTGVmdFxuXG4gIEBJbnB1dCgpIGl0ZW06IElOYXZJdGVtIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGl0ZW1UeXBlOiAnZGl2aWRlcicgfCAnYmFzaWMnIHwgJ2xpbmsnIHwgJ2J1dHRvbicgfCAndGl0bGUnIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGljb246IFNlYW1JY29uIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGhpZGVFbXB0eUljb246IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgYWN0aXZlID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBzZXQgbGluayh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkgeyB0aGlzLl9saW5rLm5leHQodmFsdWUpIH1cbiAgZ2V0IGxpbmsoKSB7IHJldHVybiB0aGlzLl9saW5rLnZhbHVlIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfbGluayA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4odW5kZWZpbmVkKVxuICBwdWJsaWMgcmVhZG9ubHkgbGluayQgPSB0aGlzLl9saW5rLmFzT2JzZXJ2YWJsZSgpXG5cbiAgQElucHV0KCkgcXVlcnlQYXJhbXM6IHsgW2s6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGNoaWxkcmVuOiBJTmF2SXRlbVtdIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigwKSBoaWVyTGV2ZWwgPSAwXG5cbiAgQElucHV0KCkgQElucHV0TnVtYmVyKDEwKSBpbmRlbnRTaXplID0gMTBcblxuICBASW5wdXQoKVxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9leHBhbmRlZC5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpXG4gIH1cbiAgZ2V0IGV4cGFuZGVkKCkgeyByZXR1cm4gdGhpcy5fZXhwYW5kZWQudmFsdWUgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9leHBhbmRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG4gIHB1YmxpYyByZWFkb25seSBleHBhbmRlZCQgPSB0aGlzLl9leHBhbmRlZC5hc09ic2VydmFibGUoKVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21wYWN0KHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX2NvbXBhY3QubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKSB9XG4gIGdldCBjb21wYWN0KCkgeyByZXR1cm4gdGhpcy5fY29tcGFjdC52YWx1ZSB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBhY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY29tcGFjdCQgPSB0aGlzLl9jb21wYWN0LmFzT2JzZXJ2YWJsZSgpXG5cbiAgQElucHV0KCkgZm9jdXNlZCA9IGZhbHNlXG5cbiAgQElucHV0KCkgYmFkZ2VUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG4gIEBJbnB1dCgpIGJhZGdlVGhlbWU6IFRoZW1lVHlwZXMgfCB1bmRlZmluZWQgfCBudWxsID0gJ2RhbmdlcidcblxuICAvKipcbiAgICogQ29udGVudCB0byBwcm92aWRlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LCBzdWNoIGFzIHNjcmVlbiByZWFkZXJzLlxuICAgKi9cbiAgQElucHV0KCkgYmFkZ2VTckNvbnRlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKVxuICBnZXQgYmFkZ2VUb29sdGlwKCkgeyByZXR1cm4gdGhpcy5fYmFkZ2VUb29sdGlwIH1cbiAgc2V0IGJhZGdlVG9vbHRpcCh2YWx1ZTogc3RyaW5nIHwgTmF2SXRlbUJhZGdlVG9vbHRpcCB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fYmFkZ2VUb29sdGlwID0ge1xuICAgICAgICAgIHRvb2x0aXA6IHZhbHVlLFxuICAgICAgICAgIHBsYWNlbWVudDogJ2F1dG8nLFxuICAgICAgICAgIGRpc2FibGVkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9iYWRnZVRvb2x0aXAgPSB7XG4gICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgcGxhY2VtZW50OiB2YWx1ZS5wbGFjZW1lbnQgfHwgJ2F1dG8nLFxuICAgICAgICAgIGRpc2FibGVkOiB0eXBlb2YgdmFsdWU/LmRpc2FibGVkID09PSAnYm9vbGVhbidcbiAgICAgICAgICAgID8gdmFsdWUuZGlzYWJsZWRcbiAgICAgICAgICAgIDogdHlwZW9mIHZhbHVlLnRvb2x0aXAgIT09ICdzdHJpbmcnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYmFkZ2VUb29sdGlwID0gdW5kZWZpbmVkXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2JhZGdlVG9vbHRpcDogTmF2SXRlbUJhZGdlVG9vbHRpcCB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBjaGlsZEFjdGlvbjogTmF2SXRlbUNoaWxkQWN0aW9uID0gJ21lbnUnXG5cbiAgQElucHV0KCkgZXhwYW5kQWN0aW9uOiBOYXZJdGVtRXhwYW5kQWN0aW9uID0gJ3RvZ2dsZSdcblxuICBAT3V0cHV0KCkgbmF2SXRlbUV4cGFuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWFtLW5hdi1pdGVtLS1hY3RpdmUnKSBnZXQgX2lzQWN0aXZlQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLmFjdGl2ZSB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWFtLW5hdi1pdGVtLS1jaGlsZC1hY3RpdmUnKSBnZXQgX2lzQ2hpbGRBY3RpdmVDc3NDbGFzcygpIHsgcmV0dXJuIHRoaXMuaGFzQWN0aXZlQ2hpbGQgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VhbS1uYXYtaXRlbS0tZXhwYW5kZWQnKSBnZXQgX2lzRXhwYW5kZWRDc3NDbGFzcygpIHsgcmV0dXJuIHRoaXMuZXhwYW5kZWQgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VhbS1uYXYtaXRlbS0tZm9jdXNlZCcpIGdldCBfaXNGb2N1c2VkQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLmZvY3VzZWQgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhpZXItbGV2ZWwnKSBnZXQgX2F0dHJEYXRhSGllckxldmVsKCkgeyByZXR1cm4gdGhpcy5oaWVyTGV2ZWwgfVxuXG4gIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudCkgX21lbnU/OiBNZW51Q29tcG9uZW50XG5cbiAgQFZpZXdDaGlsZHJlbihOYXZJdGVtQ29tcG9uZW50KSBfbmF2SXRlbXM/OiBOYXZJdGVtQ29tcG9uZW50W11cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYXY6IFRoZVNlYW1OYXZTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIGdldCBoYXNDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNoaWxkcmVuKSAmJiB0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBoYXNBY3RpdmVDaGlsZCgpIHtcbiAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRoaXMuaXRlbSkpIHtcbiAgICAgIHJldHVybiBob3Jpem9udGFsTmF2SXRlbUhhc0FjdGl2ZUNoaWxkKHRoaXMuaXRlbSlcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBnZXQgaGFzTWVudVRvZ2dsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiAmJiB0aGlzLmNoaWxkQWN0aW9uID09PSAnbWVudSdcbiAgfVxuXG4gIGdldCBtZW51VHBsKCk6IE1lbnVDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhhc01lbnVUb2dnbGUgPyB0aGlzLl9tZW51IDogdW5kZWZpbmVkXG4gIH1cblxuICBnZXQgaGFzRXhwYW5kaW5nQ2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy5jaGlsZEFjdGlvbiA9PT0gJ2V4cGFuZCdcbiAgfVxuXG4gIHB1YmxpYyBfdG9nZ2xlQ2hpbGRyZW4oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgbGV0IGV4ID0gIXRoaXMuZXhwYW5kZWRcbiAgICBpZiAodGhpcy5leHBhbmRBY3Rpb24gPT09ICdleHBhbmRPbmx5Jykge1xuICAgICAgZXggPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZCA9IGV4XG4gICAgdGhpcy5uYXZJdGVtRXhwYW5kZWQuZW1pdCh0aGlzLmV4cGFuZGVkKVxuICAgIGlmICh0aGlzLml0ZW0gJiYgdGhpcy5leHBhbmRlZCkge1xuICAgICAgdGhpcy5fbmF2LnNldEl0ZW1TdGF0ZVByb3AodGhpcy5pdGVtLCAnZm9jdXNlZCcsIHRoaXMuZXhwYW5kZWQpXG4gICAgfVxuXG4gICAgLy8gUHJldmVudHMgc2VhbS1tZW51IGZyb20gY2xvc2luZyBvdXQgd2hlbiB0b2dnbGluZyBjaGlsZCBleHBhbmRcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgLy8gVXBkYXRlcyBleHBhbmRlZCBzdGF0ZSB3aGVuIHVzZXIgZXhpdHMgc2VhbS1tZW51XG4gIF9tZW51RXZlbnQobWVudUV4cGFuZGVkOiBhbnkpIHtcbiAgICBpZiAobWVudUV4cGFuZGVkID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlXG5cbiAgICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgd2h5IGNsb3Npbmcgc2VhbS1tZW51IHdpdGggZXhwYW5kZWQgc3VibWVudSBtZXNzZXMgdXAgYW5pbWF0aW9uXG4gICAgICBpZiAodGhpcy5fbmF2SXRlbXMgJiYgdGhpcy5fbmF2SXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX25hdkl0ZW1zLmZvckVhY2gobmF2SXRlbSA9PiB7XG4gICAgICAgICAgbmF2SXRlbS5leHBhbmRlZCA9IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dJY29uQmxvY2soKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5vdE51bGxPclVuZGVmaW5lZCh0aGlzLmljb24pIHx8IHRoaXMuaGlkZUVtcHR5SWNvbiAhPT0gdHJ1ZVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgaC0xMDBcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UeXBlID09PSAnYmFzaWMnXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlQmFzaWNcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UeXBlID09PSAnbGluaydcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVR5cGVMaW5rXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVHlwZSA9PT0gJ2RpdmlkZXInXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlRGl2aWRlclwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVR5cGUgPT09ICd0aXRsZSdcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVR5cGVUaXRsZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNFeHBhbmRpbmdDaGlsZHJlblwiPlxuICA8ZGl2IGNsYXNzPVwibmF2LS1ncm91cCBuYXYtLWdyb3VwLS1sZXZlbC17eyBoaWVyTGV2ZWwgKyAxIH19XCJcbiAgICAqbmdJZj1cImV4cGFuZGVkJCB8IGFzeW5jXCIgQGNoaWxkR3JvdXBBbmltPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuYXZDaGlsZHJlblwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UeXBlQmFzaWM+XG4gIDxidXR0b24gY2xhc3M9XCJuYXYtaXRlbSBidG4gbmF2LWJ0biBwLTAgZC1mbGV4IGFsaWduLWl0ZW1zLXN0cmV0Y2ggZmxleC1yb3cgdGV4dC1kZWNvcmF0aW9uLW5vbmUgdy0xMDBcIlxuICAgIGNka01vbml0b3JFbGVtZW50Rm9jdXNcbiAgICAoY2xpY2spPVwiX3RvZ2dsZUNoaWxkcmVuKCRldmVudClcIlxuICAgIFtzZWFtTWVudVRvZ2dsZV09XCJtZW51VHBsXCJcbiAgICAobWVudVRvZ2dsZSk9XCJfbWVudUV2ZW50KCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQkIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibmF2LWxpbmsgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiIFtjbGFzcy5uYXYtbGlua19fY29tcGFjdF09XCJjb21wYWN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0tLWljb25cIiAqbmdJZj1cInNob3dJY29uQmxvY2tcIj5cbiAgICAgICAgPHNlYW0taWNvbiBbaWNvbl09XCJpY29uXCIgKm5nSWY9XCJpY29uXCI+PC9zZWFtLWljb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wYWN0XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1CYWRnZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFjb21wYWN0XCIgbmF2LWl0ZW0tbGFiZWw+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbXBhY3RcIiBjbGFzcz1cInNyLW9ubHlcIiBuYXYtaXRlbS1sYWJlbD57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tcGFjdFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUJhZGdlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhhc0NoaWxkcmVuICYmICFjb21wYWN0XCJcbiAgICAgIGNsYXNzPVwiYnRuIG5hdi1idG4gbmF2LWl0ZW0tLXRvZ2dsZS1idG4tY29udGFpbmVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzZWFtLWljb25cbiAgICAgICAgY2xhc3M9XCJuYXYtaXRlbS0tdG9nZ2xlLWJ0blwiXG4gICAgICAgIFtjbGFzcy5uYXYtaXRlbS0tdG9nZ2xlLWJ0bi1leHBhbmRlZF09XCJleHBhbmRlZCQgfCBhc3luY1wiXG4gICAgICAgIFtpY29uXT1cImZhQW5nbGVMZWZ0XCJcbiAgICAgICAgdHlwZT5cbiAgICAgIDwvc2VhbS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVMaW5rPlxuICA8YSAqbmdJZj1cImxpbms7IGVsc2Ugbm9MaW5rXCIgY2xhc3M9XCJuYXYtaXRlbSBuYXYtbGluayBkLWZsZXggZmxleC1yb3cgdy0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MubmF2LWxpbmtfX2NvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgW3JvdXRlckxpbmtdPVwibGlua1wiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtLS1pY29uXCIgKm5nSWY9XCJzaG93SWNvbkJsb2NrXCI+XG4gICAgICA8c2VhbS1pY29uIFtpY29uXT1cImljb25cIiAqbmdJZj1cImljb25cIj48L3NlYW0taWNvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wYWN0XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtQmFkZ2VcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCIhY29tcGFjdFwiIG5hdi1pdGVtLWxhYmVsPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJjb21wYWN0XCIgY2xhc3M9XCJzci1vbmx5XCIgbmF2LWl0ZW0tbGFiZWw+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUJhZGdlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm9MaW5rPlxuICAgIDxhIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWxpbmsgZC1mbGV4IGZsZXgtcm93IHctMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiIFtjbGFzcy5uYXYtbGlua19fY29tcGFjdF09XCJjb21wYWN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0tLWljb25cIiAqbmdJZj1cInNob3dJY29uQmxvY2tcIj5cbiAgICAgICAgPHNlYW0taWNvbiBbaWNvbl09XCJpY29uXCIgKm5nSWY9XCJpY29uXCI+PC9zZWFtLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWNvbXBhY3RcIiBuYXYtaXRlbS1sYWJlbD5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29tcGFjdFwiIGNsYXNzPVwic3Itb25seVwiIG5hdi1pdGVtLWxhYmVsPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8YnV0dG9uICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgIWNvbXBhY3RcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIG5hdi1idG4gbmF2LWl0ZW0tLXRvZ2dsZS1idG4tY29udGFpbmVyXCJcbiAgICAoY2xpY2spPVwiX3RvZ2dsZUNoaWxkcmVuKCRldmVudClcIlxuICAgIFtzZWFtTWVudVRvZ2dsZV09XCJtZW51VHBsXCJcbiAgICAobWVudVRvZ2dsZSk9XCJfbWVudUV2ZW50KCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQkIHwgYXN5bmNcIlxuICAgIGNka01vbml0b3JFbGVtZW50Rm9jdXM+XG4gICAgPHNlYW0taWNvblxuICAgICAgY2xhc3M9XCJuYXYtaXRlbS0tdG9nZ2xlLWJ0blwiXG4gICAgICBbY2xhc3MubmF2LWl0ZW0tLXRvZ2dsZS1idG4tZXhwYW5kZWRdPVwiZXhwYW5kZWQkIHwgYXN5bmNcIlxuICAgICAgW2ljb25dPVwiZmFBbmdsZUxlZnRcIlxuICAgICAgdHlwZT5cbiAgICA8L3NlYW0taWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Hcm91cCBUb2dnbGU8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtVHlwZURpdmlkZXI+XG4gIDxkaXYgY2xhc3M9XCJweC0yIHctMTAwXCI+XG4gICAgPGhyIGNsYXNzPVwibmF2LWl0ZW0tLWRpdmlkZXJcIiAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVUaXRsZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJuYXYtaXRlbS0tdGl0bGUgcHQtMVwiIG5hdi1pdGVtLWxhYmVsPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbUJhZGdlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmFkZ2VUZXh0XCI+XG4gICAgPGRpdiBjbGFzcz1cImJhZGdlLXNwYWNlciBmbGV4LWdyb3ctMVwiICpuZ0lmPVwiIWNvbXBhY3RcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0tLWJhZGdlXCJcbiAgICAgIFtjbGFzcy5uYXYtaXRlbS0tYmFkZ2Utbm8taWNvbl09XCIhaWNvblwiXG4gICAgICBbbmdiVG9vbHRpcF09XCIkYW55KGJhZGdlVG9vbHRpcCk/LnRvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBDbGFzc109XCIkYW55KGJhZGdlVG9vbHRpcCk/LmNsYXNzXCJcbiAgICAgIFtwbGFjZW1lbnRdPVwiJGFueShiYWRnZVRvb2x0aXApPy5wbGFjZW1lbnRcIlxuICAgICAgW2NvbnRhaW5lcl09XCIkYW55KGJhZGdlVG9vbHRpcCk/LmNvbnRhaW5lclwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIWJhZGdlVG9vbHRpcCB8fCAhISRhbnkoYmFkZ2VUb29sdGlwKT8uZGlzYWJsZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS17eyBiYWRnZVRoZW1lIH19XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tcGFjdCB8fCAhaWNvblwiPlxuICAgICAgICAgIHt7IGJhZGdlVGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWRnZVNyQ29udGVudFwiPnt7IGJhZGdlU3JDb250ZW50IH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxzZWFtLW1lbnUgI21lbnUgKm5nSWY9XCJoYXNNZW51VG9nZ2xlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuYXZDaGlsZHJlblwiPjwvbmctY29udGFpbmVyPlxuPC9zZWFtLW1lbnU+XG5cbjxuZy10ZW1wbGF0ZSAjbmF2Q2hpbGRyZW4+XG4gIDxzZWFtLW5hdi1pdGVtICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBjaGlsZHJlblwiXG4gICAgW2l0ZW1dPVwiY2hpbGRcIlxuICAgIFtoaWVyTGV2ZWxdPVwiY29tcGFjdCA/IDAgOiAoaGllckxldmVsICsgMSlcIlxuICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxuICAgIFtpdGVtVHlwZV09XCIkYW55KGNoaWxkKS5pdGVtVHlwZVwiXG4gICAgW2ljb25dPVwiJGFueShjaGlsZCkuaWNvblwiXG4gICAgW2xhYmVsXT1cIiRhbnkoY2hpbGQpLmxhYmVsXCJcbiAgICBbbGlua109XCIkYW55KGNoaWxkKS5saW5rXCJcbiAgICBbYmFkZ2VUZXh0XT1cIiRhbnkoY2hpbGQpLmJhZGdlPy50ZXh0XCJcbiAgICBbYmFkZ2VUaGVtZV09XCIkYW55KGNoaWxkKS5iYWRnZT8udGhlbWUgfHwgJ2RhbmdlcidcIlxuICAgIFtiYWRnZVNyQ29udGVudF09XCIkYW55KGNoaWxkKS5iYWRnZT8uc3JDb250ZW50XCJcbiAgICBbYmFkZ2VUb29sdGlwXT1cIiRhbnkoY2hpbGQpPy5iYWRnZT8udG9vbHRpcFwiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cIiRhbnkoY2hpbGQpLnF1ZXJ5UGFyYW1zXCJcbiAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICBbY2hpbGRyZW5dPVwiJGFueShjaGlsZCk/LmNoaWxkcmVuXCJcbiAgICBbYWN0aXZlXT1cIiRhbnkoY2hpbGQpLl9fc3RhdGU/LmFjdGl2ZVwiXG4gICAgW2V4cGFuZGVkXT1cIiRhbnkoY2hpbGQpLl9fc3RhdGU/LmV4cGFuZGVkXCJcbiAgICBbZm9jdXNlZF09XCIkYW55KGNoaWxkKS5fX3N0YXRlPy5mb2N1c2VkXCJcbiAgICBjaGlsZEFjdGlvbj1cImV4cGFuZFwiXG4gICAgW2hpZGVFbXB0eUljb25dPVwiaGlkZUVtcHR5SWNvblwiPlxuICA8L3NlYW0tbmF2LWl0ZW0+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { hasProperty, isNullOrUndefined } from '@theseam/ui-common/utils';
|
|
2
|
+
export function isHorizontalNavItemType(item, type) {
|
|
3
|
+
return item.itemType === type;
|
|
4
|
+
}
|
|
5
|
+
export function isHorizontalNavItemActive(item) {
|
|
6
|
+
return item.__state?.active ?? false;
|
|
7
|
+
}
|
|
8
|
+
export function isHorizontalNavItemExpanded(item) {
|
|
9
|
+
return item.__state?.expanded ?? false;
|
|
10
|
+
}
|
|
11
|
+
export function isHorizontalNavItemFocused(item) {
|
|
12
|
+
return item.__state?.focused ?? false;
|
|
13
|
+
}
|
|
14
|
+
export function horizontalNavItemHasChildren(item) {
|
|
15
|
+
return horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0;
|
|
16
|
+
}
|
|
17
|
+
export function horizontalNavItemCanHaveChildren(item) {
|
|
18
|
+
return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
|
|
19
|
+
}
|
|
20
|
+
export function horizontalNavItemHasActiveChild(item) {
|
|
21
|
+
if (!horizontalNavItemHasChildren(item)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
for (const child of item.children) {
|
|
25
|
+
if (getHorizontalNavItemStateProp(child, 'active') || horizontalNavItemHasActiveChild(child)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
export function horizontalNavItemHasExpandedChild(item) {
|
|
32
|
+
if (!horizontalNavItemHasChildren(item)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
for (const child of item.children) {
|
|
36
|
+
if (getHorizontalNavItemStateProp(child, 'expanded')) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
export function horizontalNavItemCanBeActive(item) {
|
|
43
|
+
return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
|
|
44
|
+
}
|
|
45
|
+
export function horizontalNavItemCanExpand(item) {
|
|
46
|
+
return horizontalNavItemCanHaveChildren(item);
|
|
47
|
+
}
|
|
48
|
+
export function findHorizontalNavLinkItems(items) {
|
|
49
|
+
const linkItems = [];
|
|
50
|
+
const _fn = (_items) => {
|
|
51
|
+
for (const item of _items) {
|
|
52
|
+
if (isHorizontalNavItemType(item, 'link')) {
|
|
53
|
+
linkItems.push(item);
|
|
54
|
+
}
|
|
55
|
+
if (horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children')) {
|
|
56
|
+
_fn(item.children);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
_fn(items);
|
|
61
|
+
return linkItems;
|
|
62
|
+
}
|
|
63
|
+
export function setHorizontalNavItemStateProp(item, prop, value) {
|
|
64
|
+
if (hasProperty(item, '__state')) {
|
|
65
|
+
item.__state[prop] = value;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export function getHorizontalNavItemStateProp(item, prop) {
|
|
69
|
+
return setDefaultHorizontalNavItemState(item).__state[prop];
|
|
70
|
+
}
|
|
71
|
+
export function setDefaultHorizontalNavItemState(item) {
|
|
72
|
+
if (hasProperty(item, '__state')) {
|
|
73
|
+
return item;
|
|
74
|
+
}
|
|
75
|
+
item.__state = {
|
|
76
|
+
active: false,
|
|
77
|
+
expanded: false,
|
|
78
|
+
focused: false
|
|
79
|
+
};
|
|
80
|
+
// TODO: See if there is a nice way to fix the typing for this.
|
|
81
|
+
return item;
|
|
82
|
+
}
|
|
83
|
+
export function areSameHorizontalNavItem(item1, item2) {
|
|
84
|
+
if (isNullOrUndefined(item1) || isNullOrUndefined(item2)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (item1.itemType !== item2.itemType) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
if (isHorizontalNavItemType(item1, 'title') && isHorizontalNavItemType(item2, 'title')) {
|
|
91
|
+
return item1.label === item2.label;
|
|
92
|
+
}
|
|
93
|
+
else if (isHorizontalNavItemType(item1, 'divider') && isHorizontalNavItemType(item2, 'divider')) {
|
|
94
|
+
return item1.label === item2.label;
|
|
95
|
+
}
|
|
96
|
+
else if (isHorizontalNavItemType(item1, 'basic') && isHorizontalNavItemType(item2, 'basic')) {
|
|
97
|
+
return item1.label === item2.label;
|
|
98
|
+
}
|
|
99
|
+
else if (isHorizontalNavItemType(item1, 'link') && isHorizontalNavItemType(item2, 'link')) {
|
|
100
|
+
return item1.label === item2.label && item1.link === item2.link;
|
|
101
|
+
}
|
|
102
|
+
else if (isHorizontalNavItemType(item1, 'button') && isHorizontalNavItemType(item2, 'button')) {
|
|
103
|
+
return item1.onClick === item2.onClick;
|
|
104
|
+
}
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9uYXYvbmF2LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQW1CekUsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQWMsRUFBRSxJQUFZO0lBQ2xFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUE7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFjO0lBQ3RELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsSUFBYztJQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQTtBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQWM7SUFDdkQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUE7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxJQUFjO0lBQ3pELE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7QUFDNUcsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxJQUFjO0lBQzdELE9BQU8sdUJBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLElBQWM7SUFD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ZXJ0eSwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7XG4gIElOYXZCYXNpYyxcbiAgSU5hdkJ1dHRvbixcbiAgSU5hdkRpdmlkZXIsXG4gIElOYXZJdGVtLFxuICBJTmF2SXRlbVN0YXRlLFxuICBJTmF2TGluayxcbiAgSU5hdlRpdGxlLFxuICBOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuLFxuICBOYXZJdGVtQ2FuSGF2ZVN0YXRlXG59IGZyb20gJy4vbmF2Lm1vZGVscydcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiAndGl0bGUnKTogaXRlbSBpcyBJTmF2VGl0bGVcbmV4cG9ydCBmdW5jdGlvbiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtOiBJTmF2SXRlbSwgdHlwZTogJ2RpdmlkZXInKTogaXRlbSBpcyBJTmF2RGl2aWRlclxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiAnYmFzaWMnKTogaXRlbSBpcyBJTmF2QmFzaWNcbmV4cG9ydCBmdW5jdGlvbiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtOiBJTmF2SXRlbSwgdHlwZTogJ2xpbmsnKTogaXRlbSBpcyBJTmF2TGlua1xuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiAnYnV0dG9uJyk6IGl0ZW0gaXMgSU5hdkJ1dHRvblxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW06IElOYXZJdGVtLCB0eXBlOiBzdHJpbmcpOiBpdGVtIGlzIElOYXZJdGVtIHtcbiAgcmV0dXJuIGl0ZW0uaXRlbVR5cGUgPT09IHR5cGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1BY3RpdmUoaXRlbTogSU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgcmV0dXJuIGl0ZW0uX19zdGF0ZT8uYWN0aXZlID8/IGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hvcml6b250YWxOYXZJdGVtRXhwYW5kZWQoaXRlbTogSU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgcmV0dXJuIGl0ZW0uX19zdGF0ZT8uZXhwYW5kZWQgPz8gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbE5hdkl0ZW1Gb2N1c2VkKGl0ZW06IElOYXZJdGVtKTogYm9vbGVhbiB7XG4gIHJldHVybiBpdGVtLl9fc3RhdGU/LmZvY3VzZWQgPz8gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4oaXRlbTogSU5hdkl0ZW0pOiBpdGVtIGlzIChJTmF2QmFzaWMgfCBJTmF2TGluaykgJiBSZXF1aXJlZDxOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuPiB7XG4gIHJldHVybiBob3Jpem9udGFsTmF2SXRlbUNhbkhhdmVDaGlsZHJlbihpdGVtKSAmJiBoYXNQcm9wZXJ0eShpdGVtLCAnY2hpbGRyZW4nKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuKGl0ZW06IElOYXZJdGVtKTogaXRlbSBpcyAoSU5hdkJhc2ljIHwgSU5hdkxpbmspIHtcbiAgcmV0dXJuIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0sICdiYXNpYycpIHx8IGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0sICdsaW5rJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtSGFzQWN0aXZlQ2hpbGQoaXRlbTogSU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgaWYgKCFob3Jpem9udGFsTmF2SXRlbUhhc0NoaWxkcmVuKGl0ZW0pKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW4pIHtcbiAgICBpZiAoZ2V0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZVByb3AoY2hpbGQsICdhY3RpdmUnKSB8fCBob3Jpem9udGFsTmF2SXRlbUhhc0FjdGl2ZUNoaWxkKGNoaWxkKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtSGFzRXhwYW5kZWRDaGlsZChpdGVtOiBJTmF2SXRlbSk6IGJvb2xlYW4ge1xuICBpZiAoIWhvcml6b250YWxOYXZJdGVtSGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgIGlmIChnZXRIb3Jpem9udGFsTmF2SXRlbVN0YXRlUHJvcChjaGlsZCwgJ2V4cGFuZGVkJykpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBob3Jpem9udGFsTmF2SXRlbUNhbkJlQWN0aXZlKGl0ZW06IElOYXZJdGVtKTogaXRlbSBpcyAoSU5hdkJhc2ljIHwgSU5hdkxpbmspIHtcbiAgcmV0dXJuIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0sICdiYXNpYycpIHx8IGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0sICdsaW5rJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhvcml6b250YWxOYXZJdGVtQ2FuRXhwYW5kKGl0ZW06IElOYXZJdGVtKTogaXRlbSBpcyAoSU5hdkJhc2ljIHwgSU5hdkxpbmspIHtcbiAgcmV0dXJuIGhvcml6b250YWxOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuKGl0ZW0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kSG9yaXpvbnRhbE5hdkxpbmtJdGVtcyhpdGVtczogSU5hdkl0ZW1bXSk6IElOYXZMaW5rW10ge1xuICBjb25zdCBsaW5rSXRlbXM6IElOYXZMaW5rW10gPSBbXVxuXG4gIGNvbnN0IF9mbiA9IChfaXRlbXM6IElOYXZJdGVtW10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgX2l0ZW1zKSB7XG4gICAgICBpZiAoaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKSkge1xuICAgICAgICBsaW5rSXRlbXMucHVzaChpdGVtKVxuICAgICAgfVxuICAgICAgaWYgKGhvcml6b250YWxOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuKGl0ZW0pICYmIGhhc1Byb3BlcnR5KGl0ZW0sICdjaGlsZHJlbicpKSB7XG4gICAgICAgIF9mbihpdGVtLmNoaWxkcmVuKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBfZm4oaXRlbXMpXG5cbiAgcmV0dXJuIGxpbmtJdGVtc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SG9yaXpvbnRhbE5hdkl0ZW1TdGF0ZVByb3A8SyBleHRlbmRzIGtleW9mIElOYXZJdGVtU3RhdGU+KGl0ZW06IElOYXZJdGVtLCBwcm9wOiBLLCB2YWx1ZTogSU5hdkl0ZW1TdGF0ZVtLXSk6IHZvaWQge1xuICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ19fc3RhdGUnKSkge1xuICAgIGl0ZW0uX19zdGF0ZVtwcm9wXSA9IHZhbHVlXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhvcml6b250YWxOYXZJdGVtU3RhdGVQcm9wPEsgZXh0ZW5kcyBrZXlvZiBJTmF2SXRlbVN0YXRlPihpdGVtOiBJTmF2SXRlbSwgcHJvcDogSyk6IElOYXZJdGVtU3RhdGVbS10ge1xuICByZXR1cm4gc2V0RGVmYXVsdEhvcml6b250YWxOYXZJdGVtU3RhdGUoaXRlbSkuX19zdGF0ZVtwcm9wXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVmYXVsdEhvcml6b250YWxOYXZJdGVtU3RhdGUoaXRlbTogSU5hdkl0ZW0pOiBJTmF2SXRlbSAmIFJlcXVpcmVkPE5hdkl0ZW1DYW5IYXZlU3RhdGU+IHtcbiAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdfX3N0YXRlJykpIHtcbiAgICByZXR1cm4gaXRlbVxuICB9XG5cbiAgaXRlbS5fX3N0YXRlID0ge1xuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgIGZvY3VzZWQ6IGZhbHNlXG4gIH0gYXMgSU5hdkl0ZW1TdGF0ZVxuXG4gIC8vIFRPRE86IFNlZSBpZiB0aGVyZSBpcyBhIG5pY2Ugd2F5IHRvIGZpeCB0aGUgdHlwaW5nIGZvciB0aGlzLlxuICByZXR1cm4gaXRlbSBhcyBhbnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVNhbWVIb3Jpem9udGFsTmF2SXRlbShpdGVtMTogSU5hdkl0ZW0gfCB1bmRlZmluZWQsIGl0ZW0yOiBJTmF2SXRlbSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoaXRlbTEpIHx8IGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW0yKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGl0ZW0xLml0ZW1UeXBlICE9PSBpdGVtMi5pdGVtVHlwZSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0xLCAndGl0bGUnKSAmJiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMiwgJ3RpdGxlJykpIHtcbiAgICByZXR1cm4gaXRlbTEubGFiZWwgPT09IGl0ZW0yLmxhYmVsXG4gIH0gZWxzZSBpZiAoaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTEsICdkaXZpZGVyJykgJiYgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTIsICdkaXZpZGVyJykpIHtcbiAgICByZXR1cm4gaXRlbTEubGFiZWwgPT09IGl0ZW0yLmxhYmVsXG4gIH0gZWxzZSBpZiAoaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTEsICdiYXNpYycpICYmIGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0yLCAnYmFzaWMnKSkge1xuICAgIHJldHVybiBpdGVtMS5sYWJlbCA9PT0gaXRlbTIubGFiZWxcbiAgfSBlbHNlIGlmIChpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMSwgJ2xpbmsnKSAmJiBpc0hvcml6b250YWxOYXZJdGVtVHlwZShpdGVtMiwgJ2xpbmsnKSkge1xuICAgIHJldHVybiBpdGVtMS5sYWJlbCA9PT0gaXRlbTIubGFiZWwgJiYgaXRlbTEubGluayA9PT0gaXRlbTIubGlua1xuICB9IGVsc2UgaWYgKGlzSG9yaXpvbnRhbE5hdkl0ZW1UeXBlKGl0ZW0xLCAnYnV0dG9uJykgJiYgaXNIb3Jpem9udGFsTmF2SXRlbVR5cGUoaXRlbTIsICdidXR0b24nKSkge1xuICAgIHJldHVybiBpdGVtMS5vbkNsaWNrID09PSBpdGVtMi5vbkNsaWNrXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvbmF2L25hdi5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzQWN0aXZlTWF0Y2hPcHRpb25zLCBVcmxDcmVhdGlvbk9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZVR5cGVzIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuZXhwb3J0IGludGVyZmFjZSBJTmF2SXRlbVN0YXRlIHtcbiAgLy8gcGFyZW50PzogSU5hdkl0ZW1cbiAgYWN0aXZlOiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGZvY3VzZWQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZJdGVtQ2FuSGF2ZVN0YXRlIHtcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyBtYW5hZ2VkIGJ5IHRoZSBOYXYuIElmIG1hbnVhbGx5IHNldCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuICAgKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICAgX19zdGF0ZT86IElOYXZJdGVtU3RhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuIHtcbiAgY2hpbGRyZW4/OiBJTmF2SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkl0ZW1CYXNlPFQgZXh0ZW5kcyBzdHJpbmc+IGV4dGVuZHMgTmF2SXRlbUNhbkhhdmVTdGF0ZSB7XG4gIC8qKlxuICAgKiBkZWZhdWx0OiAncm91dGUnXG4gICAqL1xuICBpdGVtVHlwZT86IFRcblxuICBiYWRnZT86IElOYXZCYWRnZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOYXZUaXRsZSBleHRlbmRzIElOYXZJdGVtQmFzZTwndGl0bGUnPiB7XG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkRpdmlkZXIgZXh0ZW5kcyBJTmF2SXRlbUJhc2U8J2RpdmlkZXInPiB7XG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkJhZGdlIHtcblxuICB0ZXh0Pzogc3RyaW5nXG5cbiAgdGhlbWU/OiBUaGVtZVR5cGVzXG5cbiAgLyoqXG4gICAqIENvbnRlbnQgdG8gcHJvdmlkZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSwgc3VjaCBhcyBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIHNyQ29udGVudD86IHN0cmluZ1xuXG4gIHRvb2x0aXA/OiBzdHJpbmcgfCBOYXZJdGVtQmFkZ2VUb29sdGlwXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdkJhc2ljIGV4dGVuZHMgSU5hdkl0ZW1CYXNlPCdiYXNpYyc+LCBOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuIHtcbiAgaWNvbj86IFNlYW1JY29uXG4gIGxhYmVsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmF2TGluayBleHRlbmRzIElOYXZJdGVtQmFzZTwnbGluayc+LFxuICBQYXJ0aWFsPFBpY2s8VXJsQ3JlYXRpb25PcHRpb25zLCAncXVlcnlQYXJhbXMnIHwgJ2ZyYWdtZW50JyB8ICdxdWVyeVBhcmFtc0hhbmRsaW5nJyB8ICdwcmVzZXJ2ZUZyYWdtZW50Jz4+LFxuICBOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuIHtcbiAgaWNvbj86IFNlYW1JY29uXG4gIGxhYmVsOiBzdHJpbmdcblxuICBsaW5rPzogYW55W10gfCBzdHJpbmdcblxuICAvKipcbiAgICogRGVmYXVsdDogeyBwYXRoczogJ3N1YnNldCcsIHF1ZXJ5UGFyYW1zOiAnc3Vic2V0JywgZnJhZ21lbnQ6ICdpZ25vcmVkJywgbWF0cml4UGFyYW1zOiAnaWdub3JlZCcgfVxuICAgKi9cbiAgbWF0Y2hPcHRpb25zPzogUGFydGlhbDxJc0FjdGl2ZU1hdGNoT3B0aW9ucz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmF2QnV0dG9uIGV4dGVuZHMgSU5hdkl0ZW1CYXNlPCdidXR0b24nPiB7XG4gIG9uQ2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZFxufVxuXG5leHBvcnQgdHlwZSBJTmF2SXRlbSA9IElOYXZUaXRsZSB8IElOYXZEaXZpZGVyIHwgSU5hdkJhc2ljIHwgSU5hdkxpbmsgfCBJTmF2QnV0dG9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbVN0YXRlQ2hhbmdlZCB7XG4gIGl0ZW06IElOYXZJdGVtXG4gIHByb3A6IGtleW9mIElOYXZJdGVtU3RhdGVcbiAgcHJldlZhbHVlOiBhbnlcbiAgbmV3VmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdkl0ZW1CYWRnZVRvb2x0aXAge1xuICB0b29sdGlwPzogc3RyaW5nXG4gIGNsYXNzPzogc3RyaW5nXG4gIHBsYWNlbWVudD86IHN0cmluZ1xuICBjb250YWluZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIE5hdkl0ZW1DaGlsZEFjdGlvbiA9ICdtZW51JyB8ICdleHBhbmQnIHwgJ25vbmUnIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG5leHBvcnQgdHlwZSBOYXZJdGVtRXhwYW5kQWN0aW9uID0gJ3RvZ2dsZScgfCAnZXhwYW5kT25seScgfCBudWxsIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbUV4cGFuZGVkRXZlbnQge1xuICBuYXZJdGVtOiBJTmF2SXRlbSxcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
2
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import { RouterModule } from '@angular/router';
|
|
6
|
+
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import { TheSeamIconModule } from '@theseam/ui-common/icon';
|
|
8
|
+
import { TheSeamLayoutModule } from '@theseam/ui-common/layout';
|
|
9
|
+
import { TheSeamMenuModule } from '@theseam/ui-common/menu';
|
|
10
|
+
import { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar';
|
|
11
|
+
import { HorizontalNavComponent } from './horizontal-nav/horizontal-nav.component';
|
|
12
|
+
import { NavItemComponent } from './nav-item/nav-item.component';
|
|
13
|
+
import { TheSeamNavService } from './nav.service';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class TheSeamNavModule {
|
|
16
|
+
}
|
|
17
|
+
TheSeamNavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
TheSeamNavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, declarations: [NavItemComponent,
|
|
19
|
+
HorizontalNavComponent], imports: [CommonModule,
|
|
20
|
+
RouterModule,
|
|
21
|
+
TheSeamIconModule,
|
|
22
|
+
A11yModule,
|
|
23
|
+
TheSeamScrollbarModule,
|
|
24
|
+
TheSeamLayoutModule,
|
|
25
|
+
NgbTooltipModule,
|
|
26
|
+
PortalModule,
|
|
27
|
+
TheSeamMenuModule], exports: [NavItemComponent,
|
|
28
|
+
HorizontalNavComponent] });
|
|
29
|
+
TheSeamNavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, providers: [
|
|
30
|
+
TheSeamNavService,
|
|
31
|
+
], imports: [CommonModule,
|
|
32
|
+
RouterModule,
|
|
33
|
+
TheSeamIconModule,
|
|
34
|
+
A11yModule,
|
|
35
|
+
TheSeamScrollbarModule,
|
|
36
|
+
TheSeamLayoutModule,
|
|
37
|
+
NgbTooltipModule,
|
|
38
|
+
PortalModule,
|
|
39
|
+
TheSeamMenuModule] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, decorators: [{
|
|
41
|
+
type: NgModule,
|
|
42
|
+
args: [{
|
|
43
|
+
declarations: [
|
|
44
|
+
NavItemComponent,
|
|
45
|
+
HorizontalNavComponent,
|
|
46
|
+
],
|
|
47
|
+
imports: [
|
|
48
|
+
CommonModule,
|
|
49
|
+
RouterModule,
|
|
50
|
+
TheSeamIconModule,
|
|
51
|
+
A11yModule,
|
|
52
|
+
TheSeamScrollbarModule,
|
|
53
|
+
TheSeamLayoutModule,
|
|
54
|
+
NgbTooltipModule,
|
|
55
|
+
PortalModule,
|
|
56
|
+
TheSeamMenuModule
|
|
57
|
+
],
|
|
58
|
+
exports: [
|
|
59
|
+
NavItemComponent,
|
|
60
|
+
HorizontalNavComponent,
|
|
61
|
+
],
|
|
62
|
+
providers: [
|
|
63
|
+
TheSeamNavService,
|
|
64
|
+
]
|
|
65
|
+
}]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvbmF2L25hdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBOztBQTBCakQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQXRCekIsZ0JBQWdCO1FBQ2hCLHNCQUFzQixhQUd0QixZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGlCQUFpQixhQUdqQixnQkFBZ0I7UUFDaEIsc0JBQXNCOytHQU1iLGdCQUFnQixhQUpoQjtRQUNULGlCQUFpQjtLQUNsQixZQWhCQyxZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGlCQUFpQjs0RkFVUixnQkFBZ0I7a0JBeEI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFVBQVU7d0JBQ1Ysc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnXG5cbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2xheW91dCdcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcbmltcG9ydCB7IEhvcml6b250YWxOYXZDb21wb25lbnQgfSBmcm9tICcuL2hvcml6b250YWwtbmF2L2hvcml6b250YWwtbmF2LmNvbXBvbmVudCdcblxuaW1wb3J0IHsgTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgVGhlU2VhbU5hdlNlcnZpY2UgfSBmcm9tICcuL25hdi5zZXJ2aWNlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOYXZJdGVtQ29tcG9uZW50LFxuICAgIEhvcml6b250YWxOYXZDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgVGhlU2VhbVNjcm9sbGJhck1vZHVsZSxcbiAgICBUaGVTZWFtTGF5b3V0TW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFRoZVNlYW1NZW51TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOYXZJdGVtQ29tcG9uZW50LFxuICAgIEhvcml6b250YWxOYXZDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFRoZVNlYW1OYXZTZXJ2aWNlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1OYXZNb2R1bGUgeyB9XG4iXX0=
|