@theseam/ui-common 0.4.30 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/index.d.ts +2 -0
- package/asset-reader/index.d.ts +67 -5
- package/breadcrumbs/index.d.ts +46 -5
- package/buttons/index.d.ts +220 -5
- package/card/index.d.ts +46 -5
- package/carousel/index.d.ts +100 -5
- package/checkbox/index.d.ts +200 -5
- package/confirm-dialog/index.d.ts +64 -5
- package/core/index.d.ts +139 -5
- package/data-exporter/index.d.ts +60 -5
- package/data-filters/index.d.ts +219 -5
- package/datatable/index.d.ts +1339 -5
- package/datatable-alterations-display/index.d.ts +101 -0
- package/datatable-dynamic/index.d.ts +548 -5
- package/dynamic/index.d.ts +469 -5
- package/dynamic-component-loader/index.d.ts +42 -5
- package/fesm2022/theseam-ui-common-ai.mjs +6 -0
- package/fesm2022/theseam-ui-common-ai.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-asset-reader.mjs +193 -0
- package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +171 -0
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-buttons.mjs +478 -0
- package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-card.mjs +128 -0
- package/fesm2022/theseam-ui-common-card.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-carousel.mjs +269 -0
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-checkbox.mjs +393 -0
- package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +183 -0
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-core.mjs +229 -0
- package/fesm2022/theseam-ui-common-core.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-data-exporter.mjs +89 -0
- package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-data-filters.mjs +516 -0
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +350 -0
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +1096 -0
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-datatable.mjs +4263 -0
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +134 -0
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-dynamic.mjs +699 -0
- package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-footer-bar.mjs +38 -0
- package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-form-field-error.mjs +494 -0
- package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-form-field.mjs +675 -0
- package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-framework.mjs +4018 -0
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-google-maps.mjs +2191 -0
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-graphql.mjs +1745 -0
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-icon.mjs +646 -0
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-layout.mjs +118 -0
- package/fesm2022/theseam-ui-common-layout.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-loading.mjs +130 -0
- package/fesm2022/theseam-ui-common-loading.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-menu.mjs +1322 -0
- package/fesm2022/theseam-ui-common-menu.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-modal.mjs +1447 -0
- package/fesm2022/theseam-ui-common-modal.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-models.mjs +55 -0
- package/fesm2022/theseam-ui-common-models.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +72 -0
- package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-popover.mjs +520 -0
- package/fesm2022/theseam-ui-common-popover.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-progress.mjs +97 -0
- package/fesm2022/theseam-ui-common-progress.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-rich-text.mjs +782 -0
- package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-scrollbar.mjs +158 -0
- package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-services.mjs +281 -0
- package/fesm2022/theseam-ui-common-services.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-shared.mjs +719 -0
- package/fesm2022/theseam-ui-common-shared.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-storage.mjs +146 -0
- package/fesm2022/theseam-ui-common-storage.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-story-helpers.mjs +512 -0
- package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-tabbed.mjs +292 -0
- package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +211 -0
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +1207 -0
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-table.mjs +341 -0
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-tel-input.mjs +843 -0
- package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-testing.mjs +315 -0
- package/fesm2022/theseam-ui-common-testing.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-tiled-select.mjs +584 -0
- package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +517 -0
- package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-toggle-group.mjs +269 -0
- package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-tooltip.mjs +592 -0
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +78 -0
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-utils.mjs +1366 -0
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-validators.mjs +94 -0
- package/fesm2022/theseam-ui-common-validators.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +85 -0
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-viewers.mjs +566 -0
- package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -0
- package/fesm2022/theseam-ui-common-widget.mjs +1466 -0
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -0
- package/fesm2022/theseam-ui-common.mjs +7 -0
- package/fesm2022/theseam-ui-common.mjs.map +1 -0
- package/footer-bar/index.d.ts +15 -5
- package/form-field/index.d.ts +255 -5
- package/form-field-error/index.d.ts +102 -5
- package/framework/index.d.ts +1372 -5
- package/framework/nav/nav-item/nav-item.component.scss +3 -1
- package/framework/nav/styles/_themes/light/_variables.scss +6 -4
- package/framework/nav/styles/_themes/primary/_variables.scss +6 -4
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +3 -1
- package/framework/side-nav/styles/_themes/light/_variables.scss +3 -1
- package/framework/side-nav/styles/_themes/primary/_variables.scss +7 -5
- package/google-maps/index.d.ts +657 -5
- package/graphql/index.d.ts +336 -5
- package/icon/index.d.ts +193 -5
- package/index.d.ts +2 -5
- package/layout/index.d.ts +61 -5
- package/loading/index.d.ts +42 -5
- package/menu/index.d.ts +437 -5
- package/modal/index.d.ts +531 -5
- package/models/index.d.ts +36 -5
- package/navigation-reload/index.d.ts +24 -5
- package/package.json +185 -316
- package/popover/index.d.ts +127 -5
- package/progress/index.d.ts +38 -5
- package/progress/progress-circle/styles/_variables.scss +5 -3
- package/rich-text/index.d.ts +537 -5
- package/scrollbar/index.d.ts +95 -5
- package/services/index.d.ts +129 -5
- package/shared/index.d.ts +229 -5
- package/storage/index.d.ts +35 -5
- package/story-helpers/index.d.ts +184 -5
- package/styles/bootstrap/_bs-variables.scss +5 -3
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +6 -4
- package/styles/vendor/quill/_quill.scss +2 -2
- package/tabbed/index.d.ts +108 -5
- package/table/index.d.ts +110 -5
- package/table-cell-type/index.d.ts +145 -5
- package/table-cell-types/index.d.ts +537 -5
- package/tel-input/index.d.ts +532 -5
- package/testing/index.d.ts +220 -5
- package/tiled-select/index.d.ts +179 -5
- package/toggle-edit/index.d.ts +160 -5
- package/toggle-group/index.d.ts +61 -5
- package/tooltip/index.d.ts +118 -0
- package/unsaved-changes-dialog/index.d.ts +24 -5
- package/utils/index.d.ts +434 -5
- package/validators/index.d.ts +49 -5
- package/vertical-list-filter/index.d.ts +31 -5
- package/viewers/index.d.ts +173 -5
- package/widget/index.d.ts +535 -5
- package/asset-reader/asset-reader-helper.service.d.ts +0 -10
- package/asset-reader/asset-reader.module.d.ts +0 -7
- package/asset-reader/encrypted-asset-link.directive.d.ts +0 -26
- package/asset-reader/encrypted-asset-reader.d.ts +0 -24
- package/asset-reader/public-api.d.ts +0 -4
- package/breadcrumbs/breadcrumb.d.ts +0 -11
- package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +0 -11
- package/breadcrumbs/breadcrumbs-resolver.d.ts +0 -5
- package/breadcrumbs/breadcrumbs.module.d.ts +0 -9
- package/breadcrumbs/breadcrumbs.service.d.ts +0 -23
- package/breadcrumbs/public-api.d.ts +0 -5
- package/buttons/badge-button/badge-button.component.d.ts +0 -23
- package/buttons/button/button.component.d.ts +0 -35
- package/buttons/buttons.module.d.ts +0 -12
- package/buttons/progress-circle-button/progress-circle-button.component.d.ts +0 -22
- package/buttons/public-api.d.ts +0 -6
- package/buttons/testing/anchor-badge-button.harness.d.ts +0 -16
- package/buttons/testing/anchor-button.harness.d.ts +0 -16
- package/buttons/testing/badge-button.harness.d.ts +0 -15
- package/buttons/testing/base-badge-button.harness.d.ts +0 -15
- package/buttons/testing/base-button.harness.d.ts +0 -19
- package/buttons/testing/button.harness.d.ts +0 -15
- package/buttons/testing/index.d.ts +0 -5
- package/buttons/testing/toggle-button.harness.d.ts +0 -21
- package/buttons/toggle-button/toggle-button.component.d.ts +0 -29
- package/card/card-action/card-action.component.d.ts +0 -12
- package/card/card-body/card-body.component.d.ts +0 -13
- package/card/card-footer/card-footer.component.d.ts +0 -5
- package/card/card-header/card-header.component.d.ts +0 -7
- package/card/card.component.d.ts +0 -6
- package/card/card.module.d.ts +0 -13
- package/card/public-api.d.ts +0 -6
- package/carousel/carousel-slide.directive.d.ts +0 -8
- package/carousel/carousel.component.d.ts +0 -85
- package/carousel/carousel.module.d.ts +0 -11
- package/carousel/public-api.d.ts +0 -3
- package/checkbox/checkbox.component.d.ts +0 -141
- package/checkbox/checkbox.module.d.ts +0 -8
- package/checkbox/public-api.d.ts +0 -3
- package/checkbox/testing/checkbox.harness.d.ts +0 -49
- package/checkbox/testing/index.d.ts +0 -1
- package/confirm-dialog/confirm-click.directive.d.ts +0 -31
- package/confirm-dialog/confirm-dialog.component.d.ts +0 -16
- package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
- package/confirm-dialog/confirm-dialog.service.d.ts +0 -18
- package/confirm-dialog/public-api.d.ts +0 -4
- package/core/common-behaviors/active.d.ts +0 -8
- package/core/common-behaviors/constructor.d.ts +0 -9
- package/core/common-behaviors/disabled.d.ts +0 -17
- package/core/common-behaviors/element-ref.d.ts +0 -4
- package/core/common-behaviors/index.d.ts +0 -9
- package/core/common-behaviors/initialized.d.ts +0 -30
- package/core/common-behaviors/renderer2.d.ts +0 -4
- package/core/common-behaviors/size.d.ts +0 -9
- package/core/common-behaviors/tabindex.d.ts +0 -18
- package/core/common-behaviors/theme.d.ts +0 -10
- package/core/input-decorators/index.d.ts +0 -2
- package/core/input-decorators/input-boolean.decorator.d.ts +0 -12
- package/core/input-decorators/input-number.decorator.d.ts +0 -12
- package/core/public-api.d.ts +0 -2
- package/data-exporter/data-exporter.d.ts +0 -30
- package/data-exporter/data-exporter.module.d.ts +0 -6
- package/data-exporter/exporters/csv-exporter.d.ts +0 -11
- package/data-exporter/exporters/xlsx-exporter.d.ts +0 -11
- package/data-exporter/public-api.d.ts +0 -4
- package/data-filters/data-filter-container.d.ts +0 -8
- package/data-filters/data-filter-def.d.ts +0 -10
- package/data-filters/data-filter.d.ts +0 -53
- package/data-filters/data-filters.module.d.ts +0 -15
- package/data-filters/filters/data-filter-search/data-filter-search.component.d.ts +0 -39
- package/data-filters/filters/data-filter-search/search-filter-options.d.ts +0 -2
- package/data-filters/filters/data-filter-text/data-filter-text.component.d.ts +0 -37
- package/data-filters/filters/data-filter-text/text-filter-options.d.ts +0 -25
- package/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.d.ts +0 -46
- package/data-filters/public-api.d.ts +0 -9
- package/datatable/datatable/datatable.component.d.ts +0 -266
- package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +0 -23
- package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +0 -33
- package/datatable/datatable-column/datatable-column.component.d.ts +0 -44
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
- package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +0 -18
- package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +0 -13
- package/datatable/datatable-export-button/datatable-export-button.component.d.ts +0 -25
- package/datatable/datatable-footer/datatable-footer-tpl.directive.d.ts +0 -8
- package/datatable/datatable-footer/datatable-footer.directive.d.ts +0 -9
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +0 -17
- package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +0 -5
- package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +0 -5
- package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +0 -5
- package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +0 -5
- package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +0 -11
- package/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.d.ts +0 -8
- package/datatable/datatable-row-detail/datatable-row-detail.directive.d.ts +0 -40
- package/datatable/datatable.module.d.ts +0 -56
- package/datatable/directives/datatable-action-menu-item.directive.d.ts +0 -36
- package/datatable/directives/datatable-action-menu-toggle.directive.d.ts +0 -30
- package/datatable/directives/datatable-cell-tpl.directive.d.ts +0 -8
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
- package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
- package/datatable/directives/datatable-filter.directive.d.ts +0 -9
- package/datatable/directives/datatable-row-action-item.directive.d.ts +0 -8
- package/datatable/models/action-item-column-position.d.ts +0 -13
- package/datatable/models/columns-alteration.d.ts +0 -61
- package/datatable/models/columns-alterations/hide-column.columns-alteration.d.ts +0 -15
- package/datatable/models/columns-alterations/order.columns-alteration.d.ts +0 -20
- package/datatable/models/columns-alterations/sort.columns-alteration.d.ts +0 -14
- package/datatable/models/columns-alterations/width.columns-alteration.d.ts +0 -16
- package/datatable/models/columns-data-filter.d.ts +0 -57
- package/datatable/models/columns-data-filters/models.d.ts +0 -65
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
- package/datatable/models/columns-data-filters/utils.d.ts +0 -15
- package/datatable/models/datatable-accessor.d.ts +0 -21
- package/datatable/models/datatable-config.d.ts +0 -97
- package/datatable/models/datatable-data-source.d.ts +0 -14
- package/datatable/models/datatable-gql-data-source.d.ts +0 -7
- package/datatable/models/internal-column-props.d.ts +0 -7
- package/datatable/models/menubar-item-data.d.ts +0 -3
- package/datatable/models/page-info.d.ts +0 -18
- package/datatable/models/preferences-accessor.d.ts +0 -3
- package/datatable/models/preferences.d.ts +0 -18
- package/datatable/models/sort-event.d.ts +0 -4
- package/datatable/models/sort-item.d.ts +0 -5
- package/datatable/models/table-column.d.ts +0 -35
- package/datatable/public-api.d.ts +0 -54
- package/datatable/services/columns-alterations-manager.service.d.ts +0 -42
- package/datatable/services/columns-filters.service.d.ts +0 -29
- package/datatable/services/columns-manager.service.d.ts +0 -65
- package/datatable/services/datatable-column-changes.service.d.ts +0 -9
- package/datatable/services/datatable-preferences.service.d.ts +0 -22
- package/datatable/services/datatable-scrollbar-helper.service.d.ts +0 -22
- package/datatable/tokens/datatable-accessor.d.ts +0 -3
- package/datatable/tokens/datatable-preferences-accessor.d.ts +0 -3
- package/datatable/tokens/menubar-item-data.d.ts +0 -3
- package/datatable/utils/create-action-menu-column.d.ts +0 -3
- package/datatable/utils/create-checkbox-column.d.ts +0 -3
- package/datatable/utils/get-column-prop.d.ts +0 -5
- package/datatable/utils/map-columns-alterations-states.d.ts +0 -2
- package/datatable/utils/remove-unused-diffs.d.ts +0 -7
- package/datatable/utils/set-column-defaults.d.ts +0 -2
- package/datatable/utils/translate-templates.d.ts +0 -2
- package/datatable/utils/with-stored-column-info.d.ts +0 -3
- package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +0 -33
- package/datatable-dynamic/datatable-dynamic-def.d.ts +0 -71
- package/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.d.ts +0 -18
- package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +0 -63
- package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +0 -16
- package/datatable-dynamic/datatable-dynamic-menu-bar-token.d.ts +0 -3
- package/datatable-dynamic/datatable-dynamic.component.d.ts +0 -89
- package/datatable-dynamic/datatable-dynamic.module.d.ts +0 -22
- package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +0 -75
- package/datatable-dynamic/dynamic-datatable-def.service.d.ts +0 -62
- package/datatable-dynamic/dynamic-datatable-row-actions.service.d.ts +0 -19
- package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +0 -17
- package/datatable-dynamic/models/dynamic-datatable-filter-menu-item.d.ts +0 -7
- package/datatable-dynamic/models/dynamic-datatable-menu-bar.d.ts +0 -63
- package/datatable-dynamic/models/dynamic-datatable-row-action-context.d.ts +0 -5
- package/datatable-dynamic/models/dynamic-datatable-row-action.d.ts +0 -17
- package/datatable-dynamic/models/index.d.ts +0 -5
- package/datatable-dynamic/public-api.d.ts +0 -13
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.d.ts +0 -2
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.d.ts +0 -2
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.d.ts +0 -2
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.d.ts +0 -2
- package/datatable-dynamic/utils/index.d.ts +0 -4
- package/dynamic/action/api/dynamic-action-api-def.d.ts +0 -35
- package/dynamic/action/api/dynamic-action-api-errors.d.ts +0 -1
- package/dynamic/action/api/dynamic-action-api.d.ts +0 -3
- package/dynamic/action/api/dynamic-action-api.service.d.ts +0 -33
- package/dynamic/action/dynamic-action-helper.service.d.ts +0 -39
- package/dynamic/action/index.d.ts +0 -10
- package/dynamic/action/link/dynamic-action-link-def.d.ts +0 -58
- package/dynamic/action/link/dynamic-action-link.d.ts +0 -3
- package/dynamic/action/link/dynamic-action-link.service.d.ts +0 -17
- package/dynamic/action/modal/dynamic-action-modal-def.d.ts +0 -10
- package/dynamic/action/modal/dynamic-action-modal.d.ts +0 -3
- package/dynamic/action/modal/dynamic-action-modal.service.d.ts +0 -32
- package/dynamic/dynamic-value-helper.service.d.ts +0 -38
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.d.ts +0 -19
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.d.ts +0 -8
- package/dynamic/evaluators/exporters-data-evaluator/index.d.ts +0 -2
- package/dynamic/evaluators/index.d.ts +0 -2
- package/dynamic/evaluators/jexl-evaluator/index.d.ts +0 -2
- package/dynamic/evaluators/jexl-evaluator/jexl-evaluator.d.ts +0 -13
- package/dynamic/evaluators/jexl-evaluator/jexl-value.d.ts +0 -11
- package/dynamic/models/dynamic-action-confirm-def.d.ts +0 -10
- package/dynamic/models/dynamic-action-context.d.ts +0 -2
- package/dynamic/models/dynamic-action-def.d.ts +0 -9
- package/dynamic/models/dynamic-action-ui-anchor-def.d.ts +0 -39
- package/dynamic/models/dynamic-action-ui-button-def.d.ts +0 -13
- package/dynamic/models/dynamic-action-ui-def.d.ts +0 -37
- package/dynamic/models/dynamic-action.d.ts +0 -11
- package/dynamic/models/dynamic-value-base-type.d.ts +0 -4
- package/dynamic/models/dynamic-value-evaluatable-type.d.ts +0 -3
- package/dynamic/models/dynamic-value-evaluator.d.ts +0 -6
- package/dynamic/models/dynamic-value-primitive.d.ts +0 -1
- package/dynamic/models/dynamic-value-type.d.ts +0 -4
- package/dynamic/models/dynamic-value.d.ts +0 -3
- package/dynamic/models/index.d.ts +0 -13
- package/dynamic/public-api.d.ts +0 -6
- package/dynamic/tokens/api-config.d.ts +0 -30
- package/dynamic/tokens/dynamic-action.d.ts +0 -3
- package/dynamic/tokens/dynamic-data.d.ts +0 -2
- package/dynamic/tokens/dynamic-value-evaluator.d.ts +0 -3
- package/dynamic/tokens/index.d.ts +0 -4
- package/dynamic/utils/index.d.ts +0 -1
- package/dynamic/utils/is-action-type.d.ts +0 -2
- package/dynamic-component-loader/dynamic-component-loader.module.d.ts +0 -11
- package/dynamic-component-loader/dynamic-component-loader.service.d.ts +0 -16
- package/dynamic-component-loader/dynamic-component-manifest.d.ts +0 -9
- package/dynamic-component-loader/dynamic-component-tokens.d.ts +0 -4
- package/dynamic-component-loader/public-api.d.ts +0 -4
- package/esm2020/asset-reader/asset-reader-helper.service.mjs +0 -70
- package/esm2020/asset-reader/asset-reader.module.mjs +0 -20
- package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +0 -74
- package/esm2020/asset-reader/encrypted-asset-reader.mjs +0 -20
- package/esm2020/asset-reader/public-api.mjs +0 -5
- package/esm2020/asset-reader/theseam-ui-common-asset-reader.mjs +0 -5
- package/esm2020/breadcrumbs/breadcrumb.mjs +0 -2
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +0 -18
- package/esm2020/breadcrumbs/breadcrumbs-resolver.mjs +0 -2
- package/esm2020/breadcrumbs/breadcrumbs.module.mjs +0 -28
- package/esm2020/breadcrumbs/breadcrumbs.service.mjs +0 -156
- package/esm2020/breadcrumbs/public-api.mjs +0 -6
- package/esm2020/breadcrumbs/theseam-ui-common-breadcrumbs.mjs +0 -5
- package/esm2020/buttons/badge-button/badge-button.component.mjs +0 -62
- package/esm2020/buttons/button/button.component.mjs +0 -85
- package/esm2020/buttons/buttons.module.mjs +0 -51
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +0 -52
- package/esm2020/buttons/public-api.mjs +0 -7
- package/esm2020/buttons/testing/anchor-badge-button.harness.mjs +0 -18
- package/esm2020/buttons/testing/anchor-button.harness.mjs +0 -18
- package/esm2020/buttons/testing/badge-button.harness.mjs +0 -14
- package/esm2020/buttons/testing/base-badge-button.harness.mjs +0 -29
- package/esm2020/buttons/testing/base-button.harness.mjs +0 -41
- package/esm2020/buttons/testing/button.harness.mjs +0 -16
- package/esm2020/buttons/testing/index.mjs +0 -6
- package/esm2020/buttons/testing/toggle-button.harness.mjs +0 -25
- package/esm2020/buttons/theseam-ui-common-buttons.mjs +0 -5
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +0 -79
- package/esm2020/card/card-action/card-action.component.mjs +0 -31
- package/esm2020/card/card-body/card-body.component.mjs +0 -32
- package/esm2020/card/card-footer/card-footer.component.mjs +0 -11
- package/esm2020/card/card-header/card-header.component.mjs +0 -21
- package/esm2020/card/card.component.mjs +0 -17
- package/esm2020/card/card.module.mjs +0 -48
- package/esm2020/card/public-api.mjs +0 -7
- package/esm2020/card/theseam-ui-common-card.mjs +0 -5
- package/esm2020/carousel/carousel-slide.directive.mjs +0 -16
- package/esm2020/carousel/carousel.component.mjs +0 -212
- package/esm2020/carousel/carousel.module.mjs +0 -38
- package/esm2020/carousel/public-api.mjs +0 -4
- package/esm2020/carousel/theseam-ui-common-carousel.mjs +0 -5
- package/esm2020/checkbox/checkbox.component.mjs +0 -285
- package/esm2020/checkbox/checkbox.module.mjs +0 -21
- package/esm2020/checkbox/public-api.mjs +0 -4
- package/esm2020/checkbox/testing/checkbox.harness.mjs +0 -63
- package/esm2020/checkbox/testing/index.mjs +0 -2
- package/esm2020/checkbox/theseam-ui-common-checkbox.mjs +0 -5
- package/esm2020/confirm-dialog/confirm-click.directive.mjs +0 -71
- package/esm2020/confirm-dialog/confirm-dialog.component.mjs +0 -38
- package/esm2020/confirm-dialog/confirm-dialog.module.mjs +0 -47
- package/esm2020/confirm-dialog/confirm-dialog.service.mjs +0 -41
- package/esm2020/confirm-dialog/public-api.mjs +0 -5
- package/esm2020/confirm-dialog/theseam-ui-common-confirm-dialog.mjs +0 -5
- package/esm2020/core/common-behaviors/active.mjs +0 -14
- package/esm2020/core/common-behaviors/constructor.mjs +0 -9
- package/esm2020/core/common-behaviors/disabled.mjs +0 -21
- package/esm2020/core/common-behaviors/element-ref.mjs +0 -2
- package/esm2020/core/common-behaviors/index.mjs +0 -10
- package/esm2020/core/common-behaviors/initialized.mjs +0 -63
- package/esm2020/core/common-behaviors/renderer2.mjs +0 -2
- package/esm2020/core/common-behaviors/size.mjs +0 -24
- package/esm2020/core/common-behaviors/tabindex.mjs +0 -23
- package/esm2020/core/common-behaviors/theme.mjs +0 -24
- package/esm2020/core/input-decorators/index.mjs +0 -3
- package/esm2020/core/input-decorators/input-boolean.decorator.mjs +0 -26
- package/esm2020/core/input-decorators/input-number.decorator.mjs +0 -26
- package/esm2020/core/public-api.mjs +0 -3
- package/esm2020/core/theseam-ui-common-core.mjs +0 -5
- package/esm2020/data-exporter/data-exporter.mjs +0 -7
- package/esm2020/data-exporter/data-exporter.module.mjs +0 -25
- package/esm2020/data-exporter/exporters/csv-exporter.mjs +0 -35
- package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +0 -33
- package/esm2020/data-exporter/public-api.mjs +0 -5
- package/esm2020/data-exporter/theseam-ui-common-data-exporter.mjs +0 -5
- package/esm2020/data-filters/data-filter-container.mjs +0 -3
- package/esm2020/data-filters/data-filter-def.mjs +0 -3
- package/esm2020/data-filters/data-filter.mjs +0 -25
- package/esm2020/data-filters/data-filters.module.mjs +0 -66
- package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +0 -121
- package/esm2020/data-filters/filters/data-filter-search/search-filter-options.mjs +0 -2
- package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +0 -148
- package/esm2020/data-filters/filters/data-filter-text/text-filter-options.mjs +0 -2
- package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +0 -166
- package/esm2020/data-filters/public-api.mjs +0 -10
- package/esm2020/data-filters/theseam-ui-common-data-filters.mjs +0 -5
- package/esm2020/datatable/datatable/datatable.component.mjs +0 -879
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +0 -112
- package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +0 -50
- package/esm2020/datatable/datatable-column/datatable-column.component.mjs +0 -107
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
- package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +0 -67
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +0 -51
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +0 -106
- package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +0 -16
- package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +0 -24
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +0 -49
- package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +0 -11
- package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +0 -11
- package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +0 -11
- package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +0 -11
- package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +0 -30
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +0 -16
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +0 -77
- package/esm2020/datatable/datatable.module.mjs +0 -247
- package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +0 -62
- package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +0 -137
- package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +0 -16
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
- package/esm2020/datatable/directives/datatable-filter.directive.mjs +0 -27
- package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +0 -16
- package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
- package/esm2020/datatable/models/columns-alteration.mjs +0 -38
- package/esm2020/datatable/models/columns-alterations/hide-column.columns-alteration.mjs +0 -38
- package/esm2020/datatable/models/columns-alterations/order.columns-alteration.mjs +0 -83
- package/esm2020/datatable/models/columns-alterations/sort.columns-alteration.mjs +0 -33
- package/esm2020/datatable/models/columns-alterations/width.columns-alteration.mjs +0 -41
- package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
- package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
- package/esm2020/datatable/models/datatable-accessor.mjs +0 -2
- package/esm2020/datatable/models/datatable-config.mjs +0 -3
- package/esm2020/datatable/models/datatable-data-source.mjs +0 -42
- package/esm2020/datatable/models/datatable-gql-data-source.mjs +0 -15
- package/esm2020/datatable/models/internal-column-props.mjs +0 -15
- package/esm2020/datatable/models/menubar-item-data.mjs +0 -2
- package/esm2020/datatable/models/page-info.mjs +0 -2
- package/esm2020/datatable/models/preferences-accessor.mjs +0 -2
- package/esm2020/datatable/models/preferences.mjs +0 -6
- package/esm2020/datatable/models/sort-event.mjs +0 -2
- package/esm2020/datatable/models/sort-item.mjs +0 -2
- package/esm2020/datatable/models/table-column.mjs +0 -2
- package/esm2020/datatable/public-api.mjs +0 -55
- package/esm2020/datatable/services/columns-alterations-manager.service.mjs +0 -136
- package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
- package/esm2020/datatable/services/columns-manager.service.mjs +0 -286
- package/esm2020/datatable/services/datatable-column-changes.service.mjs +0 -20
- package/esm2020/datatable/services/datatable-preferences.service.mjs +0 -94
- package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +0 -50
- package/esm2020/datatable/theseam-ui-common-datatable.mjs +0 -5
- package/esm2020/datatable/tokens/datatable-accessor.mjs +0 -3
- package/esm2020/datatable/tokens/datatable-preferences-accessor.mjs +0 -3
- package/esm2020/datatable/tokens/menubar-item-data.mjs +0 -3
- package/esm2020/datatable/utils/create-action-menu-column.mjs +0 -19
- package/esm2020/datatable/utils/create-checkbox-column.mjs +0 -15
- package/esm2020/datatable/utils/get-column-prop.mjs +0 -9
- package/esm2020/datatable/utils/map-columns-alterations-states.mjs +0 -42
- package/esm2020/datatable/utils/remove-unused-diffs.mjs +0 -9
- package/esm2020/datatable/utils/set-column-defaults.mjs +0 -10
- package/esm2020/datatable/utils/translate-templates.mjs +0 -12
- package/esm2020/datatable/utils/with-stored-column-info.mjs +0 -20
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +0 -118
- package/esm2020/datatable-dynamic/datatable-dynamic-def.mjs +0 -2
- package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +0 -50
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +0 -148
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.mjs +0 -2
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-token.mjs +0 -3
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +0 -75
- package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +0 -80
- package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +0 -400
- package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +0 -88
- package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +0 -46
- package/esm2020/datatable-dynamic/models/dynamic-datatable-action-menu-record.mjs +0 -2
- package/esm2020/datatable-dynamic/models/dynamic-datatable-filter-menu-item.mjs +0 -2
- package/esm2020/datatable-dynamic/models/dynamic-datatable-menu-bar.mjs +0 -2
- package/esm2020/datatable-dynamic/models/dynamic-datatable-row-action-context.mjs +0 -2
- package/esm2020/datatable-dynamic/models/dynamic-datatable-row-action.mjs +0 -2
- package/esm2020/datatable-dynamic/models/index.mjs +0 -6
- package/esm2020/datatable-dynamic/public-api.mjs +0 -14
- package/esm2020/datatable-dynamic/theseam-ui-common-datatable-dynamic.mjs +0 -5
- package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.mjs +0 -8
- package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.mjs +0 -13
- package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.mjs +0 -6
- package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.mjs +0 -6
- package/esm2020/datatable-dynamic/utils/index.mjs +0 -5
- package/esm2020/dynamic/action/api/dynamic-action-api-def.mjs +0 -2
- package/esm2020/dynamic/action/api/dynamic-action-api-errors.mjs +0 -4
- package/esm2020/dynamic/action/api/dynamic-action-api.mjs +0 -2
- package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +0 -209
- package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +0 -158
- package/esm2020/dynamic/action/index.mjs +0 -11
- package/esm2020/dynamic/action/link/dynamic-action-link-def.mjs +0 -2
- package/esm2020/dynamic/action/link/dynamic-action-link.mjs +0 -2
- package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +0 -47
- package/esm2020/dynamic/action/modal/dynamic-action-modal-def.mjs +0 -2
- package/esm2020/dynamic/action/modal/dynamic-action-modal.mjs +0 -2
- package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +0 -85
- package/esm2020/dynamic/dynamic-value-helper.service.mjs +0 -105
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +0 -30
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.mjs +0 -2
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/index.mjs +0 -3
- package/esm2020/dynamic/evaluators/index.mjs +0 -3
- package/esm2020/dynamic/evaluators/jexl-evaluator/index.mjs +0 -3
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +0 -32
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-value.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action-confirm-def.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action-context.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action-def.mjs +0 -3
- package/esm2020/dynamic/models/dynamic-action-ui-anchor-def.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action-ui-button-def.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action-ui-def.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-action.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value-base-type.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value-evaluatable-type.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value-evaluator.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value-primitive.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value-type.mjs +0 -2
- package/esm2020/dynamic/models/dynamic-value.mjs +0 -2
- package/esm2020/dynamic/models/index.mjs +0 -14
- package/esm2020/dynamic/public-api.mjs +0 -7
- package/esm2020/dynamic/theseam-ui-common-dynamic.mjs +0 -5
- package/esm2020/dynamic/tokens/api-config.mjs +0 -29
- package/esm2020/dynamic/tokens/dynamic-action.mjs +0 -3
- package/esm2020/dynamic/tokens/dynamic-data.mjs +0 -3
- package/esm2020/dynamic/tokens/dynamic-value-evaluator.mjs +0 -3
- package/esm2020/dynamic/tokens/index.mjs +0 -5
- package/esm2020/dynamic/utils/index.mjs +0 -2
- package/esm2020/dynamic/utils/is-action-type.mjs +0 -4
- package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +0 -50
- package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +0 -78
- package/esm2020/dynamic-component-loader/dynamic-component-manifest.mjs +0 -2
- package/esm2020/dynamic-component-loader/dynamic-component-tokens.mjs +0 -5
- package/esm2020/dynamic-component-loader/public-api.mjs +0 -5
- package/esm2020/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.mjs +0 -5
- package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +0 -11
- package/esm2020/footer-bar/footer-bar.module.mjs +0 -20
- package/esm2020/footer-bar/public-api.mjs +0 -3
- package/esm2020/footer-bar/theseam-ui-common-footer-bar.mjs +0 -5
- package/esm2020/form-field/form-field-error.directive.mjs +0 -30
- package/esm2020/form-field/form-field-help-text.directive.mjs +0 -16
- package/esm2020/form-field/form-field-label-tpl.directive.mjs +0 -16
- package/esm2020/form-field/form-field-required-indicator.component.mjs +0 -61
- package/esm2020/form-field/form-field-tokens.mjs +0 -3
- package/esm2020/form-field/form-field.component.mjs +0 -221
- package/esm2020/form-field/form-field.module.mjs +0 -61
- package/esm2020/form-field/input.directive.mjs +0 -227
- package/esm2020/form-field/public-api.mjs +0 -10
- package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +0 -8
- package/esm2020/form-field/testing/form-field.harness.mjs +0 -45
- package/esm2020/form-field/testing/index.mjs +0 -3
- package/esm2020/form-field/theseam-ui-common-form-field.mjs +0 -5
- package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +0 -26
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +0 -26
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +0 -18
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +0 -384
- package/esm2020/form-field-error/form-field-error.module.mjs +0 -39
- package/esm2020/form-field-error/public-api.mjs +0 -6
- package/esm2020/form-field-error/theseam-ui-common-form-field-error.mjs +0 -5
- package/esm2020/framework/base-layout/base-layout-action.mjs +0 -2
- package/esm2020/framework/base-layout/base-layout-nav.mjs +0 -2
- package/esm2020/framework/base-layout/base-layout-ref.mjs +0 -2
- package/esm2020/framework/base-layout/base-layout-tokens.mjs +0 -3
- package/esm2020/framework/base-layout/base-layout.component.mjs +0 -133
- package/esm2020/framework/base-layout/base-layout.module.mjs +0 -80
- package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +0 -66
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +0 -16
- package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +0 -16
- package/esm2020/framework/base-layout/index.mjs +0 -15
- package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +0 -16
- package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +0 -23
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +0 -119
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-item.mjs +0 -2
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.mjs +0 -3
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.mjs +0 -2
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +0 -177
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +0 -207
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +0 -181
- package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +0 -3
- package/esm2020/framework/dashboard/dashboard.component.mjs +0 -24
- package/esm2020/framework/dashboard/dashboard.module.mjs +0 -60
- package/esm2020/framework/dashboard/index.mjs +0 -12
- package/esm2020/framework/dynamic-router/dynamic-route-def.mjs +0 -2
- package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +0 -28
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.mjs +0 -256
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +0 -116
- package/esm2020/framework/dynamic-router/index.mjs +0 -6
- package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +0 -26
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
- package/esm2020/framework/nav/index.mjs +0 -6
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
- package/esm2020/framework/nav/nav-utils.mjs +0 -107
- package/esm2020/framework/nav/nav.models.mjs +0 -2
- package/esm2020/framework/nav/nav.module.mjs +0 -67
- package/esm2020/framework/nav/nav.service.mjs +0 -204
- package/esm2020/framework/public-api.mjs +0 -8
- package/esm2020/framework/schema-form/index.mjs +0 -5
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +0 -21
- package/esm2020/framework/schema-form/schema-form-framework.mjs +0 -85
- package/esm2020/framework/schema-form/schema-form-widget.mjs +0 -2
- package/esm2020/framework/schema-form/schema-form.module.mjs +0 -45
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +0 -53
- package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +0 -20
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +0 -43
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +0 -49
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +0 -48
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +0 -54
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +0 -156
- package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +0 -48
- package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +0 -57
- package/esm2020/framework/side-nav/index.mjs +0 -8
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +0 -186
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +0 -40
- package/esm2020/framework/side-nav/side-nav-tokens.mjs +0 -7
- package/esm2020/framework/side-nav/side-nav-utils.mjs +0 -90
- package/esm2020/framework/side-nav/side-nav.component.mjs +0 -408
- package/esm2020/framework/side-nav/side-nav.models.mjs +0 -2
- package/esm2020/framework/side-nav/side-nav.module.mjs +0 -32
- package/esm2020/framework/side-nav/side-nav.service.mjs +0 -178
- package/esm2020/framework/theseam-ui-common-framework.mjs +0 -5
- package/esm2020/framework/top-bar/index.mjs +0 -10
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +0 -22
- package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +0 -16
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +0 -56
- package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +0 -19
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
- package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +0 -17
- package/esm2020/framework/top-bar/top-bar.component.mjs +0 -141
- package/esm2020/framework/top-bar/top-bar.module.mjs +0 -83
- package/esm2020/google-maps/google-maps/google-maps.component.mjs +0 -333
- package/esm2020/google-maps/google-maps-api-loader/google-maps-api-loader.mjs +0 -3
- package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +0 -104
- package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +0 -25
- package/esm2020/google-maps/google-maps-contextmenu.mjs +0 -114
- package/esm2020/google-maps/google-maps-controls.service.mjs +0 -67
- package/esm2020/google-maps/google-maps-feature-helpers.mjs +0 -223
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +0 -209
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +0 -165
- package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +0 -58
- package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +0 -115
- package/esm2020/google-maps/google-maps.module.mjs +0 -72
- package/esm2020/google-maps/google-maps.service.mjs +0 -429
- package/esm2020/google-maps/map-control.component.mjs +0 -66
- package/esm2020/google-maps/map-controls-service.mjs +0 -4
- package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +0 -128
- package/esm2020/google-maps/map-value-manager.service.mjs +0 -48
- package/esm2020/google-maps/public-api.mjs +0 -18
- package/esm2020/google-maps/theseam-ui-common-google-maps.mjs +0 -5
- package/esm2020/graphql/datatable/create-page-info-observable.mjs +0 -38
- package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +0 -212
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +0 -50
- package/esm2020/graphql/datatable/datatable-helpers.mjs +0 -175
- package/esm2020/graphql/datatable/get-page-info.mjs +0 -10
- package/esm2020/graphql/datatable/index.mjs +0 -10
- package/esm2020/graphql/datatable/map-filter-states.mjs +0 -63
- package/esm2020/graphql/datatable/map-page-info.mjs +0 -14
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
- package/esm2020/graphql/datatable/mapper-context.mjs +0 -2
- package/esm2020/graphql/models/direction.mjs +0 -8
- package/esm2020/graphql/models/gql-datatable-accessor.mjs +0 -2
- package/esm2020/graphql/models/hint-definition.mjs +0 -2
- package/esm2020/graphql/models/hint-transform-operation.mjs +0 -2
- package/esm2020/graphql/models/hint-transformer.mjs +0 -2
- package/esm2020/graphql/models/hints-kind.mjs +0 -9
- package/esm2020/graphql/models/hints-token.mjs +0 -2
- package/esm2020/graphql/models/index.mjs +0 -10
- package/esm2020/graphql/models/query-processing-config.mjs +0 -2
- package/esm2020/graphql/models/variable.mjs +0 -7
- package/esm2020/graphql/public-api.mjs +0 -3
- package/esm2020/graphql/theseam-ui-common-graphql.mjs +0 -5
- package/esm2020/graphql/utils/contains-variable.mjs +0 -14
- package/esm2020/graphql/utils/gql-var.mjs +0 -4
- package/esm2020/graphql/utils/hints-tokens-containing-hint.mjs +0 -4
- package/esm2020/graphql/utils/index.mjs +0 -11
- package/esm2020/graphql/utils/inline-variables.mjs +0 -51
- package/esm2020/graphql/utils/parse-comments.mjs +0 -24
- package/esm2020/graphql/utils/parse-hints.mjs +0 -108
- package/esm2020/graphql/utils/remove-variable-definition.mjs +0 -14
- package/esm2020/graphql/utils/remove-variable-definitions-not-defined.mjs +0 -19
- package/esm2020/graphql/utils/remove-variable.mjs +0 -22
- package/esm2020/graphql/utils/to-gql.mjs +0 -40
- package/esm2020/icon/icon/icon.component.mjs +0 -139
- package/esm2020/icon/icon-btn/icon-btn.component.mjs +0 -183
- package/esm2020/icon/icon-notification/icon-notification.component.mjs +0 -124
- package/esm2020/icon/icon.mjs +0 -2
- package/esm2020/icon/icon.module.mjs +0 -38
- package/esm2020/icon/public-api.mjs +0 -7
- package/esm2020/icon/theseam-ui-common-icon.mjs +0 -5
- package/esm2020/icon/utils/file-extension-icon.mjs +0 -33
- package/esm2020/icon/utils/get-known-icon.mjs +0 -82
- package/esm2020/icon/utils/index.mjs +0 -3
- package/esm2020/layout/breakpoint-aliases.mjs +0 -11
- package/esm2020/layout/layout.module.mjs +0 -25
- package/esm2020/layout/layout.service.mjs +0 -32
- package/esm2020/layout/observe-media-query.mjs +0 -41
- package/esm2020/layout/public-api.mjs +0 -5
- package/esm2020/layout/theseam-ui-common-layout.mjs +0 -5
- package/esm2020/loading/loading/loading.component.mjs +0 -26
- package/esm2020/loading/loading-overlay.service.mjs +0 -58
- package/esm2020/loading/loading-themes.mjs +0 -18
- package/esm2020/loading/loading.models.mjs +0 -2
- package/esm2020/loading/loading.module.mjs +0 -41
- package/esm2020/loading/public-api.mjs +0 -6
- package/esm2020/loading/theseam-ui-common-loading.mjs +0 -5
- package/esm2020/menu/menu-animations.mjs +0 -58
- package/esm2020/menu/menu-divider.component.mjs +0 -13
- package/esm2020/menu/menu-footer/menu-footer.component.mjs +0 -32
- package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +0 -54
- package/esm2020/menu/menu-header/menu-header.component.mjs +0 -32
- package/esm2020/menu/menu-item.component.mjs +0 -158
- package/esm2020/menu/menu-panel-token.mjs +0 -6
- package/esm2020/menu/menu-panel.mjs +0 -2
- package/esm2020/menu/menu-toggle.directive.mjs +0 -427
- package/esm2020/menu/menu.component.mjs +0 -200
- package/esm2020/menu/menu.module.mjs +0 -67
- package/esm2020/menu/public-api.mjs +0 -16
- package/esm2020/menu/testing/menu-footer.harness.mjs +0 -28
- package/esm2020/menu/testing/menu-header.harness.mjs +0 -23
- package/esm2020/menu/testing/menu-item.harness.mjs +0 -59
- package/esm2020/menu/testing/menu.harness.mjs +0 -163
- package/esm2020/menu/testing/utils.mjs +0 -13
- package/esm2020/menu/theseam-ui-common-menu.mjs +0 -5
- package/esm2020/modal/directives/modal-close.directive.mjs +0 -74
- package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +0 -16
- package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +0 -16
- package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +0 -16
- package/esm2020/modal/directives/modal-title.directive.mjs +0 -20
- package/esm2020/modal/directives/modal.directive.mjs +0 -25
- package/esm2020/modal/modal/modal.component.mjs +0 -162
- package/esm2020/modal/modal-body/modal-body.component.mjs +0 -21
- package/esm2020/modal/modal-config.mjs +0 -47
- package/esm2020/modal/modal-container/modal-container.component.mjs +0 -245
- package/esm2020/modal/modal-footer/modal-footer.component.mjs +0 -17
- package/esm2020/modal/modal-header/modal-header.component.mjs +0 -28
- package/esm2020/modal/modal-injectors.mjs +0 -23
- package/esm2020/modal/modal-ref.mjs +0 -171
- package/esm2020/modal/modal-utils.mjs +0 -14
- package/esm2020/modal/modal.models.mjs +0 -3
- package/esm2020/modal/modal.module.mjs +0 -127
- package/esm2020/modal/modal.service.mjs +0 -352
- package/esm2020/modal/public-api.mjs +0 -20
- package/esm2020/modal/route-modal/route-modal.component.mjs +0 -62
- package/esm2020/modal/theseam-ui-common-modal.mjs +0 -5
- package/esm2020/models/component-type.mjs +0 -4
- package/esm2020/models/http-status-codes.mjs +0 -20
- package/esm2020/models/public-api.mjs +0 -8
- package/esm2020/models/size-prefixes.mjs +0 -2
- package/esm2020/models/size-types.mjs +0 -2
- package/esm2020/models/theme-names.mjs +0 -26
- package/esm2020/models/theme-prefixes.mjs +0 -2
- package/esm2020/models/theme-types.mjs +0 -2
- package/esm2020/models/theseam-ui-common-models.mjs +0 -5
- package/esm2020/navigation-reload/navigation-reload.config.mjs +0 -2
- package/esm2020/navigation-reload/navigation-reload.provider.mjs +0 -14
- package/esm2020/navigation-reload/navigation-reload.service.mjs +0 -54
- package/esm2020/navigation-reload/public-api.mjs +0 -4
- package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +0 -5
- package/esm2020/popover/popover/popover.component.mjs +0 -160
- package/esm2020/popover/popover-animations.mjs +0 -46
- package/esm2020/popover/popover.directive.mjs +0 -264
- package/esm2020/popover/popover.module.mjs +0 -40
- package/esm2020/popover/public-api.mjs +0 -5
- package/esm2020/popover/theseam-ui-common-popover.mjs +0 -5
- package/esm2020/progress/progress-circle/progress-circle.component.mjs +0 -65
- package/esm2020/progress/progress.module.mjs +0 -24
- package/esm2020/progress/public-api.mjs +0 -3
- package/esm2020/progress/theseam-ui-common-progress.mjs +0 -5
- package/esm2020/public_api.mjs +0 -2
- package/esm2020/rich-text/public-api.mjs +0 -5
- package/esm2020/rich-text/rich-text/rich-text.component.mjs +0 -594
- package/esm2020/rich-text/rich-text.module.mjs +0 -32
- package/esm2020/rich-text/theseam-ui-common-rich-text.mjs +0 -5
- package/esm2020/rich-text/utils/models.mjs +0 -24
- package/esm2020/rich-text/utils/utils.mjs +0 -123
- package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +0 -60
- package/esm2020/scrollbar/overlay-scrollbars-config-model.mjs +0 -2
- package/esm2020/scrollbar/overlay-scrollbars-config.mjs +0 -13
- package/esm2020/scrollbar/overlay-scrollbars.service.mjs +0 -83
- package/esm2020/scrollbar/public-api.mjs +0 -6
- package/esm2020/scrollbar/scrollbar.module.mjs +0 -30
- package/esm2020/scrollbar/theseam-ui-common-scrollbar.mjs +0 -5
- package/esm2020/services/asset-loader.service.mjs +0 -32
- package/esm2020/services/font-loader.service.mjs +0 -83
- package/esm2020/services/preferences/preferences-accessor.mjs +0 -2
- package/esm2020/services/preferences/preferences-manager.service.mjs +0 -69
- package/esm2020/services/preferences/preferences-record.mjs +0 -72
- package/esm2020/services/preferences/preferences.models.mjs +0 -2
- package/esm2020/services/public-api.mjs +0 -8
- package/esm2020/services/router-helpers.service.mjs +0 -25
- package/esm2020/services/theseam-ui-common-services.mjs +0 -5
- package/esm2020/shared/components/index.mjs +0 -2
- package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +0 -49
- package/esm2020/shared/directives/auto-focus.directive.mjs +0 -54
- package/esm2020/shared/directives/click-outside.directive.mjs +0 -52
- package/esm2020/shared/directives/disable-control.directive.mjs +0 -27
- package/esm2020/shared/directives/elem-resized.directive.mjs +0 -28
- package/esm2020/shared/directives/hover-class-toggle.directive.mjs +0 -88
- package/esm2020/shared/directives/hover-class.directive.mjs +0 -82
- package/esm2020/shared/directives/index.mjs +0 -9
- package/esm2020/shared/directives/ng-select-extra.directive.mjs +0 -184
- package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +0 -61
- package/esm2020/shared/pipes/index.mjs +0 -3
- package/esm2020/shared/pipes/mask-chars.pipe.mjs +0 -25
- package/esm2020/shared/pipes/truncate.pipe.mjs +0 -23
- package/esm2020/shared/public-api.mjs +0 -5
- package/esm2020/shared/shared.module.mjs +0 -93
- package/esm2020/shared/theseam-ui-common-shared.mjs +0 -5
- package/esm2020/storage/local-storage.service.mjs +0 -78
- package/esm2020/storage/localstorage-memory.mjs +0 -64
- package/esm2020/storage/public-api.mjs +0 -2
- package/esm2020/storage/theseam-ui-common-storage.mjs +0 -5
- package/esm2020/story-helpers/arg-type-helpers.mjs +0 -31
- package/esm2020/story-helpers/args-to-tpl.mjs +0 -83
- package/esm2020/story-helpers/initial-route-factory.mjs +0 -4
- package/esm2020/story-helpers/initial-route.service.mjs +0 -27
- package/esm2020/story-helpers/on-story-bootstrapped-exec.mjs +0 -61
- package/esm2020/story-helpers/on-story-bootstrapped-trigger.mjs +0 -39
- package/esm2020/story-helpers/public-api.mjs +0 -16
- package/esm2020/story-helpers/route-button.mjs +0 -12
- package/esm2020/story-helpers/routes-arg-type.mjs +0 -19
- package/esm2020/story-helpers/story-empty-with-route.component.mjs +0 -12
- package/esm2020/story-helpers/story-empty.component.mjs +0 -11
- package/esm2020/story-helpers/story-helper-components.module.mjs +0 -42
- package/esm2020/story-helpers/story-initial-route.mjs +0 -28
- package/esm2020/story-helpers/story-modal-container.component.mjs +0 -90
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +0 -34
- package/esm2020/story-helpers/story-toastr.service.mjs +0 -36
- package/esm2020/story-helpers/theseam-ui-common-story-helpers.mjs +0 -5
- package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +0 -17
- package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +0 -37
- package/esm2020/tabbed/public-api.mjs +0 -9
- package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +0 -16
- package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +0 -33
- package/esm2020/tabbed/tabbed-models.mjs +0 -2
- package/esm2020/tabbed/tabbed.component.mjs +0 -119
- package/esm2020/tabbed/tabbed.module.mjs +0 -54
- package/esm2020/tabbed/tabbed.service.mjs +0 -30
- package/esm2020/tabbed/theseam-ui-common-tabbed.mjs +0 -5
- package/esm2020/table/public-api.mjs +0 -6
- package/esm2020/table/table/table.component.mjs +0 -181
- package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column.component.mjs +0 -68
- package/esm2020/table/table.module.mjs +0 -48
- package/esm2020/table/theseam-ui-common-table.mjs +0 -5
- package/esm2020/table-cell-type/public-api.mjs +0 -12
- package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +0 -67
- package/esm2020/table-cell-type/table-cell-type-action.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-column.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-config.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-export-props.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-manifest-provider.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-models.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-name.mjs +0 -2
- package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +0 -100
- package/esm2020/table-cell-type/table-cell-type-tokens.mjs +0 -4
- package/esm2020/table-cell-type/table-cell-type.module.mjs +0 -29
- package/esm2020/table-cell-type/theseam-ui-common-table-cell-type.mjs +0 -5
- package/esm2020/table-cell-types/public-api.mjs +0 -23
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +0 -86
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +0 -52
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +0 -84
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +0 -175
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +0 -82
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-manifests.mjs +0 -92
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +0 -67
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +0 -168
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +0 -77
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string-config.mjs +0 -2
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +0 -197
- package/esm2020/table-cell-types/table-cell-types.module.mjs +0 -118
- package/esm2020/table-cell-types/theseam-ui-common-table-cell-types.mjs +0 -5
- package/esm2020/tel-input/intl-tel-input.mjs +0 -55
- package/esm2020/tel-input/models/index.mjs +0 -3
- package/esm2020/tel-input/models/tel-input-country-data.mjs +0 -2
- package/esm2020/tel-input/models/tel-input-number-format-name.mjs +0 -8
- package/esm2020/tel-input/phone-number.pipe.mjs +0 -49
- package/esm2020/tel-input/public-api.mjs +0 -11
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +0 -198
- package/esm2020/tel-input/tel-input-constants.mjs +0 -18
- package/esm2020/tel-input/tel-input-validator.mjs +0 -27
- package/esm2020/tel-input/tel-input.directive.mjs +0 -209
- package/esm2020/tel-input/tel-input.module.mjs +0 -43
- package/esm2020/tel-input/testing/tel-input.harness.mjs +0 -49
- package/esm2020/tel-input/theseam-ui-common-tel-input.mjs +0 -5
- package/esm2020/tel-input/utils/add-country-code.mjs +0 -23
- package/esm2020/tel-input/utils/coerce-phone-number-format.mjs +0 -22
- package/esm2020/tel-input/utils/get-country-code.mjs +0 -9
- package/esm2020/tel-input/utils/get-dial-code.mjs +0 -45
- package/esm2020/tel-input/utils/get-global-intl-tel-input-globals.mjs +0 -4
- package/esm2020/tel-input/utils/get-global-intl-tel-input-utils.mjs +0 -4
- package/esm2020/tel-input/utils/get-intl-tel-input-utils.mjs +0 -17
- package/esm2020/tel-input/utils/get-validation-error-message.mjs +0 -12
- package/esm2020/tel-input/utils/index.mjs +0 -10
- package/esm2020/tel-input/utils/process-country-codes.mjs +0 -46
- package/esm2020/testing/current-tick-time.mjs +0 -16
- package/esm2020/testing/fake-toastr.mjs +0 -29
- package/esm2020/testing/get-harness.mjs +0 -19
- package/esm2020/testing/harnesses/ng-select-dropdown.harness.mjs +0 -39
- package/esm2020/testing/harnesses/ng-select-option.harness.mjs +0 -26
- package/esm2020/testing/harnesses/ng-select.harness.mjs +0 -104
- package/esm2020/testing/public-api.mjs +0 -10
- package/esm2020/testing/render-story.mjs +0 -10
- package/esm2020/testing/story-expect.mjs +0 -40
- package/esm2020/testing/theseam-ui-common-testing.mjs +0 -5
- package/esm2020/testing/tick-helper.mjs +0 -74
- package/esm2020/theseam-ui-common.mjs +0 -5
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +0 -214
- package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +0 -159
- package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +0 -63
- package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +0 -17
- package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +0 -16
- package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +0 -19
- package/esm2020/tiled-select/public-api.mjs +0 -10
- package/esm2020/tiled-select/testing/index.mjs +0 -3
- package/esm2020/tiled-select/testing/tiled-select-harness.mjs +0 -21
- package/esm2020/tiled-select/testing/tiled-select-tile-harness.mjs +0 -23
- package/esm2020/tiled-select/theseam-ui-common-tiled-select.mjs +0 -5
- package/esm2020/tiled-select/tiled-select.models.mjs +0 -2
- package/esm2020/tiled-select/tiled-select.module.mjs +0 -51
- package/esm2020/toggle-edit/models/can-toggle-edit.mjs +0 -2
- package/esm2020/toggle-edit/models/index.mjs +0 -3
- package/esm2020/toggle-edit/models/toggle-edit-ref.mjs +0 -2
- package/esm2020/toggle-edit/public-api.mjs +0 -7
- package/esm2020/toggle-edit/theseam-ui-common-toggle-edit.mjs +0 -5
- package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +0 -11
- package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +0 -16
- package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +0 -57
- package/esm2020/toggle-edit/toggle-edit.component.mjs +0 -414
- package/esm2020/toggle-edit/toggle-edit.module.mjs +0 -64
- package/esm2020/toggle-group/public-api.mjs +0 -4
- package/esm2020/toggle-group/theseam-ui-common-toggle-group.mjs +0 -5
- package/esm2020/toggle-group/toggle-group-option.directive.mjs +0 -47
- package/esm2020/toggle-group/toggle-group.directive.mjs +0 -199
- package/esm2020/toggle-group/toggle-group.module.mjs +0 -33
- package/esm2020/unsaved-changes-dialog/public-api.mjs +0 -5
- package/esm2020/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.mjs +0 -5
- package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +0 -30
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -21
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +0 -38
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -17
- package/esm2020/utils/array-move.mjs +0 -62
- package/esm2020/utils/calc-percentage.mjs +0 -4
- package/esm2020/utils/cdk/get-closest-widget-cdk-drag.mjs +0 -18
- package/esm2020/utils/create-padding.mjs +0 -17
- package/esm2020/utils/file-utils.mjs +0 -49
- package/esm2020/utils/form/get-control-name.mjs +0 -31
- package/esm2020/utils/form/get-control-path.mjs +0 -38
- package/esm2020/utils/form/has-required-control.mjs +0 -50
- package/esm2020/utils/form/is-empty-input-value.mjs +0 -6
- package/esm2020/utils/form/observe-control-is-different.mjs +0 -18
- package/esm2020/utils/form/observe-control-status.mjs +0 -17
- package/esm2020/utils/form/observe-control-valid.mjs +0 -30
- package/esm2020/utils/form/observe-control-value-change.mjs +0 -10
- package/esm2020/utils/form/observe-control-value.mjs +0 -11
- package/esm2020/utils/form/wait-on-non-pending-status.mjs +0 -18
- package/esm2020/utils/fractional-digits-count.mjs +0 -19
- package/esm2020/utils/geo-json/close-polygons.mjs +0 -38
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +0 -44
- package/esm2020/utils/geo-json/geo-json-to-area.mjs +0 -11
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +0 -21
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +0 -23
- package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +0 -32
- package/esm2020/utils/geo-json/merge-polygons.mjs +0 -35
- package/esm2020/utils/geo-json/min-max-points.validator.mjs +0 -56
- package/esm2020/utils/geo-json/no-empty-feature-collection.validator.mjs +0 -24
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +0 -63
- package/esm2020/utils/geo-json/no-kinks.validator.mjs +0 -39
- package/esm2020/utils/geo-json/read-geo-file.mjs +0 -93
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +0 -29
- package/esm2020/utils/get-attribute.mjs +0 -7
- package/esm2020/utils/has-attribute.mjs +0 -7
- package/esm2020/utils/has-property.mjs +0 -7
- package/esm2020/utils/input-masks.mjs +0 -2
- package/esm2020/utils/is-absolute-url.mjs +0 -17
- package/esm2020/utils/is-null-or-undefined-or-empty.mjs +0 -4
- package/esm2020/utils/is-null-or-undefined.mjs +0 -4
- package/esm2020/utils/is-numeric.mjs +0 -4
- package/esm2020/utils/load-style-sheet.mjs +0 -14
- package/esm2020/utils/load-style.mjs +0 -13
- package/esm2020/utils/not-null-or-undefined-or-empty.mjs +0 -4
- package/esm2020/utils/not-null-or-undefined.mjs +0 -4
- package/esm2020/utils/obj-utils.mjs +0 -26
- package/esm2020/utils/observe-query-list.mjs +0 -5
- package/esm2020/utils/operators/index.mjs +0 -3
- package/esm2020/utils/operators/map-each.mjs +0 -6
- package/esm2020/utils/operators/tap-first.mjs +0 -14
- package/esm2020/utils/pad-end.mjs +0 -9
- package/esm2020/utils/pad-start.mjs +0 -9
- package/esm2020/utils/polling-ticker.mjs +0 -121
- package/esm2020/utils/public-api.mjs +0 -54
- package/esm2020/utils/refreshable.mjs +0 -65
- package/esm2020/utils/router/index.mjs +0 -7
- package/esm2020/utils/router/is-empty-url-route.mjs +0 -4
- package/esm2020/utils/router/leaf-child-route.mjs +0 -8
- package/esm2020/utils/router/operators/activated-routes-with-data-property.mjs +0 -11
- package/esm2020/utils/router/route-snapshot-path-full.mjs +0 -5
- package/esm2020/utils/router/route-snapshot-path-relative.mjs +0 -4
- package/esm2020/utils/router/will-have-data-prop.mjs +0 -10
- package/esm2020/utils/subscriber-count.mjs +0 -45
- package/esm2020/utils/theseam-ui-common-utils.mjs +0 -5
- package/esm2020/utils/toggle-attribute.mjs +0 -36
- package/esm2020/utils/wait-on-condition-async.mjs +0 -30
- package/esm2020/utils/wrap-into-observable.mjs +0 -8
- package/esm2020/validators/decimal.validator.mjs +0 -25
- package/esm2020/validators/email-exists.validator.mjs +0 -18
- package/esm2020/validators/integer.validator.mjs +0 -25
- package/esm2020/validators/phone-length.validator.mjs +0 -8
- package/esm2020/validators/public-api.mjs +0 -6
- package/esm2020/validators/tax-id.validator.mjs +0 -13
- package/esm2020/validators/theseam-ui-common-validators.mjs +0 -5
- package/esm2020/vertical-list-filter/public-api.mjs +0 -3
- package/esm2020/vertical-list-filter/testing/index.mjs +0 -2
- package/esm2020/vertical-list-filter/testing/vertical-list-filter.harness.mjs +0 -28
- package/esm2020/vertical-list-filter/theseam-ui-common-vertical-list-filter.mjs +0 -5
- package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +0 -52
- package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +0 -219
- package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +0 -32
- package/esm2020/viewers/html-template-viewer/index.mjs +0 -3
- package/esm2020/viewers/pdf-viewer/index.mjs +0 -4
- package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +0 -143
- package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +0 -28
- package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -164
- package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +0 -33
- package/esm2020/viewers/public-api.mjs +0 -3
- package/esm2020/viewers/theseam-ui-common-viewers.mjs +0 -5
- package/esm2020/widget/directives/widget-drag-handle.directive.mjs +0 -150
- package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +0 -16
- package/esm2020/widget/directives/widget-title-tpl.directive.mjs +0 -16
- package/esm2020/widget/preferences/widget-preferences.models.mjs +0 -5
- package/esm2020/widget/preferences/widget-preferences.service.mjs +0 -78
- package/esm2020/widget/preferences/widget-preferences.token.mjs +0 -3
- package/esm2020/widget/public-api.mjs +0 -42
- package/esm2020/widget/theseam-ui-common-widget.mjs +0 -5
- package/esm2020/widget/widget/widget.component.mjs +0 -214
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +0 -30
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +0 -39
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +0 -22
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +0 -24
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +0 -17
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +0 -124
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +0 -14
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +0 -46
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +0 -38
- package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +0 -32
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +0 -13
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +0 -41
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +0 -17
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +0 -122
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +0 -48
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +0 -11
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +0 -27
- package/esm2020/widget/widget-footer/widget-footer.component.mjs +0 -11
- package/esm2020/widget/widget-registry.models.mjs +0 -2
- package/esm2020/widget/widget-registry.service.mjs +0 -56
- package/esm2020/widget/widget-token.mjs +0 -5
- package/esm2020/widget/widget.models.mjs +0 -2
- package/esm2020/widget/widget.module.mjs +0 -125
- package/fesm2015/theseam-ui-common-asset-reader.mjs +0 -186
- package/fesm2015/theseam-ui-common-asset-reader.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +0 -201
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +0 -492
- package/fesm2015/theseam-ui-common-buttons.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-card.mjs +0 -153
- package/fesm2015/theseam-ui-common-card.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +0 -266
- package/fesm2015/theseam-ui-common-carousel.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-checkbox.mjs +0 -391
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs +0 -192
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-core.mjs +0 -225
- package/fesm2015/theseam-ui-common-core.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-data-exporter.mjs +0 -93
- package/fesm2015/theseam-ui-common-data-exporter.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-data-filters.mjs +0 -508
- package/fesm2015/theseam-ui-common-data-filters.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +0 -998
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +0 -3685
- package/fesm2015/theseam-ui-common-datatable.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +0 -135
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-dynamic.mjs +0 -722
- package/fesm2015/theseam-ui-common-dynamic.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-footer-bar.mjs +0 -35
- package/fesm2015/theseam-ui-common-footer-bar.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-form-field-error.mjs +0 -479
- package/fesm2015/theseam-ui-common-form-field-error.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +0 -670
- package/fesm2015/theseam-ui-common-form-field.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-framework.mjs +0 -3891
- package/fesm2015/theseam-ui-common-framework.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +0 -2083
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +0 -1115
- package/fesm2015/theseam-ui-common-graphql.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-icon.mjs +0 -587
- package/fesm2015/theseam-ui-common-icon.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-layout.mjs +0 -101
- package/fesm2015/theseam-ui-common-layout.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-loading.mjs +0 -139
- package/fesm2015/theseam-ui-common-loading.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-menu.mjs +0 -1361
- package/fesm2015/theseam-ui-common-menu.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-modal.mjs +0 -1378
- package/fesm2015/theseam-ui-common-modal.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-models.mjs +0 -52
- package/fesm2015/theseam-ui-common-models.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +0 -75
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-popover.mjs +0 -506
- package/fesm2015/theseam-ui-common-popover.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-progress.mjs +0 -93
- package/fesm2015/theseam-ui-common-progress.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-rich-text.mjs +0 -767
- package/fesm2015/theseam-ui-common-rich-text.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-scrollbar.mjs +0 -184
- package/fesm2015/theseam-ui-common-scrollbar.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-services.mjs +0 -273
- package/fesm2015/theseam-ui-common-services.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-shared.mjs +0 -739
- package/fesm2015/theseam-ui-common-shared.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-storage.mjs +0 -148
- package/fesm2015/theseam-ui-common-storage.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +0 -514
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-tabbed.mjs +0 -288
- package/fesm2015/theseam-ui-common-tabbed.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-table-cell-type.mjs +0 -201
- package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +0 -1134
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-table.mjs +0 -320
- package/fesm2015/theseam-ui-common-table.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +0 -841
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-testing.mjs +0 -395
- package/fesm2015/theseam-ui-common-testing.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs +0 -571
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +0 -560
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-toggle-group.mjs +0 -281
- package/fesm2015/theseam-ui-common-toggle-group.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +0 -106
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-utils.mjs +0 -1387
- package/fesm2015/theseam-ui-common-utils.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-validators.mjs +0 -94
- package/fesm2015/theseam-ui-common-validators.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +0 -96
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-viewers.mjs +0 -602
- package/fesm2015/theseam-ui-common-viewers.mjs.map +0 -1
- package/fesm2015/theseam-ui-common-widget.mjs +0 -1395
- package/fesm2015/theseam-ui-common-widget.mjs.map +0 -1
- package/fesm2015/theseam-ui-common.mjs +0 -6
- package/fesm2015/theseam-ui-common.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-asset-reader.mjs +0 -184
- package/fesm2020/theseam-ui-common-asset-reader.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +0 -201
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +0 -466
- package/fesm2020/theseam-ui-common-buttons.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-card.mjs +0 -151
- package/fesm2020/theseam-ui-common-card.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +0 -266
- package/fesm2020/theseam-ui-common-carousel.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-checkbox.mjs +0 -373
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs +0 -192
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-core.mjs +0 -233
- package/fesm2020/theseam-ui-common-core.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-data-exporter.mjs +0 -93
- package/fesm2020/theseam-ui-common-data-exporter.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-data-filters.mjs +0 -500
- package/fesm2020/theseam-ui-common-data-filters.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +0 -986
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +0 -3662
- package/fesm2020/theseam-ui-common-datatable.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +0 -133
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-dynamic.mjs +0 -689
- package/fesm2020/theseam-ui-common-dynamic.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-footer-bar.mjs +0 -35
- package/fesm2020/theseam-ui-common-footer-bar.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-form-field-error.mjs +0 -483
- package/fesm2020/theseam-ui-common-form-field-error.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +0 -659
- package/fesm2020/theseam-ui-common-form-field.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-framework.mjs +0 -3883
- package/fesm2020/theseam-ui-common-framework.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +0 -2072
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +0 -1121
- package/fesm2020/theseam-ui-common-graphql.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-icon.mjs +0 -587
- package/fesm2020/theseam-ui-common-icon.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-layout.mjs +0 -111
- package/fesm2020/theseam-ui-common-layout.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-loading.mjs +0 -138
- package/fesm2020/theseam-ui-common-loading.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-menu.mjs +0 -1288
- package/fesm2020/theseam-ui-common-menu.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-modal.mjs +0 -1370
- package/fesm2020/theseam-ui-common-modal.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-models.mjs +0 -55
- package/fesm2020/theseam-ui-common-models.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +0 -74
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-popover.mjs +0 -503
- package/fesm2020/theseam-ui-common-popover.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-progress.mjs +0 -93
- package/fesm2020/theseam-ui-common-progress.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-rich-text.mjs +0 -773
- package/fesm2020/theseam-ui-common-rich-text.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-scrollbar.mjs +0 -184
- package/fesm2020/theseam-ui-common-scrollbar.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-services.mjs +0 -274
- package/fesm2020/theseam-ui-common-services.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-shared.mjs +0 -733
- package/fesm2020/theseam-ui-common-shared.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-storage.mjs +0 -148
- package/fesm2020/theseam-ui-common-storage.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +0 -512
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-tabbed.mjs +0 -286
- package/fesm2020/theseam-ui-common-tabbed.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-table-cell-type.mjs +0 -198
- package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +0 -1109
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-table.mjs +0 -322
- package/fesm2020/theseam-ui-common-table.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +0 -810
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-testing.mjs +0 -359
- package/fesm2020/theseam-ui-common-testing.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs +0 -557
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +0 -553
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-toggle-group.mjs +0 -277
- package/fesm2020/theseam-ui-common-toggle-group.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +0 -106
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-utils.mjs +0 -1364
- package/fesm2020/theseam-ui-common-utils.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-validators.mjs +0 -94
- package/fesm2020/theseam-ui-common-validators.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +0 -87
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-viewers.mjs +0 -598
- package/fesm2020/theseam-ui-common-viewers.mjs.map +0 -1
- package/fesm2020/theseam-ui-common-widget.mjs +0 -1387
- package/fesm2020/theseam-ui-common-widget.mjs.map +0 -1
- package/fesm2020/theseam-ui-common.mjs +0 -6
- package/fesm2020/theseam-ui-common.mjs.map +0 -1
- package/footer-bar/footer-bar/footer-bar.component.d.ts +0 -5
- package/footer-bar/footer-bar.module.d.ts +0 -8
- package/footer-bar/public-api.d.ts +0 -2
- package/form-field/form-field-error.directive.d.ts +0 -15
- package/form-field/form-field-help-text.directive.d.ts +0 -8
- package/form-field/form-field-label-tpl.directive.d.ts +0 -8
- package/form-field/form-field-required-indicator.component.d.ts +0 -16
- package/form-field/form-field-tokens.d.ts +0 -2
- package/form-field/form-field.component.d.ts +0 -117
- package/form-field/form-field.module.d.ts +0 -16
- package/form-field/input.directive.d.ts +0 -70
- package/form-field/public-api.d.ts +0 -9
- package/form-field/testing/form-field-required-indicator.harness.d.ts +0 -5
- package/form-field/testing/form-field.harness.d.ts +0 -14
- package/form-field/testing/index.d.ts +0 -2
- package/form-field-error/form-field-error/form-field-error.component.d.ts +0 -8
- package/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.d.ts +0 -12
- package/form-field-error/form-field-error-list/form-field-error-list-item.directive.d.ts +0 -9
- package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +0 -65
- package/form-field-error/form-field-error.module.d.ts +0 -11
- package/form-field-error/public-api.d.ts +0 -5
- package/framework/base-layout/base-layout-action.d.ts +0 -31
- package/framework/base-layout/base-layout-nav.d.ts +0 -18
- package/framework/base-layout/base-layout-ref.d.ts +0 -14
- package/framework/base-layout/base-layout-tokens.d.ts +0 -3
- package/framework/base-layout/base-layout.component.d.ts +0 -48
- package/framework/base-layout/base-layout.module.d.ts +0 -20
- package/framework/base-layout/directives/base-layout-content-footer.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-content-header.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-content.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +0 -22
- package/framework/base-layout/directives/base-layout-side-bar-footer.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-side-bar.directive.d.ts +0 -9
- package/framework/base-layout/directives/base-layout-top-bar.directive.d.ts +0 -9
- package/framework/base-layout/index.d.ts +0 -14
- package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +0 -9
- package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +0 -13
- package/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.d.ts +0 -50
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-item.d.ts +0 -43
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.d.ts +0 -3
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.d.ts +0 -15
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.d.ts +0 -30
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.d.ts +0 -62
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.service.d.ts +0 -37
- package/framework/dashboard/dashboard-widgets-tokens.d.ts +0 -7
- package/framework/dashboard/dashboard.component.d.ts +0 -10
- package/framework/dashboard/dashboard.module.d.ts +0 -17
- package/framework/dashboard/index.d.ts +0 -11
- package/framework/dynamic-router/dynamic-route-def.d.ts +0 -8
- package/framework/dynamic-router/dynamic-router.module.d.ts +0 -9
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.d.ts +0 -5
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +0 -25
- package/framework/dynamic-router/index.d.ts +0 -5
- package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +0 -9
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
- package/framework/nav/index.d.ts +0 -5
- package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
- package/framework/nav/nav-utils.d.ts +0 -20
- package/framework/nav/nav.models.d.ts +0 -77
- package/framework/nav/nav.module.d.ts +0 -17
- package/framework/nav/nav.service.d.ts +0 -27
- package/framework/public-api.d.ts +0 -7
- package/framework/schema-form/index.d.ts +0 -4
- package/framework/schema-form/schema-form-framework.component.d.ts +0 -8
- package/framework/schema-form/schema-form-framework.d.ts +0 -32
- package/framework/schema-form/schema-form-widget.d.ts +0 -61
- package/framework/schema-form/schema-form.module.d.ts +0 -9
- package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +0 -25
- package/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.d.ts +0 -12
- package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +0 -23
- package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +0 -26
- package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +0 -24
- package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +0 -22
- package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +0 -38
- package/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.d.ts +0 -23
- package/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.d.ts +0 -32
- package/framework/side-nav/index.d.ts +0 -7
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +0 -70
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +0 -14
- package/framework/side-nav/side-nav-tokens.d.ts +0 -14
- package/framework/side-nav/side-nav-utils.d.ts +0 -24
- package/framework/side-nav/side-nav.component.d.ts +0 -66
- package/framework/side-nav/side-nav.models.d.ts +0 -93
- package/framework/side-nav/side-nav.module.d.ts +0 -9
- package/framework/side-nav/side-nav.service.d.ts +0 -24
- package/framework/top-bar/index.d.ts +0 -9
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-item.directive.d.ts +0 -11
- package/framework/top-bar/top-bar-menu-btn-detail.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +0 -26
- package/framework/top-bar/top-bar-menu.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +0 -7
- package/framework/top-bar/top-bar.component.d.ts +0 -85
- package/framework/top-bar/top-bar.module.d.ts +0 -21
- package/google-maps/google-maps/google-maps.component.d.ts +0 -105
- package/google-maps/google-maps-api-loader/google-maps-api-loader.d.ts +0 -4
- package/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.d.ts +0 -74
- package/google-maps/google-maps-api-loader/noop-google-maps-api-loader.d.ts +0 -13
- package/google-maps/google-maps-contextmenu.d.ts +0 -15
- package/google-maps/google-maps-controls.service.d.ts +0 -26
- package/google-maps/google-maps-feature-helpers.d.ts +0 -41
- package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -106
- package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -83
- package/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.d.ts +0 -24
- package/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.d.ts +0 -37
- package/google-maps/google-maps.module.d.ts +0 -20
- package/google-maps/google-maps.service.d.ts +0 -65
- package/google-maps/map-control.component.d.ts +0 -23
- package/google-maps/map-controls-service.d.ts +0 -13
- package/google-maps/map-file-drop/map-file-drop.component.d.ts +0 -37
- package/google-maps/map-value-manager.service.d.ts +0 -21
- package/google-maps/public-api.d.ts +0 -17
- package/graphql/datatable/create-page-info-observable.d.ts +0 -4
- package/graphql/datatable/datatable-graphql-query-ref.d.ts +0 -64
- package/graphql/datatable/datatable-graphql.service.d.ts +0 -29
- package/graphql/datatable/datatable-helpers.d.ts +0 -12
- package/graphql/datatable/get-page-info.d.ts +0 -4
- package/graphql/datatable/index.d.ts +0 -9
- package/graphql/datatable/map-filter-states.d.ts +0 -18
- package/graphql/datatable/map-page-info.d.ts +0 -11
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/mapper-context.d.ts +0 -6
- package/graphql/models/direction.d.ts +0 -6
- package/graphql/models/gql-datatable-accessor.d.ts +0 -9
- package/graphql/models/hint-definition.d.ts +0 -7
- package/graphql/models/hint-transform-operation.d.ts +0 -5
- package/graphql/models/hint-transformer.d.ts +0 -3
- package/graphql/models/hints-kind.d.ts +0 -7
- package/graphql/models/hints-token.d.ts +0 -7
- package/graphql/models/index.d.ts +0 -9
- package/graphql/models/query-processing-config.d.ts +0 -13
- package/graphql/models/variable.d.ts +0 -5
- package/graphql/public-api.d.ts +0 -2
- package/graphql/utils/contains-variable.d.ts +0 -2
- package/graphql/utils/gql-var.d.ts +0 -3
- package/graphql/utils/hints-tokens-containing-hint.d.ts +0 -2
- package/graphql/utils/index.d.ts +0 -10
- package/graphql/utils/inline-variables.d.ts +0 -2
- package/graphql/utils/parse-comments.d.ts +0 -2
- package/graphql/utils/parse-hints.d.ts +0 -17
- package/graphql/utils/remove-variable-definition.d.ts +0 -2
- package/graphql/utils/remove-variable-definitions-not-defined.d.ts +0 -3
- package/graphql/utils/remove-variable.d.ts +0 -2
- package/graphql/utils/to-gql.d.ts +0 -1
- package/icon/icon/icon.component.d.ts +0 -57
- package/icon/icon-btn/icon-btn.component.d.ts +0 -76
- package/icon/icon-notification/icon-notification.component.d.ts +0 -50
- package/icon/icon.d.ts +0 -2
- package/icon/icon.module.d.ts +0 -11
- package/icon/public-api.d.ts +0 -6
- package/icon/utils/file-extension-icon.d.ts +0 -3
- package/icon/utils/get-known-icon.d.ts +0 -2
- package/icon/utils/index.d.ts +0 -2
- package/layout/breakpoint-aliases.d.ts +0 -20
- package/layout/layout.module.d.ts +0 -8
- package/layout/layout.service.d.ts +0 -23
- package/layout/observe-media-query.d.ts +0 -8
- package/layout/public-api.d.ts +0 -4
- package/loading/loading/loading.component.d.ts +0 -9
- package/loading/loading-overlay.service.d.ts +0 -16
- package/loading/loading-themes.d.ts +0 -3
- package/loading/loading.models.d.ts +0 -1
- package/loading/loading.module.d.ts +0 -13
- package/loading/public-api.d.ts +0 -5
- package/menu/menu-animations.d.ts +0 -8
- package/menu/menu-divider.component.d.ts +0 -5
- package/menu/menu-footer/menu-footer.component.d.ts +0 -12
- package/menu/menu-footer-action/menu-footer-action.component.d.ts +0 -22
- package/menu/menu-header/menu-header.component.d.ts +0 -12
- package/menu/menu-item.component.d.ts +0 -54
- package/menu/menu-panel-token.d.ts +0 -6
- package/menu/menu-panel.d.ts +0 -20
- package/menu/menu-toggle.directive.d.ts +0 -83
- package/menu/menu.component.d.ts +0 -79
- package/menu/menu.module.d.ts +0 -16
- package/menu/public-api.d.ts +0 -15
- package/menu/testing/menu-footer.harness.d.ts +0 -22
- package/menu/testing/menu-header.harness.d.ts +0 -18
- package/menu/testing/menu-item.harness.d.ts +0 -37
- package/menu/testing/menu.harness.d.ts +0 -74
- package/menu/testing/utils.d.ts +0 -5
- package/modal/directives/modal-close.directive.d.ts +0 -23
- package/modal/directives/modal-footer-tpl.directive.d.ts +0 -8
- package/modal/directives/modal-header-icon-tpl.directive.d.ts +0 -8
- package/modal/directives/modal-header-title-tpl.directive.d.ts +0 -8
- package/modal/directives/modal-title.directive.d.ts +0 -9
- package/modal/directives/modal.directive.d.ts +0 -11
- package/modal/modal/modal.component.d.ts +0 -58
- package/modal/modal-body/modal-body.component.d.ts +0 -7
- package/modal/modal-config.d.ts +0 -93
- package/modal/modal-container/modal-container.component.d.ts +0 -81
- package/modal/modal-footer/modal-footer.component.d.ts +0 -6
- package/modal/modal-header/modal-header.component.d.ts +0 -11
- package/modal/modal-injectors.d.ts +0 -23
- package/modal/modal-ref.d.ts +0 -52
- package/modal/modal-utils.d.ts +0 -8
- package/modal/modal.models.d.ts +0 -24
- package/modal/modal.module.d.ts +0 -25
- package/modal/modal.service.d.ts +0 -98
- package/modal/public-api.d.ts +0 -19
- package/modal/route-modal/route-modal.component.d.ts +0 -18
- package/models/component-type.d.ts +0 -2
- package/models/http-status-codes.d.ts +0 -18
- package/models/public-api.d.ts +0 -7
- package/models/size-prefixes.d.ts +0 -1
- package/models/size-types.d.ts +0 -1
- package/models/theme-names.d.ts +0 -2
- package/models/theme-prefixes.d.ts +0 -1
- package/models/theme-types.d.ts +0 -2
- package/navigation-reload/navigation-reload.config.d.ts +0 -5
- package/navigation-reload/navigation-reload.provider.d.ts +0 -3
- package/navigation-reload/navigation-reload.service.d.ts +0 -13
- package/navigation-reload/public-api.d.ts +0 -3
- package/popover/popover/popover.component.d.ts +0 -50
- package/popover/popover-animations.d.ts +0 -4
- package/popover/popover.directive.d.ts +0 -61
- package/popover/popover.module.d.ts +0 -11
- package/popover/public-api.d.ts +0 -4
- package/progress/progress-circle/progress-circle.component.d.ts +0 -29
- package/progress/progress.module.d.ts +0 -8
- package/progress/public-api.d.ts +0 -2
- package/public_api.d.ts +0 -2
- package/rich-text/public-api.d.ts +0 -4
- package/rich-text/rich-text/rich-text.component.d.ts +0 -194
- package/rich-text/rich-text.module.d.ts +0 -10
- package/rich-text/utils/models.d.ts +0 -343
- package/rich-text/utils/utils.d.ts +0 -14
- package/scrollbar/overlay-scrollbar.directive.d.ts +0 -23
- package/scrollbar/overlay-scrollbars-config-model.d.ts +0 -2
- package/scrollbar/overlay-scrollbars-config.d.ts +0 -51
- package/scrollbar/overlay-scrollbars.service.d.ts +0 -23
- package/scrollbar/public-api.d.ts +0 -5
- package/scrollbar/scrollbar.module.d.ts +0 -8
- package/services/asset-loader.service.d.ts +0 -15
- package/services/font-loader.service.d.ts +0 -45
- package/services/preferences/preferences-accessor.d.ts +0 -15
- package/services/preferences/preferences-manager.service.d.ts +0 -15
- package/services/preferences/preferences-record.d.ts +0 -28
- package/services/preferences/preferences.models.d.ts +0 -3
- package/services/public-api.d.ts +0 -7
- package/services/router-helpers.service.d.ts +0 -10
- package/shared/components/index.d.ts +0 -1
- package/shared/components/password-input-reveal/password-input-reveal.component.d.ts +0 -17
- package/shared/directives/auto-focus.directive.d.ts +0 -18
- package/shared/directives/click-outside.directive.d.ts +0 -13
- package/shared/directives/disable-control.directive.d.ts +0 -9
- package/shared/directives/elem-resized.directive.d.ts +0 -20
- package/shared/directives/hover-class-toggle.directive.d.ts +0 -36
- package/shared/directives/hover-class.directive.d.ts +0 -31
- package/shared/directives/index.d.ts +0 -8
- package/shared/directives/ng-select-extra.directive.d.ts +0 -42
- package/shared/directives/ngx-quill-extra.directive.d.ts +0 -23
- package/shared/pipes/index.d.ts +0 -2
- package/shared/pipes/mask-chars.pipe.d.ts +0 -7
- package/shared/pipes/truncate.pipe.d.ts +0 -7
- package/shared/public-api.d.ts +0 -4
- package/shared/shared.module.d.ts +0 -22
- package/storage/local-storage.service.d.ts +0 -31
- package/storage/localstorage-memory.d.ts +0 -37
- package/storage/public-api.d.ts +0 -1
- package/story-helpers/arg-type-helpers.d.ts +0 -6
- package/story-helpers/args-to-tpl.d.ts +0 -25
- package/story-helpers/initial-route-factory.d.ts +0 -2
- package/story-helpers/initial-route.service.d.ts +0 -10
- package/story-helpers/on-story-bootstrapped-exec.d.ts +0 -24
- package/story-helpers/on-story-bootstrapped-trigger.d.ts +0 -23
- package/story-helpers/public-api.d.ts +0 -15
- package/story-helpers/route-button.d.ts +0 -5
- package/story-helpers/routes-arg-type.d.ts +0 -7
- package/story-helpers/story-empty-with-route.component.d.ts +0 -5
- package/story-helpers/story-empty.component.d.ts +0 -5
- package/story-helpers/story-helper-components.module.d.ts +0 -12
- package/story-helpers/story-initial-route.d.ts +0 -8
- package/story-helpers/story-modal-container.component.d.ts +0 -23
- package/story-helpers/story-preferences-accessor.service.d.ts +0 -19
- package/story-helpers/story-toastr.service.d.ts +0 -33
- package/tabbed/directives/tabbed-tab-content.directive.d.ts +0 -7
- package/tabbed/directives/tabbed-tab.directive.d.ts +0 -13
- package/tabbed/public-api.d.ts +0 -8
- package/tabbed/tabbed-content/tabbed-content.component.d.ts +0 -7
- package/tabbed/tabbed-item/tabbed-item.component.d.ts +0 -16
- package/tabbed/tabbed-models.d.ts +0 -12
- package/tabbed/tabbed.component.d.ts +0 -44
- package/tabbed/tabbed.module.d.ts +0 -14
- package/tabbed/tabbed.service.d.ts +0 -10
- package/table/public-api.d.ts +0 -5
- package/table/table/table.component.d.ts +0 -63
- package/table/table-cell-tpl.directive.d.ts +0 -7
- package/table/table-column-header-tpl.directive.d.ts +0 -7
- package/table/table-column.component.d.ts +0 -24
- package/table/table.module.d.ts +0 -13
- package/table-cell-type/public-api.d.ts +0 -11
- package/table-cell-type/services/table-cell-types-helpers.service.d.ts +0 -18
- package/table-cell-type/table-cell-type-action.d.ts +0 -13
- package/table-cell-type/table-cell-type-column.d.ts +0 -12
- package/table-cell-type/table-cell-type-config.d.ts +0 -12
- package/table-cell-type/table-cell-type-export-props.d.ts +0 -15
- package/table-cell-type/table-cell-type-manifest-provider.d.ts +0 -7
- package/table-cell-type/table-cell-type-models.d.ts +0 -39
- package/table-cell-type/table-cell-type-name.d.ts +0 -1
- package/table-cell-type/table-cell-type-selector.component.d.ts +0 -27
- package/table-cell-type/table-cell-type-tokens.d.ts +0 -4
- package/table-cell-type/table-cell-type.module.d.ts +0 -9
- package/table-cell-types/public-api.d.ts +0 -22
- package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +0 -44
- package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +0 -21
- package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +0 -3
- package/table-cell-types/table-cell-type-date/table-cell-type-date-config.d.ts +0 -9
- package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +0 -14
- package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +0 -3
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +0 -38
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +0 -21
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +0 -3
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +0 -34
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +0 -55
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +0 -30
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +0 -21
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +0 -3
- package/table-cell-types/table-cell-type-manifests.d.ts +0 -11
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.d.ts +0 -13
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +0 -19
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +0 -29
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +0 -50
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +0 -49
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +0 -23
- package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +0 -18
- package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +0 -57
- package/table-cell-types/table-cell-types.module.d.ts +0 -26
- package/tel-input/intl-tel-input.d.ts +0 -300
- package/tel-input/models/index.d.ts +0 -2
- package/tel-input/models/tel-input-country-data.d.ts +0 -9
- package/tel-input/models/tel-input-number-format-name.d.ts +0 -4
- package/tel-input/phone-number.pipe.d.ts +0 -14
- package/tel-input/public-api.d.ts +0 -10
- package/tel-input/tel-input/tel-input.component.d.ts +0 -86
- package/tel-input/tel-input-constants.d.ts +0 -4
- package/tel-input/tel-input-validator.d.ts +0 -7
- package/tel-input/tel-input.directive.d.ts +0 -35
- package/tel-input/tel-input.module.d.ts +0 -12
- package/tel-input/testing/tel-input.harness.d.ts +0 -19
- package/tel-input/utils/add-country-code.d.ts +0 -7
- package/tel-input/utils/coerce-phone-number-format.d.ts +0 -7
- package/tel-input/utils/get-country-code.d.ts +0 -2
- package/tel-input/utils/get-dial-code.d.ts +0 -9
- package/tel-input/utils/get-global-intl-tel-input-globals.d.ts +0 -2
- package/tel-input/utils/get-global-intl-tel-input-utils.d.ts +0 -2
- package/tel-input/utils/get-intl-tel-input-utils.d.ts +0 -2
- package/tel-input/utils/get-validation-error-message.d.ts +0 -5
- package/tel-input/utils/index.d.ts +0 -9
- package/tel-input/utils/process-country-codes.d.ts +0 -8
- package/testing/current-tick-time.d.ts +0 -13
- package/testing/fake-toastr.d.ts +0 -30
- package/testing/get-harness.d.ts +0 -7
- package/testing/harnesses/ng-select-dropdown.harness.d.ts +0 -23
- package/testing/harnesses/ng-select-option.harness.d.ts +0 -18
- package/testing/harnesses/ng-select.harness.d.ts +0 -50
- package/testing/public-api.d.ts +0 -9
- package/testing/render-story.d.ts +0 -2
- package/testing/story-expect.d.ts +0 -6
- package/testing/tick-helper.d.ts +0 -70
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +0 -56
- package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +0 -45
- package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +0 -26
- package/tiled-select/directives/tiled-select-tile-icon-tpl.directive.d.ts +0 -8
- package/tiled-select/directives/tiled-select-tile-label-tpl.directive.d.ts +0 -8
- package/tiled-select/directives/tiled-select-tile-overlay.directive.d.ts +0 -10
- package/tiled-select/public-api.d.ts +0 -9
- package/tiled-select/testing/index.d.ts +0 -2
- package/tiled-select/testing/tiled-select-harness.d.ts +0 -9
- package/tiled-select/testing/tiled-select-tile-harness.d.ts +0 -17
- package/tiled-select/tiled-select.models.d.ts +0 -13
- package/tiled-select/tiled-select.module.d.ts +0 -14
- package/toggle-edit/models/can-toggle-edit.d.ts +0 -7
- package/toggle-edit/models/index.d.ts +0 -2
- package/toggle-edit/models/toggle-edit-ref.d.ts +0 -30
- package/toggle-edit/public-api.d.ts +0 -6
- package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +0 -5
- package/toggle-edit/toggle-edit-display-tpl.directive.d.ts +0 -8
- package/toggle-edit/toggle-edit-keyboard-listener.service.d.ts +0 -17
- package/toggle-edit/toggle-edit.component.d.ts +0 -93
- package/toggle-edit/toggle-edit.module.d.ts +0 -18
- package/toggle-group/public-api.d.ts +0 -3
- package/toggle-group/toggle-group-option.directive.d.ts +0 -18
- package/toggle-group/toggle-group.directive.d.ts +0 -38
- package/toggle-group/toggle-group.module.d.ts +0 -10
- package/unsaved-changes-dialog/public-api.d.ts +0 -4
- package/unsaved-changes-dialog/unsaved-changes-can-deactivate.d.ts +0 -7
- package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +0 -5
- package/unsaved-changes-dialog/unsaved-changes-dialog.guard.d.ts +0 -11
- package/unsaved-changes-dialog/unsaved-changes-dialog.module.d.ts +0 -7
- package/utils/array-move.d.ts +0 -49
- package/utils/calc-percentage.d.ts +0 -1
- package/utils/cdk/get-closest-widget-cdk-drag.d.ts +0 -8
- package/utils/create-padding.d.ts +0 -1
- package/utils/file-utils.d.ts +0 -12
- package/utils/form/get-control-name.d.ts +0 -22
- package/utils/form/get-control-path.d.ts +0 -27
- package/utils/form/has-required-control.d.ts +0 -31
- package/utils/form/is-empty-input-value.d.ts +0 -1
- package/utils/form/observe-control-is-different.d.ts +0 -13
- package/utils/form/observe-control-status.d.ts +0 -7
- package/utils/form/observe-control-valid.d.ts +0 -14
- package/utils/form/observe-control-value-change.d.ts +0 -9
- package/utils/form/observe-control-value.d.ts +0 -6
- package/utils/form/wait-on-non-pending-status.d.ts +0 -12
- package/utils/fractional-digits-count.d.ts +0 -8
- package/utils/geo-json/close-polygons.d.ts +0 -9
- package/utils/geo-json/coerce-feature-collection.d.ts +0 -2
- package/utils/geo-json/geo-json-to-area.d.ts +0 -6
- package/utils/geo-json/is-feature-collection.validator.d.ts +0 -3
- package/utils/geo-json/is-only-geometry-types.d.ts +0 -5
- package/utils/geo-json/is-only-geometry-types.validator.d.ts +0 -4
- package/utils/geo-json/merge-polygons.d.ts +0 -9
- package/utils/geo-json/min-max-points.validator.d.ts +0 -3
- package/utils/geo-json/no-empty-feature-collection.validator.d.ts +0 -3
- package/utils/geo-json/no-inner-rings.validator.d.ts +0 -10
- package/utils/geo-json/no-kinks.validator.d.ts +0 -3
- package/utils/geo-json/read-geo-file.d.ts +0 -7
- package/utils/geo-json/split-multi-polygons.d.ts +0 -8
- package/utils/get-attribute.d.ts +0 -4
- package/utils/has-attribute.d.ts +0 -4
- package/utils/has-property.d.ts +0 -1
- package/utils/input-masks.d.ts +0 -1
- package/utils/is-absolute-url.d.ts +0 -1
- package/utils/is-null-or-undefined-or-empty.d.ts +0 -1
- package/utils/is-null-or-undefined.d.ts +0 -1
- package/utils/is-numeric.d.ts +0 -1
- package/utils/load-style-sheet.d.ts +0 -1
- package/utils/load-style.d.ts +0 -1
- package/utils/not-null-or-undefined-or-empty.d.ts +0 -1
- package/utils/not-null-or-undefined.d.ts +0 -1
- package/utils/obj-utils.d.ts +0 -8
- package/utils/observe-query-list.d.ts +0 -3
- package/utils/operators/index.d.ts +0 -2
- package/utils/operators/map-each.d.ts +0 -2
- package/utils/operators/tap-first.d.ts +0 -5
- package/utils/pad-end.d.ts +0 -1
- package/utils/pad-start.d.ts +0 -1
- package/utils/polling-ticker.d.ts +0 -13
- package/utils/public-api.d.ts +0 -53
- package/utils/refreshable.d.ts +0 -20
- package/utils/router/index.d.ts +0 -6
- package/utils/router/is-empty-url-route.d.ts +0 -2
- package/utils/router/leaf-child-route.d.ts +0 -2
- package/utils/router/operators/activated-routes-with-data-property.d.ts +0 -7
- package/utils/router/route-snapshot-path-full.d.ts +0 -2
- package/utils/router/route-snapshot-path-relative.d.ts +0 -2
- package/utils/router/will-have-data-prop.d.ts +0 -2
- package/utils/subscriber-count.d.ts +0 -13
- package/utils/toggle-attribute.d.ts +0 -16
- package/utils/wait-on-condition-async.d.ts +0 -1
- package/utils/wrap-into-observable.d.ts +0 -2
- package/validators/decimal.validator.d.ts +0 -9
- package/validators/email-exists.validator.d.ts +0 -10
- package/validators/integer.validator.d.ts +0 -9
- package/validators/phone-length.validator.d.ts +0 -7
- package/validators/public-api.d.ts +0 -5
- package/validators/tax-id.validator.d.ts +0 -11
- package/vertical-list-filter/public-api.d.ts +0 -2
- package/vertical-list-filter/testing/index.d.ts +0 -1
- package/vertical-list-filter/testing/vertical-list-filter.harness.d.ts +0 -9
- package/vertical-list-filter/vertical-list-filter.component.d.ts +0 -17
- package/viewers/html-template-viewer/html-template-viewer.component.d.ts +0 -70
- package/viewers/html-template-viewer/html-template-viewer.module.d.ts +0 -10
- package/viewers/html-template-viewer/index.d.ts +0 -2
- package/viewers/pdf-viewer/index.d.ts +0 -3
- package/viewers/pdf-viewer/pdf-page/pdf-page.component.d.ts +0 -42
- package/viewers/pdf-viewer/pdf-renderer.service.d.ts +0 -9
- package/viewers/pdf-viewer/pdf-viewer.component.d.ts +0 -62
- package/viewers/pdf-viewer/pdf-viewer.module.d.ts +0 -10
- package/viewers/public-api.d.ts +0 -2
- package/widget/directives/widget-drag-handle.directive.d.ts +0 -56
- package/widget/directives/widget-icon-tpl.directive.d.ts +0 -8
- package/widget/directives/widget-title-tpl.directive.d.ts +0 -8
- package/widget/preferences/widget-preferences.models.d.ts +0 -8
- package/widget/preferences/widget-preferences.service.d.ts +0 -21
- package/widget/preferences/widget-preferences.token.d.ts +0 -3
- package/widget/public-api.d.ts +0 -41
- package/widget/widget/widget.component.d.ts +0 -85
- package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +0 -5
- package/widget/widget-content-components/widget-button-group/widget-button-group.module.d.ts +0 -9
- package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +0 -5
- package/widget/widget-content-components/widget-content-header/widget-content-header.module.d.ts +0 -8
- package/widget/widget-content-components/widget-description/widget-description.component.d.ts +0 -5
- package/widget/widget-content-components/widget-description/widget-description.module.d.ts +0 -8
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +0 -17
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.module.d.ts +0 -8
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +0 -5
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.module.d.ts +0 -8
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +0 -5
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.module.d.ts +0 -8
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +0 -14
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.module.d.ts +0 -8
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.d.ts +0 -8
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +0 -65
- package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +0 -5
- package/widget/widget-content-components/widget-list-group/widget-list-group.module.d.ts +0 -11
- package/widget/widget-content-components/widget-table/widget-table.component.d.ts +0 -16
- package/widget/widget-content-components/widget-table/widget-table.module.d.ts +0 -10
- package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +0 -5
- package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +0 -17
- package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +0 -5
- package/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.d.ts +0 -8
- package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +0 -51
- package/widget/widget-content-components/widget-tile/widget-tile.module.d.ts +0 -13
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +0 -5
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.module.d.ts +0 -9
- package/widget/widget-footer/widget-footer.component.d.ts +0 -5
- package/widget/widget-registry.models.d.ts +0 -20
- package/widget/widget-registry.service.d.ts +0 -19
- package/widget/widget-token.d.ts +0 -6
- package/widget/widget.models.d.ts +0 -7
- package/widget/widget.module.d.ts +0 -30
|
@@ -1,3883 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, InjectionToken, Optional, Inject, HostBinding, Input, HostListener, forwardRef, isDevMode, TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, NgModule, ViewChild, EventEmitter, Output, Injectable, Injector, ViewChildren, Self, ContentChildren, inject } from '@angular/core';
|
|
3
|
-
import { tap, map, startWith, switchMap, shareReplay, mapTo, take, auditTime, debounceTime, takeUntil, distinctUntilChanged, finalize, filter } from 'rxjs/operators';
|
|
4
|
-
import * as i3 from '@angular/cdk/portal';
|
|
5
|
-
import { TemplatePortal, PortalModule, BasePortalOutlet, ComponentPortal } from '@angular/cdk/portal';
|
|
6
|
-
import { BehaviorSubject, isObservable, from, Subject, of, combineLatest, map as map$1, defer, Observable } from 'rxjs';
|
|
7
|
-
import { faAngleDoubleRight, faAngleDoubleLeft, faLock, faUnlock, faAngleLeft, faBars, faAngleDown } from '@fortawesome/free-solid-svg-icons';
|
|
8
|
-
import * as i1 from '@theseam/ui-common/layout';
|
|
9
|
-
import { TheSeamLayoutModule } from '@theseam/ui-common/layout';
|
|
10
|
-
import * as i2 from '@angular/common';
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import * as i4 from '@theseam/ui-common/scrollbar';
|
|
13
|
-
import { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar';
|
|
14
|
-
import * as i4$1 from '@theseam/ui-common/buttons';
|
|
15
|
-
import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
|
|
16
|
-
import * as i2$1 from '@theseam/ui-common/icon';
|
|
17
|
-
import { TheSeamIconModule } from '@theseam/ui-common/icon';
|
|
18
|
-
import { hasProperty, notNullOrUndefined, observeControlValue, observeControlStatus, isNullOrUndefined } from '@theseam/ui-common/utils';
|
|
19
|
-
import { __decorate } from 'tslib';
|
|
20
|
-
import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
21
|
-
import * as i3$1 from '@angular/cdk/drag-drop';
|
|
22
|
-
import { moveItemInArray, transferArrayItem, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
|
|
23
|
-
import { InputBoolean, InputNumber, mixinDisabled } from '@theseam/ui-common/core';
|
|
24
|
-
import { THESEAM_WIDGET_DATA, THESEAM_WIDGET_ACCESSOR } from '@theseam/ui-common/widget';
|
|
25
|
-
import * as i1$1 from '@theseam/ui-common/dynamic-component-loader';
|
|
26
|
-
import * as i6 from '@theseam/ui-common/shared';
|
|
27
|
-
import { TheSeamSharedModule } from '@theseam/ui-common/shared';
|
|
28
|
-
import * as i1$2 from '@angular/router';
|
|
29
|
-
import { RouterModule, NavigationEnd, NavigationStart } from '@angular/router';
|
|
30
|
-
import * as i4$2 from '@angular/cdk/a11y';
|
|
31
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
|
32
|
-
import * as i5 from '@ng-bootstrap/ng-bootstrap';
|
|
33
|
-
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
34
|
-
import { trigger, state, style, transition, animate, group, query, animateChild, keyframes } from '@angular/animations';
|
|
35
|
-
import * as i2$2 from '@angular/flex-layout/extended';
|
|
36
|
-
import * as i3$2 from '@theseam/ui-common/menu';
|
|
37
|
-
import { TheSeamMenuModule, MenuComponent } from '@theseam/ui-common/menu';
|
|
38
|
-
import { faUserCircle } from '@fortawesome/free-regular-svg-icons';
|
|
39
|
-
import * as i1$3 from '@ajsf/core';
|
|
40
|
-
import { JsonSchemaFormModule, isArray, buildTitleMap, hasOwn, Framework, WidgetLibraryModule, JsonSchemaFormService, FrameworkLibraryService, WidgetLibraryService } from '@ajsf/core';
|
|
41
|
-
import * as i3$3 from '@angular/forms';
|
|
42
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
43
|
-
import { TheSeamCheckboxComponent } from '@theseam/ui-common/checkbox';
|
|
44
|
-
import * as i4$3 from '@theseam/ui-common/form-field';
|
|
45
|
-
import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
|
|
46
|
-
import * as i5$1 from '@ng-select/ng-select';
|
|
47
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
48
|
-
import * as i5$2 from '@theseam/ui-common/tel-input';
|
|
49
|
-
import { TheSeamTelInputModule } from '@theseam/ui-common/tel-input';
|
|
50
|
-
import * as i6$1 from '@theseam/ui-common/tiled-select';
|
|
51
|
-
import { TheSeamTiledSelectModule } from '@theseam/ui-common/tiled-select';
|
|
52
|
-
import * as i2$3 from '@angular/cdk/platform';
|
|
53
|
-
|
|
54
|
-
class BaseLayoutContentFooterDirective {
|
|
55
|
-
constructor(_elementRef) {
|
|
56
|
-
this._elementRef = _elementRef;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
BaseLayoutContentFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
-
BaseLayoutContentFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutContentFooterDirective, selector: "[seamBaseLayoutContentFooter]", ngImport: i0 });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentFooterDirective, decorators: [{
|
|
62
|
-
type: Directive,
|
|
63
|
-
args: [{
|
|
64
|
-
selector: '[seamBaseLayoutContentFooter]'
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
67
|
-
|
|
68
|
-
class BaseLayoutContentHeaderDirective {
|
|
69
|
-
constructor(_elementRef) {
|
|
70
|
-
this._elementRef = _elementRef;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
BaseLayoutContentHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
-
BaseLayoutContentHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutContentHeaderDirective, selector: "[seamBaseLayoutContentHeader]", ngImport: i0 });
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentHeaderDirective, decorators: [{
|
|
76
|
-
type: Directive,
|
|
77
|
-
args: [{
|
|
78
|
-
selector: '[seamBaseLayoutContentHeader]'
|
|
79
|
-
}]
|
|
80
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
81
|
-
|
|
82
|
-
class BaseLayoutContentDirective {
|
|
83
|
-
constructor(_elementRef) {
|
|
84
|
-
this._elementRef = _elementRef;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
BaseLayoutContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
|
-
BaseLayoutContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutContentDirective, selector: "[seamBaseLayoutContent]", ngImport: i0 });
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutContentDirective, decorators: [{
|
|
90
|
-
type: Directive,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: '[seamBaseLayoutContent]'
|
|
93
|
-
}]
|
|
94
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
95
|
-
|
|
96
|
-
const THESEAM_BASE_LAYOUT_REF = new InjectionToken('seamBaseLayoutRef');
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Can be used to toggle the expand state of the registered nav.
|
|
100
|
-
*/
|
|
101
|
-
class BaseLayoutNavToggleDirective {
|
|
102
|
-
get _attrType() { return this.type; }
|
|
103
|
-
get _attrAriaLabel() { return this.ariaLabel || null; }
|
|
104
|
-
_onClick() {
|
|
105
|
-
if (this.baseLayout && this.baseLayout.registeredNav) {
|
|
106
|
-
this.baseLayout.registeredNav.toggle();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
constructor(_cdr, _baseLayout) {
|
|
110
|
-
this._cdr = _cdr;
|
|
111
|
-
this.type = 'button';
|
|
112
|
-
/** Screenreader label for the button. */
|
|
113
|
-
this.ariaLabel = 'Navigation toggle';
|
|
114
|
-
this._toggleClass = true;
|
|
115
|
-
this._expandedClass = false;
|
|
116
|
-
this.baseLayout = _baseLayout;
|
|
117
|
-
}
|
|
118
|
-
ngOnInit() {
|
|
119
|
-
this.baseLayout?.registeredNav?.expanded$.pipe(tap(exp => {
|
|
120
|
-
this._expandedClass = exp;
|
|
121
|
-
this._cdr.markForCheck();
|
|
122
|
-
})).subscribe();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
BaseLayoutNavToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutNavToggleDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
126
|
-
BaseLayoutNavToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"] }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel", "class.base-layout-nav-toggle": "this._toggleClass", "class.base-layout-nav-toggle--expanded": "this._expandedClass" } }, exportAs: ["seamBaseLayoutNavToggle"], ngImport: i0 });
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutNavToggleDirective, decorators: [{
|
|
128
|
-
type: Directive,
|
|
129
|
-
args: [{
|
|
130
|
-
selector: 'button[seamBaseLayoutNavToggle]',
|
|
131
|
-
exportAs: 'seamBaseLayoutNavToggle'
|
|
132
|
-
}]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
134
|
-
type: Optional
|
|
135
|
-
}, {
|
|
136
|
-
type: Inject,
|
|
137
|
-
args: [THESEAM_BASE_LAYOUT_REF]
|
|
138
|
-
}] }]; }, propDecorators: { _attrType: [{
|
|
139
|
-
type: HostBinding,
|
|
140
|
-
args: ['attr.type']
|
|
141
|
-
}], type: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], _attrAriaLabel: [{
|
|
144
|
-
type: HostBinding,
|
|
145
|
-
args: ['attr.aria-label']
|
|
146
|
-
}], ariaLabel: [{
|
|
147
|
-
type: Input,
|
|
148
|
-
args: ['aria-label']
|
|
149
|
-
}], _toggleClass: [{
|
|
150
|
-
type: HostBinding,
|
|
151
|
-
args: ['class.base-layout-nav-toggle']
|
|
152
|
-
}], _expandedClass: [{
|
|
153
|
-
type: HostBinding,
|
|
154
|
-
args: ['class.base-layout-nav-toggle--expanded']
|
|
155
|
-
}], _onClick: [{
|
|
156
|
-
type: HostListener,
|
|
157
|
-
args: ['click']
|
|
158
|
-
}] } });
|
|
159
|
-
|
|
160
|
-
class BaseLayoutSideBarFooterDirective {
|
|
161
|
-
constructor(_elementRef) {
|
|
162
|
-
this._elementRef = _elementRef;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
BaseLayoutSideBarFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
166
|
-
BaseLayoutSideBarFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutSideBarFooterDirective, selector: "[seamBaseLayoutSideBarFooter]", ngImport: i0 });
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarFooterDirective, decorators: [{
|
|
168
|
-
type: Directive,
|
|
169
|
-
args: [{
|
|
170
|
-
selector: '[seamBaseLayoutSideBarFooter]'
|
|
171
|
-
}]
|
|
172
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
173
|
-
|
|
174
|
-
class BaseLayoutSideBarDirective {
|
|
175
|
-
constructor(_elementRef) {
|
|
176
|
-
this._elementRef = _elementRef;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
BaseLayoutSideBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
180
|
-
BaseLayoutSideBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutSideBarDirective, selector: "[seamBaseLayoutSideBar]", ngImport: i0 });
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarDirective, decorators: [{
|
|
182
|
-
type: Directive,
|
|
183
|
-
args: [{
|
|
184
|
-
selector: '[seamBaseLayoutSideBar]'
|
|
185
|
-
}]
|
|
186
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
187
|
-
|
|
188
|
-
class BaseLayoutTopBarDirective {
|
|
189
|
-
constructor(_elementRef) {
|
|
190
|
-
this._elementRef = _elementRef;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
BaseLayoutTopBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutTopBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
194
|
-
BaseLayoutTopBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutTopBarDirective, selector: "[seamBaseLayoutTopBar]", ngImport: i0 });
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutTopBarDirective, decorators: [{
|
|
196
|
-
type: Directive,
|
|
197
|
-
args: [{
|
|
198
|
-
selector: '[seamBaseLayoutTopBar]'
|
|
199
|
-
}]
|
|
200
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
201
|
-
|
|
202
|
-
class BaseLayoutSideBarHeaderDirective {
|
|
203
|
-
constructor(_elementRef) {
|
|
204
|
-
this._elementRef = _elementRef;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
BaseLayoutSideBarHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
208
|
-
BaseLayoutSideBarHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseLayoutSideBarHeaderDirective, selector: "[seamBaseLayoutSideBarHeader]", ngImport: i0 });
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseLayoutSideBarHeaderDirective, decorators: [{
|
|
210
|
-
type: Directive,
|
|
211
|
-
args: [{
|
|
212
|
-
selector: '[seamBaseLayoutSideBarHeader]'
|
|
213
|
-
}]
|
|
214
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
215
|
-
|
|
216
|
-
const THE_SEAM_BASE_LAYOUT = {
|
|
217
|
-
provide: THESEAM_BASE_LAYOUT_REF,
|
|
218
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
219
|
-
useExisting: forwardRef(() => TheSeamBaseLayoutComponent),
|
|
220
|
-
multi: false,
|
|
221
|
-
};
|
|
222
|
-
class TheSeamBaseLayoutComponent {
|
|
223
|
-
get registeredNav() { return this._registeredNav.value; }
|
|
224
|
-
get registeredActions() { return this._registeredActions.value; }
|
|
225
|
-
constructor(_viewContainerRef, _layout) {
|
|
226
|
-
this._viewContainerRef = _viewContainerRef;
|
|
227
|
-
this._layout = _layout;
|
|
228
|
-
this.faAngleDoubleRight = faAngleDoubleRight;
|
|
229
|
-
this.faAngleDoubleLeft = faAngleDoubleLeft;
|
|
230
|
-
this.overlayNav = false;
|
|
231
|
-
this.showSidebar = true;
|
|
232
|
-
this._hasSideBar = new BehaviorSubject(false);
|
|
233
|
-
this._registeredNav = new BehaviorSubject(undefined);
|
|
234
|
-
this.registeredNav$ = this._registeredNav.asObservable();
|
|
235
|
-
this._registeredActions = new BehaviorSubject([]);
|
|
236
|
-
this.registeredActions$ = this._registeredActions.asObservable();
|
|
237
|
-
this.isMobile$ = this._layout.isMobile$;
|
|
238
|
-
this.hasSideBar$ = this._hasSideBar.asObservable();
|
|
239
|
-
}
|
|
240
|
-
ngOnInit() {
|
|
241
|
-
if (this.mobileBreakpoint) {
|
|
242
|
-
this._layout.setMobileBreakpoint(this.mobileBreakpoint);
|
|
243
|
-
}
|
|
244
|
-
if (this._topBarTpl) {
|
|
245
|
-
this._topBarPortal = new TemplatePortal(this._topBarTpl, this._viewContainerRef);
|
|
246
|
-
}
|
|
247
|
-
if (this._sideBarTpl) {
|
|
248
|
-
this._sideBarPortal = new TemplatePortal(this._sideBarTpl, this._viewContainerRef);
|
|
249
|
-
if (this.showSidebar) {
|
|
250
|
-
this._hasSideBar.next(true);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
if (this._contentTpl) {
|
|
254
|
-
this._contentPortal = new TemplatePortal(this._contentTpl, this._viewContainerRef);
|
|
255
|
-
}
|
|
256
|
-
if (this._contentHeaderTpl) {
|
|
257
|
-
this._contentHeaderPortal = new TemplatePortal(this._contentHeaderTpl, this._viewContainerRef);
|
|
258
|
-
}
|
|
259
|
-
if (this._contentFooterTpl) {
|
|
260
|
-
this._contentFooterPortal = new TemplatePortal(this._contentFooterTpl, this._viewContainerRef);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
registerNav(nav) {
|
|
264
|
-
// TODO: Allow multiple registered navs
|
|
265
|
-
// if (this.registeredNav) {
|
|
266
|
-
// throw new Error('[TheSeamBaseLayoutComponent] A nav is already registered.')
|
|
267
|
-
// }
|
|
268
|
-
// console.log('register nav', nav)
|
|
269
|
-
this._registeredNav.next(nav);
|
|
270
|
-
}
|
|
271
|
-
unregisterNav(nav) {
|
|
272
|
-
if (this.registeredNav === nav) {
|
|
273
|
-
this._registeredNav.next(undefined);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
registerAction(action) {
|
|
277
|
-
const actions = this._registeredActions.value;
|
|
278
|
-
if (actions.findIndex(a => a.name === action.name) !== -1) {
|
|
279
|
-
if (isDevMode()) {
|
|
280
|
-
// eslint-disable-next-line no-console
|
|
281
|
-
console.warn(`[TheSeamBaseLayoutComponent] registerAction(): Action ${action.name} not ` +
|
|
282
|
-
'registered, because another action by that name is already registered.');
|
|
283
|
-
}
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
actions.push(action);
|
|
287
|
-
}
|
|
288
|
-
unregisterAction(action) {
|
|
289
|
-
const actionName = typeof action === 'string' ? action : action.name;
|
|
290
|
-
const actions = this._registeredActions.value;
|
|
291
|
-
this._registeredActions.next(actions.filter(f => f.name !== actionName));
|
|
292
|
-
}
|
|
293
|
-
isActionRegistered(actionName) {
|
|
294
|
-
const actions = this._registeredActions.value;
|
|
295
|
-
const action = actions.find(f => f.name === actionName);
|
|
296
|
-
return !!action;
|
|
297
|
-
}
|
|
298
|
-
_handleButtonAction(action) {
|
|
299
|
-
this._execButtonAction(action).subscribe();
|
|
300
|
-
}
|
|
301
|
-
_execButtonAction(action) {
|
|
302
|
-
const fnRes = action.exec();
|
|
303
|
-
return isObservable(fnRes) ? fnRes : from(Promise.resolve(fnRes));
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
TheSeamBaseLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TheSeamLayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
307
|
-
TheSeamBaseLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamBaseLayoutComponent, selector: "seam-base-layout", inputs: { overlayNav: "overlayNav", mobileBreakpoint: "mobileBreakpoint", showSidebar: "showSidebar" }, providers: [THE_SEAM_BASE_LAYOUT], queries: [{ propertyName: "_topBarTpl", first: true, predicate: BaseLayoutTopBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_sideBarTpl", first: true, predicate: BaseLayoutSideBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentTpl", first: true, predicate: BaseLayoutContentDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentHeaderTpl", first: true, predicate: BaseLayoutContentHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentFooterTpl", first: true, predicate: BaseLayoutContentFooterDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"base-layout-side-bar-nav-content-mobile\" *ngIf=\"isMobile$ | async\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n</div>\n\n<div class=\"base-layout-top-bar-container\">\n <ng-template [cdkPortalOutlet]=\"_topBarPortal\"></ng-template>\n</div>\n<div class=\"base-layout-main-container\">\n <div *ngIf=\"hasSideBar$ | async\"\n class=\"base-layout-side-bar-container\">\n <div class=\"base-layout-side-bar-nav-content\" *ngIf=\"!(isMobile$ | async)\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n </div>\n </div>\n <div class=\"base-layout-content-container\">\n <div class=\"base-layout-content-container-header d-flex flex-row\">\n <div class=\"base-layout-content-container-header-left flex-grow-1\">\n <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-header-right d-flex\">\n <ng-container *ngFor=\"let action of registeredActions$ | async; first as isFirst\">\n <div class=\"base-layout-registered-action\">\n <ng-container [ngTemplateOutlet]=\"$any(action)?.template\"></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"base-layout-content-container-inner\" seamOverlayScrollbar>\n <ng-template [cdkPortalOutlet]=\"_contentPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-footer\">\n <ng-template [cdkPortalOutlet]=\"_contentFooterPortal\"></ng-template>\n </div>\n </div>\n</div>\n", styles: ["seam-base-layout{display:flex;flex-direction:column;height:100%;width:100%}seam-base-layout .base-layout-side-bar-nav-content-mobile{position:absolute;top:0;bottom:0;left:0;z-index:999}seam-base-layout .base-layout-side-bar-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:none;border-right:1px solid #dee2e6;border-bottom:none;border-left:none}seam-base-layout .base-layout-side-bar-container .base-layout-side-bar-nav-content{flex:1 1 0}seam-base-layout .base-layout-main-container{flex:1 1 100%;display:flex;flex-direction:row;transform:translateZ(0)}seam-base-layout .base-layout-top-bar-container{flex:0 0 auto;border-top:none;border-right:none;border-bottom:1px solid #dee2e6;border-left:none}seam-base-layout .base-layout-content-container{flex:1 1 auto;display:flex;flex-direction:column}seam-base-layout .base-layout-content-container .base-layout-content-container-header{flex:0 0 auto;background:none;margin:.25rem;padding:0;border-radius:0;overflow:hidden}seam-base-layout .base-layout-content-container .base-layout-content-container-header-left{background:none;padding:0rem;margin:0;border-radius:0}seam-base-layout .base-layout-content-container .base-layout-content-container-header-right{background:none;padding:0rem;margin:0;border-radius:0}seam-base-layout .base-layout-content-container .base-layout-content-container-inner{flex:1 1 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-footer{flex:0 0 auto}seam-base-layout .btn-baselayout-action{margin:0 0 0 .25rem;color:#212529;background-color:#e9ecef;border-color:#e9ecef;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;border:none;color:#6c757d}seam-base-layout .btn-baselayout-action:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action.disabled,seam-base-layout .btn-baselayout-action:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle{color:#212529;background-color:#d3d9df;border-color:#c4ccd4}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active:focus,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active:focus,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action:hover{color:#6c757d}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#6c757d}\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.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutComponent, decorators: [{
|
|
309
|
-
type: Component,
|
|
310
|
-
args: [{ selector: 'seam-base-layout', providers: [THE_SEAM_BASE_LAYOUT], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"base-layout-side-bar-nav-content-mobile\" *ngIf=\"isMobile$ | async\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n</div>\n\n<div class=\"base-layout-top-bar-container\">\n <ng-template [cdkPortalOutlet]=\"_topBarPortal\"></ng-template>\n</div>\n<div class=\"base-layout-main-container\">\n <div *ngIf=\"hasSideBar$ | async\"\n class=\"base-layout-side-bar-container\">\n <div class=\"base-layout-side-bar-nav-content\" *ngIf=\"!(isMobile$ | async)\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n </div>\n </div>\n <div class=\"base-layout-content-container\">\n <div class=\"base-layout-content-container-header d-flex flex-row\">\n <div class=\"base-layout-content-container-header-left flex-grow-1\">\n <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-header-right d-flex\">\n <ng-container *ngFor=\"let action of registeredActions$ | async; first as isFirst\">\n <div class=\"base-layout-registered-action\">\n <ng-container [ngTemplateOutlet]=\"$any(action)?.template\"></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"base-layout-content-container-inner\" seamOverlayScrollbar>\n <ng-template [cdkPortalOutlet]=\"_contentPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-footer\">\n <ng-template [cdkPortalOutlet]=\"_contentFooterPortal\"></ng-template>\n </div>\n </div>\n</div>\n", styles: ["seam-base-layout{display:flex;flex-direction:column;height:100%;width:100%}seam-base-layout .base-layout-side-bar-nav-content-mobile{position:absolute;top:0;bottom:0;left:0;z-index:999}seam-base-layout .base-layout-side-bar-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:none;border-right:1px solid #dee2e6;border-bottom:none;border-left:none}seam-base-layout .base-layout-side-bar-container .base-layout-side-bar-nav-content{flex:1 1 0}seam-base-layout .base-layout-main-container{flex:1 1 100%;display:flex;flex-direction:row;transform:translateZ(0)}seam-base-layout .base-layout-top-bar-container{flex:0 0 auto;border-top:none;border-right:none;border-bottom:1px solid #dee2e6;border-left:none}seam-base-layout .base-layout-content-container{flex:1 1 auto;display:flex;flex-direction:column}seam-base-layout .base-layout-content-container .base-layout-content-container-header{flex:0 0 auto;background:none;margin:.25rem;padding:0;border-radius:0;overflow:hidden}seam-base-layout .base-layout-content-container .base-layout-content-container-header-left{background:none;padding:0rem;margin:0;border-radius:0}seam-base-layout .base-layout-content-container .base-layout-content-container-header-right{background:none;padding:0rem;margin:0;border-radius:0}seam-base-layout .base-layout-content-container .base-layout-content-container-inner{flex:1 1 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-footer{flex:0 0 auto}seam-base-layout .btn-baselayout-action{margin:0 0 0 .25rem;color:#212529;background-color:#e9ecef;border-color:#e9ecef;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;border:none;color:#6c757d}seam-base-layout .btn-baselayout-action:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action.disabled,seam-base-layout .btn-baselayout-action:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle{color:#212529;background-color:#d3d9df;border-color:#c4ccd4}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active:focus,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active:focus,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action:hover{color:#6c757d}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#6c757d}\n"] }]
|
|
311
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.TheSeamLayoutService }]; }, propDecorators: { overlayNav: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], mobileBreakpoint: [{
|
|
314
|
-
type: Input
|
|
315
|
-
}], showSidebar: [{
|
|
316
|
-
type: Input
|
|
317
|
-
}], _topBarTpl: [{
|
|
318
|
-
type: ContentChild,
|
|
319
|
-
args: [BaseLayoutTopBarDirective, { static: true, read: TemplateRef }]
|
|
320
|
-
}], _sideBarTpl: [{
|
|
321
|
-
type: ContentChild,
|
|
322
|
-
args: [BaseLayoutSideBarDirective, { static: true, read: TemplateRef }]
|
|
323
|
-
}], _contentTpl: [{
|
|
324
|
-
type: ContentChild,
|
|
325
|
-
args: [BaseLayoutContentDirective, { static: true, read: TemplateRef }]
|
|
326
|
-
}], _contentHeaderTpl: [{
|
|
327
|
-
type: ContentChild,
|
|
328
|
-
args: [BaseLayoutContentHeaderDirective, { static: true, read: TemplateRef }]
|
|
329
|
-
}], _contentFooterTpl: [{
|
|
330
|
-
type: ContentChild,
|
|
331
|
-
args: [BaseLayoutContentFooterDirective, { static: true, read: TemplateRef }]
|
|
332
|
-
}] } });
|
|
333
|
-
|
|
334
|
-
class TheSeamBaseLayoutModule {
|
|
335
|
-
}
|
|
336
|
-
TheSeamBaseLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
337
|
-
TheSeamBaseLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutModule, declarations: [TheSeamBaseLayoutComponent,
|
|
338
|
-
BaseLayoutContentDirective,
|
|
339
|
-
BaseLayoutSideBarDirective,
|
|
340
|
-
BaseLayoutSideBarFooterDirective,
|
|
341
|
-
BaseLayoutSideBarHeaderDirective,
|
|
342
|
-
BaseLayoutTopBarDirective,
|
|
343
|
-
BaseLayoutNavToggleDirective,
|
|
344
|
-
BaseLayoutContentHeaderDirective,
|
|
345
|
-
BaseLayoutContentFooterDirective], imports: [CommonModule,
|
|
346
|
-
PortalModule,
|
|
347
|
-
TheSeamScrollbarModule,
|
|
348
|
-
TheSeamIconModule,
|
|
349
|
-
TheSeamButtonsModule], exports: [TheSeamBaseLayoutComponent,
|
|
350
|
-
BaseLayoutContentDirective,
|
|
351
|
-
BaseLayoutSideBarDirective,
|
|
352
|
-
BaseLayoutSideBarFooterDirective,
|
|
353
|
-
BaseLayoutSideBarHeaderDirective,
|
|
354
|
-
BaseLayoutTopBarDirective,
|
|
355
|
-
BaseLayoutNavToggleDirective,
|
|
356
|
-
BaseLayoutContentHeaderDirective,
|
|
357
|
-
BaseLayoutContentFooterDirective] });
|
|
358
|
-
TheSeamBaseLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutModule, imports: [CommonModule,
|
|
359
|
-
PortalModule,
|
|
360
|
-
TheSeamScrollbarModule,
|
|
361
|
-
TheSeamIconModule,
|
|
362
|
-
TheSeamButtonsModule] });
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamBaseLayoutModule, decorators: [{
|
|
364
|
-
type: NgModule,
|
|
365
|
-
args: [{
|
|
366
|
-
declarations: [
|
|
367
|
-
TheSeamBaseLayoutComponent,
|
|
368
|
-
BaseLayoutContentDirective,
|
|
369
|
-
BaseLayoutSideBarDirective,
|
|
370
|
-
BaseLayoutSideBarFooterDirective,
|
|
371
|
-
BaseLayoutSideBarHeaderDirective,
|
|
372
|
-
BaseLayoutTopBarDirective,
|
|
373
|
-
BaseLayoutNavToggleDirective,
|
|
374
|
-
BaseLayoutContentHeaderDirective,
|
|
375
|
-
BaseLayoutContentFooterDirective
|
|
376
|
-
],
|
|
377
|
-
imports: [
|
|
378
|
-
CommonModule,
|
|
379
|
-
PortalModule,
|
|
380
|
-
TheSeamScrollbarModule,
|
|
381
|
-
TheSeamIconModule,
|
|
382
|
-
TheSeamButtonsModule
|
|
383
|
-
],
|
|
384
|
-
exports: [
|
|
385
|
-
TheSeamBaseLayoutComponent,
|
|
386
|
-
BaseLayoutContentDirective,
|
|
387
|
-
BaseLayoutSideBarDirective,
|
|
388
|
-
BaseLayoutSideBarFooterDirective,
|
|
389
|
-
BaseLayoutSideBarHeaderDirective,
|
|
390
|
-
BaseLayoutTopBarDirective,
|
|
391
|
-
BaseLayoutNavToggleDirective,
|
|
392
|
-
BaseLayoutContentHeaderDirective,
|
|
393
|
-
BaseLayoutContentFooterDirective
|
|
394
|
-
]
|
|
395
|
-
}]
|
|
396
|
-
}] });
|
|
397
|
-
|
|
398
|
-
class DashboardWidgetContainerComponent {
|
|
399
|
-
}
|
|
400
|
-
DashboardWidgetContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
401
|
-
DashboardWidgetContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: { def: "def" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetContainerComponent, decorators: [{
|
|
403
|
-
type: Component,
|
|
404
|
-
args: [{ selector: 'seam-dashboard-widget-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template><ng-content></ng-content></ng-template>\n" }]
|
|
405
|
-
}], propDecorators: { def: [{
|
|
406
|
-
type: Input
|
|
407
|
-
}], templateRef: [{
|
|
408
|
-
type: ViewChild,
|
|
409
|
-
args: [TemplateRef]
|
|
410
|
-
}] } });
|
|
411
|
-
|
|
412
|
-
const THESEAM_DASHBOARD_WIDGETS_ACCESSOR = new InjectionToken('THESEAM_DASHBOARD_WIDGETS_ACCESSOR');
|
|
413
|
-
|
|
414
|
-
class DashboardWidgetTemplateContainerComponent {
|
|
415
|
-
constructor(_dashboardWidgetsComponent) {
|
|
416
|
-
this._dashboardWidgetsComponent = _dashboardWidgetsComponent;
|
|
417
|
-
this.template$ = this._dashboardWidgetsComponent.containers$.pipe(map(containers => containers.find((c) => c.def.widgetId === this.item?.widgetId)), map(container => container && container.templateRef));
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
DashboardWidgetTemplateContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_ACCESSOR }], target: i0.ɵɵFactoryTarget.Component });
|
|
421
|
-
DashboardWidgetTemplateContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetTemplateContainerComponent, selector: "seam-dashboard-widget-template-container", inputs: { item: "item" }, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"$any(template$ | async)\"></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
422
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, decorators: [{
|
|
423
|
-
type: Component,
|
|
424
|
-
args: [{ selector: 'seam-dashboard-widget-template-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngTemplateOutlet]=\"$any(template$ | async)\"></ng-template>\n" }]
|
|
425
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
426
|
-
type: Inject,
|
|
427
|
-
args: [THESEAM_DASHBOARD_WIDGETS_ACCESSOR]
|
|
428
|
-
}] }]; }, propDecorators: { item: [{
|
|
429
|
-
type: Input
|
|
430
|
-
}] } });
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* Mostly copied from
|
|
434
|
-
* `https://github.com/angular/components/blob/master/src/cdk/portal/portal-directives.ts`
|
|
435
|
-
* until I can figure out how to hold off removing the DOM nodes with the
|
|
436
|
-
* cdkPortalOutlet. When we update to Angular 9 I may be able to do this better
|
|
437
|
-
* with the new DomPortal.
|
|
438
|
-
*
|
|
439
|
-
* Directive version of a PortalOutlet. Because the directive *is* a
|
|
440
|
-
* PortalOutlet, portals can be directly attached to it, enabling declarative
|
|
441
|
-
* use.
|
|
442
|
-
*
|
|
443
|
-
* Usage: `<ng-template [cdkPortalOutlet]="greeting"></ng-template>`
|
|
444
|
-
*/
|
|
445
|
-
class DashboardWidgetPortalOutletDirective extends BasePortalOutlet {
|
|
446
|
-
constructor(_componentFactoryResolver, _viewContainerRef, _elementRef) {
|
|
447
|
-
super();
|
|
448
|
-
this._componentFactoryResolver = _componentFactoryResolver;
|
|
449
|
-
this._viewContainerRef = _viewContainerRef;
|
|
450
|
-
this._elementRef = _elementRef;
|
|
451
|
-
/** Whether the portal component is initialized. */
|
|
452
|
-
this._isInitialized = false;
|
|
453
|
-
/** Emits when a portal is attached to the outlet. */
|
|
454
|
-
this.attached = new EventEmitter();
|
|
455
|
-
}
|
|
456
|
-
/** Portal associated with the Portal outlet. */
|
|
457
|
-
get portal() {
|
|
458
|
-
return this._attachedPortal;
|
|
459
|
-
}
|
|
460
|
-
set portal(portal) {
|
|
461
|
-
// console.log('[DashboardWidgetPortalOutletDirective] set portal', portal, this.hasAttached())
|
|
462
|
-
// Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have
|
|
463
|
-
// run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`
|
|
464
|
-
// and attach a portal programmatically in the parent component. When Angular does the first CD
|
|
465
|
-
// round, it will fire the setter with empty string, causing the user's content to be cleared.
|
|
466
|
-
if (this.hasAttached() && !portal && !this._isInitialized) {
|
|
467
|
-
return;
|
|
468
|
-
}
|
|
469
|
-
if (this.hasAttached()) {
|
|
470
|
-
super.detach();
|
|
471
|
-
}
|
|
472
|
-
if (portal) {
|
|
473
|
-
super.attach(portal);
|
|
474
|
-
}
|
|
475
|
-
this._attachedPortal = portal;
|
|
476
|
-
}
|
|
477
|
-
/** Component or view reference that is attached to the portal. */
|
|
478
|
-
get attachedRef() {
|
|
479
|
-
return this._attachedRef;
|
|
480
|
-
}
|
|
481
|
-
ngOnInit() {
|
|
482
|
-
this._isInitialized = true;
|
|
483
|
-
}
|
|
484
|
-
ngOnDestroy() {
|
|
485
|
-
// console.log('[DashboardWidgetPortalOutletDirective] ngOnDestroy')
|
|
486
|
-
// TODO: Figure out the right way to call dispose without messing up
|
|
487
|
-
// animation. This setTimeout way assumes the transition is 500ms, but that
|
|
488
|
-
// may not always be the case and isn't guaranteed to match the animation ms
|
|
489
|
-
// duration, since setTimeout isn't really meant for accurate timing. It
|
|
490
|
-
// also makes debugging animations difficult, because you can pause an
|
|
491
|
-
// animation, but the timeout will still run.
|
|
492
|
-
setTimeout(() => {
|
|
493
|
-
super.dispose();
|
|
494
|
-
this._attachedPortal = null;
|
|
495
|
-
this._attachedRef = null;
|
|
496
|
-
}, 500);
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.
|
|
500
|
-
*
|
|
501
|
-
* @param portal Portal to be attached to the portal outlet.
|
|
502
|
-
* @returns Reference to the created component.
|
|
503
|
-
*/
|
|
504
|
-
attachComponentPortal(portal) {
|
|
505
|
-
portal.setAttachedHost(this);
|
|
506
|
-
// If the portal specifies an origin, use that as the logical location of the component
|
|
507
|
-
// in the application tree. Otherwise use the location of this PortalOutlet.
|
|
508
|
-
const viewContainerRef = portal.viewContainerRef != null
|
|
509
|
-
? portal.viewContainerRef
|
|
510
|
-
: this._viewContainerRef;
|
|
511
|
-
const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;
|
|
512
|
-
const componentFactory = resolver.resolveComponentFactory(portal.component);
|
|
513
|
-
const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);
|
|
514
|
-
super.setDisposeFn(() => ref.destroy());
|
|
515
|
-
this._attachedPortal = portal;
|
|
516
|
-
this._attachedRef = ref;
|
|
517
|
-
this.attached.emit(ref);
|
|
518
|
-
return ref;
|
|
519
|
-
}
|
|
520
|
-
/**
|
|
521
|
-
* Attach the given TemplatePortal to this PortlHost as an embedded View.
|
|
522
|
-
* @param portal Portal to be attached.
|
|
523
|
-
* @returns Reference to the created embedded view.
|
|
524
|
-
*/
|
|
525
|
-
attachTemplatePortal(portal) {
|
|
526
|
-
portal.setAttachedHost(this);
|
|
527
|
-
const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);
|
|
528
|
-
super.setDisposeFn(() => this._viewContainerRef.clear());
|
|
529
|
-
this._attachedPortal = portal;
|
|
530
|
-
this._attachedRef = viewRef;
|
|
531
|
-
this.attached.emit(viewRef);
|
|
532
|
-
return viewRef;
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
DashboardWidgetPortalOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetPortalOutletDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
536
|
-
DashboardWidgetPortalOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetPortalOutletDirective, selector: "[seamDashboardWidgetPortalOutlet]", inputs: { portal: ["seamDashboardWidgetPortalOutlet", "portal"] }, outputs: { attached: "attached" }, exportAs: ["seamDashboardWidgetPortalOutlet"], usesInheritance: true, ngImport: i0 });
|
|
537
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetPortalOutletDirective, decorators: [{
|
|
538
|
-
type: Directive,
|
|
539
|
-
args: [{
|
|
540
|
-
selector: '[seamDashboardWidgetPortalOutlet]',
|
|
541
|
-
exportAs: 'seamDashboardWidgetPortalOutlet',
|
|
542
|
-
inputs: ['portal: seamDashboardWidgetPortalOutlet']
|
|
543
|
-
}]
|
|
544
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }]; }, propDecorators: { attached: [{
|
|
545
|
-
type: Output
|
|
546
|
-
}] } });
|
|
547
|
-
|
|
548
|
-
const THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR = new InjectionToken('ITheSeamDashboardWidgetsPreferencesAccessor');
|
|
549
|
-
|
|
550
|
-
// TODO: This needs a unit test to make sure it will not cause a race condition
|
|
551
|
-
// if update is called faster than the previous can respond.
|
|
552
|
-
//
|
|
553
|
-
// The ideal approach I am thinking, without steping through the process too
|
|
554
|
-
// thoroughly is to hold the new data emit until all pending updates are done.
|
|
555
|
-
// Any pending updates other than the most recently requested will be ignored
|
|
556
|
-
// and just wait on the most recent, and if already running it should be
|
|
557
|
-
// canceled if possible. Also, incase something happens that causes the new data
|
|
558
|
-
// emissions to get held up too long, there could be a threshold time that the
|
|
559
|
-
// new data can be held up.
|
|
560
|
-
/**
|
|
561
|
-
* Manages anything dealing with retrieving and updating dashboard widget
|
|
562
|
-
* preference data from the provided accessor.
|
|
563
|
-
*/
|
|
564
|
-
class DashboardWidgetsPreferencesService {
|
|
565
|
-
// private _pending = false
|
|
566
|
-
// public get pending() { return this._pending }
|
|
567
|
-
constructor(_prefsAccessor) {
|
|
568
|
-
this._prefsAccessor = _prefsAccessor;
|
|
569
|
-
this._tablePrefsMap = new Map();
|
|
570
|
-
}
|
|
571
|
-
preferences(preferenceKey) {
|
|
572
|
-
let prefs = this._tablePrefsMap.get(preferenceKey);
|
|
573
|
-
if (!prefs) {
|
|
574
|
-
const refreshSubject = new Subject();
|
|
575
|
-
prefs = {
|
|
576
|
-
observable: this._createObservable(refreshSubject, preferenceKey),
|
|
577
|
-
refresh: refreshSubject
|
|
578
|
-
};
|
|
579
|
-
this._tablePrefsMap.set(preferenceKey, prefs);
|
|
580
|
-
}
|
|
581
|
-
return prefs.observable;
|
|
582
|
-
}
|
|
583
|
-
_createObservable(refreshSubject, prefKey) {
|
|
584
|
-
if (!this._prefsAccessor) {
|
|
585
|
-
return of({});
|
|
586
|
-
}
|
|
587
|
-
const accessor = (key) => this._prefsAccessor ? this._prefsAccessor.get(key) : of('{}');
|
|
588
|
-
return refreshSubject.pipe(startWith({}),
|
|
589
|
-
// tap(() => console.log('Start requesting: ', prefKey)),
|
|
590
|
-
switchMap(() => accessor(prefKey).pipe(map(v => {
|
|
591
|
-
if (!v) {
|
|
592
|
-
return null;
|
|
593
|
-
}
|
|
594
|
-
// TODO: Add a schema validator and migration tool to avoid parsing issues.
|
|
595
|
-
try {
|
|
596
|
-
return JSON.parse(v);
|
|
597
|
-
}
|
|
598
|
-
catch (error) {
|
|
599
|
-
if (isDevMode()) {
|
|
600
|
-
// eslint-disable-next-line no-console
|
|
601
|
-
console.error(error);
|
|
602
|
-
}
|
|
603
|
-
return null;
|
|
604
|
-
}
|
|
605
|
-
}), map(v => v || {}))), shareReplay({ bufferSize: 1, refCount: true }));
|
|
606
|
-
}
|
|
607
|
-
refresh(preferenceKey) {
|
|
608
|
-
const prefs = this._tablePrefsMap.get(preferenceKey);
|
|
609
|
-
if (prefs) {
|
|
610
|
-
// this._pending = true
|
|
611
|
-
// prefs.refresh.next()
|
|
612
|
-
return prefs.observable.pipe(
|
|
613
|
-
// tap(() => prefs.refresh.next()),
|
|
614
|
-
tap(() => setTimeout(() => { prefs.refresh.next(); }, 0)), mapTo(undefined), take(1));
|
|
615
|
-
}
|
|
616
|
-
return of(undefined);
|
|
617
|
-
}
|
|
618
|
-
selectLayout(preferenceKey, layoutName) {
|
|
619
|
-
return this.preferences(preferenceKey).pipe(map(prefs => (prefs.layouts || []).find(l => l.name === layoutName)));
|
|
620
|
-
}
|
|
621
|
-
// TODO: Improve this updating to not be more generic, so we can quickly add
|
|
622
|
-
// edits for different preference schema's.
|
|
623
|
-
//
|
|
624
|
-
// TODO: Decide if a send queue/merging of pending queue is needed to avoid
|
|
625
|
-
// out of order updates. This shouldn't be an issue, with how fast preferences
|
|
626
|
-
// will most likely be changing, but it could happen in situations, such as
|
|
627
|
-
// network issues.
|
|
628
|
-
updateLayout(preferenceKey, layout) {
|
|
629
|
-
if (!this._prefsAccessor) {
|
|
630
|
-
return of(undefined);
|
|
631
|
-
}
|
|
632
|
-
if (!hasProperty(layout, 'name')) {
|
|
633
|
-
throw Error(`Unable to save layout preference. 'name' is required for a layout preference.`);
|
|
634
|
-
}
|
|
635
|
-
const _layout = this.toSerializeableLayout(layout);
|
|
636
|
-
// this._pending = true
|
|
637
|
-
return this.preferences(preferenceKey).pipe(map(prefs => {
|
|
638
|
-
// Making the preferences immutable may not be necessary, but for now
|
|
639
|
-
// this obj->str->obj will work as a naive clone.
|
|
640
|
-
const layouts = JSON.parse(JSON.stringify(prefs.layouts || []));
|
|
641
|
-
const _layoutPref = layouts.find((c) => c.name === _layout.name);
|
|
642
|
-
// console.log('has', _layoutPref)
|
|
643
|
-
if (_layoutPref) {
|
|
644
|
-
if (hasProperty(_layout, 'name')) {
|
|
645
|
-
_layoutPref.name = _layout.name;
|
|
646
|
-
}
|
|
647
|
-
if (hasProperty(_layout, 'label')) {
|
|
648
|
-
_layoutPref.label = _layout.label;
|
|
649
|
-
}
|
|
650
|
-
if (hasProperty(_layout, 'items')) {
|
|
651
|
-
_layoutPref.items = _layout.items;
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
else {
|
|
655
|
-
layouts.push({ ..._layout });
|
|
656
|
-
}
|
|
657
|
-
const newPrefs = { ...prefs, layouts };
|
|
658
|
-
return newPrefs;
|
|
659
|
-
}),
|
|
660
|
-
// tap(v => console.log('newPrefs', v)),
|
|
661
|
-
take(1), switchMap(newPrefs => this._prefsAccessor
|
|
662
|
-
? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))
|
|
663
|
-
: of(newPrefs)), switchMap(() => this.refresh(preferenceKey).pipe(mapTo(undefined))));
|
|
664
|
-
// .subscribe()
|
|
665
|
-
}
|
|
666
|
-
toSerializeableLayout(layout) {
|
|
667
|
-
const serialized = {
|
|
668
|
-
name: layout.name,
|
|
669
|
-
label: layout.label,
|
|
670
|
-
items: this.toSerializeableItems(layout.items) || []
|
|
671
|
-
};
|
|
672
|
-
return serialized;
|
|
673
|
-
}
|
|
674
|
-
// public toDeserializedLayout(layout: IDashboardWidgetItemLayoutSerialized): IDashboardWidgetItemLayoutDef {
|
|
675
|
-
// // For now there is nothing to do. Eventually this should have at least
|
|
676
|
-
// // validation on the deserialized object.
|
|
677
|
-
// return layout
|
|
678
|
-
// }
|
|
679
|
-
/**
|
|
680
|
-
* Returns the serializable widget items as objects that can be serialized to
|
|
681
|
-
* a JSON string for storage.
|
|
682
|
-
*/
|
|
683
|
-
toSerializeableItems(widgets) {
|
|
684
|
-
const serialized = [];
|
|
685
|
-
for (const w of widgets) {
|
|
686
|
-
// if (!w.__itemDef.component || typeof w.__itemDef.component !== 'string') {
|
|
687
|
-
// console.warn(`[DashboardWidgetsService] Widget item def must have a string 'component' property to be serialized.`, w)
|
|
688
|
-
// continue
|
|
689
|
-
// }
|
|
690
|
-
// serialized.push({
|
|
691
|
-
// widgetId: w.widgetId,
|
|
692
|
-
// col: w.col,
|
|
693
|
-
// order: w.order,
|
|
694
|
-
// component: w.__itemDef.component
|
|
695
|
-
// })
|
|
696
|
-
// TODO: Remove this, it is only here for initial dev debugging.
|
|
697
|
-
serialized.push({
|
|
698
|
-
widgetId: w.widgetId,
|
|
699
|
-
col: w.col,
|
|
700
|
-
order: w.order,
|
|
701
|
-
// component: w.__itemDef.component as string
|
|
702
|
-
});
|
|
703
|
-
}
|
|
704
|
-
return serialized;
|
|
705
|
-
}
|
|
706
|
-
}
|
|
707
|
-
DashboardWidgetsPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsPreferencesService, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
708
|
-
DashboardWidgetsPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsPreferencesService, providedIn: 'root' });
|
|
709
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsPreferencesService, decorators: [{
|
|
710
|
-
type: Injectable,
|
|
711
|
-
args: [{
|
|
712
|
-
providedIn: 'root'
|
|
713
|
-
}]
|
|
714
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
715
|
-
type: Optional
|
|
716
|
-
}, {
|
|
717
|
-
type: Inject,
|
|
718
|
-
args: [THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR]
|
|
719
|
-
}] }]; } });
|
|
720
|
-
|
|
721
|
-
class DashboardWidgetsService {
|
|
722
|
-
get widgets() { return this._widgets.value; }
|
|
723
|
-
set widgets(value) { this._widgets.next(value); }
|
|
724
|
-
get numColumns() { return this._numColumns.value; }
|
|
725
|
-
set numColumns(value) {
|
|
726
|
-
if (value !== this._numColumns.value) {
|
|
727
|
-
this._numColumns.next(value);
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
constructor(_dynamicComponentLoaderModule, _preferences) {
|
|
731
|
-
this._dynamicComponentLoaderModule = _dynamicComponentLoaderModule;
|
|
732
|
-
this._preferences = _preferences;
|
|
733
|
-
this.preferenceKey = 'datatable-widgets';
|
|
734
|
-
this.defaultNumColumns = 3;
|
|
735
|
-
/** Used for operations, such as 'addWidget', if the column is not specified. */
|
|
736
|
-
this.defaultColumn = 0;
|
|
737
|
-
this._widgets = new BehaviorSubject([]);
|
|
738
|
-
this._numColumns = new BehaviorSubject(this.defaultNumColumns);
|
|
739
|
-
this._viewContainerRefSubject = new BehaviorSubject(undefined);
|
|
740
|
-
this.numColumns$ = this._numColumns.asObservable();
|
|
741
|
-
// Widget items without preferences
|
|
742
|
-
const _widgetItems$ = combineLatest([this._widgets, this._viewContainerRefSubject])
|
|
743
|
-
.pipe(switchMap(([defs, vcr]) => this.createWidgetItems(defs, vcr)));
|
|
744
|
-
// Widget items with preferences
|
|
745
|
-
this.widgetItems$ = combineLatest([_widgetItems$, this.numColumns$])
|
|
746
|
-
.pipe(
|
|
747
|
-
// Wait until the current tick is done, incase both the widgets and
|
|
748
|
-
// number of columns are set durring the same tick. Without the audit,
|
|
749
|
-
// this would get called twice when the component is initialized with
|
|
750
|
-
// both inputs set one after the other individually.
|
|
751
|
-
auditTime(0), switchMap(([items, numColumns]) => this._preferences.selectLayout(this.preferenceKey, this._layoutName(numColumns)).pipe(map(layout => layout ? this.withLayoutPreferences(items, layout) : items))), shareReplay({ bufferSize: 1, refCount: true }));
|
|
752
|
-
this.widgetColumns$ = this.widgetItems$
|
|
753
|
-
.pipe(map(items => this.toColumnRecords(items)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
754
|
-
}
|
|
755
|
-
_layoutName(numColumns) {
|
|
756
|
-
return `columns-${numColumns}`;
|
|
757
|
-
}
|
|
758
|
-
setViewContainerRef(vcr) {
|
|
759
|
-
this._viewContainerRefSubject.next(vcr);
|
|
760
|
-
}
|
|
761
|
-
createWidgetItems(defs, vcr) {
|
|
762
|
-
const _createObservables = (defs || []).map(d => this.createWidgetItem(d, vcr));
|
|
763
|
-
const items$ = _createObservables.length > 0 ? combineLatest(_createObservables) : of([]);
|
|
764
|
-
return items$.pipe(map(items => items.filter(notNullOrUndefined)), tap(items => {
|
|
765
|
-
if (isDevMode()) {
|
|
766
|
-
const ids = items.map(v => v.widgetId);
|
|
767
|
-
if ((new Set(ids)).size !== ids.length) {
|
|
768
|
-
// eslint-disable-next-line no-console
|
|
769
|
-
console.warn(`[DashboardWidgetsService] Duplicate widget's with the same 'widgetId' found.`);
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
}));
|
|
773
|
-
}
|
|
774
|
-
createWidgetItem(def, vcr) {
|
|
775
|
-
if (!def.widgetId || typeof def.widgetId !== 'string' || def.widgetId.length < 1) {
|
|
776
|
-
if (isDevMode()) {
|
|
777
|
-
// eslint-disable-next-line no-console
|
|
778
|
-
console.warn(`[DashboardWidgetsService] Widget ignored. All widgets must have a 'widgetId'.`, def);
|
|
779
|
-
}
|
|
780
|
-
return of(undefined);
|
|
781
|
-
}
|
|
782
|
-
return this.createWidgetPortal(def, vcr).pipe(map(portal => ({
|
|
783
|
-
...def,
|
|
784
|
-
col: def.col || this.defaultColumn,
|
|
785
|
-
order: def.order || 0,
|
|
786
|
-
portal,
|
|
787
|
-
__itemDef: def
|
|
788
|
-
})));
|
|
789
|
-
}
|
|
790
|
-
createWidgetPortal(def, vcr) {
|
|
791
|
-
const injector = Injector.create({ providers: [
|
|
792
|
-
{ provide: THESEAM_WIDGET_DATA, useValue: { widgetId: def.widgetId } }
|
|
793
|
-
], parent: this._viewContainerRefSubject.value?.injector });
|
|
794
|
-
// TODO: I still use the ViewContainerRef injector, but I don't pass it to
|
|
795
|
-
// the portal, because it throws an error and I am not sure why. I would
|
|
796
|
-
// like to find out why, even though I don't think it is needed, because our
|
|
797
|
-
// code has been leaving it undefined for a while, when I thought it was
|
|
798
|
-
// being used.
|
|
799
|
-
if (typeof def.component === 'string') {
|
|
800
|
-
return this._dynamicComponentLoaderModule
|
|
801
|
-
.getComponentFactory(def.component)
|
|
802
|
-
.pipe(map(componentFactory => {
|
|
803
|
-
return new ComponentPortal(componentFactory.componentType, undefined, injector, componentFactory /* ComponentFactoryBoundToModule */.ngModule.componentFactoryResolver);
|
|
804
|
-
}), take(1));
|
|
805
|
-
}
|
|
806
|
-
return def.componentFactoryResolver
|
|
807
|
-
? of(new ComponentPortal(def.component, undefined, injector, def.componentFactoryResolver))
|
|
808
|
-
: of(new ComponentPortal(def.component, undefined, injector));
|
|
809
|
-
}
|
|
810
|
-
updateOrder() {
|
|
811
|
-
return this.widgetColumns$
|
|
812
|
-
.pipe(take(1), tap(columns => columns.forEach(col => {
|
|
813
|
-
let i = 0;
|
|
814
|
-
col.items.forEach(itm => itm.order = i++);
|
|
815
|
-
})), mapTo(undefined));
|
|
816
|
-
}
|
|
817
|
-
toColumnRecords(items) {
|
|
818
|
-
let columns = [];
|
|
819
|
-
for (let i = 0; i < this.numColumns; i++) {
|
|
820
|
-
columns.push({ column: i, items: [] });
|
|
821
|
-
}
|
|
822
|
-
const colNotFound = [];
|
|
823
|
-
// Distribute items into columns
|
|
824
|
-
for (const item of items) {
|
|
825
|
-
const col = columns.find(c => c.column === item.col);
|
|
826
|
-
if (!col) {
|
|
827
|
-
// columns.push({ column: item.col, items: [ item ] })
|
|
828
|
-
// if (item.col < 0) {
|
|
829
|
-
// const col0: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === 0)
|
|
830
|
-
// if (col0) {
|
|
831
|
-
// col0.items.push(item)
|
|
832
|
-
// }
|
|
833
|
-
// } else if (item.col > this.numColumns - 1) {
|
|
834
|
-
// const colMax: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === this.numColumns - 1)
|
|
835
|
-
// if (colMax) {
|
|
836
|
-
// colMax.items.push(item)
|
|
837
|
-
// }
|
|
838
|
-
// }
|
|
839
|
-
colNotFound.push(item);
|
|
840
|
-
}
|
|
841
|
-
else {
|
|
842
|
-
col.items.push(item);
|
|
843
|
-
}
|
|
844
|
-
}
|
|
845
|
-
for (let i = 0; i < colNotFound.length; i++) {
|
|
846
|
-
const item = colNotFound[i];
|
|
847
|
-
const col = columns
|
|
848
|
-
.find(c => c.column === i % this.numColumns);
|
|
849
|
-
if (col) {
|
|
850
|
-
col.items.push(item);
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
// Sort columns
|
|
854
|
-
columns = columns.sort((a, b) => a.column - b.column);
|
|
855
|
-
// Sort columns items
|
|
856
|
-
columns.forEach(col => col.items.sort((a, b) => a.order - b.order));
|
|
857
|
-
return columns;
|
|
858
|
-
}
|
|
859
|
-
withLayoutPreferences(items, layout) {
|
|
860
|
-
const _items = [];
|
|
861
|
-
for (const item of items) {
|
|
862
|
-
const itemPref = layout.items.find(x => x.widgetId === item.widgetId);
|
|
863
|
-
_items.push({
|
|
864
|
-
...item,
|
|
865
|
-
...(itemPref || {})
|
|
866
|
-
});
|
|
867
|
-
}
|
|
868
|
-
return _items;
|
|
869
|
-
}
|
|
870
|
-
savePreferences() {
|
|
871
|
-
// Right now the items are moved between the column record arrays, but the
|
|
872
|
-
// 'col' prop is not updated, so it is mapped to corrected items here from
|
|
873
|
-
// the column records.
|
|
874
|
-
const items$ = this.widgetColumns$.pipe(map(columns => []
|
|
875
|
-
.concat(...(columns.map(c => c.items.map(itm => ({ ...itm, col: c.column })))))));
|
|
876
|
-
return combineLatest([items$, this.numColumns$]).pipe(auditTime(0), take(1), switchMap(([items, numColumns]) => {
|
|
877
|
-
return this._preferences.updateLayout(this.preferenceKey, {
|
|
878
|
-
name: this._layoutName(numColumns),
|
|
879
|
-
items
|
|
880
|
-
});
|
|
881
|
-
}), mapTo(undefined));
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
DashboardWidgetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsService, deps: [{ token: i1$1.TheSeamDynamicComponentLoader }, { token: DashboardWidgetsPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
885
|
-
DashboardWidgetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsService, providedIn: 'root' });
|
|
886
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsService, decorators: [{
|
|
887
|
-
type: Injectable,
|
|
888
|
-
args: [{
|
|
889
|
-
providedIn: 'root'
|
|
890
|
-
}]
|
|
891
|
-
}], ctorParameters: function () { return [{ type: i1$1.TheSeamDynamicComponentLoader }, { type: DashboardWidgetsPreferencesService }]; } });
|
|
892
|
-
|
|
893
|
-
class DashboardWidgetsComponent {
|
|
894
|
-
get gapSize() { return this._gapSize.value; }
|
|
895
|
-
set gapSize(val) {
|
|
896
|
-
this._gapSize.next(coerceNumberProperty(val));
|
|
897
|
-
}
|
|
898
|
-
get dragToggleVisible() { return this._dragToggleVisible.value; }
|
|
899
|
-
set dragToggleVisible(val) {
|
|
900
|
-
this._dragToggleVisible.next(coerceBooleanProperty(val));
|
|
901
|
-
}
|
|
902
|
-
get numColumns() { return this._dashboardWidgets.numColumns; }
|
|
903
|
-
set numColumns(val) {
|
|
904
|
-
this._dashboardWidgets.numColumns = coerceNumberProperty(val);
|
|
905
|
-
}
|
|
906
|
-
set widgets(value) { this._dashboardWidgets.widgets = value || []; }
|
|
907
|
-
get widgets() { return this._dashboardWidgets.widgets; }
|
|
908
|
-
constructor(_dashboardWidgets, _viewContainerRef, _cdr, _baseLayoutRef) {
|
|
909
|
-
this._dashboardWidgets = _dashboardWidgets;
|
|
910
|
-
this._viewContainerRef = _viewContainerRef;
|
|
911
|
-
this._cdr = _cdr;
|
|
912
|
-
this._baseLayoutRef = _baseLayoutRef;
|
|
913
|
-
this.faLock = faLock;
|
|
914
|
-
this.faUnlock = faUnlock;
|
|
915
|
-
this._actionWidgetDragToggleName = 'widget-drag-toggle';
|
|
916
|
-
this._ngUnsubscribe = new Subject();
|
|
917
|
-
this._gapSize = new BehaviorSubject(30);
|
|
918
|
-
this.widgetsDraggable = false;
|
|
919
|
-
this._dragToggleVisible = new BehaviorSubject(true);
|
|
920
|
-
this._containers = new BehaviorSubject([]);
|
|
921
|
-
this._layoutChange = new Subject();
|
|
922
|
-
this.widgetsChange = new EventEmitter();
|
|
923
|
-
this._widthChange = new Subject();
|
|
924
|
-
this._dashboardWidgets.setViewContainerRef(this._viewContainerRef);
|
|
925
|
-
this.containers$ = this._containers.asObservable();
|
|
926
|
-
this._gapStyleSize$ = this._gapSize.pipe(auditTime(0), map(size => size / 2), shareReplay({ bufferSize: 1, refCount: true }));
|
|
927
|
-
this._widthChange.pipe(debounceTime(30), tap(width => {
|
|
928
|
-
if (width > 1300) {
|
|
929
|
-
this.numColumns = 3;
|
|
930
|
-
}
|
|
931
|
-
else if (width > 800) {
|
|
932
|
-
this.numColumns = 2;
|
|
933
|
-
}
|
|
934
|
-
else {
|
|
935
|
-
this.numColumns = 1;
|
|
936
|
-
}
|
|
937
|
-
}), takeUntil(this._ngUnsubscribe)).subscribe();
|
|
938
|
-
this.widgetItems$ = this._dashboardWidgets.widgetItems$;
|
|
939
|
-
this.widgetColumns$ = this._dashboardWidgets.widgetColumns$;
|
|
940
|
-
}
|
|
941
|
-
ngOnInit() {
|
|
942
|
-
// this._dashboardWidgets.setViewContainerRef(this._viewContainerRef)
|
|
943
|
-
this._layoutChange.pipe(switchMap(() => this.widgetItems$.pipe(take(1), tap(widgetItems => this.widgetsChange.emit(widgetItems)),
|
|
944
|
-
// map(widgetItems => this._dashboardWidgets.toSerializeableItems(widgetItems)),
|
|
945
|
-
// tap(v => console.log('serializable', v)),
|
|
946
|
-
switchMap(() => this._dashboardWidgets.savePreferences()))), takeUntil(this._ngUnsubscribe)).subscribe();
|
|
947
|
-
}
|
|
948
|
-
ngOnDestroy() {
|
|
949
|
-
this._unregisterToggleAction();
|
|
950
|
-
this._ngUnsubscribe.next(undefined);
|
|
951
|
-
this._ngUnsubscribe.complete();
|
|
952
|
-
}
|
|
953
|
-
ngAfterViewInit() {
|
|
954
|
-
if (this._baseLayoutRef) {
|
|
955
|
-
this._dragToggleVisible.pipe(distinctUntilChanged(), tap(visible => {
|
|
956
|
-
const isRegistered = this._isActionToggleActionRegistered();
|
|
957
|
-
if (visible && !isRegistered) {
|
|
958
|
-
this._registerToggleAction();
|
|
959
|
-
}
|
|
960
|
-
else if (!visible && isRegistered) {
|
|
961
|
-
this._unregisterToggleAction();
|
|
962
|
-
}
|
|
963
|
-
}), takeUntil(this._ngUnsubscribe)).subscribe();
|
|
964
|
-
}
|
|
965
|
-
this.containers?.changes.pipe(startWith(undefined), map(() => this.containers?.toArray() || []), takeUntil(this._ngUnsubscribe), finalize(() => this._containers.next([]))).subscribe(v => this._containers.next(v));
|
|
966
|
-
}
|
|
967
|
-
_registerToggleAction() {
|
|
968
|
-
if (this._baseLayoutRef) {
|
|
969
|
-
// This should probably use a component dynamically created from the
|
|
970
|
-
// config and return a ref to it, instead of using a template.
|
|
971
|
-
if (this._toggleBtnTpl) {
|
|
972
|
-
this._baseLayoutRef.registerAction({
|
|
973
|
-
// type: 'button',
|
|
974
|
-
type: 'template',
|
|
975
|
-
name: this._actionWidgetDragToggleName,
|
|
976
|
-
label: 'Toggle Widget Dragging',
|
|
977
|
-
// exec: () => {
|
|
978
|
-
// console.log('toggle')
|
|
979
|
-
// },
|
|
980
|
-
template: this._toggleBtnTpl
|
|
981
|
-
});
|
|
982
|
-
}
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
_unregisterToggleAction() {
|
|
986
|
-
if (this._baseLayoutRef) {
|
|
987
|
-
this._baseLayoutRef.unregisterAction(this._actionWidgetDragToggleName);
|
|
988
|
-
}
|
|
989
|
-
}
|
|
990
|
-
_isActionToggleActionRegistered() {
|
|
991
|
-
if (!this._baseLayoutRef) {
|
|
992
|
-
return false;
|
|
993
|
-
}
|
|
994
|
-
return this._baseLayoutRef.isActionRegistered(this._actionWidgetDragToggleName);
|
|
995
|
-
}
|
|
996
|
-
drop(event) {
|
|
997
|
-
if (event.previousContainer === event.container) {
|
|
998
|
-
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
999
|
-
this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next());
|
|
1000
|
-
}
|
|
1001
|
-
else {
|
|
1002
|
-
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
1003
|
-
this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next());
|
|
1004
|
-
}
|
|
1005
|
-
}
|
|
1006
|
-
_containerTrackByFn(index, item) {
|
|
1007
|
-
return item.widgetId;
|
|
1008
|
-
}
|
|
1009
|
-
_columnsTrackByFn(index, record) {
|
|
1010
|
-
return record.column;
|
|
1011
|
-
}
|
|
1012
|
-
toggleDragging() {
|
|
1013
|
-
this.widgetsDraggable = !this.widgetsDraggable;
|
|
1014
|
-
this._cdr.detectChanges();
|
|
1015
|
-
}
|
|
1016
|
-
_resized(event) {
|
|
1017
|
-
this._widthChange.next(event.size.width);
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
|
-
DashboardWidgetsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsComponent, deps: [{ token: DashboardWidgetsService }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1021
|
-
DashboardWidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: { gapSize: "gapSize", widgetsDraggable: "widgetsDraggable", dragToggleVisible: "dragToggleVisible", numColumns: "numColumns", widgets: "widgets" }, outputs: { widgetsChange: "widgetsChange" }, providers: [
|
|
1022
|
-
{
|
|
1023
|
-
provide: THESEAM_WIDGET_ACCESSOR,
|
|
1024
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
1025
|
-
useExisting: forwardRef(() => DashboardWidgetsComponent)
|
|
1026
|
-
},
|
|
1027
|
-
{
|
|
1028
|
-
provide: THESEAM_DASHBOARD_WIDGETS_ACCESSOR,
|
|
1029
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
1030
|
-
useExisting: forwardRef(() => DashboardWidgetsComponent)
|
|
1031
|
-
},
|
|
1032
|
-
], viewQueries: [{ propertyName: "_toggleBtnTpl", first: true, predicate: ["toggleBtnTpl"], descendants: true, static: true }, { propertyName: "containers", predicate: DashboardWidgetContainerComponent, descendants: true }, { propertyName: "cdkDragDirectives", predicate: CdkDrag, descendants: true }], ngImport: i0, template: "<!--\n This is an ugly trick I am using to render the component into an <ng-content>\n wrapped in an <ng-template> to move the component to different outlets without\n reinitializing it. This way the widget won't reload when moving between\n columns. When I remember how I programatically did this I will remove this\n weirdness.\n -->\n <seam-dashboard-widget-container *ngFor=\"let item of widgetItems$ | async; trackBy: _containerTrackByFn\" [def]=\"$any(item)\">\n <!-- <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template> -->\n <ng-template [seamDashboardWidgetPortalOutlet]=\"item.portal\"></ng-template>\n</seam-dashboard-widget-container>\n\n<div class=\"dashboard-widgets-base d-flex flex-row justify-content-around\"\n style=\"flex: 1410px;\"\n [style.padding.px]=\"_gapStyleSize$ | async\"\n (seamElemResized)=\"_resized($event)\"\n cdkDropListGroup>\n <div *ngFor=\"let col of widgetColumns$ | async; trackBy: _columnsTrackByFn\"\n class=\"d-flex flex-column flex-grow-1 dashboard-widgets-list\"\n cdkDropList\n [cdkDropListData]=\"col.items\"\n (cdkDropListDropped)=\"drop($any($event))\">\n <div *ngFor=\"let item of col.items; trackBy: _containerTrackByFn\"\n class=\"dashboard-widgets-list-item\"\n [attr.data-widget-id]=\"item.widgetId\"\n cdkDrag\n [cdkDragDisabled]=\"!widgetsDraggable\">\n <div [style.margin.px]=\"_gapStyleSize$ | async\">\n <seam-dashboard-widget-template-container [item]=\"item\"></seam-dashboard-widget-template-container>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #toggleBtnTpl>\n <button seamButton theme=\"baselayout-action\" title=\"{{ widgetsDraggable ? 'Lock the Dashboard' : 'Modify Dashboard' }}\" (click)=\"toggleDragging()\">\n <seam-icon [icon]=\"widgetsDraggable ? faUnlock : faLock\"></seam-icon>\n </button>\n</ng-template>\n", styles: ["seam-dashboard-widgets{display:flex;justify-content:center}seam-dashboard-widgets .dashboard-widgets-base{max-width:1410px}seam-dashboard-widgets .dashboard-widgets-list{flex-basis:400px;max-width:500px}seam-dashboard-widgets .dashboard-widgets-list.cdk-drop-list-dragging .dashboard-widgets-list-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.dashboard-widgets-list-item.cdk-drag-preview{box-sizing:border-box}.dashboard-widgets-list-item.cdk-drag-preview>div{border-radius:.25rem;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.dashboard-widgets-list-item.cdk-drag-disabled .cdk-drag-handle{cursor:default}.dashboard-widgets-list-item .cdk-drag-handle{cursor:move}.dashboard-widgets-list-item.cdk-drag-placeholder{opacity:0}.dashboard-widgets-list-item.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$1.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "component", type: i2$1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i6.ElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"] }, { kind: "component", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: ["def"] }, { kind: "component", type: DashboardWidgetTemplateContainerComponent, selector: "seam-dashboard-widget-template-container", inputs: ["item"] }, { kind: "directive", type: DashboardWidgetPortalOutletDirective, selector: "[seamDashboardWidgetPortalOutlet]", inputs: ["seamDashboardWidgetPortalOutlet"], outputs: ["attached"], exportAs: ["seamDashboardWidgetPortalOutlet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1033
|
-
__decorate([
|
|
1034
|
-
InputBoolean()
|
|
1035
|
-
], DashboardWidgetsComponent.prototype, "widgetsDraggable", void 0);
|
|
1036
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetsComponent, decorators: [{
|
|
1037
|
-
type: Component,
|
|
1038
|
-
args: [{ selector: 'seam-dashboard-widgets', providers: [
|
|
1039
|
-
{
|
|
1040
|
-
provide: THESEAM_WIDGET_ACCESSOR,
|
|
1041
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
1042
|
-
useExisting: forwardRef(() => DashboardWidgetsComponent)
|
|
1043
|
-
},
|
|
1044
|
-
{
|
|
1045
|
-
provide: THESEAM_DASHBOARD_WIDGETS_ACCESSOR,
|
|
1046
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
1047
|
-
useExisting: forwardRef(() => DashboardWidgetsComponent)
|
|
1048
|
-
},
|
|
1049
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n This is an ugly trick I am using to render the component into an <ng-content>\n wrapped in an <ng-template> to move the component to different outlets without\n reinitializing it. This way the widget won't reload when moving between\n columns. When I remember how I programatically did this I will remove this\n weirdness.\n -->\n <seam-dashboard-widget-container *ngFor=\"let item of widgetItems$ | async; trackBy: _containerTrackByFn\" [def]=\"$any(item)\">\n <!-- <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template> -->\n <ng-template [seamDashboardWidgetPortalOutlet]=\"item.portal\"></ng-template>\n</seam-dashboard-widget-container>\n\n<div class=\"dashboard-widgets-base d-flex flex-row justify-content-around\"\n style=\"flex: 1410px;\"\n [style.padding.px]=\"_gapStyleSize$ | async\"\n (seamElemResized)=\"_resized($event)\"\n cdkDropListGroup>\n <div *ngFor=\"let col of widgetColumns$ | async; trackBy: _columnsTrackByFn\"\n class=\"d-flex flex-column flex-grow-1 dashboard-widgets-list\"\n cdkDropList\n [cdkDropListData]=\"col.items\"\n (cdkDropListDropped)=\"drop($any($event))\">\n <div *ngFor=\"let item of col.items; trackBy: _containerTrackByFn\"\n class=\"dashboard-widgets-list-item\"\n [attr.data-widget-id]=\"item.widgetId\"\n cdkDrag\n [cdkDragDisabled]=\"!widgetsDraggable\">\n <div [style.margin.px]=\"_gapStyleSize$ | async\">\n <seam-dashboard-widget-template-container [item]=\"item\"></seam-dashboard-widget-template-container>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #toggleBtnTpl>\n <button seamButton theme=\"baselayout-action\" title=\"{{ widgetsDraggable ? 'Lock the Dashboard' : 'Modify Dashboard' }}\" (click)=\"toggleDragging()\">\n <seam-icon [icon]=\"widgetsDraggable ? faUnlock : faLock\"></seam-icon>\n </button>\n</ng-template>\n", styles: ["seam-dashboard-widgets{display:flex;justify-content:center}seam-dashboard-widgets .dashboard-widgets-base{max-width:1410px}seam-dashboard-widgets .dashboard-widgets-list{flex-basis:400px;max-width:500px}seam-dashboard-widgets .dashboard-widgets-list.cdk-drop-list-dragging .dashboard-widgets-list-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.dashboard-widgets-list-item.cdk-drag-preview{box-sizing:border-box}.dashboard-widgets-list-item.cdk-drag-preview>div{border-radius:.25rem;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.dashboard-widgets-list-item.cdk-drag-disabled .cdk-drag-handle{cursor:default}.dashboard-widgets-list-item .cdk-drag-handle{cursor:move}.dashboard-widgets-list-item.cdk-drag-placeholder{opacity:0}.dashboard-widgets-list-item.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
1050
|
-
}], ctorParameters: function () { return [{ type: DashboardWidgetsService }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1051
|
-
type: Optional
|
|
1052
|
-
}, {
|
|
1053
|
-
type: Inject,
|
|
1054
|
-
args: [THESEAM_BASE_LAYOUT_REF]
|
|
1055
|
-
}] }]; }, propDecorators: { gapSize: [{
|
|
1056
|
-
type: Input
|
|
1057
|
-
}], widgetsDraggable: [{
|
|
1058
|
-
type: Input
|
|
1059
|
-
}], dragToggleVisible: [{
|
|
1060
|
-
type: Input
|
|
1061
|
-
}], numColumns: [{
|
|
1062
|
-
type: Input
|
|
1063
|
-
}], widgets: [{
|
|
1064
|
-
type: Input
|
|
1065
|
-
}], containers: [{
|
|
1066
|
-
type: ViewChildren,
|
|
1067
|
-
args: [DashboardWidgetContainerComponent]
|
|
1068
|
-
}], cdkDragDirectives: [{
|
|
1069
|
-
type: ViewChildren,
|
|
1070
|
-
args: [CdkDrag]
|
|
1071
|
-
}], _toggleBtnTpl: [{
|
|
1072
|
-
type: ViewChild,
|
|
1073
|
-
args: ['toggleBtnTpl', { static: true }]
|
|
1074
|
-
}], widgetsChange: [{
|
|
1075
|
-
type: Output
|
|
1076
|
-
}] } });
|
|
1077
|
-
|
|
1078
|
-
class DashboardComponent {
|
|
1079
|
-
constructor() {
|
|
1080
|
-
this.widgetsDraggable = true;
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1084
|
-
DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardComponent, selector: "seam-dashboard", inputs: { widgets: "widgets", widgetsDraggable: "widgetsDraggable" }, ngImport: i0, template: "<seam-dashboard-widgets [widgets]=\"widgets\" [widgetsDraggable]=\"widgetsDraggable\"></seam-dashboard-widgets>\n", styles: [""], dependencies: [{ kind: "component", type: DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: ["gapSize", "widgetsDraggable", "dragToggleVisible", "numColumns", "widgets"], outputs: ["widgetsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1085
|
-
__decorate([
|
|
1086
|
-
InputBoolean()
|
|
1087
|
-
], DashboardComponent.prototype, "widgetsDraggable", void 0);
|
|
1088
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardComponent, decorators: [{
|
|
1089
|
-
type: Component,
|
|
1090
|
-
args: [{ selector: 'seam-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-dashboard-widgets [widgets]=\"widgets\" [widgetsDraggable]=\"widgetsDraggable\"></seam-dashboard-widgets>\n" }]
|
|
1091
|
-
}], propDecorators: { widgets: [{
|
|
1092
|
-
type: Input
|
|
1093
|
-
}], widgetsDraggable: [{
|
|
1094
|
-
type: Input
|
|
1095
|
-
}] } });
|
|
1096
|
-
|
|
1097
|
-
class TheSeamDashboardModule {
|
|
1098
|
-
}
|
|
1099
|
-
TheSeamDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1100
|
-
TheSeamDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDashboardModule, declarations: [DashboardComponent,
|
|
1101
|
-
DashboardWidgetsComponent,
|
|
1102
|
-
DashboardWidgetContainerComponent,
|
|
1103
|
-
DashboardWidgetTemplateContainerComponent,
|
|
1104
|
-
DashboardWidgetPortalOutletDirective], imports: [CommonModule,
|
|
1105
|
-
PortalModule,
|
|
1106
|
-
DragDropModule,
|
|
1107
|
-
TheSeamButtonsModule,
|
|
1108
|
-
TheSeamIconModule,
|
|
1109
|
-
TheSeamSharedModule], exports: [DashboardComponent,
|
|
1110
|
-
DashboardWidgetsComponent,
|
|
1111
|
-
DashboardWidgetPortalOutletDirective] });
|
|
1112
|
-
TheSeamDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDashboardModule, imports: [CommonModule,
|
|
1113
|
-
PortalModule,
|
|
1114
|
-
DragDropModule,
|
|
1115
|
-
TheSeamButtonsModule,
|
|
1116
|
-
TheSeamIconModule,
|
|
1117
|
-
TheSeamSharedModule] });
|
|
1118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDashboardModule, decorators: [{
|
|
1119
|
-
type: NgModule,
|
|
1120
|
-
args: [{
|
|
1121
|
-
declarations: [
|
|
1122
|
-
DashboardComponent,
|
|
1123
|
-
DashboardWidgetsComponent,
|
|
1124
|
-
DashboardWidgetContainerComponent,
|
|
1125
|
-
DashboardWidgetTemplateContainerComponent,
|
|
1126
|
-
DashboardWidgetPortalOutletDirective
|
|
1127
|
-
],
|
|
1128
|
-
imports: [
|
|
1129
|
-
CommonModule,
|
|
1130
|
-
PortalModule,
|
|
1131
|
-
DragDropModule,
|
|
1132
|
-
TheSeamButtonsModule,
|
|
1133
|
-
TheSeamIconModule,
|
|
1134
|
-
TheSeamSharedModule
|
|
1135
|
-
],
|
|
1136
|
-
exports: [
|
|
1137
|
-
DashboardComponent,
|
|
1138
|
-
DashboardWidgetsComponent,
|
|
1139
|
-
DashboardWidgetPortalOutletDirective
|
|
1140
|
-
]
|
|
1141
|
-
}]
|
|
1142
|
-
}] });
|
|
1143
|
-
|
|
1144
|
-
const THESEAM_SIDE_NAV_ACCESSOR = new InjectionToken('THESEAM_SIDE_NAV_ACCESSOR');
|
|
1145
|
-
const THESEAM_SIDE_NAV_CONFIG = new InjectionToken('THESEAM_SIDE_NAV_CONFIG');
|
|
1146
|
-
const DEFAULT_SIDE_NAV_CONFIG = {
|
|
1147
|
-
activeNavigatable: false
|
|
1148
|
-
};
|
|
1149
|
-
|
|
1150
|
-
const EXPANDED_STATE$1 = 'expanded';
|
|
1151
|
-
const COLLAPSED_STATE$1 = 'collapsed';
|
|
1152
|
-
class SideNavItemComponent {
|
|
1153
|
-
set link(value) { this._link.next(value); }
|
|
1154
|
-
get link() { return this._link.value; }
|
|
1155
|
-
set expanded(value) { this._expanded.next(coerceBooleanProperty(value)); }
|
|
1156
|
-
get expanded() { return this._expanded.value; }
|
|
1157
|
-
set compact(value) { this._compact.next(coerceBooleanProperty(value)); }
|
|
1158
|
-
get compact() { return this._compact.value; }
|
|
1159
|
-
get badgeTooltip() { return this._badgeTooltip; }
|
|
1160
|
-
set badgeTooltip(value) {
|
|
1161
|
-
if (value !== null && value !== undefined) {
|
|
1162
|
-
if (typeof value === 'string') {
|
|
1163
|
-
this._badgeTooltip = {
|
|
1164
|
-
tooltip: value,
|
|
1165
|
-
placement: 'auto',
|
|
1166
|
-
container: 'body',
|
|
1167
|
-
disabled: false
|
|
1168
|
-
};
|
|
1169
|
-
}
|
|
1170
|
-
else {
|
|
1171
|
-
this._badgeTooltip = {
|
|
1172
|
-
...value,
|
|
1173
|
-
placement: value.placement || 'auto',
|
|
1174
|
-
container: value.container || 'body',
|
|
1175
|
-
disabled: typeof value?.disabled === 'boolean'
|
|
1176
|
-
? value.disabled
|
|
1177
|
-
: typeof value.tooltip === 'string',
|
|
1178
|
-
};
|
|
1179
|
-
}
|
|
1180
|
-
}
|
|
1181
|
-
else {
|
|
1182
|
-
this._badgeTooltip = undefined;
|
|
1183
|
-
}
|
|
1184
|
-
}
|
|
1185
|
-
get _isActiveCssClass() { return this.active; }
|
|
1186
|
-
get _isClickableWhenActiveCssClass() { return this.activeNavigatable; }
|
|
1187
|
-
get _attrDataHierLevel() { return this.hierLevel; }
|
|
1188
|
-
constructor(_sideNav) {
|
|
1189
|
-
this._sideNav = _sideNav;
|
|
1190
|
-
this._ngUnsubscribe = new Subject();
|
|
1191
|
-
this.faAngleLeft = faAngleLeft;
|
|
1192
|
-
this._linkHistoryState = { seamReload: true, triggeredByNavBar: true };
|
|
1193
|
-
this.active = false;
|
|
1194
|
-
this.activeNavigatable = false;
|
|
1195
|
-
this._link = new BehaviorSubject(undefined);
|
|
1196
|
-
this.link$ = this._link.asObservable();
|
|
1197
|
-
this.hierLevel = 0;
|
|
1198
|
-
this.indentSize = 10;
|
|
1199
|
-
this._expanded = new BehaviorSubject(false);
|
|
1200
|
-
this.expanded$ = this._expanded.asObservable();
|
|
1201
|
-
this._compact = new BehaviorSubject(false);
|
|
1202
|
-
this.compact$ = this._compact.asObservable();
|
|
1203
|
-
this.badgeTheme = 'danger';
|
|
1204
|
-
this.childGroupAnimState$ = this.expanded$
|
|
1205
|
-
.pipe(map$1(expanded => expanded ? EXPANDED_STATE$1 : COLLAPSED_STATE$1));
|
|
1206
|
-
}
|
|
1207
|
-
ngOnDestroy() {
|
|
1208
|
-
this._ngUnsubscribe.next(undefined);
|
|
1209
|
-
this._ngUnsubscribe.complete();
|
|
1210
|
-
}
|
|
1211
|
-
get hasChildren() {
|
|
1212
|
-
return Array.isArray(this.children) && this.children.length > 0;
|
|
1213
|
-
}
|
|
1214
|
-
toggleChildren() {
|
|
1215
|
-
this.expanded = !this.expanded;
|
|
1216
|
-
}
|
|
1217
|
-
_linkClicked() {
|
|
1218
|
-
// Close nav when link is clicked while in overlay state
|
|
1219
|
-
if (this._sideNav.overlay) {
|
|
1220
|
-
this._sideNav.collapse();
|
|
1221
|
-
}
|
|
1222
|
-
}
|
|
1223
|
-
get showIconBlock() {
|
|
1224
|
-
return notNullOrUndefined(this.icon) || this.hideEmptyIcon !== true;
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
SideNavItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavItemComponent, deps: [{ token: THESEAM_SIDE_NAV_ACCESSOR }], target: i0.ɵɵFactoryTarget.Component });
|
|
1228
|
-
SideNavItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SideNavItemComponent, isStandalone: true, selector: "seam-side-nav-item", inputs: { itemType: "itemType", icon: "icon", hideEmptyIcon: "hideEmptyIcon", label: "label", active: "active", activeNavigatable: "activeNavigatable", link: "link", queryParams: "queryParams", children: "children", hierLevel: "hierLevel", indentSize: "indentSize", expanded: "expanded", compact: "compact", isMobile: "isMobile", badgeText: "badgeText", badgeTheme: "badgeTheme", badgeSrContent: "badgeSrContent", badgeTooltip: "badgeTooltip", menuItemTooltipConfig: "menuItemTooltipConfig", menuItemTooltipDisabled: "menuItemTooltipDisabled" }, host: { properties: { "class.seam-side-nav-item--active": "this._isActiveCssClass", "class.active-clickable": "this._isClickableWhenActiveCssClass", "attr.data-hier-level": "this._attrDataHierLevel" } }, exportAs: ["seamSideNavItem"], ngImport: i0, template: "<div class=\"d-flex flex-row side-nav-item-wrapper\">\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=\"hasChildren\">\n <div class=\"side-nav--group side-nav--group--level-{{ hierLevel + 1 }}\"\n [@childGroupAnim]=\"childGroupAnimState$ | async\">\n <seam-side-nav-item *ngFor=\"let child of children\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [isMobile]=\"isMobile\"\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 [hideEmptyIcon]=\"hideEmptyIcon\"\n [indentSize]=\"indentSize\"\n [menuItemTooltipConfig]=\"menuItemTooltipConfig\"\n [menuItemTooltipDisabled]=\"menuItemTooltipDisabled\"\n [activeNavigatable]=\"$any(child).activeNavigatable\">\n </seam-side-nav-item>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"side-nav-item btn side-nav-btn p-0 d-flex flex-row align-items-stretch rounded-0 text-decoration-none text-nowrap w-100\"\n cdkMonitorElementFocus\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\"\n [class.active-clickable]=\"activeNavigatable\">\n <div class=\"nav-link d-flex flex-row w-100\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" side-nav-item-label style=\"margin-left: 11px;\">\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-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 side-nav-btn side-nav-item--toggle-btn-container rounded-0\">\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <div class=\"d-flex flex-row w-100\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\">\n <a *ngIf=\"link; else noLink\" class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n [state]=\"_linkHistoryState\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n (click)=\"_linkClicked()\"\n [class.active-clickable]=\"activeNavigatable\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-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=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\"\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"side-nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"side-nav-item--title pt-1\" side-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=\"side-nav-item--badge\"\n [class.side-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]=\"isMobile || !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", styles: ["seam-side-nav-item{display:block;transition:.25s ease-in-out background-color}seam-side-nav-item.seam-side-nav-item--active{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .active,seam-side-nav-item.seam-side-nav-item--active:active,seam-side-nav-item.seam-side-nav-item--active .side-nav-item.active:hover{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item.seam-side-nav-item--active .nav-link{color:#fff}seam-side-nav-item.seam-side-nav-item--active .side-nav-btn{color:#fff}seam-side-nav-item .badge{vertical-align:middle}seam-side-nav-item:not(.side-nav-item--icon) .side-nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-side-nav-item .side-nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge{top:-4px;right:-4px;position:absolute}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge.side-nav-item--badge-no-icon{top:0;right:0}seam-side-nav-item .side-nav-item{min-height:45px;transition:.25s ease-in-out background-color}seam-side-nav-item .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item.active:not(.active-clickable){pointer-events:none;cursor:default}seam-side-nav-item .side-nav-item.active:not(.active-clickable) .side-nav-item--badge{pointer-events:none;cursor:default}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]){color:#ccc}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-side-nav-item .nav-link{color:#fff;padding-right:2px}seam-side-nav-item .nav-link__compact{padding-right:0;padding-left:12px}seam-side-nav-item .nav-link:last-child{padding-right:8px}seam-side-nav-item .side-nav-btn{font-weight:400;color:#fff;text-decoration:none}seam-side-nav-item .side-nav-btn:hover{color:#fff;text-decoration:underline}seam-side-nav-item .side-nav-btn:focus,seam-side-nav-item .side-nav-btn.focus{text-decoration:underline;box-shadow:none}seam-side-nav-item .side-nav-btn:disabled,seam-side-nav-item .side-nav-btn.disabled{color:#ccc;pointer-events:none}seam-side-nav-item .side-nav-btn:disabled .side-nav-item--badge,seam-side-nav-item .side-nav-btn.disabled .side-nav-item--badge{pointer-events:none;cursor:default}seam-side-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-side-nav-item .side-nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:.5rem 1rem}seam-side-nav-item button.side-nav-item--toggle-btn-container:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform}seam-side-nav-item .side-nav-item--toggle-btn.side-nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-side-nav-item .side-nav--group{will-change:height;overflow:hidden}seam-side-nav-item .side-nav--group--level-1{background-color:#3276b1}seam-side-nav-item .side-nav--group--level-2{background-color:#2e6ea5}seam-side-nav-item .side-nav--group--level-3{background-color:#2b6699}seam-side-nav-item .side-nav--group--level-4{background-color:#285e8d}seam-side-nav-item .side-nav--group--level-5{background-color:#245681}seam-side-nav-item .side-nav--group--level-6{background-color:#214e75}seam-side-nav-item .side-nav--group--level-7{background-color:#1e4669}seam-side-nav-item .side-nav--group--level-8{background-color:#1a3e5d}seam-side-nav-item .side-nav--group--level-9{background-color:#173651}seam-side-nav-item .side-nav-item--divider{display:block;border-top:1px solid #2a6395;width:100%}seam-side-nav-item .side-nav-item--title{color:#fff;font-size:24px;padding-left:10px}seam-side-nav-item .sr-only{top:0;left:0}\n"], dependencies: [{ kind: "component", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: ["itemType", "icon", "hideEmptyIcon", "label", "active", "activeNavigatable", "link", "queryParams", "children", "hierLevel", "indentSize", "expanded", "compact", "isMobile", "badgeText", "badgeTheme", "badgeSrContent", "badgeTooltip", "menuItemTooltipConfig", "menuItemTooltipDisabled"], exportAs: ["seamSideNavItem"] }, { kind: "ngmodule", type: CommonModule }, { 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: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i2$1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i4$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], animations: [
|
|
1229
|
-
trigger('childGroupAnim', [
|
|
1230
|
-
state(EXPANDED_STATE$1, style({ height: '*' })),
|
|
1231
|
-
state(COLLAPSED_STATE$1, style({ height: 0, visibility: 'hidden' })),
|
|
1232
|
-
transition(`${EXPANDED_STATE$1} <=> ${COLLAPSED_STATE$1}`, animate('0.2s ease-in-out')),
|
|
1233
|
-
]),
|
|
1234
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1235
|
-
__decorate([
|
|
1236
|
-
InputBoolean()
|
|
1237
|
-
], SideNavItemComponent.prototype, "active", void 0);
|
|
1238
|
-
__decorate([
|
|
1239
|
-
InputBoolean()
|
|
1240
|
-
], SideNavItemComponent.prototype, "activeNavigatable", void 0);
|
|
1241
|
-
__decorate([
|
|
1242
|
-
InputNumber(0)
|
|
1243
|
-
], SideNavItemComponent.prototype, "hierLevel", void 0);
|
|
1244
|
-
__decorate([
|
|
1245
|
-
InputNumber(10)
|
|
1246
|
-
], SideNavItemComponent.prototype, "indentSize", void 0);
|
|
1247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavItemComponent, decorators: [{
|
|
1248
|
-
type: Component,
|
|
1249
|
-
args: [{ selector: 'seam-side-nav-item', exportAs: 'seamSideNavItem', animations: [
|
|
1250
|
-
trigger('childGroupAnim', [
|
|
1251
|
-
state(EXPANDED_STATE$1, style({ height: '*' })),
|
|
1252
|
-
state(COLLAPSED_STATE$1, style({ height: 0, visibility: 'hidden' })),
|
|
1253
|
-
transition(`${EXPANDED_STATE$1} <=> ${COLLAPSED_STATE$1}`, animate('0.2s ease-in-out')),
|
|
1254
|
-
]),
|
|
1255
|
-
], imports: [
|
|
1256
|
-
CommonModule,
|
|
1257
|
-
RouterModule,
|
|
1258
|
-
TheSeamIconModule,
|
|
1259
|
-
A11yModule,
|
|
1260
|
-
NgbTooltipModule,
|
|
1261
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"d-flex flex-row side-nav-item-wrapper\">\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=\"hasChildren\">\n <div class=\"side-nav--group side-nav--group--level-{{ hierLevel + 1 }}\"\n [@childGroupAnim]=\"childGroupAnimState$ | async\">\n <seam-side-nav-item *ngFor=\"let child of children\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [isMobile]=\"isMobile\"\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 [hideEmptyIcon]=\"hideEmptyIcon\"\n [indentSize]=\"indentSize\"\n [menuItemTooltipConfig]=\"menuItemTooltipConfig\"\n [menuItemTooltipDisabled]=\"menuItemTooltipDisabled\"\n [activeNavigatable]=\"$any(child).activeNavigatable\">\n </seam-side-nav-item>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"side-nav-item btn side-nav-btn p-0 d-flex flex-row align-items-stretch rounded-0 text-decoration-none text-nowrap w-100\"\n cdkMonitorElementFocus\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\"\n [class.active-clickable]=\"activeNavigatable\">\n <div class=\"nav-link d-flex flex-row w-100\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" side-nav-item-label style=\"margin-left: 11px;\">\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-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 side-nav-btn side-nav-item--toggle-btn-container rounded-0\">\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <div class=\"d-flex flex-row w-100\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\">\n <a *ngIf=\"link; else noLink\" class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n [state]=\"_linkHistoryState\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n (click)=\"_linkClicked()\"\n [class.active-clickable]=\"activeNavigatable\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\" *ngIf=\"showIconBlock\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-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=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [ngbTooltip]=\"label\"\n [tooltipClass]=\"$any(menuItemTooltipConfig)?.class\"\n [placement]=\"$any(menuItemTooltipConfig)?.placement\"\n [container]=\"$any(menuItemTooltipConfig)?.container\"\n [disableTooltip]=\"$any(menuItemTooltipDisabled)\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\"\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"side-nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"side-nav-item--title pt-1\" side-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=\"side-nav-item--badge\"\n [class.side-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]=\"isMobile || !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", styles: ["seam-side-nav-item{display:block;transition:.25s ease-in-out background-color}seam-side-nav-item.seam-side-nav-item--active{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .active,seam-side-nav-item.seam-side-nav-item--active:active,seam-side-nav-item.seam-side-nav-item--active .side-nav-item.active:hover{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item.seam-side-nav-item--active .nav-link{color:#fff}seam-side-nav-item.seam-side-nav-item--active .side-nav-btn{color:#fff}seam-side-nav-item .badge{vertical-align:middle}seam-side-nav-item:not(.side-nav-item--icon) .side-nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-side-nav-item .side-nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge{top:-4px;right:-4px;position:absolute}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge.side-nav-item--badge-no-icon{top:0;right:0}seam-side-nav-item .side-nav-item{min-height:45px;transition:.25s ease-in-out background-color}seam-side-nav-item .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item.active:not(.active-clickable){pointer-events:none;cursor:default}seam-side-nav-item .side-nav-item.active:not(.active-clickable) .side-nav-item--badge{pointer-events:none;cursor:default}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]){color:#ccc}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-side-nav-item .nav-link{color:#fff;padding-right:2px}seam-side-nav-item .nav-link__compact{padding-right:0;padding-left:12px}seam-side-nav-item .nav-link:last-child{padding-right:8px}seam-side-nav-item .side-nav-btn{font-weight:400;color:#fff;text-decoration:none}seam-side-nav-item .side-nav-btn:hover{color:#fff;text-decoration:underline}seam-side-nav-item .side-nav-btn:focus,seam-side-nav-item .side-nav-btn.focus{text-decoration:underline;box-shadow:none}seam-side-nav-item .side-nav-btn:disabled,seam-side-nav-item .side-nav-btn.disabled{color:#ccc;pointer-events:none}seam-side-nav-item .side-nav-btn:disabled .side-nav-item--badge,seam-side-nav-item .side-nav-btn.disabled .side-nav-item--badge{pointer-events:none;cursor:default}seam-side-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-side-nav-item .side-nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:.5rem 1rem}seam-side-nav-item button.side-nav-item--toggle-btn-container:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform}seam-side-nav-item .side-nav-item--toggle-btn.side-nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-side-nav-item .side-nav--group{will-change:height;overflow:hidden}seam-side-nav-item .side-nav--group--level-1{background-color:#3276b1}seam-side-nav-item .side-nav--group--level-2{background-color:#2e6ea5}seam-side-nav-item .side-nav--group--level-3{background-color:#2b6699}seam-side-nav-item .side-nav--group--level-4{background-color:#285e8d}seam-side-nav-item .side-nav--group--level-5{background-color:#245681}seam-side-nav-item .side-nav--group--level-6{background-color:#214e75}seam-side-nav-item .side-nav--group--level-7{background-color:#1e4669}seam-side-nav-item .side-nav--group--level-8{background-color:#1a3e5d}seam-side-nav-item .side-nav--group--level-9{background-color:#173651}seam-side-nav-item .side-nav-item--divider{display:block;border-top:1px solid #2a6395;width:100%}seam-side-nav-item .side-nav-item--title{color:#fff;font-size:24px;padding-left:10px}seam-side-nav-item .sr-only{top:0;left:0}\n"] }]
|
|
1262
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1263
|
-
type: Inject,
|
|
1264
|
-
args: [THESEAM_SIDE_NAV_ACCESSOR]
|
|
1265
|
-
}] }]; }, propDecorators: { itemType: [{
|
|
1266
|
-
type: Input
|
|
1267
|
-
}], icon: [{
|
|
1268
|
-
type: Input
|
|
1269
|
-
}], hideEmptyIcon: [{
|
|
1270
|
-
type: Input
|
|
1271
|
-
}], label: [{
|
|
1272
|
-
type: Input
|
|
1273
|
-
}], active: [{
|
|
1274
|
-
type: Input
|
|
1275
|
-
}], activeNavigatable: [{
|
|
1276
|
-
type: Input
|
|
1277
|
-
}], link: [{
|
|
1278
|
-
type: Input
|
|
1279
|
-
}], queryParams: [{
|
|
1280
|
-
type: Input
|
|
1281
|
-
}], children: [{
|
|
1282
|
-
type: Input
|
|
1283
|
-
}], hierLevel: [{
|
|
1284
|
-
type: Input
|
|
1285
|
-
}], indentSize: [{
|
|
1286
|
-
type: Input
|
|
1287
|
-
}], expanded: [{
|
|
1288
|
-
type: Input
|
|
1289
|
-
}], compact: [{
|
|
1290
|
-
type: Input
|
|
1291
|
-
}], isMobile: [{
|
|
1292
|
-
type: Input
|
|
1293
|
-
}], badgeText: [{
|
|
1294
|
-
type: Input
|
|
1295
|
-
}], badgeTheme: [{
|
|
1296
|
-
type: Input
|
|
1297
|
-
}], badgeSrContent: [{
|
|
1298
|
-
type: Input
|
|
1299
|
-
}], badgeTooltip: [{
|
|
1300
|
-
type: Input
|
|
1301
|
-
}], menuItemTooltipConfig: [{
|
|
1302
|
-
type: Input
|
|
1303
|
-
}], menuItemTooltipDisabled: [{
|
|
1304
|
-
type: Input
|
|
1305
|
-
}], _isActiveCssClass: [{
|
|
1306
|
-
type: HostBinding,
|
|
1307
|
-
args: ['class.seam-side-nav-item--active']
|
|
1308
|
-
}], _isClickableWhenActiveCssClass: [{
|
|
1309
|
-
type: HostBinding,
|
|
1310
|
-
args: ['class.active-clickable']
|
|
1311
|
-
}], _attrDataHierLevel: [{
|
|
1312
|
-
type: HostBinding,
|
|
1313
|
-
args: ['attr.data-hier-level']
|
|
1314
|
-
}] } });
|
|
1315
|
-
|
|
1316
|
-
class SideNavToggleComponent {
|
|
1317
|
-
constructor() {
|
|
1318
|
-
this.expanded = false;
|
|
1319
|
-
this.toggleExpand = new EventEmitter();
|
|
1320
|
-
}
|
|
1321
|
-
toggle() {
|
|
1322
|
-
this.toggleExpand.emit();
|
|
1323
|
-
}
|
|
1324
|
-
}
|
|
1325
|
-
SideNavToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1326
|
-
SideNavToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SideNavToggleComponent, isStandalone: true, selector: "seam-side-nav-toggle", inputs: { expanded: "expanded", toggleIcon: "toggleIcon", toggleTpl: "toggleTpl" }, outputs: { toggleExpand: "toggleExpand" }, host: { properties: { "class.side-nav-toggle--compact": "!expanded" } }, ngImport: i0, template: "<div class=\"side-nav-toggle--content\">\n <ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"toggleTpl; else iconBtn\">\n <button\n class=\"side-nav-toggle--btn mx-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n <ng-container *ngTemplateOutlet=\"toggleTpl\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #iconBtn>\n <button seamIconBtn [icon]=\"toggleIcon\"\n iconType=\"borderless-styled-square\"\n btnSize=\"sm\"\n class=\"side-nav-toggle--btn mx-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n </button>\n</ng-template>\n", styles: ["seam-side-nav-toggle{display:flex;flex-direction:row;flex-shrink:0;align-items:center;background:#357ebd;position:relative;height:45px;width:100%}seam-side-nav-toggle .side-nav-toggle--content{flex:1 1 0}seam-side-nav-toggle .side-nav-toggle--btn{color:#fff}seam-side-nav-toggle .side-nav-toggle--btn seam-icon{padding:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i2$1.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1327
|
-
__decorate([
|
|
1328
|
-
InputBoolean()
|
|
1329
|
-
], SideNavToggleComponent.prototype, "expanded", void 0);
|
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavToggleComponent, decorators: [{
|
|
1331
|
-
type: Component,
|
|
1332
|
-
args: [{ selector: 'seam-side-nav-toggle', host: {
|
|
1333
|
-
'[class.side-nav-toggle--compact]': '!expanded'
|
|
1334
|
-
}, imports: [
|
|
1335
|
-
CommonModule,
|
|
1336
|
-
TheSeamIconModule,
|
|
1337
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"side-nav-toggle--content\">\n <ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"toggleTpl; else iconBtn\">\n <button\n class=\"side-nav-toggle--btn mx-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n <ng-container *ngTemplateOutlet=\"toggleTpl\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #iconBtn>\n <button seamIconBtn [icon]=\"toggleIcon\"\n iconType=\"borderless-styled-square\"\n btnSize=\"sm\"\n class=\"side-nav-toggle--btn mx-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n </button>\n</ng-template>\n", styles: ["seam-side-nav-toggle{display:flex;flex-direction:row;flex-shrink:0;align-items:center;background:#357ebd;position:relative;height:45px;width:100%}seam-side-nav-toggle .side-nav-toggle--content{flex:1 1 0}seam-side-nav-toggle .side-nav-toggle--btn{color:#fff}seam-side-nav-toggle .side-nav-toggle--btn seam-icon{padding:5px}\n"] }]
|
|
1338
|
-
}], propDecorators: { expanded: [{
|
|
1339
|
-
type: Input
|
|
1340
|
-
}], toggleIcon: [{
|
|
1341
|
-
type: Input
|
|
1342
|
-
}], toggleTpl: [{
|
|
1343
|
-
type: Input
|
|
1344
|
-
}], toggleExpand: [{
|
|
1345
|
-
type: Output
|
|
1346
|
-
}] } });
|
|
1347
|
-
|
|
1348
|
-
function isNavItemType(item, type) {
|
|
1349
|
-
return item.itemType === type;
|
|
1350
|
-
}
|
|
1351
|
-
function isNavItemActive(item) {
|
|
1352
|
-
return item.__state?.active ?? false;
|
|
1353
|
-
}
|
|
1354
|
-
function isExpanded(item) {
|
|
1355
|
-
return item.__state?.expanded ?? false;
|
|
1356
|
-
}
|
|
1357
|
-
function hasChildren(item) {
|
|
1358
|
-
return canHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0;
|
|
1359
|
-
}
|
|
1360
|
-
function canHaveChildren(item) {
|
|
1361
|
-
return isNavItemType(item, 'basic') || isNavItemType(item, 'link');
|
|
1362
|
-
}
|
|
1363
|
-
function hasActiveChild(item) {
|
|
1364
|
-
if (!hasChildren(item)) {
|
|
1365
|
-
return false;
|
|
1366
|
-
}
|
|
1367
|
-
for (const child of item.children) {
|
|
1368
|
-
if (getItemStateProp(child, 'active')) {
|
|
1369
|
-
return true;
|
|
1370
|
-
}
|
|
1371
|
-
}
|
|
1372
|
-
return false;
|
|
1373
|
-
}
|
|
1374
|
-
function hasExpandedChild(item) {
|
|
1375
|
-
if (!hasChildren(item)) {
|
|
1376
|
-
return false;
|
|
1377
|
-
}
|
|
1378
|
-
for (const child of item.children) {
|
|
1379
|
-
if (getItemStateProp(child, 'expanded')) {
|
|
1380
|
-
return true;
|
|
1381
|
-
}
|
|
1382
|
-
}
|
|
1383
|
-
return false;
|
|
1384
|
-
}
|
|
1385
|
-
function canBeActive(item) {
|
|
1386
|
-
return isNavItemType(item, 'button') || isNavItemType(item, 'link');
|
|
1387
|
-
}
|
|
1388
|
-
function canExpand(item) {
|
|
1389
|
-
return canHaveChildren(item);
|
|
1390
|
-
}
|
|
1391
|
-
function findLinkItems(items) {
|
|
1392
|
-
const linkItems = [];
|
|
1393
|
-
const _fn = (_items) => {
|
|
1394
|
-
for (const item of _items) {
|
|
1395
|
-
if (isNavItemType(item, 'link')) {
|
|
1396
|
-
linkItems.push(item);
|
|
1397
|
-
}
|
|
1398
|
-
if (canHaveChildren(item) && hasProperty(item, 'children')) {
|
|
1399
|
-
_fn(item.children);
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
|
-
};
|
|
1403
|
-
_fn(items);
|
|
1404
|
-
return linkItems;
|
|
1405
|
-
}
|
|
1406
|
-
function setItemStateProp(item, prop, value) {
|
|
1407
|
-
if (hasProperty(item, '__state')) {
|
|
1408
|
-
item.__state[prop] = value;
|
|
1409
|
-
}
|
|
1410
|
-
}
|
|
1411
|
-
function getItemStateProp(item, prop) {
|
|
1412
|
-
return setDefaultState(item).__state[prop];
|
|
1413
|
-
}
|
|
1414
|
-
function setDefaultState(item) {
|
|
1415
|
-
if (hasProperty(item, '__state')) {
|
|
1416
|
-
return item;
|
|
1417
|
-
}
|
|
1418
|
-
item.__state = {
|
|
1419
|
-
active: false,
|
|
1420
|
-
expanded: false
|
|
1421
|
-
};
|
|
1422
|
-
// TODO: See if there is a nice way to fix the typing for this.
|
|
1423
|
-
return item;
|
|
1424
|
-
}
|
|
1425
|
-
function applyItemConfig(item, config) {
|
|
1426
|
-
if (canBeActive(item)) {
|
|
1427
|
-
if (!hasProperty(item, 'activeNavigatable') && hasProperty(config, 'activeNavigatable')) {
|
|
1428
|
-
item.activeNavigatable = config.activeNavigatable;
|
|
1429
|
-
}
|
|
1430
|
-
}
|
|
1431
|
-
if (hasChildren(item)) {
|
|
1432
|
-
item.children = item.children.map(child => applyItemConfig(child, config));
|
|
1433
|
-
}
|
|
1434
|
-
return item;
|
|
1435
|
-
}
|
|
1436
|
-
|
|
1437
|
-
class TheSeamSideNavService {
|
|
1438
|
-
constructor(_router) {
|
|
1439
|
-
this._router = _router;
|
|
1440
|
-
this._updatingCount = new BehaviorSubject(0);
|
|
1441
|
-
this.itemChanged = new Subject();
|
|
1442
|
-
this.loading$ = this._updatingCount.pipe(map(count => count > 0), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
1443
|
-
}
|
|
1444
|
-
createItemsObservable(items) {
|
|
1445
|
-
return defer(() => {
|
|
1446
|
-
this.updateItemsStates(items);
|
|
1447
|
-
return new Observable((subscriber) => {
|
|
1448
|
-
const stateChangeSub = this.itemChanged.pipe(switchMap(() => this.loading$.pipe(filter(loading => !loading)))).subscribe(() => {
|
|
1449
|
-
subscriber.next(items);
|
|
1450
|
-
});
|
|
1451
|
-
try {
|
|
1452
|
-
this.updateItemsStates(items);
|
|
1453
|
-
}
|
|
1454
|
-
catch (err) {
|
|
1455
|
-
subscriber.error(err);
|
|
1456
|
-
}
|
|
1457
|
-
// const linkItems = findLinkItems(items)
|
|
1458
|
-
const routeChangeSub = this._router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
|
|
1459
|
-
try {
|
|
1460
|
-
this.updateItemsStates(items);
|
|
1461
|
-
}
|
|
1462
|
-
catch (err) {
|
|
1463
|
-
subscriber.error(err);
|
|
1464
|
-
}
|
|
1465
|
-
});
|
|
1466
|
-
return () => {
|
|
1467
|
-
stateChangeSub.unsubscribe();
|
|
1468
|
-
routeChangeSub.unsubscribe();
|
|
1469
|
-
};
|
|
1470
|
-
}).pipe(startWith(items));
|
|
1471
|
-
});
|
|
1472
|
-
}
|
|
1473
|
-
_incUpdatingCount() {
|
|
1474
|
-
this._updatingCount.next(this._updatingCount.value + 1);
|
|
1475
|
-
}
|
|
1476
|
-
_decrUpdatingCount() {
|
|
1477
|
-
this._updatingCount.next(this._updatingCount.value - 1);
|
|
1478
|
-
}
|
|
1479
|
-
updateItemsStates(items) {
|
|
1480
|
-
this._incUpdatingCount();
|
|
1481
|
-
try {
|
|
1482
|
-
for (const item of items) {
|
|
1483
|
-
if (hasChildren(item)) {
|
|
1484
|
-
this.updateItemsStates(item.children);
|
|
1485
|
-
}
|
|
1486
|
-
this.updateItemState(item);
|
|
1487
|
-
}
|
|
1488
|
-
this._decrUpdatingCount();
|
|
1489
|
-
}
|
|
1490
|
-
catch (err) {
|
|
1491
|
-
this._decrUpdatingCount();
|
|
1492
|
-
throw err;
|
|
1493
|
-
}
|
|
1494
|
-
}
|
|
1495
|
-
updateItemState(item) {
|
|
1496
|
-
this._incUpdatingCount();
|
|
1497
|
-
try {
|
|
1498
|
-
setDefaultState(item);
|
|
1499
|
-
if (isNavItemType(item, 'link')) {
|
|
1500
|
-
const url = this._getUrl(item);
|
|
1501
|
-
if (notNullOrUndefined(url)) {
|
|
1502
|
-
const opts = this._getMatchOptions(item);
|
|
1503
|
-
this.setItemStateProp(item, 'active', this._router.isActive(url, opts));
|
|
1504
|
-
}
|
|
1505
|
-
}
|
|
1506
|
-
// TODO: Implement this in a more optimized way. Unless our apps start
|
|
1507
|
-
// having large side-navs constantly updating their state, this shouldn't
|
|
1508
|
-
// have much impact on performance.
|
|
1509
|
-
this._updateItemExpandedState(item);
|
|
1510
|
-
this._decrUpdatingCount();
|
|
1511
|
-
}
|
|
1512
|
-
catch (err) {
|
|
1513
|
-
this._decrUpdatingCount();
|
|
1514
|
-
throw err;
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
_updateItemsExpandedState(items) {
|
|
1518
|
-
for (const item of items) {
|
|
1519
|
-
if (hasChildren(item)) {
|
|
1520
|
-
this._updateItemsExpandedState(item.children);
|
|
1521
|
-
}
|
|
1522
|
-
this._updateItemExpandedState(item);
|
|
1523
|
-
}
|
|
1524
|
-
}
|
|
1525
|
-
_updateItemExpandedState(item) {
|
|
1526
|
-
if (!canExpand(item)) {
|
|
1527
|
-
if (getItemStateProp(item, 'expanded')) {
|
|
1528
|
-
this.setItemStateProp(item, 'expanded', false);
|
|
1529
|
-
}
|
|
1530
|
-
return;
|
|
1531
|
-
}
|
|
1532
|
-
if (hasChildren(item)) {
|
|
1533
|
-
this._updateItemsExpandedState(item.children);
|
|
1534
|
-
}
|
|
1535
|
-
if (hasActiveChild(item) || hasExpandedChild(item)) {
|
|
1536
|
-
if (!getItemStateProp(item, 'expanded')) {
|
|
1537
|
-
this.setItemStateProp(item, 'expanded', true);
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
|
-
else {
|
|
1541
|
-
if (getItemStateProp(item, 'expanded')) {
|
|
1542
|
-
this.setItemStateProp(item, 'expanded', false);
|
|
1543
|
-
}
|
|
1544
|
-
}
|
|
1545
|
-
}
|
|
1546
|
-
_getNavExtras(item) {
|
|
1547
|
-
const navigationExtras = {};
|
|
1548
|
-
if (hasProperty(item, 'queryParams')) {
|
|
1549
|
-
navigationExtras.queryParams = item.queryParams;
|
|
1550
|
-
}
|
|
1551
|
-
if (hasProperty(item, 'fragment')) {
|
|
1552
|
-
navigationExtras.fragment = item.fragment;
|
|
1553
|
-
}
|
|
1554
|
-
if (hasProperty(item, 'queryParamsHandling')) {
|
|
1555
|
-
navigationExtras.queryParamsHandling = item.queryParamsHandling;
|
|
1556
|
-
}
|
|
1557
|
-
if (hasProperty(item, 'preserveFragment')) {
|
|
1558
|
-
navigationExtras.preserveFragment = item.preserveFragment;
|
|
1559
|
-
}
|
|
1560
|
-
return navigationExtras;
|
|
1561
|
-
}
|
|
1562
|
-
_getUrl(item) {
|
|
1563
|
-
const link = item.link;
|
|
1564
|
-
if (typeof link === 'string') {
|
|
1565
|
-
return this._router.createUrlTree([link], this._getNavExtras(item)).toString();
|
|
1566
|
-
}
|
|
1567
|
-
else if (Array.isArray(link)) {
|
|
1568
|
-
return this._router.createUrlTree(link, this._getNavExtras(item)).toString();
|
|
1569
|
-
}
|
|
1570
|
-
return null;
|
|
1571
|
-
}
|
|
1572
|
-
_getMatchOptions(item) {
|
|
1573
|
-
const defaultMatchOpts = {
|
|
1574
|
-
paths: 'subset',
|
|
1575
|
-
queryParams: 'subset',
|
|
1576
|
-
fragment: 'ignored',
|
|
1577
|
-
matrixParams: 'ignored'
|
|
1578
|
-
};
|
|
1579
|
-
if (hasProperty(item, 'matchOptions')) {
|
|
1580
|
-
return {
|
|
1581
|
-
...defaultMatchOpts,
|
|
1582
|
-
...item.matchOptions
|
|
1583
|
-
};
|
|
1584
|
-
}
|
|
1585
|
-
return defaultMatchOpts;
|
|
1586
|
-
}
|
|
1587
|
-
setItemStateProp(item, prop, value) {
|
|
1588
|
-
const currentValue = getItemStateProp(item, prop);
|
|
1589
|
-
if (currentValue !== value) {
|
|
1590
|
-
setItemStateProp(item, prop, value);
|
|
1591
|
-
const changed = {
|
|
1592
|
-
item,
|
|
1593
|
-
prop,
|
|
1594
|
-
prevValue: currentValue,
|
|
1595
|
-
newValue: value
|
|
1596
|
-
};
|
|
1597
|
-
this.itemChanged.next(changed);
|
|
1598
|
-
}
|
|
1599
|
-
}
|
|
1600
|
-
}
|
|
1601
|
-
TheSeamSideNavService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1602
|
-
TheSeamSideNavService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavService });
|
|
1603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavService, decorators: [{
|
|
1604
|
-
type: Injectable
|
|
1605
|
-
}], ctorParameters: function () { return [{ type: i1$2.Router }]; } });
|
|
1606
|
-
|
|
1607
|
-
const EXPANDED_STATE = 'expanded';
|
|
1608
|
-
const COLLAPSED_STATE = 'collapsed';
|
|
1609
|
-
const EXPANDED_OVERLAY_STATE = 'expanded-overlay';
|
|
1610
|
-
const COLLAPSED_OVERLAY_STATE = 'collapsed-overlay';
|
|
1611
|
-
const EXPANDED_STATES = [EXPANDED_STATE, EXPANDED_OVERLAY_STATE];
|
|
1612
|
-
const COLLAPSED_STATES = [COLLAPSED_STATE, COLLAPSED_OVERLAY_STATE];
|
|
1613
|
-
const EXPAND_STATES = [...EXPANDED_STATES, ...COLLAPSED_STATES];
|
|
1614
|
-
function sideNavExpandStateChangeFn(fromState, toState) {
|
|
1615
|
-
// console.log({ fromState, toState })
|
|
1616
|
-
return fromState !== toState &&
|
|
1617
|
-
(
|
|
1618
|
-
// NOTE: The current way the side nav is being used it causes the
|
|
1619
|
-
// component to sometimes get placed in the wrong location initially. It
|
|
1620
|
-
// is fast enough to not be noticed without an initial animation usually,
|
|
1621
|
-
// so it is commented out below until the initial placement issue it
|
|
1622
|
-
// fixed.
|
|
1623
|
-
//
|
|
1624
|
-
// (
|
|
1625
|
-
// fromState === 'void' && EXPAND_STATES.indexOf(toState) !== -1
|
|
1626
|
-
// ||
|
|
1627
|
-
// toState === 'void' && EXPAND_STATES.indexOf(fromState) !== -1
|
|
1628
|
-
// )
|
|
1629
|
-
// ||
|
|
1630
|
-
((EXPANDED_STATES.indexOf(fromState) !== -1 && COLLAPSED_STATES.indexOf(toState) !== -1) ||
|
|
1631
|
-
(EXPANDED_STATES.indexOf(toState) !== -1 && COLLAPSED_STATES.indexOf(fromState) !== -1)));
|
|
1632
|
-
}
|
|
1633
|
-
class SideNavComponent {
|
|
1634
|
-
get items() { return this._items.value; }
|
|
1635
|
-
set items(value) { this._items.next(value); }
|
|
1636
|
-
get expanded() { return this._expanded.value; }
|
|
1637
|
-
set expanded(value) {
|
|
1638
|
-
const expanded = coerceBooleanProperty(value);
|
|
1639
|
-
const emit = expanded !== this.expanded;
|
|
1640
|
-
this._expanded.next(expanded);
|
|
1641
|
-
if (emit) {
|
|
1642
|
-
this.toggleExpand.emit(coerceBooleanProperty(value));
|
|
1643
|
-
}
|
|
1644
|
-
}
|
|
1645
|
-
get overlay() { return this._overlay.value; }
|
|
1646
|
-
set overlay(value) { this._overlay.next(coerceBooleanProperty(value)); }
|
|
1647
|
-
get menuItemTooltipConfig() { return this._menuItemTooltipConfig; }
|
|
1648
|
-
set menuItemTooltipConfig(value) {
|
|
1649
|
-
this._menuItemTooltipConfig = {
|
|
1650
|
-
class: value?.class,
|
|
1651
|
-
placement: value?.placement || this._menuItemTooltipConfig.placement,
|
|
1652
|
-
container: value?.container || this._menuItemTooltipConfig.container,
|
|
1653
|
-
behavior: value?.behavior || this._menuItemTooltipConfig.behavior
|
|
1654
|
-
};
|
|
1655
|
-
}
|
|
1656
|
-
constructor(_viewContainerRef, _layout, _sideNav, _config, _baseLayoutRef) {
|
|
1657
|
-
this._viewContainerRef = _viewContainerRef;
|
|
1658
|
-
this._layout = _layout;
|
|
1659
|
-
this._sideNav = _sideNav;
|
|
1660
|
-
this._config = _config;
|
|
1661
|
-
this._baseLayoutRef = _baseLayoutRef;
|
|
1662
|
-
this._ngUnsubscribe = new Subject();
|
|
1663
|
-
this.faBars = faBars;
|
|
1664
|
-
// @HostBinding('@sideNavExpand') _sideNavExpand = EXPANDED_STATE
|
|
1665
|
-
// _sideNavExpand = EXPANDED_STATE
|
|
1666
|
-
// @HostBinding('@sideNavAnim') _sideNavExpand = EXPANDED_STATE
|
|
1667
|
-
this._sideNavExpand = 'initial';
|
|
1668
|
-
this.hasHeaderToggle = true;
|
|
1669
|
-
this.toggleIcon = faBars;
|
|
1670
|
-
this._items = new BehaviorSubject([]);
|
|
1671
|
-
this.indentSize = 10;
|
|
1672
|
-
this._expanded = new BehaviorSubject(true);
|
|
1673
|
-
this.expanded$ = this._expanded.asObservable();
|
|
1674
|
-
this.expandOrigin = 'left';
|
|
1675
|
-
this.expandHeight = '100%';
|
|
1676
|
-
this.expandWidth = 'calc(100vw - 50px)';
|
|
1677
|
-
this._overlay = new BehaviorSubject(false);
|
|
1678
|
-
this.overlay$ = this._overlay.asObservable();
|
|
1679
|
-
this._menuItemTooltipConfig = {
|
|
1680
|
-
placement: 'right',
|
|
1681
|
-
container: 'body',
|
|
1682
|
-
behavior: 'always'
|
|
1683
|
-
};
|
|
1684
|
-
this.toggleExpand = new EventEmitter();
|
|
1685
|
-
this._backdropHidden = new BehaviorSubject(true);
|
|
1686
|
-
const config = {
|
|
1687
|
-
...DEFAULT_SIDE_NAV_CONFIG,
|
|
1688
|
-
...(this._config || {}),
|
|
1689
|
-
};
|
|
1690
|
-
this.items$ = this._items.asObservable().pipe(map(items => (items && config) ? items.map(itm => applyItemConfig(itm, config)) : []), switchMap(items => items ? this._sideNav.createItemsObservable(items) : []), shareReplay({ bufferSize: 1, refCount: true }));
|
|
1691
|
-
this.isMobile$ = this._layout.isMobile$.pipe(tap(isMobile => isMobile ? this.collapse() : this.expand()));
|
|
1692
|
-
this.sideNavExpandedState$ = combineLatest([this.expanded$, this.overlay$]).pipe(map(([expanded, overlay]) => expanded
|
|
1693
|
-
? overlay ? EXPANDED_OVERLAY_STATE : EXPANDED_STATE
|
|
1694
|
-
: overlay ? COLLAPSED_OVERLAY_STATE : COLLAPSED_STATE), distinctUntilChanged());
|
|
1695
|
-
this.menuItemTooltipDisabled$ = combineLatest([this.expanded$, this.overlay$]).pipe(map(([expanded, overlay]) => {
|
|
1696
|
-
// never display tooltip on mobile, it breaks the layout
|
|
1697
|
-
if (overlay) {
|
|
1698
|
-
return true;
|
|
1699
|
-
}
|
|
1700
|
-
return this.menuItemTooltipConfig?.behavior === 'always' ? false
|
|
1701
|
-
: this.menuItemTooltipConfig?.behavior === 'never' ? true
|
|
1702
|
-
: this.menuItemTooltipConfig?.behavior === 'collapseOnly' ? expanded : true;
|
|
1703
|
-
}), distinctUntilChanged());
|
|
1704
|
-
}
|
|
1705
|
-
ngOnInit() {
|
|
1706
|
-
if (this._baseLayoutRef) {
|
|
1707
|
-
this._baseLayoutRef.registerNav(this);
|
|
1708
|
-
}
|
|
1709
|
-
this.isMobile$
|
|
1710
|
-
.pipe(takeUntil(this._ngUnsubscribe))
|
|
1711
|
-
.subscribe(b => this.overlay = b);
|
|
1712
|
-
this.sideNavExpandedState$
|
|
1713
|
-
.pipe(takeUntil(this._ngUnsubscribe))
|
|
1714
|
-
.subscribe(v => this._sideNavExpand = v);
|
|
1715
|
-
if (this._sideBarHeaderTpl) {
|
|
1716
|
-
this._sideBarHeaderPortal = new TemplatePortal(this._sideBarHeaderTpl, this._viewContainerRef);
|
|
1717
|
-
}
|
|
1718
|
-
if (this._sideBarFooterTpl) {
|
|
1719
|
-
this._sideBarFooterPortal = new TemplatePortal(this._sideBarFooterTpl, this._viewContainerRef);
|
|
1720
|
-
}
|
|
1721
|
-
}
|
|
1722
|
-
ngOnDestroy() {
|
|
1723
|
-
this._ngUnsubscribe.next(undefined);
|
|
1724
|
-
this._ngUnsubscribe.complete();
|
|
1725
|
-
if (this._baseLayoutRef) {
|
|
1726
|
-
this._baseLayoutRef.unregisterNav(this);
|
|
1727
|
-
}
|
|
1728
|
-
}
|
|
1729
|
-
expand() {
|
|
1730
|
-
this.expanded = true;
|
|
1731
|
-
}
|
|
1732
|
-
collapse() {
|
|
1733
|
-
this.expanded = false;
|
|
1734
|
-
}
|
|
1735
|
-
toggle() {
|
|
1736
|
-
this.expanded = !this.expanded;
|
|
1737
|
-
}
|
|
1738
|
-
animateStart() {
|
|
1739
|
-
if (this.expanded) {
|
|
1740
|
-
this._backdropHidden.next(false);
|
|
1741
|
-
}
|
|
1742
|
-
}
|
|
1743
|
-
animateEnd() {
|
|
1744
|
-
if (!this.expanded) {
|
|
1745
|
-
this._backdropHidden.next(true);
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1748
|
-
get expandOriginTransform() {
|
|
1749
|
-
switch (this.expandOrigin) {
|
|
1750
|
-
case 'right':
|
|
1751
|
-
return this._sideNavExpand === EXPANDED_OVERLAY_STATE ? 'translateX(100vw) translateX(-100%)'
|
|
1752
|
-
: this._sideNavExpand === COLLAPSED_OVERLAY_STATE ? 'translateX(100vw)' : null;
|
|
1753
|
-
case 'top':
|
|
1754
|
-
return this._sideNavExpand === EXPANDED_OVERLAY_STATE ? 'translateY(0)'
|
|
1755
|
-
: this._sideNavExpand === COLLAPSED_OVERLAY_STATE ? 'translateY(-100%)' : null;
|
|
1756
|
-
case 'bottom':
|
|
1757
|
-
return this._sideNavExpand === EXPANDED_OVERLAY_STATE ? 'translateY(100vh) translateY(-100%)'
|
|
1758
|
-
: this._sideNavExpand === COLLAPSED_OVERLAY_STATE ? 'translateY(100vh)' : null;
|
|
1759
|
-
case 'left':
|
|
1760
|
-
default:
|
|
1761
|
-
return this._sideNavExpand === EXPANDED_OVERLAY_STATE ? 'translateX(0)'
|
|
1762
|
-
: this._sideNavExpand === COLLAPSED_OVERLAY_STATE ? 'translateX(-100%)' : null;
|
|
1763
|
-
}
|
|
1764
|
-
}
|
|
1765
|
-
}
|
|
1766
|
-
SideNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TheSeamLayoutService }, { token: TheSeamSideNavService }, { token: THESEAM_SIDE_NAV_CONFIG, optional: true }, { token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1767
|
-
SideNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SideNavComponent, isStandalone: true, selector: "seam-side-nav", inputs: { hasHeaderToggle: "hasHeaderToggle", toggleIcon: "toggleIcon", toggleTpl: "toggleTpl", items: "items", hideEmptyIcon: "hideEmptyIcon", indentSize: "indentSize", expanded: "expanded", expandOrigin: "expandOrigin", expandHeight: "expandHeight", expandWidth: "expandWidth", overlay: "overlay", menuItemTooltipConfig: "menuItemTooltipConfig" }, outputs: { toggleExpand: "toggleExpand" }, host: { properties: { "@sideNavAnim": "this._sideNavExpand" } }, providers: [
|
|
1768
|
-
TheSeamSideNavService,
|
|
1769
|
-
{
|
|
1770
|
-
provide: THESEAM_SIDE_NAV_ACCESSOR,
|
|
1771
|
-
useExisting: SideNavComponent
|
|
1772
|
-
},
|
|
1773
|
-
], queries: [{ propertyName: "_sideBarHeaderTpl", first: true, predicate: BaseLayoutSideBarHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_sideBarFooterTpl", first: true, predicate: BaseLayoutSideBarFooterDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\r\n [@sideNavBackdrop]=\"_sideNavExpand\"\r\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"\r\n (click)=\"collapse()\"></div>\r\n\r\n<div\r\n class=\"side-nav-inner-wrapper\"\r\n [@sideNavExpand]=\"{\r\n value: _sideNavExpand,\r\n params: {\r\n origin: expandOriginTransform,\r\n height: expandHeight,\r\n width: expandWidth\r\n }\r\n }\"\r\n (@sideNavExpand.start)=\"animateStart()\"\r\n (@sideNavExpand.done)=\"animateEnd()\">\r\n <nav class=\"nav side-nav-content\">\r\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\r\n [toggleIcon]=\"toggleIcon\"\r\n [toggleTpl]=\"toggleTpl\"\r\n [expanded]=\"expanded$ | async\"\r\n (toggleExpand)=\"toggle()\">\r\n <ng-template [cdkPortalOutlet]=\"_sideBarHeaderPortal\"></ng-template>\r\n </seam-side-nav-toggle>\r\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\r\n <div class=\"side-nav--group side-nav--group--level-0\">\r\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\r\n [compact]=\"!(expanded$ | async)\"\r\n [isMobile]=\"isMobile$ | async\"\r\n [itemType]=\"$any(item)?.itemType\"\r\n [icon]=\"$any(item)?.icon\"\r\n [label]=\"$any(item)?.label\"\r\n [link]=\"$any(item)?.link\"\r\n [badgeText]=\"$any(item)?.badge?.text\"\r\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\r\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\r\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\r\n [queryParams]=\"$any(item)?.queryParams\"\r\n [children]=\"$any(item)?.children\"\r\n [active]=\"$any(item).__state?.active\"\r\n [expanded]=\"$any(item).__state?.expanded\"\r\n [hideEmptyIcon]=\"hideEmptyIcon\"\r\n [indentSize]=\"indentSize\"\r\n [menuItemTooltipConfig]=\"menuItemTooltipConfig\"\r\n [menuItemTooltipDisabled]=\"menuItemTooltipDisabled$ | async\">\r\n [activeNavigatable]=\"$any(item).activeNavigatable\">\r\n </seam-side-nav-item>\r\n </div>\r\n </div>\r\n <ng-template [cdkPortalOutlet]=\"_sideBarFooterPortal\"></ng-template>\r\n </nav>\r\n</div>\r\n", styles: ["seam-side-nav,.seam-side-nav{display:block;height:100%;position:relative;z-index:2;overflow:hidden}seam-side-nav .side-nav-inner-wrapper,.seam-side-nav .side-nav-inner-wrapper{background:#357ebd;height:100%}seam-side-nav .side-nav-backdrop,.seam-side-nav .side-nav-backdrop{background:rgba(52,58,64,.6);width:100vw;height:100vh}seam-side-nav .side-nav-backdrop.side-nav-backdrop-hidden,.seam-side-nav .side-nav-backdrop.side-nav-backdrop-hidden{display:none;width:0;height:0;padding:0;margin:0}seam-side-nav .side-nav-content,.seam-side-nav .side-nav-content{display:flex;flex-direction:column;height:100%;flex-wrap:nowrap}seam-side-nav .side-nav-items-container,.seam-side-nav .side-nav-items-container{display:flex;flex-direction:column;width:100%;flex:1 1 100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: TheSeamScrollbarModule }, { kind: "directive", type: i4.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "ngmodule", type: TheSeamLayoutModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: ["itemType", "icon", "hideEmptyIcon", "label", "active", "activeNavigatable", "link", "queryParams", "children", "hierLevel", "indentSize", "expanded", "compact", "isMobile", "badgeText", "badgeTheme", "badgeSrContent", "badgeTooltip", "menuItemTooltipConfig", "menuItemTooltipDisabled"], exportAs: ["seamSideNavItem"] }, { kind: "component", type: SideNavToggleComponent, selector: "seam-side-nav-toggle", inputs: ["expanded", "toggleIcon", "toggleTpl"], outputs: ["toggleExpand"] }], animations: [
|
|
1774
|
-
//
|
|
1775
|
-
// TODO: This animation code turned into a mess. Clean it up and make it
|
|
1776
|
-
// more smooth.
|
|
1777
|
-
//
|
|
1778
|
-
trigger('sideNavAnim', [
|
|
1779
|
-
transition(sideNavExpandStateChangeFn, [
|
|
1780
|
-
group([
|
|
1781
|
-
query('@sideNavBackdrop', animateChild(), { optional: true }),
|
|
1782
|
-
query('@sideNavExpand', animateChild(), { optional: true }),
|
|
1783
|
-
]),
|
|
1784
|
-
]),
|
|
1785
|
-
]),
|
|
1786
|
-
trigger('sideNavBackdrop', [
|
|
1787
|
-
state(EXPANDED_OVERLAY_STATE, style({ opacity: '1' })),
|
|
1788
|
-
state(COLLAPSED_OVERLAY_STATE, style({ opacity: '0' })),
|
|
1789
|
-
// transition((fromState, toState, element, params) => {
|
|
1790
|
-
// console.log('sideNavBackdrop v', fromState, toState, element, params)
|
|
1791
|
-
// return false
|
|
1792
|
-
// }, []),
|
|
1793
|
-
transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),
|
|
1794
|
-
]),
|
|
1795
|
-
trigger('sideNavExpand', [
|
|
1796
|
-
// TODO: Make width configurable for non-overlay state.
|
|
1797
|
-
state(EXPANDED_STATE, style({ width: '260px' })),
|
|
1798
|
-
state(COLLAPSED_STATE, style({ width: '50px', 'overflow-x': 'hidden' })),
|
|
1799
|
-
state(EXPANDED_OVERLAY_STATE, style({
|
|
1800
|
-
position: 'absolute',
|
|
1801
|
-
top: 0,
|
|
1802
|
-
bottom: 0,
|
|
1803
|
-
left: 0,
|
|
1804
|
-
height: '{{ height }}',
|
|
1805
|
-
width: '{{ width }}',
|
|
1806
|
-
transform: '{{ origin }}',
|
|
1807
|
-
zIndex: '9999',
|
|
1808
|
-
}), {
|
|
1809
|
-
params: {
|
|
1810
|
-
origin: 'translateX(100%)',
|
|
1811
|
-
height: '100%',
|
|
1812
|
-
width: 'calc(100vw - 50px)',
|
|
1813
|
-
}
|
|
1814
|
-
}),
|
|
1815
|
-
state(COLLAPSED_OVERLAY_STATE, style({
|
|
1816
|
-
position: 'absolute',
|
|
1817
|
-
top: 0,
|
|
1818
|
-
bottom: 0,
|
|
1819
|
-
left: 0,
|
|
1820
|
-
height: '{{ height }}',
|
|
1821
|
-
width: '{{ width }}',
|
|
1822
|
-
transform: '{{ origin }}',
|
|
1823
|
-
'overflow-x': 'hidden',
|
|
1824
|
-
zIndex: '9999',
|
|
1825
|
-
}), {
|
|
1826
|
-
params: {
|
|
1827
|
-
origin: 'translateX(0)',
|
|
1828
|
-
height: '100%',
|
|
1829
|
-
width: 'calc(100vw - 50px)',
|
|
1830
|
-
}
|
|
1831
|
-
}),
|
|
1832
|
-
// transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),
|
|
1833
|
-
transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),
|
|
1834
|
-
// transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, [
|
|
1835
|
-
// // query(':leave', animateChild(), { optional: true }),
|
|
1836
|
-
// // query(':enter', animateChild(), { optional: true }),
|
|
1837
|
-
// group([
|
|
1838
|
-
// query(':leave', animateChild(), { optional: true }),
|
|
1839
|
-
// query(':enter', animateChild(), { optional: true }),
|
|
1840
|
-
// query('@compactAnim', animateChild(), { optional: true }),
|
|
1841
|
-
// animate('5.2s ease-in-out')
|
|
1842
|
-
// ])
|
|
1843
|
-
// ]),
|
|
1844
|
-
])
|
|
1845
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1846
|
-
__decorate([
|
|
1847
|
-
InputBoolean()
|
|
1848
|
-
], SideNavComponent.prototype, "hasHeaderToggle", void 0);
|
|
1849
|
-
__decorate([
|
|
1850
|
-
InputNumber(10)
|
|
1851
|
-
], SideNavComponent.prototype, "indentSize", void 0);
|
|
1852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SideNavComponent, decorators: [{
|
|
1853
|
-
type: Component,
|
|
1854
|
-
args: [{ selector: 'seam-side-nav', providers: [
|
|
1855
|
-
TheSeamSideNavService,
|
|
1856
|
-
{
|
|
1857
|
-
provide: THESEAM_SIDE_NAV_ACCESSOR,
|
|
1858
|
-
useExisting: SideNavComponent
|
|
1859
|
-
},
|
|
1860
|
-
], animations: [
|
|
1861
|
-
//
|
|
1862
|
-
// TODO: This animation code turned into a mess. Clean it up and make it
|
|
1863
|
-
// more smooth.
|
|
1864
|
-
//
|
|
1865
|
-
trigger('sideNavAnim', [
|
|
1866
|
-
transition(sideNavExpandStateChangeFn, [
|
|
1867
|
-
group([
|
|
1868
|
-
query('@sideNavBackdrop', animateChild(), { optional: true }),
|
|
1869
|
-
query('@sideNavExpand', animateChild(), { optional: true }),
|
|
1870
|
-
]),
|
|
1871
|
-
]),
|
|
1872
|
-
]),
|
|
1873
|
-
trigger('sideNavBackdrop', [
|
|
1874
|
-
state(EXPANDED_OVERLAY_STATE, style({ opacity: '1' })),
|
|
1875
|
-
state(COLLAPSED_OVERLAY_STATE, style({ opacity: '0' })),
|
|
1876
|
-
// transition((fromState, toState, element, params) => {
|
|
1877
|
-
// console.log('sideNavBackdrop v', fromState, toState, element, params)
|
|
1878
|
-
// return false
|
|
1879
|
-
// }, []),
|
|
1880
|
-
transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),
|
|
1881
|
-
]),
|
|
1882
|
-
trigger('sideNavExpand', [
|
|
1883
|
-
// TODO: Make width configurable for non-overlay state.
|
|
1884
|
-
state(EXPANDED_STATE, style({ width: '260px' })),
|
|
1885
|
-
state(COLLAPSED_STATE, style({ width: '50px', 'overflow-x': 'hidden' })),
|
|
1886
|
-
state(EXPANDED_OVERLAY_STATE, style({
|
|
1887
|
-
position: 'absolute',
|
|
1888
|
-
top: 0,
|
|
1889
|
-
bottom: 0,
|
|
1890
|
-
left: 0,
|
|
1891
|
-
height: '{{ height }}',
|
|
1892
|
-
width: '{{ width }}',
|
|
1893
|
-
transform: '{{ origin }}',
|
|
1894
|
-
zIndex: '9999',
|
|
1895
|
-
}), {
|
|
1896
|
-
params: {
|
|
1897
|
-
origin: 'translateX(100%)',
|
|
1898
|
-
height: '100%',
|
|
1899
|
-
width: 'calc(100vw - 50px)',
|
|
1900
|
-
}
|
|
1901
|
-
}),
|
|
1902
|
-
state(COLLAPSED_OVERLAY_STATE, style({
|
|
1903
|
-
position: 'absolute',
|
|
1904
|
-
top: 0,
|
|
1905
|
-
bottom: 0,
|
|
1906
|
-
left: 0,
|
|
1907
|
-
height: '{{ height }}',
|
|
1908
|
-
width: '{{ width }}',
|
|
1909
|
-
transform: '{{ origin }}',
|
|
1910
|
-
'overflow-x': 'hidden',
|
|
1911
|
-
zIndex: '9999',
|
|
1912
|
-
}), {
|
|
1913
|
-
params: {
|
|
1914
|
-
origin: 'translateX(0)',
|
|
1915
|
-
height: '100%',
|
|
1916
|
-
width: 'calc(100vw - 50px)',
|
|
1917
|
-
}
|
|
1918
|
-
}),
|
|
1919
|
-
// transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),
|
|
1920
|
-
transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),
|
|
1921
|
-
// transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, [
|
|
1922
|
-
// // query(':leave', animateChild(), { optional: true }),
|
|
1923
|
-
// // query(':enter', animateChild(), { optional: true }),
|
|
1924
|
-
// group([
|
|
1925
|
-
// query(':leave', animateChild(), { optional: true }),
|
|
1926
|
-
// query(':enter', animateChild(), { optional: true }),
|
|
1927
|
-
// query('@compactAnim', animateChild(), { optional: true }),
|
|
1928
|
-
// animate('5.2s ease-in-out')
|
|
1929
|
-
// ])
|
|
1930
|
-
// ]),
|
|
1931
|
-
])
|
|
1932
|
-
], imports: [
|
|
1933
|
-
CommonModule,
|
|
1934
|
-
A11yModule,
|
|
1935
|
-
TheSeamScrollbarModule,
|
|
1936
|
-
TheSeamLayoutModule,
|
|
1937
|
-
PortalModule,
|
|
1938
|
-
SideNavItemComponent,
|
|
1939
|
-
SideNavToggleComponent,
|
|
1940
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\r\n [@sideNavBackdrop]=\"_sideNavExpand\"\r\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"\r\n (click)=\"collapse()\"></div>\r\n\r\n<div\r\n class=\"side-nav-inner-wrapper\"\r\n [@sideNavExpand]=\"{\r\n value: _sideNavExpand,\r\n params: {\r\n origin: expandOriginTransform,\r\n height: expandHeight,\r\n width: expandWidth\r\n }\r\n }\"\r\n (@sideNavExpand.start)=\"animateStart()\"\r\n (@sideNavExpand.done)=\"animateEnd()\">\r\n <nav class=\"nav side-nav-content\">\r\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\r\n [toggleIcon]=\"toggleIcon\"\r\n [toggleTpl]=\"toggleTpl\"\r\n [expanded]=\"expanded$ | async\"\r\n (toggleExpand)=\"toggle()\">\r\n <ng-template [cdkPortalOutlet]=\"_sideBarHeaderPortal\"></ng-template>\r\n </seam-side-nav-toggle>\r\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\r\n <div class=\"side-nav--group side-nav--group--level-0\">\r\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\r\n [compact]=\"!(expanded$ | async)\"\r\n [isMobile]=\"isMobile$ | async\"\r\n [itemType]=\"$any(item)?.itemType\"\r\n [icon]=\"$any(item)?.icon\"\r\n [label]=\"$any(item)?.label\"\r\n [link]=\"$any(item)?.link\"\r\n [badgeText]=\"$any(item)?.badge?.text\"\r\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\r\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\r\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\r\n [queryParams]=\"$any(item)?.queryParams\"\r\n [children]=\"$any(item)?.children\"\r\n [active]=\"$any(item).__state?.active\"\r\n [expanded]=\"$any(item).__state?.expanded\"\r\n [hideEmptyIcon]=\"hideEmptyIcon\"\r\n [indentSize]=\"indentSize\"\r\n [menuItemTooltipConfig]=\"menuItemTooltipConfig\"\r\n [menuItemTooltipDisabled]=\"menuItemTooltipDisabled$ | async\">\r\n [activeNavigatable]=\"$any(item).activeNavigatable\">\r\n </seam-side-nav-item>\r\n </div>\r\n </div>\r\n <ng-template [cdkPortalOutlet]=\"_sideBarFooterPortal\"></ng-template>\r\n </nav>\r\n</div>\r\n", styles: ["seam-side-nav,.seam-side-nav{display:block;height:100%;position:relative;z-index:2;overflow:hidden}seam-side-nav .side-nav-inner-wrapper,.seam-side-nav .side-nav-inner-wrapper{background:#357ebd;height:100%}seam-side-nav .side-nav-backdrop,.seam-side-nav .side-nav-backdrop{background:rgba(52,58,64,.6);width:100vw;height:100vh}seam-side-nav .side-nav-backdrop.side-nav-backdrop-hidden,.seam-side-nav .side-nav-backdrop.side-nav-backdrop-hidden{display:none;width:0;height:0;padding:0;margin:0}seam-side-nav .side-nav-content,.seam-side-nav .side-nav-content{display:flex;flex-direction:column;height:100%;flex-wrap:nowrap}seam-side-nav .side-nav-items-container,.seam-side-nav .side-nav-items-container{display:flex;flex-direction:column;width:100%;flex:1 1 100%}\n"] }]
|
|
1941
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.TheSeamLayoutService }, { type: TheSeamSideNavService }, { type: undefined, decorators: [{
|
|
1942
|
-
type: Optional
|
|
1943
|
-
}, {
|
|
1944
|
-
type: Inject,
|
|
1945
|
-
args: [THESEAM_SIDE_NAV_CONFIG]
|
|
1946
|
-
}] }, { type: undefined, decorators: [{
|
|
1947
|
-
type: Optional
|
|
1948
|
-
}, {
|
|
1949
|
-
type: Inject,
|
|
1950
|
-
args: [THESEAM_BASE_LAYOUT_REF]
|
|
1951
|
-
}] }]; }, propDecorators: { _sideNavExpand: [{
|
|
1952
|
-
type: HostBinding,
|
|
1953
|
-
args: ['@sideNavAnim']
|
|
1954
|
-
}], hasHeaderToggle: [{
|
|
1955
|
-
type: Input
|
|
1956
|
-
}], toggleIcon: [{
|
|
1957
|
-
type: Input
|
|
1958
|
-
}], toggleTpl: [{
|
|
1959
|
-
type: Input
|
|
1960
|
-
}], items: [{
|
|
1961
|
-
type: Input
|
|
1962
|
-
}], hideEmptyIcon: [{
|
|
1963
|
-
type: Input
|
|
1964
|
-
}], indentSize: [{
|
|
1965
|
-
type: Input
|
|
1966
|
-
}], expanded: [{
|
|
1967
|
-
type: Input
|
|
1968
|
-
}], expandOrigin: [{
|
|
1969
|
-
type: Input
|
|
1970
|
-
}], expandHeight: [{
|
|
1971
|
-
type: Input
|
|
1972
|
-
}], expandWidth: [{
|
|
1973
|
-
type: Input
|
|
1974
|
-
}], overlay: [{
|
|
1975
|
-
type: Input
|
|
1976
|
-
}], menuItemTooltipConfig: [{
|
|
1977
|
-
type: Input
|
|
1978
|
-
}], toggleExpand: [{
|
|
1979
|
-
type: Output
|
|
1980
|
-
}], _sideBarHeaderTpl: [{
|
|
1981
|
-
type: ContentChild,
|
|
1982
|
-
args: [BaseLayoutSideBarHeaderDirective, { static: true, read: TemplateRef }]
|
|
1983
|
-
}], _sideBarFooterTpl: [{
|
|
1984
|
-
type: ContentChild,
|
|
1985
|
-
args: [BaseLayoutSideBarFooterDirective, { static: true, read: TemplateRef }]
|
|
1986
|
-
}] } });
|
|
1987
|
-
|
|
1988
|
-
class TheSeamSideNavModule {
|
|
1989
|
-
}
|
|
1990
|
-
TheSeamSideNavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1991
|
-
TheSeamSideNavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavModule, imports: [SideNavItemComponent,
|
|
1992
|
-
SideNavComponent,
|
|
1993
|
-
SideNavToggleComponent], exports: [SideNavItemComponent,
|
|
1994
|
-
SideNavComponent,
|
|
1995
|
-
SideNavToggleComponent] });
|
|
1996
|
-
TheSeamSideNavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavModule, imports: [SideNavItemComponent,
|
|
1997
|
-
SideNavComponent,
|
|
1998
|
-
SideNavToggleComponent] });
|
|
1999
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSideNavModule, decorators: [{
|
|
2000
|
-
type: NgModule,
|
|
2001
|
-
args: [{
|
|
2002
|
-
imports: [
|
|
2003
|
-
SideNavItemComponent,
|
|
2004
|
-
SideNavComponent,
|
|
2005
|
-
SideNavToggleComponent,
|
|
2006
|
-
],
|
|
2007
|
-
exports: [
|
|
2008
|
-
SideNavItemComponent,
|
|
2009
|
-
SideNavComponent,
|
|
2010
|
-
SideNavToggleComponent,
|
|
2011
|
-
]
|
|
2012
|
-
}]
|
|
2013
|
-
}] });
|
|
2014
|
-
|
|
2015
|
-
class TopBarMenuButtonBase {
|
|
2016
|
-
}
|
|
2017
|
-
const _TopBarMenuButtonMixinBase = mixinDisabled(TopBarMenuButtonBase);
|
|
2018
|
-
class TopBarMenuButtonComponent extends _TopBarMenuButtonMixinBase {
|
|
2019
|
-
constructor() {
|
|
2020
|
-
super(...arguments);
|
|
2021
|
-
this.faAngleDown = faAngleDown;
|
|
2022
|
-
this.compact = false;
|
|
2023
|
-
}
|
|
2024
|
-
get _hasCompactClass() { return this.compact; }
|
|
2025
|
-
get _hasPadding0Class() { return this.compact; }
|
|
2026
|
-
get _hasRoundedClass() { return this.compact; }
|
|
2027
|
-
get _hasBtnLinkClass() { return !this.compact; }
|
|
2028
|
-
}
|
|
2029
|
-
TopBarMenuButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2030
|
-
TopBarMenuButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TopBarMenuButtonComponent, selector: "button[seamTopBarMenuButton]", inputs: { disabled: "disabled", detailTpl: "detailTpl", compactDetailTpl: "compactDetailTpl", compact: "compact", profileIcon: "profileIcon" }, host: { attributes: { "attr.type": "button" }, properties: { "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.top-bar-menu-button--compact": "this._hasCompactClass", "class.p-0": "this._hasPadding0Class", "class.rounded": "this._hasRoundedClass", "class.btn-link": "this._hasBtnLinkClass" }, classAttribute: "btn border text-decoration-none py-0 top-bar-menu-button" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex flex-row\" *ngIf=\"!compact; else compactTpl\">\n <div class=\"text-left flex-grow-1 text-truncate\">\n <ng-template [ngTemplateOutlet]=\"$any(detailTpl)\"></ng-template>\n </div>\n <!-- Arrow Button -->\n <div class=\"pl-2 d-flex flex-column\">\n <div class=\"flex-grow-1\"></div>\n <seam-icon class=\"d-block\" [icon]=\"faAngleDown\"></seam-icon>\n <div class=\"flex-grow-1\"></div>\n </div>\n</div>\n<ng-template #compactTpl>\n <ng-container *ngIf=\"compactDetailTpl; else iconTpl\">\n <ng-template [ngTemplateOutlet]=\"$any(compactDetailTpl)\"></ng-template>\n </ng-container>\n <ng-template #iconTpl>\n <seam-icon [icon]=\"profileIcon\" iconType=\"borderless-styled-square\"></seam-icon>\n </ng-template>\n</ng-template>\n", styles: ["button[seamTopBarMenuButton]{min-width:200px;border-radius:0;border-top:0!important;border-bottom:0!important;border-right:0!important}button[seamTopBarMenuButton].top-bar-menu-button--compact{min-width:40px;border-left:0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2031
|
-
__decorate([
|
|
2032
|
-
InputBoolean()
|
|
2033
|
-
], TopBarMenuButtonComponent.prototype, "compact", void 0);
|
|
2034
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuButtonComponent, decorators: [{
|
|
2035
|
-
type: Component,
|
|
2036
|
-
args: [{ selector: 'button[seamTopBarMenuButton]', encapsulation: ViewEncapsulation.None, exportAs: 'seamButton', inputs: ['disabled'], host: {
|
|
2037
|
-
'attr.type': 'button',
|
|
2038
|
-
'class': 'btn border text-decoration-none py-0 top-bar-menu-button',
|
|
2039
|
-
'[attr.aria-disabled]': 'disabled.toString()',
|
|
2040
|
-
'[attr.disabled]': 'disabled || null',
|
|
2041
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-row\" *ngIf=\"!compact; else compactTpl\">\n <div class=\"text-left flex-grow-1 text-truncate\">\n <ng-template [ngTemplateOutlet]=\"$any(detailTpl)\"></ng-template>\n </div>\n <!-- Arrow Button -->\n <div class=\"pl-2 d-flex flex-column\">\n <div class=\"flex-grow-1\"></div>\n <seam-icon class=\"d-block\" [icon]=\"faAngleDown\"></seam-icon>\n <div class=\"flex-grow-1\"></div>\n </div>\n</div>\n<ng-template #compactTpl>\n <ng-container *ngIf=\"compactDetailTpl; else iconTpl\">\n <ng-template [ngTemplateOutlet]=\"$any(compactDetailTpl)\"></ng-template>\n </ng-container>\n <ng-template #iconTpl>\n <seam-icon [icon]=\"profileIcon\" iconType=\"borderless-styled-square\"></seam-icon>\n </ng-template>\n</ng-template>\n", styles: ["button[seamTopBarMenuButton]{min-width:200px;border-radius:0;border-top:0!important;border-bottom:0!important;border-right:0!important}button[seamTopBarMenuButton].top-bar-menu-button--compact{min-width:40px;border-left:0!important}\n"] }]
|
|
2042
|
-
}], propDecorators: { detailTpl: [{
|
|
2043
|
-
type: Input
|
|
2044
|
-
}], compactDetailTpl: [{
|
|
2045
|
-
type: Input
|
|
2046
|
-
}], compact: [{
|
|
2047
|
-
type: Input
|
|
2048
|
-
}], profileIcon: [{
|
|
2049
|
-
type: Input
|
|
2050
|
-
}], _hasCompactClass: [{
|
|
2051
|
-
type: HostBinding,
|
|
2052
|
-
args: ['class.top-bar-menu-button--compact']
|
|
2053
|
-
}], _hasPadding0Class: [{
|
|
2054
|
-
type: HostBinding,
|
|
2055
|
-
args: ['class.p-0']
|
|
2056
|
-
}], _hasRoundedClass: [{
|
|
2057
|
-
type: HostBinding,
|
|
2058
|
-
args: ['class.rounded']
|
|
2059
|
-
}], _hasBtnLinkClass: [{
|
|
2060
|
-
type: HostBinding,
|
|
2061
|
-
args: ['class.btn-link']
|
|
2062
|
-
}] } });
|
|
2063
|
-
|
|
2064
|
-
class TopBarTitleComponent {
|
|
2065
|
-
}
|
|
2066
|
-
TopBarTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2067
|
-
TopBarTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TopBarTitleComponent, selector: "seam-top-bar-title", inputs: { titleText: "titleText", subTitleText: "subTitleText" }, ngImport: i0, template: "<h2 class=\"mb-0\" [ngStyle]=\"{ 'font-size.px': 32 }\" [ngStyle.lt-md]=\"{ 'font-size.px': 26 }\" [ngStyle.lt-sm]=\"{ 'font-size.px': 20, 'line-height': 1 }\">\n {{ titleText }}\n <br fxHide.gt-sm>\n <small *ngIf=\"subTitleText\" class=\"text-muted\">{{ subTitleText }}</small>\n</h2>\n", styles: ["seam-top-bar-title{flex:1 1 auto;display:flex;flex-direction:row;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i2$2.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2068
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarTitleComponent, decorators: [{
|
|
2069
|
-
type: Component,
|
|
2070
|
-
args: [{ selector: 'seam-top-bar-title', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<h2 class=\"mb-0\" [ngStyle]=\"{ 'font-size.px': 32 }\" [ngStyle.lt-md]=\"{ 'font-size.px': 26 }\" [ngStyle.lt-sm]=\"{ 'font-size.px': 20, 'line-height': 1 }\">\n {{ titleText }}\n <br fxHide.gt-sm>\n <small *ngIf=\"subTitleText\" class=\"text-muted\">{{ subTitleText }}</small>\n</h2>\n", styles: ["seam-top-bar-title{flex:1 1 auto;display:flex;flex-direction:row;align-items:center}\n"] }]
|
|
2071
|
-
}], propDecorators: { titleText: [{
|
|
2072
|
-
type: Input
|
|
2073
|
-
}], subTitleText: [{
|
|
2074
|
-
type: Input
|
|
2075
|
-
}] } });
|
|
2076
|
-
|
|
2077
|
-
class TopBarCompactMenuBtnDetailDirective {
|
|
2078
|
-
constructor(template) {
|
|
2079
|
-
this.template = template;
|
|
2080
|
-
}
|
|
2081
|
-
}
|
|
2082
|
-
TopBarCompactMenuBtnDetailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarCompactMenuBtnDetailDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2083
|
-
TopBarCompactMenuBtnDetailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TopBarCompactMenuBtnDetailDirective, selector: "[seamTopBarCompactMenuBtnDetail]", ngImport: i0 });
|
|
2084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarCompactMenuBtnDetailDirective, decorators: [{
|
|
2085
|
-
type: Directive,
|
|
2086
|
-
args: [{
|
|
2087
|
-
selector: '[seamTopBarCompactMenuBtnDetail]'
|
|
2088
|
-
}]
|
|
2089
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
2090
|
-
|
|
2091
|
-
class TopBarNavToggleBtnDetailDirective {
|
|
2092
|
-
constructor(template) {
|
|
2093
|
-
this.template = template;
|
|
2094
|
-
}
|
|
2095
|
-
}
|
|
2096
|
-
TopBarNavToggleBtnDetailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarNavToggleBtnDetailDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2097
|
-
TopBarNavToggleBtnDetailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TopBarNavToggleBtnDetailDirective, selector: "[seamTopBarNavToggleBtnDetail]", ngImport: i0 });
|
|
2098
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarNavToggleBtnDetailDirective, decorators: [{
|
|
2099
|
-
type: Directive,
|
|
2100
|
-
args: [{
|
|
2101
|
-
selector: '[seamTopBarNavToggleBtnDetail]'
|
|
2102
|
-
}]
|
|
2103
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
2104
|
-
|
|
2105
|
-
class TopBarItemDirective {
|
|
2106
|
-
set seamTopBarItem(value) {
|
|
2107
|
-
this.position = value;
|
|
2108
|
-
}
|
|
2109
|
-
constructor(template) {
|
|
2110
|
-
this.template = template;
|
|
2111
|
-
this.position = 'right';
|
|
2112
|
-
}
|
|
2113
|
-
}
|
|
2114
|
-
TopBarItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2115
|
-
TopBarItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TopBarItemDirective, selector: "[seamTopBarItem]", inputs: { seamTopBarItem: "seamTopBarItem" }, ngImport: i0 });
|
|
2116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarItemDirective, decorators: [{
|
|
2117
|
-
type: Directive,
|
|
2118
|
-
args: [{
|
|
2119
|
-
selector: '[seamTopBarItem]'
|
|
2120
|
-
}]
|
|
2121
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { seamTopBarItem: [{
|
|
2122
|
-
type: Input
|
|
2123
|
-
}] } });
|
|
2124
|
-
|
|
2125
|
-
class TopBarMenuBtnDetailDirective {
|
|
2126
|
-
constructor(template) {
|
|
2127
|
-
this.template = template;
|
|
2128
|
-
}
|
|
2129
|
-
}
|
|
2130
|
-
TopBarMenuBtnDetailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuBtnDetailDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2131
|
-
TopBarMenuBtnDetailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TopBarMenuBtnDetailDirective, selector: "[seamTopBarMenuBtnDetail]", ngImport: i0 });
|
|
2132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuBtnDetailDirective, decorators: [{
|
|
2133
|
-
type: Directive,
|
|
2134
|
-
args: [{
|
|
2135
|
-
selector: '[seamTopBarMenuBtnDetail]'
|
|
2136
|
-
}]
|
|
2137
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
2138
|
-
|
|
2139
|
-
class TopBarMenuDirective {
|
|
2140
|
-
constructor(menu) {
|
|
2141
|
-
this.menu = menu;
|
|
2142
|
-
}
|
|
2143
|
-
}
|
|
2144
|
-
TopBarMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuDirective, deps: [{ token: i3$2.MenuComponent, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2145
|
-
TopBarMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TopBarMenuDirective, selector: "seam-menu[seamTopBarMenu]", ngImport: i0 });
|
|
2146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TopBarMenuDirective, decorators: [{
|
|
2147
|
-
type: Directive,
|
|
2148
|
-
args: [{
|
|
2149
|
-
selector: 'seam-menu[seamTopBarMenu]'
|
|
2150
|
-
}]
|
|
2151
|
-
}], ctorParameters: function () { return [{ type: i3$2.MenuComponent, decorators: [{
|
|
2152
|
-
type: Self
|
|
2153
|
-
}] }]; } });
|
|
2154
|
-
|
|
2155
|
-
/**
|
|
2156
|
-
* Top bar of an app.
|
|
2157
|
-
*
|
|
2158
|
-
* The top bar is fairly opinionated, so most parts are not intended to be
|
|
2159
|
-
* customized unless there is an input.
|
|
2160
|
-
*
|
|
2161
|
-
* > If you have to make a change and apply it externally with a css class or js
|
|
2162
|
-
* > make sure there is an issue to get the feature changed, so we don't have
|
|
2163
|
-
* > different modifications across our apps. Also, this will help make sure
|
|
2164
|
-
* > your change should have even been done.
|
|
2165
|
-
*/
|
|
2166
|
-
class TheSeamTopBarComponent {
|
|
2167
|
-
constructor(_layout) {
|
|
2168
|
-
this._layout = _layout;
|
|
2169
|
-
/** @ignore */
|
|
2170
|
-
this._ngUnsubscribe = new Subject();
|
|
2171
|
-
/** @ignore */
|
|
2172
|
-
this.faBars = faBars;
|
|
2173
|
-
/** Link target used when `logoHref` is specified. Defaults to `"_blank"` */
|
|
2174
|
-
this.logoHrefTarget = '_blank';
|
|
2175
|
-
/** Route to link to when `logo` is clicked. Defaults to `/`. */
|
|
2176
|
-
this.logoRoute = '/';
|
|
2177
|
-
/** Determines if the title should be displayed. */
|
|
2178
|
-
this.hasTitle = false;
|
|
2179
|
-
/** Determines if the top bar button should be displayed. */
|
|
2180
|
-
this.hasTopBarMenuButton = true;
|
|
2181
|
-
/** Icon to display on mobile to activate profile dropdown. Defaults to faUserCircle. */
|
|
2182
|
-
this.profileIcon = faUserCircle;
|
|
2183
|
-
/** Icon to display for mobile nav toggle. Defaults to faBars. */
|
|
2184
|
-
this.toggleIcon = faBars;
|
|
2185
|
-
/** Display nav toggle on either left or right side of top bar. Defaults to left. */
|
|
2186
|
-
this.navToggleAlign = 'left';
|
|
2187
|
-
/** @ignore */
|
|
2188
|
-
this._leftItems = new BehaviorSubject([]);
|
|
2189
|
-
/** Additional templates to display on left side of top bar */
|
|
2190
|
-
this.leftItems$ = this._leftItems.asObservable();
|
|
2191
|
-
/** @ignore */
|
|
2192
|
-
this._centerItems = new BehaviorSubject([]);
|
|
2193
|
-
/** Additional templates to display in center of top bar */
|
|
2194
|
-
this.centerItems$ = this._centerItems.asObservable();
|
|
2195
|
-
/** @ignore */
|
|
2196
|
-
this._rightItems = new BehaviorSubject([]);
|
|
2197
|
-
/** Additional templates to display on right side of top bar */
|
|
2198
|
-
this.rightItems$ = this._rightItems.asObservable();
|
|
2199
|
-
this.isMobile$ = this._layout.isMobile$;
|
|
2200
|
-
}
|
|
2201
|
-
/** @ignore */
|
|
2202
|
-
ngOnDestroy() {
|
|
2203
|
-
this._ngUnsubscribe.next(undefined);
|
|
2204
|
-
this._ngUnsubscribe.complete();
|
|
2205
|
-
}
|
|
2206
|
-
/** @ignore */
|
|
2207
|
-
ngAfterContentInit() {
|
|
2208
|
-
if (this._topBarItems) {
|
|
2209
|
-
this._topBarItems.changes.pipe(startWith(undefined), takeUntil(this._ngUnsubscribe), map(() => {
|
|
2210
|
-
const items = this._topBarItems?.toArray() || [];
|
|
2211
|
-
const left = items.filter(i => i.position === 'left');
|
|
2212
|
-
const right = items.filter(i => i.position === 'right');
|
|
2213
|
-
const center = items.filter(i => i.position === 'center');
|
|
2214
|
-
this._leftItems.next(left);
|
|
2215
|
-
this._rightItems.next(right);
|
|
2216
|
-
this._centerItems.next(center);
|
|
2217
|
-
}), shareReplay({ bufferSize: 1, refCount: true })).subscribe();
|
|
2218
|
-
}
|
|
2219
|
-
}
|
|
2220
|
-
}
|
|
2221
|
-
TheSeamTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarComponent, deps: [{ token: i1.TheSeamLayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2222
|
-
TheSeamTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamTopBarComponent, selector: "seam-top-bar", inputs: { logo: "logo", logoSm: "logoSm", logoHref: "logoHref", logoHrefTarget: "logoHrefTarget", logoRoute: "logoRoute", hasTitle: "hasTitle", titleText: "titleText", subTitleText: "subTitleText", hasTopBarMenuButton: "hasTopBarMenuButton", profileIcon: "profileIcon", toggleIcon: "toggleIcon", navToggleAlign: "navToggleAlign" }, queries: [{ propertyName: "_topBarMenu", first: true, predicate: TopBarMenuDirective, descendants: true, static: true }, { propertyName: "_topBarMenuBtnDetailTpl", first: true, predicate: TopBarMenuBtnDetailDirective, descendants: true }, { propertyName: "_topBarCompactMenuBtnDetailTpl", first: true, predicate: TopBarCompactMenuBtnDetailDirective, descendants: true }, { propertyName: "_topBarNavToggleBtnDetailTpl", first: true, predicate: TopBarNavToggleBtnDetailDirective, descendants: true }, { propertyName: "_topBarItems", predicate: TopBarItemDirective }], exportAs: ["seamTopBar"], ngImport: i0, template: "<div class=\"top-bar--left d-flex\">\n <!-- Nav Toggle -->\n <ng-container *ngIf=\"navToggleAlign === 'left'\">\n <ng-container *ngTemplateOutlet=\"navToggle\"></ng-container>\n </ng-container>\n\n <!-- Logo -->\n <div class=\"top-bar--logo d-flex flex-column justify-content-center\" *ngIf=\"logoHref; else useLogoRoute\"\n [class.top-bar--logo-mobile]=\"isMobile$ | async\">\n <a [href]=\"logoHref\" [target]=\"logoHrefTarget\">\n <ng-container *ngTemplateOutlet=\"logoTpl\"></ng-container>\n </a>\n </div>\n\n <ng-template #useLogoRoute>\n <div class=\"top-bar--logo d-flex flex-column justify-content-center\" [routerLink]=\"logoRoute\"\n [class.top-bar--logo-mobile]=\"isMobile$ | async\">\n <ng-container *ngTemplateOutlet=\"logoTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #logoTpl>\n <div>\n <img *ngIf=\"logo\" [src]=\"logo\" [src.lt-md]=\"logoSm ? logoSm : logo\" alt=\"Logo\">\n </div>\n </ng-template>\n\n <!-- Title -->\n <div class=\"d-flex flex-column\" *ngIf=\"hasTitle\">\n <seam-top-bar-title\n [titleText]=\"titleText\"\n [subTitleText]=\"subTitleText\"\n [class.ml-2]=\"isMobile$ | async\">\n </seam-top-bar-title>\n </div>\n\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--left mr-2\">\n <ng-container *ngFor=\"let item of leftItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n</div>\n\n<div class=\"top-bar--center\">\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--center mr-2\">\n <ng-container *ngFor=\"let item of centerItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n</div>\n\n<div class=\"top-bar--right d-flex\">\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--right mr-2\">\n <ng-container *ngFor=\"let item of rightItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n\n <!-- Menu -->\n <button\n *ngIf=\"hasTopBarMenuButton\"\n seamTopBarMenuButton\n [seamMenuToggle]=\"_topBarMenu?.menu\"\n [detailTpl]=\"_topBarMenuBtnDetailTpl?.template\"\n [compactDetailTpl]=\"_topBarCompactMenuBtnDetailTpl?.template\"\n [compact]=\"isMobile$ | async\"\n [profileIcon]=\"profileIcon\">\n </button>\n\n <ng-container *ngIf=\"navToggleAlign === 'right'\">\n <ng-container *ngTemplateOutlet=\"navToggle\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #navToggle>\n <div class=\"d-flex flex-column justify-content-center pr-2\" *ngIf=\"isMobile$ | async\">\n <ng-container *ngIf=\"_topBarNavToggleBtnDetailTpl; else iconBtn\">\n <button seamButton seamBaseLayoutNavToggle>\n <ng-template [ngTemplateOutlet]=\"_topBarNavToggleBtnDetailTpl?.template || null\"></ng-template>\n </button>\n </ng-container>\n <ng-template #iconBtn>\n <button seamBaseLayoutNavToggle seamIconBtn [icon]=\"toggleIcon\" iconType=\"borderless-styled-square\"></button>\n </ng-template>\n </div>\n</ng-template>\n\n", styles: ["seam-top-bar{display:flex;flex:1 1 100%;flex-direction:row;background:white;margin:0;padding:8px;border-radius:0;box-shadow:none}.top-bar--logo{flex:0 0 auto;overflow:hidden;cursor:pointer}.top-bar--logo img{height:auto;max-height:60px;width:auto;max-width:200px}.top-bar--logo.top-bar--logo-mobile img{height:auto;max-height:40px;width:auto;max-width:150px}.top-bar--left{flex-grow:1}.top-bar-items{display:flex;align-items:center}\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: i2$2.DefaultImgSrcDirective, selector: " img[src.xs], img[src.sm], img[src.md], img[src.lg], img[src.xl], img[src.lt-sm], img[src.lt-md], img[src.lt-lg], img[src.lt-xl], img[src.gt-xs], img[src.gt-sm], img[src.gt-md], img[src.gt-lg]", inputs: ["src.xs", "src.sm", "src.md", "src.lg", "src.xl", "src.lt-sm", "src.lt-md", "src.lt-lg", "src.lt-xl", "src.gt-xs", "src.gt-sm", "src.gt-md", "src.gt-lg"] }, { kind: "component", type: i4$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "component", type: i2$1.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }, { kind: "directive", type: i3$2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "directive", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: ["type", "aria-label"], exportAs: ["seamBaseLayoutNavToggle"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TopBarTitleComponent, selector: "seam-top-bar-title", inputs: ["titleText", "subTitleText"] }, { kind: "component", type: TopBarMenuButtonComponent, selector: "button[seamTopBarMenuButton]", inputs: ["disabled", "detailTpl", "compactDetailTpl", "compact", "profileIcon"], exportAs: ["seamButton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2223
|
-
__decorate([
|
|
2224
|
-
InputBoolean()
|
|
2225
|
-
], TheSeamTopBarComponent.prototype, "hasTitle", void 0);
|
|
2226
|
-
__decorate([
|
|
2227
|
-
InputBoolean()
|
|
2228
|
-
], TheSeamTopBarComponent.prototype, "hasTopBarMenuButton", void 0);
|
|
2229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarComponent, decorators: [{
|
|
2230
|
-
type: Component,
|
|
2231
|
-
args: [{ selector: 'seam-top-bar', encapsulation: ViewEncapsulation.None, exportAs: 'seamTopBar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"top-bar--left d-flex\">\n <!-- Nav Toggle -->\n <ng-container *ngIf=\"navToggleAlign === 'left'\">\n <ng-container *ngTemplateOutlet=\"navToggle\"></ng-container>\n </ng-container>\n\n <!-- Logo -->\n <div class=\"top-bar--logo d-flex flex-column justify-content-center\" *ngIf=\"logoHref; else useLogoRoute\"\n [class.top-bar--logo-mobile]=\"isMobile$ | async\">\n <a [href]=\"logoHref\" [target]=\"logoHrefTarget\">\n <ng-container *ngTemplateOutlet=\"logoTpl\"></ng-container>\n </a>\n </div>\n\n <ng-template #useLogoRoute>\n <div class=\"top-bar--logo d-flex flex-column justify-content-center\" [routerLink]=\"logoRoute\"\n [class.top-bar--logo-mobile]=\"isMobile$ | async\">\n <ng-container *ngTemplateOutlet=\"logoTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #logoTpl>\n <div>\n <img *ngIf=\"logo\" [src]=\"logo\" [src.lt-md]=\"logoSm ? logoSm : logo\" alt=\"Logo\">\n </div>\n </ng-template>\n\n <!-- Title -->\n <div class=\"d-flex flex-column\" *ngIf=\"hasTitle\">\n <seam-top-bar-title\n [titleText]=\"titleText\"\n [subTitleText]=\"subTitleText\"\n [class.ml-2]=\"isMobile$ | async\">\n </seam-top-bar-title>\n </div>\n\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--left mr-2\">\n <ng-container *ngFor=\"let item of leftItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n</div>\n\n<div class=\"top-bar--center\">\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--center mr-2\">\n <ng-container *ngFor=\"let item of centerItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n</div>\n\n<div class=\"top-bar--right d-flex\">\n <!-- Items -->\n <div class=\"top-bar-items top-bar-items--right mr-2\">\n <ng-container *ngFor=\"let item of rightItems$ | async\">\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n </ng-container>\n </div>\n\n <!-- Menu -->\n <button\n *ngIf=\"hasTopBarMenuButton\"\n seamTopBarMenuButton\n [seamMenuToggle]=\"_topBarMenu?.menu\"\n [detailTpl]=\"_topBarMenuBtnDetailTpl?.template\"\n [compactDetailTpl]=\"_topBarCompactMenuBtnDetailTpl?.template\"\n [compact]=\"isMobile$ | async\"\n [profileIcon]=\"profileIcon\">\n </button>\n\n <ng-container *ngIf=\"navToggleAlign === 'right'\">\n <ng-container *ngTemplateOutlet=\"navToggle\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #navToggle>\n <div class=\"d-flex flex-column justify-content-center pr-2\" *ngIf=\"isMobile$ | async\">\n <ng-container *ngIf=\"_topBarNavToggleBtnDetailTpl; else iconBtn\">\n <button seamButton seamBaseLayoutNavToggle>\n <ng-template [ngTemplateOutlet]=\"_topBarNavToggleBtnDetailTpl?.template || null\"></ng-template>\n </button>\n </ng-container>\n <ng-template #iconBtn>\n <button seamBaseLayoutNavToggle seamIconBtn [icon]=\"toggleIcon\" iconType=\"borderless-styled-square\"></button>\n </ng-template>\n </div>\n</ng-template>\n\n", styles: ["seam-top-bar{display:flex;flex:1 1 100%;flex-direction:row;background:white;margin:0;padding:8px;border-radius:0;box-shadow:none}.top-bar--logo{flex:0 0 auto;overflow:hidden;cursor:pointer}.top-bar--logo img{height:auto;max-height:60px;width:auto;max-width:200px}.top-bar--logo.top-bar--logo-mobile img{height:auto;max-height:40px;width:auto;max-width:150px}.top-bar--left{flex-grow:1}.top-bar-items{display:flex;align-items:center}\n"] }]
|
|
2232
|
-
}], ctorParameters: function () { return [{ type: i1.TheSeamLayoutService }]; }, propDecorators: { _topBarMenu: [{
|
|
2233
|
-
type: ContentChild,
|
|
2234
|
-
args: [TopBarMenuDirective, { static: true }]
|
|
2235
|
-
}], _topBarItems: [{
|
|
2236
|
-
type: ContentChildren,
|
|
2237
|
-
args: [TopBarItemDirective]
|
|
2238
|
-
}], _topBarMenuBtnDetailTpl: [{
|
|
2239
|
-
type: ContentChild,
|
|
2240
|
-
args: [TopBarMenuBtnDetailDirective]
|
|
2241
|
-
}], _topBarCompactMenuBtnDetailTpl: [{
|
|
2242
|
-
type: ContentChild,
|
|
2243
|
-
args: [TopBarCompactMenuBtnDetailDirective]
|
|
2244
|
-
}], _topBarNavToggleBtnDetailTpl: [{
|
|
2245
|
-
type: ContentChild,
|
|
2246
|
-
args: [TopBarNavToggleBtnDetailDirective]
|
|
2247
|
-
}], logo: [{
|
|
2248
|
-
type: Input
|
|
2249
|
-
}], logoSm: [{
|
|
2250
|
-
type: Input
|
|
2251
|
-
}], logoHref: [{
|
|
2252
|
-
type: Input
|
|
2253
|
-
}], logoHrefTarget: [{
|
|
2254
|
-
type: Input
|
|
2255
|
-
}], logoRoute: [{
|
|
2256
|
-
type: Input
|
|
2257
|
-
}], hasTitle: [{
|
|
2258
|
-
type: Input
|
|
2259
|
-
}], titleText: [{
|
|
2260
|
-
type: Input
|
|
2261
|
-
}], subTitleText: [{
|
|
2262
|
-
type: Input
|
|
2263
|
-
}], hasTopBarMenuButton: [{
|
|
2264
|
-
type: Input
|
|
2265
|
-
}], profileIcon: [{
|
|
2266
|
-
type: Input
|
|
2267
|
-
}], toggleIcon: [{
|
|
2268
|
-
type: Input
|
|
2269
|
-
}], navToggleAlign: [{
|
|
2270
|
-
type: Input
|
|
2271
|
-
}] } });
|
|
2272
|
-
|
|
2273
|
-
class TheSeamTopBarModule {
|
|
2274
|
-
}
|
|
2275
|
-
TheSeamTopBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2276
|
-
TheSeamTopBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarModule, declarations: [TheSeamTopBarComponent,
|
|
2277
|
-
TopBarTitleComponent,
|
|
2278
|
-
TopBarMenuButtonComponent,
|
|
2279
|
-
TopBarMenuDirective,
|
|
2280
|
-
TopBarItemDirective,
|
|
2281
|
-
TopBarMenuBtnDetailDirective,
|
|
2282
|
-
TopBarCompactMenuBtnDetailDirective,
|
|
2283
|
-
TopBarNavToggleBtnDetailDirective], imports: [CommonModule,
|
|
2284
|
-
TheSeamLayoutModule,
|
|
2285
|
-
TheSeamButtonsModule,
|
|
2286
|
-
TheSeamIconModule,
|
|
2287
|
-
TheSeamMenuModule,
|
|
2288
|
-
TheSeamBaseLayoutModule,
|
|
2289
|
-
RouterModule], exports: [TheSeamTopBarComponent,
|
|
2290
|
-
TopBarMenuButtonComponent,
|
|
2291
|
-
TopBarMenuDirective,
|
|
2292
|
-
TheSeamMenuModule,
|
|
2293
|
-
TopBarItemDirective,
|
|
2294
|
-
TopBarMenuBtnDetailDirective,
|
|
2295
|
-
TopBarCompactMenuBtnDetailDirective,
|
|
2296
|
-
TopBarNavToggleBtnDetailDirective] });
|
|
2297
|
-
TheSeamTopBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarModule, imports: [CommonModule,
|
|
2298
|
-
TheSeamLayoutModule,
|
|
2299
|
-
TheSeamButtonsModule,
|
|
2300
|
-
TheSeamIconModule,
|
|
2301
|
-
TheSeamMenuModule,
|
|
2302
|
-
TheSeamBaseLayoutModule,
|
|
2303
|
-
RouterModule, TheSeamMenuModule] });
|
|
2304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTopBarModule, decorators: [{
|
|
2305
|
-
type: NgModule,
|
|
2306
|
-
args: [{
|
|
2307
|
-
declarations: [
|
|
2308
|
-
TheSeamTopBarComponent,
|
|
2309
|
-
TopBarTitleComponent,
|
|
2310
|
-
TopBarMenuButtonComponent,
|
|
2311
|
-
TopBarMenuDirective,
|
|
2312
|
-
TopBarItemDirective,
|
|
2313
|
-
TopBarMenuBtnDetailDirective,
|
|
2314
|
-
TopBarCompactMenuBtnDetailDirective,
|
|
2315
|
-
TopBarNavToggleBtnDetailDirective
|
|
2316
|
-
],
|
|
2317
|
-
imports: [
|
|
2318
|
-
CommonModule,
|
|
2319
|
-
TheSeamLayoutModule,
|
|
2320
|
-
TheSeamButtonsModule,
|
|
2321
|
-
TheSeamIconModule,
|
|
2322
|
-
TheSeamMenuModule,
|
|
2323
|
-
TheSeamBaseLayoutModule,
|
|
2324
|
-
RouterModule
|
|
2325
|
-
],
|
|
2326
|
-
exports: [
|
|
2327
|
-
TheSeamTopBarComponent,
|
|
2328
|
-
TopBarMenuButtonComponent,
|
|
2329
|
-
TopBarMenuDirective,
|
|
2330
|
-
TheSeamMenuModule,
|
|
2331
|
-
TopBarItemDirective,
|
|
2332
|
-
TopBarMenuBtnDetailDirective,
|
|
2333
|
-
TopBarCompactMenuBtnDetailDirective,
|
|
2334
|
-
TopBarNavToggleBtnDetailDirective
|
|
2335
|
-
]
|
|
2336
|
-
}]
|
|
2337
|
-
}] });
|
|
2338
|
-
|
|
2339
|
-
const fader = trigger('routeAnimations', [
|
|
2340
|
-
transition('* <=> *', [
|
|
2341
|
-
// Set a default style for enter and leave
|
|
2342
|
-
query(':enter, :leave', [
|
|
2343
|
-
style({
|
|
2344
|
-
position: 'absolute',
|
|
2345
|
-
left: 0,
|
|
2346
|
-
width: '100%',
|
|
2347
|
-
opacity: 0,
|
|
2348
|
-
transform: 'scale(0) translateY(100%)',
|
|
2349
|
-
}),
|
|
2350
|
-
], { optional: true }),
|
|
2351
|
-
// Animate the new page in
|
|
2352
|
-
query(':enter', [
|
|
2353
|
-
animate('600ms ease', style({ opacity: 1, transform: 'scale(1) translateY(0)' })),
|
|
2354
|
-
], { optional: true })
|
|
2355
|
-
]),
|
|
2356
|
-
]);
|
|
2357
|
-
// function slideTo(direction) {
|
|
2358
|
-
// return [
|
|
2359
|
-
// query(':enter, :leave', [
|
|
2360
|
-
// style({
|
|
2361
|
-
// position: 'absolute',
|
|
2362
|
-
// top: 0,
|
|
2363
|
-
// [direction]: 0,
|
|
2364
|
-
// width: '100%'
|
|
2365
|
-
// })
|
|
2366
|
-
// ], { optional: true }),
|
|
2367
|
-
// query(':enter', [
|
|
2368
|
-
// style({ [direction]: '-100%'})
|
|
2369
|
-
// ], { optional: true }),
|
|
2370
|
-
// group([
|
|
2371
|
-
// query(':leave', [
|
|
2372
|
-
// animate('1000ms ease', style({ [direction]: '100%'}))
|
|
2373
|
-
// ], { optional: true }),
|
|
2374
|
-
// query(':enter', [
|
|
2375
|
-
// animate('1000ms ease', style({ [direction]: '0%'}))
|
|
2376
|
-
// ], { optional: true })
|
|
2377
|
-
// ]),
|
|
2378
|
-
// // Normalize the page style... Might not be necessary
|
|
2379
|
-
// // Required only if you have child animations on the page
|
|
2380
|
-
// query(':leave', animateChild(), { optional: true }),
|
|
2381
|
-
// query(':enter', animateChild(), { optional: true }),
|
|
2382
|
-
// ]
|
|
2383
|
-
// }
|
|
2384
|
-
// TODO: Refactor the slider animation, because AOT or ng-packagr, I haven't
|
|
2385
|
-
// looked into what exactly is preventing it, doesn't allow the function call.
|
|
2386
|
-
// export const slider =
|
|
2387
|
-
// trigger('routeAnimations', [
|
|
2388
|
-
// transition('* => isLeft', slideTo('left') ),
|
|
2389
|
-
// transition('* => isRight', slideTo('right') ),
|
|
2390
|
-
// transition('isRight => *', slideTo('left') ),
|
|
2391
|
-
// transition('isLeft => *', slideTo('right') )
|
|
2392
|
-
// ])
|
|
2393
|
-
// export const contentLeave =
|
|
2394
|
-
// trigger('contentLeave', [
|
|
2395
|
-
// transition(':leave', [
|
|
2396
|
-
// ])
|
|
2397
|
-
// ])
|
|
2398
|
-
const slider = trigger('routeAnimations', [
|
|
2399
|
-
transition('* => isLeft', [
|
|
2400
|
-
query('.router-container :enter, .router-container :leave', [
|
|
2401
|
-
style({
|
|
2402
|
-
position: 'absolute',
|
|
2403
|
-
top: 0,
|
|
2404
|
-
left: 0,
|
|
2405
|
-
width: '100%'
|
|
2406
|
-
})
|
|
2407
|
-
], { optional: true }),
|
|
2408
|
-
query('.router-container :enter', [
|
|
2409
|
-
style({ left: '-100%' })
|
|
2410
|
-
], { optional: true }),
|
|
2411
|
-
query('.hierarchy-router-outlet--content', [
|
|
2412
|
-
style({ left: '0%', position: 'absolute' })
|
|
2413
|
-
], { optional: true }),
|
|
2414
|
-
group([
|
|
2415
|
-
query('.router-container :leave', [
|
|
2416
|
-
animate('1000ms ease', style({ left: '100%' }))
|
|
2417
|
-
], { optional: true }),
|
|
2418
|
-
query('.router-container :enter', [
|
|
2419
|
-
animate('1000ms ease', style({ left: '0%' }))
|
|
2420
|
-
], { optional: true }),
|
|
2421
|
-
query('.hierarchy-router-outlet--content', [
|
|
2422
|
-
animate('1000ms ease', style({ left: '-100%' }))
|
|
2423
|
-
], { optional: true }),
|
|
2424
|
-
]),
|
|
2425
|
-
// Normalize the page style... Might not be necessary
|
|
2426
|
-
// Required only if you have child animations on the page
|
|
2427
|
-
query('.router-container :leave', animateChild(), { optional: true }),
|
|
2428
|
-
query('.router-container :enter', animateChild(), { optional: true }),
|
|
2429
|
-
]),
|
|
2430
|
-
transition('* => isRight', [
|
|
2431
|
-
query('.router-container :enter, .router-container :leave', [
|
|
2432
|
-
style({
|
|
2433
|
-
position: 'absolute',
|
|
2434
|
-
top: 0,
|
|
2435
|
-
right: 0,
|
|
2436
|
-
width: '100%'
|
|
2437
|
-
})
|
|
2438
|
-
], { optional: true }),
|
|
2439
|
-
query('.router-container :enter', [
|
|
2440
|
-
style({ right: '-100%' })
|
|
2441
|
-
], { optional: true }),
|
|
2442
|
-
query('.hierarchy-router-outlet--content', [
|
|
2443
|
-
style({ left: '0%', position: 'absolute' })
|
|
2444
|
-
], { optional: true }),
|
|
2445
|
-
group([
|
|
2446
|
-
query('.router-container :leave', [
|
|
2447
|
-
animate('1000ms ease', style({ right: '100%' }))
|
|
2448
|
-
], { optional: true }),
|
|
2449
|
-
query('.router-container :enter', [
|
|
2450
|
-
animate('1000ms ease', style({ right: '0%' }))
|
|
2451
|
-
], { optional: true }),
|
|
2452
|
-
query('.hierarchy-router-outlet--content', [
|
|
2453
|
-
animate('1000ms ease', style({ left: '-100%' }))
|
|
2454
|
-
], { optional: true }),
|
|
2455
|
-
]),
|
|
2456
|
-
// Normalize the page style... Might not be necessary
|
|
2457
|
-
// Required only if you have child animations on the page
|
|
2458
|
-
query('.router-container :leave', animateChild(), { optional: true }),
|
|
2459
|
-
query('.router-container :enter', animateChild(), { optional: true }),
|
|
2460
|
-
]),
|
|
2461
|
-
transition('isRight => *', [
|
|
2462
|
-
query('.router-container :enter, .router-container :leave', [
|
|
2463
|
-
style({
|
|
2464
|
-
position: 'absolute',
|
|
2465
|
-
top: 0,
|
|
2466
|
-
left: 0,
|
|
2467
|
-
width: '100%'
|
|
2468
|
-
})
|
|
2469
|
-
], { optional: true }),
|
|
2470
|
-
query('.router-container :enter', [
|
|
2471
|
-
style({ left: '-100%' })
|
|
2472
|
-
], { optional: true }),
|
|
2473
|
-
query('.hierarchy-router-outlet--content', [
|
|
2474
|
-
style({ left: '0%', position: 'absolute' })
|
|
2475
|
-
], { optional: true }),
|
|
2476
|
-
group([
|
|
2477
|
-
query('.router-container :leave', [
|
|
2478
|
-
animate('1000ms ease', style({ left: '100%' }))
|
|
2479
|
-
], { optional: true }),
|
|
2480
|
-
query('.router-container :enter', [
|
|
2481
|
-
animate('1000ms ease', style({ left: '0%' }))
|
|
2482
|
-
], { optional: true }),
|
|
2483
|
-
query('.hierarchy-router-outlet--content', [
|
|
2484
|
-
animate('1000ms ease', style({ left: '-100%' }))
|
|
2485
|
-
], { optional: true }),
|
|
2486
|
-
]),
|
|
2487
|
-
// Normalize the page style... Might not be necessary
|
|
2488
|
-
// Required only if you have child animations on the page
|
|
2489
|
-
query('.router-container :leave', animateChild(), { optional: true }),
|
|
2490
|
-
query('.router-container :enter', animateChild(), { optional: true }),
|
|
2491
|
-
]),
|
|
2492
|
-
transition('isLeft => *', [
|
|
2493
|
-
query('.router-container :enter, .router-container :leave', [
|
|
2494
|
-
style({
|
|
2495
|
-
position: 'absolute',
|
|
2496
|
-
top: 0,
|
|
2497
|
-
right: 0,
|
|
2498
|
-
width: '100%'
|
|
2499
|
-
})
|
|
2500
|
-
], { optional: true }),
|
|
2501
|
-
query('.router-container :enter', [
|
|
2502
|
-
style({ right: '-100%' })
|
|
2503
|
-
], { optional: true }),
|
|
2504
|
-
group([
|
|
2505
|
-
query('.router-container :leave', [
|
|
2506
|
-
animate('1000ms ease', style({ right: '100%' }))
|
|
2507
|
-
], { optional: true }),
|
|
2508
|
-
query('.router-container :enter', [
|
|
2509
|
-
animate('1000ms ease', style({ right: '0%' }))
|
|
2510
|
-
], { optional: true })
|
|
2511
|
-
]),
|
|
2512
|
-
// Normalize the page style... Might not be necessary
|
|
2513
|
-
// Required only if you have child animations on the page
|
|
2514
|
-
query('.router-container :leave', animateChild(), { optional: true }),
|
|
2515
|
-
query('.router-container :enter', animateChild(), { optional: true }),
|
|
2516
|
-
])
|
|
2517
|
-
]);
|
|
2518
|
-
const transformer = trigger('routeAnimations', [
|
|
2519
|
-
transition('* => isLeft', transformTo({ x: -100, y: -100, rotate: -720 })),
|
|
2520
|
-
transition('* => isRight', transformTo({ x: 100, y: -100, rotate: 90 })),
|
|
2521
|
-
transition('isRight => *', transformTo({ x: -100, y: -100, rotate: 360 })),
|
|
2522
|
-
transition('isLeft => *', transformTo({ x: 100, y: -100, rotate: -360 }))
|
|
2523
|
-
]);
|
|
2524
|
-
function transformTo({ x = 100, y = 0, rotate = 0 }) {
|
|
2525
|
-
const optional = { optional: true };
|
|
2526
|
-
return [
|
|
2527
|
-
query(':enter, :leave', [
|
|
2528
|
-
style({
|
|
2529
|
-
position: 'absolute',
|
|
2530
|
-
top: 0,
|
|
2531
|
-
left: 0,
|
|
2532
|
-
width: '100%'
|
|
2533
|
-
})
|
|
2534
|
-
], optional),
|
|
2535
|
-
query(':enter', [
|
|
2536
|
-
style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)` })
|
|
2537
|
-
], { optional: true }),
|
|
2538
|
-
group([
|
|
2539
|
-
query(':leave', [
|
|
2540
|
-
animate('600ms ease-out', style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)` }))
|
|
2541
|
-
], optional),
|
|
2542
|
-
query(':enter', [
|
|
2543
|
-
animate('600ms ease-out', style({ transform: `translate(0, 0) rotate(0)` }))
|
|
2544
|
-
], { optional: true })
|
|
2545
|
-
]),
|
|
2546
|
-
];
|
|
2547
|
-
}
|
|
2548
|
-
const stepper = trigger('routeAnimations', [
|
|
2549
|
-
transition('* <=> *', [
|
|
2550
|
-
query(':enter, :leave', [
|
|
2551
|
-
style({
|
|
2552
|
-
position: 'absolute',
|
|
2553
|
-
left: 0,
|
|
2554
|
-
width: '100%',
|
|
2555
|
-
}),
|
|
2556
|
-
], { optional: true }),
|
|
2557
|
-
group([
|
|
2558
|
-
query(':enter', [
|
|
2559
|
-
animate('2000ms ease', keyframes([
|
|
2560
|
-
style({ transform: 'scale(0) translateX(100%)', offset: 0 }),
|
|
2561
|
-
style({ transform: 'scale(0.5) translateX(25%)', offset: 0.3 }),
|
|
2562
|
-
style({ transform: 'scale(1) translateX(0%)', offset: 1 }),
|
|
2563
|
-
])),
|
|
2564
|
-
], { optional: true }),
|
|
2565
|
-
query(':leave', [
|
|
2566
|
-
animate('2000ms ease', keyframes([
|
|
2567
|
-
style({ transform: 'scale(1)', offset: 0 }),
|
|
2568
|
-
style({ transform: 'scale(0.5) translateX(-25%) rotate(0)', offset: 0.35 }),
|
|
2569
|
-
style({ opacity: 0, transform: 'translateX(-50%) rotate(-180deg) scale(6)', offset: 1 }),
|
|
2570
|
-
])),
|
|
2571
|
-
], { optional: true })
|
|
2572
|
-
]),
|
|
2573
|
-
])
|
|
2574
|
-
]);
|
|
2575
|
-
const sideToSide = trigger('routeAnimations', [
|
|
2576
|
-
transition('* => *', [
|
|
2577
|
-
style({
|
|
2578
|
-
position: 'fixed',
|
|
2579
|
-
width: '100%',
|
|
2580
|
-
transform: 'translateX(-100%)'
|
|
2581
|
-
}),
|
|
2582
|
-
animate('1000ms ease', style({ transform: 'translateX(0%)' }))
|
|
2583
|
-
]),
|
|
2584
|
-
transition(':leave', [
|
|
2585
|
-
style({
|
|
2586
|
-
position: 'fixed',
|
|
2587
|
-
width: '100%',
|
|
2588
|
-
transform: 'translateX(0%)'
|
|
2589
|
-
}),
|
|
2590
|
-
animate('1000ms ease', style({ transform: 'translateX(-100%)' }))
|
|
2591
|
-
])
|
|
2592
|
-
]);
|
|
2593
|
-
|
|
2594
|
-
function routeChanges(router) {
|
|
2595
|
-
return router.events.pipe(filter(event => event instanceof NavigationStart || event instanceof NavigationEnd), distinctUntilChanged((x, y) => x.id === y.id), map(event => ({ url: event.url })));
|
|
2596
|
-
}
|
|
2597
|
-
//
|
|
2598
|
-
// TODO: Animation improvement: Try adding a full component animation that
|
|
2599
|
-
// queries the <ng-content> and <router-outlet> blocks. When the outlet
|
|
2600
|
-
// activates, set the animation state to a transition that moves both blocks
|
|
2601
|
-
// together.
|
|
2602
|
-
//
|
|
2603
|
-
let _uid = 0;
|
|
2604
|
-
class HierarchyRouterOutletComponent {
|
|
2605
|
-
constructor(_route, _router) {
|
|
2606
|
-
this._route = _route;
|
|
2607
|
-
this._router = _router;
|
|
2608
|
-
this._uid = _uid++;
|
|
2609
|
-
this._ngUnsubscribe = new Subject();
|
|
2610
|
-
this.animState = 'isRight';
|
|
2611
|
-
// animState = ''
|
|
2612
|
-
this.outletActive = false;
|
|
2613
|
-
this.ngContentVisible = true;
|
|
2614
|
-
this._router.events.pipe(filter(event => event instanceof NavigationEnd),
|
|
2615
|
-
// tap(v => console.log(`_hasChildren()[${this._uid}]`, this._hasChildren())),
|
|
2616
|
-
takeUntil(this._ngUnsubscribe))
|
|
2617
|
-
.subscribe();
|
|
2618
|
-
// routeChanges(this._router)
|
|
2619
|
-
// .pipe(
|
|
2620
|
-
// untilDestroyed(this),
|
|
2621
|
-
// tap(() => {
|
|
2622
|
-
// // if (this._hasChildren()) {
|
|
2623
|
-
// // this.animState = 'isLeft'
|
|
2624
|
-
// // } else {
|
|
2625
|
-
// // this.animState = 'isRight'
|
|
2626
|
-
// // }
|
|
2627
|
-
// })
|
|
2628
|
-
// )
|
|
2629
|
-
// .subscribe(v => console.log(`routeChanges[${this._uid}]`, v))
|
|
2630
|
-
}
|
|
2631
|
-
ngOnDestroy() {
|
|
2632
|
-
this._ngUnsubscribe.next(undefined);
|
|
2633
|
-
this._ngUnsubscribe.complete();
|
|
2634
|
-
}
|
|
2635
|
-
_hasChildren() {
|
|
2636
|
-
const count = this._route.pathFromRoot.length - 1;
|
|
2637
|
-
let countFull = 0;
|
|
2638
|
-
if (this._router.parseUrl(this._router.url).root.children.primary) {
|
|
2639
|
-
countFull = this._router.parseUrl(this._router.url).root.children.primary.segments.length;
|
|
2640
|
-
}
|
|
2641
|
-
// console.log(`_hasChildren[${this._uid}]`, { count, countFull })
|
|
2642
|
-
return countFull > count;
|
|
2643
|
-
}
|
|
2644
|
-
prepareRoute(outlet) {
|
|
2645
|
-
// console.log(`outlet[${this._uid}]`, outlet, this.animState, this._hasChildren(), this.outletActive)
|
|
2646
|
-
if (outlet.isActivated) {
|
|
2647
|
-
// console.log(outlet.isActivated)
|
|
2648
|
-
// console.log(outlet.component)
|
|
2649
|
-
// console.log(this.animState)
|
|
2650
|
-
return this.animState;
|
|
2651
|
-
}
|
|
2652
|
-
else {
|
|
2653
|
-
return undefined;
|
|
2654
|
-
}
|
|
2655
|
-
// console.log(`prepareRoute[${this._uid}]`, this.animState, this._hasChildren())
|
|
2656
|
-
// console.log('activatedRouteData', outlet && outlet.activatedRouteData)
|
|
2657
|
-
// if (outlet && outlet.isActivated) {
|
|
2658
|
-
// console.log('activatedRoute', outlet.activatedRoute && outlet.activatedRoute.snapshot.url)
|
|
2659
|
-
// }
|
|
2660
|
-
// return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation']
|
|
2661
|
-
// console.log('')
|
|
2662
|
-
// return this.animState
|
|
2663
|
-
}
|
|
2664
|
-
outletActivate(event) {
|
|
2665
|
-
// console.log(`outletActivate[${this._uid}]`, event)
|
|
2666
|
-
this.outletActive = true;
|
|
2667
|
-
}
|
|
2668
|
-
outletDeactivate(event) {
|
|
2669
|
-
// console.log(`outletDeactivate[${this._uid}]`, event)
|
|
2670
|
-
this.outletActive = false;
|
|
2671
|
-
}
|
|
2672
|
-
routeAnimationsStart(event) {
|
|
2673
|
-
// console.log('routeAnimationsStart', event)
|
|
2674
|
-
this.ngContentVisible = true;
|
|
2675
|
-
}
|
|
2676
|
-
routeAnimationsDone(event) {
|
|
2677
|
-
// console.log('routeAnimationsDone', event)
|
|
2678
|
-
this.ngContentVisible = !this.outletActive;
|
|
2679
|
-
}
|
|
2680
|
-
}
|
|
2681
|
-
HierarchyRouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyRouterOutletComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2682
|
-
HierarchyRouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HierarchyRouterOutletComponent, selector: "seam-hierarchy-router-outlet", ngImport: i0, template: "<div class=\"h-100\"\n [@routeAnimations]=\"prepareRoute(outlet)\"\n (@routeAnimations.start)=\"routeAnimationsStart($event)\"\n (@routeAnimations.done)=\"routeAnimationsDone($event)\">\n <div class=\"hierarchy-router-outlet--content h-100\" *ngIf=\"ngContentVisible\">\n <!-- {{ animState }} -->\n <div class=\"border border-info h-100\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"router-container\"\n [class.h-100]=\"!ngContentVisible\"\n >\n <!-- <div [@routeAnimations]=\"animState\"> -->\n <!-- <div class=\"hierarchy-router-outlet--route-content\"> -->\n <router-outlet #outlet=\"outlet\"\n (activate)=\"outletActivate($event)\"\n (deactivate)=\"outletDeactivate($event)\">\n </router-outlet>\n </div>\n</div>\n", styles: [":host{display:block;height:100%}:host ::ng-deep router-outlet+*{background-color:#fff;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], animations: [
|
|
2683
|
-
// fader,
|
|
2684
|
-
slider,
|
|
2685
|
-
// transformer,
|
|
2686
|
-
// stepper,
|
|
2687
|
-
// sideToSide
|
|
2688
|
-
// contentLeave
|
|
2689
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2690
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyRouterOutletComponent, decorators: [{
|
|
2691
|
-
type: Component,
|
|
2692
|
-
args: [{ selector: 'seam-hierarchy-router-outlet', animations: [
|
|
2693
|
-
// fader,
|
|
2694
|
-
slider,
|
|
2695
|
-
// transformer,
|
|
2696
|
-
// stepper,
|
|
2697
|
-
// sideToSide
|
|
2698
|
-
// contentLeave
|
|
2699
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-100\"\n [@routeAnimations]=\"prepareRoute(outlet)\"\n (@routeAnimations.start)=\"routeAnimationsStart($event)\"\n (@routeAnimations.done)=\"routeAnimationsDone($event)\">\n <div class=\"hierarchy-router-outlet--content h-100\" *ngIf=\"ngContentVisible\">\n <!-- {{ animState }} -->\n <div class=\"border border-info h-100\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"router-container\"\n [class.h-100]=\"!ngContentVisible\"\n >\n <!-- <div [@routeAnimations]=\"animState\"> -->\n <!-- <div class=\"hierarchy-router-outlet--route-content\"> -->\n <router-outlet #outlet=\"outlet\"\n (activate)=\"outletActivate($event)\"\n (deactivate)=\"outletDeactivate($event)\">\n </router-outlet>\n </div>\n</div>\n", styles: [":host{display:block;height:100%}:host ::ng-deep router-outlet+*{background-color:#fff;height:100%}\n"] }]
|
|
2700
|
-
}], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: i1$2.Router }]; } });
|
|
2701
|
-
|
|
2702
|
-
class HierarchyLevelResolver {
|
|
2703
|
-
resolve(route, state) {
|
|
2704
|
-
// console.log('[HierarchyLevelResolver]', route)
|
|
2705
|
-
// console.log('[HierarchyLevelResolver]', state)
|
|
2706
|
-
return this._getMaxHierLevel(route);
|
|
2707
|
-
}
|
|
2708
|
-
_getMaxHierLevel(route) {
|
|
2709
|
-
let curr = route;
|
|
2710
|
-
while (curr.parent) {
|
|
2711
|
-
curr = curr.parent;
|
|
2712
|
-
if (curr.data['hierLevel']) {
|
|
2713
|
-
return curr.data['hierLevel'] + 1;
|
|
2714
|
-
}
|
|
2715
|
-
}
|
|
2716
|
-
return 0;
|
|
2717
|
-
}
|
|
2718
|
-
}
|
|
2719
|
-
HierarchyLevelResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyLevelResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2720
|
-
HierarchyLevelResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyLevelResolver, providedIn: 'root' });
|
|
2721
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyLevelResolver, decorators: [{
|
|
2722
|
-
type: Injectable,
|
|
2723
|
-
args: [{ providedIn: 'root' }]
|
|
2724
|
-
}] });
|
|
2725
|
-
|
|
2726
|
-
class TheSeamDynamicRouterModule {
|
|
2727
|
-
}
|
|
2728
|
-
TheSeamDynamicRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDynamicRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2729
|
-
TheSeamDynamicRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDynamicRouterModule, declarations: [HierarchyRouterOutletComponent], imports: [CommonModule,
|
|
2730
|
-
RouterModule], exports: [HierarchyRouterOutletComponent] });
|
|
2731
|
-
TheSeamDynamicRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDynamicRouterModule, imports: [CommonModule,
|
|
2732
|
-
RouterModule] });
|
|
2733
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDynamicRouterModule, decorators: [{
|
|
2734
|
-
type: NgModule,
|
|
2735
|
-
args: [{
|
|
2736
|
-
declarations: [
|
|
2737
|
-
HierarchyRouterOutletComponent
|
|
2738
|
-
],
|
|
2739
|
-
imports: [
|
|
2740
|
-
CommonModule,
|
|
2741
|
-
RouterModule
|
|
2742
|
-
],
|
|
2743
|
-
exports: [
|
|
2744
|
-
HierarchyRouterOutletComponent
|
|
2745
|
-
]
|
|
2746
|
-
}]
|
|
2747
|
-
}] });
|
|
2748
|
-
|
|
2749
|
-
class TheSeamSchemaFormCheckboxComponent {
|
|
2750
|
-
constructor(_jsf) {
|
|
2751
|
-
this._jsf = _jsf;
|
|
2752
|
-
this.controlDisabled = false;
|
|
2753
|
-
this.boundControl = false;
|
|
2754
|
-
this.trueValue = true;
|
|
2755
|
-
this.falseValue = false;
|
|
2756
|
-
}
|
|
2757
|
-
ngOnInit() {
|
|
2758
|
-
this.options = this.layoutNode?.options || {};
|
|
2759
|
-
this._jsf.initializeControl(this);
|
|
2760
|
-
if (this.controlValue === null || this.controlValue === undefined) {
|
|
2761
|
-
this.controlValue = this.options?.title;
|
|
2762
|
-
}
|
|
2763
|
-
}
|
|
2764
|
-
updateValue(event) {
|
|
2765
|
-
event.preventDefault();
|
|
2766
|
-
this._jsf.updateValue(this, event.target.checked ? this.trueValue : this.falseValue);
|
|
2767
|
-
}
|
|
2768
|
-
get isChecked() {
|
|
2769
|
-
return this._jsf.getFormControlValue(this) === this.trueValue;
|
|
2770
|
-
}
|
|
2771
|
-
}
|
|
2772
|
-
TheSeamSchemaFormCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormCheckboxComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2773
|
-
TheSeamSchemaFormCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormCheckboxComponent, isStandalone: true, selector: "seam-schema-form-checkbox", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div class=\"mb-3\">\n <seam-form-field *ngIf=\"boundControl\">\n <seam-checkbox seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </seam-checkbox>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <seam-checkbox seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (change)=\"updateValue($event)\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </seam-checkbox>\n </seam-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "component", type: TheSeamCheckboxComponent, selector: "seam-checkbox", inputs: ["tabIndex", "id", "aria-label", "aria-labelledby", "required", "checked", "disabled", "indeterminate", "name", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["seamCheckbox"] }] });
|
|
2774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormCheckboxComponent, decorators: [{
|
|
2775
|
-
type: Component,
|
|
2776
|
-
args: [{ selector: 'seam-schema-form-checkbox', standalone: true, imports: [
|
|
2777
|
-
CommonModule,
|
|
2778
|
-
ReactiveFormsModule,
|
|
2779
|
-
JsonSchemaFormModule,
|
|
2780
|
-
TheSeamFormFieldModule,
|
|
2781
|
-
TheSeamCheckboxComponent,
|
|
2782
|
-
], template: "<div class=\"mb-3\">\n <seam-form-field *ngIf=\"boundControl\">\n <seam-checkbox seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </seam-checkbox>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <seam-checkbox seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (change)=\"updateValue($event)\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </seam-checkbox>\n </seam-form-field>\n</div>\n" }]
|
|
2783
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
2784
|
-
type: Input
|
|
2785
|
-
}], layoutIndex: [{
|
|
2786
|
-
type: Input
|
|
2787
|
-
}], dataIndex: [{
|
|
2788
|
-
type: Input
|
|
2789
|
-
}] } });
|
|
2790
|
-
|
|
2791
|
-
class TheSeamSchemaFormInputComponent {
|
|
2792
|
-
constructor(_jsf) {
|
|
2793
|
-
this._jsf = _jsf;
|
|
2794
|
-
this.controlDisabled = false;
|
|
2795
|
-
this.boundControl = false;
|
|
2796
|
-
this.autoCompleteList = [];
|
|
2797
|
-
}
|
|
2798
|
-
ngOnInit() {
|
|
2799
|
-
this.options = this.layoutNode?.options || {};
|
|
2800
|
-
this._jsf.initializeControl(this);
|
|
2801
|
-
}
|
|
2802
|
-
updateValue(event) {
|
|
2803
|
-
this._jsf.updateValue(this, event.target.value);
|
|
2804
|
-
}
|
|
2805
|
-
}
|
|
2806
|
-
TheSeamSchemaFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormInputComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2807
|
-
TheSeamSchemaFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormInputComponent, isStandalone: true, selector: "seam-schema-form-input", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2808
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormInputComponent, decorators: [{
|
|
2809
|
-
type: Component,
|
|
2810
|
-
args: [{ selector: 'seam-schema-form-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2811
|
-
CommonModule,
|
|
2812
|
-
ReactiveFormsModule,
|
|
2813
|
-
JsonSchemaFormModule,
|
|
2814
|
-
TheSeamFormFieldModule,
|
|
2815
|
-
], template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
2816
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
2817
|
-
type: Input
|
|
2818
|
-
}], layoutIndex: [{
|
|
2819
|
-
type: Input
|
|
2820
|
-
}], dataIndex: [{
|
|
2821
|
-
type: Input
|
|
2822
|
-
}] } });
|
|
2823
|
-
|
|
2824
|
-
class TheSeamSchemaFormNumberComponent {
|
|
2825
|
-
constructor(jsf) {
|
|
2826
|
-
this.jsf = jsf;
|
|
2827
|
-
this.controlDisabled = false;
|
|
2828
|
-
this.boundControl = false;
|
|
2829
|
-
this.allowNegative = true;
|
|
2830
|
-
this.allowDecimal = true;
|
|
2831
|
-
this.allowExponents = false;
|
|
2832
|
-
this.lastValidNumber = '';
|
|
2833
|
-
}
|
|
2834
|
-
ngOnInit() {
|
|
2835
|
-
this.options = this.layoutNode?.options || {};
|
|
2836
|
-
this.jsf.initializeControl(this);
|
|
2837
|
-
if (this.layoutNode?.dataType === 'integer') {
|
|
2838
|
-
this.allowDecimal = false;
|
|
2839
|
-
}
|
|
2840
|
-
}
|
|
2841
|
-
updateValue(event) {
|
|
2842
|
-
this.jsf.updateValue(this, event.target.value);
|
|
2843
|
-
}
|
|
2844
|
-
}
|
|
2845
|
-
TheSeamSchemaFormNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormNumberComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2846
|
-
TheSeamSchemaFormNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormNumberComponent, isStandalone: true, selector: "seam-schema-form-number", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.max]=\"options?.maximum\"\n [attr.min]=\"options?.minimum\"\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type === 'range' ? 'range' : 'number'\">\n <span *ngIf=\"layoutNode?.type === 'range'\" [innerHTML]=\"controlValue\"></span>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.max]=\"options?.maximum\"\n [attr.min]=\"options?.minimum\"\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type === 'range' ? 'range' : 'number'\"\n [disabled]=\"controlDisabled\">\n <span *ngIf=\"layoutNode?.type === 'range'\" [innerHTML]=\"controlValue\"></span>\n</seam-form-field>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2847
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormNumberComponent, decorators: [{
|
|
2848
|
-
type: Component,
|
|
2849
|
-
args: [{ selector: 'seam-schema-form-number', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2850
|
-
CommonModule,
|
|
2851
|
-
ReactiveFormsModule,
|
|
2852
|
-
JsonSchemaFormModule,
|
|
2853
|
-
TheSeamFormFieldModule,
|
|
2854
|
-
], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.max]=\"options?.maximum\"\n [attr.min]=\"options?.minimum\"\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type === 'range' ? 'range' : 'number'\">\n <span *ngIf=\"layoutNode?.type === 'range'\" [innerHTML]=\"controlValue\"></span>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.max]=\"options?.maximum\"\n [attr.min]=\"options?.minimum\"\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type === 'range' ? 'range' : 'number'\"\n [disabled]=\"controlDisabled\">\n <span *ngIf=\"layoutNode?.type === 'range'\" [innerHTML]=\"controlValue\"></span>\n</seam-form-field>\n", styles: [":host{display:block}\n"] }]
|
|
2855
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
2856
|
-
type: Input
|
|
2857
|
-
}], layoutIndex: [{
|
|
2858
|
-
type: Input
|
|
2859
|
-
}], dataIndex: [{
|
|
2860
|
-
type: Input
|
|
2861
|
-
}] } });
|
|
2862
|
-
|
|
2863
|
-
class TheSeamSchemaFormSelectComponent {
|
|
2864
|
-
constructor(_jsf) {
|
|
2865
|
-
this._jsf = _jsf;
|
|
2866
|
-
this.controlDisabled = false;
|
|
2867
|
-
this.boundControl = false;
|
|
2868
|
-
this.selectList = [];
|
|
2869
|
-
this.isArray = isArray;
|
|
2870
|
-
}
|
|
2871
|
-
ngOnInit() {
|
|
2872
|
-
this.options = this.layoutNode?.options || {};
|
|
2873
|
-
this.selectList = buildTitleMap(this.options.titleMap || this.options.enumNames, this.options.enum, !!this.options.required, !!this.options.flatList);
|
|
2874
|
-
this._jsf.initializeControl(this);
|
|
2875
|
-
}
|
|
2876
|
-
updateValue(event) {
|
|
2877
|
-
this._jsf.updateValue(this, event.value);
|
|
2878
|
-
}
|
|
2879
|
-
}
|
|
2880
|
-
TheSeamSchemaFormSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormSelectComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2881
|
-
TheSeamSchemaFormSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormSelectComponent, isStandalone: true, selector: "seam-schema-form-select", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i5$1.ɵf, selector: "[ng-option-tmp]" }, { kind: "directive", type: i5$1.ɵh, selector: "[ng-label-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2882
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormSelectComponent, decorators: [{
|
|
2883
|
-
type: Component,
|
|
2884
|
-
args: [{ selector: 'seam-schema-form-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2885
|
-
CommonModule,
|
|
2886
|
-
ReactiveFormsModule,
|
|
2887
|
-
JsonSchemaFormModule,
|
|
2888
|
-
TheSeamFormFieldModule,
|
|
2889
|
-
NgSelectModule,
|
|
2890
|
-
], template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
2891
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
2892
|
-
type: Input
|
|
2893
|
-
}], layoutIndex: [{
|
|
2894
|
-
type: Input
|
|
2895
|
-
}], dataIndex: [{
|
|
2896
|
-
type: Input
|
|
2897
|
-
}] } });
|
|
2898
|
-
|
|
2899
|
-
// NOTE: This component is a little hacky, because I am basically creating a
|
|
2900
|
-
// data widget that acts like a data and 'submit' widget at the same time.
|
|
2901
|
-
//
|
|
2902
|
-
// TODO: Try and think of a nicer way to implement this, but still make sense
|
|
2903
|
-
// from a schema definition. The library may need to me forked to actually
|
|
2904
|
-
// support this in the way I expect, but maybe there is another way.
|
|
2905
|
-
class TheSeamSchemaFormSubmitSplitComponent {
|
|
2906
|
-
constructor(_jsf) {
|
|
2907
|
-
this._jsf = _jsf;
|
|
2908
|
-
/** @ignore */
|
|
2909
|
-
this._ngUnsubscribe = new Subject();
|
|
2910
|
-
this.controlDisabled = false;
|
|
2911
|
-
this.boundControl = false;
|
|
2912
|
-
this._buttonLabel = '';
|
|
2913
|
-
this._dropdownDisabled = false;
|
|
2914
|
-
this._selectList = [];
|
|
2915
|
-
}
|
|
2916
|
-
/** @ignore */
|
|
2917
|
-
ngOnInit() {
|
|
2918
|
-
this.options = this.layoutNode?.options || {};
|
|
2919
|
-
this._jsf.initializeControl(this);
|
|
2920
|
-
// NOTE: This is commented out, because there is a bug with submit widgets
|
|
2921
|
-
// manually defined in layout. All nodes initialized from the provided
|
|
2922
|
-
// layout have their options populated from the defaults and 'disabled' is
|
|
2923
|
-
// on of the default properties, so the 'disableInvalidSubmit' condition
|
|
2924
|
-
// never gets reached.
|
|
2925
|
-
//
|
|
2926
|
-
// My initial idea for fixing would be to check if the disabled property
|
|
2927
|
-
// exists and is a boolean, or possibly anything defined that can coerce
|
|
2928
|
-
// into a boolean. I can't think of a reason disabled should be anything
|
|
2929
|
-
// else, so that may be an acceptable fix, but I don't want to enable that
|
|
2930
|
-
// yet.
|
|
2931
|
-
//
|
|
2932
|
-
// if (hasOwn(this.options, 'disabled')) {
|
|
2933
|
-
// console.log('[TheSeamSchemaFormSubmitSplitComponent] hasDisabled', this.options.disabled)
|
|
2934
|
-
// this.controlDisabled = this.options.disabled
|
|
2935
|
-
// } else
|
|
2936
|
-
if (this._jsf.formOptions.disableInvalidSubmit) {
|
|
2937
|
-
this.controlDisabled = !this._jsf.isValid;
|
|
2938
|
-
this._jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);
|
|
2939
|
-
}
|
|
2940
|
-
if (this.controlValue === null || this.controlValue === undefined) {
|
|
2941
|
-
this.controlValue = this.options.title;
|
|
2942
|
-
}
|
|
2943
|
-
if (hasOwn(this.options, 'title')) {
|
|
2944
|
-
this._buttonLabel = this.options.title;
|
|
2945
|
-
}
|
|
2946
|
-
this._initDropdown();
|
|
2947
|
-
// console.log('this', this)
|
|
2948
|
-
}
|
|
2949
|
-
/** @ignore */
|
|
2950
|
-
ngOnDestroy() {
|
|
2951
|
-
this._ngUnsubscribe.next(undefined);
|
|
2952
|
-
this._ngUnsubscribe.complete();
|
|
2953
|
-
}
|
|
2954
|
-
updateValue(event) {
|
|
2955
|
-
if (typeof this.options?.onClick === 'function') {
|
|
2956
|
-
this.options.onClick(event);
|
|
2957
|
-
}
|
|
2958
|
-
else {
|
|
2959
|
-
this._jsf.updateValue(this, event.target.value);
|
|
2960
|
-
}
|
|
2961
|
-
}
|
|
2962
|
-
_initDropdown() {
|
|
2963
|
-
if (!hasOwn(this.layoutNode, 'items') || !(this.layoutNode?.items || []).length) {
|
|
2964
|
-
return;
|
|
2965
|
-
}
|
|
2966
|
-
if (isDevMode()) {
|
|
2967
|
-
if (this.layoutNode?.items && this.layoutNode?.items.length > 1) {
|
|
2968
|
-
// eslint-disable-next-line no-console
|
|
2969
|
-
console.warn(`TheSeamSchemaFormSubmitSplitComponent only supports one item.` +
|
|
2970
|
-
` items after index 0 will be ignored.`);
|
|
2971
|
-
}
|
|
2972
|
-
}
|
|
2973
|
-
const idx = 0;
|
|
2974
|
-
const item = (this.layoutNode?.items)[idx] || {};
|
|
2975
|
-
this._dropdownObj = {
|
|
2976
|
-
layoutNode: item,
|
|
2977
|
-
layoutIndex: (this.layoutIndex || []).concat(idx),
|
|
2978
|
-
dataIndex: this.layoutNode?.dataType === 'array' ? (this.dataIndex || []).concat(idx) : this.dataIndex,
|
|
2979
|
-
options: item.options || {}
|
|
2980
|
-
};
|
|
2981
|
-
this._jsf.initializeControl(this._dropdownObj);
|
|
2982
|
-
const items = buildTitleMap(this._dropdownObj.options.titleMap || this._dropdownObj.options.enumNames, this._dropdownObj.options.enum, !!this._dropdownObj.options.required, !!this._dropdownObj.options.flatList);
|
|
2983
|
-
this._selectList = items;
|
|
2984
|
-
// TODO: Should this be checking if the control is bound?
|
|
2985
|
-
const dropdownControl = this._getDropdownControl();
|
|
2986
|
-
if (!dropdownControl) {
|
|
2987
|
-
return;
|
|
2988
|
-
}
|
|
2989
|
-
observeControlValue(dropdownControl).pipe(takeUntil(this._ngUnsubscribe)).subscribe(value => {
|
|
2990
|
-
this._setSelectListCheckedProp(value);
|
|
2991
|
-
this._selectedItem = this._getSelectedItem();
|
|
2992
|
-
});
|
|
2993
|
-
observeControlStatus(dropdownControl).pipe(takeUntil(this._ngUnsubscribe)).subscribe(value => {
|
|
2994
|
-
this._dropdownDisabled = dropdownControl.disabled;
|
|
2995
|
-
});
|
|
2996
|
-
}
|
|
2997
|
-
_getDropdownControl() {
|
|
2998
|
-
return this._dropdownObj.formControl;
|
|
2999
|
-
}
|
|
3000
|
-
_setSelectListCheckedProp(value) {
|
|
3001
|
-
const items = this._selectList;
|
|
3002
|
-
for (const item of items) {
|
|
3003
|
-
if (item.value === value) {
|
|
3004
|
-
item.checked = true;
|
|
3005
|
-
}
|
|
3006
|
-
else if (item.checked) {
|
|
3007
|
-
item.checked = false;
|
|
3008
|
-
}
|
|
3009
|
-
}
|
|
3010
|
-
this._selectList = [...items];
|
|
3011
|
-
}
|
|
3012
|
-
_getSelectedItem() {
|
|
3013
|
-
return (this._selectList || []).find(x => x.checked === true);
|
|
3014
|
-
}
|
|
3015
|
-
_setDropdownValue(value) {
|
|
3016
|
-
const formControl = this._getDropdownControl();
|
|
3017
|
-
formControl?.setValue(value);
|
|
3018
|
-
}
|
|
3019
|
-
}
|
|
3020
|
-
TheSeamSchemaFormSubmitSplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3021
|
-
TheSeamSchemaFormSubmitSplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormSubmitSplitComponent, isStandalone: true, selector: "seam-schema-form-submit-split", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "ngmodule", type: TheSeamMenuModule }, { kind: "component", type: i3$2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3$2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i3$2.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i4$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }] });
|
|
3022
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, decorators: [{
|
|
3023
|
-
type: Component,
|
|
3024
|
-
args: [{ selector: 'seam-schema-form-submit-split', standalone: true, imports: [
|
|
3025
|
-
CommonModule,
|
|
3026
|
-
ReactiveFormsModule,
|
|
3027
|
-
JsonSchemaFormModule,
|
|
3028
|
-
TheSeamFormFieldModule,
|
|
3029
|
-
TheSeamMenuModule,
|
|
3030
|
-
TheSeamButtonsModule,
|
|
3031
|
-
], template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
3032
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
3033
|
-
type: Input
|
|
3034
|
-
}], layoutIndex: [{
|
|
3035
|
-
type: Input
|
|
3036
|
-
}], dataIndex: [{
|
|
3037
|
-
type: Input
|
|
3038
|
-
}] } });
|
|
3039
|
-
|
|
3040
|
-
class TheSeamSchemaFormDividerComponent {
|
|
3041
|
-
ngOnInit() {
|
|
3042
|
-
this.options = this.layoutNode.options || {};
|
|
3043
|
-
}
|
|
3044
|
-
}
|
|
3045
|
-
TheSeamSchemaFormDividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3046
|
-
TheSeamSchemaFormDividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormDividerComponent, isStandalone: true, selector: "seam-schema-form-divider", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `<hr [class]="options?.htmlClass" />`, isInline: true, styles: [":host{display:block}\n"] });
|
|
3047
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormDividerComponent, decorators: [{
|
|
3048
|
-
type: Component,
|
|
3049
|
-
args: [{ selector: 'seam-schema-form-divider', template: `<hr [class]="options?.htmlClass" />`, standalone: true, styles: [":host{display:block}\n"] }]
|
|
3050
|
-
}], propDecorators: { layoutNode: [{
|
|
3051
|
-
type: Input
|
|
3052
|
-
}], layoutIndex: [{
|
|
3053
|
-
type: Input
|
|
3054
|
-
}], dataIndex: [{
|
|
3055
|
-
type: Input
|
|
3056
|
-
}] } });
|
|
3057
|
-
|
|
3058
|
-
class TheSeamSchemaFormTelComponent {
|
|
3059
|
-
constructor(_jsf) {
|
|
3060
|
-
this._jsf = _jsf;
|
|
3061
|
-
this.controlDisabled = false;
|
|
3062
|
-
this.boundControl = false;
|
|
3063
|
-
this.autoCompleteList = [];
|
|
3064
|
-
}
|
|
3065
|
-
ngOnInit() {
|
|
3066
|
-
this.options = this.layoutNode?.options || {};
|
|
3067
|
-
this._jsf.initializeControl(this);
|
|
3068
|
-
console.log(this.controlValue);
|
|
3069
|
-
console.log(this.formControl?.value);
|
|
3070
|
-
}
|
|
3071
|
-
updateValue(event) {
|
|
3072
|
-
this._jsf.updateValue(this, event.target.value);
|
|
3073
|
-
}
|
|
3074
|
-
}
|
|
3075
|
-
TheSeamSchemaFormTelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormTelComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3076
|
-
TheSeamSchemaFormTelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormTelComponent, isStandalone: true, selector: "seam-schema-form-tel", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\">\n </seam-tel-input>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [disabled]=\"controlDisabled\">\n </seam-tel-input>\n</seam-form-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: TheSeamTelInputModule }, { kind: "component", type: i5$2.TheSeamTelInputComponent, selector: "seam-tel-input", inputs: ["required", "disabled", "tabIndex", "name", "value"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3077
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormTelComponent, decorators: [{
|
|
3078
|
-
type: Component,
|
|
3079
|
-
args: [{ selector: 'seam-schema-form-tel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
3080
|
-
CommonModule,
|
|
3081
|
-
ReactiveFormsModule,
|
|
3082
|
-
JsonSchemaFormModule,
|
|
3083
|
-
TheSeamFormFieldModule,
|
|
3084
|
-
TheSeamTelInputModule,
|
|
3085
|
-
], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\">\n </seam-tel-input>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [disabled]=\"controlDisabled\">\n </seam-tel-input>\n</seam-form-field>\n" }]
|
|
3086
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
3087
|
-
type: Input
|
|
3088
|
-
}], layoutIndex: [{
|
|
3089
|
-
type: Input
|
|
3090
|
-
}], dataIndex: [{
|
|
3091
|
-
type: Input
|
|
3092
|
-
}] } });
|
|
3093
|
-
|
|
3094
|
-
class TheSeamSchemaFormTiledSelectComponent {
|
|
3095
|
-
constructor(_jsf, _platform) {
|
|
3096
|
-
this._jsf = _jsf;
|
|
3097
|
-
this._platform = _platform;
|
|
3098
|
-
this.controlDisabled = false;
|
|
3099
|
-
this.boundControl = false;
|
|
3100
|
-
this.tiles = [];
|
|
3101
|
-
this.layout = 'grid';
|
|
3102
|
-
this.multiple = false;
|
|
3103
|
-
this.selectionToggleable = true;
|
|
3104
|
-
this.tileBackdrop = false;
|
|
3105
|
-
this.showSelectedIcon = true;
|
|
3106
|
-
this.animationsDisabled = this._platform.IOS;
|
|
3107
|
-
}
|
|
3108
|
-
ngOnInit() {
|
|
3109
|
-
this.options = this.layoutNode?.options || {};
|
|
3110
|
-
this._jsf.initializeControl(this);
|
|
3111
|
-
console.log(this.options);
|
|
3112
|
-
console.log(this.layoutNode);
|
|
3113
|
-
this.tiles = this.options.tiles || [];
|
|
3114
|
-
}
|
|
3115
|
-
updateValue(event) {
|
|
3116
|
-
this._jsf.updateValue(this, event.target.value);
|
|
3117
|
-
}
|
|
3118
|
-
}
|
|
3119
|
-
TheSeamSchemaFormTiledSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormTiledSelectComponent, deps: [{ token: i1$3.JsonSchemaFormService }, { token: i2$3.Platform }], target: i0.ɵɵFactoryTarget.Component });
|
|
3120
|
-
TheSeamSchemaFormTiledSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormTiledSelectComponent, isStandalone: true, selector: "seam-schema-form-tiled-select", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [attr.required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [disabled]=\"controlDisabled\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: TheSeamTiledSelectModule }, { kind: "component", type: i6$1.TheSeamTiledSelectComponent, selector: "seam-tiled-select", inputs: ["layout", "tiles", "value", "disabled", "multiple", "selectionToggleable", "tileBackdrop", "showSelectedIcon", "animationsDisabled"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormTiledSelectComponent, decorators: [{
|
|
3122
|
-
type: Component,
|
|
3123
|
-
args: [{ selector: 'seam-schema-form-tiled-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
3124
|
-
CommonModule,
|
|
3125
|
-
ReactiveFormsModule,
|
|
3126
|
-
JsonSchemaFormModule,
|
|
3127
|
-
TheSeamFormFieldModule,
|
|
3128
|
-
TheSeamTiledSelectModule,
|
|
3129
|
-
], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [attr.required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [disabled]=\"controlDisabled\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n" }]
|
|
3130
|
-
}], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }, { type: i2$3.Platform }]; }, propDecorators: { layoutNode: [{
|
|
3131
|
-
type: Input
|
|
3132
|
-
}], layoutIndex: [{
|
|
3133
|
-
type: Input
|
|
3134
|
-
}], dataIndex: [{
|
|
3135
|
-
type: Input
|
|
3136
|
-
}] } });
|
|
3137
|
-
|
|
3138
|
-
class TheSeamSchemaFormFrameworkComponent {
|
|
3139
|
-
}
|
|
3140
|
-
TheSeamSchemaFormFrameworkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormFrameworkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3141
|
-
TheSeamSchemaFormFrameworkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamSchemaFormFrameworkComponent, selector: "seam-schema-form-framework", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, host: { properties: { "attr.data-name": "layoutNode?.node", "attr.data-data-pointer": "layoutNode?.dataPointer" } }, ngImport: i0, template: "<select-widget-widget\n [dataIndex]=\"$any(dataIndex)\"\n [layoutIndex]=\"$any(layoutIndex)\"\n [layoutNode]=\"layoutNode\">\n</select-widget-widget>\n", styles: [""], dependencies: [{ kind: "component", type: i1$3.SelectWidgetComponent, selector: "select-widget-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] });
|
|
3142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormFrameworkComponent, decorators: [{
|
|
3143
|
-
type: Component,
|
|
3144
|
-
args: [{ selector: 'seam-schema-form-framework', host: {
|
|
3145
|
-
'[attr.data-name]': 'layoutNode?.node',
|
|
3146
|
-
'[attr.data-data-pointer]': 'layoutNode?.dataPointer',
|
|
3147
|
-
}, template: "<select-widget-widget\n [dataIndex]=\"$any(dataIndex)\"\n [layoutIndex]=\"$any(layoutIndex)\"\n [layoutNode]=\"layoutNode\">\n</select-widget-widget>\n" }]
|
|
3148
|
-
}], propDecorators: { layoutNode: [{
|
|
3149
|
-
type: Input
|
|
3150
|
-
}], layoutIndex: [{
|
|
3151
|
-
type: Input
|
|
3152
|
-
}], dataIndex: [{
|
|
3153
|
-
type: Input
|
|
3154
|
-
}] } });
|
|
3155
|
-
|
|
3156
|
-
const THESEAM_SCHEMA_FRAMEWORK_OVERRIDES = new InjectionToken('THESEAM_SCHEMA_FRAMEWORK_OVERRIDES');
|
|
3157
|
-
function extendFramework(toExtend, extendFrameworkOrName) {
|
|
3158
|
-
// console.log('extendFramework', toExtend, extendFrameworkOrName)
|
|
3159
|
-
const _overrides = inject(Framework, { optional: true });
|
|
3160
|
-
const overrides = typeof extendFrameworkOrName === 'string'
|
|
3161
|
-
? (_overrides || []).filter(x => x.name === extendFrameworkOrName)
|
|
3162
|
-
: [extendFrameworkOrName];
|
|
3163
|
-
// console.log(_overrides, overrides)
|
|
3164
|
-
if (overrides) {
|
|
3165
|
-
for (const override of overrides) {
|
|
3166
|
-
// console.log('override', override)
|
|
3167
|
-
if (hasProperty(override, 'framework')) {
|
|
3168
|
-
toExtend.framework = override.framework;
|
|
3169
|
-
}
|
|
3170
|
-
if (hasProperty(override, 'widgets')) {
|
|
3171
|
-
toExtend.widgets = { ...toExtend.widgets, ...override.widgets };
|
|
3172
|
-
}
|
|
3173
|
-
if (hasProperty(override, 'stylesheets')) {
|
|
3174
|
-
toExtend.stylesheets = { ...toExtend.stylesheets, ...override.stylesheets };
|
|
3175
|
-
}
|
|
3176
|
-
if (hasProperty(override, 'scripts')) {
|
|
3177
|
-
toExtend.scripts = { ...toExtend.scripts, ...override.scripts };
|
|
3178
|
-
}
|
|
3179
|
-
}
|
|
3180
|
-
}
|
|
3181
|
-
}
|
|
3182
|
-
class TheSeamFramework extends Framework {
|
|
3183
|
-
constructor(_overrides) {
|
|
3184
|
-
super();
|
|
3185
|
-
this.name = 'seam-framework';
|
|
3186
|
-
this.framework = TheSeamSchemaFormFrameworkComponent;
|
|
3187
|
-
this.widgets = {
|
|
3188
|
-
'checkbox': TheSeamSchemaFormCheckboxComponent,
|
|
3189
|
-
// 'submit': TheSeamSchemaFormSubmitComponent,
|
|
3190
|
-
'submit': TheSeamSchemaFormSubmitSplitComponent,
|
|
3191
|
-
'text': TheSeamSchemaFormInputComponent,
|
|
3192
|
-
'number': TheSeamSchemaFormNumberComponent,
|
|
3193
|
-
'select': TheSeamSchemaFormSelectComponent,
|
|
3194
|
-
'divider': TheSeamSchemaFormDividerComponent,
|
|
3195
|
-
'tel': TheSeamSchemaFormTelComponent,
|
|
3196
|
-
'tiled-select': TheSeamSchemaFormTiledSelectComponent
|
|
3197
|
-
// 'date': // TODO: Implement
|
|
3198
|
-
// 'file': // TODO: Implement
|
|
3199
|
-
// 'image': // TODO: Implement
|
|
3200
|
-
// 'richtext': // TODO: Implement
|
|
3201
|
-
// 'tabs': // TODO: Implement
|
|
3202
|
-
// 'wizard': // TODO: Implement
|
|
3203
|
-
// 'card': // TODO: Implement
|
|
3204
|
-
// 'map': // TODO: Implement
|
|
3205
|
-
};
|
|
3206
|
-
// console.log('TheSeamFramework', _overrides, this)
|
|
3207
|
-
if (_overrides) {
|
|
3208
|
-
for (const override of _overrides) {
|
|
3209
|
-
// console.log('override', override)
|
|
3210
|
-
if (hasProperty(override, 'widgets')) {
|
|
3211
|
-
this.widgets = { ...this.widgets, ...override.widgets };
|
|
3212
|
-
}
|
|
3213
|
-
}
|
|
3214
|
-
}
|
|
3215
|
-
}
|
|
3216
|
-
}
|
|
3217
|
-
TheSeamFramework.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFramework, deps: [{ token: THESEAM_SCHEMA_FRAMEWORK_OVERRIDES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3218
|
-
TheSeamFramework.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFramework });
|
|
3219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamFramework, decorators: [{
|
|
3220
|
-
type: Injectable
|
|
3221
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
3222
|
-
type: Optional
|
|
3223
|
-
}, {
|
|
3224
|
-
type: Inject,
|
|
3225
|
-
args: [THESEAM_SCHEMA_FRAMEWORK_OVERRIDES]
|
|
3226
|
-
}] }]; } });
|
|
3227
|
-
|
|
3228
|
-
class TheSeamSchemaFormModule {
|
|
3229
|
-
}
|
|
3230
|
-
TheSeamSchemaFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3231
|
-
TheSeamSchemaFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormModule, declarations: [TheSeamSchemaFormFrameworkComponent], imports: [CommonModule,
|
|
3232
|
-
JsonSchemaFormModule,
|
|
3233
|
-
WidgetLibraryModule], exports: [TheSeamSchemaFormFrameworkComponent,
|
|
3234
|
-
JsonSchemaFormModule] });
|
|
3235
|
-
TheSeamSchemaFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormModule, providers: [
|
|
3236
|
-
JsonSchemaFormService,
|
|
3237
|
-
FrameworkLibraryService,
|
|
3238
|
-
WidgetLibraryService,
|
|
3239
|
-
{ provide: Framework, useClass: TheSeamFramework, multi: true }
|
|
3240
|
-
], imports: [CommonModule,
|
|
3241
|
-
JsonSchemaFormModule,
|
|
3242
|
-
WidgetLibraryModule, JsonSchemaFormModule] });
|
|
3243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamSchemaFormModule, decorators: [{
|
|
3244
|
-
type: NgModule,
|
|
3245
|
-
args: [{
|
|
3246
|
-
declarations: [
|
|
3247
|
-
TheSeamSchemaFormFrameworkComponent
|
|
3248
|
-
],
|
|
3249
|
-
imports: [
|
|
3250
|
-
CommonModule,
|
|
3251
|
-
JsonSchemaFormModule,
|
|
3252
|
-
WidgetLibraryModule,
|
|
3253
|
-
],
|
|
3254
|
-
providers: [
|
|
3255
|
-
JsonSchemaFormService,
|
|
3256
|
-
FrameworkLibraryService,
|
|
3257
|
-
WidgetLibraryService,
|
|
3258
|
-
{ provide: Framework, useClass: TheSeamFramework, multi: true }
|
|
3259
|
-
],
|
|
3260
|
-
exports: [
|
|
3261
|
-
TheSeamSchemaFormFrameworkComponent,
|
|
3262
|
-
JsonSchemaFormModule
|
|
3263
|
-
],
|
|
3264
|
-
}]
|
|
3265
|
-
}] });
|
|
3266
|
-
|
|
3267
|
-
function isHorizontalNavItemType(item, type) {
|
|
3268
|
-
return item.itemType === type;
|
|
3269
|
-
}
|
|
3270
|
-
function isHorizontalNavItemActive(item) {
|
|
3271
|
-
return item.__state?.active ?? false;
|
|
3272
|
-
}
|
|
3273
|
-
function isHorizontalNavItemExpanded(item) {
|
|
3274
|
-
return item.__state?.expanded ?? false;
|
|
3275
|
-
}
|
|
3276
|
-
function isHorizontalNavItemFocused(item) {
|
|
3277
|
-
return item.__state?.focused ?? false;
|
|
3278
|
-
}
|
|
3279
|
-
function horizontalNavItemHasChildren(item) {
|
|
3280
|
-
return horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0;
|
|
3281
|
-
}
|
|
3282
|
-
function horizontalNavItemCanHaveChildren(item) {
|
|
3283
|
-
return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
|
|
3284
|
-
}
|
|
3285
|
-
function horizontalNavItemHasActiveChild(item) {
|
|
3286
|
-
if (!horizontalNavItemHasChildren(item)) {
|
|
3287
|
-
return false;
|
|
3288
|
-
}
|
|
3289
|
-
for (const child of item.children) {
|
|
3290
|
-
if (getHorizontalNavItemStateProp(child, 'active') || horizontalNavItemHasActiveChild(child)) {
|
|
3291
|
-
return true;
|
|
3292
|
-
}
|
|
3293
|
-
}
|
|
3294
|
-
return false;
|
|
3295
|
-
}
|
|
3296
|
-
function horizontalNavItemHasExpandedChild(item) {
|
|
3297
|
-
if (!horizontalNavItemHasChildren(item)) {
|
|
3298
|
-
return false;
|
|
3299
|
-
}
|
|
3300
|
-
for (const child of item.children) {
|
|
3301
|
-
if (getHorizontalNavItemStateProp(child, 'expanded')) {
|
|
3302
|
-
return true;
|
|
3303
|
-
}
|
|
3304
|
-
}
|
|
3305
|
-
return false;
|
|
3306
|
-
}
|
|
3307
|
-
function horizontalNavItemCanBeActive(item) {
|
|
3308
|
-
return isHorizontalNavItemType(item, 'basic') || isHorizontalNavItemType(item, 'link');
|
|
3309
|
-
}
|
|
3310
|
-
function horizontalNavItemCanExpand(item) {
|
|
3311
|
-
return horizontalNavItemCanHaveChildren(item);
|
|
3312
|
-
}
|
|
3313
|
-
function findHorizontalNavLinkItems(items) {
|
|
3314
|
-
const linkItems = [];
|
|
3315
|
-
const _fn = (_items) => {
|
|
3316
|
-
for (const item of _items) {
|
|
3317
|
-
if (isHorizontalNavItemType(item, 'link')) {
|
|
3318
|
-
linkItems.push(item);
|
|
3319
|
-
}
|
|
3320
|
-
if (horizontalNavItemCanHaveChildren(item) && hasProperty(item, 'children')) {
|
|
3321
|
-
_fn(item.children);
|
|
3322
|
-
}
|
|
3323
|
-
}
|
|
3324
|
-
};
|
|
3325
|
-
_fn(items);
|
|
3326
|
-
return linkItems;
|
|
3327
|
-
}
|
|
3328
|
-
function setHorizontalNavItemStateProp(item, prop, value) {
|
|
3329
|
-
if (hasProperty(item, '__state')) {
|
|
3330
|
-
item.__state[prop] = value;
|
|
3331
|
-
}
|
|
3332
|
-
}
|
|
3333
|
-
function getHorizontalNavItemStateProp(item, prop) {
|
|
3334
|
-
return setDefaultHorizontalNavItemState(item).__state[prop];
|
|
3335
|
-
}
|
|
3336
|
-
function setDefaultHorizontalNavItemState(item) {
|
|
3337
|
-
if (hasProperty(item, '__state')) {
|
|
3338
|
-
return item;
|
|
3339
|
-
}
|
|
3340
|
-
item.__state = {
|
|
3341
|
-
active: false,
|
|
3342
|
-
expanded: false,
|
|
3343
|
-
focused: false
|
|
3344
|
-
};
|
|
3345
|
-
// TODO: See if there is a nice way to fix the typing for this.
|
|
3346
|
-
return item;
|
|
3347
|
-
}
|
|
3348
|
-
function areSameHorizontalNavItem(item1, item2) {
|
|
3349
|
-
if (isNullOrUndefined(item1) || isNullOrUndefined(item2)) {
|
|
3350
|
-
return false;
|
|
3351
|
-
}
|
|
3352
|
-
if (item1.itemType !== item2.itemType) {
|
|
3353
|
-
return false;
|
|
3354
|
-
}
|
|
3355
|
-
if (isHorizontalNavItemType(item1, 'title') && isHorizontalNavItemType(item2, 'title')) {
|
|
3356
|
-
return item1.label === item2.label;
|
|
3357
|
-
}
|
|
3358
|
-
else if (isHorizontalNavItemType(item1, 'divider') && isHorizontalNavItemType(item2, 'divider')) {
|
|
3359
|
-
return item1.label === item2.label;
|
|
3360
|
-
}
|
|
3361
|
-
else if (isHorizontalNavItemType(item1, 'basic') && isHorizontalNavItemType(item2, 'basic')) {
|
|
3362
|
-
return item1.label === item2.label;
|
|
3363
|
-
}
|
|
3364
|
-
else if (isHorizontalNavItemType(item1, 'link') && isHorizontalNavItemType(item2, 'link')) {
|
|
3365
|
-
return item1.label === item2.label && item1.link === item2.link;
|
|
3366
|
-
}
|
|
3367
|
-
else if (isHorizontalNavItemType(item1, 'button') && isHorizontalNavItemType(item2, 'button')) {
|
|
3368
|
-
return item1.onClick === item2.onClick;
|
|
3369
|
-
}
|
|
3370
|
-
return false;
|
|
3371
|
-
}
|
|
3372
|
-
|
|
3373
|
-
class TheSeamNavService {
|
|
3374
|
-
constructor(_router) {
|
|
3375
|
-
this._router = _router;
|
|
3376
|
-
this._updatingCount = new BehaviorSubject(0);
|
|
3377
|
-
this.itemChanged = new Subject();
|
|
3378
|
-
this.loading$ = this._updatingCount.pipe(map(count => count > 0), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
3379
|
-
}
|
|
3380
|
-
createItemsObservable(items) {
|
|
3381
|
-
return defer(() => {
|
|
3382
|
-
this.updateItemsStates(items);
|
|
3383
|
-
this.updateRouterFocusedItem(items);
|
|
3384
|
-
return new Observable((subscriber) => {
|
|
3385
|
-
const stateChangeSub = this.itemChanged.pipe(switchMap(change => {
|
|
3386
|
-
if (change.prop === 'focused' && change.newValue) {
|
|
3387
|
-
this.updateFocusedItem(items, change.item);
|
|
3388
|
-
}
|
|
3389
|
-
return this.loading$.pipe(filter(loading => !loading));
|
|
3390
|
-
})).subscribe(() => {
|
|
3391
|
-
subscriber.next(items);
|
|
3392
|
-
});
|
|
3393
|
-
try {
|
|
3394
|
-
this.updateItemsStates(items);
|
|
3395
|
-
}
|
|
3396
|
-
catch (err) {
|
|
3397
|
-
subscriber.error(err);
|
|
3398
|
-
}
|
|
3399
|
-
const routeChangeSub = this._router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(event => {
|
|
3400
|
-
try {
|
|
3401
|
-
this.updateItemsStates(items);
|
|
3402
|
-
this.updateRouterFocusedItem(items);
|
|
3403
|
-
}
|
|
3404
|
-
catch (err) {
|
|
3405
|
-
subscriber.error(err);
|
|
3406
|
-
}
|
|
3407
|
-
});
|
|
3408
|
-
return () => {
|
|
3409
|
-
stateChangeSub.unsubscribe();
|
|
3410
|
-
routeChangeSub.unsubscribe();
|
|
3411
|
-
};
|
|
3412
|
-
}).pipe(startWith(items));
|
|
3413
|
-
});
|
|
3414
|
-
}
|
|
3415
|
-
_incUpdatingCount() {
|
|
3416
|
-
this._updatingCount.next(this._updatingCount.value + 1);
|
|
3417
|
-
}
|
|
3418
|
-
_decrUpdatingCount() {
|
|
3419
|
-
this._updatingCount.next(this._updatingCount.value - 1);
|
|
3420
|
-
}
|
|
3421
|
-
updateItemsStates(items) {
|
|
3422
|
-
this._incUpdatingCount();
|
|
3423
|
-
try {
|
|
3424
|
-
for (const item of items) {
|
|
3425
|
-
if (horizontalNavItemHasChildren(item)) {
|
|
3426
|
-
this.updateItemsStates(item.children);
|
|
3427
|
-
}
|
|
3428
|
-
this.updateItemState(item);
|
|
3429
|
-
}
|
|
3430
|
-
this._decrUpdatingCount();
|
|
3431
|
-
}
|
|
3432
|
-
catch (err) {
|
|
3433
|
-
this._decrUpdatingCount();
|
|
3434
|
-
throw err;
|
|
3435
|
-
}
|
|
3436
|
-
}
|
|
3437
|
-
updateItemState(item) {
|
|
3438
|
-
this._incUpdatingCount();
|
|
3439
|
-
try {
|
|
3440
|
-
setDefaultHorizontalNavItemState(item);
|
|
3441
|
-
this.setItemStateProp(item, 'active', this.horizontalNavLinkActive(item));
|
|
3442
|
-
// TODO: Implement this in a more optimized way. Unless our apps start
|
|
3443
|
-
// having large navs constantly updating their state, this shouldn't
|
|
3444
|
-
// have much impact on performance.
|
|
3445
|
-
this._updateItemExpandedState(item);
|
|
3446
|
-
this._decrUpdatingCount();
|
|
3447
|
-
}
|
|
3448
|
-
catch (err) {
|
|
3449
|
-
this._decrUpdatingCount();
|
|
3450
|
-
throw err;
|
|
3451
|
-
}
|
|
3452
|
-
}
|
|
3453
|
-
horizontalNavLinkActive(item) {
|
|
3454
|
-
if (isHorizontalNavItemType(item, 'link')) {
|
|
3455
|
-
const url = this._getUrl(item);
|
|
3456
|
-
if (notNullOrUndefined(url)) {
|
|
3457
|
-
const opts = this._getMatchOptions(item);
|
|
3458
|
-
return this._router.isActive(url, opts);
|
|
3459
|
-
}
|
|
3460
|
-
}
|
|
3461
|
-
return false;
|
|
3462
|
-
}
|
|
3463
|
-
_updateItemsExpandedState(items) {
|
|
3464
|
-
for (const item of items) {
|
|
3465
|
-
if (horizontalNavItemHasChildren(item)) {
|
|
3466
|
-
this._updateItemsExpandedState(item.children);
|
|
3467
|
-
}
|
|
3468
|
-
this._updateItemExpandedState(item);
|
|
3469
|
-
}
|
|
3470
|
-
}
|
|
3471
|
-
_updateItemExpandedState(item) {
|
|
3472
|
-
if (!horizontalNavItemCanExpand(item)) {
|
|
3473
|
-
if (getHorizontalNavItemStateProp(item, 'expanded')) {
|
|
3474
|
-
this.setItemStateProp(item, 'expanded', false);
|
|
3475
|
-
}
|
|
3476
|
-
return;
|
|
3477
|
-
}
|
|
3478
|
-
if (horizontalNavItemHasChildren(item)) {
|
|
3479
|
-
this._updateItemsExpandedState(item.children);
|
|
3480
|
-
}
|
|
3481
|
-
if (horizontalNavItemHasActiveChild(item) || horizontalNavItemHasExpandedChild(item)) {
|
|
3482
|
-
if (!getHorizontalNavItemStateProp(item, 'expanded')) {
|
|
3483
|
-
this.setItemStateProp(item, 'expanded', true);
|
|
3484
|
-
}
|
|
3485
|
-
}
|
|
3486
|
-
else {
|
|
3487
|
-
if (getHorizontalNavItemStateProp(item, 'expanded')) {
|
|
3488
|
-
this.setItemStateProp(item, 'expanded', false);
|
|
3489
|
-
}
|
|
3490
|
-
}
|
|
3491
|
-
}
|
|
3492
|
-
updateRouterFocusedItem(items) {
|
|
3493
|
-
const focusedItem = items.find(i => isHorizontalNavItemActive(i)) || items.find(i => horizontalNavItemHasActiveChild(i));
|
|
3494
|
-
if (notNullOrUndefined(focusedItem)) {
|
|
3495
|
-
this.updateFocusedItem(items, focusedItem);
|
|
3496
|
-
}
|
|
3497
|
-
}
|
|
3498
|
-
updateFocusedItem(items, focusedItem) {
|
|
3499
|
-
for (const item of items) {
|
|
3500
|
-
if (areSameHorizontalNavItem(item, focusedItem)) {
|
|
3501
|
-
setHorizontalNavItemStateProp(item, 'focused', true);
|
|
3502
|
-
}
|
|
3503
|
-
else {
|
|
3504
|
-
setHorizontalNavItemStateProp(item, 'focused', false);
|
|
3505
|
-
}
|
|
3506
|
-
}
|
|
3507
|
-
}
|
|
3508
|
-
_getNavExtras(item) {
|
|
3509
|
-
const navigationExtras = {};
|
|
3510
|
-
if (hasProperty(item, 'queryParams')) {
|
|
3511
|
-
navigationExtras.queryParams = item.queryParams;
|
|
3512
|
-
}
|
|
3513
|
-
if (hasProperty(item, 'fragment')) {
|
|
3514
|
-
navigationExtras.fragment = item.fragment;
|
|
3515
|
-
}
|
|
3516
|
-
if (hasProperty(item, 'queryParamsHandling')) {
|
|
3517
|
-
navigationExtras.queryParamsHandling = item.queryParamsHandling;
|
|
3518
|
-
}
|
|
3519
|
-
if (hasProperty(item, 'preserveFragment')) {
|
|
3520
|
-
navigationExtras.preserveFragment = item.preserveFragment;
|
|
3521
|
-
}
|
|
3522
|
-
return navigationExtras;
|
|
3523
|
-
}
|
|
3524
|
-
_getUrl(item) {
|
|
3525
|
-
const link = item.link;
|
|
3526
|
-
if (typeof link === 'string') {
|
|
3527
|
-
return this._router.createUrlTree([link], this._getNavExtras(item)).toString();
|
|
3528
|
-
}
|
|
3529
|
-
else if (Array.isArray(link)) {
|
|
3530
|
-
return this._router.createUrlTree(link, this._getNavExtras(item)).toString();
|
|
3531
|
-
}
|
|
3532
|
-
return null;
|
|
3533
|
-
}
|
|
3534
|
-
_getMatchOptions(item) {
|
|
3535
|
-
const defaultMatchOpts = {
|
|
3536
|
-
paths: 'subset',
|
|
3537
|
-
queryParams: 'subset',
|
|
3538
|
-
fragment: 'ignored',
|
|
3539
|
-
matrixParams: 'ignored'
|
|
3540
|
-
};
|
|
3541
|
-
if (hasProperty(item, 'matchOptions')) {
|
|
3542
|
-
return {
|
|
3543
|
-
...defaultMatchOpts,
|
|
3544
|
-
...item.matchOptions
|
|
3545
|
-
};
|
|
3546
|
-
}
|
|
3547
|
-
return defaultMatchOpts;
|
|
3548
|
-
}
|
|
3549
|
-
setItemStateProp(item, prop, value) {
|
|
3550
|
-
const currentValue = getHorizontalNavItemStateProp(item, prop);
|
|
3551
|
-
if (currentValue !== value) {
|
|
3552
|
-
setHorizontalNavItemStateProp(item, prop, value);
|
|
3553
|
-
const changed = {
|
|
3554
|
-
item,
|
|
3555
|
-
prop,
|
|
3556
|
-
prevValue: currentValue,
|
|
3557
|
-
newValue: value
|
|
3558
|
-
};
|
|
3559
|
-
this.itemChanged.next(changed);
|
|
3560
|
-
}
|
|
3561
|
-
}
|
|
3562
|
-
}
|
|
3563
|
-
TheSeamNavService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3564
|
-
TheSeamNavService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavService });
|
|
3565
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavService, decorators: [{
|
|
3566
|
-
type: Injectable
|
|
3567
|
-
}], ctorParameters: function () { return [{ type: i1$2.Router }]; } });
|
|
3568
|
-
|
|
3569
|
-
class NavItemComponent {
|
|
3570
|
-
set link(value) { this._link.next(value); }
|
|
3571
|
-
get link() { return this._link.value; }
|
|
3572
|
-
set expanded(value) {
|
|
3573
|
-
this._expanded.next(coerceBooleanProperty(value));
|
|
3574
|
-
}
|
|
3575
|
-
get expanded() { return this._expanded.value; }
|
|
3576
|
-
set compact(value) { this._compact.next(coerceBooleanProperty(value)); }
|
|
3577
|
-
get compact() { return this._compact.value; }
|
|
3578
|
-
get badgeTooltip() { return this._badgeTooltip; }
|
|
3579
|
-
set badgeTooltip(value) {
|
|
3580
|
-
if (value !== null && value !== undefined) {
|
|
3581
|
-
if (typeof value === 'string') {
|
|
3582
|
-
this._badgeTooltip = {
|
|
3583
|
-
tooltip: value,
|
|
3584
|
-
placement: 'auto',
|
|
3585
|
-
disabled: false
|
|
3586
|
-
};
|
|
3587
|
-
}
|
|
3588
|
-
else {
|
|
3589
|
-
this._badgeTooltip = {
|
|
3590
|
-
...value,
|
|
3591
|
-
placement: value.placement || 'auto',
|
|
3592
|
-
disabled: typeof value?.disabled === 'boolean'
|
|
3593
|
-
? value.disabled
|
|
3594
|
-
: typeof value.tooltip !== 'string'
|
|
3595
|
-
};
|
|
3596
|
-
}
|
|
3597
|
-
}
|
|
3598
|
-
else {
|
|
3599
|
-
this._badgeTooltip = undefined;
|
|
3600
|
-
}
|
|
3601
|
-
}
|
|
3602
|
-
get _isActiveCssClass() { return this.active; }
|
|
3603
|
-
get _isChildActiveCssClass() { return this.hasActiveChild; }
|
|
3604
|
-
get _isExpandedCssClass() { return this.expanded; }
|
|
3605
|
-
get _isFocusedCssClass() { return this.focused; }
|
|
3606
|
-
get _attrDataHierLevel() { return this.hierLevel; }
|
|
3607
|
-
constructor(_nav) {
|
|
3608
|
-
this._nav = _nav;
|
|
3609
|
-
this._ngUnsubscribe = new Subject();
|
|
3610
|
-
this.faAngleLeft = faAngleLeft;
|
|
3611
|
-
this.active = false;
|
|
3612
|
-
this._link = new BehaviorSubject(undefined);
|
|
3613
|
-
this.link$ = this._link.asObservable();
|
|
3614
|
-
this.hierLevel = 0;
|
|
3615
|
-
this.indentSize = 10;
|
|
3616
|
-
this._expanded = new BehaviorSubject(false);
|
|
3617
|
-
this.expanded$ = this._expanded.asObservable();
|
|
3618
|
-
this._compact = new BehaviorSubject(false);
|
|
3619
|
-
this.compact$ = this._compact.asObservable();
|
|
3620
|
-
this.focused = false;
|
|
3621
|
-
this.badgeTheme = 'danger';
|
|
3622
|
-
this.childAction = 'menu';
|
|
3623
|
-
this.expandAction = 'toggle';
|
|
3624
|
-
this.navItemExpanded = new EventEmitter();
|
|
3625
|
-
}
|
|
3626
|
-
ngOnDestroy() {
|
|
3627
|
-
this._ngUnsubscribe.next();
|
|
3628
|
-
this._ngUnsubscribe.complete();
|
|
3629
|
-
}
|
|
3630
|
-
get hasChildren() {
|
|
3631
|
-
return Array.isArray(this.children) && this.children.length > 0;
|
|
3632
|
-
}
|
|
3633
|
-
get hasActiveChild() {
|
|
3634
|
-
if (notNullOrUndefined(this.item)) {
|
|
3635
|
-
return horizontalNavItemHasActiveChild(this.item);
|
|
3636
|
-
}
|
|
3637
|
-
return false;
|
|
3638
|
-
}
|
|
3639
|
-
get hasMenuToggle() {
|
|
3640
|
-
return this.hasChildren && this.childAction === 'menu';
|
|
3641
|
-
}
|
|
3642
|
-
get menuTpl() {
|
|
3643
|
-
return this.hasMenuToggle ? this._menu : undefined;
|
|
3644
|
-
}
|
|
3645
|
-
get hasExpandingChildren() {
|
|
3646
|
-
return this.hasChildren && this.childAction === 'expand';
|
|
3647
|
-
}
|
|
3648
|
-
_toggleChildren(event) {
|
|
3649
|
-
let ex = !this.expanded;
|
|
3650
|
-
if (this.expandAction === 'expandOnly') {
|
|
3651
|
-
ex = true;
|
|
3652
|
-
}
|
|
3653
|
-
this.expanded = ex;
|
|
3654
|
-
this.navItemExpanded.emit(this.expanded);
|
|
3655
|
-
if (this.item && this.expanded) {
|
|
3656
|
-
this._nav.setItemStateProp(this.item, 'focused', this.expanded);
|
|
3657
|
-
}
|
|
3658
|
-
// Prevents seam-menu from closing out when toggling child expand
|
|
3659
|
-
event.stopPropagation();
|
|
3660
|
-
}
|
|
3661
|
-
// Updates expanded state when user exits seam-menu
|
|
3662
|
-
_menuEvent(menuExpanded) {
|
|
3663
|
-
if (menuExpanded === false) {
|
|
3664
|
-
this.expanded = false;
|
|
3665
|
-
// TODO: figure out why closing seam-menu with expanded submenu messes up animation
|
|
3666
|
-
if (this._navItems && this._navItems.length) {
|
|
3667
|
-
this._navItems.forEach(navItem => {
|
|
3668
|
-
navItem.expanded = false;
|
|
3669
|
-
});
|
|
3670
|
-
}
|
|
3671
|
-
}
|
|
3672
|
-
}
|
|
3673
|
-
get showIconBlock() {
|
|
3674
|
-
return notNullOrUndefined(this.icon) || this.hideEmptyIcon !== true;
|
|
3675
|
-
}
|
|
3676
|
-
}
|
|
3677
|
-
NavItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavItemComponent, deps: [{ token: TheSeamNavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3678
|
-
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: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2$1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i3$2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3$2.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: [
|
|
3679
|
-
trigger('childGroupAnim', [
|
|
3680
|
-
transition(':enter', [
|
|
3681
|
-
style({ height: 0 }),
|
|
3682
|
-
animate('0.2s ease-in-out', style({ height: '*' }))
|
|
3683
|
-
]),
|
|
3684
|
-
transition(':leave', [
|
|
3685
|
-
style({ height: '*' }),
|
|
3686
|
-
animate('0.2s ease-in-out', style({ height: 0 }))
|
|
3687
|
-
])
|
|
3688
|
-
])
|
|
3689
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3690
|
-
__decorate([
|
|
3691
|
-
InputBoolean()
|
|
3692
|
-
], NavItemComponent.prototype, "active", void 0);
|
|
3693
|
-
__decorate([
|
|
3694
|
-
InputNumber(0)
|
|
3695
|
-
], NavItemComponent.prototype, "hierLevel", void 0);
|
|
3696
|
-
__decorate([
|
|
3697
|
-
InputNumber(10)
|
|
3698
|
-
], NavItemComponent.prototype, "indentSize", void 0);
|
|
3699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavItemComponent, decorators: [{
|
|
3700
|
-
type: Component,
|
|
3701
|
-
args: [{ selector: 'seam-nav-item', exportAs: 'seamNavItem', animations: [
|
|
3702
|
-
trigger('childGroupAnim', [
|
|
3703
|
-
transition(':enter', [
|
|
3704
|
-
style({ height: 0 }),
|
|
3705
|
-
animate('0.2s ease-in-out', style({ height: '*' }))
|
|
3706
|
-
]),
|
|
3707
|
-
transition(':leave', [
|
|
3708
|
-
style({ height: '*' }),
|
|
3709
|
-
animate('0.2s ease-in-out', style({ height: 0 }))
|
|
3710
|
-
])
|
|
3711
|
-
])
|
|
3712
|
-
], 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"] }]
|
|
3713
|
-
}], ctorParameters: function () { return [{ type: TheSeamNavService }]; }, propDecorators: { item: [{
|
|
3714
|
-
type: Input
|
|
3715
|
-
}], itemType: [{
|
|
3716
|
-
type: Input
|
|
3717
|
-
}], icon: [{
|
|
3718
|
-
type: Input
|
|
3719
|
-
}], hideEmptyIcon: [{
|
|
3720
|
-
type: Input
|
|
3721
|
-
}], label: [{
|
|
3722
|
-
type: Input
|
|
3723
|
-
}], active: [{
|
|
3724
|
-
type: Input
|
|
3725
|
-
}], link: [{
|
|
3726
|
-
type: Input
|
|
3727
|
-
}], queryParams: [{
|
|
3728
|
-
type: Input
|
|
3729
|
-
}], children: [{
|
|
3730
|
-
type: Input
|
|
3731
|
-
}], hierLevel: [{
|
|
3732
|
-
type: Input
|
|
3733
|
-
}], indentSize: [{
|
|
3734
|
-
type: Input
|
|
3735
|
-
}], expanded: [{
|
|
3736
|
-
type: Input
|
|
3737
|
-
}], compact: [{
|
|
3738
|
-
type: Input
|
|
3739
|
-
}], focused: [{
|
|
3740
|
-
type: Input
|
|
3741
|
-
}], badgeText: [{
|
|
3742
|
-
type: Input
|
|
3743
|
-
}], badgeTheme: [{
|
|
3744
|
-
type: Input
|
|
3745
|
-
}], badgeSrContent: [{
|
|
3746
|
-
type: Input
|
|
3747
|
-
}], badgeTooltip: [{
|
|
3748
|
-
type: Input
|
|
3749
|
-
}], childAction: [{
|
|
3750
|
-
type: Input
|
|
3751
|
-
}], expandAction: [{
|
|
3752
|
-
type: Input
|
|
3753
|
-
}], navItemExpanded: [{
|
|
3754
|
-
type: Output
|
|
3755
|
-
}], _isActiveCssClass: [{
|
|
3756
|
-
type: HostBinding,
|
|
3757
|
-
args: ['class.seam-nav-item--active']
|
|
3758
|
-
}], _isChildActiveCssClass: [{
|
|
3759
|
-
type: HostBinding,
|
|
3760
|
-
args: ['class.seam-nav-item--child-active']
|
|
3761
|
-
}], _isExpandedCssClass: [{
|
|
3762
|
-
type: HostBinding,
|
|
3763
|
-
args: ['class.seam-nav-item--expanded']
|
|
3764
|
-
}], _isFocusedCssClass: [{
|
|
3765
|
-
type: HostBinding,
|
|
3766
|
-
args: ['class.seam-nav-item--focused']
|
|
3767
|
-
}], _attrDataHierLevel: [{
|
|
3768
|
-
type: HostBinding,
|
|
3769
|
-
args: ['attr.data-hier-level']
|
|
3770
|
-
}], _menu: [{
|
|
3771
|
-
type: ViewChild,
|
|
3772
|
-
args: [MenuComponent]
|
|
3773
|
-
}], _navItems: [{
|
|
3774
|
-
type: ViewChildren,
|
|
3775
|
-
args: [NavItemComponent]
|
|
3776
|
-
}] } });
|
|
3777
|
-
|
|
3778
|
-
class HorizontalNavComponent {
|
|
3779
|
-
get items() { return this._items.value; }
|
|
3780
|
-
set items(value) {
|
|
3781
|
-
this._items.next(value);
|
|
3782
|
-
}
|
|
3783
|
-
constructor(_nav) {
|
|
3784
|
-
this._nav = _nav;
|
|
3785
|
-
this._ngUnsubscribe = new Subject();
|
|
3786
|
-
this._items = new BehaviorSubject([]);
|
|
3787
|
-
this.hideEmptyIcon = true;
|
|
3788
|
-
this.hierLevel = 0;
|
|
3789
|
-
this.childAction = 'menu';
|
|
3790
|
-
this.expandAction = 'toggle';
|
|
3791
|
-
this.navItemExpanded = new EventEmitter();
|
|
3792
|
-
this.items$ = this._items.asObservable().pipe(switchMap(items => items ? this._nav.createItemsObservable(items) : []), shareReplay({ bufferSize: 1, refCount: true }));
|
|
3793
|
-
}
|
|
3794
|
-
ngOnDestroy() {
|
|
3795
|
-
this._ngUnsubscribe.next();
|
|
3796
|
-
this._ngUnsubscribe.complete();
|
|
3797
|
-
}
|
|
3798
|
-
_navItemExpanded(item, expanded) {
|
|
3799
|
-
this.navItemExpanded.emit({ navItem: item, expanded });
|
|
3800
|
-
}
|
|
3801
|
-
}
|
|
3802
|
-
HorizontalNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HorizontalNavComponent, deps: [{ token: TheSeamNavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3803
|
-
HorizontalNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HorizontalNavComponent, selector: "seam-horizontal-nav", inputs: { items: "items", hideEmptyIcon: "hideEmptyIcon", hierLevel: "hierLevel", childAction: "childAction", expandAction: "expandAction" }, outputs: { navItemExpanded: "navItemExpanded" }, providers: [
|
|
3804
|
-
TheSeamNavService
|
|
3805
|
-
], ngImport: i0, template: "<div class=\"nav-inner-wrapper\" class=\"nav-inner-wrapper-{{hierLevel}}\">\n <div class=\"nav-items-row\">\n <seam-nav-item *ngFor=\"let item of items$ | async\"\n class=\"flex-shrink-0\"\n [item]=\"item\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state?.active\"\n [expanded]=\"$any(item).__state?.expanded\"\n [focused]=\"$any(item).__state?.focused\"\n [hierLevel]=\"hierLevel\"\n [childAction]=\"childAction\"\n [expandAction]=\"expandAction\"\n (navItemExpanded)=\"_navItemExpanded(item, $event)\"\n [hideEmptyIcon]=\"hideEmptyIcon\">\n </seam-nav-item>\n </div>\n</div>\n", styles: ["seam-horizontal-nav,.seam-horizontal-nav{display:block;height:100%;position:relative;z-index:2}seam-horizontal-nav .nav-inner-wrapper,.seam-horizontal-nav .nav-inner-wrapper{background:none;height:100%}seam-horizontal-nav .nav-backdrop,.seam-horizontal-nav .nav-backdrop{background:rgba(52,58,64,.6);width:100vw;height:100vh}seam-horizontal-nav .nav-backdrop.nav-backdrop-hidden,.seam-horizontal-nav .nav-backdrop.nav-backdrop-hidden{display:none;width:0;height:0;padding:0;margin:0}seam-horizontal-nav .nav-content,.seam-horizontal-nav .nav-content{display:flex;flex-direction:column;height:100%;flex-wrap:nowrap}seam-horizontal-nav .nav-items-container,.seam-horizontal-nav .nav-items-container{display:flex;flex-direction:column;width:100%;flex:1 1 100%}seam-horizontal-nav .nav-items-row,.seam-horizontal-nav .nav-items-row{height:100%;display:flex;padding:.25rem .5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3806
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HorizontalNavComponent, decorators: [{
|
|
3807
|
-
type: Component,
|
|
3808
|
-
args: [{ selector: 'seam-horizontal-nav', providers: [
|
|
3809
|
-
TheSeamNavService
|
|
3810
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"nav-inner-wrapper\" class=\"nav-inner-wrapper-{{hierLevel}}\">\n <div class=\"nav-items-row\">\n <seam-nav-item *ngFor=\"let item of items$ | async\"\n class=\"flex-shrink-0\"\n [item]=\"item\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state?.active\"\n [expanded]=\"$any(item).__state?.expanded\"\n [focused]=\"$any(item).__state?.focused\"\n [hierLevel]=\"hierLevel\"\n [childAction]=\"childAction\"\n [expandAction]=\"expandAction\"\n (navItemExpanded)=\"_navItemExpanded(item, $event)\"\n [hideEmptyIcon]=\"hideEmptyIcon\">\n </seam-nav-item>\n </div>\n</div>\n", styles: ["seam-horizontal-nav,.seam-horizontal-nav{display:block;height:100%;position:relative;z-index:2}seam-horizontal-nav .nav-inner-wrapper,.seam-horizontal-nav .nav-inner-wrapper{background:none;height:100%}seam-horizontal-nav .nav-backdrop,.seam-horizontal-nav .nav-backdrop{background:rgba(52,58,64,.6);width:100vw;height:100vh}seam-horizontal-nav .nav-backdrop.nav-backdrop-hidden,.seam-horizontal-nav .nav-backdrop.nav-backdrop-hidden{display:none;width:0;height:0;padding:0;margin:0}seam-horizontal-nav .nav-content,.seam-horizontal-nav .nav-content{display:flex;flex-direction:column;height:100%;flex-wrap:nowrap}seam-horizontal-nav .nav-items-container,.seam-horizontal-nav .nav-items-container{display:flex;flex-direction:column;width:100%;flex:1 1 100%}seam-horizontal-nav .nav-items-row,.seam-horizontal-nav .nav-items-row{height:100%;display:flex;padding:.25rem .5rem}\n"] }]
|
|
3811
|
-
}], ctorParameters: function () { return [{ type: TheSeamNavService }]; }, propDecorators: { items: [{
|
|
3812
|
-
type: Input
|
|
3813
|
-
}], hideEmptyIcon: [{
|
|
3814
|
-
type: Input
|
|
3815
|
-
}], hierLevel: [{
|
|
3816
|
-
type: Input
|
|
3817
|
-
}], childAction: [{
|
|
3818
|
-
type: Input
|
|
3819
|
-
}], expandAction: [{
|
|
3820
|
-
type: Input
|
|
3821
|
-
}], navItemExpanded: [{
|
|
3822
|
-
type: Output
|
|
3823
|
-
}] } });
|
|
3824
|
-
|
|
3825
|
-
class TheSeamNavModule {
|
|
3826
|
-
}
|
|
3827
|
-
TheSeamNavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3828
|
-
TheSeamNavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, declarations: [NavItemComponent,
|
|
3829
|
-
HorizontalNavComponent], imports: [CommonModule,
|
|
3830
|
-
RouterModule,
|
|
3831
|
-
TheSeamIconModule,
|
|
3832
|
-
A11yModule,
|
|
3833
|
-
TheSeamScrollbarModule,
|
|
3834
|
-
TheSeamLayoutModule,
|
|
3835
|
-
NgbTooltipModule,
|
|
3836
|
-
PortalModule,
|
|
3837
|
-
TheSeamMenuModule], exports: [NavItemComponent,
|
|
3838
|
-
HorizontalNavComponent] });
|
|
3839
|
-
TheSeamNavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, providers: [
|
|
3840
|
-
TheSeamNavService,
|
|
3841
|
-
], imports: [CommonModule,
|
|
3842
|
-
RouterModule,
|
|
3843
|
-
TheSeamIconModule,
|
|
3844
|
-
A11yModule,
|
|
3845
|
-
TheSeamScrollbarModule,
|
|
3846
|
-
TheSeamLayoutModule,
|
|
3847
|
-
NgbTooltipModule,
|
|
3848
|
-
PortalModule,
|
|
3849
|
-
TheSeamMenuModule] });
|
|
3850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamNavModule, decorators: [{
|
|
3851
|
-
type: NgModule,
|
|
3852
|
-
args: [{
|
|
3853
|
-
declarations: [
|
|
3854
|
-
NavItemComponent,
|
|
3855
|
-
HorizontalNavComponent,
|
|
3856
|
-
],
|
|
3857
|
-
imports: [
|
|
3858
|
-
CommonModule,
|
|
3859
|
-
RouterModule,
|
|
3860
|
-
TheSeamIconModule,
|
|
3861
|
-
A11yModule,
|
|
3862
|
-
TheSeamScrollbarModule,
|
|
3863
|
-
TheSeamLayoutModule,
|
|
3864
|
-
NgbTooltipModule,
|
|
3865
|
-
PortalModule,
|
|
3866
|
-
TheSeamMenuModule
|
|
3867
|
-
],
|
|
3868
|
-
exports: [
|
|
3869
|
-
NavItemComponent,
|
|
3870
|
-
HorizontalNavComponent,
|
|
3871
|
-
],
|
|
3872
|
-
providers: [
|
|
3873
|
-
TheSeamNavService,
|
|
3874
|
-
]
|
|
3875
|
-
}]
|
|
3876
|
-
}] });
|
|
3877
|
-
|
|
3878
|
-
/**
|
|
3879
|
-
* Generated bundle index. Do not edit.
|
|
3880
|
-
*/
|
|
3881
|
-
|
|
3882
|
-
export { BaseLayoutContentDirective, BaseLayoutContentFooterDirective, BaseLayoutContentHeaderDirective, BaseLayoutNavToggleDirective, BaseLayoutSideBarDirective, BaseLayoutSideBarFooterDirective, BaseLayoutSideBarHeaderDirective, BaseLayoutTopBarDirective, DEFAULT_SIDE_NAV_CONFIG, DashboardComponent, DashboardWidgetContainerComponent, DashboardWidgetPortalOutletDirective, DashboardWidgetTemplateContainerComponent, DashboardWidgetsComponent, DashboardWidgetsPreferencesService, DashboardWidgetsService, HierarchyLevelResolver, HierarchyRouterOutletComponent, HorizontalNavComponent, NavItemComponent, SideNavComponent, SideNavItemComponent, SideNavToggleComponent, THESEAM_BASE_LAYOUT_REF, THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, THESEAM_SCHEMA_FRAMEWORK_OVERRIDES, THESEAM_SIDE_NAV_ACCESSOR, THESEAM_SIDE_NAV_CONFIG, THE_SEAM_BASE_LAYOUT, TheSeamBaseLayoutComponent, TheSeamBaseLayoutModule, TheSeamDashboardModule, TheSeamDynamicRouterModule, TheSeamFramework, TheSeamNavModule, TheSeamSchemaFormFrameworkComponent, TheSeamSchemaFormModule, TheSeamSideNavModule, TheSeamTopBarComponent, TheSeamTopBarModule, TopBarCompactMenuBtnDetailDirective, TopBarItemDirective, TopBarMenuBtnDetailDirective, TopBarMenuButtonComponent, TopBarMenuDirective, TopBarNavToggleBtnDetailDirective, TopBarTitleComponent, applyItemConfig, areSameHorizontalNavItem, canBeActive, canExpand, canHaveChildren, extendFramework, fader, findHorizontalNavLinkItems, findLinkItems, getHorizontalNavItemStateProp, getItemStateProp, hasActiveChild, hasChildren, hasExpandedChild, horizontalNavItemCanBeActive, horizontalNavItemCanExpand, horizontalNavItemCanHaveChildren, horizontalNavItemHasActiveChild, horizontalNavItemHasChildren, horizontalNavItemHasExpandedChild, isExpanded, isHorizontalNavItemActive, isHorizontalNavItemExpanded, isHorizontalNavItemFocused, isHorizontalNavItemType, isNavItemActive, isNavItemType, routeChanges, setDefaultHorizontalNavItemState, setDefaultState, setHorizontalNavItemStateProp, setItemStateProp, sideNavExpandStateChangeFn, sideToSide, slider, stepper, transformer };
|
|
3883
|
-
//# sourceMappingURL=theseam-ui-common-framework.mjs.map
|